---
title: Building assemblies
summary: Assemblies are crafting recipes — combine N component objects + a skill check into a result object. This guide covers assedit, component lists, skill DCs, failure handling, and the craft/assemble player commands.
order: 70
updated: 2026-05-19
---

# Building assemblies

An assembly is a **crafting recipe** that turns a set of component objects into a new object via a skill check. Players use `assemble` (or `craft` depending on tree) to invoke the recipe. You build them with `assedit`.

## Open the editor

```
assedit 8500      Create or edit assembly vnum 8500
```

Assemblies are vnum-addressed. Pick a vnum aligned with your zone's component objects — typical convention: components in 8500-8549, assemblies referencing them in 8550-8599.

## Main menu

```
-- Assembly Number : [8500]
 1) Recipe Name    : Forge an iron sword
 2) Result Object  : [3050] an iron sword
 3) Required Skill : SMITHING
 4) Skill DC       : 15
 5) Crafting Time  : 30 ticks
 6) Components     : (3 listed)
    [0] iron ingot       (vnum 8500, qty 2)
    [1] wooden grip      (vnum 8501, qty 1)
    [2] leather wrapping (vnum 8502, qty 1)
 7) Components menu
 8) On-failure result : salvage (partial components returned)
 9) Failure object  : [-1]
 A) Required tools  : (anvil object [3500])
 B) Required room flag : FORGE
 Q) Quit
```

## Concepts

### Result object

The vnum of the object created on a successful craft. Built via `oedit` ahead of time. The crafted instance is a fresh copy of the prototype.

### Required skill + DC

The player must have the named skill at level ≥ DC to attempt. The DC roll is then `1d20 + skill_modifier ≥ DC`.

Common crafting skills:

- `SMITHING` — metalwork, weapons, armor
- `LEATHERWORKING` — leather goods
- `TAILORING` — cloth goods
- `ALCHEMY` — potions, scrolls
- `ENCHANTING` — magical infusion
- `WOODCRAFT` — bows, staves, wooden items

### Skill DC

Difficulty class. Higher = harder roll. Tier guide:

| DC | Difficulty |
|---|---|
| 5 | Trivial — almost always succeeds at skill 1+ |
| 10 | Easy — succeeds with modest skill |
| 15 | Moderate — requires real training |
| 20 | Hard — expert craft |
| 25 | Very hard — master craft |
| 30 | Legendary — top-skill-only |

### Crafting time

Ticks the craft takes. The player is locked in a crafting state during this time. Typical:

- 10-20 ticks for simple items
- 30-60 ticks for moderate items
- 100+ ticks for masterwork

### Components

The list of objects consumed by the craft. Each entry:

- **Component vnum** — the required object's prototype id.
- **Quantity** — how many copies are consumed.

Components are removed from the player's inventory at craft start. If the craft fails, see the on-failure result for what happens to them.

### On-failure result

One of:

| Mode | Behavior |
|---|---|
| `DESTROY` | Components are lost entirely on failure. |
| `SALVAGE` | Player gets back some/all of the components. |
| `FAILURE_OBJECT` | A specific "failed craft" object is given instead. |

`SALVAGE` is most player-friendly. `DESTROY` discourages low-skill attempts at expensive recipes. `FAILURE_OBJECT` is useful for "you didn't make a sword, but you have a chunk of bent metal" outcomes.

### Failure object vnum

If on-failure is `FAILURE_OBJECT`, this vnum is what the player gets. Often a "ruined" or "spoiled" variant of the intended result.

### Required tools

Optional list of object vnums that must be in the player's inventory or in the room. Tools are NOT consumed — they're checked but stay.

Common tools:

- Anvil (for smithing)
- Loom (for tailoring)
- Alchemy kit (for alchemy)
- Workbench (general crafting)

### Required room flag

Optional. Forces the craft to happen in a room with a specific flag. Useful for "forge" rooms, "alchemy lab" rooms.

Combine with required tools — a forge room with no anvil shouldn't allow smithing.

## Workflow

A typical assembly build:

1. **Build the result object** with `oedit`. Test that it's balanced.
2. **Build the components** with `oedit`. Place them in the world (zone resets, shop inventories, monster drops).
3. **Build any tools/locale** as objects/rooms with the necessary flags.
4. **`assedit <vnum>`** the assembly.
5. **Set the result, components, skill, DC, and locale requirements**.
6. **Test** — verify each component blocks the craft if absent; verify the right skill is checked; verify success returns the result; verify failure mode behaves correctly.

## Common patterns

### Simple weapon craft

Recipe: 2x iron ingot + 1x wooden grip → iron sword.

- Skill: SMITHING DC 12.
- Tools: anvil (room object).
- Locale: FORGE-flagged room.
- On failure: SALVAGE (give back grip + 1 ingot).

### Multi-step craft chain

Master crafts often chain:

- Recipe A: iron ore + coal → iron ingot (skill: SMELTING)
- Recipe B: 2x iron ingot + grip → iron sword (skill: SMITHING)
- Recipe C: iron sword + magic dust → enchanted sword (skill: ENCHANTING)

Each recipe stands alone. Players choose which step to do — they can buy ingots at a shop instead of smelting their own.

### Alchemy potion

Recipe: 3x mushroom + 1x vial + alchemy kit → potion.

- Skill: ALCHEMY DC 18.
- Tools: alchemy kit (held).
- Locale: any (alchemy is portable).
- On failure: DESTROY (botched potions explode).

### Re-rollable enchantment

Recipe: weapon + magic dust → enchanted weapon.

- Skill: ENCHANTING DC 25.
- Tools: enchantment rod.
- On failure: SALVAGE — player gets weapon back, dust consumed.
- Players retry until they succeed.

## Player commands

```
assemble                     List available recipes
assemble <name>              Begin crafting the named recipe
assemble status              Show current craft + time remaining
recipes                      What recipes do I know?
recipes <skill>              Filter by required skill
```

Some trees use `craft` instead of `assemble` — check the in-game `help` for the canonical command.

## Recipe discovery

Players typically learn recipes by:

- **Skill threshold** — having the skill at a certain level auto-grants recipes up to that DC.
- **Recipe scrolls** — read a scroll, learn a recipe permanently. The scroll is consumed.
- **Trainer NPCs** — pay a trainer to teach a recipe.

Set this up via the recipe scroll item (`oedit` an ITEM_OTHER with custom values) + a DG trigger on `quaff`/`read` that grants the recipe.

## Save + test

`Q` → `y` saves the assembly. Reload the zone or restart for the new recipe to take effect.

Test:

1. `recipes` shows the new recipe (if your skill qualifies).
2. `assemble <name>` without components → error message.
3. `assemble <name>` with components → craft begins, time counts down.
4. Successful craft → result object appears in inventory.
5. Failed craft → on-failure handling kicks in.
6. Required tools / locale flags block correctly.

## Balance

Crafting is the single most-broken sub-system if not balanced carefully:

- **Result must not be cheaper than shop-bought.** Otherwise crafting is a strict upgrade with no trade-off.
- **Components should be findable but not trivial.** A component you can buy 100 of for 10 gold each makes the craft a money fountain.
- **DC scales with result power.** A +5 sword recipe should require skill 25+, not skill 5+.
- **Watch dual-purpose loops.** "Sell crafted item for more than component cost" is the classic infinite-money exploit.

## See also

- [Building objects](/builders/objects) — your result + components + tools.
- [Building zones](/builders/zones) — place crafting stations via zone resets.
- [Building rooms](/builders/rooms) — flag rooms as FORGE, alchemy labs etc.
- [Building triggers](/builders/triggers) — custom recipe-discovery scrolls.
