Crafting & Salvage
Jewelers set reagents in metal. Blacksmiths fold up to three reagents into a copper pickaxe. Salvage eats the item, returns some metal, and writes a sliver of stats onto your moratorium forever — with diminishing returns per recipe.
Rings
One reagent, paid in gold, silver, or copper. Name: {Metal} {Reagent} Ring. Power cost = reagent rarity (1–5). Craft times and costs: Jewelers.
Mapped from the reagent’s boost type: overall_yield → yield, copper/silver/gold_yield → those keys, otherwise the type name (strength stays strength on rings; pickaxes normalize it to power).
Metal extras
| Metal | Flat | Ore yield |
|---|---|---|
| Copper | + tier/100 power | + tier × 7% copper yield |
| Silver | + tier/100 speed | + tier × 5% silver yield |
| Gold | + tier/100 overall yield | + tier × 3% gold yield |
If the primary stat is already that key, the extras add onto it; otherwise they appear as a second stat starting at 1 + bonus.
Pickaxes
Paid in copper only. Up to 3 reagents, none above blacksmith tier. Empty craft uses hidden Copper Core (tier 0).
| Pickaxe tier (max reagent, or 0) | Copper | Forge XP to each smith |
|---|---|---|
| 0 | 5,000 | 100 |
| 1 | 100,000 | 300 |
| 2 | 500,000 | 700 |
| 3 | 1,000,000 | 1,000 |
| 4 | 5,000,000 | 3,000 |
| 5 | 20,000,000 | 10,000 |
Base pickaxe: baseDamageBonus: 5, copperYield: 1.05. Each reagent is converted with the same primary-stat formula (blacksmith tier as the multiplier) plus copper’s metal extras (power + tier/100, copper yield + tier×7%). Multiple reagents: multiplier stats multiply; additive stats add. Flux/salt: +1% yield each. Iron: +1 carry. Strength is stored as power.
Power cost = sum of reagent tiers (empty = 1). Combat uses miner damage. Crit display is critical × 10 × 100% because the roll is random() < critical × 10.
Alloys
The name is the first matching combo (else tin/zinc bronze-brass, else the first matching single-source family, else Copper). Every matching combo and family still stacks stats. Iron pairs also get iron’s +1 carry from the iron tag itself.
Combo alloys
| Tags | Name | Extra stats |
|---|---|---|
| iron + tungsten | Wolfram Steel | +3 dmg, speed 0.97, crit 0.05 |
| iron + osmium | Starmetal | +4 dmg, speed 0.95 |
| iron + lead | Blackiron | +2 dmg, speed 0.98 |
| iron + titanium | Adamantine | +2 dmg, speed 1.02, crit 0.03 |
| iron + aluminum | Ferralum | speed 1.03, carrySpeed 0.05 |
| iron + chromium | Stellite | yield 1.04, +1 dmg |
| iron + platinum | Astralite | yield 1.05 |
| iron + nickel | Meteoric | luck 1.04, +1 dmg |
| iron + silver | Damascus | luck 1.03, crit 0.03 |
| iron + mercury | Amalgam | speed 1.04, crit 0.03 |
| iron + indium | Shimmer | luck 1.05, seek +1 |
| iron + tin | Ferrotin | power 1.03, +1 dmg |
| iron + zinc | Galvanite | speed 1.03, +1 dmg |
| iron + gold | Tumbaga | yield 1.03 |
| nickel + chromium | Stainless | yield 1.07, +1 dmg, crit 0.01 |
| silver + mercury | Moonsilver | speed 1.04, luck 1.05, seek +1 |
| gold + platinum | Orichalcum | +2 dmg, yield 1.07, crit 0.02 |
| osmium + tungsten | Voidsteel | +5 dmg, speed 0.94, crit 0.05 |
| aluminum + titanium | Skylark | speed 1.07, lob +1 |
| indium + mercury | Prismatine | luck 1.06, yield 1.03, seek +1 |
Tin/zinc always apply when present, even under an iron name: Bronze = power 1.05 +2 dmg; Brass = speed 1.05 +1 dmg; equal tiers = both 1.03 +2 dmg.
Single-source families
| Tag | Name | Stats |
|---|---|---|
| tungsten | Dreadsteel | +4 dmg, speed 0.97, crit 0.02 |
| titanium | Skylite | speed 1.05, +1 dmg, crit 0.01 |
| chromium | Vitrabronze | yield 1.05 |
| nickel | Cupronix | luck 1.05, +1 dmg |
| lead | Gravbrass | +3 dmg, speed 0.98, crit 0.01 |
| indium | Luminix | luck 1.07, yield 1.01 |
| platinum | Aureline | yield 1.06, +1 dmg |
| osmium | Obsidium | +5 dmg, speed 0.96, crit 0.03 |
| mercury | Quicksilver | speed 1.06, luck 1.02 |
| silver | Argentum | luck 1.03 |
| gold | Aurum | yield 1.03 |
| aluminum | Duralumin | speed 1.04, +1 dmg, lob +1 |
| iron | Ferrum | +1 dmg |
Prefixes: Gem-Encrusted (gem); Salted (salt, luck 1.02); Studded (mineral, +1 dmg); Glossy (flux, yield 1.02).
Magic
Rolled after the mundane stats. Mastery from salvaging that recipe multiplies chance: chance × (1 + mastery), capped at 100%. At 100% mastery the chance is doubled.
| Rings | Pickaxes | |
|---|---|---|
| Base chance | min(15%, 5% + 2% × reagentTier) | min(35%, 5% + 2% × tier + 3% × fluxCount) |
| Multiplier | 1.03–1.15 | 1.05–1.20 |
| Enchanted | < 1.08 | below Gleaming |
| Gleaming | ≥ 1.08 | ≥ 1.10 |
| Runed | ≥ 1.13 | ≥ 1.18 |
Only multiplier stats are scaled (yields, speed, power, luck). Additive damage / carry is not. Magic is not stored in the codex’s base recipe — mastery tracks the mundane craft.
Salvage
Unequipped rings and pickaxes only. Max 50 per request. One item per second. Cancel restores everything; nothing is deleted until the queue finishes.
Recipe keys: rings ring:{reagentId}, pickaxes pickaxe: or pickaxe:{sortedIds}. At 0.90 decay: 10th salvage ≈ 39%, 25th ≈ 7%, 50th ≈ 0.5%. Moratorium stacks forever on the player and is added into guild bonuses after the /10. Speed, power/strength, yield, luck, and the three ore yields all map.
Codex
One row per player per recipe: item name, non-magic base stats, tier, craft count, salvage count. The Artificer still asks for “blacksmith codex”; the table is player_codex. Lookup returns mastery for the craft preview.