From a1b6613c6c6a2f8d6e1ecd47e766bd40f92ac295 Mon Sep 17 00:00:00 2001 From: historia <[not public]> Date: Sun, 28 Jun 2026 02:40:30 -0400 Subject: feat: admin accounts, god mode, OLC commands like dig/room, 'inline' objects changed to 'local' objects --- data/help/close.yaml | 6 ++++++ data/help/dig.yaml | 9 +++++++++ data/help/god.yaml | 7 +++++++ data/help/goto.yaml | 5 +++++ data/help/inspect.yaml | 23 ++++++----------------- data/help/reload.yaml | 8 ++++++++ data/help/room.yaml | 18 ++++++++++++++++++ data/help/setflag.yaml | 7 +++++++ data/help/setplayerflag.yaml | 8 ++++++++ data/help/shutdown.yaml | 8 ++++++++ data/help/summon.yaml | 5 +++++ data/help/swapid.yaml | 7 +++++++ data/help/undig.yaml | 9 +++++++++ data/help/ungod.yaml | 6 ++++++ 14 files changed, 109 insertions(+), 17 deletions(-) create mode 100644 data/help/close.yaml create mode 100644 data/help/dig.yaml create mode 100644 data/help/god.yaml create mode 100644 data/help/goto.yaml create mode 100644 data/help/reload.yaml create mode 100644 data/help/room.yaml create mode 100644 data/help/setflag.yaml create mode 100644 data/help/setplayerflag.yaml create mode 100644 data/help/shutdown.yaml create mode 100644 data/help/summon.yaml create mode 100644 data/help/swapid.yaml create mode 100644 data/help/undig.yaml create mode 100644 data/help/ungod.yaml (limited to 'data') diff --git a/data/help/close.yaml b/data/help/close.yaml new file mode 100644 index 0000000..5a8a144 --- /dev/null +++ b/data/help/close.yaml @@ -0,0 +1,6 @@ +name: close +description: |- + Admin-only. Deletes an exit in the given direction from your current room, + and also removes the reciprocal exit from the target room if it points back. + Usage: close + Example: close east diff --git a/data/help/dig.yaml b/data/help/dig.yaml new file mode 100644 index 0000000..7e0cd4c --- /dev/null +++ b/data/help/dig.yaml @@ -0,0 +1,9 @@ +name: dig +description: |- + Admin-only. Creates a new room in a direction from your current room. + The new room receives a reciprocal exit back to your current room, + and your current room gains an exit to the new room. + The room ID is auto-generated as the lowest available number in the + same directory as the current room's YAML file. + Usage: dig [name] + Example: dig north "Dark Forest" diff --git a/data/help/god.yaml b/data/help/god.yaml new file mode 100644 index 0000000..d68e045 --- /dev/null +++ b/data/help/god.yaml @@ -0,0 +1,7 @@ +name: god +description: |- + Admin-only. Temporarily sets all your skills to level 99, prevents mobs + from aggressing you, lets you walk through blocked exits, and makes you + immune to hazard damage and death. Does not persist across reconnects. + Usage: god + Use 'ungod' to restore your normal stats and privileges. diff --git a/data/help/goto.yaml b/data/help/goto.yaml new file mode 100644 index 0000000..fdff16a --- /dev/null +++ b/data/help/goto.yaml @@ -0,0 +1,5 @@ +name: goto +description: |- + Admin-only. Teleports you instantly to a room by ID. + Usage: goto + Example: goto 1001 diff --git a/data/help/inspect.yaml b/data/help/inspect.yaml index f81dc6b..14dfe45 100644 --- a/data/help/inspect.yaml +++ b/data/help/inspect.yaml @@ -1,17 +1,6 @@ -name: "inspect" -category: "Skills" -description: | - Check the status of farming patches in the current room. - - Usage: inspect [patch] - - Shows the current state of each farming patch including: - - What is planted - - Growth stage - - Whether it has been watered - - Disease status - - Whether it is ready to harvest - - If no patch is specified, all patches in the room are shown. - - See also: help farming, help plant, help harvest +name: inspect +description: |- + Admin-only. Dumps detailed diagnostic information about your current + room, including exits, objects, mobs, item spawns, on-enter steps, + triggers, world flags, your player flags, and connected players. + Usage: inspect diff --git a/data/help/reload.yaml b/data/help/reload.yaml new file mode 100644 index 0000000..8c8c46d --- /dev/null +++ b/data/help/reload.yaml @@ -0,0 +1,8 @@ +name: reload +description: |- + Admin-only. Reloads all data caches from YAML files on disk. + This includes items, objects, mobs, drops, craft recipes, techs, + modules, courses, room index, hazards, and triggers. + Use this after editing YAML files to pick up changes without + restarting the server. (Rooms already hot-reload automatically.) + Usage: reload diff --git a/data/help/room.yaml b/data/help/room.yaml new file mode 100644 index 0000000..c5c18b0 --- /dev/null +++ b/data/help/room.yaml @@ -0,0 +1,18 @@ +name: room +description: |- + Admin-only. Modify the current room's data directly from within the game. + Usage: room [args...] + Actions: + name — set room name + desc — set room description + addobj — add a referenced object + remobj — remove a referenced object + addlocalobj — add a local object + remlocalobj — remove a local object + hide — hide all matching objects + unhide — unhide all matching objects + addmob — add a mob spawn + remmob — remove a mob spawn + addspawn [qty] [respawn_ticks] — add an item spawn + remspawn — remove an item spawn + Type 'room' alone to see this list in-game. diff --git a/data/help/setflag.yaml b/data/help/setflag.yaml new file mode 100644 index 0000000..7a164d6 --- /dev/null +++ b/data/help/setflag.yaml @@ -0,0 +1,7 @@ +name: setflag +description: |- + Admin-only. Sets a world flag. World flags are shared by all players. + If no value is given, sets the flag to true. + Values can be: true, false, an integer, or a string. + Usage: setflag [value] + Example: setflag gate_open true diff --git a/data/help/setplayerflag.yaml b/data/help/setplayerflag.yaml new file mode 100644 index 0000000..11a3eca --- /dev/null +++ b/data/help/setplayerflag.yaml @@ -0,0 +1,8 @@ +name: setplayerflag +description: |- + Admin-only. Sets a player-specific flag on a character. + Useful for quest progress, permissions, or testing. + If no value is given, sets the flag to true. + Values can be: true, false, an integer, or a string. + Usage: setplayerflag [value] + Example: setplayerflag bob has_vault_key true diff --git a/data/help/shutdown.yaml b/data/help/shutdown.yaml new file mode 100644 index 0000000..4a57113 --- /dev/null +++ b/data/help/shutdown.yaml @@ -0,0 +1,8 @@ +name: shutdown +description: |- + Admin-only. Schedules a server shutdown after a countdown. + All online players receive periodic announcements. + Can be cancelled with shutdown cancel. + Usage: shutdown - schedule shutdown + shutdown cancel - cancel pending shutdown + Example: shutdown 5 diff --git a/data/help/summon.yaml b/data/help/summon.yaml new file mode 100644 index 0000000..2a9268d --- /dev/null +++ b/data/help/summon.yaml @@ -0,0 +1,5 @@ +name: summon +description: |- + Admin-only. Teleports another player to your current room. + Usage: summon + Example: summon bob diff --git a/data/help/swapid.yaml b/data/help/swapid.yaml new file mode 100644 index 0000000..8698767 --- /dev/null +++ b/data/help/swapid.yaml @@ -0,0 +1,7 @@ +name: swapid +description: |- + Admin-only. Swaps the numeric IDs (filenames) of two rooms. All exits + referencing either room are updated automatically so the world remains + consistent. + Usage: swapid — swap your current room with another + swapid — swap two rooms by ID diff --git a/data/help/undig.yaml b/data/help/undig.yaml new file mode 100644 index 0000000..f7d3119 --- /dev/null +++ b/data/help/undig.yaml @@ -0,0 +1,9 @@ +name: undig +description: |- + Admin-only. Deletes the room in the given direction and removes all exits + leading to it from every room in the game. Requires confirmation. + Usage: undig + Example: undig north + The target room's name is shown for confirmation. Type UNDIG + to confirm. A warning is shown if deleting the room would create orphaned + (unreachable) rooms. diff --git a/data/help/ungod.yaml b/data/help/ungod.yaml new file mode 100644 index 0000000..ce041ed --- /dev/null +++ b/data/help/ungod.yaml @@ -0,0 +1,6 @@ +name: ungod +description: |- + Admin-only. Restores your skills and removes god-mode privileges. + Usage: ungod + This is also applied automatically if you disconnect or quit while in god + mode, so your stats are never saved with inflated values. -- cgit v1.2.3