Skip to content

Instantly share code, notes, and snippets.

@perky
Created April 24, 2011 21:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save perky/939904 to your computer and use it in GitHub Desktop.
Save perky/939904 to your computer and use it in GitHub Desktop.
Version 5
///====== Copyright © 1996-2005, Valve Corporation, All rights reserved. =======
//
// Purpose: Portal 2 game definition file (.fgd)
// Created by DeanWinchester & Randdalf
//
///=============================================================================
@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) : "Allow Paint in Map" : 1 : "If enabled, allows the map to be covered by paint." =
[
0 : "No"
1 : "Yes"
]
maxblobcount(integer) : "Max Blob Count" : 250 : "Maximum blobs allowed on the map at any given time."
]
@PointClass base(Targetname, Angles) size(-1 -1 0, 1 1 1) color(80 150 225) studio("models/editor/overlay_helper.mdl") sphere(fademindist) sphere(fademaxdist) overlay() = info_overlay :
"An entity that places an overlay on the world."
[
material(material) : "Material"
sides(sidelist) : "Brush faces"
RenderOrder(integer) : "Render Order" : 0 : "Higher values render after lower values. This value can be 0-3."
StartU(float) : "U Start" : "0.0"
EndU(float) : "U End" : "1.0"
StartV(float) : "V Start" : "0.0"
EndV(float) : "V End" : "1.0"
BasisOrigin(Vector) : "Overlay Basis Origin"
BasisU(Vector) : "Overlay Basis U"
BasisV(Vector) : "Overlay Basis V"
BasisNormal(Vector) : "Overlay Basis Normal"
uv0(vector) : "Overlay Point 1"
uv1(vector) : "Overlay Point 2"
uv2(vector) : "Overlay Point 3"
uv3(vector) : "Overlay Point 4"
fademindist(float) : "Start Fade Dist" : -1 : "Distance at which the overlay starts to fade (<0 = use fademaxdist)."
fademaxdist(float) : "End Fade Dist" : 0 : "Maximum distance at which the overlay is visible (0 = don't fade out)."
]
///=============================================================================
//
// Logical Entities
//
///=============================================================================
@PointClass base(CombineBallSpawners, Parentname, Targetname) = point_energy_ball_launcher :
"Launches energy balls."
[
BallLifetime(float) : "Ball Lifetime" : 12 : "The time in seconds the ball will live before self-destructing. A negative value will give infinite life."
MinLifeAfterPortal(float) : "Min life after portal transition" : 6 : "When energy balls created by this launcher pass through a portal and their life is refreshed to be this number at Min."
// Inputs
input LaunchBall(void) : "Launch a ball from the spawner."
// Outputs
output OnPostSpawnBall(void) : "Fired after the ball has spawned."
]
@PointClass base(Parentname, Targetname, Angles) studio( "models/props_bts/rocket_sentry.mdl" ) = npc_rocket_turret: "Aims a rocket at a target."
[
spawnflags(Flags) =
[
1: "Disabled" : 0
]
input Toggle(void) : "Toggles activity."
input Enable(void) : "Enables activity."
input Disable(void) : "Disables activity."
input SetTarget(string) : "Sets the target for this turret to attack."
input Destroy(void) : "Sets this turret to it's destroyed state."
output OnFoundTarget(void) : "Fired when the rocket turret finds an unobstructed target."
output OnLostTarget(void) : "Fired when turret's target is blocked."
output OnDeath(void) : "Fired after this turret finishes it's destroy think and begins it's death think."
]
@PointClass base(Targetname, Parentname, Angles) cylinder(255 255 255, targetname, target, radius, targetname, targetname, radius) color(255 192 0) size(16 16 16) = env_portal_path_track :
"An entity used to build paths for other entities to follow. Each path_track is a node on the path, each holding the name of the next path_track in the path."
[
spawnflags(Flags) =
[
1: "Disabled" : 0
2: "Fire once" : 0
4: "Branch Reverse" : 0
8: "Disable train" : 0
16: "Teleport to THIS path track" : 0
]
Track_beam_scale(float):"Scale Track FX": 0 :"The amount to scale the track FX size"
End_point_scale(float) : "Scale Endpoint FX" : 0 : "The amount to scale the endpoint FX size."
End_point_fadeout(float):"Fade Out Endpoint": 0 :"Amount of time to fade out the endpoint FX"
End_point_fadein(float):"Fade In Endpoint": 0 :"Amount of time to fade in the endpoint FX"
target(target_destination) : "Next Stop Target" : : "The next path_track in the path."
altpath(target_destination) : "Branch Path" : : "An alternative path_track to be the next node in the path. Useful for making branching paths. Use the ToggleAlternatePath / EnableAlternatePath inputs to make the alternative path active."
speed(float) : "New Train Speed" : 0 : "When the train reaches this path_track, it will set its speed to this speed. "+
"This speed must be a positive value that is less than the train's max speed. A value of 0 will cause no change in the train's speed."
radius(float) : "Path radius" : 0 : "Used by NPCs who follow track paths (attack chopper/gunship). This tells them the Max distance they're allowed to be from the path at this node."
orientationtype(choices) : "Orientation Type" : 1 : "The way that the path follower faces as it moves through this path track." =
[
0 : "No change"
1 : "Face direction of motion"
2 : "Face this path_track's angles"
]
// Inputs
input ToggleAlternatePath(void) : "Cause the track to toggle to/from its alternate path."
input EnableAlternatePath(void) : "Enable the alternate path of the track."
input DisableAlternatePath(void) : "Disable the alternate path of the track."
input TogglePath(void) : "Cause the track to toggle on/off/"
input EnablePath(void) : "Enable the track."
input DisablePath(void) : "Disable the track."
input ActivateTrackFX(void) : "Turn on the track's fx beam"
input ActivateEndPointFX(void) : "Turn on the endpoint's fx"
input DeactivateTrackFX(void) : "Turn off the track's fx beam"
input DeactivateEndPointFX(void) : "Turn off the endpoint's fx"
// Outputs
output OnPass(void) : "Fired when any entity following this path passes this path_track node."
]
///=============================================================================
//
// Brush Entities
//
///=============================================================================
@SolidClass base(Trigger, Targetname) = trigger_portal_cleanser : "Emancipation grill."
[
UseScanline(choices) : "Use Scanline" : 1 =
[
0 : "No"
1 : "Yes"
]
Visible(choices) : "Visible" : 1 =
[
0 : "No"
1 : "Yes"
]
// Outputs
output OnDissolve(void) : "Fired whenever an entity is dissolved."
output OnFizzle(void) : "Fired whenever portals are fizzled."
output OnDissolveBox(void) : "This cleanser disolved an entity with targetname=Box."
]
@SolidClass base(Targetname, Parentname, EnableDisable ) = func_portal_orientation :
"Adjusts a portal's rotation to match a specified angle. The 'Bottom' of the portal points in the specified diretion."
[
AnglesToFace(angle) : "Angles to face" : "0 0 0" : "The 'floor' of the portal pair linkage will be in this direction."
MatchLinkedAngles(choices) : "Match linked angles." : 0 : "If set, portals placed in this volume will have their angles match their linked portals. This only works for floor or ceiling portals with a currently linked partner."=
[
0 : "False"
1 : "True"
]
]
@SolidClass base(Targetname) = func_weight_button : "A button which activates after a specified amount of weight is applied"
[
WeightToActivate(float) : "Amount of weight required before this button activates."
//Outputs
output OnPressed(void) : "Fired when the button is touching enough weight."
output OnReleased(void) : "Fired when the button was pressed, but weight was removed."
]
@SolidClass base(Targetname, Parentname) = func_noportal_volume : "A region in which no portal can be placed"
[
//Inputs
input Deactivate(void) : "Turn off blocking functionality"
input Activate(void) : "Turn on blocking functionality"
input Toggle(void) : "Toggle blocking functionality"
spawnflags(Flags) =
[
1: "Start inactive" : 0
]
]
@SolidClass base(Targetname, Parentname) = func_portal_bumper : "A region that portals trace to fit outside of but can be place on"
[
//Inputs
input Deactivate(void) : "Turn off bumping functionality"
input Activate(void) : "Turn on bumping functionality"
input Toggle(void) : "Toggle bumping functionality"
spawnflags(Flags) =
[
1: "Start inactive" : 0
]
]
@SolidClass base(Targetname, Parentname) = func_portal_detector : "A region that fires an output if a portal is placed in it"
[
//Inputs
input Disable(void) : "Turn off detecting functionality"
input Enable(void) : "Turn on detecting functionality"
input Toggle(void) : "Toggle detecting functionality"
output OnStartTouchPortal1(void) : "Fired when portal 1 is placed intersecting the portal detector."
output OnStartTouchPortal2(void) : "Fired when portal 2 is placed intersecting the portal detector."
output OnStartTouchLinkedPortal(void) : "Fired when linked portal is placed intersecting the portal detector."
output OnStartTouchBothLinkedPortals(void) : "Fired when both of a pair of portals is placed intersecting the portal detector."
spawnflags(Flags) =
[
1: "Start inactive" : 0
]
LinkageGroupID(integer) : "Portal pair ID that it detects" : 0
]
@SolidClass base(Origin, Angles) = func_liquidportal : "A space that fills with portal liquid and teleports entities when done filling"
[
InitialLinkedPortal(string) : "Linked liquid portal."
FillTime(float) : "Fill Time (sec)" : 10 : "How long the volume takes to fill in seconds."
//Inputs
input SetLinkedLiquidPortal(string) : "The liquid portal this should link to. Will update linked portal to point back."
input SetFillTime(float) : "How long the area takes to fill."
input StartFilling(void) : "Start filling NOW. Entities teleport when finished."
input AddActivatorToTeleportList(void) : "Add the activator entity to the list of entities to teleport when filling is finished."
input RemoveActivatorFromTeleportList(void) : "Remove the activator entity from the list of entities to teleport when filling is finished."
]
@PointClass iconsprite("editor/func_instance_parms.vmt") = func_instance_io_proxy :
"Place one copy of this entity inside of an instance. Sending messages to entities inside the instance from the Proxy's OnProxyRelay output " +
"will allow you to trigger these entities from outside the instance by sending messages to the func_instance. " +
"Send the ProxyRelay message from entities inside the instance to the proxy and you will be able to use these events to send messages to other entities " +
"outside the instance from the func_instance. NOTE: The instance, the proxy, and all entities involved should be named descriptively."
[
angles(angle) : "Angles" : "0 -90 0"
targetname(target_source) : "Name" : : "The name that other entities refer to this entity by."
input ProxyRelay(string) : "This message will get relayed and will be available from the instance."
output OnProxyRelay(void) : "A message from outside can trigger this to cause something to happen in the instance."
output OnProxyRelay1(void) : "A message from outside can trigger this to cause something to happen in the instance."
output OnProxyRelay2(void) : "A message from outside can trigger this to cause something to happen in the instance."
output OnProxyRelay3(void) : "A message from outside can trigger this to cause something to happen in the instance."
output OnProxyRelay4(void) : "A message from outside can trigger this to cause something to happen in the instance."
]
@SolidClass base(Targetname, EnableDisable) = func_clip_vphysics :
"A brush entity that's considered solid to vphysics."
[
origin(angle) : "Origin"
filtername(filterclass) : "Filter Name" : : "Filter to use to see if activator collides with me. See filter_activator_name for more explanation. Allow means 'Allow to Block' for this entity."
]
@PointClass base(Targetname, EnableDisable) iconsprite("editor/logic_relay.vmt") = logic_relay :
"A message forwarder. Fires an OnTrigger output when triggered, and " +
"can be disabled to prevent forwarding outputs.\n\n" +
"Useful as an intermediary between one entity and another for turning " +
"on or off an I/O connection, or as a container for holding a set of " +
"outputs that can be triggered from multiple places."
[
spawnflags(flags) =
[
1: "Only trigger once" : 0
2: "Allow fast retrigger" : 0
]
angles(angle) : "Angles" : "0 -90 0"
// Inputs
input Trigger(void) : "Trigger the relay, causing its OnTrigger output to fire if it is enabled."
input Toggle(void) : "Toggle the relay between enabled and disabled."
input CancelPending(void) : "Cancel any events fired by this relay that are currently pending in the I/O event queue."
// Outputs
output OnSpawn(void) : "Fired when the relay is spawned. If the relay is set to only trigger once, it will "+
"delete itself after firing this output."
output OnTrigger(void) : "Fired when the relay is triggered. If the relay is set to only trigger once, it will "+
"delete itself after firing this output."
]
@PointClass base(Targetname) iconsprite("editor/logic_script.vmt") = logic_script : "An entity that acts as a container for scripts"
[
angles(angle) : "Angles" : "0 -90 0"
Group00(target_destination) : "EntityGroup[0]"
Group01(target_destination) : "EntityGroup[1]"
Group02(target_destination) : "EntityGroup[2]"
Group03(target_destination) : "EntityGroup[3]"
Group04(target_destination) : "EntityGroup[4]"
Group05(target_destination) : "EntityGroup[5]"
Group06(target_destination) : "EntityGroup[6]"
Group07(target_destination) : "EntityGroup[7]"
Group08(target_destination) : "EntityGroup[8]"
Group09(target_destination) : "EntityGroup[9]"
Group10(target_destination) : "EntityGroup[10]"
Group11(target_destination) : "EntityGroup[11]"
Group12(target_destination) : "EntityGroup[12]"
Group13(target_destination) : "EntityGroup[13]"
Group14(target_destination) : "EntityGroup[14]"
Group15(target_destination) : "EntityGroup[15]"
]
@PointClass base(Targetname, Angles) iconsprite("editor/choreo_manager.vmt") = logic_coop_manager
[
DefaultPlayerStateA(choices) : "Default player state A" : 0 =
[
0 : "Disabled"
1 : "Enabled"
]
DefaultPlayerStateB(choices) : "Default player state B" : 0 =
[
0 : "Disabled"
1 : "Enabled"
]
output OnChangeToAllTrue(void)
output OnChangeToAllFalse(void)
output OnChangeToAnyTrue(void)
output OnChangeToAnyFalse(void)
input SetStateBFalse(void)
input SetStateAFalse(void)
input SetStateBTrue(void)
input SetStateATrue(void)
]
@PointClass base(Targetname, Angles, EnableDisable) studio("models/editor/playerstart.mdl") = info_coop_spawn : "Co-op spawn"
[
Enabled(choices) : "Enabled" : 1 =
[
0 : "No"
1 : "Yes"
]
ForceGunOnSpawn(choices) : "Force Gun on Spawn" : 0 =
[
0 : "No"
1 : "Yes"
]
StartingTeam(choices) : "Starting team" : 3 =
[
0 : "Unknown"
1 : "Chell"
2 : "P-Body (Orange)"
3 : "Atlas (Blue)"
]
input SetAsActiveSpawn(void)
]
///=============================================================================
//
// Model Entities
//
///=============================================================================
@PointClass base(Origin, Targetname, Angles) studio("models\props\portal_gap.mdl") = prop_portal : "A portal"
[
Activated(choices) : "Start Activated" : 1 : "An inactive portal will not be drawn and will not teleport entites" =
[
0 : "Inactive"
1 : "Active"
]
PortalTwo(choices) : "Portal Number" : 0 : "A portal has to logically be either portal 1 or portal 2" =
[
0 : "Portal 1"
1 : "Portal 2"
]
LinkageGroupID(integer) : "Portal pair ID that it belongs to" : 0
input SetName(string) : "Naming your portals is fun"
input SetActivatedState(bool) : "An inactive portal will not be drawn and will not teleport entites"
input Fizzle(void) : "Makes a cool visual fizzle and properly shuts down the portal"
input NewLocation(string) : "Sets this portals location and angles. This expects 6 floats with space delimiters, the format is 'x y z pitch yaw roll'"
output OnPlacedSuccessfully(void) : "When a portal is placed without failure, this output is fired."
]
@PointClass base(Weapon,Targetname, Parentname) studio("models/weapons/w_portalgun.mdl") = weapon_portalgun : "Portalgun"
[
CanFirePortal1(choices) : "Can Fire Portal 1" : 1 : "Can this portalgun create blue portals?" =
[
0 : "No"
1 : "Yes"
]
CanFirePortal2(choices) : "Can Fire Portal 2" : 1 : "Can this portalgun create red portals?" =
[
0 : "No"
1 : "Yes"
]
input ChargePortal1(void) : "Does charge up effect for mounted portalgun."
input ChargePortal2(void) : "Does charge up effect for mounted portalgun."
input FirePortal1(void) : "Projects portal 1 onto a wall in the facing direction of the gun."
input FirePortal2(void) : "Projects portal 2 onto a wall in the facing direction of the gun."
input FirePortalDirection1(vector) : "Fires portal 1 in the specified direction."
input FirePortalDirection2(vector) : "Fires portal 1 in the specified direction."
output OnFiredPortal1(void) : "Fires when the first (blue) portal is fired."
output OnFiredPortal2(void) : "Fires when the second (red) portal is fired."
]
@PointClass base(npc_turret_ground) studio( "models/combine_turrets/ground_turret.mdl" ) = npc_portal_turret_ground : "Combine (Portal) ground turret"
[
ConeOfFire(float) : "Cone of Fire" : 60 : "Cone of fire in degrees."
]
// Cores of GlaDOS computer. Resemble little eyeballs with handles. These play lines and look around when near the player.
@PointClass base(BasePropPhysics) studioprop() studio( "models/props_bts/glados_ball_reference.mdl" ) = prop_glados_core : "Core of GlaDOS computer."
[
CoreType(choices) : "Core Personality" : 1 : "Which personality VO set the core is set to." =
[
0 : "Curious"
1 : "Aggressive"
2 : "Crazy"
3 : "None"
]
DelayBetweenLines(float) : "Pause (in secs) between VO Lines." : "0.4" : "When the core is talking, this is the number of seconds delay between it's spoken lines."
input Panic(void) : "Core is near death, panic."
input StartTalking(void) : "Start playing lines, play looking animations."
output OnPlayerPickup(void) : "Player picked up core."
]
@PointClass base(prop_physics) studio() = prop_weighted_cube: "Weighted cube."
[
model(studio) : "World Model" : "models/props/metal_box.mdl"
allowfunnel(choices) : "Allow Funnelling" : 0 =
[
0 : "No"
1 : "Yes"
]
CubeType(choices) : "Type of cube" : 0 =
[
0 : "Normal"
1 : "Companion"
2 : "Redirection"
3 : "Ball"
4 : "Under"
]
NewSkins(integer) : "New skins" : 1
PaintPower(choices) : "Paint power" : 1 =
[
0 : "Bouncy"
1 : "Normal"
2 : "Speedy"
]
SkinType(integer) : "Skin type" : 0
output OnFizzled(void) : "Fires when fizzled"
input Dissolve(void)
input SilentDissolve(void)
]
@NPCClass base(npc_turret_floor, prop_dynamic) studio() = npc_portal_turret_floor : "Combine (Portal) Floor Turret"
[
model(studio) : "World model" : "models/props/turret_01.mdl"
TurretRange(integer) : "Range" : 1024 : "The range at which the turret can detect a target."
ShootAtMovingObjects(choices) : "Shoot at Moving Objects" : 1 : "When enabled, if the turret sees a moving object, it will shoot at it." =
[
0 : "No"
1 : "Yes"
]
PickupEnabled(choices) : "Pickup Enabled" : 1 : "When enabled, the turret can be picked up" =
[
0 : "No"
1 : "Yes"
]
DamageForce(choices) : "Damage Pushes Player" : 1 : "Being hit by this turret will push the player back." =
[
0 : "No"
1 : "Yes"
]
UsedAsActor(choices) : "Used as Actor" : 0 =
[
0 : "No"
1 : "Yes"
]
ModelIndex(integer) : "Model Index" : 0
AllowShootThroughPortals(choices) : "Allow Shooting through Portals" : 1 : "Can the turret shoot through Portals?" =
[
0 : "No"
1 : "Yes"
]
LoadAlternativeModels(choices) : "Load Alternative Models" : 1 : "Load alternative models?" =
[
0 : "No"
1 : "Yes"
]
CollisionType(integer) : "Collision Type" : 0
Gagged(choices) : "Gagged" : 1 =
[
0 : "No"
1 : "Yes"
]
DisableMotion(choices) : "Disable Motion" : 0 =
[
0 : "No"
1 : "Yes"
]
input FireBullet(string) : "Causes the turret to instantly fire at the specified entity."
output OnTipped(void) : "Fires on being tipped over."
output OnExplode(void) : "Fires when turret explodes."
]
@PointClass base(prop_physics) studio("models/npcs/monsters/monster_a.mdl") = prop_monster_box: "Portal 2 Frankenturrets."
[
BoxSwitchSpeed(integer) : "Box switch speed" : 0
disableshadowdepth(choices) : "Disable Shadow Depth" : 0 =
[
0 : "No"
1 : "Yes"
]
shadowdepthnocache(choices) : "No Cache for Shadow Depth" : 0 =
[
0 : "No"
1 : "Yes"
]
StartAsBox(choices) : "Start As Box" : 1 =
[
0 : "No"
1 : "Yes"
]
output OnFizzled(void) : "Fires when fizzled."
]
@PointClass base(Targetname, Angles, Studiomodel) studio( "models/props/security_camera.mdl" ) = npc_security_camera : "Security Camera"
[
spawnflags(Flags) =
[
32 : "Autostart" : 1
]
LookAtPlayerPings(choices) : "Look at Player Pings" : 0 =
[
0 : "No"
1 : "Yes"
]
TeamToLookAt(choices) : "Team to Look At" : 1 =
[
0 : "Unknown"
1 : "Chell"
2 : "P-Body (Orange)"
3 : "Atlas (Blue)"
]
// Inputs
input Enable(void) : "If closed, open."
input Disable(void) : "If open, close."
input Toggle(void) : "Toggle - If open, close. If closed, open."
input Ragdoll(void) : "Disable and fall off the wall."
// Outputs
output OnDeploy(void) : "Camera is becoming active and dangerous."
output OnRetire(void) : "Camera is becoming inactive and harmless."
]
@PointClass base(Targetname, Angles, Studiomodel) studio( "models/props/telescopic_arm.mdl" ) = prop_telescopic_arm : "Telescopic Arm"
[
input Enable(void) : "Enable Thumper"
input Disable(void) : "Disable Thumper"
input SetTarget(string) : "Set the entity to target."
input TargetPlayer(void) : "Set the player as the entity to target."
output OnFoundTarget(void) : "Arm has direct LOS to target entity."
output OnLostTarget(void) : "Arm has lost direct LOS to target entity."
]
@PointClass base(Targetname, Angles, Parentname, Global) studio( "models/props/Round_elevator_body.mdl" ) = prop_portal_stats_display : "Portal Stats Display"
[
input Enable(void) : "Turn on and display the current stats"
input Disable(void) : "Turn off stats display"
input UpdateStats(void) : "Updates the stats to the player's current level stats"
input ResetPlayerStats(void) : "Resets the curret level stats of the player"
output OnMetPortalObjective(void) : "Fired when enabled and player met the number of portal placements."
output OnMetStepsObjective(void) : "Fired when enabled and player met the number of foot steps."
output OnMetSecondsObjective(void) : "Fired when enabled and player met the number of seconds."
output OnFailedAllObjectives(void) : "Fired when enabled and player met no objectives."
]
@PointClass base(Targetname, Angles, Parentname) studio("models/editor/axis_helper_thick.mdl") = vgui_neurotoxin_countdown : "Neurotoxin Countdown"
[
width(integer) : "Panel width" : 256 : "Width of the panel in units."
height(integer) : "Panel height" : 128 : "Height of the panel in units."
input Enable(void) : "Make slideshow visible."
input Disable(void) : "Make slideshow invisible."
]
@PointClass base(Targetname, Angles) studio() = prop_floor_button : "Floor Button"
[
model(studio) : "World model" : "models/props/portal_button.mdl"
skin(integer) : "Skin" : 0 : "Some models have multiple versions of their textures, called skins. Set this to a number other than 0 to use that skin instead of the default."
output OnPressed(void) : "Fired when pressed."
output OnUnpressed(void) : "Fires when unpressed."
input PressIn(void) : "Presses the button"
input PressOut(void) : "Unpresses the button"
]
@PointClass base(Targetname, Angles) studio() = prop_under_floor_button : "Underground Floor Button"
[
model(studio) : "World model" : "models/props_underground/underground_floor_button.mdl"
skin(integer) : "Skin" : 0 : "Some models have multiple versions of their textures, called skins. Set this to a number other than 0 to use that skin instead of the default."
output OnPressed(void) : "Fired when pressed."
output OnUnpressed(void) : "Fires when unpressed."
input PressIn(void) : "Presses the button"
input PressOut(void) : "Unpresses the button"
]
@PointClass base(Targetname, Angles) studio() = prop_floor_cube_button : "Floor Button for Cubes"
[
model(studio) : "World model" : "models/props/box_socket.mdl"
skin(integer) : "Skin" : 0 : "Some models have multiple versions of their textures, called skins. Set this to a number other than 0 to use that skin instead of the default."
output OnPressed(void) : "Fires when pressed."
output OnUnpressed(void) : "Fires when unpressed."
input PressIn(void) : "Presses the button"
input PressOut(void) : "Unpresses the button"
]
@PointClass base(Targetname, Angles) studio() = prop_floor_ball_button : "Floor Button for Balls"
[
model(studio) : "World model" : "models/props/ball_button.mdl"
skin(integer) : "Skin" : 0 : "Some models have multiple versions of their textures, called skins. Set this to a number other than 0 to use that skin instead of the default."
output OnPressed(void) : "Fires when pressed."
output OnUnpressed(void) : "Fires when unpressed."
input PressIn(void) : "Presses the button"
input PressOut(void) : "Unpresses the button"
]
@PointClass base(Targetname, Angles) studio("models/props/switch001.mdl") = prop_button : "Button"
[
skin(integer) : "Skin" : 0 : "Some models have multiple versions of their textures, called skins. Set this to a number other than 0 to use that skin instead of the default."
Delay(integer) : "Delay" : 1 : "Delay before the button fires Outputs after being pressed, in seconds."
IsTimer(choices) : "Is Timer" : 0 =
[
0 : "No"
1 : "Yes"
]
output OnPressed(void) : "Fired when the button is pressed."
output OnUnpressed(void) : "Fires when unpressed."
input PressIn(void) : "Presses the button"
input PressOut(void) : "Unpresses the button"
]
@PointClass base(Targetname, Angles) studio("models/props_underground/underground_testchamber_button.mdl") = prop_under_button : "Underground Button"
[
Delay(integer) : "Delay" : 1 : "Delay before the button fires Outputs after being pressed, in seconds."
output OnPressed(void) : "Fired when the button is pressed."
output OnUnpressed(void) : "Fires when unpressed."
input PressIn(void) : "Presses the button"
input PressOut(void) : "Unpresses the button"
]
@PointClass base(Parentname, Targetname, Angles) iconsprite("vgui/hud/icon_info.vmt") = info_placement_helper : "Info Placement Helper"
[
force_placement(choices) : "Force Placement" : 1 =
[
0 : "No"
1 : "Yes"
]
radius(integer) : "Radius" : 64
snap_to_helper_angles(choices) : "Snap to Helper Angles" : 0 =
[
0 : "No"
1 : "Yes"
]
]
@PointClass base(Targetname, Angles) iconsprite("signage/signage_paint_dispenser.vmt") = info_paint_sprayer : "Paint Sprayer"
[
blob_spread_angle(integer) : "Blob Spread Angle" : 0
blob_spread_radius(integer) : "Blob Spread Radius" : 32
blob_streak_percentage(integer) : "Blob Streak Percentage" : 20
blobs_per_second(integer) : "Blobs per Second" : 35
end_radius_min(float) : "Min End Radius" : "0.5"
end_radius_max(float) : "Max End Radius" : "0.7"
light_position_name(string) : "Light Position Name" : "target_paint_lighting"
min_speed(integer) : "Min Speed" : 720
max_speed(integer) : "Max Speed" : 1250
min_streak_speed_dampen(integer) : "Min Streak Speed Dampening" : 500
max_streak_speed_dampen(integer) : "Max Streak Speed Dampening" : 10000
min_streak_time(float) : "Min Streak Time" : "0.2"
max_streak_time(float) : "Max Streak Time" : "0.5"
maxblobcount(integer) : "Max Blob Count" : 50
PaintType(choices) : "Gel Type" : 0 =
[
0 : "Repulsion"
1 : "Unknown"
2 : "Propulsion"
3 : "Conversion"
4 : "Water"
]
radius_grow_time_min(float) : "Min Radius Growth over Time" : "0.5"
radius_grow_time_max(float) : "Max Radius Growth over Time" : "1.0"
start_radius_min(float) : "Min Start Radius" : "0.5"
start_radius_max(float) : "Max Start Radius" : "0.7"
input Start(void)
input Stop(void)
]
@PointClass base(Targetname, Angles) studio() = prop_indicator_panel : "Tick panel"
[
IndicatorLights(target_destination) : "Indicator lights"
input Check(void) : "Tick the panel."
input Uncheck(void) : "Untick the panel."
]
@PointClass base(Targetname, Angles, EnableDisable) studio("models/props/tractor_beam_emitter.mdl") = prop_tractor_beam : "Tractor Beam"
[
disableshadows(choices) : "Disable Shadows" : 0 =
[
0 : "No"
1 : "Yes"
]
drawinfastreflection(choices) : "Draw in Fast Reflections" : 0 =
[
0 : "No"
1 : "Yes"
]
StartEnabled(choices) : "Start Enabled" : 0 =
[
0 : "No"
1 : "Yes"
]
linearForce(integer) : "Linear Force" : 300
input SetLinearForce(integer) : "Sets the Linear Force of the tractor beam, greater than 0 means push, less than 0 means pull."
]
@PointClass base(Targetname, Angles, EnableDisable) studio("models/props/wall_emitter.mdl") = prop_wall_projector : "Wall Emitter"
[
StartEnabled(choices) : "Start Enabled" : 0 =
[
0 : "No"
1 : "Yes"
]
]
@PointClass base(prop_dynamic) studio() = env_portal_laser : "Laser Emitter"
[
model(studio) : "World model" : "models/props/laser_emitter_center.mdl"
StartState(choices) : "Start State" : 0 =
[
0 : "On"
1 : "Off"
]
AutoAimEnabled(choices) : "Auto Aim Enabled" : 1 =
[
0 : "No"
1 : "Yes"
]
skin(integer) : "Skin" : 0 : "Some models have multiple versions of their textures, called skins. Set this to a number other than 0 to use that skin instead of the default."
scalevalue(integer) : "Scale Value" : 0
]
@PointClass base(prop_dynamic) studio() = prop_laser_catcher : "Laser Receiver"
[
model(studio):"Model":"models/props/laser_catcher_center.mdl"
IndicatorLights(target_destination) : "Indicator lights"
drawinfastreflection(choices) : "Draw in Fast Reflection" : 0 =
[
0 : "No"
1 : "Yes"
]
SkinType(integer) : "Skin Type" : 0
output OnPowered(void) : "Fires on being powered."
output OnUnpowered(void) : "Fires on being unpowered."
]
@PointClass base(prop_dynamic) studio() = prop_laser_relay : "Laser Relay"
[
model(studio) : "Model" : "models/props/laser_receptacle.mdl"
output OnPowered(void) : "Fires when powered."
output OnUnpowered(void) : "Fires when unpowered."
]
@PointClass base(info_overlay) = info_overlay_accessor : "Portal 2 hint overlays."
[
OverlayID(integer) : "Overlay ID" : 0
uv0(vector):"UV 0":"-8 -8 0"
uv1(vector):"UV 1":"8 -8 0"
uv2(vector):"UV 2":"8 8 0"
uv3(vector):"UV 3":"8 -8 0"
]
@PointClass base(Parentname, Targetname, Angles, Studiomodel) studioprop() = prop_laser_catcher: "Laser Receiver"
[
model(studio) : "World model" : "models/props/laser_catcher_center.mdl"
drawinfastreflection(boolean) : "Draw in fast reflection" : 1 : "Draw in fast reflection."
autoaimenabled(boolean) : "Auto aim enabled" : 1 : "Auto aim enabled."
skin(integer) : "Skin types" : 1 : "Skin types."
vscripts(string) : "VScripts" : "laser_target/musical_laser_catcher.nut" : "VScripts"
noshadow(boolean) : "Disable Shadows" : 1 : "Disable Shadows?"
input Enable(void) : "Enables activity." //tenative, untested
input Disable(void) : "Disables activity." //;
output OnPowered(void) : "Powered"
output OnUnpowered(void) : "Unpowered"
]
@PointClass base(Targetname, Angles) iconsprite("effects/fakeportalring_blue.vmt") = linked_portal_door : "Portal Door"+" | Yellow line should be facing the direction opposite to which the player or object enters the Portal"+" | Needs 2 linked_portal_door entities to be connected "+" | You must use the Open input to make them work."
[
width(integer) : "Width" : 32 : "Half the width of the Portal (in Hammer units)"
height(integer) : "Height" : 64 : "Half the height of the Portal (in Hammer units)"
partnername(string) : "Partner Name" : "" : "Name of the Portal this one is connected to"
input Open(void)
input Close(void)
]
@PointClass base(Targetname, Angles, Door) studio("models/props/portal_door_combined.mdl") = prop_testchamber_door : "Test Chamber Door"
[
AreaPortalFadeStart(integer) : "Area Portal Fade Start" : 0
AreaPortalFadeEnd(integer) : "Area Portal Fade End" : 0
AreaPortalWindow(string) : "Area Portal Window"
UseAreaPortalFade(choices) : "Use Area Portal Fade" : 0 =
[
0 : "No"
1 : "Yes"
]
]
@PointClass base(prop_dynamic_base,EnableDisable) sphere(fademindist) sphere(fademaxdist) studioprop() = prop_dynamic :
"A prop that can be placed in hierarchy and can play animations. 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_physics (i.e. it should be physically simulated) then it CANNOT be "+
"used as a prop_dynamic. Upon level load it will display a warning in the console and remove itself. Use a prop_physics instead."
[
shadowdepthnocache(choices) : "No Cache for Shadow Depth" : 1 =
[
0 : "No"
1 : "Yes"
]
HoldAnimation(choices) : "Hold Animation" : 0 =
[
0 : "No"
1 : "Yes"
]
drawinfastreflection(choices) : "Draw in Fast Reflection" : 0 =
[
0 : "No"
1 : "Yes"
]
DisableBoneFollowers(choices) : "Disable Bone Followers" : 0 =
[
0 : "No"
1 : "Yes"
]
disableshadowdepth(choices) : "Disable Shadow Depth" : 0 =
[
0 : "No"
1 : "Yes"
]
]
///=============================================================================
//
// Special Effects
//
///=============================================================================
@PointClass base(Angles,Targetname,Parentname) = env_lightrail_endpoint : "Special effects for the endpoints of the lightrail."
[
spawnflags(Flags) =
[
1 : "Start On (w/ Small FX)" : 0
//2 : "Start With Large FX" : 0
]
small_fx_scale(float) : "Scale Small FX" : 1 : "Scale of the small effect. 1 is the default size, 2 is twice that, etc."
large_fx_scale(float) : "Scale Large FX" : 1 : "Scale of the large effect. 1 is the default size, 2 is twice that, etc."
// Inputs
input StartCharge(float) : "Start charging the endpoint from the small to large state over a specified amount of seconds."
input StartSmallFX(void) : "Start discharging particles at the small effects state over specified number of seconds."
input StartLargeFX(void) : "Start discharging particles at the large effects state over specified number of seconds."
input Stop(float) : "Stops the effect at any point."
]
///=============================================================================
//
// Triggers
//
///=============================================================================
@SolidClass base(trigger_multiple) = trigger_catapult : "A trigger that catapults the player and other objects"
[
spawnflags(flags) =
[
4104 : "Autostart." : 1
]
upperThreshold(float) : "Upper Threshold" : "0.30"
playerSpeed(integer): "Player Speed" : 700 : "The speed at which the player is launched"
AirCtrlSupressionTime(float): "Air Control Supression Time" : "- 1.0"
physicsSpeed(integer): "Physics Speed" : 850 : "The speed at which objects (except the player) are launched."
applyAngularImpulse(choices) : "Apply Angular Impulse" : 1 =
[
0 : "No"
1 : "Yes"
]
entryAngleTolerance(float) : "Entry Angle Tolerance" : "0.0"
launchDirection(angle) : "Launch Direction" : "-90 0 0"
lowerThreshold(float) : "Lower Threshold" : "0.15"
launchTarget(string) : "Launch Target"
useThresholdCheck(choices) : "Use Threshold Check" : 1 =
[
0 : "No"
1 : "Yes"
]
useExactVelocity(choices) : "Use Exact Velocity" : 0 =
[
0 : "No"
1 : "Yes"
]
exactVelocityChoiceType(integer) : "Exact Velocity Choice Type" : 0
output OnCatapulted(void) : "Fired when the player or object is catapulted."
]
///=============================================================================
//
// Credits
//
///=============================================================================
@PointClass base(Targetname) size(-8 -8 -8, 8 8 8) = env_portal_credits :
"An entity to control the rolling credits for portal."
[
// Inputs
input RollCredits(void) : "Start the intro credits rolling."
input RollOutroCredits(void) : "Start the outro credits rolling."
input ShowLogo(void) : "Show the HL2 logo."
input RollPortalOutroCredits(void) : "Start the Portal greenscreen outro credits."
// Outputs
output OnCreditsDone(void) : "Fired when the credits having finished rolling."
]
///=============================================================================
//
// Normally Obsolete..
//
///=============================================================================
@PointClass base(Targetname, Parentname) iconsprite("editor/info_lighting.vmt") = info_lighting_relative
[
LightingLandmark(target_destination) : "Lighting Landmark" : : "Entity at which the reference origin is contained. " +
" If empty, the info_lighting_relative's origin will" +
" be used."
]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment