Rune sockets, enchantment effects, and +N equipment upgrading.
Enchanting & Upgrading
Two optional gear-progression systems, each behind its own feature flag (Enchanting and Equipment Upgrade). Turn either off and the intents are rejected and the windows are hidden — nothing else changes.
| System | What the player does | What it costs |
|---|---|---|
| Enchanting | Sockets a rune into a piece of gear to grant an effect | The rune, plus a skill-gated success roll |
| Upgrading | Pushes an item to +1, +2, +3… with upgrade materials | Materials, plus a skill-gated success roll |
Runes Carry Their Own Enchantment
A rune is an ordinary item with a Rune config — authored under Items → Items, in the same editor as everything else. Creating a new rune opens a tabbed modal (Details / Enchantment) and you author the effect right there; the rune owns its effect, so there's no "create an effect first, then link it" dance. Power users can still point a rune at an existing shared effect.
Type-conditional effects
An enchantment is a list of branches, each gated by what it's applied to. One rune can read completely differently depending on the slot:
| Branch gate | Example effect |
|---|---|
| Applies to weapons | 15% chance to apply Burn on hit |
| Applies to armor | +12 fire resistance |
| Applies to a specific item type | Precise overrides beat the general gate |
Branch gates offer your world's authored weapon and armor types, not a fixed engine list, and each branch shows a live summary. An optional worn aura VFX plays while the enchanted item is equipped, and a dry-run shows exactly what a given item would receive.
Sockets
Gear defines how many rune sockets it has (Rune sockets on the item's gear config). New item instances inherit that count when they're created; older instances fall back to the definition's count when a player tries to enchant them. Applying a rune consumes it, rolls against the enchanting skill, and — on success — writes the enchantment onto that specific item instance. The effects are live in combat, not cosmetic.
Upgrading (+N)
Upgrade materials are their own item type with:
- Min. Gear Tier — the lowest item tier this material can upgrade
- Tags — which items the material is valid for
- A max upgrade level per item, and a gating skill that governs the success roll
+N through trades, mail, bank deposits, and death.
Refine rules (fixed odds, reset on failure)
For a Ragnarok-style refine — the chance of each level set in stone, a failure sending the item back to +0, and stones that change the odds or protect the item — use the refine settings instead of the skill-driven defaults.
Where to author it: open the item → Stats → Enchant & Upgrade for the item's rules, and Items → Upgrade Materials (or the item's Upgrade Material Configuration) for the stones.
1. On the item, tick This item can be upgraded and set Max Level. 2. Set Scaling Mode to Grade × curve (refine), then its Grade, Curve and Stats it raises. 3. Fill in Success % per level, tick A failed attempt resets it to +0, and set a Material cost if an attempt uses several stones. 4. Make the base stone an upgrade material with Upgrade Increment 1. 5. Make each special stone an upgrade material with Upgrade Increment 0 — a catalyst — and give it its odds, protection or guarantee.
Item fields:
| Field | What it does |
|---|---|
| Grade × curve | Each level's stat bonus is grade × the curve's value at that level. The curve is cumulative: 1, 2.5, 5.5 gives 1× grade at +1 and 5.5× at +3 |
| Success % per level | One chance per level, the first for reaching +1. Replaces the world's odds for this item — skill no longer changes them |
| A failed attempt resets it to +0 | A failure loses every level, not just the materials |
| Material cost | How many of the level-granting material each attempt uses |
Stone fields:
| Field | What it does |
|---|---|
| Upgrade Increment 0 | A catalyst: it goes into the attempt beside the base stone and grants no level itself |
| Own success % per level | Replaces the item's odds while the stone is used. With several such stones, the best odds win |
| On a failed attempt | Lose at most one level or Lose no levels — protection against the reset |
| Guaranteed below +N | Success is certain while the item is below that level |
- A catalyst can't be used alone. An attempt always needs a stone that grants a level.
- Protection beats the reset. "Lose no levels" beats "Lose at most one level", which beats the reset.
- An item at +0 has nothing to lose — its failures only cost the stones.
- The forge shows the real odds. It uses the same rules the server rolls with, and its risk strip reads Reset — back to +0 when that's what a failure does.
Affix Reroll
A third gear-progression window (feature flag Affix Reroll, on by default): players pay a cost to re-roll a gear piece's prefixes and suffixes from your world's affix pool. Costs are consumed on every attempt; whether the attempt actually replaces the affixes is a separate authored chance — a failed roll leaves the item exactly as it was.
Where to author it
The rules live on the Items → Affixes page, in the Reroll rules card:
| Field | What it does |
|---|---|
| Success chance | 0–100% chance an attempt replaces the affixes. Costs are spent either way. |
| Silver fee | Silver charged per attempt. 0 = no silver cost. |
| Catalyst item | An item consumed per attempt. Leave empty for no item cost. |
| Catalyst count | How many catalyst items each attempt consumes. |
You decide the cost model freely: silver only, items only, both, or neither (a free reroll shrine).
How to set it up
1. Author affixes under Items → Affixes (a world with no affixes has nothing to reroll — the vendor politely refuses). 2. Open the Reroll rules card on the same page and set the chance and costs. 3. Decide how players reach it (all routes work out of the box): - The Reroll button in the top bar's character cluster (hide it in the UI & HUD editor's Top Bar tab for an NPC-only feel). - An NPC with the enchanter role offers "Reroll an item's affixes" in dialogue. - The Open Affix Reroll event command, or Show/Hide Menu → Affix Reroll. - A custom HUD menu button targeting the Affix Reroll panel.
Gotchas
- Only gear that can carry affixes appears in the window — an item whose affix config is disabled, or whose type no authored affix fits, is filtered out. The same server log lines as gear drops name the reason (see Items & Equipment).
- A reroll can legitimately come up blank (no affixes) when the item's max prefix/suffix counts allow it — that's a roll, not a bug.
- A player's custom item rename survives rerolls; only auto-composed affix names are replaced.
- The success chance and costs sync to players on login — change them and new sessions see the new price.
In Game
Enchanting and Upgrading are two HUD windows — the rune table and the forge — drawn as one system so players learn them once. By default each has its own button in the top bar's character cluster, so players can open them anywhere. Two more routes exist: talking to an NPC with the matching role (an enchanter, or a blacksmith with the right station), and an event command that opens the window directly. Prefer the NPC-only feel? Hide the two buttons in the UI & HUD editor's Top Bar tab — the NPC and event routes keep working.
Picking the item
Each window offers three ways to choose what to work on, so it is never a dead end:
| Route | How it works |
|---|---|
| The rail | The strip at the top of the window holds only gear the window can act on — items with an upgrade config, or with at least one rune socket — from the bag and what the player is wearing (worn items carry an E). Each tile shows its current +N or its filled sockets. A filter box and a count sit beside it for a full bag. |
| Drag from the bag | With the inventory open beside the window, drag any item onto the window (the dashed cell at the end of the rail, or anywhere on it). An ineligible item is refused with the reason, never silently. Dropping a rune onto the rune table picks the rune instead. |
| From the item itself | Open an eligible item's details in the bag and press Upgrade or Enchant — the window opens with that item already staged. |
What the windows show
- The forge stages the item on a plaque wearing its +N, with a pip track from +0 to the authored max (the next level lit in green) and a before → after table of what that level actually buys, stat by stat. Chosen materials sit in a tray with their level increment and odds contribution totalled; the rest of the bag's materials are chips beneath it. The risk strip names the failure outcomes — keep, downgrade, destroy — and the +N at which each begins, straight from your Combat → Tuning thresholds. The odds shown are the world's own, not an estimate.
- The rune table arranges the item's sockets in a ring around it: filled sockets glow with their rune's tier colour, the selected one is ringed in green, empty ones stay dashed. Picking a rune shows exactly what it grants in that item before anything is spent; picking a filled socket shows what is already there and offers Extract.
- Both lead with a success meter that reads qualitatively first ("Likely", "Risky") with the percentage demoted, on a bar that runs ember → gold → green with the band thresholds ticked.
What you can change
Everything is edited in the UI & HUD editor → Panels → Enchanting / Upgrading, like any other panel. Sections can be reordered or hidden (the forge's gear rail is a section of its own), the body can be fully recomposed with widgets, and the accent, frame, skin and placement follow the panel's Appearance card. The redesign adds these knobs to that card — all presentation; the server rolls the same odds whatever the window shows:
| Knob | Window | Default | What it does |
|---|---|---|---|
| Pip track | Upgrading | On | Show the +0 … max ladder, or just the numbers. |
| Before → after stats | Upgrading | On | Show the next level's stat delta, or hide it for a world that keeps its maths secret. |
| Risk strip | Upgrading | On | Show the keep / downgrade / destroy rungs; turn off where failure can never cost the item. |
| Socket layout | Enchanting | Ring | Sockets in a ring around the item, or a flat row. |
| Success meter | Both | Label first | Label first with the percentage demoted, percentage first, or label only for a world that never quotes odds. |
| Drag from bag | Both | On | Accept an item dragged out of the bag onto the window. |
| Bag shortcut | Both | On | Offer the Upgrade / Enchant button on an eligible item's details in the bag. |
Every string in both windows is a vocabulary key (ui.upgrade., ui.enchant.), so "Forge" can be "Temper", "Reforge", or another language.
> Balance lives with the rest of your combat tuning: success formulas, skill gating, the downgrade / destroy thresholds and the gear-drop affix chance are all editable under Combat → Tuning. The forge reads those thresholds live, so the risk strip always matches what a failed roll will really do.