Skip to main content
DuckShell NPCs wiki

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.

Presentation and Ecosystem

Dialogue Bubbles, Hints, and Companion Delivery

Use the speech-bubble and hint system intentionally so hostile chatter, companion help, and recruitment prompts stay readable.

DuckShell's dialogue system is part of the runtime surface, not just decorative text. The current config already supports a real hint-rendering layer with bubble offsets, view range, shadow rules, background rules, and interpolation timing.

Overhead render mode

The current hint system supports a choice between:

  • legacy nameplate-style delivery
  • speech-bubble delivery

That lets you choose whether the NPC should feel more like a simple label-driven mob or a more expressive character with readable overhead speech.

Bubble tuning that matters

The most important bubble controls include:

  • y-offset
  • line-width
  • view-range
  • shadowed
  • see-through
  • default-background
  • background-color
  • text-color
  • interpolation timing
  • teleport duration timing
  • auto-height offset for taller entities

Those controls matter because different shell types do not share the same silhouette. A juggernaut and a smaller bandit should not necessarily use the same bubble offset.

Delivery design

The practical split usually looks like this:

  • hostile hints can prioritize clarity and tension
  • companion hints can prioritize feedback and ownership
  • unseen or nearby dialogue can be allowed to reach players without direct eye contact
  • tightly local combat bark can remain more directional

That is how you make NPC speech feel like part of the encounter rather than a debug overlay.

Companion versus hostile pools

Companion message pools and hostile hint pools should be treated as different authoring surfaces even if they share the same renderer. Companions need:

  • recruit and claim feedback
  • proximity or health warnings
  • owner-defense messaging
  • friendly-fire response

Hostiles need:

  • idle chatter
  • investigate lines
  • combat barks
  • fallback lines when a preferred pool is empty

A good authoring rule

Decide the purpose of a message before styling it:

  • information for the owner
  • atmospheric chatter for a nearby player
  • combat urgency
  • recruitment or claim instruction

That gives you a better reason for color, background, and delivery mode than simply using one global bubble style everywhere.