Stanley.fgd
Jump to navigation
Jump to search
![Dead End - Icon.png](/w/images/f/f9/Dead_End_-_Icon.png)
This article has no
links to other VDC articles. Please help improve this article by adding links
that are relevant to the context within the existing text.
January 2024
![Wikipedia icon](/w/images/thumb/9/9a/Wikipedia_icon_small.png/16px-Wikipedia_icon_small.png)
![Wikipedia icon](/w/images/thumb/9/9a/Wikipedia_icon_small.png/16px-Wikipedia_icon_small.png)
January 2024
From: \common\The Stanley Parable\stanley.fgd
@include "base.fgd" @include "portal.fgd" @include "halflife2.fgd" @SolidClass base(Targetname, worldbase, ResponseContext) = worldspawn : "This is the world entity. Each map can only contain one, and it's automatically created for you." [ paintinmap(choices) : "Paint in map" : 0 = [ 0 : "No" 1 : "Yes" ] maxblobcount(integer) : "Max number of blobs" : 250 : "Max number of blobs should NOT be exceed 250" ] @BaseClass = LinkedPortalDoor : "An entity that can be linked to another door and create a passage between them dynamically." [ partnername(target_destination) : "Linked Partner" : : "Another 'prop_linked_portal_door' entity which will link to this one." input SetPartner(string) : "Set a new partner door." input Open(void) : "Open the door and cause the portal to activate." input Close(void) : "Close the door and cause the portal to deactivate." output OnOpen(void) : "Called when the door has started its open animation." output OnClose(void) : "Called when the door has started its close animation." output OnEntityTeleportFromMe(void) : "When any entity is teleported from this portal to the linked partner." output OnPlayerTeleportFromMe(void) : "When the player is teleported from this portal to the linked partner." output OnEntityTeleportToMe(void) : "When any entity is teleported from this linked partner to the portal." output OnPlayerTeleportToMe(void) : "When the player is teleported from this linked partner to the portal." ] @BaseClass = BaseProjector : "The base for all the different projectors (wall & tractor beam)." [ StartEnabled(boolean) : "Start Enabled" : 1 : "If the projector should start enabled." DisableHelper(boolean) : "Disable Placement Helper" : 0 : "Disable the automatically created placement helper to prevent it from fighting with a custom one." input Enable(void) : "Enables projection from this projector." input Disable(void) : "Disables projection from this projector." ] @PointClass base(Targetname, Parentname, Angles) iconsprite("editor/info_target.vmt") studioprop() = info_target : "Portal2 override of info_target. An entity that does nothing. Very useful as a positioning entity for other entities to refer to (i.e. the endpoint of an env_beam)" [ spawnflags( Flags ) = [ 1 : "Transmit to client (respect PVS)" : 0 2 : "Always transmit to client (ignore PVS)" : 0 ] model(studio) : "World Model" ] @PointClass base(Targetname, Parentname, Angles) studioprop("models/props/tripwire_turret.mdl") = prop_rocket_tripwire : "A stationary tripwire that fires a rocket when crossed." [ RocketSpeed(float) : "Rocket Speed" : 450 : "Speed the rocket will travel at." RocketLifetime(float) : "Rocket Lifetime" : 20 : "The rocket will automatically detonate after this number of seconds." input ForceFire(void) : "Forces the rocket turret to fire." StartDisabled(choices) : "Initial State" : 0 = [ 0 : "Enabled" 1 : "Disabled" ] output OnTripped(void) : "Fires when the laser has been tripped" output OnRocketExplode(void) : "Fires when the rocket explodes" input EnableTripwire(void) : "Enables the rocket tripwire." input DisableTripwire(void) : "Disables the rocket tripwire." ] @PointClass base(BasePropPhysics, RenderFields) studioprop() sphere(fademindist) sphere(fademaxdist) = prop_physics : "A prop that physically simulates as a single rigid body. It can be constrained to other physics objects using hinges "+ "or other constraints. It can also be configured to break when it takes enough damage. "+ "Note that the health of the object will be overridden by the health inside the model, to ensure consistent health game-wide. "+ "If the model used by the prop is configured to be used as a prop_dynamic (i.e. it should not be physically simulated) then it CANNOT be "+ "used as a prop_physics. Upon level load it will display a warning in the console and remove itself. Use a prop_dynamic instead." [ allowfunnel(boolean) : "Allow Portal Funneling" : 1 : "Whether or not this object should auto-funnel into a portal." ] @PointClass base(BasePropPhysics) studioprop() sphere(fademindist) sphere(fademaxdist) = prop_physics_override : "A prop that physically simulates as a single rigid body. It can be constrained to other physics objects using hinges "+ "or other constraints. It can also be configured to break when it takes enough damage. Health can be overridden on this version." [ health(integer) : "Health" : 0 : "Number of points of damage to take before breaking. 0 means don't break." // Inputs input Ignite(void) : "Ignite, burst into flames." input IgniteLifetime(float) : "Ignite, with a parameter lifetime." input IgniteNumHitboxFires(integer) : "Ignite, with a parameternumber of hitbox fires." input IgniteHitboxFireScale(float) : "Ignite, with a parameter hitbox fire scale." ] @SolidClass base(Targetname) = func_camera_target : "Used to produce perfectly reflective glass that renders world + entities." [ ] @PointClass base(Targetname, Parentname, Angles, LinkedPortalDoor) studio("models/editor/axis_helper_thick.mdl") line(255 255 0, targetname, partnername) = linked_portal_door : "A door which is linked by a portal to another 'linked_portal_door' entity." [ width(integer) : "Width" : 128 : "Width of the desired portal." height(integer) : "Height" : 128 : "Height of the desired portal." startactive(boolean) : "Start Active" : 0 : "Whether to start the linkage as active from the start." ] @PointClass base(Targetname, Parentname, Angles, LinkedPortalDoor) studio("models/props/portal_door.mdl") line(255 255 0, targetname, partnername) = prop_linked_portal_door : "A door which is linked by a portal to another 'prop_linked_portal_door' entity." [ lightingorigin(target_destination) : "Lighting Origin" : "" : "Select an info_lighting to specify a location to sample lighting from for all gibs spawned by this shooter, instead of their own origins." output OnFullyOpen(void) : "Called when the door has finished its open animation." output OnFullyClosed(void) : "Called when the door has finished its close animation." ] @PointClass base(Targetname, Parentname, Angles ) studio("models/props/switch001.mdl") = prop_button : "A button which is activated by player use or by game inputs." [ Delay(float) : "Delay Before Reset" : 1 : "Amount of time, in seconds, after the button has been pressed before it returns to the starting position. Once it has returned, it can be used again." istimer(boolean) : "Play timer sound?" : 0 : "If set, this button will play timer sounds while button is depressed. This allows fast reset by default - use Prevent fast reset to stop this." preventfastreset(boolean) : "Prevent fast reset?" : 0 : "Buttons that are timer's allow you to reset early - use this to make the button stick for the entire duration." skin(choices) : "Skin" : 0 = [ 0 : "Clean" 1 : "Rusted" ] input Press(void) : "Cause the button to be pressed." input Lock(void) : "Locks the button." input UnLock(void) : "UnLocks the button." input CancelPress(void) : "Causes the button to reset quietly and without firing OnButtonReset outputs." output OnPressed(void) : "Called when the button has been pressed." output OnPressedBlue(void) : "Called in Coop when the button has been pressed by the Blue player." output OnPressedOrange(void) : "Called in Coop when the button has been pressed by the Orange player." output OnButtonReset(void) : "Called when the button has reset after being pressed." ] @PointClass base(prop_button) studio("models/props_underground/underground_testchamber_button.mdl") = prop_under_button : "A button which is activated by player use or by game inputs, for use in underground test chambers" [ ] @PointClass base(Targetname, Parentname, Angles ) studio() = prop_floor_button : "A floor button which is activated by a player or objects." [ model(studio) : "Button model" : "models/props/portal_button.mdl" : "Button model must have the correct sequences and attachments in order to work as a button." input PressIn(void) : "Activate the button as if it was pressed, sending it to the bottom position." input PressOut(void) : "Unpress the button, sending it to the top position." output OnPressed(void) : "Called when the button has been pressed." output OnPressedBlue(void) : "Called in Coop when the button has been pressed by the Blue player." output OnPressedOrange(void) : "Called in Coop when the button has been pressed by the Orange player." output OnUnPressed(void) : "Called when the button has been unpressed." ] @PointClass base(Targetname, Parentname, Angles ) studio("models/props/box_socket.mdl") = prop_floor_cube_button : "A floor button which is activated by a prop_weighted_cube." [ AcceptsBall(boolean) : "Accepts Balls" : 1 : "If this button gets activated by the spherical cubes?" input PressIn(void) : "Activate the button as if it was pressed, sending it to the bottom position." input PressOut(void) : "Unpress the button, sending it to the top position." output OnPressed(void) : "Called when the button has been pressed." output OnUnPressed(void) : "Called when the button has been unpressed." ] @PointClass base(Targetname, Parentname, Angles ) studio("models/props/ball_button.mdl") = prop_floor_ball_button : "A floor button which is only activated by a prop_weighted_cube that is set to Cube Type = Sphere." [ input PressIn(void) : "Activate the button as if it was pressed, sending it to the bottom position." input PressOut(void) : "Unpress the button, sending it to the top position." output OnPressed(void) : "Called when the button has been pressed." output OnUnPressed(void) : "Called when the button has been unpressed." ] @PointClass base(Targetname, Parentname, Angles ) studio("models/props_underground/underground_floor_button.mdl") = prop_under_floor_button : "A floor button which is activated by a player or objects, for use in the underground test chambers" [ output OnPressed(void) : "Called when the button has been pressed." output OnUnPressed(void) : "Called when the button has been unpressed." ] @PointClass base(Targetname, Angles, BaseProjector) studio("models/props/wall_emitter.mdl") = prop_wall_projector : "Wall Projector" [ ] @PointClass base(Targetname, Parentname, Angles, EnableDisable) sphere(radius) studio("models/editor/angle_helper.mdl") = info_placement_helper : "Placement helper" [ radius(float) : "Radius" : 16 : "Radius in which to influence placement.," proxy_name(target_destination) : "Proxy Entity Name" : : "Name of the entity we want to use for our real placement position." attach_target_name(string) : "Attach Entity Name" : : "Name of the entity we want force our attachment to. Used to combine objects." snap_to_helper_angles(boolean) : "Use helper's angles" : 0 : "Placed objects will snap to the angles of the placement helper." force_placement(boolean) : "Force Placement" : 0 : "Avoids placement rules when placing at this helper." output OnObjectPlaced(void) : "An object has been successfully placed using us as a guide." output OnObjectPlacedSize(integer) : "When an object is successfully placed, this sends the scale level as an out value" ] @PointClass base(Targetname) iconsprite("editor/info_target.vmt") studioprop() = info_player_ping_detector : "Player Ping Detector" [ FuncTankName(target_destination) : "Func Tank Entity" : : "Name of the func_tank that will be told to look at the ping location when detected." TeamToLookAt(choices) : "Team to Observe" : 2 : "Which team's pings to look at." = [ 1 : "Both" 2 : "Orange" 3 : "Blue" ] Enabled(choices) : "Default State" : 1 : "Is this entity enabled by defualt or not?" = [ 0 : "Disabled" 1 : "Enabled" ] input Enable(void) : "Starts listening for pings and will fire outputs when found." input Disable(void): "Disable this entity from listening for pings." input Toggle(void): "DToggle from Enabled to Disabled and vice versa." output OnPingDetected(void) : "Fired when a ping is detected." ] @SolidClass base(Trigger) = func_placement_clip : "Specifies a region where things cannot be built." [ ] //------------------------------------------------------------------------- // // NPCs // //------------------------------------------------------------------------- @FilterClass base(BaseFilter) iconsprite("editor/filter_name.vmt") = filter_player_held : "A filter that only accepts objects held by the player." [ ] @PointClass base(Parentname, Targetname, Angles, Reflection) studio() = env_portal_laser : "Laser beam that will move through portals and reflect off metal surfaces." [ NoPlacementHelper(boolean) : "No placement helper" : 0 : "Don't automatically create a portal placement helper at the end of the laser." model(studio) : "Laser model" : "models/props/laser_emitter.mdl" StartState(choices) : "Start off?" : 0 = [ 1 : "Yes" 0 : "No" ] LethalDamage(choices) : "Deal lethal damage" : 0 = [ 0 : "Non-lethal" 1 : "Lethal" ] AutoAimEnabled(boolean) : "Should auto aim" : 1 : "Default to enabled" skin(choices) : "Skin Type" : 0 = [ 0 : "Clean" 1 : "Rusted" ] input Toggle( void ) : "Toggle the laser on and off." input TurnOn( void ) : "Turn the laser on." input TurnOff( void ) : "Turn the laser off." ] @PointClass base(Targetname) = point_laser_target : "Target for lasers to strike. The entity will fire outputs when struck and unstruck." [ terminalpoint(boolean) : "Terminal Point" : 1 output OnPowered(void) : "Fired when a laser hits the target." output OnUnpowered(void) : "Fired when a laser has stopped hitting the target." ] @PointClass base(Parentname, Targetname, Reflection) studio() = prop_laser_catcher : "Laser catcher that has target for lasers to strike. The entity will fire outputs when struck and unstruck." [ SkinType(choices) : "Skin Type" : 0 = [ 0 : "Clean" 1 : "Rusted" ] model(studio) : "laser catcher model" : "models/props/laser_catcher.mdl" output OnPowered(void) : "Fired when a laser hits the target." output OnUnpowered(void) : "Fired when a laser has stopped hitting the target." ] @PointClass base(Parentname, Targetname, Reflection) studio() = prop_laser_relay : "Laser catcher that has target for lasers to strike. The entity will fire outputs when struck and unstruck." [ model(studio) : "laser relay model" : "models/props/laser_receptacle.mdl" output OnPowered(void) : "Fired when a laser hits the target." output OnUnpowered(void) : "Fired when a laser has stopped hitting the target." ] @PointClass base(Targetname,Angles, Reflection) studio( "models/props/metal_box.mdl" ) = prop_weighted_cube : "Weighted Cube" [ skin(choices) : "Skin (OLD)" : 0 = [ 0 : "Standard" 1 : "Companion" 2 : "Standard Activated" 3 : "Reflective" 4 : "Sphere" 5 : "Antique" ] CubeType(choices) : "Cube Type" : 0 = [ 0 : "Standard" 1 : "Companion" 2 : "Reflective" 3 : "Sphere" 4 : "Antique" ] SkinType(choices) : "Skin Type" : 0 = [ 0 : "Clean" 1 : "Rusted" ] PaintPower(choices) : "Paint Power" : 4 : "The paint power of the cube." = [ 0 : "Bounce" 1 : "Stick" 2 : "Speed" 3 : "Portal" 4 : "None" ] NewSkins(boolean) : "Use new skins" : 0 : "Use the values in the Cube Type and Skin Type fields instead of the Skin(OLD) field." allowfunnel(boolean) : "Allow Portal Funneling" : 1 : "Whether or not this object should auto-funnel into a portal." input EnablePortalFunnel(void) : "Enable portal funneling behavior." input DisablePortalFunnel(void) : "Disable portal funneling behavior." input Dissolve(void) : "Dissolves the cube." input SilentDissolve(void) : "Kills the cube and fires its OnFizzled output." input PreDissolveJoke(void) : "GLaDOS make a funny about the cube." input ExitDisabledState(void) : "Exits the disabled state of a reflective cube." output OnFizzled(void) : "Fired when a cube is fizzled." output OnOrangePickUp(void) : "Orange picked up the cube." output OnBluePickUp(void) : "Blue picked up the cube." output OnPlayerPickup(void) : "Player picked up the cube." output OnPhysGunDrop(void) : "Player dropped the cube." output OnPainted(void) : "Cube got painted." ] @SolidClass base(Trigger) = trigger_catapult : "Catapult the player in a given diretion at a given velocity." [ playerSpeed(float) : "Player Speed" : 450 : "Speed at which to launch the players (u/sec)" physicsSpeed(float) : "Physics Object Speed" : 450 : "Speed at which to launch physics objects (u/sec)" useThresholdCheck(boolean) : "Use Threshold Check" : 0 entryAngleTolerance(float) : "Entry Angle Tolerance" : "0.0" : "Flung object's velocity must be pointing this much at the target. Specify a value between [-1...1] 1 means exactly, 0 means within 180 degrees -1 means any angle is accepted. This is only used if Use Threshold Check is set to yes." useExactVelocity(boolean) : "Use Exact Velocity" : 0 : "Try to fling exactly at the speed specified - this prevents the added upward velocity from a launch target." exactVelocityChoiceType(choices) : "Exact Solution Method" : 0 : "Using exact velocity generates two correct solutions. Use this to force which one you choose." = [ 0 : "Best" 1 : "Solution One" 2 : "Solution Two" ] lowerThreshold(float) : "Lower Threshold" : "0.15" : "Flung object must be within this percentage value in order to activate fling. Specify a value between [0...1] (default is .15) This is only used if Use Threshold Check is set to yes." upperThreshold(float) : "Upper Threshold" : "0.30" : "Flung object must be within this percentage value in order to activate fling. Specify a value between [0...1] (default is .30) This is only used if Use Threshold Check is set to yes." launchDirection(angle) : "Launch direction" : "0 0 0" : "Direction to launch the player in." launchTarget(target_destination) : "Launch target" : "" : "Entity to try to 'hit' when we're launched." onlyVelocityCheck(boolean) : "Only check velocity" : 0 : "Only check velocity of the touching object - don't actually catapult it. Use in conjunction with OnCatapulted to create velocity checking triggers. Only works when Use Threshhold Check is enabled." applyAngularImpulse(boolean) : "Apply angular impulse" : 1 : "If a random angular impulse should be applied to physics objects being catapulted." AirCtrlSupressionTime(float) : "Air Control SupressionTime" : "-1.0" : "[Launch by target only!]If greater than zero, supress player aircontrol for this number (in seconds). If less than zero use the default (quarter second)." output OnCatapulted(void) : "The object has been launched." ] @PointClass base(BasePropPhysics) studio( "models/props/futbol.mdl" ) = prop_glass_futbol : "Magic glass futbol which the player uses to power futbol sockets." [ SpawnerName(string) : "Spawner Name" : "" : "Name of prop_glass_futbol_spawner for this futbol to respawn in once broken." ] @PointClass base(Targetname) studio( "models/props/futbol_dispenser.mdl" ) = prop_glass_futbol_spawner : "Spawns magic glass futbols. Will re-create a futbol when it's created futbol breaks." [ StartWithFutbol(boolean) : "Start with Futbol" : "1" : "Set true if this spawner starts with a futbol in it. Set to false if this spawner's futbol will be maunally placed in the map." // Inputs input ForceSpawn(void) : "Spawns a new futbol. Usually isn't nessicary, because futbols respawn automatically if broken." // Outputs output OnFutbolSpawned(void) : "Created a new futbol." output OnFutbolGrabbed(void) : "Player has taken the futbol out of this spawner." ] @PointClass base(Targetname) studio( "models/props/futbol_socket.mdl" ) = prop_glass_futbol_socket : "Catches futbols and fires an output." [ // Outputs output OnFutbolReleased(void) : "Player has taken the futbol out of this socket." output OnFutbolCaught(void) : "This socket has captured a futbol." ] @PointClass base(Targetname) = portalmp_gamerules : "Proxy entity for Portal 2 Gamerules" [ input AddRedTeamScore(integer) : "Add to the Red team score (can be a negative number)" input AddBlueTeamScore(integer) : "Add to the Blue team score (can be a negative number)" ] @PointClass base(Parentname, Targetname, Angles) studio("models/effects/cappoint_hologram.mdl") = item_nugget : "Aperture Incentivizing Nugget" [ GroupName(string) : "Group Name" : : "Giving nuggets a group name hints the game that they are intended to be a group" RespawnTime(float) : "Respawn Time" : 30 : "Number of seconds between when a nugget is collected and when it respawns" PointValue(choices) : "Point Value" : 1 = [ 1 : "1" 5 : "5" 10 : "10" 25 : "25" ] ] @SolidClass base(func_portal_detector) = func_portalled : "Fires outputs when an entity teleports through a portal in its volume" [ FireOnDeparture(boolean) : "Fire On Departure" : 1 : "Fire when the entity is entering this portal" FireOnArrival(boolean) : "Fire On Arrival" : 1 : "Fire when the entity is exiting this portal" FireOnPlayer(boolean) : "Player" : 1 : "Fire when a player has portalled" output OnEntityPrePortalled(void) : "Fires when the entity is about to portal." output OnEntityPostPortalled(void) : "Fires when the entity is done portalling." ] @PointClass base(Targetname) = logic_player_slowtime : "Start/stops player being in slow time" [ input StartSlowingTime(float) : "Start slowing time for the player (with a set duration)." input StopSlowingTime(void) : "Stop slowing time for the player." ] @PointClass base(Targetname) = logic_timescale : "Changes the server's timescale" [ BlendTime(float) : "Blend Time" : 0 : "The amount of time it takes to ramp to the desired timescale when triggered." input SetDesiredTimescale(float) : "Sets the desired timescale and starts slowing time (will blend to desired using the specified blend time)." input SetTimescaleBlendTime(float) : "Set the amount of time that it takes to ramp to the desired timescale when triggered." ] @PointClass base(Targetname) = env_player_viewfinder : "When enabled, the viewfinder screen overlay will turn on." [ input ShowViewFinder(void) : "Shows the view finder scren overlay." input HideViewFinder(void) : "Hides the view finder scren overlay." ] @PointClass base(Targetname, PlayerClass, Angles) studio("models/editor/playerstart.mdl") = info_coop_spawn : "Player spawns for cooperative mode" [ Enabled(choices) : "Initial State" : 0 = [ 0 : "Disabled" 1 : "Enabled" ] StartingTeam(choices) : "Team" : 0 = [ 0 : "Any" 2 : "Red" 3 : "Blue" ] ForceGunOnSpawn(boolean) : "Force gun on spawn" : 0 : "Force the blue player to start with the portal gun and the red player to start with the paint gun." input Enable(void) : "Enable the spawn point to be used." input SetAsActiveSpawn(void) : "Enable the spawn point to be used, disabling all other spawn points that do not share the same name." input Disable(void) : "Disable the spawn point from being used." input SetTeam(integer) : "Set the team this spawn point is for. 0 and 1 are any team. 2 is red, 3 is blue" ] @PointClass base(TalkNPC,Parentname) studio("models/npcs/personality_sphere/personality_sphere.mdl") = npc_personality_core [ ModelSkin(choices) : "Alt Model Skin" : 0 : "If using the 'alt' skin, this sets the eye color -- If not using the alt skin, (0 = broken) (1=normal)" = [ 0 : "Blue Eye / Broken" 1 : "Green Eye / Normal" 2 : "Red Eye / NA" 3 : "Purple Eye / NA" ] altmodel(choices) : "Use Alternate Skins" : 0 : "Use the model with corrupted skins, instead of the skins in the original model. " = [ 0 : "No" 1 : "Yes" ] output OnPlayerPickup(void) : "Fired whenever the player picks up the core." output OnPlayerDrop(void) : "Fired whenever the player drops the core." input EnableMotion(void) : "Enable physics motion/collision response." input DisableMotion(void) : "Disable physics motion/collision response." input EnableFlashlight(void) : "Enable the eye flashlight." input DisableFlashlight(void) : "Disable the eye flashlight." input ForcePickup(void) : "Force the player to pickpup the sphere." input EnablePickup(void) : "Allow player pickup." input DisablePickup(void) : "Disable player pickup." input PlayAttach(void) : "Play the attach animation, used for syncing with the socket animation." input PlayDetach(void) : "Play the attach animation, used for syncing with the socket animation." input PlayLock(void) : "Play the lock animation, used for syncing with the socket animation." input SetIdleSequence(string) : "Set a sequence to use as an idle." input ClearIdleSequence(void) : "Return to the default idle animation." input Explode(void) : "Explode the sphere." ] @PointClass base(BasePropPhysics,Parentname) studio("models/npcs/monsters/monster_a.mdl") = prop_monster_box [ StartAsBox(boolean) : "Start As Box" : 0 : "Start as an Box." BoxSwitchSpeed(float) : "Box Switch Speed" : 400 : "Speed to force switch to a box." AllowSilentDissolve(boolean) : "Allow SilentDissolve input" : 0 : "Allow the SilentDissolve input to dissolve this monster." input BecomeBox(string) : "Force the monster to stay as a box." input BecomeMonster(void) : "Allow the monster to come out when set down." input BecomeShortcircuit(void) : "Short circuit this box and don't allow him to move anymore." input Dissolve(void) : "Dissolves the monster." output OnFizzled(void) : "Fired when the monster gets fizzled." input SilentDissolve(void) : "Kills the monster box and fires its OnFizzled output." ] @PointClass base(Targetname, Parentname, Angles) studio("models/props/sign_frame01/sign_frame01.mdl") line(255 255 0, targetname, IndicatorLights) = prop_indicator_panel [ TimerDuration(float) : "Timer Duration" : 0 : "Amount of time the counter will count down" Enabled(boolean) : "Start visible?" : 0 : "Whether the timer should be initially visible." IsTimer(boolean) : "Is a timer" : 0 : "Whether we're a countdown timer or not." IsChecked(boolean) : "Is checked" : 0 : "If this is a binary indicator, whether this is checked or not." IndicatorLights(target_destination) : "Indicator Lights" : "" : "If supplied, assumes this is a group of indicators lights to toggle when the indicator is toggled." input Check(void) : "Sets the indicator state to be 'checked'." input Uncheck(void) : "Sets the indicator state to be 'unchecked'." input Start(void) : "Start counting down." input Stop(void) : "Stop the counter at its current value." input Reset(void) : "Reset the timer back to its default value." ] @PointClass base(Targetname, Parentname, Angles) studio("models/props/sign_frame01/sign_frame01.mdl") = prop_tic_tac_toe_panel [ output OnPlayer1Pinged(void) : "Fired if pinged by Player 1." output OnPlayer2Pinged(void) : "Fired if pinged by Player 2." ] @SolidClass base(Trigger) = trigger_playerteam : "Triggers different outputs for different players touching the trigger." [ target_team(choices) : "Target Team" : 0 : "Which team (or all) to allow to touch this trigger." = [ 0 : "Both" 3 : "Blue" 2 : "Orange" ] trigger_once(boolean) : "Trigger Once" : "No" : "Only trigger once, then remove the trigger." output OnStartTouchOrangePlayer(void) : "Orange player has started touching the trigger." output OnStartTouchBluePlayer(void) : "Blue player has started touching the trigger." output OnEndTouchOrangePlayer(void) : "Orange player has stopped touching the trigger." output OnEndTouchBluePlayer(void) : "Blue player has stopped touching the trigger." ] @SolidClass base(Targetname) = trigger_ping_detector : "Detects whether a player has pinged in its region." [ output OnOrangePlayerPinged(void) : "Fired when the orange player has pinged inside the trigger." output OnBluePlayerPinged(void) : "Fired when the blue player has pinged inside the trigger." ] @PointClass base(Targetname) iconsprite("editor/info_landmark") = info_landmark_entry : "Entry landmark" [ ] @PointClass base(Targetname) iconsprite("editor/info_landmark") = info_landmark_exit : "Exit landmark" [ ] @PointClass base(Targetname) iconsprite("editor/game_end.vmt") = point_changelevel : "Level Change Entity" [ input ChangeLevel(string) : "Changes the level to the map name supplied as a parameter." output OnChangeLevel(void) : "Fired when the level is about to change." ] @PointClass base(Targetname, Parentname, Angles, BaseProjector, Reflection, Shadow) studio("models/props/tractor_beam_emitter.mdl") = prop_tractor_beam : "Emitter for a tractor beam." [ linearForce(float) : "Linear Force" : 250 : "Linear force to apply to objects in the beam." noemitterparticles(boolean) : "Disable Emitter Particles" : 0 : "Disable the whirly particles on the emitter." input SetLinearForce(float) : "Set the linear force applied to objects in the beam." use128model(boolean) : "Use 128 model" : 0 : "Use the tbeam projector model that fits within a 128 unit square." // input Enable(void) : "Turn the beam on." // input Disable(void) : "Turn the beam off." ] @PointClass base(Targetname, Parentname, Angles) studio("models/editor/cone_helper.mdl") = info_paint_sprayer : "An entity that sprays paint." [ //Paint sprayer maxblobcount(integer) : "Max number of blobs" : 250 : "Max number of blobs that sprayer can spawn in the world (1-250)." light_position_name(string) : "Light Position Name" : : "Name of the entity we want to use as blobs light position." start_active(boolean) : "Start Active?" : 0 silent(boolean) : "Silent?" : "0" : "If this flag is true, blobs will only paint (no render, effect, or sound)" DrawOnly(boolean) : "DrawOnly?" : "0" : "If this flag is true, blobs will only render (no paint, effect, or sound)" PaintType(choices) : "Paint Type" : 0 : "The type of paint sprayed." = [ 0 : "Bounce" 1 : "Stick" 2 : "Speed" 3 : "Portal" 4 : "Erase" ] RenderMode(choices) : "Render Mode" : 0 : "The mode to render blobs." = [ 0 : "Blobulator" 1 : "Fast Sphere" ] AmbientSound(choices) : "Ambient Sound" : 0 : "The sound to play when paint is flowing." = [ 0 : "None (silent)" 1 : "Drip" 2 : "Medium Flow" 3 : "Heavy Flow" ] blobs_per_second(float) : "Blobs per second" : "1" : "The number of paint blobs sprayed per second." min_speed(float) : "Min blob speed" : "100" : "The minimum speed of the sprayed blobs." max_speed(float) : "Max blob speed" : "100" : "The maximum speed of the sprayed blobs." blob_spread_radius(float) : "Blob spread radius" : "0" : "The starting radius of the spread of the blobs." blob_spread_angle(float) : "Blob spread angle" : "0" : "The spread of the blobs along its direction vector (in degrees)." blob_streak_percentage(float) : "Blob streak percentage" : "0" : "The percentage of blobs that will streak (0 - 100)." min_streak_time(float) : "Blob min streak time" : "0.2" : "The minimum time that the blobs will streak for." max_streak_time(float) : "Blob max streak time" : "0.5" : "The maximum time that the blobs will streak for." min_streak_speed_dampen(float) : "Blob min streak speed dampen" : "500" : "The minimum speed dampening while streaking." max_streak_speed_dampen(float) : "Blob max streak speed dampen" : "1000" : "The maximum speed dampening while streaking." input Start(void) : "Tell the paint sprayer to start spraying." input Stop(void) : "Tell the paint sprayer to stop spraying." input ChangePaintType(integer) : "Change the type of paint being sprayed." ] @PointClass base(Targetname,Angles) studio("models/props/futbol.mdl") = prop_paint_bomb : "Paint bomb that explodes on impact." [ //Paint bomb PaintType(choices) : "Paint Type" : 4 : "The type of paint to explode." = [ 0 : "Bounce" 1 : "Stick" 2 : "Speed" 3 : "Portal" 4 : "Erase" ] BombType(choices) : "Bomb Type" : 0 : "The type of explosion." = [ 0 : "Dry Bomb" 1 : "Wet Bomb" ] allowfunnel(boolean) : "Allow Portal Funneling" : 1 : "Whether or not this object should auto-funnel into a portal." AllowSilentDissolve(boolean) : "Allow SilentDissolve input" : 0 : "Allow the SilentDissolve input to dissolve this bomb." playspawnsound(boolean) : "Play Spawn Sound" : 1 : "Whether or not this bomb should play a sound on spawn." input Dissolve(void) : "Dissolves the paint bomb." input SilentDissolve(void) : "Kills the paint bomb and fires its OnFizzled output." input EnablePortalFunnel(void) : "Enable portal funneling behavior." input DisablePortalFunnel(void) : "Disable portal funneling behavior." output OnFizzled(void) : "Fired when a paint bomb is fizzled." output OnExploded(void) : "Fired when a paint bomb explodes." ] @PointClass base(Item) studio("models/items/healthkit.mdl") = item_paint_power_pickup : "Paint Ammo" [ // Paint power pickup PaintType(choices) : "Paint Type" : 0 : "The paint power of the pickup." = [ 0 : "Bounce" 1 : "Stick" 2 : "Speed" 3 : "Portal" ] ] @SolidClass base(Trigger, Targetname) = trigger_paint_cleanser : "A trigger volume that fizzles paint powers from the gun when the player touches it." [ ] @PointClass base(Weapon) studio("models/weapons/w_portalgun.mdl") = weapon_paintgun : "Paintgun" [] @PointClass base(Targetname) = point_survey : "Displays a survey to the player" [ surveyname(string) : "Survey Name" : : "The name of the survey keyvalues file." input ShowSurvey(string) : "Displays the survey." output OnSurveyComplete(void) : "Fired when the player finishes a survey." ] @PointClass base(Targetname, Angles) studio("models/effects/cappoint_hologram.mdl") = portal_race_checkpoint : "Checkpoint for race maps." [ ResetTime(float) : "Reset Time" : "5.0" : "The time it takes for the checkpoint to reset after activation" output OnCheckpointActivated(void) : "Fired when the checkpoint is activated by the player." output OnCheckpointReset(void) : "Fired when the checkpoint is reset after being activated by the player." input Activate(void) : "Activates the checkpoint." input CancelActivate(void) : "Cancels the checkpoint's activated state." input Lock(void) : "Locks the checkpoint from being activated." input Unlock(void) : "The checkpoint can be activated." ] @PointClass base(Targetname, Parentname, Angles) studio("models/editor/axis_helper_thick.mdl") = vgui_level_placard_display : "Pre-level display placard entity." [ ] @PointClass base(Targetname, Parentname, Angles) studio("models/editor/axis_helper_thick.mdl") = vgui_mp_lobby_display : "MP lobby display for day selection." [ ] @PointClass base(BasePropPhysics) studio( "models/props/futbol.mdl" ) = prop_exploding_futbol : "Magic exploding futbol which the player uses to power futbol sockets." [ SpawnerName(string) : "Spawner Name" : "" : "Name of prop_exploding_futbol_spawner for this futbol to respawn in once it has exploded." ShouldRespawn(boolean) : "Should Respawn" : "0" : "Should the futbol respawn at its spawner after exploding. Note: Spawner needs to be set for this to work." ExplodeOnTouch(boolean) : "Explode on touch" : "1" : "If the futbol should explode when it touches something." input Explode(void) : "Explodes the futbol." ] @PointClass base(Targetname) studio( "models/props/futbol_dispenser.mdl" ) = prop_exploding_futbol_spawner : "Spawns magic exploding futbols. Will re-create a futbol when it's created futbol explodes." [ StartWithFutbol(boolean) : "Start with Futbol" : "1" : "Set true if this spawner starts with a futbol in it. Set to false if this spawner's futbol will be maunally placed in the map." IsTimed(boolean) : "Is Futbol Timed?" : "0" : "If the futbol should explode after a set amount of time." Timer(float) : "Explode Timer" : "0" : "The time after which the futbol explodes if it is timed." TimerIndicatorName(target_destination) : "Timer Indicator Panel" : "" : "The name of the timer panel associated with the futbol, if any." // Inputs input ForceSpawn(void) : "Spawns a new futbol. Usually isn't nessicary, because futbols respawn automatically if broken." // Outputs output OnFutbolSpawned(void) : "Created a new futbol." output OnFutbolGrabbed(void) : "Player has taken the futbol out of this spawner." ] @PointClass base(Targetname) studio( "models/props/futbol_socket.mdl" ) = prop_exploding_futbol_socket : "Catches futbols and fires an output." [ // Outputs output OnFutbolReleased(void) : "Player has taken the futbol out of this socket." output OnFutbolCaught(void) : "This socket has captured a futbol." ] @PointClass base(Targetname, Angles) sphere(radius) sphere(inner_radius) = point_push: "Point Push" [ spawnflags(Flags) = [ 1 : "Test LOS before pushing" : 0 2 : "Use angles for push direction" : 0 4 : "No falloff (constant push at any distance)" : 0 8 : "Push players" : 1 16 : "Push physics" : 1 ] enabled(boolean) : "Start Enabled" : 1 magnitude(float) : "Magnitude" : 100 : "How strongly to push away from the center." radius(float) : "Radius" : 128 : "Radius to affect items in." inner_radius(float) : "Inner radius" : "0" : "If not zero, the LOS is calculated from a point intersecting this sphere." influence_cone(float) : "Cone of Influence" : "0" : "If greater than zero, the cone (in degrees) within which the object must lie for it to be affected." input Enable(void) : "Enable the push." input Disable(void): "Disable the push." ] @PointClass base(prop_physics) sphere(fademindist) sphere(fademaxdist) studioprop() = prop_physics_paintable : "A dynamic prop that can be painted." [ PaintPower(choices) : "Paint Power" : 4 : "The paint power of the pickup." = [ 0 : "Bounce" 1 : "Stick" 2 : "Speed" 3 : "Portal" 4 : "None" ] ] @PointClass base(Targetname) iconsprite("editor/logic_coop_manager.vmt") = logic_coop_manager : "Manages two sets of values and can fire outputs based on the state of those values. " + "Useful in coop where you can have players independently setting states on buttons, switches, etc." [ // keys DefaultPlayerStateA(choices) : "Default State A" : 0 : "The default state of A" = [ 0 : "FALSE" 1 : "TRUE" ] DefaultPlayerStateB(choices) : "Default State B" : 0 : "The default state of B" = [ 0 : "FALSE" 1 : "TRUE" ] // Inputs input SetStateATrue(void) : "Set State A to TRUE" input SetStateAFalse(void) : "Set State A to FALSE" input ToggleStateA(void) : "Toggle State A" input SetStateBTrue(void) : "Set State B to TRUE" input SetStateBFalse(void) : "Set State B to FALSE" input ToggleStateB(void) : "Toggle State B" // Outputs output OnChangeToAllTrue(void) : "Fires when ALL of the values change to TRUE for the first time" output OnChangeToAnyTrue(void) : "Fires when ANY of the values change to tTRUE for the first time" output OnChangeToAllFalse(void) : "Fires when ALL of the values change to FALSE for the first time" output OnChangeToAnyFalse(void) : "Fires when ANY of the values change to FALSE for the first time" ] @PointClass base(Targetname, Parentname, Angles) studio("models/props/portal_door_combined.mdl") = prop_testchamber_door : "Test chamber door entity." [ lightingorigin(target_destination) : "Lighting Origin" : "" : "Select an info_lighting to specify a location to sample lighting from for all gibs spawned by this shooter, instead of their own origins." AreaPortalWindow(target_destination) : "Area Portal Window Name" : "" : "The name of an area portal window that is controlled by the door." UseAreaPortalFade(boolean) : "Fade Area Portal?" : 0 : "If the area portal should use the specified fade distances to fade out." AreaPortalFadeStart(float) : "Fade Start Distance" : 0 : "The distance at which the area portal starts fading out." AreaPortalFadeEnd(float) : "Fade End Distance" : 0 : "The distance at which the area portal turns completely opaque." input Open(void) : "Open the door and cause the portal to activate." input Close(void) : "Close the door and cause the portal to deactivate." input Lock(void) : "Locking a door will prevent the Open or Close inputs from doing anything." input Unlock(void) : "If locked, unocking a door will allow the Open or Close inputs to function." output OnOpen(void) : "Called when the door has started its open animation." output OnClose(void) : "Called when the door has started its close animation." output OnFullyOpen(void) : "Called when the door has finished its open animation." output OnFullyClosed(void) : "Called when the door has finished its close animation." ] @PointClass base(BaseNPC, Parentname, RenderFields, Shadow) studio() = npc_wheatley_boss : "Wheatley NPC stub" [ model(studio) : "Model" ] @PointClass base(Targetname) sphere(radius) = paint_sphere : "Paint brush entities inside the sphere" [ paint_type(choices) : "Paint Type" : 0 : "The type of paint." = [ 0 : "Bounce" 1 : "Stick" 2 : "Speed" 3 : "Portal" 4 : "Erase" ] radius(float) : "Radius" : "60.f" : "Radius of paint sphere" alpha_percent(float) : "Alpha Percent" : "1.0" : "Alpha percent to control the density of paint, the value must be between 0 to 1" input Paint(void) : "Apply paint with specified paint type inside the paint sphere" ] @PointClass base(Targetname, Parentname, Angles ) = prop_tsp_button : "A button which does nothing" [ disabletime(float) : "Disable time" : 1 : "Amount of time, in seconds, after the button has been pressed before it can be pressed again" pressanimation(string) : "Animation to play on pressed" : "push" : "The sequence that will be played once the button is pressed" soundpath(string) : "Sound to play on press" : "button/button10.wav" : "Optional sound to play on press" model(studio) : "Model" ]