Reviewed October 6, 2026. This page covers the root, registered subcommands and documented internal actions.
Registration permissions
| Registration | Handler | Required status (local DB, Oct 6) | Implementation |
|---|---|---|---|
/randomize |
239 | 100 | Implemented |
Inspect or change randomization flags on a selected NPC.
Implementation: Implemented.
Syntax
/randomize show
/randomize <feature> <0|1>
Arguments
Position is zero-based in sep, after a registered database subcommand has been removed. Internal action tokens remain at position 0. Angle brackets are required; square brackets are optional. Alternative forms may change field meanings.
| Position | Argument | Accepted value / type | Meaning |
|---|---|---|---|
| 0 | feature |
text | show or a supported randomization feature. |
| 1 | enabled |
integer | Required for a feature; 1 enables, 0 disables. |
Behavior and restrictions
- Requires an NPC target.
- Accepted features: gender, race, model, hair, facial_hair, wing, cheek, chin, ear, eye, eye_brow, lip, nose, eye_color, hair_color1, hair_color2, hair_highlight, facial_hair_color, facial_hair_color_highlight, hair_color, hair_color_highlight, skin_color, wing_color1, wing_color2. The help text advertises legs/wings, but those exact branches are absent. Changes update the NPC definition and database randomization flags.
Persistence evidence in the active path: database.UpdateRandomize. Each call is subject to its surrounding validation; not every branch saves.
Current argument/client/target checks (exact source excerpts; branch-dependent):
if (target->IsNPC())
if (sep && sep->arg[0] && !sep->IsNumber(0))
if (sep->arg[1] && sep->IsNumber(1))
Handler failure/help feedback (sent to the player or logged; % fields are formatted at runtime):
You must specify either a 1(on) or 0(off) as the second parameter.
The target you wish to randomize must be an NPC.
You must select the target you wish to randomize.
Permissions
Local database snapshot, October 6, 2026: /randomize requires status 100 (handler 239). Other worlds may configure different values.
The dispatcher checks the resolved registration status before invoking the handler. In-handler guild, group, ownership, client-version and target checks still apply.
Examples
The syntax forms above are the source-based invocation examples. Replace identifiers with values valid for your world; client callback fields are supplied by the game client.
Source evidence
Dispatch: COMMAND_RANDOMIZE (handler 239).
WorldServer/Commands/Commands.cpp:6249—COMMAND_RANDOMIZE.WorldServer/Commands/Commands.cpp:9458—Command_Randomize.
Reviewed local revision: 9efddf962ffee075d0db2059d3914c36b0acbdf3; working-tree file checksums identify the exact reviewed bytes. Reviewed dispatch/helper evidence · Reconciliation report.
No upstream Markdown file exists for this registration in the retrieved revision.