
Wiki
DuckShell NPCs Wiki
NPC systems, patrols, spawners, combat AI, dialogue delivery, and live-server operations for the DuckShell stack.
Getting Started
Start here for first boot, file layout, and the admin surfaces that control the rest of the plugin.
AI and Combat
Separate global AI policy, per-type identity, awareness, cover, and personality presets without turning the roster into guesswork.
World Content
Keep patrol routes and persistent spawners as separate world systems with their own save files and editor workflows.
Presentation and Ecosystem
Handle disguises, skins, bubbles, dialogue delivery, and cross-plugin cooperation without burying those concerns in AI pages.
Runtime and Troubleshooting
Run live-server debug, Spark, corpse-loot checks, and civilian-arming validation without losing track of the real problem.
DuckShell exposes patrol and spawner content through actual operator workflows, not just YAML editing. That matters because these are world-authored systems and they are much easier to tune in place.
Patrol workflow
Key patrol commands from the current source docs:
/duckshell patrol gui/duckshell patrol edit/duckshell patrol create <shellType>
The patrol GUI supports actions such as:
- teleporting to the patrol spawn
- opening the route editor
- enabling or disabling the patrol
- changing respawn delay
- changing the shell type
- forcing a respawn
- deleting the patrol
Patrol hotbar editor
The in-world patrol editor is built around hotbar tools for:
- adding waypoints
- removing the nearest waypoint
- setting wait time
- toggling route loop
- adjusting route speed
- adjusting arrive distance
- saving immediately
- exiting the editor
This is the right place to tune route feel instead of guessing waypoint spacing by hand in YAML.
Patrol boundary mode
The patrol editor also includes a boundary mode toggled with swap-hands. That lets you author:
- corner A
- corner B
- boundary enable or disable
- clear boundary
- auto-fit to route with padding
- expand or shrink the boundary
This is one of the most important tools for keeping patrols believable during combat breaks.
Spawner workflow
Spawner commands from the current docs include:
/duckshell spawner/duckshell spawner list/duckshell spawner create <id> [shelltype]/duckshell spawner edit <id>/duckshell spawner tp <id>/duckshell spawner remove <id>/duckshell spawner visualize <id>
That means spawners already support both GUI browsing and direct operator control.
Spawner editor model
The spawner toolset is split between:
- the browser GUI
- the edit GUI
- the in-world toolbar editor
That split is useful because there is a difference between:
- choosing what a spawner is
- changing its numeric settings
- placing and visualizing it in the world
Safe authoring workflow for world content
Use this order:
- create the shell type first
- place one spawner
- validate alive-count behavior
- add a patrol only if the location really needs route movement
- then test player approach, combat break, and recovery
That order keeps shell-definition bugs separate from world-content bugs.

