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 |
|---|---|---|---|
/hail |
19 | 0 | Implemented |
Hail the selected living non-player spawn.
Implementation: Implemented.
Syntax
/hail
Arguments
No manual arguments are used by this operation.
Behavior and restrictions
- Requires the HailDistance rule and the handler’s NPC combat and movement checks.
Current argument/client/target checks (exact source excerpts; branch-dependent):
if (spawn->IsNPC())
if(spawn->IsPlayer() == false && spawn->Alive() && spawn->GetDistance(client->GetPlayer()) < rule_manager.GetZoneRule(client->GetCurrentZoneID(), R_Spawn, HailDistance)->GetInt32()){
if(spawn->IsNPC() && ((NPC*)spawn)->EngagedInCombat())
if(spawn->IsNPC() && (spawn->HasMovementLoop() || spawn->HasMovementLocations()))
else if(spawn->IsNPC() && pauseRunback)
Permissions
Local database snapshot, October 6, 2026: /hail requires status 0 (handler 19). 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_HAIL (handler 19).
WorldServer/Commands/Commands.cpp:3024—COMMAND_HAIL.
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.