Overlays

"Green screen means the vision is working. Red screen means run." — Medical Droid TK-9 Ordinal

/add overlay puts a full-screen filter over a player's view, or over everyone's at once.

You need the story tools permission to place overlays. /add, /edit, /remove and /list share one permission, held by community admins and above in the shipped config. See permission bits.


What it does

Overlays do 3 jobs. They grade a shot for a screenshot or a recording. They signal a state such as an alarm or a scanner. They show a condition such as blood loss or fainting. An overlay changes what a player sees, not what is in the world, so nobody else can tell that Rhen's screen has gone red.

Each overlay is an entity with an id, so you can retune it live, re-aim it at somebody else, or clear it. An overlay aimed at everyone also covers players who join after you set it.


Using it

Choosing a filter

14 filters are built in, grouped by what they are for:

  • grades are warm, cool, night, sepia, holocam, grain, vignette and dark
  • alerts are redalarm and bluealert
  • environmental are sandstorm and nightvision
  • status are bloodpulse and faint

Anything else you type is treated as a raw shader path and drawn full screen. That works for gfx/ paths, though intensity has no effect on a shader with its own opaque or additive blend.

Choosing a target

The second argument names who sees it:

  • -1 or all targets everyone, including players who join later
  • a partial player name matches one connected player
  • a character id matches that character

A name that matches nobody, or more than one player, is refused with a message suggesting -1.

Setting the intensity

Intensity is a percentage from 10 to 200, where 100 is the tuned normal. What it changes depends on the filter:

  • grades deepen as it rises
  • alarms flash faster, with the colour depth unchanged
  • sandstorm and nightvision get denser
  • bloodpulse reddens and speeds up together
  • faint deepens and breathes slightly slower

dark is the odd one. At 200 it is close to a blackout, but use the /fade transition when you actually want black.


Commands

Adding an overlay for everyone

Adding an overlay for one player

Retuning it live

Changing the filter

Re-aiming it

Listing overlays

An offline target is marked in the list, so a stale overlay is easy to spot.

Removing overlays


Things to note

  • /remove overlays has no confirmation. The bare command clears every overlay on the server the moment you press enter, including ones other directors set.
  • Filters starting textures/ are refused. A world texture registered as an overlay would break remap of that texture for every client, so the game turns the name away with a message instead.
  • 32 overlays is the cap. The 33rd prints "Maximum overlays reached (32)".
  • A misspelt filter is accepted and draws nothing. An unknown name is taken as a shader path, so the overlay still gets an id and a place in /list overlays. No shader with that name exists on the client, so the screen stays clean and no warning appears.
  • poison and burning were retired. An old scene file naming them falls through to the raw shader path branch and draws nothing at all.
  • Intensity is clamped to 10 to 200. Zero or an absent value means 100.
  • A target with no active character is tracked by name. Aiming at a player who has a character stores their character id, so the overlay follows them across reconnects. A player with no character is tracked by their current name instead.

Next

  • Locks and spawn points: seal doors and control respawns on the same set
  • Remap: change the world itself for everyone instead of one player's view