Slash commands

/loot

Open loot interaction on the selected eligible corpse.

Implemented (subcommands have their own status) · Source comparison: October 6, 2026.

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
/loot 60 0 Implemented
/loot additem 68 100 Implemented
/loot list 66 200 Implemented
/loot removeitem 69 100 Implemented
/loot setcoin 67 100 Implemented

Open loot interaction on the selected eligible corpse.

Implementation: Implemented.

Syntax

/loot

Arguments

No manual arguments are used by this operation.

Behavior and restrictions

The active handler performs the operation described above after the registration permission check.

Current argument/client/target checks (exact source excerpts; branch-dependent):

if (cmdTarget && ((Entity*)cmdTarget)->IsNPC() && cmdTarget->Alive())
if(cmdTarget && cmdTarget->IsEntity()){
if (((Entity*)cmdTarget)->IsNPC())

Permissions

Local database snapshot, October 6, 2026: /loot requires status 0 (handler 60). 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_LOOT (handler 60).

  • WorldServer/Commands/Commands.cpp:3535 — COMMAND_LOOT.

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.

/loot additem

Add an item to the selected Entity’s loot.

Implementation: Implemented.

Syntax

/loot additem <item_id> [charges]

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 item_id integer Master item ID.
1 charges integer Optional charge/quantity value used for loot.

Behavior and restrictions

The active handler performs the operation described above after the registration permission check.

Current argument/client/target checks (exact source excerpts; branch-dependent):

if(spawn && spawn->IsEntity() && sep && sep->arg[0] && sep->IsNumber(0)){
if(sep->arg[1] && sep->IsNumber(1))

Permissions

Local database snapshot, October 6, 2026: /loot additem requires status 100 (handler 68). 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_LOOT_ADDITEM (handler 68).

  • WorldServer/Commands/Commands.cpp:3508 — COMMAND_LOOT_ADDITEM.

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.

/loot list

Inspect or edit loot-table assignments for a selected spawn.

Implementation: Implemented.

Syntax

/loot list
/loot list <add|remove> <loot_table_id>
/loot list clearall
/loot list details

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 action text Optional add/remove/clearall/details.
1 loot_table_id integer Required for add/remove; nonzero for add.

Behavior and restrictions

  • Editing table assignments requires an NPC target and changes the database assignments.

Current argument/client/target checks (exact source excerpts; branch-dependent):

if(spawn && spawn->IsEntity()){
if (!spawn->IsNPC())
if (!stricmp(sep->arg[0], "remove") && sep->arg[1] && sep->IsNumber(1))
else if (!stricmp(sep->arg[0], "add") && sep->arg[1] && sep->IsNumber(1))
if (spawn->IsNPC())

Handler failure/help feedback (sent to the player or logged; % fields are formatted at runtime):

/loot list add [loottableid] - cannot add a loottable id of 0.

Permissions

Local database snapshot, October 6, 2026: /loot list requires status 200 (handler 66). 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_LOOT_LIST (handler 66).

  • WorldServer/Commands/Commands.cpp:3380 — COMMAND_LOOT_LIST.

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.

/loot removeitem

Remove an item from the selected Entity’s loot.

Implementation: Implemented.

Syntax

/loot removeitem <item_id>

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 item_id integer Loot item identifier.

Behavior and restrictions

The active handler performs the operation described above after the registration permission check.

Current argument/client/target checks (exact source excerpts; branch-dependent):

if(spawn && spawn->IsEntity() && sep && sep->arg[0] && sep->IsNumber(0)){

Permissions

Local database snapshot, October 6, 2026: /loot removeitem requires status 100 (handler 69). 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_LOOT_REMOVEITEM (handler 69).

  • WorldServer/Commands/Commands.cpp:3521 — COMMAND_LOOT_REMOVEITEM.

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.

/loot setcoin

Set the selected Entity’s loot coin amount.

Implementation: Implemented.

Syntax

/loot setcoin <amount_copper>

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 amount_copper integer Total copper.

Behavior and restrictions

The active handler performs the operation described above after the registration permission check.

Current argument/client/target checks (exact source excerpts; branch-dependent):

if(spawn && spawn->IsEntity() && sep && sep->arg[0] && sep->IsNumber(0)){

Permissions

Local database snapshot, October 6, 2026: /loot setcoin requires status 100 (handler 67). 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_LOOT_SETCOIN (handler 67).

  • WorldServer/Commands/Commands.cpp:3498 — COMMAND_LOOT_SETCOIN.

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.

Permissions are from a read-only snapshot of the configured local world database on October 6, 2026; deployed worlds may differ. Argument and behavior evidence comes from the reviewed WorldServer checkout. Examples were checked against source and were not executed in a live world.