From 43b2fb25ed820ff0906c1e567f8b5eb5b75ff17f Mon Sep 17 00:00:00 2001 From: Spencer Brown Date: Fri, 27 Mar 2026 10:47:54 +1000 Subject: [PATCH] feat: New npc_security_camera customisation options --- fgd/point/npc/npc_security_camera.fgd | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/fgd/point/npc/npc_security_camera.fgd b/fgd/point/npc/npc_security_camera.fgd index 117c5e28a..b8f3efc5c 100644 --- a/fgd/point/npc/npc_security_camera.fgd +++ b/fgd/point/npc/npc_security_camera.fgd @@ -34,21 +34,29 @@ 3: "ATLAS" ] - model(studio) : "Camera Model" : "models/props/security_camera.mdl" : "Model to be used in game" + model(studio) : "Camera Model" : "models/props/security_camera.mdl" : "Model to be used in game." + rotatesound(sound) : "Rotation Sound": "Portalgun.pedestal_rotate_loop" : "Sound loop played when the camera moves." + speed(float) : "Rotation Speed" : 0 : "Speed the camera rotates, in degrees per second. By default, cameras targeting pings move at 8 deg/s, while all others move at 7 deg/s." + decalname(decal) : "Detach Decal" : "SecurityCamera.Detachment" : "Decal placed on the wall when the camera detaches. If set to 'none', no decal is placed." + glowname(sprite) : "Glow Sprite" : "sprites/glow1.vmt" : "Sprite used on the 'lens' attachment point. To remove the sprite, omit the attachment point." + enableropes(boolean) : "Enable Ropes" : 0 : "Enable a pair of ropes, like in Portal 1. 4 attachments should be defined - Wire1_A, Wire1_B, Wire2_A, Wire2_B." // Inputs input Enable(void) : "Start following players." input Disable(void) : "Stop following players, freezing in place." input Toggle(void) : "Toggle following players." - input Ragdoll(void) : "Knock the camera off the wall." + input Detach(void) : "Knock the camera off the wall." + input Ragdoll(void) : "Backwards-compatibiity alias for Detach." input LookAtBlue(void) : "Make the camera only follow ATLAS." input LookAtOrange(void) : "Make the camera only follow P-Body." input LookAllTeams(void) : "Make the camera follow all players." + input ForceLookAt(ehandle) : "Force the camera to look at the specified entity, or return to normal if none is supplied." // Outputs output OnDeploy(void) : "Camera is becoming active and dangerous." output OnRetire(void) : "Camera is becoming inactive and harmless." + output OnDetach(void) : "Camera was knocked off the wall." output OnTaunted(void) : "A player STARTED taunting the camera." output OnTauntedBlue(void) : "ATLAS STARTED taunting the camera."