Blueprints (bpedit)
A blueprint is an assembly of blueprint sections wired together to form a complete instance layout. When a dungeon spawns an instance, it uses a blueprint as its template — the blueprint determines which sections appear and how they connect.
Instancing is an advanced feature. Create your sections in bsedit first, then assemble them here.
Concepts
- A blueprint’s mode (static or procedural) controls whether sections are hand-placed or randomly assembled.
- Static blueprints have a fixed layout: you specify exactly which sections go where and how their links connect.
- Procedural blueprints have a section pool; the engine picks and assembles sections randomly at instance creation time.
- Blueprints have entry and exit points used to place and remove players.
Entering the Editor
bpedit create <widevnum>
bpedit <widevnum>
Example:
bpedit create 5#800
bpedit 5#800
Commands
name
name <text>
Sets the blueprint’s display name.
description
description
Opens the string editor for a description. End with ~.
comments
comments
Internal builder notes.
mode
mode <static|procedural>
| Value | Description |
|---|---|
static | The layout is fixed. Sections and their links are set manually with static. |
procedural | The engine picks sections from the pool and assembles them randomly. |
flags
flags <flag>
Toggle blueprint instance flags:
| Flag | Description |
|---|---|
idle_on_complete | Instance remains available (idle) after being completed rather than immediately destroying itself. |
isolated | Instance is isolated from the outside world (no tells, no summons, etc.). |
no_save | Instance state is not saved. On shutdown/crash, instance is lost. |
repop
repop <seconds>
Sets the repop interval for the instance in seconds. Controls how often mob resets trigger inside.
areawho
areawho <value>
Sets the area title shown in the “who” list for players inside this instance.
section
Manages the section pool (used in procedural mode).
section add <widevnum>
section delete <#>
section list
Adds/removes sections from the procedural pool.
channel
channel add <channel_id>
channel list
channel del <#>
Associates communication channels with this blueprint instance.
static
The static sub-command configures the fixed layout for mode static blueprints.
static link add
static link add <section1#> <link1#> <section2#> <link2#>
Connects link <link1#> on section <section1#> to link <link2#> on section <section2#>. Creates the passage between sections.
static special add
static special add <section#> <room_widevnum> <name>
Marks a room within a section as a “special” named location (e.g. boss room, treasure room). These can be referenced by scripts.
static recall
static recall <section#>
Sets which section is the recall/safe destination for the blueprint.
static entry add / remove
static entry add <section#> <link#>
static entry remove <#>
Adds/removes player entry points. Players appear at these link/room positions when they enter the instance.
static exit add / remove
static exit add <section#> <link#>
static exit remove <#>
Adds/removes exit points. Players at these positions leave the instance.
addiprog / deliprog
addiprog <widevnum> <trigger> <phrase>
deliprog <group#>
Attaches/removes instance programs (scripts fired on instance events).
varset / varclear
varset <name> <number|string|room|rsg> <yes|no> <value>
varclear <name>
Defines or removes blueprint-level variables used by scripts. Use rsg (alias generator) for random-string-generator variables with spec <rsg_name>:<pattern|class>:<entry_name>.
list
bpedit list
Lists all blueprints in the current area.
Example: Static Blueprint
bpedit create 5#800
bpedit 5#800
name Thornwood Cellar
mode static
repop 300
areawho Thornwood Cellar
static special add 1 5#100 Entry Hall
static special add 2 5#115 Boss Room
static link add 1 1 2 1
static recall 1
static entry add 1 1
static exit add 2 2
show
done