diff --git a/CREDITS.md b/CREDITS.md index ca10fc482..8aa135e92 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -2,5 +2,4 @@ - [The TF2 Ultimate Mapping Resource Pack](http://forums.tf2maps.net/showthread.php?t=4674) (much of the icons) - [ZPS: Supplemental Hammer Icons](http://www.necrotalesgames.com/tools/index.php) (some icons) - [ts2do's HL2 FGDs](http://halflife2.filefront.com/file/HalfLife_2_Upgraded_Base_FGDs;48139) (some more icons) - -- The IO_proxy icon and hammer_notes icon is mine, the others are from the above downloads. \ No newline at end of file +- [Ficool2's FGD pack](https://tf2maps.net/downloads/ficool2s-overhauled-fgd-all-entities-documentated-icons.7209/) (several icons) diff --git a/bin/base.fgd b/bin/base.fgd deleted file mode 100644 index 23c56df4a..000000000 --- a/bin/base.fgd +++ /dev/null @@ -1,7835 +0,0 @@ -//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. ======= -// -// Purpose: General game definition file (.fgd) -// -//============================================================================= - -@mapsize(-16384, 16384) - - -//------------------------------------------------------------------------- -// -// Base Classes -// -//------------------------------------------------------------------------ - -@BaseClass = PaintableBrush -[ - // Inputs - input RemovePaint(void) : "Remove paint from the brush entity." -] - -@BaseClass = Angles -[ - angles(angle) : "Pitch Yaw Roll (Y Z X)" : "0 0 0" : "This entity's orientation in the world. Pitch is rotation around the Y axis, " + - "yaw is the rotation around the Z axis, roll is the rotation around the X axis." -] - -@BaseClass = Origin -[ - origin(origin) : "Origin (X Y Z)" : : "The position of this entity's center in the world. Rotating entities typically rotate around their origin." -] - -@BaseClass = Reflection -[ - drawinfastreflection(boolean) : "Render in Fast Reflections" : 0 : "If enabled, causes this entity/prop to to render in fast water reflections (i.e. when a water material specifies $reflectonlymarkedentities) and in the world impostor pass." - - input DisableDrawInFastReflection(void) : "Turns off rendering of this entity in reflections when using $reflectonlymarkedentities in water material." - input EnableDrawInFastReflection(void) : "Turn on rendering of this entity in reflections when using $reflectonlymarkedentities in water material." -] - -@BaseClass = ToggleDraw -[ - input DisableDraw(void) : "Add the EF_NODRAW flag to this entity. Some entities manage this on their own so be aware you can override that value." - input EnableDraw(void) : "Remove the EF_NODRAW flag to this entity. Some entities manage this on their own so be aware you can override that value." -] - -@BaseClass = Shadow -[ - disableshadows(boolean) : "Disable shadows" : 0 - disableshadowdepth(boolean) : "Disable ShadowDepth" : 0 : "Used to disable rendering into shadow depth (for flashlight) for this entity." - shadowdepthnocache(choices) : "Projected Texture Cache" : 0 : "Used to hint projected texture system whether it is sufficient to cache shadow volume of this entity or to force render it every frame instead." = - [ - 0 : "Default" - 1 : "No cache = render every frame" - 2 : "Cache it = render only once" - ] - - disableflashlight(boolean) : "Disable flashlight" : 0 : "Used to disable flashlight (env_projectedtexture) lighting and shadows on this entity." - - input DisableShadow(void) : "Turn shadow off." - input EnableShadow(void) : "Turn shadow on." - - input DisableReceivingFlashlight(void) : "This object will not recieve light or shadows from projected textures (flashlights)." - input EnableReceivingFlashlight(void) : "This object may recieve light or shadows from projected textures (flashlights)." -] - -@BaseClass = compMinLight -[ - _minlight(string) : "Minimum Light Level" : : "The minimum level of ambient light that hits this brush." -] - -@BaseClass base(Reflection, ToggleDraw, Shadow) = Studiomodel -[ - model(studio) report : "World Model" - 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." - - // Inputs - input Skin(integer) : "Changes the model skin to the specified number." - input DisableShadow(void) : "Turn shadow off." - input EnableShadow(void) : "Turn shadow on." - input AlternativeSorting(bool) : "Used to attempt to fix sorting problems when rendering. True activates, false deactivates" - - // Outputs - output OnIgnite(void) : "Fired when this object catches fire." -] - -@BaseClass = BasePlat -[ - input Toggle(void) : "Toggles the platform's state." - input GoUp(void) : "Tells the platform to go up." - input GoDown(void) : "Tells the platform to go down." -] - -@BaseClass = Targetname -[ - targetname(target_source) : "Name" : : "The name that other entities refer to this entity by." - - vscripts(scriptlist) : "Entity Scripts" : "" : "Name(s) of script files that are executed after all entities have spawned." - thinkfunction(string) : "Script think function" : "" : "Name of a function in this entity's script scope which will be called automatically." - - input RunScriptFile(string) : "Execute a game script file from disk." - input RunScriptCode(string) : "Execute a string of script source code." - input CallScriptFunction(string) : "Execute the given function name." - - // Inputs - input Kill(void) : "Removes this entity from the world." - input KillHierarchy(void) : "Removes this entity and all its children from the world." - input AddOutput(string) : "Adds an entity I/O connection to this entity or changes keyvalues dynamically. Format:\n"+ - "' ::::'\n" + - "or 'keyvalue newval'. Very dangerous, use with care." - input FireUser1(void) : "Causes this entity's OnUser1 output to be fired." - input FireUser2(void) : "Causes this entity's OnUser2 output to be fired." - input FireUser3(void) : "Causes this entity's OnUser3 output to be fired." - input FireUser4(void) : "Causes this entity's OnUser4 output to be fired." - - // Outputs - output OnUser1(void) : "Fired in response to FireUser1 input." - output OnUser2(void) : "Fired in response to FireUser2 input." - output OnUser3(void) : "Fired in response to FireUser3 input." - output OnUser4(void) : "Fired in response to FireUser4 input." -] - -@BaseClass = Parentname -[ - parentname(target_destination) : "Parent" : : "The name of this entity's parent in the movement hierarchy. Entities with parents move with their parent. Set an attachment point via 'parentname, attachment'." - - // Inputs - input SetParent(target_destination) : "Changes the entity's parent in the movement hierarchy." - input SetParentAttachment(string) : "Change this entity to attach to a specific attachment point on its parent. Entities must be parented before being sent this input. The parameter passed in should be the name of the attachment." - input SetParentAttachmentMaintainOffset(string) : "Change this entity to attach to a specific attachment point on it's parent. Entities must be parented before being sent this input. The parameter passed in should be the name of the attachment. The entity will maintain it's position relative to the parent at the time it is attached." - input ClearParent(void) : "Removes this entity from the the movement hierarchy, leaving it free to move independently." - input SetLocalAngles(string) : "Sets the rotation of the entity relative to the parent's rotation." - input SetLocalOrigin(string) : "Sets the position of the entity relative to the parent's position." -] - -@BaseClass = BaseBrush -[ - // Inputs - input SetTextureIndex(integer) : "Used by HL1Port. Sets the brush texture index. Use a material_modify_control entity instead." - input IncrementTextureIndex(void) : "Used by HL1Port. Increments the brush texture index. Use a material_modify_control entity instead." -] - -@BaseClass = EnableDisable -[ - StartDisabled(boolean) : "Start Disabled" : 0 - - // Inputs - input Enable(void) : "Enable this entity." - input Disable(void) : "Disable this entity." -] - -@BaseClass = RenderFxChoices -[ - renderfx(choices) :"Render FX" : 0 = - [ - 0: "Normal" - 1: "Slow Pulse" - 2: "Fast Pulse" - 3: "Slow Wide Pulse" - 4: "Fast Wide Pulse" - 9: "Slow Strobe" - 10: "Fast Strobe" - 11: "Faster Strobe" - 12: "Slow Flicker" - 13: "Fast Flicker" - 5: "Slow Fade Away" - 6: "Fast Fade Away" - 7: "Slow Become Solid" - 8: "Fast Become Solid" - 14: "Constant Glow" - 15: "Distort" - 16: "Hologram (Distort + fade)" - 23: "Cull By Distance (TEST)" - 24: "Spotlight FX" - 26: "Fade Near" - ] -] - -@BaseClass = SpatialEntity -[ - minfalloff(float) : "Lookup Falloff Start Distance" : "0.0" : "This is the distance to the start of the falloff region (-1 = everywhere)" - maxfalloff(float) : "Lookup Falloff End Distance" : "200.0" : "This is the distance to the end of the falloff region (-1 = everywhere)" - maxweight(float) : "Maximum Weight" : "1.0" : "This is the maximum weight for this lookup" - fadeInDuration(float) : "Lookup Fade In Duration" : "0.0" : "Duration of fade in on when enabled." - fadeOutDuration(float) : "Lookup Fade out Duration" : "0.0" : "Duration of fade out on when disabled." - - // Inputs - input SetFadeInDuration(float) : "Sets the 'fadeInDuration' variable, used to fade cc lookup usage when entity is enabled." - input SetFadeOutDuration(float) : "Sets the 'fadeOutDuration' variable, used to fade cc lookup usage when entity is disabled." -] - -@BaseClass base(RenderFxChoices) = RenderFields -[ - rendermode(choices) : "Render Mode" : 0 : "Used to set a non-standard rendering mode on this entity. See also 'FX Amount' and 'FX Color'." = - [ - 0: "Normal" - 1: "Color" - 2: "Texture" - 3: "Glow" - 4: "Solid" - 5: "Additive" - 7: "Additive Fractional Frame" - 9: "World Space Glow" - 10: "Don't Render" - ] - renderamt(integer) : "FX Amount (0 - 255)" : 255 : "The FX amount is used by the selected Render Mode. Often affects opacity." - rendercolor(color255) : "FX Color (R G B)" : "255 255 255" : "A color to mix with the model/sprite" - - disablereceiveshadows(boolean) : "Disable Receiving Shadows" : 0 - - input Alpha(integer) : "Set the sprite's alpha (0 - 255)." - input Color(color255) : "Set the sprite's color (R G B)." -] - -@BaseClass line(255 255 255, targetname, master) = MasterEnt -[ - master(target_destination) : "Master (Obsolete)" : : "Legacy support: The name of a master entity. If the master hasn't been activated, this entity will not activate." -] - -// Inherit from this to get the ability to only include an object in a range of dx levels. -// NOTE!!: MAKE SURE THAT YOU DON'T USE THIS WITH ANYTHING THAT WILL BREAK SAVE-GAMES SWITCHING -// BETWEEN SYSTEM LEVELS!!!! -@BaseClass = SystemLevelChoice -[ - mincpulevel(choices) : "Minimum CPU Level" : 0 = - [ - 0 : "default (low)" - 1 : "low" - 2 : "medium" - 3 : "high" - ] - maxcpulevel(choices) : "Maximum CPU Level" : 0 = - [ - 0 : "default (high)" - 1 : "low" - 2 : "medium" - 3 : "high" - ] - mingpulevel(choices) : "Minimum GPU Level" : 0 = - [ - 0 : "default (very low)" - 1 : "very low" - 2 : "low" - 3 : "medium" - 4 : "high" - ] - maxgpulevel(choices) : "Maximum GPU Level" : 0 = - [ - 0 : "default (high)" - 1 : "very low" - 2 : "low" - 3 : "medium" - 4 : "high" - ] - disableX360(choices) : "Disable X360" : 0 = - [ - 0 : "No" - 1 : "Yes" - ] -] - -@BaseClass = Inputfilter -[ - InputFilter(choices) : "Input Filter" : 0 : "Used to specify which inputs this entity will accept." = - [ - 0 : "Allow all inputs" - 8 : "Ignore Touch/Untouch" - 16 : "Ignore Use" - 32 : "Ignore All" - ] -] - -@BaseClass = Global -[ - globalname(string) : "Global Entity Name" : "" : "Name by which this entity is linked to another entity in a different map. When the player transitions to a new map, entities in the new map with globalnames matching entities in the previous map will have the previous map's state copied over their state." -] - -// Base class for env_global -@BaseClass base(Targetname) = EnvGlobal : - "An entity to control a global game state, with an optional associated counter, that persists across level transitions." -[ - initialstate(choices) : "Initial State" : 0 = - [ - 0 : "Off" - 1 : "On" - 2 : "Dead" - ] - - counter(integer) : "Counter" : 0 : "An integer counter value associated with this global." - - spawnflags(flags) = - [ - 1 : "Set Initial State" : 0 - ] - - // Inputs - input TurnOn(void) : "Set state of global to ON." - input TurnOff(void) : "Set state of global to OFF." - input Toggle(void) : "Toggles state of global between ON and OFF." - input Remove(void) : "Set state of global to DEAD." - input SetCounter(integer) : "Sets the counter value of this global." - input AddToCounter(integer) : "Adds to the counter value of this global. Negative numbers subtract." - input GetCounter(void) : "Causes the Counter output to be fired, passing the current counter value for this global." - - // Outputs - output Counter(integer) : "Fired in response to the GetCounter input, passing the current value of the counter." -] - -@BaseClass = DamageFilter -[ - damagefilter(target_destination) : "Damage Filter" : "" : "Name of the filter entity that controls which entities can damage us." - input SetDamageFilter(target_destination) : "Sets the entity to use as damage filter. Pass in an empty string to clear the damage filter." -] - -@BaseClass = ResponseContext -[ - // Inputs - input AddContext(string) : "Adds a context to this entity's list of response contexts. The format should be 'key:value'." - input RemoveContext(string) : "Remove a context from this entity's list of response contexts. The name should match the 'key' of a previously added context." - input ClearContext(void) : "Removes all contexts in this entity's list of response contexts." - - // Pre-defined contexts at server startup time (set by mapper) - ResponseContext(string) : "Response Contexts" : "" : "Response system context(s) for this entity. Format should be: 'key:value,key2:value2,etc'. When this entity speaks, the list of keys & values will be passed to the response rules system." -] - -@BaseClass base(Targetname, DamageFilter, Shadow, Reflection) = Breakable -[ - ExplodeDamage(float) : "Explosion Damage" : 0 : "If non-zero, when this entity breaks it will create an explosion that causes the specified amount of damage. See also 'Explosion Radius'." - ExplodeRadius(float) : "Explosion Radius" : 0 : "If non-zero, when this entity breaks it will create an explosion with a radius of the specified amount. See also 'Explosion Damage'." - PerformanceMode(choices) : "Performance Mode" : 0 : "Used to limit the amount of gibs produced when this entity breaks, for performance reasons." = - [ - 0 : "Normal" - 1 : "No Gibs" - 2 : "Full Gibs on All Platforms" - 3 : "Reduced gibs" - ] - - // Inputs - input Break(void) : "Breaks the breakable." - input SetHealth(integer) : "Sets a new value for the breakable's health. If the breakable's health reaches zero it will break." - input AddHealth(integer) : "Adds health to the breakable. If the breakable's health reaches zero it will break." - input RemoveHealth(integer) : "Removes health from the breakable. If the breakable's health reaches zero it will break." - input EnablePhyscannonPickup(void) : "Makes the breakable able to picked up by the physcannon." - input DisablePhyscannonPickup(void) : "Makes the breakable not able to picked up by the physcannon." - input SetMass(float) : "Set mass of this object." - - // Outputs - output OnBreak(void) : "Fired when this breakable breaks." - output OnTakeDamage(void) : "Fired each time this breakable takes any damage." - output OnHealthChanged(float) : "Fired when the health of this breakable changes, passing the new value of health as a percentage of max health, from [0..1]." - output OnPhysCannonDetach(void) : "Fired when the physcannon has ripped this breakable off of the wall. Only fired if ACT_PHYSCANNON_DETACH is defined in the model this breakable is using." - output OnPhysCannonAnimatePreStarted(void) : "Fired when this prop starts playing the Pre physcannon-pull activity, caused by the player trying to grab this prop with the physcannon. Only fired if the ACT_PHYSCANNON_ANIMATE_PRE activity is defined in the model this breakable is using." - output OnPhysCannonAnimatePullStarted(void) : "Fired when this prop starts playing the physcannon-pull activity, caused by the player trying to grab this prop with the physcannon. Only fired if the ACT_PHYSCANNON_ANIMATE activity is defined in the model this breakable is using. If the prop has Pre pull anim, this will be fired after the Pre anim has finished playing." - output OnPhysCannonPullAnimFinished(void) : "Fired when this prop has finished playing the physcannon-pull activity, caused by the player trying to grab this prop with the physcannon. Only fired if the ACT_PHYSCANNON_ANIMATE activity is defined in the model this breakable is using. If the prop has Pre & Post pull anims, this will be fired after the Post anim has finished playing." - output OnPhysCannonAnimatePostStarted(void) : "Fired when this prop starts playing the Post physcannon-pull activity. Only fired if the ACT_PHYSCANNON_ANIMATE_POST activity is defined in the model this breakable is using." -] - -@BaseClass base(Breakable, Parentname, Global) = BreakableBrush -[ - spawnflags(flags) = - [ - 1 : "Only Break on Trigger" : 0 - 2 : "Break on Touch" : 0 - 4 : "Break on Pressure" : 0 - 512: "Break immediately on Physics" : 0 - 1024: "Don't take physics damage" : 0 - 2048: "Don't allow bullet penetration": 0 - ] - - propdata(choices) : "Prop Data" : 0 : "Set to the best approximation of the size and material of this entity's brushes. If set, it will override this entity's health and damage taken from various weapons. See the propdata.txt file in the scripts directory of your MOD to get a detailed list of what each entry specifies." = - [ - 0 : "None" - 1 : "Wooden.Tiny" - 2 : "Wooden.Small" - 3 : "Wooden.Medium" - 4 : "Wooden.Large" - 5 : "Wooden.Huge" - 6 : "Metal.Small" - 7 : "Metal.Medium" - 8 : "Metal.Large" - 9 : "Cardboard.Small" - 10 : "Cardboard.Medium" - 11 : "Cardboard.Large" - 12 : "Stone.Small" - 13 : "Stone.Medium" - 14 : "Stone.Large" - 15 : "Stone.Huge" - 16 : "Glass.Small" - 17 : "Plastic.Small" - 18 : "Plastic.Medium" - 19 : "Plastic.Large" - 20 : "Pottery.Small" - 21 : "Pottery.Medium" - 22 : "Pottery.Large" - 23 : "Pottery.Huge" - 24 : "Glass.Window" - ] - - health(integer) : "Strength" : 1 : "Number of points of damage to take before breaking. 0 means don't break." - material(choices) :"Material Type" : 0 : "Set to the material type of the brush. Used to decide what sounds to make when damaged, and what gibs to produce when broken." = - [ - 0: "Glass" - 1: "Wood" - 2: "Metal" - 3: "Flesh" - 4: "CinderBlock" - 5: "Ceiling Tile" - 6: "Computer" - 7: "Unbreakable Glass" - 8: "Rocks" - 9: "Metal Panel" - 10: "None" - ] - explosion(choices) : "Gibs Direction" : 0 : "Used to decide which direction to throw gibs when broken." = - [ - 0: "Random" - 1: "Relative to Attack" - 2: "Use Precise Gib Dir" - ] - - gibdir(angle) : "Precise Gib Direction" : "0 0 0" : "Specifies the direction to throw gibs when this breakable breaks. Be sure to select Use Precise Gib Dir in the Gibs Direction field!" - - nodamageforces(boolean) : "Damaging it Doesn't Push It" : 0 : "Used to determine whether or not damage should cause the brush to move." - - // Inputs - input EnableDamageForces(void) : "Damaging the entity applies physics forces to it." - input DisableDamageForces(void) : "Damaging the entity does *not* apply physics forces to it." - - gibmodel(studio) : "Gib Model" : "" : "Used by HL1Port to specify a custom gib model to break into, overriding the 'Material Type'." - - // spawnobject(string) : "Spawn On Break (OBSELETE)" : 0 : "When broken, an entity of the selected type will be created." - - explodemagnitude(integer) : "Explode Magnitude" : 0 : "If non-zero, when this entity breaks it will create an explosion that causes the specified amount of damage." - pressuredelay(float) : "Pressure Delay" : 0 : "Delay, in seconds, after 'broken' by pressure before breaking apart (allows for sound to play before breaking apart)." -] - -@BaseClass base(Breakable) = BreakableProp -[ - spawnflags(flags) = - [ - 16 : "Break on Touch" : 0 - 32 : "Break on Pressure" : 0 - ] - pressuredelay(float) : "Pressure Delay" : 0 : "Delay, in seconds, after 'broken' by pressure before breaking apart (allows for sound to play before breaking apart)." -] - -// Added - NPC which is not visible -@BaseClass base(Targetname, Angles, DamageFilter) color(0 200 200) = BaseLogicalNPC -[ - squadname(String) : "Squad Name" : : "NPCs that are in the same squad (i.e. have matching squad names) will share information about enemies, and will take turns attacking and covering each other." - hintgroup(String) : "Hint Group" : "" : "Hint groups are used by NPCs to restrict their hint-node searching to a subset of the map's hint nodes. Only hint nodes with matching hint group names will be considered by this NPC." - hintlimiting(boolean) : "Hint Limit Nav" : 0 : "Limits NPC to using specified hint group for navigation requests, but does not limit local navigation." - - spawnflags(Flags) = - [ - 1 : "Wait Till Seen" : 0 - 2 : "Gag (No IDLE sounds until angry)" : 0 - 4 : "Fall to ground (unchecked means *teleport* to ground)" : 1 - 8 : "Drop Healthkit" : 0 - 16 : "Efficient - Don't acquire enemies or avoid obstacles" : 0 - 128: "Wait For Script" : 0 - 256: "Long Visibility/Shoot" : 0 - 512: "Fade Corpse" : 1 - 1024: "Think outside PVS" : 0 - 2048: "Template NPC (used by npc_maker, will not spawn)" : 0 - 4096: "Do Alternate collision for this NPC (player avoidance)" : 0 - 8192: "Don't drop weapons" : 0 - 16384 : "Ignore player push (dont give way to player)" : 0 - ] - - //initialidle(string) : "Initial Idle Activity" :: "Activity the NPC should use to idle until becomes alert" - sleepstate(choices) : "Sleep State" : 0 : "Holds the NPC in stasis until specified condition. See also 'Wake Radius' and 'Wake Squad'." = - [ - 0 : "None" - 1 : "Waiting for threat" - 2 : "Waiting for PVS" - 3 : "Waiting for input, ignore PVS" - 4 : "Auto PVS" - 5 : "Auto PVS after PVS" - ] - - wakeradius(float) : "Wake Radius" : 0 : "Auto-wake if player within this distance" - wakesquad(boolean) : "Wake Squad" : 0 : "Wake all of the NPCs squadmates if the NPC is woken" - - enemyfilter(target_destination) : "Enemy Filter" : "" : "Filter by which to filter potential enemies" - - ignoreunseenenemies(boolean) : "Ignore unseen enemies" : 0 : "Prefer visible enemies, regardless of distance or relationship priority" - - physdamagescale(float) : "Physics Impact Damage Scale" : "1.0" : "Scales damage energy when this character is hit by a physics object. With a value of 0 the NPC will take no damage from physics." - - // Outputs - output OnDamaged(void) : "Fired when this NPC takes damage." - output OnDeath(void) : "Fired when this NPC is killed." - output OnHalfHealth(void) : "Fired when this NPC reaches half of its maximum health." - output OnHearWorld(void) : "Fired when this NPC hears a sound (other than combat or the player)." - output OnHearPlayer(void) : "Fired when this NPC hears the player." - output OnHearCombat(void) : "Fired when this NPC hears combat sounds." - output OnFoundEnemy(string) : "Fired when this NPC establishes line of sight to its enemy (outputs entity)." - output OnLostEnemyLOS(void) : "Fired when this NPC loses line of sight to its enemy." - output OnLostEnemy(void) : "Fired when this NPC loses its enemy. Usually due to the enemy being killed/removed, or because this NPC has selected a newer, more dangerous enemy." - output OnFoundPlayer(string) : "Fired when this NPC establishes line of sight to its enemy, and that enemy is a player (outputs player entity)." - output OnLostPlayerLOS(void) : "Fired when this NPC loses line of sight to its enemy, and that enemy is a player." - output OnLostPlayer(void) : "Fired when this NPC loses its enemy, and that enemy was a player. Usually due to the enemy being killed/removed, or because this NPC has selected a newer, more dangerous enemy." - output OnDamagedByPlayer(void) : "Fired when this NPC is hurt by a player." - output OnDamagedByPlayerSquad(void) : "Fired when this NPC is hurt by a player OR by one of the player's squadmates." - output OnDenyCommanderUse(void) : "Fired when this NPC has refused to join the player's squad." - output OnSleep(void) : "Fired when this NPC enters a sleep state." - output OnWake(void) : "Fired when this NPC comes out of a sleep state." - output OnForcedInteractionStarted(void) : "Fired when the NPC starts a forced interaction." - output OnForcedInteractionAborted(void) : "Fired when the NPC aborts a forced interaction for some reason (target NPC died, couldn't be pathed to, etc)" - output OnForcedInteractionFinished(void) : "NPCs in actbusies can no longer perform dynamic interactions." - - // Inputs - input SetRelationship(string) : "Changes this entity's relationship with another entity or class. Format: " - input SetEnemyFilter(target_destination) : "Changes this NPC's enemy filter to the named filter." - input SetHealth(integer) : "Set this NPC's health." - input physdamagescale(float) : "Sets the value that scales damage energy when this character is hit by a physics object. NOTE: 0 means this feature is disabled for backwards compatibility." - input Ignite(void) : "Ignite, burst into flames" - input IgniteLifetime(float) : "Ignite, with a parameter lifetime." - input IgniteNumHitboxFires(integer) : "Ignite, with a parameter number of hitbox fires." - input IgniteHitboxFireScale(float) : "Ignite, with a parameter hitbox fire scale." - input Break(void) : "Break, smash into pieces" - input StartScripting(void) : "Enter scripting state. In this state, NPCs ignore a variety of stimulus that would make them break out of their scripts: They ignore danger sounds, ignore +USE, don't idle speak or respond to other NPC's idle speech, and so on." - input StopScripting(void) : "Exit scripting state." - input SetSquad(string) : "Set the name of this NPC's squad. It will be removed from any existing squad automatically. Leaving the parameter blank will remove the NPC from any existing squad." - input Wake(void) : "Wakes up the NPC if it is sleeping." - input ForgetEntity(target_destination) : "Clears out the NPC's knowledge of a named entity." - input GagEnable(void) : "Turn on the NPC Gag flag. NPC won't speak outside of choreographed scenes." - input GagDisable(void) : "Turn off the NPC Gag flag." - input IgnoreDangerSounds(float) : "Ignore danger sounds for the specified number of seconds." - input HolsterWeapon(void) : "Force the NPC to holster their weapon. Ignored if the NPC is scripting, if the NPC's weapon is already holstered, or if the NPC doesn't use weapons." - input HolsterAndDestroyWeapon(void) : "Identical to HolsterWeapon, except the weapon is destroyed once it has been holstered and concealed." - input UnholsterWeapon(void) : "Force the NPC to draw their weapon. Ignored if the NPC is scripting, if the NPC's weapon is already drawn, or if the NPC doesn't use weapons." - input ForceInteractionWithNPC(string) : "Force the NPC to use a dynamic interaction with another NPC. Parameter format: " - input UpdateEnemyMemory(string) : "Update (or Create) this NPC's memory of an enemy and its location" - input BecomeRagdoll(void) : "This NPC will instantly become a ragdoll with ZERO force (just go limp). OnDeath, OnHalfHealth, etc. Outputs will **NOT** BE FIRED." -] - -@BaseClass base(BaseLogicalNPC, RenderFields, DamageFilter, ResponseContext, Shadow, ToggleDraw) color(0 200 200) = BaseNPC -[ - target(target_destination) : "Target Path Corner" : : "If set, the name of a path corner entity that this NPC will walk to, after spawning." - input SetBodyGroup(integer) : "HACK: Sets this NPC's body group (from 0 - n). You'd better know what you are doing!" -] - -@PointClass base(Targetname, Parentname, Angles) iconsprite("editor/info_target.vmt") = info_npc_spawn_destination : - "NPC Spawn Destination. (Consult npc_template_maker help for more info)" -[ - ReuseDelay(float) : "Reuse Delay" : 1 : "After an NPC is spawned at this destination, the delay before this destination is eligible for selection again." - RenameNPC(target_source) : "New NPC Name" : "" : "If an NPC spawns at this destination, change that NPC's targetname to this." - - // Outputs - output OnSpawnNPC(void) : "Fired when an NPC spawns at this destination." -] - -@BaseClass base(Targetname, Angles, EnableDisable) iconsprite("editor/npc_maker.vmt") color(0 0 255) = BaseNPCMaker -[ - StartDisabled(boolean) : "Start Disabled" : 1 - - spawnflags(Flags) = - [ - // Only in npc__maker, npc_template_maker uses flag from template NPC - 16 : "Fade Corpse" : 0 - 32 : "Infinite Children" : 0 - 64 : "Do Not Drop" : 0 - 128 : "Don't Spawn While Visible" : 0 - ] - - MaxNPCCount(integer) : "Num. of NPCs" : 1 : "Number of NPCs that will spawn before this spawner is exhausted." - SpawnFrequency(string) : "Frequency" : "5" : "How often (in seconds) a new NPC will be spawned. If set to -1, a new NPC will be made when the last NPC dies." - MaxLiveChildren(integer) : "Max Live NPCs" : 5 : "Maximum number of live children allowed at any one time (new ones will not be made until one dies). If set to -1, no limit is applied." - HullCheckMode(Choices) : "Hull Check Mode" : 0 : "How NPC's hull should be checked at spawn destination?" = - [ - 0 : "Default" - 1 : "No hull check" - ] - - // Outputs - output OnSpawnNPC(string) : "Fired when an NPC is spawned. The activator is the NPC, and the string is the name of the NPC." - output OnAllSpawned(void) : "Fired when the spawned is exhausted (all children have been spawned)." - output OnAllSpawnedDead(void) : "Fired when the spawner is exhausted (all children have been spawned) and all spawned children have died." - output OnAllLiveChildrenDead(void) : "Fired when all spawned children have died. This does not mean the spawned is exhausted, so a new child may be spawned any time after this (unless the maker is disabled)." - - // Inputs - input Spawn(void) : "Spawns an NPC." - input Toggle(void) : "Toggles the spawner enabled/disabled state." - input Enable(void) : "Enables the spawner." - input Disable(void) : "Disables the spawner." - input AddMaxChildren(integer) : "Adds to the number of NPCs that can spawn before the spawner is exhausted. If an exhausted spawner is given some children to spawn, it still wont begin spawning until it is re-enabled with the Enable input." - input SetMaxChildren(integer) : "Sets the number of NPCs that can spawn before the spawner is exhausted. If an exhausted spawner is given some children to spawn, it still won't begin spawning until it is re-enabled with the Enable input." - input SetMaxLiveChildren(integer) : "Sets the maximum number of NPCs that can be alive at any one time from this spawner." - input SetSpawnFrequency(float) : "Sets how often (in seconds) a new NPC will be spawned." -] - -@PointClass base(BaseNPCMaker) iconsprite("editor/npc_maker.vmt") line(255 255 0, targetname, templatename) sphere(radius) line(255 255 0, targetname, destinationgroup) = npc_template_maker : - "An entity that creates NPCs. The NPCs it creates are clones of a template NPC. NPCs are spawned around this maker's origin, or at specified destination points." -[ - spawnflags(Flags) = - [ - 256 : "Always use radius spawn" : 0 - 512 : "Don't preload template models" : 0 - ] - - TemplateName(target_destination) : "Name of template NPC" : "" : "Template NPC that this maker should be creating clones of." - - Radius(float) : "Radius" : 256 : "Radius around this maker within which NPCs are to be placed. Spawned NPCs will try and find empty space within this radius to spawn." - - DestinationGroup(target_destination) : "Name of Destination Group" : : "If you'd like spawned NPCs to be created at an info_npc_spawn_destination entity, enter the name of that entity here. If you have more than one destination entity by that name, the Destination Criteria will be used to select one from the group." - CriterionVisibility(Choices) : "Dest. Criterion: Visible to player?" : 2 : "Should the NPC try to spawn at a destination that the player can see? Only applicable if a Destination Group is being used." = - [ - 0 : "Yes" - 1 : "No" - 2 : "Don't Care" - ] - CriterionDistance(Choices) : "Dest. Criterion: Distance to player?" : 2 : "Should the NPC try to spawn nearest to or farthest from the player's current location? Only applicable if a Destination Group is being used." = - [ - 0 : "Nearest" - 1 : "Farthest" - 2 : "Don't Care" - ] - - MinSpawnDistance(integer) : "Minimum spawn distance from player" : 0 : "The spawn destination node distance to the player will have to be further or equal than this value." - - //Inputs - input SpawnNPCInRadius(void) : "Spawn an NPC somewhere within the maker's radius." - input SpawnNPCInLine(void) : "Spawn an NPC somewhere within a line behind the maker." - input SpawnMultiple(integer) : "Spawn multiple NPCs (uses destination group, else radius)." - input ChangeDestinationGroup(string) : "Switch to a different set of Destination entities." - input SetMinimumSpawnDistance(integer) : "Set the minimum spawn distance from player to destination node." -] - -@BaseClass base( BaseNPC ) = BaseHelicopter -[ - InitialSpeed(string) : "Initial Speed" : "0" : "Sets the helicopter's desired speed that it should try to reach as soon as it's spawned." - target(target_destination) : "Target path_track" : : "(Optional) The name of a path_track entity that this NPC will fly to after spawning." - - // Inputs - input MoveTopSpeed(void) : "The helicopter will immediately move at top speed toward its current goal, or in its current orientation if it's on top of its goal." - input MoveSpecifiedSpeed(float): "The helicopter will immediately move at the specified speed (you provide this as parameter override in units per second) towards its current goal." - input SetMaxSpeed(float): "Change the helicopter's max speed." - input ChangePathCorner(target_destination) : "Tell the helicopter to move to a path corner on a new path." - input SelfDestruct(void) : "Self Destruct." - input Activate(void) : "Activate. Use to wake up a helicopter that spawned with the 'Await Input' spawnflag on." - input SetTrack(target_destination) : "Set a track for the helicopter to adhere to. The helicopter will do nothing if he's on the same path, and will move to the closest point on the specified track if he's on a different path." - input FlyToSpecificTrackViaPath(target_destination) : "The helicopter will first fly to the closest point on the path if he's on a different path. Then he'll fly along the path to the specified track point." - input StartPatrol(void) : "Start patrolling back and forth along the current track." - input StopPatrol(void) : "Stop patrolling back and forth along the track. This will cause the helicopter to come to rest at the track which he's currently flying toward." - input ChooseFarthestPathPoint(void) : "When tracking an enemy, choose the point on the path furthest from the enemy, but still in firing range." - input ChooseNearestPathPoint(void) : "When tracking an enemy, choose the point on the path nearest from the enemy." - input StartBreakableMovement(void) : "The helicopter is now allowed to disobey direct commands to go to particular points if he senses an enemy. He will move to the closest point (or farthest point, if ChooseFarthestPathPoint is used), on the path if he senses an enemy." - input StopBreakableMovement(void) : "The helicopter can not disobey direct commands. He will continue to fly along his patrol path or to his specified target even if he senses an enemy." - - spawnflags(Flags) = - [ - // AWAIT INPUT will make the helicopter spawn disabled, awaiting - // the "Activate" input to start acting. - 32 : "No Rotorwash" : 0 - 64 : "Await Input" : 0 - ] -] - -@BaseClass color(0 255 0) = PlayerClass -[ -] - -@BaseClass color(180 10 180) = Light -[ - _light(color255) : "Brightness" : "255 255 255 200" - _lightHDR(color255) : "BrightnessHDR" : "-1 -1 -1 1" - _lightscaleHDR(float) : "BrightnessScaleHDR" : "1" : "Amount to scale the light by when compiling for HDR." - style(Choices) : "Appearance" : 0 = - [ - 0 : "Normal" - 10: "Fluorescent flicker" - 2 : "Slow, strong pulse" - 11: "Slow pulse, noblack" - 5 : "Gentle pulse" - 1 : "Flicker A" - 6 : "Flicker B" - 3 : "Candle A" - 7 : "Candle B" - 8 : "Candle C" - 4 : "Fast strobe" - 9 : "Slow strobe" - ] - pattern(string) : "Custom Appearance" : "" : "Set a custom pattern of light brightness for this light. Pattern format is a string of characters, where 'a' is total darkness, 'z' fully bright. i.e. 'aaggnnttzz' would be a steppy fade in from dark to light." - _constant_attn(string) : "Constant" : "0" - _linear_attn(string) : "Linear" : "0" - _quadratic_attn(string) : "Quadratic" : "1" - _fifty_percent_distance(string) : "50 percent falloff distance" : "0": "Distance at which brightness should fall off to 50%. If set, overrides linear constant and quadratic paramaters." - _zero_percent_distance(string) : "0 percent falloff distance" : "0": "Distance at which brightness should fall off to negligible (1/256)%. Must set _fifty_percent_distance to use." - _hardfalloff(integer) : "hard falloff" : 0 : "If set, causes lights to fall to exactly zero beyond the zero percent distance. May cause unrealistic lightijng if not used carefully." - // Inputs - input TurnOn(void) : "Turn the light on." - input TurnOff(void) : "The the light off." - input Toggle(void) : "Toggle the light's current state." - input SetPattern(string) : "Set a custom pattern of light brightness for this light. Pattern format is a string of characters, where 'a' is total darkness, 'z' fully bright. i.e. 'aaggnnttzz' would be a steppy fade in from dark to light." - input FadeToPattern(string) : "Fades from first value in old pattern, to first value in the new given pattern. Pattern format is a string of characters, where 'a' is total darkness, 'z' fully bright. i.e. 'aaggnnttzz' would be a steppy fade in from dark to light." -] - -@BaseClass = Node -[ - nodeid(node_id) readonly : "Node ID" -] - -@BaseClass base(Node) = HintNode -[ - spawnflags(flags) = - [ - 65536: "Allow jump up" : 0 - ] - - hinttype(choices) : "Hint" : 0 = - [ - 0 : "None" - - 17: "Generic" - - 2: "World: Window" - 12: "World: Act Busy Hint" - 13: "World: Visually Interesting" - 14: "World: Visually Interesting (Don't aim at)" - 15: "World: Inhibit Combine Mines within 15 feet" - 16: "World: Visually Interesting (Stealth mode)" - - 100: "Tactical: Crouch Cover Medium" - 101: "Tactical: Crouch Cover Low" -// 102: "Waste Scanner Spawn" - 103: "Tactical: Entrance / Exit Pinch" -// 104: "Guard Point" - 105: "Tactical: Enemy Disadvantage Point" -// 106: "Health Kit" - 107: "Tactical: High Ground" - - 400: "Antlion: Burrow Point" - 401: "Antlion: Thumper Flee Point" - - 450: "Headcrab: Burrow Point" - 451: "Headcrab: Exit Pod Point" - - 500: "Roller: Patrol Point" - 501: "Roller: Cleanup Spot" - - 700: "Crow: Fly to point" - 701: "Crow: Perch point" - - 900: "Follower: Wait point" - 901: "Override jump permission" - 902: "Player squad transition point" - 903: "NPC exit point" - 904: "Strider node" - - 950: "Player Ally: Push away destination" - 951: "PLayer Ally: Fear withdrawal destination" - - 1000: "HL1 World: Machinery" - 1001: "HL1 World: Blinking Light" - 1002: "HL1 World: Human Blood" - 1003: "HL1 World: Alien Blood" - -// 1100: "CS Hostage: Escape Point" - ] - - generictype(string) : "Generic Hint" : "" : "String identifying what the hint type is, if generic." - - hintactivity(string) : "Hint Activity" : "" : "Activity associated with this hint node. Various parts of the NPC AI play this activity at times. i.e. Actbusy nodes will play this activity when an NPC acts busy on the node." - - nodeFOV(choices) : "Node FOV" : 180 : "Imagine this node requires that an NPC be in the node's field of view in order to use this hint." = - [ - 45 : "45 Degrees" - 90 : "90 Degrees" - 180 : "180 Degrees" - 360 : "360 Degrees" - ] - - // Does not inherit from EnableDisable, as node itself will - // use that. This is enabling/disabling of the hint only - StartHintDisabled(boolean) : "Start Hint Disabled" : 0 - - Group(string) : "Hint Group" : "" : "If specified, gives the hint a specific group name. Useful for hint nodes that need to be logically grouped together. NPCs may also refuse to use hint nodes that don't match their hint group." - - TargetNode(node_dest) : "Target node" : -1 : "The node ID of an associated target node, if any." - - radius(integer) : "Radius" : 0 : "How close an NPC must be to consider this hint. 0 means infinite." - IgnoreFacing(choices) : "Ignore Facing" : 2 : "Don't pay attention to the facing of the node. May not apply to a given hint type." = - [ - 0 : "No" - 1 : "Yes" - 2 : "Default" - ] - - MinimumState(choices) : "Minimum State" : 1 : "Require an NPC have a minimum state to use the hint." = - [ - 1 : "Idle" - 2 : "Alert" - 3 : "Combat" - ] - - MaximumState(choices) : "Maximum State" : 3 : "Require an NPC have a maximum state to use the hint." = - [ - 1 : "Idle" - 2 : "Alert" - 3 : "Combat" - ] - - // Inputs - input EnableHint(void) : "Enable hint." - input DisableHint(void) : "Disable hint." -] - -@BaseClass base(Targetname, Parentname, Origin, EnableDisable, Global) line(255 255 255, targetname, filtername) = TriggerOnce -[ - spawnflags(flags) = - [ - 1: "Clients" : 1 - 2: "NPCs" : 0 - //4: "Pushables": 0 func_pushable - not in P2 - 8: "Physics Objects" : 0 - 16: "Only player ally NPCs" : 0 - 32: "Only clients in vehicles" : 0 - 64: "Everything (not including physics debris)" : 0 - 512: "Only clients *not* in vehicles" : 0 - 1024: "Physics debris" : 0 - 2048: "Only NPCs in vehicles (respects player ally flag)" : 0 - 4096: "Correctly account for object mass (trigger_push used to assume 100Kg) and multiple component physobjs (car, blob...)" : 1 - ] - - filtername(filterclass) : "Filter Name" : : "Filter to use to see if activator triggers me. See filter_activator_name for more explanation." - - // Inputs - input Toggle(void) : "Toggles this trigger between enabled and disabled states." - - // Outputs - output OnStartTouch(void) : "Fired when an entity starts touching this trigger. The touching entity must pass this trigger's filters to cause this output to fire." -] - -@BaseClass base(Targetname, Parentname, Origin, EnableDisable, TriggerOnce) line(255 255 255, targetname, filtername) = Trigger -[ - output OnStartTouchAll(void) : "Fired when an entity starts touching this trigger, and no other entities are touching it. Only entities that passed this trigger's filters are considered." - output OnEndTouch(void) : "Fired when an entity stops touching this trigger. Only entities that passed this trigger's filters will cause this output to fire." - output OnEndTouchAll(void) : "Fires when an entity stops touching this trigger, and no other entities are touching it. Only entities that passed this trigger's filters are considered." -] - - -//------------------------------------------------------------------------- -// -// World -// -//------------------------------------------------------------------------- - -@PointClass base(Targetname) iconsprite("editor/ambient_generic.vmt") line(255 255 0, targetname, sourceEntityName) sphere(radius) = ambient_generic : "Universal ambient sound. Use it to play and control a single sound." -[ - message(sound) report : "Sound Name" : "" : "Name of the GameSound entry for the sound to play. Also supports direct .wav filenames." - scenefile(scene) : "[H] Choreo" : "" : "Use to allow keeping the sound name when switching between ambient_generic and logic_choreographed_scene." - radius(string) : "Sound Range" : "1250" : "Maximum distance at which this sound is audible." - SourceEntityName(target_destination) : "Source Entity" : : "If an entity is specified, sound will come from this named entity instead of the location of ambient_generic." - health(integer) : "Volume" : 10 : "Sound volume, expressed as a range from 0 to 10, where 10 is the loudest." - pitch(integer) : "Pitch" : 100 : "Sound pitch, expressed as a range from 1(low) to 255(high), where 100 is the sound's default pitch." - preset(choices) :"Dynamic Presets" : 0 : "If used, overrides many of the below properties (+pitch) to preset values." = - [ - 0: "None" - 1: "Huge Machine" - 2: "Big Machine" - 3: "Machine" - 4: "Slow Fade in" - 5: "Fade in" - 6: "Quick Fade in" - 7: "Slow Pulse" - 8: "Pulse" - 9: "Quick pulse" - 10: "Slow Oscillator" - 11: "Oscillator" - 12: "Quick Oscillator" - 13: "Grunge pitch" - 14: "Very low pitch" - 15: "Low pitch" - 16: "High pitch" - 17: "Very high pitch" - 18: "Screaming pitch" - 19: "Oscillate spinup/down" - 20: "Pulse spinup/down" - 21: "Random pitch" - 22: "Random pitch fast" - 23: "Incremental Spinup" - 24: "Alien" - 25: "Bizzare" - 26: "Planet X" - 27: "Haunted" - ] - null(string) readonly : "-----------------------" : "" : "More complex values below." - volstart(integer) : "Transition Volume" : 0 : "The Volume to start/end with. Use with Fade In and Out times." - fadeinsecs(integer) : "Volume Transition Time - Start (0-100)" : 0: "Time in seconds for the sound to transition from the Transition Volume to the set volume as it starts playing." - fadeoutsecs(integer) : "Volume Transition Time - Stop (0-100)" : 0 : "Time in seconds for the sound to transition from the set volume to the Transition Volume as it stops playing." - pitchstart(integer) : "Transition Pitch" : 100 : "Pitch to start with/end. Use with Spin Up and Spin Down." - spinup(integer) : "Pitch Transition Time - Start (0-100)" : 0 : "The time taken to change from the Transition Pitch to the final Pitch while the sound starts playing. Simulates the noise powering-up when an object is activated." - spindown(integer) : "Pitch Transition Time - Stop (0-100)" : 0 : "The time taken to transition from the Pitch to the Transition pitch while the sound stops playing. Simulates the noise fading out as the object shuts down." - lfotype(choices) : "LFO type" : 0 : "The kind of Low Frequency Oscillation to apply to the sound. Allows subtle modification to the sound. Square waves instantly switch between the high and low values, whereas Triangle Waves gradually switch between the two." = - [ - 0 : "None" - 1 : "Square Wave" - 2 : "Triangle Wave" - 3 : "Random" - ] - lforate(integer) : "LFO rate (0-1000)" : 0 : "How often the LFO repeats itself" - lfomodpitch(integer) : "LFO Effect On Pitch (0-100)" : 0 : "The amount the LFO affects the pitch." - lfomodvol(integer) : "LFO Effect On Volume (0-100)" : 0 : "The amount the LFO affects the volume." - cspinup(integer) : "Incremental Spinup Count" : 0 : "Appears broken." - spawnflags(flags) = - [ - 1: "Infinite Range" : 0 - 16: "Start Silent" : 1 - 32: "Is NOT Looped" : 1 - ] - - // Inputs - input Pitch(integer) : "Sets the sound pitch, expressed as a range from 1 to 255, where 100 is the sound's default pitch." - input PlaySound(void) : "Starts the sound or restart from beginning." - input StopSound(void) : "Stops the sound if it is playing. Only works properly if the looped flag is checked." - input ToggleSound(void) : "Toggles the sound between playing and stopping." - input Volume(integer) : "Sets the sound volume, expressed as a range from 0 to 10, where 10 is the loudest." - input FadeIn(integer) : "Fades the sound up to full volume over a specified number of seconds, with a range from 0 to 100 seconds." - input FadeOut(integer) : "Fades the sound to silence over a specified number of seconds, with a range from 0 to 100 seconds." -] - -@SolidClass base(Targetname) sphere(DisappearDist) = func_lod : - "Brush-built model that fades out over a specified distance. Useful for creating world detail that doesn't need to be drawn far away, for performance reasons." -[ - DisappearDist(integer) : "Disappear Distance" : 2000 : "Distance at which these brushes should fade out." - Solid(choices) : "Solid" : 0 : "Set whether or not these brushes should collide with other entities." = - [ - 0: "Solid" - 1: "Nonsolid" - ] -] - -@PointClass base(Targetname) color(200 0 0) = env_zoom : - "An entity that can be used to control the player's FOV. Useful for scenes where the player's view is being controlled, or player-usable binoculars/telescopes, etc." -[ - Rate(float) : "Seconds to reach target" : "1.0" : "Amount of time it should take to reach the specified FOV." - FOV(integer) : "Target FOV" : 75 : "FOV that this entity should set the player's FOV to when active." - - // Inputs - input Zoom(void) : "Start controlling the player's FOV." - input UnZoom(void) : "Stop controlling the player's FOV." - - spawnflags(flags) = - [ - 1: "Allow Suit Zoom" : 0 - ] -] - -@PointClass base(Targetname) color(200 0 0) = env_screenoverlay: - "An entity that can display and control a set of screen overlays, to be displayed over the player's view. Useful for view effects like drunkenness, or teleporter afterimages, etc." -[ - OverlayName1(material) : "Overlay Name 1" : "" : "Name of the first overlay material to display." - OverlayTime1(float) : "Overlay Duration 1" : "1.0" : "Amount of time that the first overlay should be displayed for, after which it will begin showing the second overlay." - OverlayName2(material) : "Overlay Name 2" : "" : "Name of the second overlay material to display. If left blank, overlay displaying will finish, and this entity will consider itself done." - OverlayTime2(float) : "Overlay Duration 2" : "1.0" : "Amount of time that the second overlay should be displayed for, after which it will begin showing the third overlay." - OverlayName3(material) : "Overlay Name 3" : "" : "Name of the third overlay material to display. If left blank, overlay displaying will finish, and this entity will consider itself done." - OverlayTime3(float) : "Overlay Duration 3" : "1.0" : "Amount of time that the third overlay should be displayed for, after which it will begin showing the fourth overlay." - OverlayName4(material) : "Overlay Name 4" : "" : "Name of the fourth overlay material to display. If left blank, overlay displaying will finish, and this entity will consider itself done." - OverlayTime4(float) : "Overlay Duration 4" : "1.0" : "Amount of time that the fourth overlay should be displayed for, after which it will begin showing the fifth overlay." - OverlayName5(material) : "Overlay Name 5" : "" : "Name of the fifth overlay material to display. If left blank, overlay displaying will finish, and this entity will consider itself done." - OverlayTime5(float) : "Overlay Duration 5" : "1.0" : "Amount of time that the fifth overlay should be displayed for, after which it will begin showing the sixth overlay." - OverlayName6(string) : "Overlay Name 6" : "" : "Name of the sixth overlay material to display. If left blank, overlay displaying will finish, and this entity will consider itself done." - OverlayTime6(material) : "Overlay Duration 6" : "1.0" : "Amount of time that the sixth overlay should be displayed for, after which it will begin showing the seventh overlay." - OverlayName7(material) : "Overlay Name 7" : "" : "Name of the seventh overlay material to display. If left blank, overlay displaying will finish, and this entity will consider itself done." - OverlayTime7(float) : "Overlay Duration 7" : "1.0" : "Amount of time that the seventh overlay should be displayed for, after which it will begin showing the eighth overlay." - OverlayName8(material) : "Overlay Name 8" : "" : "Name of the eighth overlay material to display. If left blank, overlay displaying will finish, and this entity will consider itself done." - OverlayTime8(float) : "Overlay Duration 8" : "1.0" : "Amount of time that the eighth overlay should be displayed for, after which it will begin showing the ninth overlay." - OverlayName9(material) : "Overlay Name 9" : "" : "Name of the ninth overlay material to display. If left blank, overlay displaying will finish, and this entity will consider itself done." - OverlayTime9(float) : "Overlay Duration 9" : "1.0" : "Amount of time that the ninth overlay should be displayed for, after which it will begin showing the tenth overlay." - OverlayName10(material) : "Overlay Name 10" : "" : "Name of the tenth overlay material to display. If left blank, overlay displaying will finish, and this entity will consider itself done." - OverlayTime10(float) : "Overlay Duration 10" : "1.0" : "Amount of time that the tenth overlay should be displayed for, after which this entity will stop displaying overlays." - - // Inputs - input StartOverlays(void) : "Start displaying the first overlay." - input StopOverlays(void) : "Stop displaying any overlays." - input SwitchOverlay(float) : "Switch to displaying a specific overlay. Pass in the desired overlay number in the parameter." -] - -@PointClass base(Targetname) color(200 0 0) = env_screeneffect : - "Allows screenspace effects to be played on the player's view." -[ - type(choices) : "Effect Type" : 0 : "Which effect to use." = - [ - 0 : "Advisor Stun" - 1 : "Intro Blur" - 2 : "Groggy Vision" - ] - - // Inputs - input StartEffect(float) : "Start the effect with the duration in seconds as the passed parameter." - input StopEffect(float) : "Stop the effect." -] - -@PointClass base(Targetname) iconsprite("editor/env_texturetoggle.vmt") line(255 255 0, targetname, target) = env_texturetoggle : - "An entity that allows you to change the textures on other brush-built entities, or on overlays." -[ - target(target_destination) : "Target Brush or Overlay name." - - // Inputs - input IncrementTextureIndex(void) : "Increments target brush's current texture frame by one." - input SetTextureIndex(integer) : "Sets target brush's texture frame to the specified index." -] - -@PointClass base(Targetname, Angles) color(200 200 0) studio("models/editor/angle_helper.mdl") = env_splash : - "An entity that creates a splash effect at its origin. If the 'find water surface' spawnflag is set, it will instead trace down below itself to find the water surface on which to create splashes." -[ - scale(float) : "Scale of the splash" : "8.0" - - // Inputs - input Splash(void) : "Create a splash effect." - - spawnflags(flags) = - [ - 1: "Automatically find water surface (place entity above water)" : 0 - 2: "Diminish with depth (diminished completely in 10 feet of water)" : 1 - ] -] - -@PointClass base(Parentname) color(200 200 0) iconsprite("editor/light.vmt") color(180 10 180) = env_particlelight : - "An entity that can be used to light the smoke particles emitted by env_smokestack entities. Does not light any other particle types." -[ - Color(color255) : "Color" : "255 0 0" : "Color emitted by this light." - Intensity(integer) : "Intensity" : 5000 - - directional(boolean) : "Directional" : 0 : "If this is specified, then this light will use the bump map on the particles. Each particle system can have one ambient and one directional light." - - PSName(target_destination) : "Particle System Entity" : "" : "Set this to the name of the env_smokestack that you want this light to affect." -] - -@PointClass base(Targetname, Angles) color(200 0 0) iconsprite("editor/env_sun.vmt") line(255 255 0, targetname, target) = env_sun : - "An entity to control & draw a sun effect in the sky." -[ - target(target_destination) : "Viewer entity" : : "Name of an entity used to determine where the sun is in the skybox. The sun should be lined up on a line from this entity to the env_sun entity." - - use_angles(boolean) : "UseAngles" : 0 : "The old way to orient env_sun is to point it at a target. The new way is to specify the angles. If you use the new way, set this property to YES." - - pitch(integer) : "Pitch" : 0 - - rendercolor(color255) : "Sun Color (R G B)" : "100 80 80" - overlaycolor(color255) : "Overlay Color (R G B)" : "0 0 0" : "A value of 0 0 0 will act the old way." - - size(integer) : "Size" : 16 - overlaysize(integer) : "Overlay Size" : -1 : "A value of -1 means the overlay will act the old way." - - material(sprite) : "Material Name" : "sprites/light_glow02_add_noz" : "Material of the inner glow." - overlaymaterial(sprite) : "Overlay Material Name" : "sprites/light_glow02_add_noz" : "Material of the overlay glow." - - HDRColorScale(float) : "HDR color scale." : "1.0" : "float value to multiply sprite color by when running in HDR mode." - - // Inputs - input TurnOn(void) : "Enable sun rendering." - input TurnOff(void) : "Disable sun rendering." - input SetColor(color255) : "Change the sun's color. Format: " -] - -@PointClass base(Targetname) color(200 0 0) = game_ragdoll_manager : - "An entity to control the number of ragdolls in the world, for performance reasons." -[ - MaxRagdollCount(integer) : "Max Ragdoll Count" : -1 : "Sets the max number of ragdolls that can be in the world at a time (if they are flagged to fade). Set to -1 if you want to use the default value (g_ragdoll_maxcount)." - MaxRagdollCountDX8(integer) : "Max Ragdoll Count DX8" : -1 : "Sets the max number of ragdolls that can be in the world at a time on DX8 hardware (if they are flagged to fade). Set to -1 if you want to use the 'Max Ragdoll Count' value." - - SaveImportant(boolean) : "Save Important Ragdolls" : 0 : "Should the ragdoll manager make sure ally ragdolls aren't deleted?" - - // Inputs - input SetMaxRagdollCount(integer) : "Set the Max Ragdoll Count." - input SetMaxRagdollCountDX8(integer) : "Set the Max Ragdoll Count on DX8 hardware." -] - -@PointClass base(Targetname) color(200 0 0) = game_gib_manager : "An entity to control the number of gibs in the world, for performance reasons." -[ - maxpieces(integer) : "Max Gib Count" : -1 : "Sets the max number of gib that can be spawned at a time. (-1=no limit)" - maxpiecesdx8(integer) : "Max Gib Count On DX8" : -1 : "Sets the max number of gib that can be spawned at a time under DX8. (-1=use Max Gib Count setting)" - allownewgibs(boolean) : "Allow New Gibs To Spawn" : 0 : "If true, when the max gib count is reached, oldest gibs are removed as new gibs spawn. If false, new gibs will not be spawned once the gib limit is reached." - - input SetMaxPieces(integer) : "Set the max gib count." - input SetMaxPiecesDX8(integer) : "Set the max gib count under DX8." -] - -@PointClass base(Targetname) color(200 0 0) iconsprite("editor/env_dof_controller.vmt") line(255 255 0, targetname, focus_target) - sphere(near_blur) sphere(near_focus) sphere(far_blur) sphere(far_radius) - = env_dof_controller : - "An entity that controls the depth of field settings for the player. Depth of field simulates camera blur of out-of-focus regions of the scene." -[ - enabled(boolean) : "Enabled" : 0 : "Whether the effect should be active" - - near_blur(float) : "Near blur depth" : 20 : "Distance that the blurriness is at its peak near the viewpoint." - near_focus(float) : "Near focus depth" : 100 : "Distance that the focus is in full effect near the viewpoint." - near_radius(float) : "Near blur radius" : 8 : "Radius (in pixels) to blur the surrounding pixels." - - far_blur(float) : "Far blur depth" : 1000 : "Distance where blurriness is at its peak far from the viewpoint." - far_focus(float) : "Far focus depth" : 500 : "Distance that the focus is in full effect far from the viewpoint." - far_radius(float) : "Far blur radius" : 8 : "Radius (in pixels) to blur the surrounding pixels." - focus_target(target_destination) : "Focus target" : "" : "Entity to use as a focal point." - focus_range(float) : "Focus target range" : "200" : "Distance behind the focal plane to remain in focus." - - // Inputs - input SetNearBlurDepth(float) : "Set the distance in front of the focus region at which the scene will be completely blurred using the near blur radius. Must be smaller than NearFocusDepth." - input SetNearFocusDepth(float) : "The area between the near focus and far focus distances is perfectly in focus. Must be smaller than FarFocusDepth." - input SetFarFocusDepth(float) : "The area between the near focus and far focus distances is perfectly in focus. Must be smaller than FarBlurDepth." - input SetFarBlurDepth(float) : "Set the distance beyond the focus region at which the scene will be completely blurred using the far blur radius. Must be larger than FarFocusDepth." - input SetNearBlurRadius(float) : "Set the blur radius (in pixels) to use at the near blur distance. Set to 0 to disable near blur." - input SetFarBlurRadius(float) : "Set the blur radius (in pixels) to use at the far blur distance. Set to 0 to disable far blur." - input SetFocusTarget(string) : "Set the focal target for the effect." - input SetFocusTargetRange(float) : "Set the distance behind the focal point that will remain in focus." -] - -@PointClass base(Parentname, Targetname, Angles) color(255 128 0) - studio("models/editor/axis_helper_thick.mdl") - color(200 200 0) iconsprite("editor/light.vmt") - sphere(minDist) sphere(maxDist) - sphere(outerMaxDist) sphere(GlowProxySize) = env_lightglow : - "An entity that puts an additive glow in the world, mostly used over light sources." -[ - rendercolor(color255) : "Color (R G B)" : "255 255 255" - VerticalGlowSize(integer) : "Vertical Size" : 30 - HorizontalGlowSize(integer) : "Horizontal Size" : 30 - MinDist(integer) : "Minimum Distance" : 500 : "The distance at which this effect will be fully translucent." - MaxDist(integer) : "Maximum Distance" : 2000 : "The distance at which this effect will be at full intensity." - OuterMaxDist(integer) : "Outer Maximum Distance" : 0 : "If larger than the maximum distance, this is the length at which the glow will fade completely out, between the span of the maximum distance and this length." - GlowProxySize(float) : "Glow Proxy Geometry Size" : "2.0" : "Size of the glow to be rendered for visibility testing. Must be larger than the distance from the sprite center to empty space. So if this glow is inside geometry (like a light bulb), set this value to be bigger than the bulb's radius. Any time a sphere of this radius would be visible (poking through any nearby geometry), the glow will be rendered." - HDRColorScale(float) : "HDR color scale." : "1.0" : "float value to multiply sprite color by when running in HDR mode." - - // Inputs - input Color(color255) : "Change the color of the glow. Format: " - - spawnflags(flags) = - [ - 1: "Visible only from front" : 0 - ] -] - -@PointClass base(Targetname, Parentname, Angles) color(200 200 0) iconsprite("editor/env_smokestack.vmt") sphere(jetlength) = env_smokestack : - "An entity that spits out a constant stream of smoke. See particlezoo.vmf for sample usage. You can place up to two env_particlelight entities near the smoke stack to add ambient light to its particles." -[ - InitialState(choices) : "Initial State" : 0 = - [ - 0 : "Off" - 1 : "On" - ] - - BaseSpread(integer) : "Spread at the base" : 20 : "Amount of random spread in the origins of the smoke particles when they're spawned." - SpreadSpeed(integer) : "Spread Speed" : 15 : "Amount of random spread in the velocity of the smoke particles after they're spawned." - Speed(integer) : "Speed" : 30 : "The speed at which the smoke particles move after they're spawned." - StartSize(integer) : "Particle start size" : 20 : "Size of the smoke particles when they're first emitted." - EndSize(integer) : "Particle end size" : 30 : "Size of the smoke particles at the point they fade out completely." - Rate(integer) : "Emission rate" : 20 : "Rate at which to emit smoke particles (i.e. particles to emit per second)." - JetLength(integer) : "Length of smoke trail" : 180 : "Length of the smokestack. Lifetime of the smoke particles is derived from this & particle speed." - WindAngle(integer) : "Wind X/Y Angle" : 0 : "This specifies the wind direction. It is an angle in the XY plane. WindSpeed specifies the strength of the wind." - WindSpeed(integer) : "Wind Speed" : 0 : "The strength of the wind." - SmokeMaterial(material) : "Particle material" : "particle/SmokeStack.vmt" : "Material of the smoke particles emitted by this stack." - twist(integer) : "Twist" : 0 : "The amount, in degrees per second, that the smoke particles twist around the origin." - roll(float) : "Roll Speed": 0 : "Amount of roll in degrees per second." - - rendercolor(color255) : "Base Color (R G B)" : "255 255 255" - - renderamt(integer) : "Translucency" : 255 - - // Inputs - input TurnOn(void) : "Turn on the smokestack." - input TurnOff(void) : "Turn off the smokestack." - input Toggle(void) : "Toggles the smokestack between on and off state." - input JetLength(integer): "Set the length of the smoke trail." - input Rate(integer) : "Set the rate at which to emit smoke particles (particles per second)." - input Speed(integer) : "Set the speed at which the smoke particles move after they're spawned." - input SpreadSpeed(integer) : "Set the amount of random spread in the velocity of the smoke particles after they're spawned." -] - -@PointClass base(Targetname) color(200 0 0) iconsprite("editor/env_fade") = env_fade : - "An entity that controls screen fades." -[ - spawnflags(flags) = - [ - 1: "Fade From" : 0 - 2: "Modulate" : 0 - 4: "Triggering player only" : 0 - 8: "Stay Out" : 0 - ] - duration(string) : "Duration (seconds)" : "2" : "The time that it will take to fade the screen in or out." - holdtime(string) : "Hold Fade (seconds)" : "0" : "The time to hold the faded in/out state." - renderamt(integer) : "Fade Alpha" : 255 : "Alpha of the fade, where 0 = fully transparent and 255 = fully opaque." - rendercolor(color255) : "Fade Color (R G B)" : "0 0 0" - ReverseFadeDuration(float) : "Reverse Fade Duration (seconds)" : "2" : "The duration of the reverse fade." - - // Inputs - input Fade(void) : "Start the screen fade." - input FadeReverse(void) : "Begin doing the reverse of the current fade." - - // Outputs - output OnBeginFade(void) : "Fired when the fade has begun." -] - -@PointClass base(Targetname) iconsprite("editor/env_player_surface_trigger.vmt") color(200 0 0) = env_player_surface_trigger : - "An entity that monitors the material of the surface the player is standing on, and fires outputs whenever it changes to/from a specific material." -[ - // These are ASCII char codes. - gamematerial(choices) : "Game Material to Watch" : 0 : "The material to watch. When the player stands on/off this material, this entity's outputs will be fired." = - [ - // Code disables detecting this value - 0 : "Nonfunctional (air)" - 67 : "C - Concrete" - 77 : "M - Metal" - 68 : "D - Dirt" - 86 : "V - Vent" - 71 : "G - Grate" - 84 : "T - Tile" - 83 : "S - Slosh" - 87 : "W - Wood" - 80 : "P - Computer" - 89 : "Y - Glass" - 70 : "F - Flesh" - 73 : "I - Clip" - 79 : "O - Foliage" - 78 : "N - Sand" - // Added these. - 65 : "A - Antlion" - 66 : "B - Bloody Flesh" - 69 : "E - Eggshell" - 72 : "H - Alien Flesh" - 75 : "K - Snow" - 76 : "L - Plastic" - 82 : "R - Reflective / Brick" - 88 : "X - Fake surfaces" - 90 : "Z - Warp Shield" - - 1: "1 - Clay" - 2: "2 - Plaster" - 3: "3 - Rock" - 4: "4 - Rubber" - 5: "5 - Sheet Rock" - 6: "6 - Cloth" - 7: "7 - Carpet" - 8: "8 - Paper" - 9: "9 - Upholstery" - 0: "0 - Puddle" - 11: "11 - Steam Pipe" - ] - - // Inputs - input Enable(void) : "Start watching the player's surface." - input Disable(void) : "Stop watching the player's surface." - - // Outputs - output OnSurfaceChangedToTarget(void) : "Fired when the player moves onto the specified game material." - output OnSurfaceChangedFromTarget(void) : "Fired when the player moves off the specified game material." -] - -@PointClass base(Targetname) color(200 0 0) iconsprite("editor/env_tonemap_controller.vmt") = env_tonemap_controller : - "An entity that controls the HDR tonemapping for the player. Think of it as a method of controlling the exposure of the player's eyes." -[ - spawnflags(flags) = - [ - 1 : "Master (Has priority if multiple env_tonemap_controllers exist)" : 0 - ] - - // Inputs - input SetTonemapScale(void) : "Set the player's tonemap scale. It should be a value between 0 and 2, where 0 is the eyes fully closed, 1 is use the unchanged autoexposure (default), and 2 is the eye fully wide open." - input BlendTonemapScale(string) : "Blend from the player's current tonemap scale to a new one. The parameter syntax is as follows: . For example: '0.5 10' would blend from the current tonemap scale to 0.5 over a period of 10 seconds. Tonemap scale is a value between 0 and 2, where 0 is the eyes fully closed, 1 is use the unchanged autoexposure (default), and 2 is the eye fully wide open." - input UseDefaultAutoExposure(void) : "Revert to using the default tonemap auto exposure." - input SetAutoExposureMin(float) : "Set a custom tonemap auto exposure minimum." - input SetAutoExposureMax(float) : "Set a custom tonemap auto exposure maximum." - input SetBloomScale(float) : "Set a custom bloom scale." - input SetTonemapRate(float) : "Set the rate for autoexposure adjustment." - - input SetBloomExponent(float): "Set a custom bloom exponent." - input SetBloomSaturation(float): "Set a custom bloom saturation." - - input SetTonemapPercentBrightPixels(float): "Set a target for percentage of pixels above a certain brightness." - input SetTonemapPercentTarget(float): "Set a custom brightness target for SetTonemapPercentBrightPixels." - input SetTonemapMinAvgLum(float): "Sets custom tonemapping param (ask Alex for details; default: 3)." -] - -@SolidClass base(Targetname) color(0 128 255) sphere(FadeStartDist) sphere(FadeDist) line(255 255 0, targetname, target) line(255 255 0, targetname, backgroundbmodel) = func_areaportalwindow : - "An entity that can be used to optimize the visibility in a map. If you seal off an area with them, when the viewer moves the specified distance away from them, they will go opaque and the parts inside the area will not be drawn. The window brush should enclose the func_areaportal window so no parts of it are culled by the window. If you use the optional foreground brush, then it should enclose the window brush. Both brush models will have their drawing disabled as the areaportal will render them itself." -[ - target(target_destination) : "Rendered Window" : : "The name of a brush model to render as the window." - FadeStartDist(integer) : "Fade Start Distance" : 128 : "When the viewer is closer than this distance, the alpha is set to 'TranslucencyLimit'." - FadeDist(integer) : "Fade End Distance" : 512 : "When the viewer is at this distance, the portal becomes solid and closes off." - TranslucencyLimit(string) : "Translucency limit" : "0.2" : "This value limits the translucency of the bmodel and prevents it from becoming invisible when the viewer is right on top of it." - BackgroundBModel(target_destination) : "Foreground Brush" : "" : "(Optional) brush model that is drawn after the fading brush model. This model should have alpha in its textures so you can see through it." - PortalVersion(integer) readonly : "Portal Version" : 1 : "(Don't change). Differentiates between shipping HL2 maps and maps using new engine features." - - // Inputs - input SetFadeStartDistance(integer) : "Set fade start distance." - input SetFadeEndDistance(integer) : "Set fade end distance." -] - -@SolidClass base(Targetname, RenderFields, Global, Shadow, compMinLight) = func_wall : - "Legacy support. Use func_brush instead." -[ -] - -@SolidClass base(Targetname, Parentname, Origin, EnableDisable) = func_clip_vphysics : - "A brush entity that's considered solid to vphysics." -[ - 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." -] - -@SolidClass base(Targetname, Parentname, Origin, RenderFields, Global, Inputfilter, EnableDisable, Shadow, Reflection, PaintableBrush, compMinLight) = func_brush : - "An brush built entity with various features." -[ - spawnflags(flags) = - [ - 2: "Ignore player +USE" : 1 - ] - - Solidity(choices) : "Solidity" : 0 : "How the solidity changes." = - [ - 0 : "Toggle with Enable/Disable" - 1 : "Never Solid" - 2 : "Always Solid" - ] - excludednpc(string) : "NPC class excluded from collisions" : "" : "If an NPC classname is specified here, NPCs of that type won't collide with these brushes. In Episodic, you may also specify an individual entity's name." - invert_exclusion(choices) : "Invert NPC class exclusion" : 0 : "If set, then the excluded NPC class will consider this brush solid, and all other NPC classes will consider it non-solid." = - [ - 0 : "No" - 1 : "Yes" - ] - - solidbsp(boolean) : "Solid BSP" : 0 : "Set this if this brush is in heirarchy with a moving object of some kind, and the player can stand on this brush." - - vrad_brush_cast_shadows(boolean) : "Shadows" : 0 : "Set this if this brush casts lightmap shadows." - - input Alpha(integer) : "Sets the brush's alpha value." - input SetExcluded( string ) : "Change the NPC class excluded from collisions" - input SetInvert( integer ) : "Set the state of invversion for NPC class exclusion (0 or 1)" -] - -//------------------------------------------------------------------------- -// -// A Vgui screen in 3D -// -//------------------------------------------------------------------------- -@PointClass base(Targetname, Parentname, Angles) color(200 200 0) studio("models/editor/vgui_arrows.mdl") sphere(width) sphere(height) = vgui_screen : - "A VGUI screen. Useful for in-world monitors." -[ - panelname(choices) : "Panel Name" : "" : "The type of display to show." = - [ - "sp_progress_sign" : "SP/Workshop Level Placard" - "mp_progress_sign" : "Coop Level Placard" - "mp_coop_credits_screen" : "Coop Credits Screen" - "mp_hub_screen_branch_1" : "Coop Hub: Branch 1" - "mp_hub_screen_branch_2" : "Coop Hub: Branch 2" - "mp_hub_screen_branch_3" : "Coop Hub: Branch 3 " - "mp_hub_screen_branch_4" : "Coop Hub: Branch 4" - "mp_hub_screen_branch_5" : "Coop Hub: Branch 5" - "mp_hub_screen_branch_6" : "Coop Hub: Branch 6" - "mp_select_screen_branch_1" : "Coop Selector: 1" - "mp_select_screen_branch_2" : "Coop Selector: 2" - "mp_select_screen_branch_3" : "Coop Selector: 3" - "mp_select_screen_branch_4" : "Coop Selector: 4" - "mp_select_screen_branch_5" : "Coop Selector: 5" - "mp_select_screen_branch_6" : "Coop Selector: 6" - "mp_select_screen_branch_dlc" : "Coop Selector: Art Therapy" - ] - overlaymaterial(material) : "Overlay Material" : "" : "Name of a material to overlay over the top of the VGUI screen. NOTE: This material must write Z for the VGUI screen to work." - width(integer) : "Panel Width in World (Green)" : 32 : "Width of the panel in units." - height(integer) : "Panel Height in World (Blue)" : 32 : "Height of the panel in units." - IsTransparent(boolean) : "Is Transparent?" : 0 : "Set this to true if you would like your background to be invisible instead of a black fill." - - // Inputs - input SetActive(void) : "Make the vgui screen visible." - input SetInactive(void) : "Make the vgui screen invisible." -] - -@PointClass base(Targetname, Angles, Parentname) color(200 200 0) studio("models/editor/vgui_arrows.mdl") = vgui_slideshow_display : "Slideshow Display" -[ - displaytext(string) : "Display Text" : "" - - directory(string) : "Image Directory (materials/vgui/...)" : "slideshow" - - minslidetime(float) : "Min Slide Time" : "0.5" : "Minimum amount of random time that a slide is displayed." - maxslidetime(float) : "Max Slide Time" : "0.5" : "Maximum amount of random time that a slide is displayed." - - cycletype(choices) : "Cycle Type" : 0 = - [ - 0 : "Random" - 1 : "Forward" - 2 : "Backward" - ] - - nolistrepeat(choices) : "No List Repeat" : 0 = - [ - 0 : "Allow List Repeats" - 1 : "No List Repeats" - ] - - 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." - - input SetDisplayText(string) : "Sets the display text." - - input RemoveAllSlides(void) : "Removes all slides from slideshow." - input AddSlides(string) : "Adds slides by keyword." - - input SetMinSlideTime(float) : "Sets min random time between slides." - input SetMaxSlideTime(float) : "Sets max random time between slides." - - input SetCycleType(integer) : "0 - random, 1 - forward, 2 - backward" - input SetNoListRepeat(bool) : "Sets if lists can be randomly picked twice in a row." -] - -@PointClass -base(Targetname, Angles, Parentname) color(200 200 0) studio("models/editor/vgui_arrows.mdl") sphere(width) sphere(height) = vgui_movie_display : "Movie Display" -[ - displaytext(string) : "Display Text" : "" - moviefilename(string) : "Movie Filename" : "media/" - groupname(string) : "Group Name" : "" - - looping(boolean) : "Loop Movie" : 0 - stretch(boolean) : "Stretch to Fill" : 0 - forcedslave(boolean) : "Forced slave" : 0 - forceprecache(boolean) : "Force precache" : 0 : "Precache the movie referred to by Movie Filename on entity spawn." - - width(integer) : "Panel Width in World (Green)" : 256 : "Width of the panel in units." - height(integer) : "Panel Height in World (Blue)" : 128 : "Height of the panel in units." - - input Enable(void) : "Make movie visible." - input Disable(void) : "Make movie invisible." - - input SetDisplayText(string) : "Sets the display text." - input SetMovie(string) : "Sets the movie to display." - - input SetUseCustomUVs(bool) : "Use custom UVs." - input TakeOverAsMaster(void) : "Start using this video as the master of it's group." - - input SetUMin(float) : "Set the minimum U." - input SetUMax(float) : "Set the maximum U." - input SetVMin(float) : "Set the minimum V." - input SetVMax(float) : "Set the maximum V." -] - -//------------------------------------------------------------------------- -// -// Cyclers -// -//------------------------------------------------------------------------- - -@PointClass base(Targetname, Parentname, Angles, RenderFxChoices, RenderFields) studio() = cycler : - "An entity used to display a model for testing purposes. Shooting it with cycle through the model's animations." -[ - spawnflags(flags) = - [ - 1: "Not Solid" : 0 - ] - model(studio) : "Model" - 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." - - sequence(integer) : "Sequence" : 0 : "Default animation sequence for the model to be playing after spawning." - - // Inputs - input SetSequence(string) : "Sets the cycler's sequence." -] - -//------------------------------------------------------------------------- -// -// Environmental effects -// -//------------------------------------------------------------------------- - -@BaseClass base(Targetname, Parentname) = gibshooterbase -[ - angles(string) : "Gib Direction (Pitch Yaw Roll)" : "0 0 0" : "The direction the gibs will fly." - m_iGibs(integer) : "Number of Gibs" : 3 : "Total number of gibs to shoot each time it's activated." - delay(string) : "Delay between shots" : "0" : "Delay (in seconds) between shooting each gib. If 0, all gibs shoot at once." - gibangles(string) : "Gib Angles (Pitch Yaw Roll)" : "0 0 0" : "The orientation of the spawned gibs." - gibanglevelocity(string) : "Max angular velocity" : "0" : "How fast (degrees/sec) the gib pieces should spin. They will spin on x and y axis at between 10% and 100% of this speed." - m_flVelocity(integer) : "Gib Velocity" : 200 : "Speed of the fired gibs" - m_flVariance(string) : "Course Variance" : "0.15" : "How much variance in the direction gibs are fired." - m_flGibLife(string) : "Gib Life" : "4" : "Time in seconds for gibs to live +/- 5%" - 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." - - spawnflags(Flags) = - [ - 1 : "Repeatable" : 0 - ] - - // Inputs - input Shoot(void) : "Force the gibshooter to create and shoot a gib." -] - -@PointClass base(Targetname, Parentname, RenderFxChoices) - cylinder(255 255 255, targetname, LightningStart, Radius, targetname, LightningEnd, Radius) - line(64 64 64, targetname, lightningStart) - line(64 64 64, targetname, lightningEnd) - iconsprite("editor/env_beam.vmt") - sphere(Radius) color(200 200 0) = env_beam : - "An entity that creates a visible beam between two points. The points can be attached to entities to make the beam move around." -[ - renderamt(integer) : "Brightness (1 - 255)" : 100 - rendercolor(color255) : "Beam Color (R G B)" : "255 255 255" - Radius(integer) : "Radius" : 16 : "If the 'Random Strike' spawnflag is set, this radius determines the area within which the endpoints will randomly strike." - life(string) : "Life (seconds 0 = infinite)" : "1" : "Amount of time before the beam dies. Setting to zero will make the beam stay forever." - BoltWidth(float) : "Width of beam" : 2 : "Pixel width of the beam." - NoiseAmplitude(float) : "Amount of noise (0-64)" : 0 : "The amount of noise in the beam. 0 is a perfectly straight beam." - texture(sprite) : "Sprite Name" : "sprites/laserbeam.spr" : "The material used to draw the beam." - TextureScroll(integer) : "Texture Scroll Rate (0-100)" : 35 : "Rate at which the beam texture should scroll along the beam." - framerate(integer) : "Frames per 10 seconds" : 0 : "Framerate at which the beam texture should animate, if it has multiple frames." - framestart(integer) : "Starting Frame" : 0 : "The frame to start the beam texture on." - StrikeTime(string) : "Strike again time (secs)" : "1" : "Refire time between random strikes of the beam. Only used if the 'Random Strike' spawnflag is set." - damage(string) : "Damage / second" : "0" : "How much damage this beam does per second to things it hits when it is continually on, or instantaneously if it strikes. For continuous damage, the value should be greater than 10 or it may not work." - LightningStart(target_destination) : "Start Entity" : "" : "Entity that the beam starts at." - LightningEnd(target_destination) : "Ending Entity" : "" : "Entity that the beam ends at. If not set, the Ending Location will be used instead." - targetpoint(vecline) : "Ending Location" : "0 0 0" : "If an Ending Entity is not specified, use this point as the destination instead. It is relative to the beam origin." - decalname(string) : "Decal Name" : "Bigshot" : "Decal to be applied at the end of the beam" - HDRColorScale(float) : "HDR color scale." : "1.0" : "float value to multiply sprite color by when running in HDR mode." - - - spawnflags(flags) = - [ - 1 : "Start On" : 0 - 2 : "Toggle" : 0 - 4 : "Random Strike" : 0 - 8 : "Ring" : 0 - 16: "StartSparks" : 0 - 32: "EndSparks" : 0 - 64: "Decal End" : 0 - 128: "Shade Start" : 0 - 256: "Shade End" : 0 - 512: "Taper Out" : 0 - ] - - TouchType(choices) : "Touch Type (tripwire)" : 0 : "If you want the beam to fire an output when touched by entities, choose the entity type here." = - [ - 0 : "Not a tripwire" - 1 : "Player Only" - 2 : "NPC Only" - 3 : "Player or NPC" - 4 : "Player or NPC or Physprop" - ] - - ClipStyle(choices) : "Beam clipping" : 0 : "Select whether you want the beam to clip against geometry or characters, making it stop prematurely." = - [ - 0 : "Do not clip (default)" - 1 : "Clip to geometry" - 2 : "Clip to everything solid" - ] - - filtername(filterclass) : "Filter Name" : : "Filter to use to determine what triggers the output." - - // Inputs - input TurnOn(void) : "Turns the beam on." - input TurnOff(void) : "Turns the beam off." - input Toggle(void) : "Toggles the beam between on and off." - input StrikeOnce(void) : "Causes the beam to strike once. It will stay on for its set Life and then turn off (it will never turn off if Life is set to zero)." - input Alpha(integer) : "Sets the beam's alpha (0 - 255)." - input Color(color255) : "Sets the beam's render color (R G B)." - input ColorRedValue(float) : "Sets the red color channel's value (0 - 255)." - input ColorGreenValue(float) : "Sets the green color channel's value (0 - 255)." - input ColorBlueValue(float) : "Sets the blue color channel's value (0 - 255)." - input Amplitude(float) : "Set the amplitude of beam noise (0 - 255)." - input ScrollSpeed(float) : "Set the scroll speed in units per second (0 - 100)." - input Width(float) : "Set the width of the beam, in pixels." - - // Outputs - output OnTouchedByEntity(void) : "Fired when an entity touches the beam. Only fired if the entity passes the 'Touch Type' choice." -] - -@SolidClass base(Targetname, Parentname, Angles) color(200 200 0) = env_embers : - "An entity used to create a volume in which to spawn fire embers." -[ - particletype(choices) : "Ember type" : 0 = - [ - 0 : "Normal" - 1 : "Smooth Fade" - 2 : "Pulled" - ] - - density(integer) : "Density (particles per second)" : 50 - lifetime(integer) : "Particle Lifetime (seconds)" : 4 - speed(integer) : "Particle Speed (units per second)" : 32 - rendercolor(color255) : "Ember Color (R G B)" : "255 255 255" - - spawnflags(Flags) = - [ - 1 : "Start On" : 0 - 2 : "Toggle" : 0 - ] -] - -@PointClass base(Targetname, Parentname) color(200 200 0) size(-8 -8 -8, 8 8 8) = env_funnel : - "HL1 Legacy: Large Portal Funnel" -[ - spawnflags(flags) = - [ - 1: "Reverse" : 0 - ] -] - -@PointClass base(Targetname, Parentname) color(200 200 0) iconsprite("editor/env_blood.vmt") = env_blood : - "An entity used to spawn blood effects." -[ - spraydir(angle) : "Spray Direction (Pitch Yaw Roll)" : "0 0 0" : "The general direction that the blood should spray and the direction to trace to apply the decal." - color(choices) : "Blood Color" : 0 = - [ - 0 : "Red (Human)" - 1 : "Yellow (Alien)" - ] - amount(string) : "Amount of blood (damage to simulate)" : "100" - spawnflags(flags) = - [ - 1: "Random Direction" : 0 - 2: "Blood Stream" : 0 - 4: "On Player" : 0 - 8: "Spray decals" : 0 - // dvs: support these flags - //16: "Cloud" : 0 - //32: "Drops" : 0 - //64: "Gore" : 0 - ] - - // Inputs - input EmitBlood(void) : "Triggers the blood effect." -] - -@SolidClass base(Targetname, Parentname) color(200 200 0) = env_bubbles : - "An entity used to create a volume in which to spawn bubbles." -[ - density(integer) : "Bubble density" : 2 - frequency(integer) : "Bubble frequency" : 2 - current(integer) : "Speed of Current" : 0 : "The speed of the water current in the volume, used to move the bubbles." - spawnflags(Flags) = - [ - 1 : "Start Off" : 0 - ] - - // Inputs - input Activate(void) : "Activates the bubbles." - input Deactivate(void) : "Deactivates the bubbles." - input Toggle(void) : "Toggles the bubbles on and off." - input SetDensity(integer) : "Sets the bubble density." - input SetFrequency(integer) : "Sets bubble emission rate in bubbles per second." - input SetCurrent(integer) : "Sets current speed in units per second." -] - -@PointClass base(Targetname, Parentname) color(200 200 0) iconsprite("editor/env_explosion.vmt") sphere(iRadiusOverride) line(255 255 0, targetname, ignoredEntity) = env_explosion : - "An entity that creates an explosion at its origin." -[ - iMagnitude(Integer) : "Magnitude" : 100 : "The amount of damage done by the explosion." - // If no radius override, magnitude will determine radius. - iRadiusOverride(Integer) : "Radius Override" : 0 : "If specified, the radius in which the explosion damages entities. If unspecified, the radius will be based on the magnitude." - fireballsprite(sprite) : "Fireball Sprite" : "sprites/zerogxplode.spr" - rendermode(choices) : "Render Mode" : 5 = - [ - 0: "Normal" - 4: "Solid" - 5: "Additive" - ] - spawnflags(flags) = - [ - 1: "No Damage" : 0 - 2: "Repeatable" : 0 - 4: "No Fireball" : 0 - 8: "No Smoke" : 0 - 16: "No Decal" : 0 - 32: "No Sparks" : 0 - 64: "No Sound" : 0 - 128: "Random Orientation" : 0 - 256: "No Fireball Smoke" : 0 - 512: "No particles" : 0 - 1024: "No DLights" : 0 - 2048: "Don't clamp Min" : 0 - 4096: "Don't clamp Max" : 0 - 8192: "Damage above surface only" : 0 - 16384: "Generic damage" : 0 - ] - - ignoredEntity(target_destination) : "Ignored Entity" : : "Do not harm or affect the named entity." - - // Inputs - input Explode(void) : "Triggers the explosion." -] - -@PointClass base(Targetname, Parentname) color(200 200 0) size(-8 -8 -8, 8 8 8) sphere(spawnradius) = env_smoketrail : - "An entity that creates a smoke trail." -[ - opacity(float) : "Sprite Opacity" : "0.75" : "Opacity of the sprites (range from 0 - 1)." - spawnrate(float) : "Spawn Rate" : "20" : "Number of particles to emit each second." - lifetime(float) : "Particle Life Time" : "5.0" : "Number of seconds until each particle dies." - startcolor(color255) : "Start Color" : "192 192 192" : "Starting color of the emitted particles." - endcolor(color255) : "End Color" : "160 160 160" : "Ending color of the emitted particles." - emittime(float) : "Emitter Life Time" : "0" : "Number of seconds until the env_smoketrail stops emitting particles. 0 means never stop emitting particles." - minspeed(float) : "Minimum Random Speed" : "10" : "Minimum randomly-directed speed to use for emitted particles." - maxspeed(float) : "Maximum Random Speed" : "20" : "Maximum randomly-directed speed to use for emitted particles." - mindirectedspeed(float) : "Minimum Directed Speed" : "0" : "Minimum speed along the env_smoketrail's forward direction (x axis) to use for emitted particles." - maxdirectedspeed(float) : "Maximum Directed Speed" : "0" : "Maximum speed along the env_smoketrail's forward direction (x axis) to use for emitted particles." - startsize(float) : "Starting particle size" : "15" : "Starting particle size." - endsize(float) : "Ending particle size" : "50" : "Ending particle size." - spawnradius(float) : "Spawn radius" : "15" : "Distance from env_smoketrail at which particles are emitted." - - firesprite(sprite) : "Fire Sprite" : "sprites/firetrail.spr" - smokesprite(sprite) : "Smoke Puff" : "sprites/whitepuff.spr" -] - -@PointClass base(Targetname, Parentname) - sphere(radius) sphere(inner_radius) - line(255 255 0, targetname, targetEntityName) - cylinder(255 0 0, targetname, targetname, radius, targetname, targetentityname) - color(128 128 128) iconsprite("editor/env_physexplosion.vmt") = env_physexplosion : - "An entity that creates an explosion at its origin. If the no-damage spawnflag is set, the explosion won't be visible, but will apply force to any physics objects within its radius." -[ - magnitude(string) : "Magnitude" : "100" : "Amount of physics force applied by the explosion." - radius(string) : "Clamp Radius (0 = auto)" : "0" : "If specified, the radius in which the explosion damages entities. If unspecified, the radius will be based on the magnitude." - targetentityname(target_destination) : "Limit to Entity" : "" : "If specified, the explosion will only affect the matching entity." - - spawnflags(flags) = - [ - 1 : "No Damage - Only Force" : 1 - 2 : "Push players" : 0 - 4 : "Push radially - not as a sphere" : 0 - 8 : "Test LOS before pushing" : 0 - 16 : "Disorient player if pushed" : 0 - ] - - inner_radius(float) : "Inner radius" : "0" : "If not zero, the LOS is calculated from a point intersecting this sphere." - - // Inputs - input Explode(void) : "Trigger the explosion." - - // Outputs - output OnPushedPlayer(void) : "Fires when the player is pushed by the explosion." -] - -@PointClass base(Targetname, Parentname) - line(255 255 255, targetname, directionentityname) sphere(distance) - color(128 128 128) iconsprite("editor/env_physexplosion.vmt") = env_physimpact : - "An entity that will cause a physics impact on another entity." -[ - angles(string) : "Pitch Yaw Roll (Y Z X)" : "0 0 0" : "Direction to project the impact." - magnitude(integer) : "Magnitude" : 100 : "Strength of the impact." - distance(integer) : "Distance" : 0 : "How far to project the impact (if 0 uses a default value)." - directionentityname(target_destination) : "Point to Entity" : "" : "If set, 'Distance' and Angle settings are ignored and the direction and distance to the target entity will be used." - - spawnflags(flags) = - [ - 1: "No fall-off" : 0 - 2: "Infinite Length" : 0 - 4: "Ignore Mass" : 0 - 8: "Ignore Surface Normal When Applying Force" : 1 - ] - - // Inputs - input Impact(void) : "Trigger the impact" -] - - -@PointClass base(Targetname, Parentname, EnableDisable) color(200 200 0) iconsprite("editor/env_fire") sphere(firesize) = env_fire : - "An entity that handles a single flame at its origin. The flame causes heat 'damage' to other env_fire entities around it, and will eventually ignite non-flaming env_fire entities nearby, causing the fire to spread." -[ - health(integer) : "Duration" : 30 : "Amount of time the fire will burn." - firesize(integer) : "Size" : 64 : "Height (in world units) of the flame." - fireattack(integer) : "Attack" : 4 : "Amount of time the fire takes to grow to full strength." - firetype(choices) : "Type" : 0 = - [ - 0 : "Natural" - 1 : "Plasma" - ] - spawnflags(flags) = - [ - 1: "Infinite Duration" : 0 - 2: "Smokeless" : 0 - 4: "Start On" : 0 - 8: "Start Full" : 0 - 16: "Don't drop" : 0 - 32: "No glow" : 0 - 128: "Delete when out" : 0 - 256: "Visible from above" : 0 - ] - - ignitionpoint(float) : "Ignition Point" : 32 : "Amount of heat 'damage' to take before this flame should ignite." - damagescale(float) : "Damage Scale" : "1.0" : "Multiplier of the burn damage done by the flame." - - // Inputs - input StartFire(void) : "Start the fire." - input Extinguish(float) : "Puts out the fire permanently in the number of seconds specified." - input ExtinguishTemporary(float): "Puts out the fire temporarily in the number of seconds specified." - - // Outputs - output OnIgnited(void) : "Fires when the fire is first ignited." - output OnExtinguished(void) : "Fires when the fire is fully extinguished." -] - -@PointClass base(Targetname, Parentname) color(200 200 0) iconsprite("editor/env_firesource") sphere(fireradius) = env_firesource : - "An entity that provides heat to all nearby env_fire entities. Cannot be extinguished." -[ - spawnflags(flags) = - [ - 1: "Start On" : 0 - ] - - fireradius(float) : "Radius" : 128 : "The radius around this entity in which to provide heat." - firedamage(float) : "Intensity / Damage" : 10 : "Amount of heat 'damage' to apply to env_fire entities within the radius." - - // Inputs - input Enable(void) : "Enable fire source." - input Disable(void) : "Disable fire source." -] - -@PointClass base(Targetname, Parentname) color(200 200 0) size(-4 -4 -4, 4 4 4) sphere(fireradius) = env_firesensor : - "An entity that detects changes in heat nearby." -[ - spawnflags(flags) = - [ - 1: "Start On" : 1 - ] - - fireradius(float) : "Radius" : 128 : "The radius around this entity in which to detect heat changes." - heatlevel(float) : "Heat level" : 32 : "The target heat level to check for. Outputs are fired when the heat moves over this target level (increasing or decreasing)." - heattime(float) : "Time at level" : 0 : "The amount of time the heat level must spend over the target level before the 'OnHeatLevelStart' output is fired." - - // Inputs - input Enable(void) : "Enable fire sensor." - input Disable(void) : "Disable fire sensor." - output OnHeatLevelStart(void) : "Fires when the heat level has been sustained for the specified length of time." - output OnHeatLevelEnd(void) : "Fires when the heat level drops below the target level." -] - -@PointClass base(Targetname) color(200 200 0) size(-4 -4 -4, 4 4 4) = env_entity_igniter : - "An entity that catches a target entity on fire. If the entity is an animating model, it will have sprite flames attached to its skeleton. Otherwise the entity will emit particle flame puffs." -[ - target(target_destination) : "Entity to ignite" : : "Name of the entity to catch on fire." - lifetime(float) : "Lifetime in seconds" : 10 : "Duration of flames." - - // Inputs - input Ignite(void) : "Ignite the target entity." -] - -@PointClass base(Targetname, SystemLevelChoice, Angles) color(200 0 0) studio("models/editor/cone_helper.mdl") iconsprite("editor/fog_controller.vmt") = env_fog_controller : - "An entity that controls the fog and view distance in the map." -[ - // Inputs - input SetStartDist(float) : "Set the fog start distance." - input SetEndDist(float) : "Set the fog end distance." - input TurnOn(void) : "Turn the fog on." - input TurnOff(void) : "Turn the fog off." - input SetColor(color255) : "Set the primary fog color." - input SetColorSecondary(color255) : "Set the secondary fog color." - input SetFarZ(integer): "Set the far clip plane distance." - input SetAngles(string) : "Set the angles to use for the secondary fog direction." - - input SetColorLerpTo(color255) : "Set the primary fog color." - input SetColorSecondaryLerpTo(color255) : "Set the secondary fog color." - input SetStartDistLerpTo(float) : "Set the fog start distance." - input SetEndDistLerpTo(float) : "Set the fog end distance." - input StartFogTransition(void) : "Start fog transition." - - // Starting fog parameters for the level. These are selectable per LOD. - fogenable(boolean) : "Fog Enable" : 0 - fogblend(boolean) : "Fog Blend" : 0 - use_angles(boolean) : "Use Angles for Fog Dir" : 0 - - fogcolor(color255) : "Primary Fog Color" : "255 255 255" - fogcolor2(color255) : "Secondary Fog Color" : "255 255 255" - fogdir(string) : "Primary Fog Direction" : "1 0 0" - fogstart(string) : "Fog Start" : "500.0" - fogend(string) : "Fog End" : "2000.0" - fogmaxdensity(float) : "Fog Max Density [0..1]" : "1" - - foglerptime(float) : "Interpolate time" : "0" - - farz(string) : "Far Z Clip Plane" : "-1" - - HDRColorScale(float) : "HDR Color Scale" : "1" - - spawnflags(flags) = - [ - 1 : "Master (Has priority if multiple env_fog_controllers exist)" : 0 - ] -] - -@PointClass base(Targetname, Parentname, Angles) color(200 200 0) studio("models/editor/spot_cone.mdl") = env_steam : - "An entity used to create a jet of steam." -[ - spawnflags(flags) = - [ - 1 : "Emissive" : 0 - ] - - InitialState(choices) : "Initial State" : 0 = - [ - 0 : "Off" - 1 : "On" - ] - - //Type of particle to spew out - type(choices) : "Particle Type" : 0 = - [ - 0 : "Normal" - 1 : "Heat Wave" - ] - - SpreadSpeed(integer) : "Spread Speed" : 15 : "The amount of random spread in the particle's velocity after they spawn." - Speed(integer) : "Speed" : 120 : "The default speed at which the particles move after they spawn." - StartSize(integer) : "Particle start size" : 10 : "The initial size of the particles after they spawn." - EndSize(integer) : "Particle end size" : 25 : "The size of the particles at the point at which they are removed." - Rate(integer) : "Emission rate" : 26 : "The rate of particle emission. i.e. particles per second." - rendercolor(color255) : "Color (R G B)" : "255 255 255" - JetLength(integer) : "Length of steam jet" : 80 : "The length of the jet determines the lifetime of each particle." - renderamt(integer) : "Translucency" : 255 - rollspeed(float) : "How fast does the particles spin" : 8 - - // Inputs - input TurnOn(void) : "Turns the steam jet on." - input TurnOff(void) : "Turns the steam jet off." - input Toggle(void) : "Toggles the steam jet between on and off." - input JetLength(integer) : "Sets the length of steam jet." - input Rate(integer) : "Sets the particle emission rate in particles per second." - input Speed(integer) : "Sets the default speed of the particles in units per second." - input SpreadSpeed(integer) : "Sets the spread speed in units per second." -] - -@PointClass base(Targetname, Parentname, RenderFxChoices) size(-4 -4 -4, 4 4 4) color(200 200 0) line(255 255 255, targetname, LaserTarget) = env_laser : - "An entity that creates a laser beam between itself and a given target." -[ - LaserTarget(target_destination) : "Target of Laser" : : "Name of entity, or entities, to strike at. The target is randomly chosen if there are multiple entities matching the given name." - renderamt(integer) : "Brightness (1 - 255)" : 100 - rendercolor(color255) : "Beam Color (R G B)" : "255 255 255" - width(float) : "Width of Beam" : 2 : "The width of the laser beam, in pixels." - NoiseAmplitude(integer) : "Amount of noise (0-255)" : 0 : "The amount of noise in the beam. 0 is a perfectly straight beam." - texture(sprite) : "Sprite Name" : "sprites/laserbeam.spr" : "The material used to draw the laser beam." - EndSprite(sprite) : "End Sprite" : "" : "If specified, this sprite will be drawn at the end of the laser beam." - TextureScroll(integer) : "Texture Scroll Rate (0-100)" : 35 : "Rate at which the beam texture should scroll along the beam." - framestart(integer) : "Starting Frame" : 0 : "The frame to start the beam texture on." - damage(string) : "Damage / second" : "100" : "How much damage this laser does. per second. to things it hits." - dissolvetype(choices) : "Dissolve Type" : "None" = - [ - -1 : "None" - 0 : "Energy" - 1 : "Heavy electrical" - 2 : "Light electrical" - ] - spawnflags(flags) = - [ - 1 : "Start On" : 0 - 16: "StartSparks" : 0 - 32: "EndSparks" : 0 - 64: "Decal End" : 0 - ] - - // Inputs - input TurnOn(void) : "Turns the laser on." - input TurnOff(void) : "Turns the laser off." - input Toggle(void) : "Toggles the laser between on and off." -] - -@PointClass base(Targetname) iconsprite("editor/ts2do/env_message.vmt") = env_message : - "An entity that draws a text message on player's HUDs." -[ - message(string) : "Message Text" - spawnflags(flags) = - [ - 1: "Play Once" : 0 - 2: "All Clients" : 0 - ] - messagesound(sound) : "Sound Effect" : "" : "When the message is shown, this sound effect will be played, originating from this entity." - messagevolume(string) : "Volume 0-10" : "10" : "Volume of the sound effect." - messageattenuation(Choices) : "Sound Radius" : 0 = - [ - 0 : "Small Radius" - 1 : "Medium Radius" - 2 : "Large Radius" - 3 : "Play Everywhere" - ] - - // Inputs - input ShowMessage(void) : "Shows the message and plays the sound." - - // Outputs - output OnShowMessage(void) : "Fired when the message is activated." -] - -@PointClass base(Targetname) iconsprite("editor/env_hudhint.vmt") = env_hudhint : - "An entity to control the display of HUD hints. HUD hints are used to show the player what key is bound to a particular command." -[ - message(string) : "Hint Text (localized)" : "" : "This should be set to match the desired HUD hint entry in the hl2\resource\valve_english.txt." - - // Inputs - input ShowHudHint(void) : "Shows the hint message." - input HideHudHint(void) : "Hides the hint message." -] - -@PointClass sphere() color(200 0 0) iconsprite("editor/env_shake.vmt") base(Targetname, Parentname) = env_shake : - "An entity to control screen shake on players." -[ - spawnflags(flags) = - [ - 1: "GlobalShake" : 0 - //2: "Disrupt player control" : 0 // doesn't work - 4: "In Air" : 0 // shakes objects even if they are not onground - 8: "Physics" : 0 // shakes physically as well as the camera - 16: "Ropes" : 0 // shakes ropes too. - 32: "DON'T shake view (for shaking ropes or physics only)" : 0 - 64: "DON'T Rumble Controller" : 0 - ] - - amplitude(float) : "Amplitude (0-16)" : "4" : "The amount of noise in the screen shake. Should be a range between 0 and 16." - radius(float) : "Effect Radius" : "500" : "The radius around this entity in which to affect players." - duration(float) : "Duration (seconds)" : "1" : "The length of time in which to shake the player's screens." - frequency(float) : "Frequency" : "2.5" : "The frequency used to apply the screen shake. Should be a value between 0 and 255, where 0.1 = jerk, and 255.0 = rumble." - - // Inputs - input Amplitude(string) : "Set the amplitude (0-16)" - input Frequency(string) : "Set the frequence. Should be a value between 0 and 255, where 0.1 = jerk, and 255.0 = rumble." - input StartShake(void) : "Start the shake." - input StopShake(void) : "Stop the shake." -] - -@PointClass sphere() color(200 0 0) studio("models/editor/axis_helper_thick.mdl") base(Targetname, Parentname, Angles) = env_tilt : - "An entity to control screen tilt on players." -[ - spawnflags(flags) = - [ - 1: "GlobalTilt" : 0 - 128: "Ease in/out" : 0 - ] - - radius(float) : "Effect Radius" : "500" : "The radius around this entity in which to affect players." - duration(float) : "Duration (seconds)" : "1" : "The length of time in which to tilt the player's screens." - tilttime(float) : "Tilt time (seconds)" : "2.5" : "How long it takes to reach full tilt." - - // Inputs - input StartTilt(void) : "Start the shake." - input StopTilt(void) : "Stop the tilt." -] - -@PointClass sphere() color(200 200 0) size(-4 -4 -4, 4 4 4) base(Targetname, Parentname) = env_viewpunch : - "Causes a view punch on players." -[ - spawnflags(flags) = - [ - 1: "Punch all players (ignore radius)" : 0 - 2: "Punch players in the air" : 0 - ] - - punchangle(angle) : "Punch angles" : "0 0 90" : "The punch angles to apply." - radius(float) : "Effect Radius" : "500" : "The radius around this entity in which to affect players." - - // Inputs - input ViewPunch(void) : "Performs the view punch." -] - -@PointClass base(gibshooterbase) color(200 200 0) line(255 255 255, targetname, lightingorigin) iconsprite("editor/gibshooter.vmt") = gibshooter : - "An entity that shoots out gibs. Style of body part depends on language type." -[ -] - -@PointClass base(gibshooterbase, RenderFields) color(200 200 0) line(255 255 255, targetname, lightingorigin) iconsprite("editor/env_shooter.vmt") = env_shooter : - "An entity that shoots models, or sprites, out of its origin." -[ - shootmodel(studio) : "Model" : "" : "Thing to shoot out. Can be a .mdl or a .vmt." - shootsounds(choices) :"Material Sound" : -1 = - [ - -1: "None" - 0: "Glass" - 1: "Wood" - 2: "Metal" - 3: "Flesh" - 4: "Concrete" - ] - simulation(choices) :"Simulate" : 0 = - [ - 0: "Point" - 1: "Physics" - 2: "Ragdoll" - ] - - skin(integer) : "Gib Skin" : 0 : "Some models have multiple versions of their textures, called skins. Set this to a number other than 0 to use that skin on all gibs produced by this shooter." - - spawnflags(flags) = - [ - 2 : "On fire" : 0 - 4 : "strict remove after lifetime" : 0 - ] - - nogibshadows(boolean) :"Disable Shadows on Gibs" : 0 - - gibgravityscale(float) : "Gib gravity scale" : "1" : "ONLY WORKS FOR POINT GIBS. This field allows you to scale gravity so that gibs fall faster, slower, or not at all." - - massoverride(float) : "Mass override" : "0" : "EPISODIC ONLY. Specify an arbitrary mass for the gibs emitted by me." -] - -@PointClass base(gibshooterbase, RenderFields) line(255 255 255, targetname, lightingorigin) iconsprite("editor/env_shooter.vmt") color(200 200 0) = env_rotorshooter : - "An entity that creates gibs when it's within the influence of a helicopter's rotor wash." -[ - shootmodel(studio) : "Model" : "" : "Thing to shoot out. Can be a .mdl or a .vmt." - shootsounds(choices) :"Material Sound" : -1 = - [ - -1: "None" - 0: "Glass" - 1: "Wood" - 2: "Metal" - 3: "Flesh" - 4: "Concrete" - ] - simulation(choices) :"Simulate" : 0 = - [ - 0: "Point" - 1: "Physics" - 2: "Ragdoll" - ] - - skin(integer) : "Gib Skin" : 0 : "Some models have multiple versions of their textures, called skins. Set this to a number other than 0 to use that skin on all gibs produced by this shooter." - - spawnflags(flags) = - [ - 2 : "On fire" : 0 - ] - - rotortime(float) : "Time Under Rotor" : "1" : "The average time it has to be under the rotor before it shoots a gib." - rotortimevariance(float) : "Time variance" : "0.3" : "The random amount to vary the time it has to be under the rotor before it shoots a gib." -] - -@PointClass base(Targetname,Parentname) sphere() line(255 255 255, targetname, MainSoundscapeName) iconsprite("editor/env_soundscape_proxy.vmt") = env_soundscape_proxy : - "An entity that acts like a soundscape but gets all of its sound parameters from another env_soundscape entity." -[ - MainSoundscapeName(target_destination) : "Soundscape Entity" : "" : "The soundscape to get all sound parameters from." - - radius(integer) : "Radius" : 128 // NEEDHELP: The datadesc doesn't include this entry. Probably not used. -] - -@PointClass base(Targetname,Parentname,EnableDisable) - sphere() - iconsprite("editor/env_soundscape.vmt") - line(255 255 255, targetname, position0) - line(255 255 255, targetname, position1) - line(255 255 255, targetname, position2) - line(255 255 255, targetname, position3) - line(255 255 255, targetname, position4) - line(255 255 255, targetname, position5) - line(255 255 255, targetname, position6) - line(255 255 255, targetname, position7) = env_soundscape : - "An entity to control sound in an area. The active soundscape at any time is the last one that had line-of-sight to the player, and was within the radius." -[ - radius(integer) : "Radius" : 128 : "If set to -1, then the player can hear the soundscape as long as he can see it (regardless of distance to it)." - soundscape(choices) : "Soundscape" : "Nothing" : "The name of the soundscape to use. Corresponds to an entry in the soundscapes*.txt file in the hl2\scripts directory." = - [ - //Take from VDC under "List of Portal 2 Soundscapes" - "TestChamber_Destruction.DestructionBase" : "Dest - Destruction Base" - "TestChamber_Destruction.DestructionBeauty" : "Dest - Destruction Beauty" - "TestChamber_Destruction.Dual_Lasers" : "Dest - Dual Lasers" - "TestChamber_Destruction.Dual_Lasers_Intro" : "Dest - Dual Lasers Intro" - "TestChamber_Destruction.GlaDOS_Breaker_Room" : "Dest - GLaDOS Chamber Breaker Room" - "TestChamber_Destruction.GlaDOS_Chamber_Diver" : "Dest - GLaDOS Chamber Diver" - "TestChamber_Destruction.Glados_Chamber_Postwake" : "Dest - GLaDOS Chamber PostWake" - "TestChamber_Destruction.GlaDOS_Chamber_Prewake" : "Dest - GLaDOS Chamber Prewake" - "TestChamber_Destruction.GlaDOS_Chamber_Whoomp" : "Dest - GLaDOS Chamber Whoomp" - "TestChamber_Destruction.GlaDOS_Hall" : "Dest - GLaDOS Hall" - "TestChamber_Destruction.GlaDOS_Basement" : "Dest - GLaDOS Basement" - "TestChamber_Destruction.GlaDOS_New_Basement" : "Dest - GLaDOS New Basement" - "TestChamber_Destruction.GlaDOS_PreBasement" : "Dest - GLaDOS Pre-Basement" - "TestChamber_Destruction.Grain_Click" : "Dest - Gtain Click" - "TestChamber_Destruction.Intro_03" : "Dest - Intro 3" - "TestChamber_Destruction.Intro_03_Alt" : "Dest - Intro 3 Alternate" - "TestChamber_Destruction.Intro_03_EndVeg" : "Dest - Intro 3 End Veg" - "TestChamber_Destruction.Intro_03_Halls" : "Dest - Intro 3 Halls" - "TestChamber_Destruction.Intro_04" : "Dest - Intro 4" - "TestChamber_Destruction.Intro_04_Alt" : "Dest - Intro 4 Alternate" - "TestChamber_Destruction.Intro_05_Start" : "Dest - Intro 5 Start" - "TestChamber_Destruction.Intro_05" : "Dest - Intro 5" - "TestChamber_Destruction.Intro_05_End" : "Dest - Intro 5 End" - "TestChamber_Destruction.Intro_06" : "Dest - Intro 6" - "TestChamber_Destruction.Intro_06_BTS" : "Dest - Intro 6 BTS" - "TestChamber_Destruction.Laser_Redirect_Intro" : "Dest - Laser Redirect Intro" - "TestChamber_Destruction.Laser_Stairs" : "Dest - Laser Stairs" - "TestChamber_Destruction.MetalGroan_01" : "Dest - Metal Groan" - "TestChamber_Destruction.MetalPipe_01" : "Dest - Metal Pipe" - "testChamber_Destruction.WaterDrip_01" : "Dest - Water Drip" - "TestChamber_Destruction.WindEerie_01" : "Dest - Eerie Wind" - - "TestChamber_Industrial.BowedMetal_01" : "Test Indust - Bowed Metal" - "TestChamber_Industrial.BubblingGoo_01" : "Test Indust - Bubbling Goo" - "TestChamber.Industrial_clean_01" : "Test Indust - Clean 1" - "TestChamber.Industrial_clean_02" : "Test Indust - Clean 2" - "TestChamber.Industrial_clean_03" : "Test Indust - Clean 3" - "TestChamber.Industrial_clean_04" : "Test Indust - Clean 4" - "TestChamber.Industrial_clean_04a" : "Test Indust - Clean 4a" - "TestChamber.Industrial_clean_05" : "Test Indust - Clean 5" - "TestChamber.Industrial_clean_06" : "Test Indust - Clean 6" - "TestChamber.Industrial_clean_07" : "Test Indust - Clean 7" - "TestChamber_Industrial.ClickStick_01" : "Test Indust - Click Stick" - "TestChamber_Industrial.HotelFluorescents_01" : "Test Indust - Hotel Fluorescents" - "TestChamber_Industrial.HotelRefrigeration_01" : "Test Indust - Hotel Refrigeration" - "TestChamber_Industrial.Incinerator" : "Test Indust - Incinerator" - "TestChamber_Industrial.Incinerator_Destroyed_Hall" : "Test Indust - Incinerator Hall" - "TestChamber_Industrial.Incinerator_Destroyed_Hall_Goo" : "Test Indust - Incinerator Goo" - "TestChamber_Industrial.Incinerator_Destroyed_Hall_Inferno" : "Test Indust - Incinerator Inferno" - "TestChamber_Industrial.Incinerator_Destroyed_Room" : "Test Indust - Incinerator Room" - "TestChamber_Industrial.Incinerator_Tube_Fall" : "Test Indust - Incinerator Tube Fall" - "TestChamber_Industrial.Intro_01_Hotel_PostPowerLoss" : "Test Indust - Hotel Post-Power Loss" - "TestChamber_Industrial.Intro_01_Hotel_PrePowerLoss" : "Test Indust - Hotel Pre-Power Loss" - "TestChamber_Industrial.Intro_01_Ride_01" : "Test Indust - Hotel Ride 1" - "TestChamber_Industrial.Intro_01_Ride_02" : "Test Indust - Hotel Ride 2" - "TestChamber_Industrial.Intro_01_Ride_03" : "Test Indust - Hotel Ride 3" - "TestChamber.Industrial_muffled_01" : "Test Indust - Muffled 1" - "TestChamber.Industrial_muffled_02" : "Test Indust - Muffled 2" - "TestChamber.Industrial_muffled_02a" : "Test Indust - Muffled 2a" - "TestChamber.Industrial_muffled_02b" : "Test Indust - Muffled 2b" - "TestChamber.Industrial_muffled_03" : "Test Indust - Muffled 3" - "TestChamber.Industrial_muffled_04" : "Test Indust - Muffled 4" - "TestChamber.Industrial_muffled_05" : "Test Indust - Muffled 5" - "TestChamber.Industrial_muffled_06" : "Test Indust - Muffled 6" - "TestChamber.Industrial_partial_open" : "Test Indust - Partial Open" - "TestChamber_Industrial.ScrapedMetal_01" : "Test Indust - Scraped Metal" - "TestChamber_Industrial.WarehouseImpact_01" : "Test Indust - Warehouse Impact 1" - "TestChamber_Industrial.WarehouseImpact_02" : "Test Indust - Warehouse Impact 2" - "TestChamber_Industrial.WarehouseImpact_03" : "Test Indust - Warehouse Impact 3" - "TestChamber_Industrial.WarehouseMotor_01" : "Test Indust - Warehouse Motor" - "TestChamber_Industrial.WarehousePower_01" : "Test Indust - Warehouse Power" - "TestChamber_Industrial.WarehouseWronk_01" : "Test Indust - Warehouse Wronk 1" - "TestChamber_Industrial.WarehouseWronk_02" : "Test Indust - Warehouse Wronk 2" - - "TestChamber_BTS.Comb" : "Test 01 - BTS Comb" - "TestChamber_BTS.Crystal" : "Test 01 - BTS Crystal" - "TestChamber_BTS.Drone" : "Test 01 - BTS Drone" - "TestChamber_BTS.Generator" : "Test 01 - BTS Generator" - - "TestChamber_01.Awake" : "Test 01 - Awake" - "TestChamber_01.Vent" : "Test 01 - Vent" - "TestChamber.clean_liquid_01" : "Test - Clean Liquid 1" - "TestChamber.clean_liquid_02" : "Test - Clean Liquid 2" - "TestChamber.fizzler_01" : "Test - Fizzler" - "TestChamber.liquid_01" : "Test - Liquid 1" - "TestChamber.liquid_02" : "Test - Liquid 2" - "TestChamber.liquid_03" : "Test - Liquid 3" - "TestChamber.liquid_04" : "Test - Liquid 4" - "TestChamber.liquid_lg_01" : "Test - Large Liquid 1" - "TestChamber.liquid_lg_02" : "Test - Large Liquid 2" - "TestChamber_med_01" : "Test - Med 1" - "TestChamber_med_01a" : "Test - Med 1a" - "TestChamber.paint_01" : "Test - Paint 1" - "TestChamber.paint_02" : "Test - Paint 2" - "TestChamber.paint_03" : "Test - Paint 3" - "TestChamber.paint.liquid_01" : "Test - Paint Liquid 1" - "TestChamber.paint.liquid_02" : "Test - Paint Liquid 2" - "TestChamber.paint.liquid_03" : "Test - Paint Liquid 3" - "TestChamber_paint_transition_01" : "Test - Paint Transition" - "TestChamber_transition_01" : "Test - Transition 1" - "TestChamber_transition_02" : "Test - Transition 2" - - "TestChamber_Vegetation.AfricanBirds" : "Vegetation - African Birds" - "TestChamber_Vegetation.BirdsInsects" : "Vegetation - Birds and Insects" - "TestChamber_Vegetation.Crows" : "Vegetation - Crows" - "TestChamber_Vegetation.Elevator_01" : "Vegetation - Elevator" - "TestChamber_Vegetation.Elevator_Birds_01" : "Vegetation - Elevator with Birds" - "TestChamber_Vegetation.Insects_01" : "Vegetation - Insects 1" - "TestChamber_Vegetation.Insects_02" : "Vegetation - Insects 2" - "TestChamber_Vegetation.Insects_03" : "Vegetation - Insects 3" - "TestChamber_Vegetation.Intro_01_CubeRoom" : "Vegetation - Into 1 Cube Room" - "TestChamber_Vegetation.Intro_01_Main" : "Vegetation - Into 1 Main" - "TestChamber_Vegetation.Intro_01_MainPortal" : "Vegetation - Intro 1 Main Portal" - "TestChamber_Vegetation.NoBirds" : "Vegetation - Without Birds" - "TestChamber_Vegetation.Standard" : "Vegetation - Standard" - "TestChamber_Vegetation.WaterDrips" : "Vegetation - Water Drips" - - "room02.start" : "MP 2 - Start" - "room02.start02" : "MP 2 - Start 2" - "room02.start_03" : "MP 2 - Start 3" - "room02_5.wall_5" : "MP 2 - Wall 5" - "room02.catapult_1" : "MP 2 - Faith 1" - "room02.catapult_2" : "MP 2 - Faith 2" - "room02.catapult_wall_intro" : "MP 2 - Faith and Bridge Intro" - "room02.come_along" : "MP 2 - Come Along" - "room02.doors" : "MP 2 - Doors" - "room02.fan" : "MP 2 - Fan" - "room02.fling_1" : "MP 2 - Fling 1" - "room02.fling_3" : "MP 2 - Fling 3" - "room02.fling_crushers" : "MP 2 - Crusher Flings" - "room02.infinifling_train" : "MP 2 - Infinifling Training" - "room02.laser_2" : "MP 2 - Laser 2" - "room02.laser_crusher" : "MP 2 - Laser Crushers" - "room02.mp_coop_lobby_2" : "MP 2 - Lobby 2" - "room02.multifling_1" : "MP 2 - Multifling" - "room02.paint_bridge" : "MP 2/Under - Light Bridge" - "room02.paint_come_along" : "MP 2/Under - Come Along" - "room02.paint_longjump" : "MP 2/Under - Long Jump" - "room02.paint_redirect" : "MP 2/Under - Redirect" - "room02.paint_red_racer" : "MP 2/Under - Red Racer" - "room02.paint_speed_catch" : "MP 2/Under - Speed Catch" - "room02.paint_walljumps" : "MP 2/Under - Wall-Jumps" - "room02.race_2" : "MP 2 -Race 2" - "room02.rat_maze" : "MP 2 -Rat Maze" - "room02.seperation_1" : "MP 2 -Separation" - "room02.speed_fling" : "MP 2 -Speed Fling" - "room02.tbeam_catch_grind_1" : "MP 2/Funnel - Grinder Catch" - "room02.tbeam_drill" : "MP 2/Funnel - Drill" - "room02.tbeam_end" : "MP 2/Funnel - End" - "room02.tbeam_fling_float_1" : "MP 2/Funnel - Flinging Float" - "room02.tbeam_laser_1" : "MP 2/Funnel - Laser" - "room02.tbeam_maze" : "MP 2/Funnel - Maze" - "room02.tbeam_polarity" : "MP 2/Funnel - Polarity 1" - "room02.tbeam_polarity2" : "MP 2/Funnel - Polarity 2" - "room02.tbeam_polarity3" : "MP 2/Funnel - Polarity 3" - "room02.tbeam_redirect" : "MP 2/Funnel - Redirect" - "room02.turret_ball" : "MP 2 - Turret Ball" - "room02.turret_walls" : "MP 2 - Turret Bridge Blocking" - "room02.wall_2" : "MP 2 - Bridge 2" - "room02.wall_5" : "MP 2 - Bridge 5" - "room02.wall_block" : "MP 2 - Bridge Block" - "room02.wall_intro" : "MP 2 - Bridge Intro" - - "room01.endlevel" : "MP 1 - End of Level" - "room01.fan" : "MP 1 - Fan" - "room01.mp_coop_lobby_2" : "MP 1 - Lobby 2" - "room01.start" : "MP 1 - Start" - "room01.wall_5" : "MP 1 - Wall 5" - "room03.doors" : "MP 3 - Doors" - "room03.fan" : "MP 3 - Fan" - "room03.fling_3" : "MP 3 - Fling 3" - "room03.race_02" : "MP 3 - Race 2" - "room03.start" : "MP 3 - Start 1" - "room03.start02" : "MP 3 - Start 2" - "room03.start_03" : "MP 3 - Start 3" - "room03.tbeam_end" : "MP 3 - Funnel End" - "room03.tbeam_redirect" : "MP 3 - Funnel Redirect" - "room03.wall_5" : "MP 3 - Bridge 5" - "room04.catapult_1" : "MP 4 - Faith 1" - "room04.catapult_2" : "MP 4 - Faith 2" - "room04.catapult_wall_intro" : "MP 4 - Faith and Bridge Intro" - "room04.multifling_1" : "MP 4 - Multifling" - "room04.paint_bridge" : "MP 4/Under - Bridge" - "room04.paint_red_racer" : "MP 4/Under - Red Racer" - "room04.paint_walljumps" : "MP 4/Under - Wall-Jumps" - "room04.speed_fling" : "MP 4/Under - Speed Fling" - "room04.tbeam_end" : "MP 4 - Funnel End" - "room04.turret_ball" : "MP 4 - Turret Ball" - "room04.turret_walls" : "MP 4 - Turret Wall" - "room04.wall_5" : "MP 4 - Bridge 5" - "room04.wall_block" : "MP 4 - Bridge Block" - "room04.wall_intro" : "MP 4 - Bridge Intro" - "room05.fling_crushers" : "MP 5 - Crusher Fling" - "room05.wall_5" : "MP 5 - Bridge 5" - "room06.catapult_1" : "MP 6 - Catapult" - "room06.wall_5" : "MP 6 - Bridge 5" - - "sab.factory_01" : "BTS - Factory 1" - "sab.factory.control_room" : "BTS - Control Room" - "sab.factory.end.hall" : "BTS - End Hall" - "sab.factory.geltubes" : "BTS - Gel Tubes" - "sab.factory.hall_01" : "BTS - Hall" - "sab.factory.offices_01" : "BTS - Offices 1" - "sab.factory.offices_01a" : "BTS - Offices 1a" - "sab.factory.spawn" : "BTS - Factory Spawn" - "sab.factory.trans_01" : "BTS - Factory Transition" - "sab.factory.turret_01" : "BTS - Turret 1" - "sab.factory.turret_01a" : "BTS - Turret 1a" - "sabotage.spawn" : "BTS - Spawn" - "sabotage.trans.small" : "BTS - Small Transition" - "sab.panel.conveyor_01" : "BTS - Conveyor" - "sab.panel.factory_01" : "BTS - Panel Factory" - "sab.panel.hall_01" : "BTS - Panel Hall" - "sab.panel.spawn" : "BTS - Panel Spawn" - "sab.panel.trans_01" : "BTS - Panel Transition" - "sab.tox.factory_01" : "BTS - Neuro Factory 1" - "sab.tox.factory_02" : "BTS - Neuro Factory 2" - "sab.tox.hall" : "BTS - Neuro Hall" - "sab.tox.spawn" : "BTS - Neuro Spawn" - - "ug_bomb_water_01" : "Under - Water" - "ug_cave_ext_01" : "Under - Cave Exterior" - "ug_cave_int_01" : "Under - Cave Interior 1" - "ug_cave_int_02" : "Under - Cave Interior 2" - "ug_cave_int_03" : "Under - Cave Interior 3" - "ug_cave_spawn" : "Under - Cave Spawn" - "ug_climb_door_01" : "Under - Ascension Door" - "ug_climb_exit_01" : "Under - Ascension Exit" - "ug_climb_int_01" : "Under - Ascension Interior 1" - "ug_climb_int_02" : "Under - Ascension Interior 2" - "ug_climb_shaft_01" : "Under - Ascension Shaft" - "ug_door_01" : "Under - Door" - "ug_lake_chamber_01" : "Under - Lake Chamber" - "ug_lake_int_01" : "Under - Lake Interior 1" - "ug_lake_int_02" : "Under - Lake Interior 2" - "ug_lake_int_02a" : "Under - Lake Interior 2a" - "ug_lake_spawn" : "Under - Lake Spawn 1" - "ug_lake_spawn_02" : "Under - Lake Spawn 2" - "ug_lake_top_01" : "Under - Lake Top" - "ug_pit_01" : "Under - Pit 1" - "ug_pit_02" : "Under - Pit 2" - "ug_pit_03" : "Under - Pit 3" - "ug_pit_lite" : "Under - Pit Lite" - "ug_portal_ext_01" : "Under - 80s Exterior" - "ug_portal_int_01" : "Under - 80s Interior 1" - "ug_portal_int_02" : "Under - 80s Interior 2" - "ug_portal_int_03" : "Under - 80s Interior 3" - "ug_portal_shaft_01" : "Under - 80s Shaft" - "ug_portal_tunnel_01" : "Under - 80s Tunnel" - "ug_sphere_int_01" : "Under - Sphere Interior 1" - "ug_sphere_int_01a" : "Under - Sphere Interior 1a" - "ug_sphere_int_02" : "Under - Sphere Interior 2" - "ug_sphere_int_02a" : "Under - Sphere Interior 2a" - "ug_sphere_samll_room" : "Under - Sphere Small Room" - "ug_sphere_water_01" : "Under - Sphere Water 1" - "ug_sphere_water_01a" : "Under - Sphere Water 1a" - "ug_sphere_water_01b" : "Under - Sphere Water 1b" - "ug_sphere_water_02" : "Under - Sphere Water 2" - "ug_sphere_water_02a" : "Under - Sphere Water 2a" - "ug_sphere_water_02b" : "Under - Sphere Water 2b" - "ug_trans_01" : "Under - Transition" - - - "portal_escape.final_boss" : "Portal Esc - Boss 1" - "portal_escape.final_boss2" : "Portal Esc - Boss 2" - "portal_escape.hazard_liquid_tunnel" : "Portal Esc - Goo Tunnel" - "portal_escape.in_shaft_high" : "Portal Esc - Internal Shaft High" - "portal_escape.in_shaft_low" : "Portal Esc - In Shaft Low" - "portal_escape.intro" : "Portal Esc - Intro" - "portal_escape.nearing_boss" : "Portal Esc - Nearing Boss" - "portal_escape.tube" : "Portal Esc - Tube" - - "portal_testchmb.cleanser" : "Portal TS - Fizzler" - "portal_testchmb.cross_the_gap" : "Portal TS - Cross The Gap" - "portal_testchmb.elevator_shaft" : "Portal TS - Elevator Shaft" - "portal_testchmb.energy_ball" : "Portal TS - Pellet" - "portal_testchmb.explore_space" : "Portal TS - Explore Space" - "portal_testchmb.fire_pit" : "Portal TS - Fire Pit" - "portal_testchmb.fixed_portal" : "Portal TS - Fixed Portal" - "portal_testchmb.fling" : "Portal TS - Fling" - "portal_testchmb.get_the_box" : "Portal TS - Get The Box" - "portal_testchmb.goo_pit" : "Portal TS - Goo Pit" - "portal_testchmb.tight_space" : "Portal TS - Tight Space" - "portal_testchmb.track_train" : "Portal TS - Unstationary Scaffolds" - "portal_testchmb.turret_danger" : "Portal TS - Turret Danger" - "portal_testchmb.use_your_box" : "Portal TS - Use Your Box" - - - - "finale_1_chamber_01" : "Finale 1 - Chamber" - "finale_1_hall_01" : "Finale 1 - Hall" - "finale_1_platform_01" : "Finale 1 - Platform" - "finale_1_transition_01" : "Finale 1 - Transition" - "finale_2_spawn" : "Finale 2 - Spawn" - "finale_2_chamber_01" : "Finale 2 - Chamber" - "finale_2_paint_01" : "Finale 2 - Paint" - "finale_2_tbeam_01" : "Finale 2 - Tractor Beam" - "finale_2_turrets" : "Finale 2 - Turrets" - "finale_2_water.chamber" : "Finale 2 - Chamber" - "finale_3_spawn" : "Finale 3 - Spawn" - "finale_3_chamber_01" : "Finale 3 - Chamber 1" - "finale_3_chamber_02" : "Finale 3 - Chamber 2" - "finale_4_chamber_01" : "Finale 4 - Chamber 1" - "finale_4_chamber_02" : "Finale 4 - Chamber 2" - "finale_4_chamber_03" : "Finale 4 - Chamber 3" - "finale_4_wheatley_chamber" : "Finale 4 - Wheatley Chamber" - - "airlock01.instance" : "Airlock 1 Instance" - - "BR_metals" : "Trailer - Metals" - - "BR.train_interior_1" : "Trailer - Train Interior" - "BR.train_knocked_out" : "Trailer - Train Knockout" - - "catch_chamber_01" : "Catch Chamber 1" - - "colo_chamber_01" : "Colo Chamber 1" - "colo_chamber_02" : "Colo Chamber 2" - - "coop.silence" : "Coop Silence" - - "core.chamber_01" : "Core Chamber" - "core.main.chamber_01" : "Core Main Chamber" - "core.spawn" : "Core Spawn" - - "endlevel.instance" : "Endlevel Instance" - - "EntryExitElevator.Exterior" : "Elevator - Exterior" - "EntryExitElevator.IndustrialStairs" : "Elevator - Industrial Stairs" - "EntryExitElevator.Interior" : "Elevator - Interior" - "EntryExitElevator.OpenChamber" : "Elevator - Open Chamber" - - "gap.ratman_01" : "Ratman Gap" - - "goalie_interior_01" : "Goalie Interior 1" - - "hall01.paint_longjump" : "Paint LongJump Hall" - - "hallway_short01.instance" : "Short Hallway" - - "industrial_gen_01" : "Industrial Generator" - - "jb2_catwalksection_01" : "Jailbreak 2 catwalk 1" - "jb2_catwalksection_end_room" : "Jailbreak 2 Catwalk End Room" - "jb3_catwalksection_01" : "Jailbreak 3 Catwalk 1" - "jb_catwalksection_01" : "Jailbreak 1 Catwalk 1" - "jb_catwalksection_02" : "Jailbreak 1 Catwalk 2" - - "jb_chamber_01" : "Jailbreak Chamber" - "jb_chamber_exit_01" : "Jailbreak Chamber Exit" - - "jb_toxin_chamber" : "Jailbreak Neuroxtoxin Chamber" - - - - "jump_chamber_lg_01" : "Jump Chamber Large" - - "laser_catapult_01" : "Laser Catapult" - - "laser_chamber_lg_01" : "Laser Chamber Large 1" - "laser_chamber_lg_01a" : "Laser Chamber Large 1a" - "laser_chamber_med_02" : "Laser Chamber Medium 2" - - "laser_plat_01" : "Laser Platform 1" - "laser_plat_ext_01" : "Laser Platform Exterior" - "laser_plat_int_01" : "Laser Platform Interior" - - "pan_test" : "Panning Test" - - "PD.Industrial_muffled_01" : "Industrial Muffled 1" - "PD.Industrial_muffled_02" : "Industrial Muffled 2" - "PD.Industrial_muffled_03" : "Industrial Muffled 3" - "PD.Industrial_muffled_04" : "Industrial Muffled 4" - "PD.Industrial_muffled_04a" : "Industrial Muffled 4a" - "PD.Industrial_muffled_05" : "Industrial Muffled 5" - - "PD.liquid_01" : "Liquid 1" - "PD.liquid_02" : "Liquid 2" - "PD.liquid_03" : "Liquid 3" - "PD.liquid_04" : "Liquid 4" - "PD_transition_01" : "Transition" - - "preTestChamber.Industrial_muffled_01" : "Prechamber Muffled" - - "return_chamber_01" : "Return Chamber 1" - "return_chamber_02" : "Return Chamber 2" - - "return_spawn" : "Return Spawn" - - "return_trans_01" : "Return Transition" - - "rug_ratman_01" : "Pull The Rug - Ratman" - - "spawn_room01.instance" : "Spawn Room 1" - "spawn_room_intro.instance" : "Spawn Room Intro" - - "tb_catch_chamber_01" : "Funnel Catch Chamber" - - "tbeam_chamber_01" : "Funnel Chamber 1" - "tbeam_chamber_02" : "Funnel Chamber 2" - - "tb_pol_chamber_01" : "Funnel Polarity Chamber" - - "tb_wall_chamber_01" : "Funnel Wall Button Chamber" - - - - "traincar.mvmnt" : "Train Movement" - - "train.exterior" : "Train Exterior" - "train.exterior_intro_fade" : "Train Exterior Intro Fade" - "train.exterior.quiet" : "Train Exterior Quiet" - - "trust_chamber_01" : "Trust Fling - Chamber" - "trust_ratman_01" : "Trust Fling - Ratman" - - "tube.spawn" : "Spawn Tube" - - "Turretchamber_01" : "Turret Chamber 1" - "Turretchamber_02" : "Turret Chamber 2" - "Turretchamber_03" : "Turret Chamber 3" - "Turretchamber_04" : "Turret Chamber 4" - "Turretchamber_04a" : "Turret Chamber 4a" - "Turretchamber.intro_01" : "Turret Chamber Intro" - "Turretchamber.liquid_01" : "Turret Chamber Liquid" - - "util.abstract.random.ambient" : "Util - Random Ambient Abstract" - "util.abstract.random.ambient.hi" : "Util - Random Ambient Abstract High" - - "utility.metal.imp.lo" : "Util - Low Metal Impact" - - "util_lo.end_mach" : "Util - Lo End Machine" - "util.random.boomer" : "Util - Random Boomer" - "util.random.metal_groans" : "Util - Random Metal Groans" - "util.random.rockdebris" : "Util - Random Rock Debris" - "util.random.rockfall" : "Util - Random Rock Fall" - "util.random.woodcreak" : "Util - Random Wood Creak" - "util_rocks_big" : "Util - Rocks Big" - "util.tech.random.ambient.hi" : "Util - Random Tech High Ambient" - "util_water.drain" : "Util - Water Drain" - - "warehouse.hallway_01" : "Warehouse Hallway" - - "warehouse.Industrial_01" : "Warehouse Industrial 1" - "warehouse.Industrial_02" : "Warehouse Industrial 2" - - "warehouse.med_01" : "Warehouse Medium 1" - "warehouse.med_02" : "Warehouse Medium 2" - "warehouse.med_03" : "Warehouse Medium 3" - "warehouse.med_04" : "Warehouse Medium 4" - "warehouse.med_05" : "Warehouse Medium 5" - "warehouse.med_06" : "Warehouse Medium 6" - "warehouse.med_06a" : "Warehouse Medium 6a" - - - "Nothing" : "Nothing" - //"Automatic" : "Automatic" - //"Automatic_Dialog" : "Automatic (dialog)" - //"GenericIndoor" : "Indoor" - //"GenericOutdoor" : "Outdoor" - ] - position0(target_destination) : "Sound Position 0" : "" : "A sound position that will be referenced inside the soundscape text file. Usually used to position a set of sounds within the world." - position1(target_destination) : "Sound Position 1" : "" : "A sound position that will be referenced inside the soundscape text file. Usually used to position a set of sounds within the world." - position2(target_destination) : "Sound Position 2" : "" : "A sound position that will be referenced inside the soundscape text file. Usually used to position a set of sounds within the world." - position3(target_destination) : "Sound Position 3" : "" : "A sound position that will be referenced inside the soundscape text file. Usually used to position a set of sounds within the world." - position4(target_destination) : "Sound Position 4" : "" : "A sound position that will be referenced inside the soundscape text file. Usually used to position a set of sounds within the world." - position5(target_destination) : "Sound Position 5" : "" : "A sound position that will be referenced inside the soundscape text file. Usually used to position a set of sounds within the world." - position6(target_destination) : "Sound Position 6" : "" : "A sound position that will be referenced inside the soundscape text file. Usually used to position a set of sounds within the world." - position7(target_destination) : "Sound Position 7" : "" : "A sound position that will be referenced inside the soundscape text file. Usually used to position a set of sounds within the world." - - // Inputs - input Enable(void) : "Enable the soundscape." - input Disabled(void) : "Disable the soundscape." - input ToggleEnabled(void) : "Toggle the soundscape enabled state." - - // Outputs - output OnPlay(void) : "Fired when this soundscape becomes the active one." -] - -@PointClass base(env_soundscape) sphere() - line(255 255 255, targetname, position0) - line(255 255 255, targetname, position1) - line(255 255 255, targetname, position2) - line(255 255 255, targetname, position3) - line(255 255 255, targetname, position4) - line(255 255 255, targetname, position5) - line(255 255 255, targetname, position6) - line(255 255 255, targetname, position7) - iconsprite("editor/env_soundscape_triggerable.vmt") = env_soundscape_triggerable : - "An entity that works like env_soundscape except that it works in conjunction with trigger_soundscape to determine when a player hears it." -[ -] - -@PointClass base(Targetname, Parentname, Angles) color(200 200 0) iconsprite("editor/env_spark.vmt") studio("models/editor/cone_helper.mdl") = env_spark : - "An entity used to create sparks at its origin." -[ - MaxDelay(string) : "Max Delay" : "0" : "The longest delay between sparks (in seconds)." - Magnitude(choices) : "Magnitude" : 1 : "The size of the sparks." = - [ - 1 : "Small" - 2 : "Medium" - 5 : "Large" - 8 : "Huge" - ] - - TrailLength(choices) : "Spark Trail Length" : 1 = - [ - 1 : "Short" - 2 : "Medium" - 3 : "Long" - ] - - spawnflags(flags) = - [ - 64: "Start ON" : 0 - 128: "Glow" : 0 - 256: "Silent" : 0 - 512: "Directional" : 0 - ] - - // Inputs - input StartSpark(void) : "Start the spark effect." - input StopSpark(void) : "Stop the spark effect." - input ToggleSpark(void) : "Toggle the on/off state of the spark effect." - input SparkOnce(void) : "Spark once." -] - -@PointClass base(Targetname, Parentname, RenderFields, SystemLevelChoice) - size(-2 -2 -2, 2 2 2) - sprite() - color(20 140 20) - sphere(GlowProxySize) = env_sprite : - "An entity that controls the drawing of a sprite in the world." -[ - framerate(string) : "Framerate" : "10.0" : "Rate at which the sprite should animate, if at all." - model(sprite) : "Sprite Name" : "sprites/glow01.spr" : "Material of the sprite to be drawn." - scale(string) : "Scale" : "" : "Scale multiplier of the sprite." - spawnflags(flags) = - [ - 1: "Start on" : 0 - 2: "Play Once" : 0 - ] - - GlowProxySize(float) : "Size of Glow Proxy Geometry." : "2.0" : "Size of the glow to be rendered for visibility testing. Must be larger than the distance from the sprite center to empty space. So if this glow is inside geometry (like a light bulb), set this value to be bigger than the bulb's radius. Any time a sphere of this radius would be visible (poking through any nearby geometry), the glow will be rendered." - - HDRColorScale(float) : "HDR color scale." : "1.0" : "float value to multiply sprite color by when running in HDR mode." - - // Inputs - input ColorRedValue(float) : "Sets the red color channel's value (0 - 255)." - input ColorGreenValue(float) : "Sets the green color channel's value (0 - 255)." - input ColorBlueValue(float) : "Sets the blue color channel's value (0 - 255)." - input SetScale(float) : "Set the sprite's scale (0 - 8.0)." - input HideSprite(void) : "Hide the sprite. Won't be drawn until the 'ShowSprite' input is received." - input ShowSprite(void) : "Show the sprite." - input ToggleSprite(void) : "Toggle the sprite between hidden and shown." -] - -@PointClass base(env_sprite) size(-2 -2 -2, 2 2 2) sprite() color(20 140 20) sphere(GlowProxySize) = env_sprite_clientside : - "An env_sprite that only exists on the client (much lower overhead!)" -[ -] - -@PointClass base(env_sprite, Angles) - studio("models/editor/axis_helper_thick.mdl") - sprite() - color(20 140 20) - sphere(GlowProxySize) = env_sprite_oriented: - "A env_sprite that allows orientation." -[ - framerate(string) : "Framerate" : "10.0" : "Rate at which the sprite should animate, if at all." - model(sprite) : "Sprite Name" : "sprites/glow01.spr" : "Material of the sprite to be drawn." - scale(string) : "Scale" : "" : "Scale multiplier of the sprite." - spawnflags(flags) = - [ - 1: "Start on" : 0 - 2: "Play Once" : 0 - ] - - GlowProxySize(float) : "Size of Glow Proxy Geometry." : "2.0" : "Size of the glow to be rendered for visibility testing. Must be larger than the distance from the sprite center to empty space. So if this glow is inside geometry (like a light bulb), set this value to be bigger than the bulb's radius. Any time a sphere of this radius would be visible (poking through any nearby geometry), the glow will be rendered." - - HDRColorScale(float) : "HDR color scale." : "1.0" : "float value to multiply sprite color by when running in HDR mode." - - // Inputs - input ColorRedValue(float) : "Sets the red color channel's value (0 - 255)." - input ColorGreenValue(float) : "Sets the green color channel's value (0 - 255)." - input ColorBlueValue(float) : "Sets the blue color channel's value (0 - 255)." - input SetScale(float) : "Set the sprite's scale (0 - 8.0)." - input HideSprite(void) : "Hide the sprite. Won't be drawn until the 'ShowSprite' input is received." - input ShowSprite(void) : "Show the sprite." - input ToggleSprite(void) : "Toggle the sprite between hidden and shown." -] - - -@PointClass base(Targetname, Angles) color(200 0 0) iconsprite("editor/env_wind.vmt") = env_wind : - "An entity to control wind in the map. Partially functional." -[ - //gustsound(sound) : "Gust Sound Filename" : "" : "Sound to be played to simulate the gusting wind." - minwind(integer) : "Min normal speed" : 20 : "Minimum speed of the wind while idling." - maxwind(integer) : "Max normal speed" : 50 : "Maximum speed of the wind while idling." - - mingust(integer) : "Min gust speed" : 100 : "Minimum speed of wind gusts." - maxgust(integer) : "Max gust speed" : 250 : "Maximum speed of wind gusts." - - mingustdelay(integer) : "Min gust delay" : 10 : "Minimum time delay between random gusts." - maxgustdelay(integer) : "Max gust delay" : 20 : "Maximum time delay between random gusts." - - gustduration(integer) : "Gust Duration" : 5 : "How long will the wind gust for." - - gustdirchange(integer) : "Max gust dir change (degrees)" : 20 : "Maximum amount that the wind's direction changes due to a gust." - - output OnGustStart(void) : "Fired when a wind gust begins." - output OnGustEnd(void) : "Fired when a wind gust ends." -] - -@PointClass base(Angles) - color(173 223 245) studioprop("models/editor/sky_camera.mdl") - sphere(fogstart) - sphere(fogend) - = sky_camera : - "An entity used to control the 3D Skybox. Its origin is used to determine the 3D Skybox's position relative to the map. Place this entity, in the 3D Skybox, at the point where the origin of the map should be." -[ - scale(integer) : "3D Skybox scale" : 16 : "Scale of the skybox." - fogenable(boolean) : "Fog Enable" : 0 - fogblend(boolean) : "Fog Blend" : 0 - use_angles(boolean) : "Use Angles for Fog Dir" : 0 - - fogcolor(color255) : "Primary Fog Color" : "255 255 255" - fogcolor2(color255) : "Secondary Fog Color" : "255 255 255" - fogdir(string) : "Primary Fog Dir" : "1 0 0" - fogstart(string) : "Fog Start" : "500.0" : "Distance at which the skybox fog should start." - fogend(string) : "Fog End" : "2000.0" : "Distance at which the skybox fog should be fully opaque." -] - -@BaseClass base(Targetname, ResponseContext) = BaseSpeaker -[ - delaymin(string) : "Min Delay Between Announcements" : "15" - delaymax(string) : "Max Delay Between Announcements" : "135" - spawnflags(flags) = - [ - 1: "Start Silent" : 0 - 2: "Play Everywhere" : 0 - ] - rulescript(string) : "Context rule script" : "" : "Script file containing rules for playing appropriate sounds." - concept(string) : "Concept name" : "" : "High level concept name used as primary search key." - - // Inputs - input TurnOn(void) : "Turn on the random announcements." - input TurnOff(void) : "Turn off the random announcements." - input Toggle(void) : "Toggle the random announcements off and on." -] - -//------------------------------------------------------------------------- -// -// Game Entities -// -//------------------------------------------------------------------------- - -@PointClass base(Targetname) = game_weapon_manager : - "An entity used to limit the number of a particular weapon type in the world. Useful in places where NPCs are spawning rapidly, dying, and dropping weapons." -[ - weaponname(string) : "Weapon Classname" : "" : "Classname of the weapon type to limit." - maxpieces(integer) : "Max Allowed in Level" : 0 : "The maximum amount of the specified weapon type allowed in the world." - ammomod(float) : "Ammo modifier" : 1 : "Modifier for ammount of ammo dropped by a weapon." - - // Inputs - input SetAmmoModifier(float): "Adjust the ammo modifier." -] - -@PointClass base(Targetname, MasterEnt) iconsprite("editor/game_end.vmt") = game_end : - "An entity that ends a multiplayer game." -[ - input EndGame(void) : "End the multiplayer game." -] - -@PointClass base(Targetname, MasterEnt) size(-8 -8 -8, 8 8 8) = game_player_equip : - "An entity that gives equipment to the player who activates it. To use, add new keys to this entity, where each key is the classname of a weapon/item, and the corresponding value is the number of those weapons/items to give to the player who uses this entity. If the 'Use Only' spawnflag isn't set, then players can just touch this entity to get the equipment." -[ - spawnflags(flags) = - [ - 1: "Use Only" : 0 - ] -] - -@PointClass base(Targetname, MasterEnt) size(-8 -8 -8, 8 8 8) color(200 0 0) = game_player_team : - "An entity that changes the team of the player who activates it." -[ - spawnflags(flags) = - [ - 1 : "Remove On fire" : 0 - 2 : "Kill Player" : 0 - 4 : "Gib Player" : 0 - ] - target(string) : "game_team_master to use" -] - -@PointClass base(Targetname, MasterEnt) size(-8 -8 -8, 8 8 8) color(200 0 0) = game_score : - "An entity that awards/deducts points from the player who activates it." -[ - spawnflags(flags) = - [ - 1: "Allow Negative" : 0 - 2: "Team Points" : 0 - ] - - points(integer) : "Points to add (+/-)" : 1 - - // Inputs - input ApplyScore(void) : "Add score to player." -] - -@PointClass base(Targetname, MasterEnt) iconsprite("editor/game_text.vmt") color(200 0 0) = game_text : - "An entity that displays text on player's screens." -[ - spawnflags(flags) = - [ - 1: "All Players" : 0 - ] - - message(string) report : "Message Text" : "" : "Message to display onscreen." - x(string) : "X (0 - 1.0 = left to right) (-1 centers)" : "-1" : "Horizontal position on the player's screens to draw the text. The value should be between 0 and 1, where 0 is the far left of the screen and 1 is the far right. -1 centers the text." - y(string) : "Y (0 - 1.0 = top to bottom) (-1 centers)" : "-1" : "Vertical position on the player's screens to draw the text. The value should be between 0 and 1, where 0 is the top of the screen and 1 is the bottom. -1 centers the text." - effect(Choices) : "Text Effect" : 0 = - [ - 0 : "Fade In/Out" - 1 : "Credits" - 2 : "Scan Out" - ] - color(color255) : "Color1" : "100 100 100" - color2(color255) : "Color2" : "240 110 0" - fadein(string) : "Fade in Time (or character scan time)" : "1.5" : "The time it should take for the text to fully fade in." - fadeout(string) : "Fade Out Time" : "0.5" : "The time it should take for the text to fade out, after the hold time has expired." - holdtime(string) : "Hold Time" : "1.2" : "The time the text should stay onscreen, after fading in, before it begins to fade out." - fxtime(string) : "Scan time (scan effect only)" : "0.25" : "If the 'Text Effect' is set to Scan Out, this is the time it should take to scan out all the letters in the text." - channel(choices) : "Text Channel" : 1 : "You can have up to four individual game_text messages onscreen at once, stored in channels. Select which channel this text should be placed in, which will overwrite any active message already in that channel." = - [ - 1 : "Channel 1" - 2 : "Channel 2" - 3 : "Channel 3" - 4 : "Channel 4" - ] - // Inputs - input Display(void) : "Display the message text." - input SetText(string) : "Set the text to display." - input SetPosX(float) : "Set the X position of the text. (0 - 1.0 = left to right) (-1 centers)" - input SetPosY(float) : "Set the Y position of the text. (0 - 1.0 = top to bottom) (-1 centers)" - input SetTextColor(color255) : "Set color of the front text." - input SetTextColor2(color255) : "Set color of the transition text." -] - -@PointClass base(Parentname, Angles) size(-2 -2 -2, 2 2 2) line(255 255 255, targetname, parentname) = point_enable_motion_fixup : - "An entity used to move a motion-disabled prop when it enables motion. Parent this entity to the prop, and when the prop has its motion enabled, it will immediately teleport to the origin of this entity." -[ -] - -@PointClass base(Targetname, Parentname) studio("models/editor/axis_helper.mdl") color(200 200 0) iconsprite("editor/ts2do/env_message.vmt") sphere(radius) = point_message : - "An entity that displays a text message in the world, at its origin." -[ - spawnflags(flags) = - [ - 1: "Start Disabled" : 0 - ] - - message(string) : "Entity Message" - radius(integer) : "Show message radius" : 128 : "Distance the player must be within to see this message." - developeronly(boolean) : "Developer Only?" : 0 : "If set, this message will only be visible when developer mode is on." - - // Inputs - input Enable(void) : "Start displaying the message text, if the player is within the message radius." - input Disable(void) : "Stop displaying the message text." -] - -@PointClass base(Targetname, Parentname, RenderFields, Angles, SystemLevelChoice) - studio("models/editor/cone_helper.mdl") - sphere(spotlightlength) - sphere(spotlightwidth) = point_spotlight : - "An entity to draw a spotlight. Will draw a beam when the player views it side on, and a halo when it's facing towards the player. "+ - "Unless the 'No Dynamic Light' spawnflag is checked, it will also create a dynamic light wherever the end of the spotlight rests." -[ - spawnflags(Flags) = - [ - 1 : "Start On" : 1 - 2 : "No Dynamic Light" : 1 - ] - - spotlightlength(integer) : "Spotlight Length" : 500 : "Length of the spotlight beam." - spotlightwidth(integer) : "Spotlight Width" : 50 : "Width of the spotlight beam." - rendercolor(color255) : "Color (R G B)" : "255 255 255" - HDRColorScale(float) : "HDR color scale." : "1.0" : "float value to multiply sprite color by when running in HDR mode." - - // Inputs - input LightOn(void) : "Turn the spotlight on." - input LightOff(void) : "Turn the spotlight off" - input SetColor(color255) : "Change the color of the spotlight" - input ForceUpdate(void) : "Force an update of the spotlight position and orientation" - - // outputs - output OnLightOn(void) : "Fires when light turns on." - output OnLightOff(void) : "Fires when light turns off." - -] - -@PointClass base(Targetname, Parentname) - size(-8 -8 -8, 8 8 8) color(200 200 0) - line(255 255 0, targetname, m_SourceEntityName) - sphere(m_flRadius) - = point_tesla : - "An entity that creates tesla lightning arcs around its origin." -[ - m_SourceEntityName(target_destination) : "Source Entity" : "" : "If specified, tesla lightning will originate from the specified entity. Otherwise, they originate from this entity." - m_SoundName(sound) : "Sound Name" : "DoSpark" : "Sound to be played whenever lightning is created." - - texture(sprite) : "Sprite Name" : "sprites/physbeam.vmt" : "Material to use for the tesla lightning beams." - - m_Color(color255) : "Color" : "255 255 255" - - m_flRadius(integer) : "Radius" : 200 : "Radius around the origin to find a point to strike with a tesla lightning beam." - - beamcount_min(integer) : "Min # of Beams" : 6 : "Minimum number of tesla lightning beams to create when creating an arc." - beamcount_max(integer) : "Max # of Beams" : 8 : "Maximum number of tesla lightning beams to create when creating an arc." - - thick_min(string) : "Min Beam Width" : "4" : "Minimum width of the tesla lightning beams." - thick_max(string) : "Max Beam Width" : "5" : "Maximum width of the tesla lightning beams." - - lifetime_min(string) : "Min Time Visible" : "0.3" : "Minimum lifetime of the tesla lightning beams." - lifetime_max(string) : "Max Time Visible" : "0.3" : "Maximum lifetime of the tesla lightning beams." - - interval_min(string) : "Min Time Between Arcs":"0.5" : "Minimum time delay between random arcing." - interval_max(string) : "Max Time Between Arcs":"2" : "Maximum time delay between random arcing." - - // Inputs - input TurnOn(void) : "Turn emitter on." - input TurnOff(void) : "Turn emitter off." - input DoSpark(void) : "Force a single arc." -] - -@PointClass base(Targetname) color(200 0 0) iconsprite("editor/point_clientcommand.vmt") = point_clientcommand : - "An entity that issues commands to the client console, as if it was typed in by the player (if activator is a player, or the local player in single player)." -[ - // Inputs - input Command(string) : "Command to execute." -] - -@PointClass base(Targetname) color(200 0 0) iconsprite("editor/point_servercommand.vmt") = point_servercommand : - "An entity that issues commands to the server console." -[ - // Inputs - input Command(string) : "Command to execute." -] - -@PointClass base(Targetname) color(200 0 0) iconsprite("editor/point_clientcommand.vmt") = point_broadcastclientcommand : - "An entity that issues commands to all player's client consoles." -[ - // Inputs - input Command(string) : "Command to execute for all players." -] - -@PointClass base(Targetname) color(200 0 0) size(-8 -8 -8, 8 8 8) = point_bonusmaps_accessor : - "An entity that relays bonus maps changes." -[ - filename(string) : "File Name" : "" - mapname(string) : "Map Name" : "" - - // Inputs - input Unlock(void) : "Unlocks the filename/map combination." - input Complete(void) : "Completes the filename/map combination." - input Save(void) : "Saves bonus map data." -] - -@PointClass base(Targetname) color(200 0 0) iconsprite("editor/ts2do/game_ui.vmt") = game_ui : - "An entity used to override player input when the player is looking at it." -[ - spawnflags(flags) = - [ - 32 : "Freeze Player" : 1 - 64 : "Hide Weapon" : 1 - 128 : "+Use Deactivates" : 1 - 256 : "Jump Deactivates" : 1 - ] - - FieldOfView(float) : "FieldOfView" : "-1.0" : "The amount of tolerance in the view checking when determining whether the player's input is still under control. 1.0 = straight ahead, 0.0 = +/- 90 degrees, -1.0 = all directions. If the player isn't within the tolerance, the player regains control." - - // Inputs - input Deactivate(void) : "Return Player Control." - input Activate(string) : "Take Player Control." - - // Outputs - output PlayerOn(void) : "Fired whenever this entity starts controlling the player's input." - output PlayerOff(void) : "Fired whenever this entity stops controlling the player's input." - output PressedMoveLeft(void) : "Fired whenever the player presses the moveleft key." - output PressedMoveRight(void) : "Fired whenever the player presses the moveright key." - output PressedForward(void) : "Fired whenever the player presses the forward key." - output PressedBack(void) : "Fired whenever the player presses the backward key." - output PressedAttack(void) : "Fired whenever the player presses the attack key." - output PressedAttack2(void) : "Fired whenever the player presses the secondary attack key." - - output UnpressedMoveLeft(void) : "Fired whenever the player releases the moveleft key." - output UnpressedMoveRight(void) : "Fired whenever the player releases the moveright key." - output UnpressedForward(void) : "Fired whenever the player releases the forward key." - output UnpressedBack(void) : "Fired whenever the player releases the backward key." - output UnpressedAttack(void) : "Fired whenever the player releases the attack key." - output UnpressedAttack2(void) : "Fired whenever the player releases the secondary attack key." - - output XAxis(string) : "An output that fires whenever the X axis of the player's input changes. i.e. -1 when the player has moveleft key down, 1 when the player has moveright key down, and 0 if neither." - output YAxis(string) : "An output that fires whenever the Y axis of the player's input changes. i.e. -1 when the player has backward key down, 1 when the player has forward key down, and 0 if neither." - output AttackAxis(string) : "An output that fires whenever the state of the player's attack key changes. i.e. 1 when the player has the attack key down, 0 otherwise." - output Attack2Axis(string) : "An output that fires whenever the state of the player's secondary attack key changes. i.e. 1 when the player has the secondary attack key down, 0 otherwise." -] - -@PointClass base(Targetname) - line(255 255 0, targetname, referencename) - line(255 255 0, targetname, filtername) - color(0 100 250) iconsprite("editor/point_entity_finder") = point_entity_finder : - "An entity that will find an entity and pass it along as the !Caller with the OutEntity output. Requires using !Caller as the parameter on the input." -[ - filtername(filterclass) : "Filter Name" : : "Filter to use to narrow set of findable entities. See filter_activator_name for more explanation." - referencename(target_destination) : "Reference Entity" : "" : "Name of the entity to use when evaluating criteria. For example, when using 'Nearest', this is the entity that distance will be measured from. If left blank will use the point_entity_finder." - - Method(choices) : "Search Method" : "0" = - [ - 0 : "Nearest" - 1 : "Farthest" - 2 : "Random" - ] - - // Inputs - input FindEntity(void) : "Find an entity that meets the specified criteria. Will fire OutEntity if found and pass the entity as !Caller." - - // Outputs - output OnFoundEntity(void) : "Fired when FindEntity is input and an entity was found. Passes the found entity as !Caller." -] - -@SolidClass base(Targetname, Parentname) = game_zone_player : - "An entity used to count the number of players within a zone." -[ - // Inputs - input CountPlayersInZone(void) : "Count the number of players in the zone, and fire the corresponding outputs." - - // Outputs - output OnPlayerInZone(void) : "Fired whenever a count finds a player inside the zone, with the player as the activator." - output OnPlayerOutZone(void) : "Fired whenever a count finds a player outside the zone, with the player as the activator." - output PlayersInCount(integer) : "Fired after a count, and contains the number of players found inside the zone." - output PlayersOutCount(integer) : "Fired after a count, and contains the number of players found outside the zone." -] - -//------------------------------------------------------------------------- -// -// Info Entities -// -//------------------------------------------------------------------------- - -@PointClass base(Targetname, Angles) decal() studio("models/editor/axis_helper_thick.mdl") = infodecal : - "An entity that places a decal on the world. If the decal has no target name, it will immediately apply itself when the level is loaded. "+ - "If it has a name specified, it won't apply until it receives the 'Activate' input." -[ - texture(decal) : "Texture" : "" : "The texture used for the decal." - - LowPriority(boolean) : "Low Priority" : 1 : "Allow the decal to be overwritten by other decals when needed. This also makes the decal not persist across savegames." - - // Inputs - input Activate(void) : "Force the decal to apply itself to the world." -] - -// A decal to be applied to a prop or the world using specified origin and orientation and radius, uses an orientation angle and a radius to determine -// ray to cast for projection -@PointClass base(Angles,Targetname) decal() studio("models/editor/axis_helper_thick.mdl") sphere(distance) = info_projecteddecal : - "An entity that projects a decal onto the world (or props). If the decal has no target name, it will immediately apply itself when "+ - "the level is loaded. If it has a name specified, it won't apply until it receives the 'Activate' input." -[ - texture(decal) : "Texture" : "" : "The texture used for the decal." - Distance(float) : "Distance" : 64 : "Distance from the origin to project the decal." - - // Inputs - input Activate(void) : "Force the decal to apply itself to the world." -] - -@PointClass iconsprite("editor/info_no_dynamic_shadow.vmt") color(200 200 0) = info_no_dynamic_shadow : - "Use this entity to mark surfaces that shouldn't receive dynamic shadows. Useful to apply to walls and floors "+ - "where shadows are drawn improperly, giving away the location of enemies." -[ - sides(sidelist) : "Brush faces" -] - -@PointClass base(PlayerClass, Angles) color(200 0 0) studio("models/editor/playerstart.mdl") = info_player_start : - "This entity indicates the position and facing direction at which the player will spawn. Any number of "+ - "info_player_start entities may be placed in a map for when working in cordoned-off portions of the map. "+ - "When multiple info_player_start entities are present in a map, set the 'Master' spawnflag on one of them "+ - "to indicate which one should be used when running the entire map." -[ - spawnflags(flags) = - [ - 1: "Master (Has priority if multiple info_player_starts exist)" : 0 - ] -] - -@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" : : "The brush faces this overlay is applied to." - RenderOrder(integer) : "Render Order" : 0 : "Higher values render after lower values. This value can be 0-3." - StartU(float) : "U Start" : "0.0" : "A value between 0-1, defining the starting X axis position in the overlay material." - EndU(float) : "U End" : "1.0" : "A value between 0-1, defining the ending X axis position in the overlay material." - StartV(float) : "V Start" : "0.0" : "A value between 0-1, defining the starting Y axis position in the overlay material." - EndV(float) : "V End" : "1.0" : "A value between 0-1, defining the ending Y axis position in the overlay material." - BasisOrigin(Vector) readonly : "Overlay Basis Origin(Read-Only)" - BasisU(Vector) readonly : "Overlay Basis U(Read-Only)" - BasisV(Vector) readonly : "Overlay Basis V(Read-Only)" - BasisNormal(Vector) readonly : "Overlay Basis Normal(Read-Only)" - uv0(vector) readonly : "Overlay Point 1(Read-Only)" - uv1(vector) readonly : "Overlay Point 2(Read-Only)" - uv2(vector) readonly : "Overlay Point 3(Read-Only)" - uv3(vector) readonly : "Overlay Point 4(Read-Only)" - 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)." -] - -@PointClass size(-8 -8 -8, 8 8 8) - sidelist(sides) - sidelist(sides2) - overlay_transition() - = info_overlay_transition : "This creates a scrolling texture at the instersect between two brushes, for things likw wave effects at water edges." -[ - material(material) : "Material" - sides(sidelist) : "Brush faces" - sides2(sidelist) : "Water faces" - LengthTexcoordStart(float) : "Texcoord Length Start" : "0.0" - LengthTexcoordEnd(float) : "Texcoord Length End" : "1.0" - WidthTexcoordStart(float) : "Texcoord Width Start" : "0.0" - WidthTexcoordEnd(float) : "Texcoord Width End" : "1.0" - Width1(float) : "Width Land" : "25.0" - Width2(float) : "Width Water" : "25.0" - DebugDraw(boolean) : "Show Debug" : 0 -] - -@PointClass size(-4 -4 -4, 4 4 4) color(200 0 0) line(255 255 0, target) = info_intermission : - "An entity that defines an intermission spot where dead players will float until they respawn." -[ - target(target_destination) : "Entity to look at" : : "Name of entity that dead players will face while in intermission at this spot." -] - -@PointClass base(Targetname) color(200 0 0) iconsprite("editor/info_landmark") = info_landmark : - "An entity that acts as a landmark for transitions to another level. There should be a corresponding info_landmark entity in the next map. Entities will be transitioned to the next level relative to the info_landmark entities." -[ -] - -@PointClass base(Targetname) color(200 0 0) iconsprite("editor/ts2do/info_null.vmt") = info_null : - "An entity that's immediately removed on spawning. Useful as a spotlight target." -[ -] - -@PointClass base(Targetname, Parentname, Angles) - halfgridsnap - iconsprite("editor/info_target.vmt") - studio("models/editor/axis_helper.mdl") = 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 - ] -] - -@PointClass base(Targetname, Parentname, Angles, Reflection) color(200 200 0) studio("models/editor/cone_helper.mdl") - line(255 255 255, targetname, cpoint1) line(255 255 255, targetname, cpoint2) line(255 255 255, targetname, cpoint3) - line(255 255 255, targetname, cpoint4) line(255 255 255, targetname, cpoint5) line(255 255 255, targetname, cpoint6) - line(255 255 255, targetname, cpoint7) line(255 255 255, targetname, cpoint8) line(255 255 255, targetname, cpoint9) - line(255 255 255, targetname, cpoint10) line(255 255 255, targetname, cpoint11) line(255 255 255, targetname, cpoint12) - line(255 255 255, targetname, cpoint13) line(255 255 255, targetname, cpoint14) line(255 255 255, targetname, cpoint15) - line(255 255 255, targetname, cpoint16) line(255 255 255, targetname, cpoint17) line(255 255 255, targetname, cpoint18) - line(255 255 255, targetname, cpoint19) line(255 255 255, targetname, cpoint20) line(255 255 255, targetname, cpoint21) - line(255 255 255, targetname, cpoint22) line(255 255 255, targetname, cpoint23) line(255 255 255, targetname, cpoint24) - line(255 255 255, targetname, cpoint25) line(255 255 255, targetname, cpoint26) line(255 255 255, targetname, cpoint27) - line(255 255 255, targetname, cpoint28) line(255 255 255, targetname, cpoint29) line(255 255 255, targetname, cpoint30) - line(255 255 255, targetname, cpoint31) line(255 255 255, targetname, cpoint32) line(255 255 255, targetname, cpoint33) - line(255 255 255, targetname, cpoint34) line(255 255 255, targetname, cpoint35) line(255 255 255, targetname, cpoint36) - line(255 255 255, targetname, cpoint37) line(255 255 255, targetname, cpoint38) line(255 255 255, targetname, cpoint39) - line(255 255 255, targetname, cpoint40) line(255 255 255, targetname, cpoint41) line(255 255 255, targetname, cpoint42) - line(255 255 255, targetname, cpoint43) line(255 255 255, targetname, cpoint44) line(255 255 255, targetname, cpoint45) - line(255 255 255, targetname, cpoint46) line(255 255 255, targetname, cpoint47) line(255 255 255, targetname, cpoint48) - line(255 255 255, targetname, cpoint49) line(255 255 255, targetname, cpoint50) line(255 255 255, targetname, cpoint51) - line(255 255 255, targetname, cpoint52) line(255 255 255, targetname, cpoint53) line(255 255 255, targetname, cpoint54) - line(255 255 255, targetname, cpoint55) line(255 255 255, targetname, cpoint56) line(255 255 255, targetname, cpoint57) - line(255 255 255, targetname, cpoint58) line(255 255 255, targetname, cpoint59) line(255 255 255, targetname, cpoint60) - line(255 255 255, targetname, cpoint61) line(255 255 255, targetname, cpoint62) line(255 255 255, targetname, cpoint63) = info_particle_system : - "An entity that spawns a particle system built using the particle editor." -[ - effect_name(particlesystem) : "Particle System Name" - start_active(boolean) : "Start Active?" : 0 - - cpoint1(target_destination) : "Control Point 1" : : "If set, control point 1 of the effect will be at this entity's location." - cpoint2(target_destination) : "Control Point 2" : : "If set, control point 2 of the effect will be at this entity's location. If control point 1 is not set, this will be ignored." - cpoint3(target_destination) : "Control Point 3" : : "If set, control point 3 of the effect will be at this entity's location. If control point 2 is not set, this will be ignored." - cpoint4(target_destination) : "Control Point 4" : : "If set, control point 4 of the effect will be at this entity's location. If control point 3 is not set, this will be ignored." - cpoint5(target_destination) : "Control Point 5" : : "If set, control point 5 of the effect will be at this entity's location. If control point 4 is not set, this will be ignored." - cpoint6(target_destination) : "Control Point 6" : : "If set, control point 6 of the effect will be at this entity's location. If control point 5 is not set, this will be ignored." - cpoint7(target_destination) : "Control Point 7" : : "If set, control point 7 of the effect will be at this entity's location. If control point 6 is not set, this will be ignored." - cpoint8(target_destination) : "Control Point 8" : : "If set, control point 8 of the effect will be at this entity's location. If control point 7 is not set, this will be ignored." - cpoint9(target_destination) : "Control Point 9" : : "If set, control point 9 of the effect will be at this entity's location. If control point 8 is not set, this will be ignored." - cpoint10(target_destination) : "Control Point 10" : : "If set, control point 10 of the effect will be at this entity's location. If control point 9 is not set, this will be ignored." - cpoint11(target_destination) : "Control Point 11" : : "If set, control point 11 of the effect will be at this entity's location. If control point 10 is not set, this will be ignored." - cpoint12(target_destination) : "Control Point 12" : : "If set, control point 12 of the effect will be at this entity's location. If control point 11 is not set, this will be ignored." - cpoint13(target_destination) : "Control Point 13" : : "If set, control point 13 of the effect will be at this entity's location. If control point 12 is not set, this will be ignored." - cpoint14(target_destination) : "Control Point 14" : : "If set, control point 14 of the effect will be at this entity's location. If control point 13 is not set, this will be ignored." - cpoint15(target_destination) : "Control Point 15" : : "If set, control point 15 of the effect will be at this entity's location. If control point 14 is not set, this will be ignored." - cpoint16(target_destination) : "Control Point 16" : : "If set, control point 16 of the effect will be at this entity's location. If control point 15 is not set, this will be ignored." - cpoint17(target_destination) : "Control Point 17" : : "If set, control point 17 of the effect will be at this entity's location. If control point 16 is not set, this will be ignored." - cpoint18(target_destination) : "Control Point 18" : : "If set, control point 18 of the effect will be at this entity's location. If control point 17 is not set, this will be ignored." - cpoint19(target_destination) : "Control Point 19" : : "If set, control point 19 of the effect will be at this entity's location. If control point 18 is not set, this will be ignored." - cpoint20(target_destination) : "Control Point 20" : : "If set, control point 20 of the effect will be at this entity's location. If control point 19 is not set, this will be ignored." - cpoint21(target_destination) : "Control Point 21" : : "If set, control point 21 of the effect will be at this entity's location. If control point 10 is not set, this will be ignored." - cpoint22(target_destination) : "Control Point 22" : : "If set, control point 22 of the effect will be at this entity's location. If control point 21 is not set, this will be ignored." - cpoint23(target_destination) : "Control Point 23" : : "If set, control point 23 of the effect will be at this entity's location. If control point 22 is not set, this will be ignored." - cpoint24(target_destination) : "Control Point 24" : : "If set, control point 24 of the effect will be at this entity's location. If control point 23 is not set, this will be ignored." - cpoint25(target_destination) : "Control Point 25" : : "If set, control point 25 of the effect will be at this entity's location. If control point 24 is not set, this will be ignored." - cpoint26(target_destination) : "Control Point 26" : : "If set, control point 26 of the effect will be at this entity's location. If control point 25 is not set, this will be ignored." - cpoint27(target_destination) : "Control Point 27" : : "If set, control point 27 of the effect will be at this entity's location. If control point 26 is not set, this will be ignored." - cpoint28(target_destination) : "Control Point 28" : : "If set, control point 28 of the effect will be at this entity's location. If control point 27 is not set, this will be ignored." - cpoint29(target_destination) : "Control Point 29" : : "If set, control point 29 of the effect will be at this entity's location. If control point 28 is not set, this will be ignored." - cpoint30(target_destination) : "Control Point 30" : : "If set, control point 30 of the effect will be at this entity's location. If control point 29 is not set, this will be ignored." - cpoint31(target_destination) : "Control Point 31" : : "If set, control point 31 of the effect will be at this entity's location. If control point 30 is not set, this will be ignored." - cpoint32(target_destination) : "Control Point 32" : : "If set, control point 32 of the effect will be at this entity's location. If control point 31 is not set, this will be ignored." - cpoint33(target_destination) : "Control Point 33" : : "If set, control point 33 of the effect will be at this entity's location. If control point 32 is not set, this will be ignored." - cpoint34(target_destination) : "Control Point 34" : : "If set, control point 34 of the effect will be at this entity's location. If control point 33 is not set, this will be ignored." - cpoint35(target_destination) : "Control Point 35" : : "If set, control point 35 of the effect will be at this entity's location. If control point 34 is not set, this will be ignored." - cpoint36(target_destination) : "Control Point 36" : : "If set, control point 36 of the effect will be at this entity's location. If control point 35 is not set, this will be ignored." - cpoint37(target_destination) : "Control Point 37" : : "If set, control point 37 of the effect will be at this entity's location. If control point 36 is not set, this will be ignored." - cpoint38(target_destination) : "Control Point 38" : : "If set, control point 38 of the effect will be at this entity's location. If control point 37 is not set, this will be ignored." - cpoint39(target_destination) : "Control Point 39" : : "If set, control point 39 of the effect will be at this entity's location. If control point 38 is not set, this will be ignored." - cpoint40(target_destination) : "Control Point 40" : : "If set, control point 40 of the effect will be at this entity's location. If control point 39 is not set, this will be ignored." - cpoint41(target_destination) : "Control Point 41" : : "If set, control point 41 of the effect will be at this entity's location. If control point 40 is not set, this will be ignored." - cpoint42(target_destination) : "Control Point 42" : : "If set, control point 42 of the effect will be at this entity's location. If control point 41 is not set, this will be ignored." - cpoint43(target_destination) : "Control Point 43" : : "If set, control point 43 of the effect will be at this entity's location. If control point 42 is not set, this will be ignored." - cpoint44(target_destination) : "Control Point 44" : : "If set, control point 44 of the effect will be at this entity's location. If control point 43 is not set, this will be ignored." - cpoint45(target_destination) : "Control Point 45" : : "If set, control point 45 of the effect will be at this entity's location. If control point 44 is not set, this will be ignored." - cpoint46(target_destination) : "Control Point 46" : : "If set, control point 46 of the effect will be at this entity's location. If control point 45 is not set, this will be ignored." - cpoint47(target_destination) : "Control Point 47" : : "If set, control point 47 of the effect will be at this entity's location. If control point 46 is not set, this will be ignored." - cpoint48(target_destination) : "Control Point 48" : : "If set, control point 48 of the effect will be at this entity's location. If control point 47 is not set, this will be ignored." - cpoint49(target_destination) : "Control Point 49" : : "If set, control point 49 of the effect will be at this entity's location. If control point 48 is not set, this will be ignored." - cpoint50(target_destination) : "Control Point 50" : : "If set, control point 50 of the effect will be at this entity's location. If control point 49 is not set, this will be ignored." - cpoint51(target_destination) : "Control Point 51" : : "If set, control point 51 of the effect will be at this entity's location. If control point 50 is not set, this will be ignored." - cpoint52(target_destination) : "Control Point 52" : : "If set, control point 52 of the effect will be at this entity's location. If control point 51 is not set, this will be ignored." - cpoint53(target_destination) : "Control Point 53" : : "If set, control point 53 of the effect will be at this entity's location. If control point 52 is not set, this will be ignored." - cpoint54(target_destination) : "Control Point 54" : : "If set, control point 54 of the effect will be at this entity's location. If control point 53 is not set, this will be ignored." - cpoint55(target_destination) : "Control Point 55" : : "If set, control point 55 of the effect will be at this entity's location. If control point 54 is not set, this will be ignored." - cpoint56(target_destination) : "Control Point 56" : : "If set, control point 56 of the effect will be at this entity's location. If control point 55 is not set, this will be ignored." - cpoint57(target_destination) : "Control Point 57" : : "If set, control point 57 of the effect will be at this entity's location. If control point 56 is not set, this will be ignored." - cpoint58(target_destination) : "Control Point 58" : : "If set, control point 58 of the effect will be at this entity's location. If control point 57 is not set, this will be ignored." - cpoint59(target_destination) : "Control Point 59" : : "If set, control point 59 of the effect will be at this entity's location. If control point 58 is not set, this will be ignored." - cpoint60(target_destination) : "Control Point 60" : : "If set, control point 60 of the effect will be at this entity's location. If control point 59 is not set, this will be ignored." - cpoint61(target_destination) : "Control Point 61" : : "If set, control point 61 of the effect will be at this entity's location. If control point 60 is not set, this will be ignored." - cpoint62(target_destination) : "Control Point 62" : : "If set, control point 62 of the effect will be at this entity's location. If control point 61 is not set, this will be ignored." - cpoint63(target_destination) : "Control Point 63" : : "If set, control point 63 of the effect will be at this entity's location. If control point 62 is not set, this will be ignored." - - cpoint1_parent(string) : "Control Point 1's Parent" : : "If set and nonzero, control point 1 of the effect will use this point for its parent." - cpoint2_parent(string) : "Control Point 2's Parent" : : "If set and nonzero, control point 2 of the effect will use this point for its parent." - cpoint3_parent(string) : "Control Point 3's Parent" : : "If set and nonzero, control point 3 of the effect will use this point for its parent." - cpoint4_parent(string) : "Control Point 4's Parent" : : "If set and nonzero, control point 4 of the effect will use this point for its parent." - cpoint5_parent(string) : "Control Point 5's Parent" : : "If set and nonzero, control point 5 of the effect will use this point for its parent." - cpoint6_parent(string) : "Control Point 6's Parent" : : "If set and nonzero, control point 6 of the effect will use this point for its parent." - cpoint7_parent(string) : "Control Point 7's Parent" : : "If set and nonzero, control point 7 of the effect will use this point for its parent." - - // Inputs - input Start(void) : "Tell the particle system to start emitting." - input Stop(void) : "Tell the particle system to stop emitting." - input StopPlayEndCap(void) : "Tell the particle system to stop emitting and play its End Cap Effect." - input DestroyImmediately(void) : "Destroy the particle system and remove all particles immediately." -] - - -@PointClass base(Targetname, EnableDisable, Parentname, Angles) - line(255 255 0, targetname, target) - iconsprite("editor/info_target.vmt") - sphere(radius) color(128 128 128) - = phys_ragdollmagnet : - "An entity that acts like a magnet for ragdolls. Useful for crafting exaggerated ragdoll behavior (i.e. guys falling over rails on death). If the "+ - "Bar Magnet spawnflag is set, the magnet works like it was a cylindrical magnet i.e. it attracts ragdolls to the nearest point on a line." -[ - axis(vecline) : "Bar Magnet Axis" : : "If the Bar Magnet spawnflag is set, ragdolls will be attracted to any point on this line." - radius(float) : "Effective Radius" : "512" : "Radius in which ragdolls are affected around this entity's origin." - force(float) : "Force" : "5000" : "Magnetic force to apply to ragdolls within the radius. Expressed as kilograms per inch per second. So a force of 1000 will add 10 inches/second to a 100kg man. It will add 100 inches per second to a 10kg headcrab." - - target(target_destination) : "Entity to affect" : "" : "If specified, the phys_ragdollmagnet will only affect the target entity." - - spawnflags( Flags ) = - [ - 2 : "Bar Magnet (use axis helper)" : 0 - ] -] - -@PointClass base(Targetname) halfgridsnap iconsprite("editor/info_lighting.vmt") = info_lighting : - "An entity that can be used to change the lighting origin of a prop_static. Set the prop_static's Lighting Origin to point at this entity to "+ - "make the prop_static light as if it was at the info_lighting's origin. Good for prop_static entities that are embedded in world geometry (like rocks/windows/etc)." -[ -] - -// This is obsolete, info_target is all you need now. -@PointClass base(Targetname, Parentname, Angles, PlayerClass) studio("models/editor/playerstart.mdl") = info_teleport_destination : - "An entity that does nothing itself, but can be used to specify the destination for a trigger_teleport entity. An info_target can be used instead." -[ -] - - -//------------------------------------------------------------------------- -// -// Nodes and Hints -// -//------------------------------------------------------------------------- - -@PointClass base(Node) studio("models/editor/ground_node.mdl") color(232 219 8) = info_node : - "A navigation node for ground moving NPCs. Navigation nodes are baked into the nodegraph so that NPCs can move " + - "to them. Ground nodes fall to the ground when they spawn." -[ - spawnflags(Flags) = - [ - 1 : "Force human permission" : 0 - 2 : "Force small_centered permission" : 0 - 4 : "Force wide_human permission" : 0 - 8 : "Force tiny permissiont" : 0 - 16 : "Force wide_short permission" : 0 - 32 : "Force medium permission" : 0 - 64 : "Force tiny_centered permission" : 0 - 128 : "Force large permission" : 0 - 256 : "Force large_centered permission" : 0 - 512 : "Keep editor position" : 0 - ] -] - -@PointClass base(Targetname, Angles, HintNode) studio("models/editor/ground_node_hint.mdl") sphere(radius) color(232 219 8) = info_node_hint : - "A navigation node for ground moving NPCs that includes some context information for NPCs that are interested in it. The hint might " + - "indicate a window that could be looked out of, or an item of interest that could be commented on. Many hint nodes are NPC-specific, " + - "so it's helpful to use naming conventions like 'Crow: Fly to point' in the hint choices list. The angles of a hint node indicate what direction " + - "the NPC should face to perform the hint behavior.\n\n" + - "It's important to understand the distinction between scripts, such as scripted_sequence and scripted_schedule, and info_hint entities. Scripts summon " + - "NPCs to specific cue points to play their parts, while hints provide context information to the AI that they use to perform their " + - "behaviors. Hints require code support in the NPC, while scripts are generic and may require only animations to play. Use a hint if the behavior is driven " + - "by the AI, use a script if the behavior is driven by the map." - -[ - spawnflags(Flags) = - [ - 512 : "Keep editor position" : 0 - ] - - // Outputs - output OnNPCStartedUsing(string) : "Fired when an NPC has reached this node and started using it. Passes along the NPC." - output OnNPCStoppedUsing(string) : "Fired when an NPC has stopped using this node. Passes along the NPC." -] - -@PointClass base(Node) studio("models/editor/air_node.mdl") color(232 171 8) = info_node_air : - "A navigation node for flying NPCs. Air navigation nodes are baked into the nodegraph so that NPCs can move " + - "to them. Air nodes do not fall to the ground when they spawn." -[ - nodeheight(integer) : "NodeHeight" : 0 -] - -@PointClass base(Angles, Targetname, HintNode) studio("models/editor/air_node_hint.mdl") sphere(radius) color(232 171 8) line(255 255 255, nodeid, TargetNode) = info_node_air_hint : - "A navigation node for flying NPCs that includes some context information for NPCs that are interested in it. The hint might " + - "indicate a window that could be looked into, or an item of interest that could be commented on. Many hint nodes are NPC-specific, " + - "so it's helpful to use naming conventions like 'Crow: Fly to point' in the hint choices list. The angles of a hint node indicate what direction " + - "the NPC should face to perform the hint behavior." - -[ - nodeheight(integer) : "NodeHeight" : 0 -] - -@PointClass base(Targetname, Angles, HintNode) studio("models/editor/node_hint.mdl") sphere(radius) color(255 255 255) = info_hint : - "A hint that is not used for navigation. They don't go into the nodegraph, nor do they fall to the ground. Use these to provide " + - "some spatial context for NPCs, such as 'look here if you can't find the player' or 'throw rocks at this spot'." -[ -] - -@PointClass - base(Targetname) - color(220 180 0) - iconsprite("editor/info_node_link.vmt") - line(255 255 255, nodeid, StartNode, nodeid, EndNode) -= info_node_link : - "A dynamic connection between two navigation nodes. You specify the node IDs of the start and end nodes, and then you can use entity I/O " + - "to turn on and off the connection. This could be used to create or destroy a connection in the nodegraph because of some event in your map " + - "(a bridge being created/destroyed, etc)." -[ - StartNode(node_dest) : "Start node ID" : : "The node ID of one end of the node connection." - EndNode(node_dest) : "End node ID" : : "The node ID of one end of the node connection." - initialstate(choices) : "Initial State" : 1 = - [ - 0 : "Off" - 1 : "On" - ] - linktype(choices) : "Type of Connection" : 1 = - [ - 1 : "Ground" - 2 : "Jump" - 4 : "Fly" - 8 : "Climb" - 16 : "Crawl" - ] - AllowUse(string) : "Allow Pass When Off" : : "Entity or class to allow passage even when node is off" - InvertAllow(boolean) : "Invert exclusion rules" : 0 : "Allowed entity is the only entity NOT allowed when this is set to 'yes'" - preciseMovement(boolean) : "Precise Movement" : 0 : "Movement through this link must be precise. Used for NPCs " + - "that have sloppy movement characteristics to move through things like doors or windows" - priority(choices) : "Priority" : 0 = - [ - 0 : "Normal" - 1 : "Use As Last Resort" - ] - - spawnflags( Flags ) = - [ - 1 : "Force human connect" : 0 - 2 : "Force small_centered connect" : 0 - 4 : "Force wide_human connect" : 0 - 8 : "Force tiny connect" : 0 - 16 : "Force wide_short connect" : 0 - 32 : "Force medium connect" : 0 - 64 : "Force tiny_centered connect" : 0 - 128 : "Force large connect" : 0 - 256 : "Force large_centered connect" : 0 - 512 : "Force medium_tall connect" : 0 - 1024 : "Force tiny_fluid connect" : 0 - ] - - // Inputs - input TurnOn(void) : "Turn the link on." - input TurnOff(void) : "Turn the link off." -] - -@PointClass - base(Targetname) - wirebox(mins, maxs) - color(220 180 0) - iconsprite("editor/info_node_link_controller.vmt") -= info_node_link_controller : - "An entity that controls all connections between nodes that intersect the controller's volume. "+ - "This allows for mass enabling/disabling of all node connections through a volume." -[ - mins(vector) : "Mins" : "-8 -32 -36" - maxs(vector) : "Maxs" : "8 32 36" - - initialstate(choices) : "Initial State" : 1 = - [ - 0 : "Off" - 1 : "On" - ] - useairlinkradius(boolean) : "Use Larger Radius (for air links)" : 0 : "Set this to 'Yes' if this controller is intended to control air links. "+ - "Air links connect using a larger search radius so leaving this at 'No' might miss some air links." - - AllowUse(string) : "Allow Pass When Off" : : "Entity or class to allow passage even when node is off" - InvertAllow(boolean) : "Invert exclusion rules" : 0 : "Allowed entity is the only entity NOT allowed when this is set to 'yes'" - - priority(choices) : "Priority" : 0 = - [ - 0 : "Normal" - 1 : "Use As Last Resort" - ] - - // Inputs - input TurnOn(void) : "Turn the link on." - input TurnOff(void) : "Turn the link off." - input SetAllowed(string) : "Change the allowed pass when off" - input SetInvert(integer) : "Change the invert exclusion rule" -] - -@PointClass - base(Targetname, Parentname) - color(220 180 0) - sphere(radius) - iconsprite("editor/info_radial_link_controller.vmt") -= info_radial_link_controller : - "This entity automatically severs node connections that pass through its radius. If it moves, it will restore those connections." -[ - radius(float) : "Radius" : 120 -] - -@PointClass base(Targetname, Angles, HintNode) studio("models/editor/climb_node.mdl") sphere(radius) color(153 215 103) = info_node_climb : - "A climb-node for AI navigation. Only usable by NPCs that can climb." -[ -] - - -//------------------------------------------------------------------------- -// -// Lights -// -//------------------------------------------------------------------------- -@PointClass light() iconsprite("editor/light.vmt") base(Targetname, Light) line(255 255 255, targetname, target) sphere(_fifty_percent_distance) sphere(_zero_percent_distance) sphere(_distance) = light : - "An invisible omnidirectional lightsource." -[ - spawnflags(Flags) = - [ - 1 : "Initially dark" : 0 - ] - _distance(integer) : "Maximum Distance" : 0 : "The distance that light is allowed to cast." -] - -@PointClass base(Angles) lightprop("models/editor/spot.mdl") iconsprite("editor/light_env.vmt") = light_environment : - "Sets the color and angle of the light from the sun and sky." -[ - pitch(angle_negative_pitch) : "Pitch" : 0 : "The downward pitch of the light from the sun. 0 is horizontal, -90 is straight down." - _light(color255) : "Brightness" : "255 255 255 200" - _ambient(color255) : "Ambient light" : "255 255 255 20" - _lightHDR(color255) : "BrightnessHDR" : "-1 -1 -1 1" - _lightscaleHDR(float) : "BrightnessScaleHDR" : "1" : "Amount to scale the light by when compiling for HDR." - _ambientHDR(color255) : "AmbientHDR" : "-1 -1 -1 1" - _AmbientScaleHDR(float) : "AmbientScaleHDR" : "1" : "Amount to scale the ambient light by when compiling for hdr." - SunSpreadAngle(float) : "SunSpreadAngle" : 5 : "The angular extent of the sun for casting soft shadows. Higher numbers are more diffuse." -] - -@PointClass base(Targetname, Angles, Light) lightprop("models/editor/spot.mdl") lightcone() line(255 255 255, targetname, target) sphere(_fifty_percent_distance) sphere(_zero_percent_distance) sphere(_distance) = light_spot : - "An invisible and directional spotlight." -[ - pitch(angle_negative_pitch) : "Pitch" : -90 - target(target_destination) : "Entity to point at" : : "The name of an entity in the map that the spotlight will point at. This will override the spotlight's angles." - _inner_cone(integer) : "Inner (bright) angle" : 30 - _cone(integer) : "Outer (fading) angle" : 45 - _exponent(integer) : "Focus" : 1 - _distance(integer) : "Maximum distance" : 0 : "The distance that light is allowed to cast." - spawnflags(Flags) = - [ - 1 : "Initially dark" : 0 - ] -] - -@PointClass base(Targetname, Parentname, Angles) iconsprite("editor/light.vmt") line(255 255 255, targetname, target) sphere(distance) lightcone() size(-4 -4 -4, 4 4 4) = light_dynamic : - "An invisible lightsource that changes in some way over time." -[ - target(target_destination) : "Entity to point at" : : "The name of an entity in the map that the dynamic light will point at." - _light(color255) : "Light color" : "255 255 255 200" - brightness(integer) : "Light brightness" : 0 - _inner_cone(integer) : "Inner (bright) angle" : 30 - _cone(integer) : "Outer (fading) angle" : 45 - pitch(integer) : "Pitch" : -90 - distance(float) : "Maximum distance" : 120 : "This is the distance that light is allowed to cast, in inches." - spotlight_radius(float) : "Spotlight end radius" : 80 : "This is the radius of the light, in inches, at the object that it is hitting." - style(Choices) : "Appearance" : 0 = - [ - 0 : "Normal" - 10: "Fluorescent flicker" - 2 : "Slow, strong pulse" - 11: "Slow pulse, noblack" - 5 : "Gentle pulse" - 1 : "Flicker A" - 6 : "Flicker B" - 3 : "Candle A" - 7 : "Candle B" - 8 : "Candle C" - 4 : "Fast strobe" - 9 : "Slow strobe" - ] - spawnflags(Flags) = - [ - 1 : "Do not light world (better perf)" : 0 - 2 : "Do not light models" : 0 - 4 : "Add Displacement Alpha" : 0 - 8 : "Subtract Displacement Alpha" : 0 - ] - - // Inputs - input Color(color255) : "Set the light's render color (R G B)." - input brightness(integer) : "Set the light brightness." - input distance(float) : "Set the maximum light distance." - input _inner_cone(integer) : "Set the inner (bright) angle." - input _cone(integer) : "Set the outer (fading) angle." - input spotlight_radius(float) : "Set the radius of the spotlight at the end point." - input style(integer) : "Change the lightstyle (see Appearance field for possible values)." - - input TurnOn(void) : "Turn the light off." - input TurnOff(void) : "Turn the light on." - input Toggle(void) : "Toggle the light on/off." -] - - -//------------------------------------------------------------------------- -// Shadow control -//------------------------------------------------------------------------- - -@PointClass base(Targetname) color(200 0 0) iconsprite("editor/shadow_control.vmt") sphere(distance) = shadow_control : - "An entity to control the shadows in the map." -[ - angles(string) : "Pitch Yaw Roll (Y Z X)" : "80 30 0" : "This is the shadow direction. Pitch is rotation around the Y axis, yaw is the rotation around the Z axis, and roll is the rotation around the X axis." - - color(color255) : "Shadow Color" : "128 128 128" : "This is the color of the shadows." - distance(float) : "Maximum Distance" : 75 : "This is the maximum distance the shadow is allowed to cast, in inches." - disableallshadows(boolean) : "All Shadows Disabled" : 0 - enableshadowsfromlocallights(choices) : "Enable Shadows From Local Lights" : 1 = - [ - 0 : "No" - 1 : "Yes" - ] - - // Inputs - input color(color255) : "Set the shadow color." - input direction(vector) : "Set the shadow direction." - input SetDistance(float) : "Set the maximum shadow cast distance." - input SetAngles(string) : "Set the shadow direction." - input SetShadowsDisabled(integer) : "Set shadows disabled state." -] - -//------------------------------------------------------------------------- -// Sunlight Shadow control -//------------------------------------------------------------------------- - -@PointClass base(Targetname, EnableDisable) color(200 0 0) iconsprite("editor/shadow_control.vmt") frustum(fov,nearz,distance,color,-1) sphere(distance) sphere(nearz) = sunlight_shadow_control : - "An entity to control the sunlight that casts shadows in the map." -[ - angles(string) : "Pitch Yaw Roll (Y Z X)" : "50 40 0" : "This is the light cast direction. Pitch is rotation around the Y axis, yaw is the rotation around the Z axis, and roll is the rotation around the X axis." - - color(color255) : "Light Color" : "255 255 255 1" : "This is the color of the sunlight." - colortransitiontime(float) : "Color Transition Time" : "0.5" : "This is the number of seconds it takes to get from 0 to 255." - distance(float) : "Distance" : 10000 : "This is the distance of the sun, greater distances produce more orthogonal shadows." - fov(float) : "FOV" : 5 : "This is the field of view that the sunlight casts in. Use lower values for more distant sun and sharper shadows." - nearz(float) : "NearZ Distance" : 512 : "This controls the near clipping plane's distance from the player." - northoffset(float) : "North Offset" : 200 : "This offsets the from the player position where the sun is attached." - texturename(material) : "Texture Name" : "effects/flashlight001" - enableshadows(boolean) : "Enable Shadows" : 0 : "Enables/disables shadows from this projected texture." - - // Inputs - input LightColor(color255) : "Set the light color." - input SetAngles(string) : "Set the sun direction." - input SetDistance(float) : "Set the distance of the sun." - input SetFOV(float) : "Set the field of view the sun casts." - input SetNearZDistance(float) : "Set the near z distance." - input SetNorthOffset(float) : "Sets the north offset." - input SetTexture(string) : "Set the texture cookie of the sunlight." - input EnableShadows(bool) : "Set the if shadows are enabled" -] - -//------------------------------------------------------------------------- -// Ambient light control -//------------------------------------------------------------------------- - -@PointClass base(Targetname, EnableDisable, SpatialEntity) color(200 0 0) sphere(minfalloff) sphere(maxfalloff) iconsprite("editor/color_correction.vmt") = env_ambient_light : - "An entity to control the color correction in the map." -[ - color(color255) : "Color (R G B)" : "255 255 255" - - // Inputs - input SetColor(color255) : "Sets the color." -] - -//------------------------------------------------------------------------- -// Color correction control -//------------------------------------------------------------------------- - -@PointClass base(Targetname, EnableDisable) sphere(minfalloff) sphere(maxfalloff) iconsprite("editor/color_correction.vmt") = color_correction : - "An entity to control the color correction in the map." -[ - minfalloff(float) : "Lookup Falloff Start Distance" : "0.0" : "This is the distance to the start of the falloff region (-1 = everywhere)" - maxfalloff(float) : "Lookup Falloff End Distance" : "200.0" : "This is the distance to the end of the falloff region (-1 = everywhere)" - maxweight(float) : "Maximum Weight" : "1.0" : "This is the maximum weight for this lookup" - filename(string) : "Lookup Table Filename" : "" : "This is the lookup table filename" - fadeInDuration(float) : "Lookup Fade In Duration" : "0.0" : "Duration of fade in on when enabled." - fadeOutDuration(float) : "Lookup Fade out Duration" : "0.0" : "Dration of fade out on when disabled." - - spawnflags(flags) = - [ - 1 : "Master" : 0 - 2 : "Client-side simulation" : 0 - ] - // Inputs - input SetFadeInDuration(float) : "Sets the 'fadeInDuration' variable, used to fade cc lookup usage when entity is enabled." - input SetFadeOutDuration(float) : "Sets the 'fadeOutDuration' variable, used to fade cc lookup usage when entity is disabled." -] - - -//------------------------------------------------------------------------- -// Color correction volume control -//------------------------------------------------------------------------- - -@SolidClass base(Targetname, EnableDisable ) = color_correction_volume : - "An entity to control the color correction in the map." -[ - fadeDuration(float) : "Lookup Fade Duration" : "10.0" : "This is the duration for the lookup to fade in/out on extry/exit" - maxweight(float) : "Maximum Weight" : "1.0" : "This is the maximum weight for this lookup" - filename(string) : "Lookup Table Filename" : "" : "This is the lookup table filename" -] - - -//------------------------------------------------------------------------- -// -// Movement and Keyframing Entities -// -//------------------------------------------------------------------------- - -@BaseClass = KeyFrame -[ - NextKey(target_destination) : "Next KeyFrame" : : "Name of the next keyframe along this keyframe path." - -// TimeModifier(choices) : "Time Modifier" : 0 = -// [ -// 0 : "Linear" -// 1 : "Accel" -// 2 : "Deaccel" -// 2 : "Accel/Deaccel (sine)" -// ] - - MoveSpeed(integer) : "Speed (units per second)" : 64 // NEEDHELP -// NextTime(string) : "Time to get to next keyframe" -] - -@BaseClass = Mover -[ - PositionInterpolator(choices) : "Position Interpolator" : 0 = - [ - 0 : "Linear" - 1 : "Catmull-Rom Spline" - ] -] - -@SolidClass base(Targetname, Parentname, Origin, RenderFields, ToggleDraw, Reflection) sphere(movedistance) = func_movelinear : - "A brush entity that moves linearly along a given distance, in a given direction." -[ - movedir(angle) : "Move Direction (Pitch Yaw Roll)" : "0 0 0" : "The direction the brushes will move, when told to open or passed a positive SetPosition value." - spawnflags(flags) = - [ - 8 : "Not Solid" : 0 - ] - - startposition(float) : "Start Position" : 0 : "Position of brush when spawned, where 0 is the starting position and 1 is the opened position. Negatives will position it in the opposite direction." - speed(integer) : "Speed" : 128 : "The speed that the brush moves, in units per second." - movedistance(float) : "Move Distance" : 128 : "The distance from the starting point that the brush should move." - blockdamage(float) : "Block Damage" : 0 : "The amount of damage to do to any entity that blocks the brushes, per frame." - startsound(sound) : "Sound played when the brush starts moving." - stopsound(sound) : "Sound played when the brush stops moving." - - // Inputs - input Open(void) : "Move the brush to the end position (starting position + (move direction * move distance))." - input Close(void) : "Move the brush to the starting position." - input SetPosition(string) : "Move the brush to a specific position, where 0 is the starting position and 1 is the opened position. Accepts any value, with negatives moving in the opposite direction." - input SetSpeed(float) : "Set the speed and update immediately." - - // Outputs - output OnFullyOpen(void) : "Fired when the brush reaches the end position (starting position + (move direction * move distance))." - output OnFullyClosed(void) : "Fired when the brush reaches the starting position." -] - -@SolidClass base(Targetname, Parentname, Origin) = func_water_analog : - "A water brush entity that moves linearly along a given distance, in a given direction" -[ - movedir(angle) : "Move Direction (Pitch Yaw Roll)" : "0 0 0" : "The direction the water will move, when told to 'Open'." - startposition(float) : "Start Position" : 0 : "Position of the water brush when spawned. The range is a value between 0.0 and 1.0, where 0 is the starting position and 1 is the starting position + (move direction * move distance)." - speed(integer) : "Speed" : 100 : "The speed that the water brush moves, in inches per second." - movedistance(float) : "Move Distance" : 100 : "The distance from the starting point that the water brush should move, in inches." - startsound(sound) : "Sound played when the water brush starts moving." - stopsound(sound) : "Sound played when the water brush stops moving." - WaveHeight(string) : "Wave Height" : "3.0" - - // Inputs - input Open(void) : "Move the water brush to the end position (starting position + (move direction * move distance))." - input Close(void) : "Move the water brush to the starting position." - input SetPosition(string) : "Move the water brush to a specific position between 0.0 and 1.0, where 0 is the starting position and 1 is the starting position + (move direction * move distance)." - - // Outputs - output OnFullyOpen(void) : "Fired when the water brush reaches the end position (starting position + (move direction * move distance))." - output OnFullyClosed(void) : "Fired when the water brush reaches the starting position." -] - -@SolidClass base(Targetname, Parentname, Origin, Angles, RenderFields, Shadow, Reflection, compMinLight) = func_rotating : - "A rotating brush entity." -[ - maxspeed(integer) : "Max Rotation Speed" : 100 : "The maximum rotation speed of the brushes, in degrees per second." - fanfriction(integer) : "Friction (0 - 100%)" : 20 : "The amount of rotational friction. Value must be between 0 and 100 %. Lower values make the brush speed up and slow down faster." - message(sound) : "Rotating sound WAV" : : "Sound to play while rotating." - volume(integer) : "Volume (10 = loudest)" : 10 : "The volume of the rotation sound." - spawnflags(flags) = - [ - 1 : "Start ON" : 0 - 2 : "Reverse Direction" : 0 - 4 : "X Axis" : 0 - 8 : "Y Axis" : 0 - 16: "Acc/Dcc" : 0 - 32: "Fan Pain" : 0 - 64: "Not Solid" : 0 - 128: "Small Sound Radius" : 0 - 256: "Medium Sound Radius" : 0 - 512: "Large Sound Radius" : 1 - ] - dmg(integer) : "Blocking Damage" : 0 : "Damage done to any entity that blocks the rotation, per frame." - - solidbsp(choices) : "Solid Type" : 0 = - [ - 0 : "VPhysics" - 1 : "BSP" - ] - - // Inputs - input SetSpeed(integer) : "Set the speed as a ratio of the specified Max Rotation Speed, where 0 is stopped and 1 is the Max Rotation Speed. Negative values rotate backwards." - input GetSpeed(void): "Causes the func_rotating to fire its OnGetSpeed output with its current speed." - input Start(void) : "Start the rotator rotating." - input Stop(void) : "Stop the rotator from rotating." - input StopAtStartPos(void) : "Stop the rotator from rotating when it gets around to the start position again (on its rotation axis)." - input StartForward(void) : "Start the rotator rotating forward at maximum speed." - input StartBackward(void) : "Start the rotator rotating backward at maximum speed." - input Toggle(void) : "Toggle the rotator between rotating and not rotating." - input Reverse(void) : "Reverse the direction of rotation of the rotator, preserving the current speed." - - // Outputs - output OnGetSpeed(integer) : "Fired when the GetSpeed input is called. The current speed of the func_rotating is passed with this output." -] - -@SolidClass base(Targetname, Parentname, Origin, Angles, RenderFields, BasePlat, Shadow, Reflection, compMinLight) = func_platrot : - "A brush entity that moves vertically, and can rotate while doing so." -[ - spawnflags(Flags) = - [ - 1: "Toggle" : 1 - 64: "X Axis" : 0 - 128: "Y Axis" : 0 - ] - noise1(sound) : "Movement Sound" : : "The sound to play when the brush moves." - noise2(sound) : "Stop Sound" : : "The sound to play when the brush stops moving." - speed(integer) : "Speed of Rotation" : 50 : "Speed at which the brush rotates, in degrees per second." - height(integer) : "Travel Altitude" : 0 : "The vertical distance from the starting position that this platform moves. If negative, the platform will lower." - rotation(integer) : "Spin amount" : 0 : "The amount this platform should rotate as it moves, in degrees." -] - -@KeyFrameClass base(Targetname, Parentname, Angles, KeyFrame) size(-6 -6 -6, 6 6 6) keyframe() = keyframe_track : - "Animation KeyFrame" -[ -] - -@MoveClass base(Targetname, Parentname, KeyFrame, Mover) size(-8 -8 -8, 8 8 8) animator() = move_keyframed : - "Keyframed Move Behavior" -[ -] - -@MoveClass base(Targetname, Parentname, Mover, KeyFrame) size(-8 -8 -8, 8 8 8) animator() = move_track : - "Track Move Behavior" -[ - WheelBaseLength(integer) : "Distance between the wheels" : 50 - Damage(integer) : "Damage done to blocking entities" : 0 - NoRotate(boolean) : "Turn to face down path" : 0 -] - -//------------------------------------------------------------------------- -// -// Ropes and Cables -// -//------------------------------------------------------------------------- -@BaseClass base(SystemLevelChoice, Angles) = RopeKeyFrame -[ - spawnflags(Flags) = - [ - 1 : "Auto Resize" : 0 - ] - - Slack(integer) : "Slack" : 25 : "How much extra length the rope has (by default it has the length between its two endpoints in the editor)." - - Type(choices) : "Type" : 0 = - [ - 0 : "Rope" - 1 : "Semi-rigid" - 2 : "Rigid" - ] - - Subdiv(integer) : "Subdivision" : 2 : "Number of subdivisions between each rope segment. Maximum value is 8. Higher values make smoother ropes, but are slower to render." - - Barbed(boolean) : "Barbed" : 0 : "Test effect that makes the rope look sharper and more barbed." - - Width(string) : "Width (1-64)" : "2" : "Width of the rope." - - TextureScale(string) : "Texture Scale" : "1" : "This changes the texture resolution. The default resolution is 4 pixels per inch. Larger values stretch the texture and smaller values scrunch it up." - - Collide(boolean) : "Collide with world" : 0 - - Dangling(boolean) : "Start Dangling" : 0 : "When set to Yes, the rope starts out detached from its target endpoint." - - Breakable(boolean) : "Breakable" : 0 : "When set to yes, the rope can be detached from either endpoint when shot." - - RopeMaterial(material) : "Rope Material" : "cable/cable.vmt" : "The material to use when rendering the rope." - - // Inputs - input SetScrollSpeed(float) : "Set the speed at which the texture scrolls." - input SetForce(string) : "Apply a force instantaneously to the rope. The parameter should be a vector containing the force to be applied (X Y Z)." - input Break(void) : "Break the rope, if it's marked to do so." -] - -@KeyFrameClass base(Targetname, Parentname, KeyFrame, RopeKeyFrame) studio("models/editor/axis_helper_thick.mdl") keyframe() = keyframe_rope : - "A node entity that marks a point in a rope. The first node in the rope should be a move_rope, followed by 1 or more keyframe_ropes." -[ -] - -@MoveClass base(Targetname, Parentname, KeyFrame, RopeKeyFrame) studio("models/editor/axis_helper.mdl") animator() = move_rope : - "The first node in set of nodes that are used to place ropes in the world. It should connect to 1 or more keyframe_rope entities." -[ - PositionInterpolator(choices) : "Position Interpolator" : 2 : "Curve Type. Currently only type 2 (Rope) is fully supported." = - [ - 0 : "Linear" - 1 : "Catmull-Rom Spline" - 2 : "Rope" - ] -] - - -//------------------------------------------------------------------------- -// -// Buttons -// -//------------------------------------------------------------------------- - -@BaseClass = Button -[ - // Inputs - input Lock(void) : "Lock the button, preventing it from functioning." - input Unlock(void) : "Unlock the button, allowing it to function." - input Press(void) : "Activate the button as if it was pressed." - 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." - - // Outputs - output OnDamaged(void) : "Fired when the button is damaged." - output OnPressed(void) : "Fired when the button is pressed." - output OnUseLocked(void) : "Fired when the button is used while locked." - output OnIn(void) : "Fired when the button reaches the in/pressed position." - output OnOut(void) : "Fired when the button reaches the out/released position." -] - -@SolidClass base(Targetname, Parentname, Origin, RenderFields,DamageFilter, Button, MasterEnt, compMinLight) = func_button : - "A brush entity that's designed to be used for a player-useable button. When used by the player, it moves to a pressed position." -[ - movedir(angle) : "Move Direction (Pitch Yaw Roll)" : "0 0 0" : "Specifies the direction of motion to move when the button is used." - speed(integer) : "Speed" : 5 : "The speed that the button moves, in units per second." - health(integer) : "Health (Obsolete)" : 0 : "Legacy method of specifying whether or not the button can be shot to activate it. Use the 'Damage Activates' spawnflag instead." - lip(integer) : "Lip" : 0 : "The amount the button will keep overlapping with the original position. The distance moved = the size of the brush on the movement axis - lip." - // sounds(choices) : "Sounds" : 0 = - // [ - // 0: "None (Silent)" - // 1: "Big zap & Warmup" - // 2: "Access Denied" - // 3: "Access Granted" - // 4: "Quick Combolock" - // 5: "Power Deadbolt 1" - // 6: "Power Deadbolt 2" - // 7: "Plunger" - // 8: "Small zap" - // 9: "Keycard Sound" - // 10: "Buzz" - // 11: "Buzz Off" - // 12: "latch locked" - // 13: "Latch Unlocked" - // 14: "Lightswitch" - // 15: "small bleek" - // 16: "small deny" - // 17: "small doop" - // 18: "small tech deny" - // 19: "click and combine screen fuzz" - // 20: "roomy beep" - // 21: "lever or wheel: turn + move sqeek" - // 22: "lever or wheel: latch + release gas" - // 23: "lever or wheel: ratchet + sqeek" - // 24: "lever or wheel: large ratchet" - // 25: "lever or wheel: clanky + gas release" - // 26: "lever or wheel: latch + large metal thud" - // 27: "lever or wheel: smaller ratchet" - // 28: "lever or wheel: smaller lever move" - // 31: "shock buzz" - // 32: "clickbeep" - // 33: "tech blip" - // 34: "clickbeepbeep open" - // 35: "small high blip" - // 36: "small tech fuzz blip" - // 37: "small click bleep (change to lightswitch)" - // 40: "combine door lock - locked" - // 41: "combine blip growl" - // 42: "combine squick growl" - // 43: "combine whine purr" - // 44: "combine click talk" - // 45: "combine click growl fizz" - // 46: "combine click fizz (deny)" - // 47: "combine click talker" - // ] - wait(integer) : "Delay Before Reset (-1 stay)" : 3 : "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. If the value is set to -1, the button never returns." - spawnflags(flags) = - [ - 1: "Don't move" : 0 - 32: "Toggle" : 0 - 256: "Touch Activates": 0 - 512: "Damage Activates": 0 - 1024: "Use Activates" : 1 - 2048: "Starts locked" : 0 - 4096: "Sparks" : 0 - ] - // locked_sound(choices) : "Locked Sound" : 0 : "Sound played when the player tries to use the button, and fails because it's locked." = - // [ - // 0: "None" - // 2: "Access Denied" - // 8: "Small zap" - // 10: "Buzz" - // 11: "Buzz Off" - // 12: "Latch Locked" - // ] - // unlocked_sound(choices) : "Unlocked Sound" : 0 : "Sound played when the button is unlocked." = - // [ - // 0: "None" - // 1: "Big zap & Warmup" - // 3: "Access Granted" - // 4: "Quick Combolock" - // 5: "Power Deadbolt 1" - // 6: "Power Deadbolt 2" - // 7: "Plunger" - // 8: "Small zap" - // 9: "Keycard Sound" - // 10: "Buzz" - // 13: "Latch Unlocked" - // 14: "Lightswitch" - // ] - // locked_sentence(choices) : "Locked Sentence" : 0 : "A sentence played when the player tries to use the button, and fails because it's locked." = - // [ - // 0: "None" - // 1: "Gen. Access Denied" - // 2: "Security Lockout" - // 3: "Blast Door" - // 4: "Fire Door" - // 5: "Chemical Door" - // 6: "Radiation Door" - // 7: "Gen. Containment" - // 8: "Maintenance Door" - // 9: "Broken Shut Door" - // ] - // unlocked_sentence(choices) : "Unlocked Sentence" : 0 : "A sentence played when the button is unlocked." = - // [ - // 0: "None" - // 1: "Gen. Access Granted" - // 2: "Security Disengaged" - // 3: "Blast Door" - // 4: "Fire Door" - // 5: "Chemical Door" - // 6: "Radiation Door" - // 7: "Gen. Containment" - // 8: "Maintenance area" - // ] -] - -@SolidClass base(Targetname, Parentname, Origin, Angles, Global, RenderFields, Button, EnableDisable, MasterEnt, compMinLight) = func_rot_button : - "A brush entity that's designed to be used for a rotating player-useable button. When used by the player, it rotates to a pressed position." -[ - speed(integer) : "Speed" : 50 : "The speed that the button rotates, in degrees per second." - health(integer) : "Health (Obsolete)" : 0 : "Legacy method of specifying whether or not the button can be shot to activate it. Use the 'Damage Activates' spawnflag instead." - sounds(choices) : "Sounds" : 21 = - [ - 0: "None (Silent)" - 21: "Squeaky" - 22: "Squeaky Pneumatic" - 23: "Ratchet Groan" - 24: "Clean Ratchet" - 25: "Gas Clunk" - ] - wait(integer) : "Delay Before Reset (-1 stay)" : 3 : "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. If the value is set to -1, the button never returns." - distance(integer) : "Distance (deg)" : 90 : "The amount, in degrees, that the button should rotate when it's pressed." - // TODO: move spawnflags into Button base class? - spawnflags(flags) = - [ - 1 : "Not solid" : 0 - 2 : "Reverse Dir" : 0 - 32: "Toggle" : 0 - 64: "X Axis" : 0 - 128: "Y Axis" : 0 - 256: "Touch Activates": 0 - 512: "Damage Activates": 0 - 1024: "Use Activates": 0 - 2048: "Starts locked" : 0 - ] -] - -@SolidClass base(Targetname, Parentname, Origin, Angles, RenderFields, MasterEnt, compMinLight) = momentary_rot_button : - "A brush entity that's designed to be used for rotating wheels, where the player can rotate them to arbitrary positions before stopping." -[ - speed(integer) : "Speed (deg/sec)" : 50 : "The amount, in degrees, that the wheel turns per second." - // sounds(choices) : "Sounds" : 0 = - // [ - // 0: "None" - // 1: "Big zap & Warmup" - // 2: "Access Denied" - // 3: "Access Granted" - // 4: "Quick Combolock" - // 5: "Power Deadbolt 1" - // 6: "Power Deadbolt 2" - // 7: "Plunger" - // 8: "Small zap" - // 9: "Keycard Sound" - // 21: "Squeaky" - // 22: "Squeaky Pneumatic" - // 23: "Ratchet Groan" - // 24: "Clean Ratchet" - // 25: "Gas Clunk" - // ] - distance(integer) : "Distance" : 90 : "The maximum amount, in degrees, that the wheel is allowed to rotate." - returnspeed(integer) : "Auto-return speed" : 0 : "If the 'Toggle' spawnflag is not set, the speed at which the wheel auto-returns when left alone, in degrees per second." - spawnflags(flags) = - [ - 1: "Not Solid" : 1 - 32: "Toggle (Disable Auto Return)" : 1 - 64: "X Axis" : 0 - 128: "Y Axis" : 0 - 1024: "Use Activates" : 1 - 2048: "Starts locked" : 0 - 8192: "Jiggle when used while locked" : 0 - ] - startposition(float) : "Start Position" : 0 : "Postion when spawned, where 0 is the unrotated position and 1 is the rotated position + 'Distance'." - startdirection(choices) : "Start Direction" : "Forward" = - [ - -1 : "Forward" // Reverses upon USE, so are - 1 : "Backward" // reversed here. - ] - solidbsp(boolean) : "Solid BSP" : 0 - - // Inputs - input Lock(void) : "Lock the button, preventing it from functioning." - input Unlock(void) : "Unlock the button, allowing it to function." - input SetPosition(string) : "Move to a position. The parameter must be a value between 0 and 1, where 0 is the unrotated position and 1 is the rotated position + 'Distance'." - input SetPositionImmediately(string) : "Immediately teleport to a position. The parameter must be a value between 0 and 1, where 0 is the unrotated position and 1 is the rotated position + 'Distance'." - - // Outputs - output Position(integer) : "Fired whenever the button moves. The output is the position of button from 0 to 1, where 0 is the unrotated position and 1 is the rotated position + 'Distance'." - output OnPressed(integer) : "Fired when the button is first pressed." - output OnUnpressed(integer): "Fired when the button is first released from being pressed." - output OnFullyClosed(void) : "Fired when the button has reached position 1, the rotated position + 'Distance'." - output OnFullyOpen(void) : "Fired when the button has reached position 0, the unrotated starting position." - output OnReachedPosition(void) : "Fired whenever the button reaches a goal position: i.e. when it becomes open, becomes closed, or reaches the point specified by a 'SetPosition' input." -] - - -//------------------------------------------------------------------------- -// -// Doors -// -//------------------------------------------------------------------------- - -@BaseClass base(Targetname, Parentname, RenderFields, Global, Shadow, Reflection, MasterEnt, compMinLight) = Door -[ - speed(integer) : "Speed" : 100 : "The speed at which the door moves." - noise1(sound) : "Start Sound" : : "Sound to play when the door starts moving." - noise2(sound) : "Stop Sound" : : "Sound to play when the door stops moving." - startclosesound(sound) : "Start Close Sound" : : "(Optional) Sound to play when the door starts closing." - closesound(sound) : "Stop Close Sound" : : "(Optional) Sound to play when the door stops closing." - loopmovesound(boolean) : "Loop Moving Sound?" : 0 : "If set to true, the door's 'Start Sound' will be continually looped until the door finishes moving." - wait(integer) : "Delay Before Reset (-1 stay)" : 4 : "Amount of time, in seconds, after the door has opened before it closes. Once it has closed, it can be used again. If the value is set to -1, the door never closes itself." - lip(integer) : "Lip" : 0 : "The amount, in inches, of the button to leave sticking out of the wall it recedes into when pressed. Negative values make the button recede even further into the wall." - dmg(integer) : "Blocking Damage" : 0 : "Amount of damage done to entities that block the movement of this door, per frame." - forceclosed(boolean) : "Force Closed" : 0 : "If set, this door will close no matter what. Useful for doors that have to close even if the player tries to block them with objects." - ignoredebris(boolean) : "Ignore Debris" : 0 : "If set this will change the door's collision group to one that ignore collisions with debris objects (note that this is not compatible with the non-solid-to-player spawnflag)." - - message(string) : "Message If Triggered" // NEEDHELP: Looks like this was removed - health(integer) : "Health (shoot open)" : 0 // NEEDHELP: Looks like this was removed - - locked_sound(sound) : "Locked Sound" : : "Sound played when the player tries to use the door, and fails because it's locked." - unlocked_sound(sound) : "Unlocked Sound" : : "Sound played when the button is door." - - spawnpos(choices) : "Spawn Position" : 0 = - [ - 0 : "Closed" - 1 : "Open" - ] - - spawnflags(flags) = - [ - //1 : "Starts Open - OBSOLETE, use 'Spawn Position' key instead" : 0 - 4 : "Non-solid to Player" : 0 - 8: "Passable" : 0 - 32: "Toggle" : 0 - 256:"Use Opens" : 0 - 512: "NPCs Can't" : 1 - 1024: "Touch Opens" : 0 - 2048: "Starts locked" : 0 - 4096: "Door Silent" : 0 - ] - // locked_sentence(choices) : "Locked Sentence" : 0 : "A sentence played when the player tries to use the door, and fails because it's locked." = - // [ - // 0: "None" - // 1: "Gen. Access Denied" - // 2: "Security Lockout" - // 3: "Blast Door" - // 4: "Fire Door" - // 5: "Chemical Door" - // 6: "Radiation Door" - // 7: "Gen. Containment" - // 8: "Maintenance Door" - // 9: "Broken Shut Door" - // ] - // unlocked_sentence(choices) : "Unlocked Sentence" : 0 : "A sentence played when the door is unlocked." = - // [ - // 0: "None" - // 1: "Gen. Access Granted" - // 2: "Security Disengaged" - // 3: "Blast Door" - // 4: "Fire Door" - // 5: "Chemical Door" - // 6: "Radiation Door" - // 7: "Gen. Containment" - // 8: "Maintenance area" - // ] - // Outputs - output OnClose(void) : "Fired when the door starts closing." - output OnOpen(void) : "Fired when the door starts opening." - output OnFullyOpen(void) : "Fired when the door reaches the fully open position. Reversed if 'Start Open' flag is set." - output OnFullyClosed(void) : "Fired when the door reaches the fully closed position. Reversed if 'Start Open' flag is set." - output OnBlockedClosing(void) : "Fired when the door is blocked while closing." - output OnBlockedOpening(void) : "Fired when the door is blocked while opening." - output OnUnblockedClosing(void) : "Fired when the door is unblocked while closing." - output OnUnblockedOpening(void) : "Fired when the door is unblocked while opening." - output OnLockedUse(void) : "Fired when the player uses the door, but it is locked." - - // Inputs - input Open(void) : "Open the door, if it is not fully open." - input Close(void) : "Close the door, if it is not fully closed." - input Toggle(void) : "Toggle the door between open and closed." - input Lock(void) : "Lock the door." - input Unlock(void) : "Unlock the door." - input SetSpeed(float) : "Set the door speed." -] - -@SolidClass base(Door, Origin) = func_door : - "A brush entity for use as a player-useable door." -[ - movedir(angle) : "Move Direction (Pitch Yaw Roll)" : "0 0 0" : "The direction the door will move, when it opens." - - filtername(filterclass) : "Block Filter Name" : : "Filter to use to determine entities that block the door. ( Half-Life: Source port only )" -] - -@SolidClass base(Door, Origin, Angles) = func_door_rotating : - "A brush entity for use as a rotating player-useable door." -[ - spawnflags(flags) = - [ - 2 : "Reverse Dir" : 0 - 16: "One-way" : 0 - 64: "X Axis" : 0 - 128: "Y Axis" : 0 - 65536: "New func_door +USE rules" : 0 - ] - distance(integer) : "Distance" : 90 : "The amount, in degrees, that the button should rotate when it's pressed." - - solidbsp(choices) : "Solid Type" : 0 = - [ - 0 : "VPhysics" - 1 : "BSP" - ] -] - -@PointClass base(Targetname, Parentname, Angles, Global, Studiomodel) line(255,255,255,targetname,slavename) studioprop() = prop_door_rotating : - "An entity used to place a door in the world." -[ - slavename(target_destination) : "Slave Name" : : "The name of any doors that should be slaved to this door (i.e. should open when this one opens, and close when this one closes)." - hardware(choices) : "Hardware Type" : 1 = - [ - 0 : "" - 1 : "Lever" - 2 : "Push bar" - 3 : "Keypad" - ] - - ajarangles(angle) : "Ajar Angles (Pitch Yaw Roll)" : "0 0 0" : "If the door 'Spawn Position' is set to Ajar, these are the angles to spawn at, instead of being open or closed." - spawnpos(choices) : "Spawn Position" : 0 = - [ - 0 : "Closed" - 1 : "Open forward" - 2 : "Open back" - 3 : "Ajar (use Ajar Angles)" - ] - - axis(axis) : "Hinge Axis" - distance(float) : "Rotation Distance (deg)" : 90 : "The amount, in degrees, that the door should rotate when opened." - speed(integer) : "Speed" : 100 : "The speed at which the door moves." - soundopenoverride(sound) : "Fully Open Sound" : : "Sound played when the door has finished opening." - soundcloseoverride(sound) : "Fully Closed Sound" : : "Sound played when the door has finished closing." - soundmoveoverride(sound) : "Moving Sound" : : "Sound played when the door starts to move." - returndelay(integer) : "Delay Before close (-1 stay open)" : -1 : "Amount of time, in seconds, after the door has opened before it closes. If the value is set to -1, the door never closes itself." - dmg(integer) : "Damage Inflicted When Blocked" : 0 : "Amount of damage done to entities that block the movement of this door, per frame." - health(integer) : "Health (0 = Unbreakable)" : 0 // NEEDHELP: Doesn't look like this is hooked up anymore? - soundlockedoverride(sound) : "Locked Sound" : : "Sound played when the player tries to open the door, and fails because it's locked." - soundunlockedoverride(sound) : "Unlocked Sound" : : "Sound played when the door is unlocked." - - forceclosed(boolean) : "Force Closed" : 0 : "If set, this door will close no matter what. Useful for doors that have to close even if the player tries to block them with objects." - - spawnflags(flags) = - [ - 1 : "Starts Open" : 0 - //512: "NPCs Can't" : 0 - 2048: "Starts locked" : 0 - 4096: "Door silent (No sound, and does not alert NPCs)" : 0 - 8192: "Use closes" : 1 - 16384 : "Door silent to NPCS (Does not alert NPCs)" : 0 - 32768 : "Ignore player +USE" : 0 - ] - - opendir(choices) : "Open Direction" : 0 : "Force the door to open only forwards or only backwards. Both directions is the standard door behavior." = - [ - 0 : "Open Both Directions" - 1 : "Open Forward Only" - 2 : "Open Backward Only" - ] - - // Outputs - output OnClose(void) : "Fired when the door is told to close." - output OnOpen(void) : "Fired when the door is told to open." - output OnFullyOpen(void) : "Fired when the door reaches the fully open position." - output OnFullyClosed(void) : "Fired when the door reaches the fully closed position." - output OnBlockedClosing(void) : "Fired when the door is blocked while closing." - output OnBlockedOpening(void) : "Fired when the door is blocked while opening." - output OnUnblockedClosing(void) : "Fired when the door is unblocked while closing." - output OnUnblockedOpening(void) : "Fired when the door is unblocked while opening." - output OnLockedUse(void) : "Fired when the player uses the door, but it is locked." - output OnRotationDone(void) : "Fired when the door arrives at it's goal angle." - - // Inputs - input Open(void) : "Open the door, if it is not fully open." - input OpenAwayFrom(string) : "Open the door away from the specified entity." - input Close(void) : "Close the door, if it is not fully closed." - input Toggle(void) : "Toggle the door between open and closed." - input Lock(void) : "Lock the door." - input Unlock(void) : "Unlock the door." - input SetRotationDistance(float) : "Set the distance (in degrees) between Open and Closed." - input MoveToRotationDistance(float) : "Sets the open distance (in degrees) and moves there." - input SetSpeed(float) : "Set the speed at which the door rotates. 100 is default." -] - - -//------------------------------------------------------------------------- -// -// Cube map sample -// -//------------------------------------------------------------------------- - -@PointClass color(0 0 255) sidelist(sides) iconsprite("editor/env_cubemap.vmt") = env_cubemap : - "An entity that creates a sample point for the Cubic Environment Map." -[ - cubemapsize(choices) : "Cubemap Size" : 0 = - [ - 0 : "Default" - 1 : "1x1" - 2 : "2x2" - 3 : "4x4" - 4 : "8x8" - 5 : "16x16" - 6 : "32x32" - 7 : "64x64" - 8 : "128x128" - 9 : "256x256" - ] - sides(sidelist) : "Brush faces": : "(Optional) Brushes faces to directly attach to the env_cubemap. Press Pick then click on faces in the 3D View to select them. Use CTRL while clicking to add or remove from the selection." -] - -@BaseClass = BModelParticleSpawner -[ - StartDisabled(boolean) : "Start Disabled" : 0 - - Color(color255) : "Particle Color (R G B)" : "255 255 255" - SpawnRate(integer) : "Particle Per Second" : 40 : "Number of particles to spawn, per second." - SpeedMax(string) : "Maximum Particle Speed" : 13 : "Maximum speed that the particles can move after spawning." - LifetimeMin(string) : "Minimum Particle Lifetime" : 3 : "Minimum number of seconds until each particle dies. Particles live for a random duration between this and 'Maximum Particle Lifetime'." - LifetimeMax(string) : "Maximum Particle Lifetime" : 5 : "Maximum number of seconds until each particle dies. Particles live for a random duration between 'Minimum Particle Lifetime' and this." - DistMax(integer) : "Maximum Visible Distance" : 1024 : "Maximum distance at which particles are visible. They fade to translucent at this distance." - - Frozen(boolean) : "Frozen" : 0 : "When set, this entity spawns the number of particles in SpawnRate immediately, and then goes inactive." - - // Inputs - input TurnOn(void) : "Turn on." - input TurnOff(void) : "Turn off." -] - -@SolidClass base(Targetname, BModelParticleSpawner) = func_dustmotes : - "A brush entity that spawns sparkling dust motes within its volume." -[ - SizeMin(string) : "Minimum Particle Size" : 10 - SizeMax(string) : "Maximum Particle Size" : 20 - - Alpha(integer) : "Alpha" : 255 -] - -@SolidClass base( Targetname ) = func_smokevolume : - "A brush entity that spawns smoke particles within its volume." -[ - spawnflags(flags) = - [ - 1 : "Emissive" : 0 - ] - - Color1(color255) : "Particle Color1 (R G B)" : "255 255 255" - Color2(color255) : "Particle Color2 (R G B)" : "255 255 255" - material(material) : "Material" : "particle/particle_smokegrenade" : "The material to use for the particles" - ParticleDrawWidth(float) : "Particle Draw Width (units)" : 120 : "The size of the particles, in units/inches." - ParticleSpacingDistance(float) : "Particle Spacing Distance (units)" : 80 : "The distance between the particles inside the volume. The lower the number, the denser the particles, and the more overdraw there will be. It is best to keep it as high as you can without it looking bad." - DensityRampSpeed(float) : "Density Ramp Speed (seconds)" : 1 : "Time to go from density 0 to density 1, in seconds." - - RotationSpeed(float) : "Rotation Speed (degrees/sec)" : 10 : "The speed that the particles should rotate, in degrees per second." - MovementSpeed(float) : "Movement Speed (units/sec)" : 10 : "The speed that the particles should move around, in units/inches per second." - Density(float) : "Density [0..1]" : 1 - - // Inputs - input SetRotationSpeed(float) : "Set the particle rotation speed (in degrees per second)." - input SetMovementSpeed(float) : "Set the particle movement speed (in inches per second)." - input SetDensity(float) : "Set the particle density. It should be a range from 0 to 1." -] - -@SolidClass base( Targetname, BModelParticleSpawner ) = func_dustcloud : - "A brush entity that spawns a translucent dust cloud within its volume." -[ - Alpha(integer) : "Alpha" : 30 - - SizeMin(string) : "Minimum Particle Size" : 100 - SizeMax(string) : "Maximum Particle Size" : 200 -] - -@PointClass base( Targetname, Parentname, Angles ) size( -8 -8 -8, 8 8 8 ) = env_dustpuff : - "An entity that can emit dust puffs." -[ - scale(float) : "Scale" : 8 : "Size of the dust puff." - speed(float) : "Speed" : 16 : "Speed at which the dust particles should move." - - color(color255) : "Dust color" : "128 128 128" - - // Inputs - input SpawnDust(void) : "Spawn a dust puff." -] - -@PointClass base( Targetname, Parentname, Angles ) size( -8 -8 -8, 8 8 8 ) = env_particlescript : - "An entity that has special animation events that can be fired by a model with an animation inside its .qc designed for"+ - "use by this entity." -[ - model(studio) : "Script Model" : "models/Ambient_citadel_paths.mdl" : "Model to use for animation sequences." - - // Inputs - input SetSequence(string) : "Sets the script model's sequence." -] - - -// NEEDHELP -@PointClass base( Targetname, Parentname, Angles ) size( -8 -8 -8, 8 8 8 ) = env_effectscript : - "An entity that allows you to script special visual effects via a script file." -[ - model(studio) : "Script Model" : "models/Effects/teleporttrail.mdl" : "Model to use for animation sequences." - scriptfile(string) : "Script File" : "scripts/effects/testeffect.txt" : "Name of the script to use for this model." - - // Inputs - input SetSequence(string) : "Sets the script model's sequence." -] - - -//------------------------------------------------------------------------- -// -// Logic Entities -// -//------------------------------------------------------------------------- - -@PointClass color(0 100 250) iconsprite("editor/logic_auto.vmt") = logic_auto : - "Fires outputs when a map spawns. " + - "If 'Remove on fire' flag is set the logic_auto is deleted after firing. " + - "It can be set to check a global state before firing. This allows you to only fire events based on "+ - "what took place in a previous map." -[ - spawnflags(Flags) = - [ - 1 : "Remove on fire" : 1 - ] - - globalstate(choices) : "Global State to Read" : : "If set, this specifies a global state to check before firing. The OnMapSpawn output will only fire if the global state is set." = - [ - "" : "--- None ---" - "gordon_precriminal" : "Gordon pre-criminal" - "antlion_allied" : "Antlions are player allies" -// "player_stealth" : "Player in APC is disguised as combine" - "suit_no_sprint" : "Suit sprint function not yet enabled" - "super_phys_gun" : "Super phys gun is enabled" - "friendly_encounter" : "Friendly encounter sequence (lower weapons, etc.)" -// "citizens_passive" : "Citizens are *not* player allies (cannot be commanded)" - "gordon_invulnerable" : "Gordon is invulnerable" - "no_seagulls_on_jeep" : "Don't spawn seagulls on the jeep" - "is_console" : "Game is running on a console" - "is_pc" : "Game is running on a PC" - ] - - // Outputs - output OnMapSpawn(void) : "Fired when the map is loaded for any reason." - output OnNewGame(void) : "Fired when the map is loaded to start a new game." - output OnLoadGame(void) : "Fired when the map is loaded from a saved game." - output OnMapTransition(void) : "Fired when the map is loaded due to a level transition." - output OnBackgroundMap(void) : "Fired when the map is loaded as a background to the main menu." - output OnMultiNewMap(void) : "Fired only in multiplayer, when a new map is loaded." - output OnMultiNewRound(void) : "Fired only in multiplayer, when a new round is started. Only fired in multiplayer games that use round-based gameplay." -] - -@PointClass base(Targetname,Angles,Parentname) color(200 0 0) studioprop("models/editor/camera.mdl") frustum(fov,16,256,255 255 255 10,-1) line(255 255 0, targetname, target) line(255 255 0, targetname, moveto) = point_viewcontrol : - "A camera entity that controls the player's view. While it's active, the player will see out of the camera." -[ - target(target_destination) : "Entity to Look At" : : "Name of the entity that the camera should point at and track while active." - targetattachment(string) : "Target Attachment Name" : : "If set, the camera will focus on the specified attachment on the 'Entity to Look At'." - wait(integer) : "Hold Time" : 10 : "The amount of time the camera should control the player's view for, after which it deactivates itself. If the camera should stay active until told to deactive, set the 'Infinite Hold Time' spawnflag." - moveto(target_destination) : "Path Corner" : : "The first path corner in a track that the camera should move along once it's activated. If not specified, the camera won't move." - interpolatepositiontoplayer(boolean) : "Interpolate Position To Player" : 0 : "Gradually interpolate player's position to here on start. (Episodic only)" - - spawnflags(flags) = - [ - 1: "Start At Player" : 1 - 2: "Follow Player" : 1 - 4: "Freeze Player" : 0 - 8: "Infinite Hold Time" : 0 - 16:"Snap to goal angles" : 0 - 32:"Make Player non-solid" : 0 - 64:"Interruptable by Player" : 0 - 128:"Set Fov" : 0 - ] - - trackspeed(float) : "Tracking Speed of the camera" : "40" : "The speed that the camera tries to follow it's look target." - fov(float) : "FOV" : "90" : "The FOV when using this camera." - fov_rate(float) : "FOV rate" : "1" : "How fast we change to the new fov." - - speed(string) : "Initial Speed" : "0" : "The starting speed that the camera moves at, if it's on a path track." - acceleration(string) : "Acceleration units/sec^2" : "500" : "The speed at which the camera accelerates to path corner's desired speeds." - deceleration(string) : "Stop Deceleration units/sec^2" : "500" : "The speed at which the camera decelerates to path corner's desired speeds." - - // Inputs - input Enable(void) : "Enable the point_viewcontrol, and start controlling the player's view." - input Disable(void) : "Disable the point_viewcontrol, and stop controlling the player's view." - - input SetTarget(string) : "Set a new target for the camera to point at." - input SetTargetAttachment(string) : "Set a new attachment on the target for the camera to point at." - - input ReturnToEyes(void) : "Return the camera view to the player's eyes." - input TeleportToView(void) : "Teleport the player to the current position of the camera." - - input SetTrackSpeed(float) : "Set the speed that the camera will try to track it's target." - - input SetPath(string) : "Have the camera start following a new path." - - // Outputs - output OnEndFollow(void) : "Fired when the point_viewcontrol deactivates, due to the Disable input being received, the Entity to Look At being destroyed, or the Hold Time expiring." -] - -@PointClass base(Targetname,Angles,Parentname) color(200 0 0) studioprop("models/editor/camera.mdl") frustum(fov,16,256,255 255 255 10,-1) line(255 255 0, targetname, target_entity) = point_viewcontrol_multiplayer : - "A camera entity that controls all players' views. While it's active, the players will see out of the camera." -[ - fov(float) : "Field of view" : "90" : "Player FOV" - fov_rate(float) : "Seconds to reach FOV target" : "1.0" : "Amount of time it should take to reach the specified FOV" - target_entity(target_destination): "Target Entity" : "" : "Entity to move to. (End of move will match origin and angles)." - interp_time(float) : "Seconds to reach target entity" : "1.0" : "Amount of time it should take to reach the target entity's origin and angles." - target_team(choices) : "Target Team" : -1 : "Which team (or all) to allow to touch this trigger." = - [ - -1 : "All Teams" - 0 : "0 (Spectators)" - 1 : "1" - 2 : "2 (Portal2 Orange)" - 3 : "3 (Portal2 Blue)" - ] - - spawnflags(flags) = - [ - 1: "Disable when move finished" : 1 - 2: "Set FOV" : 0 - ] - - // Inputs - input Enable(void) : "Enable the point_viewcontrol_multiplayer, and start controlling the players' view." - input Disable(void) : "Disable the point_viewcontrol_multiplayer, and stop controlling the players' view." - input StartMovement(void) : "Start the movement to the target entity." -] - -@PointClass base(Targetname,Angles,Parentname) color(200 0 0) studioprop("models/editor/camera.mdl") line(255 255 0, targetname, proxy) = point_viewproxy : - "A camera entity that moves the player's view. Use this if you want the player to retain control of where the player looks but want to move the position to another location." -[ - spawnflags(flags) = - [ - 4: "Freeze Player" : 0 - 32:"Make Player non-solid" : 0 - ] - - offsettype(choices) : "Offset type " : 0 : "How the player's view moves to the view of the camera." = - [ - 0: "Snap to camera" - 1: "Ease to camera" - 2: "Keep offset" - ] - - proxy(target_destination) : "Proxy Entity" : : "Name of the entity that the camera uses to translate the view." - proxyattachment(target_destination) : "Attachment Point" : : "Use this attachment on the proxy's parent for position and orientation." - - tiltfraction(float) : "Tilt Fraction" : "0.5" : "How much the angle of the proxy affects the angle of the view. 0.0 will keep the players view angles unmodified. 1.0 will add in the whole tilt from the proxy." - - usefakeacceleration(boolean) : "Use Fake Acceleration" : 0 : "If the player maintains an offset from the proxy apply fake acceleration on the player based on the movement of the proxy." - skewaccelerationforward(boolean) : "Skew Acceleration Forward" : 1 : "If this is set fake acceleration will be more noticeable in the direction of the proxy." - accelerationscalar(float) : "Acceleration Scalar" : "1.0" : "Multiply the fake acceleration by this ammount." - easeanglestocamera(boolean) : "Ease Angles To Camera" : 0 : "Move the player's angles to the camera - this will stop them from looking around." - - // Inputs - input Enable(void) : "Enable the view proxy, and start modifying the player's view." - input Disable(void) : "Disable the view proxy, and start modifying the player's view." - - input TeleportPlayerToProxy(void) : "Move the player to the view proxy." -] - -@PointClass base(Targetname) size(-8 -8 -8, 8 8 8) line(255 255 0, targetname, propname) = point_posecontroller : - "An entity that controls a pose parameter of a prop and cycles the pose clientside." -[ - PropName(target_destination) : "Prop Name" : : "Name of the prop to control." - PoseParameterName(string) : "Pose Parameter Name" : : "Name of the pose parameter to control." - PoseValue(float) : "Pose Parameter Value" : "0.0" : "Normalized value for the pose parameter from 0.0 and 1.0 (maps to min and max range)." - InterpolationTime(float) : "Interpolation Time" : "0.0" : "Number of seconds (0.0 to 10.0) for client to match absolue pose values." - InterpolationWrap(boolean) : "Should wrap from 0.0 to 1.0 when interpolating." : 0 - - CycleFrequency(float) : "Cycle Frequency" : "0.0" : "Base cycles per second from -10.0 to 10.0." - FModulationType(choices) : "Frequency Modulation Type" : 0 = - [ - 0: "None" - 1: "Sine" - 2: "Square" - 3: "Triangle" - 4: "Sawtooth" - 5: "Noise" - ] - FModTimeOffset(float) : "Frequency Modulation Time Offset" : "0.0" : "Modulation time offset from -1.0f to 1.0." - FModRate(float) : "Frequency Modulation Rate" : "0.0" : "Modulation cycles per second from -10.0f to 10.0." - FModAmplitude(float) : "Frequency Modulation Amplitude" : "0.0" : "Modulation extents from 0.0f to 10.0." - - // Inputs - input SetPoseParameterName(string) : "Sets the pose parameter to control." - input SetPoseValue(float) : "Set the pose parameter to a normalized value between 0.0 and 1.0 (maps to min and max range)." - input SetInterpolationTime(float) : "Set the interpolation time to a number of seconds between 0.0 and 10.0." - input SetCycleFrequency(float) : "Set the pose parameter's base cycles per second from -10.0f to 10.0." - input SetFModType(integer) : "Set the type of frequency modulation." - input SetFModTimeOffset(float) : "Set the modulation time offset from -1.0f to 1.0." - input SetFModRate(float) : "Set the modulation cycles per second from -10.0f to 10.0." - input SetFModAmplitude(float) : "Set the modulation extents from 0.0f to 10.0." - input RandomizeFMod(float) : "Randomize the frequency modulation by an extremeness of 0.0 to 1.0." -] - -@PointClass base(Targetname) color(0 100 250) iconsprite("editor/logic_compare.vmt") = logic_compare : - "Compares an input value to another value. " + - "If the input value is less than the compare value, the OnLessThan output is fired with the input value. " + - "If the input value is equal to the compare value, the OnEqualTo output is fired with the input value. " + - "If the input value is greater than the compare value, the OnGreaterThan output is fired with the input value." -[ - // Keys - InitialValue(integer) : "Initial value" : : "Initial value for the input value." - CompareValue(integer) : "Compare value" : : "The value to compare against." - - // Inputs - input SetValue(float) : "Set the value that will be compared against the compare value." - input SetValueCompare(float) : "Set the value that will be compared against the compare value and performs the comparison." - input SetCompareValue(float) : "Set the compare value." - input Compare(void) : "Force a compare of the input value with the compare value." - - // Outputs - output OnLessThan(float) : "Fired when the input value is less than the compare value. Sends the input value as data." - output OnEqualTo(float) : "Fired when the input value is equal to the compare value. Sends the input value as data." - output OnNotEqualTo(float) : "Fired when the input value is different from the compare value. Sends the input value as data." - output OnGreaterThan(float) : "Fired when the input value is greater than the compare value. Sends the input value as data." -] - -@PointClass base(Targetname) color(0 100 250) iconsprite("editor/logic_branch.vmt") = logic_branch : - "Tests a boolean value and fires an output based on whether the value is true or false. " + - "Use this entity to branch between two potential sets of events." -[ - // Keys - InitialValue(integer) : "Initial value" : : "Initial value for the boolean value (0 or 1)." - - // Inputs - input SetValue(bool) : "Set the boolean value without performing the comparison. Use this to hold a value for a future test." - input SetValueTest(bool) : "Set the boolean value and test it, firing OnTrue or OnFalse based on the new value." - input Toggle(void) : "Toggle the boolean value between true and false." - input ToggleTest(void) : "Toggle the boolean value and tests it, firing OnTrue or OnFalse based on the new value." - input Test(void) : "Test the input value and fire OnTrue or OnFalse based on the value." - - // Outputs - output OnTrue(bool) : "Fired when the input value is true (nonzero)." - output OnFalse(bool) : "Fired when the input value is false (zero)." -] - - -@PointClass base(Targetname) color(0 100 250) iconsprite("editor/logic_branch_listener.vmt") - line(255 255 0, targetname, branch01) line(255 255 0, targetname, branch09) - line(255 255 0, targetname, branch02) line(255 255 0, targetname, branch10) - line(255 255 0, targetname, branch03) line(255 255 0, targetname, branch11) - line(255 255 0, targetname, branch04) line(255 255 0, targetname, branch12) - line(255 255 0, targetname, branch05) line(255 255 0, targetname, branch13) - line(255 255 0, targetname, branch06) line(255 255 0, targetname, branch14) - line(255 255 0, targetname, branch07) line(255 255 0, targetname, branch15) - line(255 255 0, targetname, branch08) line(255 255 0, targetname, branch16) = logic_branch_listener : - "Contains a list of logic_branch entities and fires outputs when the state of any of the logic_branches changes.\n\n"+ - "This entity is used to fire an event when a set of conditions are all satisfied." -[ - Branch01(target_destination) : "Logic Branch 01" : : "The name of one or more logic_branches (wildcards allowed)." - Branch02(target_destination) : "Logic Branch 02" : : "The name of one or more logic_branches (wildcards allowed)." - Branch03(target_destination) : "Logic Branch 03" : : "The name of one or more logic_branches (wildcards allowed)." - Branch04(target_destination) : "Logic Branch 04" : : "The name of one or more logic_branches (wildcards allowed)." - Branch05(target_destination) : "Logic Branch 05" : : "The name of one or more logic_branches (wildcards allowed)." - Branch06(target_destination) : "Logic Branch 06" : : "The name of one or more logic_branches (wildcards allowed)." - Branch07(target_destination) : "Logic Branch 07" : : "The name of one or more logic_branches (wildcards allowed)." - Branch08(target_destination) : "Logic Branch 08" : : "The name of one or more logic_branches (wildcards allowed)." - Branch09(target_destination) : "Logic Branch 09" : : "The name of one or more logic_branches (wildcards allowed)." - Branch10(target_destination) : "Logic Branch 10" : : "The name of one or more logic_branches (wildcards allowed)." - Branch11(target_destination) : "Logic Branch 11" : : "The name of one or more logic_branches (wildcards allowed)." - Branch12(target_destination) : "Logic Branch 12" : : "The name of one or more logic_branches (wildcards allowed)." - Branch13(target_destination) : "Logic Branch 13" : : "The name of one or more logic_branches (wildcards allowed)." - Branch14(target_destination) : "Logic Branch 14" : : "The name of one or more logic_branches (wildcards allowed)." - Branch15(target_destination) : "Logic Branch 15" : : "The name of one or more logic_branches (wildcards allowed)." - Branch16(target_destination) : "Logic Branch 16" : : "The name of one or more logic_branches (wildcards allowed)." - - input Test(void) : "Tests the state of all the logic_branches in the list and fires the appropriate output." - - output OnAllTrue(void) : "Fired when all the logic_branches in the list become true." - output OnAllFalse(void) : "Fired when all the logic_branches in the list become false." - output OnMixed(void) : "Fired when one of the logic branches in the list changes, but some are true and some are false." -] - - -@PointClass base(Targetname) color(0 100 250) iconsprite("editor/logic_case.vmt") = logic_case : - "Compares an input to up to 16 preset values. If the input value is the same as " + - "any of the preset values, an output corresponding to that value is fired.\n\n" + - "For example: if Case01 is set to 2 and Case02 is set to 5, and the input value is 5, " + - "the OnCase02 output will be fired.\n\n" + - "This entity can also be used to select from a number of random targets via the " + - "PickRandom input. One of the OnCase outputs that is connected to another entity will " + - "be picked at random and fired." -[ - Case01(string) : "Case 01" - Case02(string) : "Case 02" - Case03(string) : "Case 03" - Case04(string) : "Case 04" - Case05(string) : "Case 05" - Case06(string) : "Case 06" - Case07(string) : "Case 07" - Case08(string) : "Case 08" - Case09(string) : "Case 09" - Case10(string) : "Case 10" - Case11(string) : "Case 11" - Case12(string) : "Case 12" - Case13(string) : "Case 13" - Case14(string) : "Case 14" - Case15(string) : "Case 15" - Case16(string) : "Case 16" - - // Inputs - input InValue(string) : "Compares the Input value to the case values, and fires the appropriate output, if any." - input PickRandom(void) : "Fires a random OnCase output with at least one connection." - input PickRandomShuffle(void) : "Fires a random OnCase output with at least one connection, with no repeats until all cases have been picked, at which point the shuffle starts over." - - // Outputs - output OnCase01(void) : "Fired when the input value equals the Case01 value." - output OnCase02(void) : "Fired when the input value equals the Case02 value." - output OnCase03(void) : "Fired when the input value equals the Case03 value." - output OnCase04(void) : "Fired when the input value equals the Case04 value." - output OnCase05(void) : "Fired when the input value equals the Case05 value." - output OnCase06(void) : "Fired when the input value equals the Case06 value." - output OnCase07(void) : "Fired when the input value equals the Case07 value." - output OnCase08(void) : "Fired when the input value equals the Case08 value." - output OnCase09(void) : "Fired when the input value equals the Case09 value." - output OnCase10(void) : "Fired when the input value equals the Case10 value." - output OnCase11(void) : "Fired when the input value equals the Case11 value." - output OnCase12(void) : "Fired when the input value equals the Case12 value." - output OnCase13(void) : "Fired when the input value equals the Case13 value." - output OnCase14(void) : "Fired when the input value equals the Case14 value." - output OnCase15(void) : "Fired when the input value equals the Case15 value." - output OnCase16(void) : "Fired when the input value equals the Case16 value." - output OnDefault(void) : "Fired when the input value does not equal any of the Case values." -] - -@PointClass base(Targetname) iconsprite("editor/logic_multicompare.vmt") = logic_multicompare : - "Compares a set of inputs to each other. If they are all the same, fires an OnEqual output. " + - "If any are different, fires the OnNotEqual output. It is not possible to clear the memory, so this only works once." -[ - // keys - IntegerValue(integer) : "Integer Value (optional)" - ShouldComparetoValue(boolean) : "Should use Integer Value" : 0 - - // Inputs - input InputValue(integer) : "Input value" - input CompareValues(void) : "Compares the values and fires appropriate outputs" - - // Outputs - output OnEqual(void) : "Fires if the values are equal" - output OnNotEqual(void) : "Fires if the values are not equal" -] - -@PointClass base(Targetname, EnableDisable) color(0 100 250) 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 - ] - - // 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." - input EnableRefire(void) : "Allow this relay to trigger again quickly, if fast retrigger is disabled. This is automatically triggered 0.01s after the last OnTrigger output." - // 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, EnableDisable) color(0 100 250) size(-8 -8 -8, 8 8 8) = logic_register_activator : - "Stores an entity and sends messages with it as the activator\n" + - "Useful for keeping track of entities with mangled names due " + - "to template spawners and instances." -[ - // Inputs - input Toggle(void) : "Toggle between enabled and disabled." - input FireRegisteredAsActivator1(void) : "Start a message from this entity using the matching OnRegisteredActivating - but the activator is the registered entity." - input FireRegisteredAsActivator2(void) : "Start a message from this entity using the matching OnRegisteredActivating - but the activator is the registered entity." - input FireRegisteredAsActivator3(void) : "Start a message from this entity using the matching OnRegisteredActivating - but the activator is the registered entity." - input FireRegisteredAsActivator4(void) : "Start a message from this entity using the matching OnRegisteredActivating - but the activator is the registered entity." - input RegisterEntity(string) : "Stores an entity to later be used as an activator." - - // Outputs - output OnRegisteredActivate1(void) : "Fired to send a message using the registered as the activator." - output OnRegisteredActivate2(void) : "Fired to send a message using the registered as the activator." - output OnRegisteredActivate3(void) : "Fired to send a message using the registered as the activator." - output OnRegisteredActivate4(void) : "Fired to send a message using the registered as the activator." -] - -@PointClass base(Targetname, EnableDisable) color(0 100 250) iconsprite("editor/logic_random_outputs.vmt") = logic_random_outputs : - "A message forwarder. Fires up to eight separate outputs, each with a different chance of firing." -[ - spawnflags(flags) = - [ - 1: "Only trigger once" : 0 - 2: "Allow fast retrigger" : 0 - ] - OnTriggerChance1(float) : "OnTrigger1 Chance" : "1.0" : "Chance (from 0 to 1) of the OnTrigger1 output firing when this entity is triggered." - OnTriggerChance2(float) : "OnTrigger2 Chance" : "1.0" : "Chance (from 0 to 1) of the OnTrigger2 output firing when this entity is triggered." - OnTriggerChance3(float) : "OnTrigger3 Chance" : "1.0" : "Chance (from 0 to 1) of the OnTrigger3 output firing when this entity is triggered." - OnTriggerChance4(float) : "OnTrigger4 Chance" : "1.0" : "Chance (from 0 to 1) of the OnTrigger4 output firing when this entity is triggered." - OnTriggerChance5(float) : "OnTrigger5 Chance" : "1.0" : "Chance (from 0 to 1) of the OnTrigger5 output firing when this entity is triggered." - OnTriggerChance6(float) : "OnTrigger6 Chance" : "1.0" : "Chance (from 0 to 1) of the OnTrigger6 output firing when this entity is triggered." - OnTriggerChance7(float) : "OnTrigger7 Chance" : "1.0" : "Chance (from 0 to 1) of the OnTrigger7 output firing when this entity is triggered." - OnTriggerChance8(float) : "OnTrigger8 Chance" : "1.0" : "Chance (from 0 to 1) of the OnTrigger8 output firing when this entity is triggered." - - // Inputs - input Trigger(void) : "Trigger this entity, causing its OnTrigger outputs to fire if it is enabled." - input Toggle(void) : "Toggle this entity between enabled and disabled." - input CancelPending(void) : "Cancel any events fired by this entity that are currently pending in the I/O event queue." - - // Outputs - output OnSpawn(void) : "Fired when this entity is spawned. If this entity is set to only trigger once, it will "+ - "delete itself after firing this output." - output OnTrigger1(void) : "This output has a chance to fire when the entity is triggered." - output OnTrigger2(void) : "This output has a chance to fire when the entity is triggered." - output OnTrigger3(void) : "This output has a chance to fire when the entity is triggered." - output OnTrigger4(void) : "This output has a chance to fire when the entity is triggered." - output OnTrigger5(void) : "This output has a chance to fire when the entity is triggered." - output OnTrigger6(void) : "This output has a chance to fire when the entity is triggered." - output OnTrigger7(void) : "This output has a chance to fire when the entity is triggered." - output OnTrigger8(void) : "This output has a chance to fire when the entity is triggered." -] - -@PointClass base(Targetname) color(200 200 200) iconsprite("editor/logic_script.vmt") - line(200 200 200, targetname, group00) line(200 200 200, targetname, group08) - line(200 200 200, targetname, group01) line(200 200 200, targetname, group09) - line(200 200 200, targetname, group02) line(200 200 200, targetname, group10) - line(200 200 200, targetname, group03) line(200 200 200, targetname, group11) - line(200 200 200, targetname, group04) line(200 200 200, targetname, group12) - line(200 200 200, targetname, group05) line(200 200 200, targetname, group13) - line(200 200 200, targetname, group06) line(200 200 200, targetname, group14) - line(200 200 200, targetname, group07) line(200 200 200, targetname, group15) - = logic_script : "An entity that acts as a container for scripts." -[ - 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, EnableDisable) color(0 100 250) iconsprite("editor/logic_timer.vmt") = logic_timer : - "An entity that fires a timer event at regular, or random, intervals. It can also be set to oscillate between" + - "a high and low end, in which case it will fire alternating high/low outputs each time it fires." -[ - // Keys - spawnflags(flags) = - [ - 1 : "Oscillator (alternates between OnTimerHigh and OnTimerLow outputs)" : 0 - ] - - UseRandomTime(boolean) : "Use Random Time" : 0 - - LowerRandomBound(string) : "Minimum Random Interval" : : "If 'Use Random Time' is set, this is the minimum time between timer fires. The time will be a random number between this and the 'Maximum Random Interval'." - UpperRandomBound(string) : "Maximum Random Interval" : : "If 'Use Random Time' is set, this is the maximum time between timer fires. The time will be a random number between the 'Minimum Random Interval' and this." - RefireTime(string) : "Refire Interval" : : "If 'Use Random Time' isn't set, this is the time between timer fires, in seconds." - - // Inputs - input RefireTime(integer) : "Set a new Refire Interval." - input ResetTimer(void) : "Reset the timer. It will fire after the Refire Interval expires." - input FireTimer(void) : "Force the timer to fire immediately." - input Enable(void) : "Enable the timer." - input Disable(void) : "Disable the timer." - input Toggle(void) : "Toggle the timer on/off." - input LowerRandomBound(float) : "Set a new Minimum Random Interval." - input UpperRandomBound(float) : "Set a new Maximum Random Interval." - input AddToTimer(float) : "Add time to the timer if it is currently enabled. Does not change the Refire Interval." - input SubtractFromTimer(float) : "Subtract time from the timer if it is currently enabled. Does not change the Refire Interval." - - - // Outputs - output OnTimer(void) : "Fired when the timer expires." - output OnTimerHigh(void) : "Fired every other time for an oscillating timer." - output OnTimerLow(void) : "Fired every other time for an oscillating timer." -] - - -@PointClass base(Targetname) color(200 0 0) = hammer_updateignorelist : - "Specifies entities that are to be ignored by the hammer_update_safe_entities console command. " + - "Enter the targetnames of entities that you want to exclude into the list of fields here. " + - "Several of these may exist in a map." -[ - IgnoredName01(target_destination) : "IgnoredName 01" : "" : "Do not send this entity's information back to hammer during hammer_update_safe_entities" - IgnoredName02(target_destination) : "IgnoredName 02" : "" : "Do not send this entity's information back to hammer during hammer_update_safe_entities" - IgnoredName03(target_destination) : "IgnoredName 03" : "" : "Do not send this entity's information back to hammer during hammer_update_safe_entities" - IgnoredName04(target_destination) : "IgnoredName 04" : "" : "Do not send this entity's information back to hammer during hammer_update_safe_entities" - IgnoredName05(target_destination) : "IgnoredName 05" : "" : "Do not send this entity's information back to hammer during hammer_update_safe_entities" - IgnoredName06(target_destination) : "IgnoredName 06" : "" : "Do not send this entity's information back to hammer during hammer_update_safe_entities" - IgnoredName07(target_destination) : "IgnoredName 07" : "" : "Do not send this entity's information back to hammer during hammer_update_safe_entities" - IgnoredName08(target_destination) : "IgnoredName 08" : "" : "Do not send this entity's information back to hammer during hammer_update_safe_entities" - IgnoredName09(target_destination) : "IgnoredName 09" : "" : "Do not send this entity's information back to hammer during hammer_update_safe_entities" - IgnoredName10(target_destination) : "IgnoredName 10" : "" : "Do not send this entity's information back to hammer during hammer_update_safe_entities" - IgnoredName11(target_destination) : "IgnoredName 11" : "" : "Do not send this entity's information back to hammer during hammer_update_safe_entities" - IgnoredName12(target_destination) : "IgnoredName 12" : "" : "Do not send this entity's information back to hammer during hammer_update_safe_entities" - IgnoredName13(target_destination) : "IgnoredName 13" : "" : "Do not send this entity's information back to hammer during hammer_update_safe_entities" - IgnoredName14(target_destination) : "IgnoredName 14" : "" : "Do not send this entity's information back to hammer during hammer_update_safe_entities" - IgnoredName15(target_destination) : "IgnoredName 15" : "" : "Do not send this entity's information back to hammer during hammer_update_safe_entities" - IgnoredName16(target_destination) : "IgnoredName 16" : "" : "Do not send this entity's information back to hammer during hammer_update_safe_entities" -] - - -@PointClass base(Targetname) color(128 128 128) iconsprite("editor/ts2do/logic_collision_pair.vmt") line(128 128 128, attach1, attach2) = logic_collision_pair : - "An entity that can be used to enables/disable vphysics collisions between two target entities." -[ - attach1(target_destination) : "Attachment 1" : "" : "The first entity." - attach2(target_destination) : "Attachment 2" : "" : "The second entity." - - startdisabled(boolean) : "Start with collisions disabled" : 1 - - // Inputs - input EnableCollisions(void) : "Enable collisions between the first and second entity." - input DisableCollisions(void) : "Disable collisions between the first and second entity." -] - - -@PointClass base(Targetname, Parentname, EnableDisable) iconsprite("editor/env_microphone.vmt") sphere(MaxRange) color(0 0 255) line(64 64 64, targetname, target) line(255 255 0, targetname, target, targetname, SpeakerName) = env_microphone : - "An entity that acts as a microphone. It works in one of two modes. If it has a 'Speaker' set, it picks up all sounds within the specified sound range, " + - "and rebroadcasts them through the Speaker entity. In this Speaker mode, it ignores the Hears X spawnflags and does not fire the SoundLevel output. " + - "If it has no Speaker set, it measures the sound level at a point, and outputs the sound level as a value between 0 and 1. In Measuring mode, it only hears sounds that match the Hear X spawnflags." -[ - target(target_destination) : "Measure target" : : "If the speaker is in Measuring mode, this is the name of the entity where the sound level is to be measured." - SpeakerName(target_destination) : "Speaker target" : "" : "The name of an info_target entity through which to play any sounds heard by this microphone. If specified, the microphone will consider itself in Speaker mode." - ListenFilter(filterclass) : "Listen Filter" : "" : "The name of an filter entity which specifies the only entities the microphone can hear. Sounds emitted by other entities will not be heard." - speaker_dsp_preset(choices) : "Speaker DSP Preset" : 0 : "Only useful in Speaker mode. If specified, when the microphone is enabled, it'll set the global dsp_speaker preset to this value. Sounds played back through speakers will then be affected by the selected DSP." = - [ - 0 : "Use Default" - 50 : "1 NO EFFECT" - 51 : "2 (DUPLICATE OF 1)" - 52 : "3 (DUPLICATE OF 1)" - 53 : "4 (DUPLICATE OF 1)" - 54 : "5 (DUPLICATE OF 1)" - 55 : "6 SPEAKER, LOUDER" - 56 : "7 SPEAKER VERY SMALL" - 57 : "8 LOUDSPEAKER, ECHO" - 58 : "9 SPEAKER SMALL" - 59 : "10 SPEAKER TINY" - ] - - spawnflags(flags) = - [ - 1 : "Hears combat sounds" : 1 - 2 : "Hears world sounds" : 1 - 4 : "Hears player sounds" : 1 - 8 : "Hears bullet impacts" : 1 - 16: "Swallows sounds routed through speakers" : 0 - 32: "Hears explosions" : 0 - 64: "Ignores non-attenuated sounds" : 0 - ] - - Sensitivity(float) : "Sensitivity (0 - 10)" : 1 : "Microphone sensitivity, 0=deaf, 1=default, 10=extremely sensitive). Only applicable in Measuring mode." - SmoothFactor(float) : "Smoothing (0 - 1)" : 0 : "Smoothing factor, 0=no smoothing, 1=maximum smoothing). Only applicable in Measuring mode." - MaxRange(float) : "Maximum hearing range (0=infinite)" : 240 : "Sounds beyond this range won't be heard, irrelevant of attenuation. "+ - "WARNING: setting this to zero (or a value > 1024) when the microphone is in Speaker mode can be very bad for performance!!" - - // Inputs - input SetSpeakerName(string) : "Set the microphone to output through a different speaker entity." - - // Outputs - output SoundLevel(float) : "Fired in Measuring mode whenever the sound level changes." - output OnRoutedSound(void) : "Fired whenever a sound is routed out through the specified speaker (if any)." - output OnHeardSound(void) : "Fired whenever this microphone hears any sound it cares about." -] - -@PointClass base(Targetname, EnableDisable) color(0 100 250) iconsprite("editor/math_remap.vmt") = math_remap : - "An entity that remaps a range of input values to a given range of output values." -[ - spawnflags(flags) = - [ - 1 : "Ignore out of range input values" : 1 - ] - - in1(integer) : "Minimum Valid Input Value" : 0 : "Input values below this value will be ignored." - in2(integer) : "Maximum Valid Input Value" : 1 : "Input values above this value will be ignored." - out1(integer) : "Output Value When Input Is Min." : : "When the input value is equal to 'Minimum Valid Input Value', this is the output value." - out2(integer) : "Output Value When Input Is Max." : : "When the input value is equal to 'Maximum Valid Input Value', this is the output value." - - // Inputs - input InValue(float) : "Input value and fire the output with the remapped value." - - // Outputs - output OutValue(float) : "Fired when the InValue input is received, with the remapped input value as the parameter." -] - -@PointClass base(Targetname) color(0 100 250) iconsprite("editor/math_colorblend.vmt") = math_colorblend : - "Used to create a blend between two colors for controlling the color of another entity." -[ - spawnflags(flags) = - [ - 1 : "Ignore out of range input values" : 1 - ] - - inmin(integer) : "Minimum Valid Input Value" : 0 : "Input values below this value will be ignored." - inmax(integer) : "Maximum Valid Input Value" : 1 : "Input values above this value will be ignored." - colormin(color255) : "Output RGB color when input is min." : "0 0 0" : "When the input value is equal to 'Minimum Valid Input Value', this is the output RGB color." - colormax(color255) : "Output RGB color when input is max." : "255 255 255" : "When the input value is equal to 'Maximum Valid Input Value', this is the output RGB color." - - // Inputs - input InValue(float) : "Input value and fire the output with the remapped value." - - // Outputs - output OutColor(color255) : "Fired when the InValue input is received, with the remapped RGB color as the parameter." -] - -@PointClass base(Targetname, EnableDisable) color(0 100 250) iconsprite("editor/math_counter.vmt") = math_counter : - "Holds a numeric value and performs arithmetic operations upon it. If either the minimum or maximum " + - "legal value is nonzero, OutValue will be clamped to the legal range, and the OnHitMin/OnHitMax " + - "outputs will be fired at the appropriate times. If both min and max are set to zero, no clamping is " + - "performed and only the OutValue output will be fired." -[ - // Keys - startvalue(integer) : "Initial Value" : 0 : "Starting value for the counter." - min(integer) : "Minimum Legal Value" : 0 : "Minimum legal value for the counter. If min=0 and max=0, no clamping is performed." - max(integer) : "Maximum Legal Value" : 0 : "Maximum legal value for the counter. If min=0 and max=0, no clamping is performed." - - // Inputs - input Add(integer) : "Add an amount to the counter and fire the OutValue output with the result." - input Divide(integer): "Divide the counter by an amount and fire the OutValue output with the result." - input Multiply(integer): "Multiply the counter by an amount and fire the OutValue output with the result." - input SetValue(integer): "Set the counter to a new value and fire the OutValue output with the result." - input SetValueNoFire(integer): "Set the counter to a new value without firing any outputs." - input SetMaxValueNoFire(integer): "Set the MaxValue without firing any outputs." - input SetMinValueNoFire(integer): "Set the MinValue without firing any outputs." - input Subtract(integer): "Subtract an amount from the counter and fire the OutValue output with the result." - input SetHitMax(integer): "Set the upper bound of the counter and fire the OutValue output with the current value." - input SetHitMin(integer): "Set the lower bound of the counter and fire the OutValue output with the current value." - input GetValue(void): "Causes the counter fire its OnGetValue output with the current value of the counter. Used for polling the counter when you don't want constant updates from the OutValue output." - - // Outputs - output OutValue(integer) : "Fired when the counter value changes." - output OnHitMin(void) : "Fired when the counter value meets or goes below the min value. The counter must go back above the min value before the output will fire again." - output OnHitMax(void) : "Fired when the counter value meets or exceeds the max value. The counter must go below the max value before the output will fire again." - output OnChangedFromMin(void) : "Fired when the counter value changes from the minimum value." - output OnChangedFromMax(void) : "Fired when the counter value changes from the max value." - output OnGetValue(integer) : "Fired in response to the GetValue input. Used for polling the counter when you don't want constant updates from the OutValue output." -] - -@PointClass base(Targetname) color(0 100 250) size(-8 -8 -8, 8 8 8) line(255 255 0, targetname, source, targetname, target) = logic_lineto : - "An entity that calculates and outputs a vector from one entity to another." -[ - source(target_destination) : "Start entity" : : "Name of the entity the line should start from." - target(target_destination) : "End entity" : : "Name of the entity that line should end at." - - // Outputs - output Line(vector) : "Fired when the vector, from the start entity to the end entity, changes. Passes along the vector as a parameter." -] - -@PointClass base(Targetname) size(-8 -8 -8, 8 8 8) line(128, 128, 128, targetname, target) = logic_navigation : - "An entity that is used to set navigation properties on other entities. Useful to make NPCs ignore physics props in their way that they can easily push." -[ - target(target_destination) : "Navigation Entity" : : "Name of the entity to set navigation properties on." - spawnflags(flags) = - [ - 1 : "Start On" : 1 - ] - navprop(string) readonly : "Nav Property" : "Ignore" : "The only valid property is to ignore this entity, so NPCs will bump into it." - // navprop(choices) : "Nav Property" : "Ignore" = - // [ - // "Ignore" : "NPCs Ignore this when navigating (they'll bump into it)" - // ] - - // Inputs - input TurnOn(void) : "Turn on. The Navigation Entity will have its navigation properties set." - input TurnOff(void) : "Turn off. The Navigation Entity will have its navigation properties returned to the default settings." - input Toggle(void) : "Toggle on/off." -] - -@PointClass base(Targetname) color(200 0 0) iconsprite("editor/logic_autosave.vmt") = logic_autosave : - "An entity that is used to force an autosave." -[ - NewLevelUnit(boolean) : "Force New Level Unit" : 0 : "If set, the save will discard any savedata from previous levels, for the purpose of keeping savegame filesizes down. Can only be safely used if there is no way for the player to return to previous levels." - - MinimumHitPoints(integer): "Minimum Hit Points" : 0 : "Don't save dangerous when player has less than this many hitpoints." - MinHitPointsToCommit(integer) : "Minimum Hit Points to Commit" : 0 : "Minimum hitpoints required to commit to save. The save will be made if you have at least Minimum Hit Points, but when the autosave timer expires, the autosave is only kept if you have at least Min Hitpoints to Commit." - - // Inputs - input Save(void) : "Force an autosave." - input SaveDangerous(float) : "Force an autosave as autosavedangerous.sav. If the player is alive after the passed number of seconds it replaces the standard auto save." - input SetMinHitpointsThreshold(integer) : "Set MinimumHitPoints to this." -] - -@PointClass base(Targetname) color(200 0 0) iconsprite("editor/logic_active_autosave.vmt") = logic_active_autosave : - "An entity that is used to look for opportunities to autosave." -[ - MinimumHitPoints(integer): "Initiation Hit Points" : 30 : "Start looking for an opportunity to save if player drops below this hitpoint level." - TriggerHitPoints(integer): "Trigger Hit Points" : 75 : "If started looking for an opportunity, save when hitpoints reach this level." - TimeToTrigget(float): "Time to trigger" : 0 : "If > 0, how long to try and get a save off before giving up" - DangerousTime(float): "Dangerous time" : 10 : "If 0, just autosave. Otherwise, do an autosavedangerous with this time threshold" - - // Inputs - input Enable(void) : "Enable the entity" - input Disable(void) : "Enable the entity" -] - -@PointClass base(Targetname) iconsprite("editor/logic_playmovie") = logic_playmovie : "Plays a movie and allows for various playback options" -[ - MovieFilename(string) : "Movie to play" : "" : "Filename of the movie to play" - allowskip(boolean) : "Allow User to Skip" : 0 : "Whether or not the user may skip the video with common keys" - loopvideo(boolean) : "Loop Video" : 0 : "If set to true, the movie will loop forever" - fadeintime(float) : "Fade In Time" : 0 : "Time it takes for the video to fade in" - - input PlayMovie(void) : "Play the movie." - input PlayMovieForAllPlayers(void) : "Play the movie for all connected players." - input PlayLevelTransitionMovie(string) : "Plays a movie with specific settings used for level transitions. Pass the name of the movie in the parameters. To be fired at the end of a level." - input FadeAllMovies(void) : "Fade movies out for all players connected." - - // Outputs - output OnPlaybackFinished(void) : "Fired when the movie has completed playing back or was skipped by the user." -] - -@PointClass base(Targetname) iconsprite("editor/point_template.vmt") - line(255 255 0, targetname, Template01) line(255 255 0, targetname, Template09) - line(255 255 0, targetname, Template02) line(255 255 0, targetname, Template10) - line(255 255 0, targetname, Template03) line(255 255 0, targetname, Template11) - line(255 255 0, targetname, Template04) line(255 255 0, targetname, Template12) - line(255 255 0, targetname, Template05) line(255 255 0, targetname, Template13) - line(255 255 0, targetname, Template06) line(255 255 0, targetname, Template14) - line(255 255 0, targetname, Template07) line(255 255 0, targetname, Template15) - line(255 255 0, targetname, Template08) line(255 255 0, targetname, Template16) = point_template : - "Turns an entity, or set of entities, into a single template that can be instanced anywhere, and multiple times. "+ - "If there are interdependencies (entity I/O, hierarchy, or other name references) between the entities "+ - "in the template, the entities in the template will have their names changed and the interdependencies will "+ - "be reconnected to the changes names. The name change format is as follows: '&0000', where the 0000 "+ - "will be replaced with the current global template instance, so wildcard searches for '*' will still find them.\n"+ - "If you don't want the name fixup to happen, because you're only spawning the template once, or you want inputs to "+ - "trigger all instances of the template, check the 'Preserve entity names' spawnflag. \n"+ - "To spawn the template in other places, use an env_entity_maker." -[ - spawnflags(flags) = - [ - 1 : "Don't remove template entities" : 0 - 2 : "Preserve entity names (Don't do name fixup)" : 1 - ] - - Template01(target_destination) : "Template 1" - Template02(target_destination) : "Template 2" - Template03(target_destination) : "Template 3" - Template04(target_destination) : "Template 4" - Template05(target_destination) : "Template 5" - Template06(target_destination) : "Template 6" - Template07(target_destination) : "Template 7" - Template08(target_destination) : "Template 8" - Template09(target_destination) : "Template 9" - Template10(target_destination) : "Template 10" - Template11(target_destination) : "Template 11" - Template12(target_destination) : "Template 12" - Template13(target_destination) : "Template 13" - Template14(target_destination) : "Template 14" - Template15(target_destination) : "Template 15" - Template16(target_destination) : "Template 16" - - // Inputs - input ForceSpawn(void) : "Spawn an instance of the template at the original position." - - // Outputs - output OnEntitySpawned(void) : "Fired after spawning an instance of this template." -] - -@PointClass base(Targetname,Parentname,Angles) line(255 255 0, targetname, entitytemplate) iconsprite("editor/env_entity_maker.vmt") = env_entity_maker : - "Spawns the specified entity template at its origin. If set to auto-spawn, it will spawn the template whenever there's room and the player "+ - "is looking elsewhere." -[ - spawnflags(Flags) = - [ - 1 : "Enable AutoSpawn (will spawn whenever there's room)" : 0 - 2 : "AutoSpawn: Wait for entity destruction" : 0 - 4 : "AutoSpawn: Even if the player is looking" : 0 - 8 : "ForceSpawn: Only if there's room" : 0 - 16 : "ForceSpawn: Only if the player isn't looking" : 0 - ] - - EntityTemplate(target_destination) : "Point_template To Spawn" : "" : "Name of the point_template to spawn here." - - PostSpawnSpeed(float) : "PostSpawn Movement Speed" : "0" : "If specified, all the entities created in the template will move this fast in the specified PostSpawn Movement Direction." - PostSpawnDirection(angle) : "PostSpawn Movement Direction" : "0 0 0" : "If a PostSpawn Movement Speed is specified, all the entities created in the template will move in this direction." - PostSpawnDirectionVariance(float) : "PostSpawn Direction Variance" : "0.15" : "This variance is applied to the PostSpawn Movement Direction for each spawned entity in the template. Use it to apply some randomness to the directions." - PostSpawnInheritAngles(boolean) : "PostSpawn Inherit Angles" : 0 : "If in hierarchy, is spawn direction in world space, or object local space of parent" - - // Inputs - input ForceSpawn(void) : "Spawn an instance of the template at this origin and angle." - input ForceSpawnAtEntityOrigin(target_destination) : "Spawn an instance of the template that the same origin and angle as the specified entity (specify by targetname in parameters)" - - // Outputs - output OnEntitySpawned(void) : "Fired when an instance of the entity template has been spawned." - output OnEntityFailedSpawn(void) : "Fired when a ForceSpawn input failed to spawn the template, either due to lack of space or being in player's view, depending on the spawnflags." -] - - -//------------------------------------------------------------------------- -// -// Activator Filters -// -//------------------------------------------------------------------------- - -@BaseClass base(Targetname) = BaseFilter -[ - Negated(choices) : "Filter mode" : "Allow entities that match criteria" : "If set to Allow, only entities who match the criteria will pass the filter. "+ - "If set to Disallow, only entities who do NOT match the criteria will pass the filter." = - [ - 0 : "Allow entities that match criteria" - 1 : "Disallow entities that match criteria" - ] - - // Inputs - input TestActivator(void) : "Test the activator against the filter and fires OnPass or OnFail output." - - // Outputs - output OnPass(void) : "Fired in response to TestActivator input if the activator passes the filter." - output OnFail(void) : "Fired in response to TestActivator input if the activator fails to pass the filter." -] - -@FilterClass base(BaseFilter) color(0 255 0) iconsprite("editor/filter_multiple.vmt") - line(0 255 0, targetname, filter01) - line(0 255 0, targetname, filter02) - line(0 255 0, targetname, filter03) - line(0 255 0, targetname, filter04) - line(0 255 0, targetname, filter05) - line(0 255 0, targetname, filter06) - line(0 255 0, targetname, filter07) - line(0 255 0, targetname, filter08) - line(0 255 0, targetname, filter09) - line(0 255 0, targetname, filter10) = filter_multi : - "A filter that tests the activator against multiple filters. This allows you to build more complex filters, such as"+ - "'Allow anyone on Team 1 who is also class engineer', or 'Allow everyone except classes npc_zombie and npc_headcrab'." -[ - filtertype(choices) : "Logic Type" : 0 = - [ - 0 : "AND (all filters must pass)" - 1 : "OR (any filter must pass)" - ] - - Negated(boolean) : "Negate Outcome" : 0 : "Whether to negate the result of the subfilters, after combining them using the Logic Type chosen.\n"+ - "Negating the outcome using the AND logic type means that any subfilter must fail for this filter to pass.\n"+ - "Negating the outcome using the OR logic type means that all subfilters must fail for this filter to pass." - - Filter01(filterclass) : "Filter 1" : : "Activator filter to test." - Filter02(filterclass) : "Filter 2" : : "Activator filter to test." - Filter03(filterclass) : "Filter 3" : : "Activator filter to test." - Filter04(filterclass) : "Filter 4" : : "Activator filter to test." - Filter05(filterclass) : "Filter 5" : : "Activator filter to test." - Filter06(filterclass) : "Filter 6" : : "Activator filter to test." - Filter07(filterclass) : "Filter 7" : : "Activator filter to test." - Filter08(filterclass) : "Filter 8" : : "Activator filter to test." - Filter09(filterclass) : "Filter 9" : : "Activator filter to test." - Filter10(filterclass) : "Filter 10" : : "Activator filter to test." -] - -@FilterClass base(BaseFilter) color(0 255 0) iconsprite("editor/filter_name.vmt") line(0 255 0, targetname, filtername) = filter_activator_name : - "A filter that filters by the name of the activator." -[ - filtername(target_destination) : "Filter Name" : : "The name to filter by. If the filter mode is Allow, only entities whose "+ - "name matches the given string will pass the filter. If the filter mode is Disallow, "+ - "all entities EXCEPT those whose name matches the string will pass the filter." -] - -@FilterClass base(BaseFilter) color(0 255 0) iconsprite("editor/filter_model.vmt") = filter_activator_model : - "A filter that filters by the model of the activator." -[ - model(studio) : "Filter Model" : : "The model to filter by. If the filter mode is Allow, only entities whose "+ - "model matches the given string will pass the filter. If the filter mode is Disallow, "+ - "all entities EXCEPT those whose model matches the string will pass the filter." -] - -@FilterClass base(BaseFilter) color(0 255 0) iconsprite("editor/filter_context.vmt") = filter_activator_context : - "A filter that filters by a context on the activator." -[ - ResponseContext(string) : "Filter Context" : : "The context to filter by. If the filter mode is Allow, only entities that "+ - "have a context matching the given string, of any value, will pass the filter. If the filter mode is Disallow, "+ - "all entities EXCEPT those whose context matches the string will pass the filter." -] - -@FilterClass base(BaseFilter) color(0 255 0) iconsprite("editor/filter_class.vmt") = filter_activator_class : - "A filter that filters by the class name of the activator." -[ - filterclass(string) : "Filter Classname" : : "The class name to filter by. If the filter mode is Allow, only entities whose "+ - "class name matches the given string will pass the filter. If the filter mode is Disallow, "+ - "all entities EXCEPT those whose class name matches the given string will pass the filter." -] - -@FilterClass base(BaseFilter) color(0 255 0) iconsprite("editor/filter_mass.vmt") = filter_activator_mass_greater : - "A filter that filters by the mass of the activator." -[ - filtermass(float) : "Filter Mass" : : "The mass to filter by. If the filter mode is Allow, only entities whose "+ - "mass is greater than the give float will pass the filter. If the filter mode is Disallow, "+ - "all entities EXCEPT those whose mass is greater than the given float will pass the filter." -] - -@FilterClass base(BaseFilter) color(0 255 0) iconsprite("editor/filter_damage_type.vmt") = filter_damage_type : - "A damage filter that filters by the type of damage inflicted. This can only be used as a damage filter, not as an activator filter." -[ - damagetype(choices) : "Damage type" : 64 : "The damage type to filter by. If the filter mode is Allow, only damage types that "+ - "match will pass the filter. If the filter mode is Disallow, all damage types EXCEPT those who match will pass the filter." = - [ - 0 : "GENERIC" - 1 : "CRUSH" - 2 : "BULLET" - 4 : "SLASH" - 8 : "BURN" - 16 : "VEHICLE" - 32 : "FALL" - 64 : "BLAST" - 128 : "CLUB" - 256 : "SHOCK" - 512 : "SONIC" - 1024 : "ENERGYBEAM" - 16384: "DROWN" - 32768 : "PARALYSE" - 65536 : "NERVEGAS" - 131072 : "POISON" - 262144 : "RADIATION" - 524288 : "DROWNRECOVER" - 1048576 : "ACID" - 2097152 : "SLOWBURN" - ] -] - -@FilterClass base(BaseFilter) iconsprite("editor/filter_class.vmt") sphere(filter_radius) sphere(filter_outer_radius) = filter_enemy : - "A filter that filters a potential enemy entity by a set of criteria." -[ - filtername(string) : "Name/Classname" : : "The classname or entity name to filter by. If the filter mode is Allow, only entities whose "+ - "class name matches the given string will pass the filter. If the filter mode is Disallow, "+ - "all entities EXCEPT those whose class name matches the given string will pass the filter." - - filter_radius(float) : "Radius" : 0 : "Radius by which to test the proximity of the enemy. If the filter mode is Allow, only entities whose "+ - "distance is equal to or closer than the radius will pass the filter. If the filter mode is Disallow, "+ - "all entities outside the radius will pass the filter." - - filter_outer_radius(float) : "Outer Radius" : 0 : "Enemies outside this radius are considered invalid if Allow is set and valid if Disallow is set." - - filter_max_per_enemy(integer) : "Max Squadmates Per Enemy" : 0 : "Maximum number of squadmates allowed to target any given entity." - - spawnflags(Flags) = - [ - 1 : "Do not lose target if already aquired but filter failed." : 0 - ] -] - -//------------------------------------------------------------------------- -// -// Point Entities -// -//------------------------------------------------------------------------- - -@PointClass base(Targetname, Parentname, EnableDisable) - size(-8 -8 -8, 8 8 8) - color(0 100 250) - line(0 100 250, targetname, target) - line(0 100 250, targetname, target, targetname, lookatname) -= point_anglesensor : - "An entity that detects if another entity points in a given direction for a period of time." -[ - target(target_destination) : "Target Entity Name" : : "Name of the entity whose angles will be sensed." - lookatname(target_destination) : "Look At Entity" : : "The entity we want to check to see if the Target Entity is looking at." - duration(float) : "Duration" : : "The amount of time the Target Entity must look at the 'Look at Entity' to trigger this entity, in seconds." - tolerance(integer) : "Tolerance" : : "The tolerance, in degrees, in the checking to determine when the Target Entity is looking at the Look At Entity." - - spawnflags(Flags) = - [ - 1 : "Use target entity's angles (NOT position)" : 0 - ] - - // Inputs - input Toggle(void) : "Toggle the sensor between enabled and disabled." - input Test(void) : "Check to see if the Target Entity is facing the Look At Entity within the specified tolerance, firing either the OnFacingLookat or OnNotFacingLookat output based on the result." - - // Outputs - output TargetDir(vector) : "Fired when the forward direction of the Target Entity changes. Passes the new forward direction as a parameter." - output OnFacingLookat(void) : "Fired when the Target Entity points at the Look At Entity for more than the specified Duration, or in response to a Test input." - output OnNotFacingLookat(void) : "Fires in response to a Test input when the Target Entity is not pointing at the Look At Entity." - output FacingPercentage(float) : "Normalized value (0..1) where 1 is facing directly at target and 0 is at or beyond the angle of tolerance." -] - -@PointClass base(Targetname) - size(-8 -8 -8, 8 8 8) - color(0 100 250) - line(0 100 250, targetname, target) -= point_angularvelocitysensor : - "An entity that detects if another entity's angular velocity meets or exceeds a threshold value." -[ - target(target_destination) : "Target Entity Name" : : "Name of the entity whose angular velocity will be sensed." - threshold(float) : "Threshold Velocity" : 0 : "The threshold angular velocity to compare against, in degrees per second." - fireinterval(float) : "Fire Interval" : "0.2" : "Angular velocity must cross the threshold for at least this long to fire." - - axis(vecline) : "Axis" - - usehelper(boolean) : "Use Axis Helper" : 0 : "Use axis helper to determine rotation values (clockwise/counter-clockwise)." - - // Inputs - input Test(void) : "Checks to see if the Target Entity's angular velocity meets or exceeds the Threshold Velocity, " + - "firing either the OnGreaterThanOrEqualTo or OnLessThan output based on the result." - - input TestWithInterval(void) : "Checks to see if the Target Entity's angular velocity meets or exceeds the Threshold Velocity. Once the Fire Interval expires, " + - "fires the appropriate test result output if the result is stable throughout the Fire Interval." - - // Outputs - output AngularVelocity(float) : "Fired when the Target's Angular Velocity changes, passing the new magnitude of the angular velocity." - output OnGreaterThan(void) : "Fired when the Target Entity goes from slower than the threshold angular velocity to faster than the threshold angular velocity." - output OnGreaterThanOrEqualTo(void) : "Fired when the Target Entity goes from slower than the threshold angular velocity to faster than the threshold angular velocity." - output OnLessThan(void) : "Fired when the Target Entity goes from faster than the threshold angular velocity to slower than the threshold angular velocity." - output OnLessThanOrEqualTo(void) : "Fired when the Target Entity goes from faster than the threshold angular velocity to slower than the threshold angular velocity." - output OnEqualTo(void) : "Fired when the Target Entity reaches the threshold angular velocity from a different velocity." -] - -@PointClass base(Targetname) - size(-8 -8 -8, 8 8 8) - color(0 100 250) - line(0 100 250, targetname, target) -= point_velocitysensor : - "An entity that detects and outputs an entity's velocity." -[ - target(target_destination) : "Target Entity Name" : : "Name of the entity whose velocity will be sensed." - axis(vecline) : "Measurement Axis" - enabled(boolean) : "Start Enabled" : 1 : "Whether or not to start enabled and active." - - // Outputs - output Velocity(float) : "Fired when the Target's Velocity changes, passing the new magnitude of the velocity." - - input Enable(void) : "Enable the sensor." - input Disable(void) : "Disable the sensor." -] - -@PointClass base(Targetname, Parentname, EnableDisable, Angles) - color(0 100 250) - line(0 100 250, targetname, target) - iconsprite("editor/point_proximity_sensor.vmt") -= point_proximity_sensor : - "An entity that detects another entity's proximity to a target position." -[ - target(target_destination) : "Target Entity Name" : : "Name of the entity whose position will be sensed." - - spawnflags(Flags) = - [ - 1 : "Test the distance as measured along the axis specified by our direction." : 0 - ] - - // Inputs - input Toggle(void) : "Toggle the sensor between enabled and disabled." - - // Outputs - output Distance(float) : "Distance of the target entity away from this entity." -] - - -@PointClass base(Targetname, Angles) - iconsprite("editor/point_teleport.vmt") - line(255 255 255, targetname, target) -= point_teleport : - "An entity that teleports a target entity to this position and angles. "+ - "If 'Teleport Home' spawn flag is set, teleports the target entity to its spawn position instead." + - "If object is physically simulated, simulation is turned off when teleported." -[ - target(target_destination) : "Entity To Teleport" : : "Name of the entity that will be teleported." - spawnflags(flags) = - [ - 1 : "Teleport Home" : 0 - 2 : "Into Duck (episodic)" : 0 - ] - - // Inputs - input Teleport(void) : "Teleport the target entity." - input TeleportToCurrentPos(void) : "Teleport the target entity to wherever the point_teleport entity is currently. "+ - "The Teleport input teleports to the initial position of the point_teleport, so this input was added to avoid breaking old content." - - input TeleportEntity(target_destination) : "Teleport the entity specified by the parameter override. Use this to teleport an entity other than the one specified in the Entity To Teleport field." -] - -@PointClass base(Targetname) - sphere(DamageRadius) - line(255 255 255, targetname, damagetarget) - iconsprite("editor/game_end.vmt") -= point_hurt : - "An entity that does damage to all entities in a radius around itself, with a specified delay." + - "If 'Target Entity' is specified, the damage is only done to that entity." -[ - spawnflags(flags) = - [ - 1 : "Start Active" : 0 - ] - - DamageTarget(target_destination) : "Target Entity" : : "If specified, only this entity will take damage. Otherwise, all entities within the Radius will take damage." - - DamageRadius(float) : "Radius" : 256 : "All entities within this radius of this entity will take damage. If a 'Target Entity' is specified, only that entity will take damage." - Damage(integer) : "Damage" : 5 : "Damage done to all affected entities each time this entity fires." - DamageDelay(float) : "Delay" : 1 : "Delay between refires, in seconds." - - DamageType(choices) : "Damage Type" : 0 : "Type of damage to inflict on entities damaged." = - [ - 0 : "GENERIC" - 1 : "CRUSH" - 2 : "BULLET" - 4 : "SLASH" - 8 : "BURN" - 16 : "FREEZE" - 32 : "FALL" - 64 : "BLAST" - 128 : "CLUB" - 256 : "SHOCK" - 512 : "SONIC" - 1024 : "ENERGYBEAM" - 16384: "DROWN" - 32768 : "PARALYSE" - 65536 : "NERVEGAS" - 131072 : "POISON" - 262144 : "RADIATION" - 524288 : "DROWNRECOVER" - 1048576 : "CHEMICAL" - 2097152 : "SLOWBURN" - 4194304 : "SLOWFREEZE" - ] - - // Inputs - input Hurt(void) : "Force a single fire, damaging either the Target Entity or all entities within the radius." - input TurnOn(void) : "Enable this entity. It will start damaging entities everytime it fires, and refire based upon the specified Delay." - input TurnOff(void) : "Disable this entity. It will stop damaging entities." - input Toggle(void) : "Toggle this entity between On/Off state." -] - -@PointClass base(Targetname) - iconsprite("editor/ts2do/point_playermoveconstraint.vmt") - sphere(radius) -= point_playermoveconstraint : - "An entity that constrains players to a radius around itself, slowing them down the closer they get to the edge of the radius." -[ - radius(float) : "Radius" : 256 : "Radius to constrain players to." - width(float) : "Constraint Width" : "75.0" : "Width of the constraint edge. This is the distance in which to start slowing players down as they approach the edge of the radius." - speedfactor(float) : "Speed Factor" : "0.15" : "Factor applied to the player's max speed as they approach the radius edge." - - // Inputs - input TurnOn(void) : "Start constraining any players within the radius." - input TurnOff(void) : "Stop constraining any players previously constrained." - - // Outputs - output OnConstraintBroken(void) : "Fired when a player breaks through the constraint." -] - -//------------------------------------------------------------------------- -// -// Physics entities -// -//------------------------------------------------------------------------- - -@SolidClass base(BreakableBrush,Targetname, Origin, RenderFields, Shadow, Reflection, compMinLight) = func_physbox : - "A brush entity that's physically simulated." -[ - spawnflags(flags) = - [ - 4096 : "Start Asleep" : 0 - 8192 : "Ignore +USE for Pickup" : 0 - 16384 : "Debris - Don't collide with the player or other debris" : 0 - 32768 : "Motion Disabled" : 0 - 65536 : "Use Preferred Carry Angles" : 0 - 131072: "Enable motion on Physcannon grab" : 0 - 262144: "Not affected by rotor wash" : 0 - 524288: "Generate output on +USE " : 1 - 1048576 : "Physgun can ALWAYS pick up. No matter what." : 0 - 2097152 : "Physgun is NOT allowed to pick this up." : 0 - 4194304 : "Physgun is NOT allowed to punt this object." : 0 - 8388608: "Prevent motion enable on player bump" : 0 - ] - - Damagetype(choices) : "Impact Damage Type" : 0 = - [ - 0: "Blunt" - 1: "Sharp" - ] - - massScale(float) : "Mass Scale" : "0" : "A scale multiplier for the object's mass." - overridescript(string) : "Override Parameters" : "" : "A list of physics key/value pairs that are usually in a physics prop .qc file. Format is 'key,value,key,value,etc'." - damagetoenablemotion(integer) : "Health Level to Override Motion" : 0 : "If specified, this object will start motion disabled. Once its health has dropped below this specified amount, it will enable motion." - forcetoenablemotion(float) : "Physics Impact Force to Override Motion" : 0 : "If specified, this object will start motion disabled. Any impact that imparts a force greater than this value on the physbox will enable motion." - health(integer) : "Strength" : 0 : "Number of points of damage to take before breaking. 0 means don't break." - preferredcarryangles(vector) : "Preferred Player-carry Angles" : "0 0 0" : "If the 'Use Preferred Carry Angles' spawnflag is set, this angle is the angle which the object should orient to when the player picks it up, with the physgun or +USE." - notsolid(choices) : "Not solid to world" : 0 = - [ - 0: "Solid to World" - 1: "Passes through World" - ] - - ExploitableByPlayer(choices) : "Exploitable by Player" : 0 = - [ - 0: "Default" - 1: "Explosive" - ] - - // Inputs - input Wake(void) : "Wake up this physics object, if it is sleeping." - input Sleep(void) : "Put this physics object to sleep. It will wake if given the Wake input, or if force is applied to it. Note that physics objects go to sleep automatically after coming to rest for a while, so you don't really need to use this." - input EnableMotion(void) : "Enable physics motion/collision response." - input DisableMotion(void) : "Disable physics motion/collision response." - input ForceDrop(void) : "If this object is being carried by a player, with the physgun or +USE, force it to be dropped." - input Enable(void) : "Show this object and allow it to collide, doesn't override notsolid" - input Disable(void) : "Hide this object and stop collisions" - input BecomeDebris(void) : "Change the collision to act like debris" - - - // Outputs - output OnDamaged(void) : "Fired when this entity is damaged." - output OnAwakened(void) : "Fired when this entity becomes awake (collision/force is applied)." - output OnMotionEnabled(void) : "Fired when motion is enabled due to damage/physcannon/force." - output OnPhysGunPickup(void) : "Fired when a player picks this object up, either with the physgun or +USE." - output OnPhysGunPunt(void) : "Fired when a player punts this object with the physgun." - output OnPhysGunOnlyPickup(void) : "Fired when a player picks this object up WITH THE PHYSGUN. +USE pickups do not fire this output." - output OnPhysGunDrop(void) : "Fired when a player drops this object." - output OnPlayerUse(void) : "Fired when the player tries to +USE the physbox. This output will fire only if the Generate output on +USE spawnflag is set." -] - -@BaseClass base(Targetname) line(255 255 0, targetname, attach1) line(0 0 255, targetname, attach2) = TwoObjectPhysics -[ - spawnflags(flags) = - [ - 1: "No Collision until break" : 0 - // 2 is defined independently by subclasses, do not reuse - 4: "Start inactive" : 0 - 8: "Change mass to keep stable attachment to world" : 0 - 16: "Do not connect entities until turned on" : 0 - ] - attach1(target_destination) : "Entity 1 (Yellow)" : "" : "The first entity to constrain. If blank the second entity will be constrained to the World." - attach2(target_destination) : "Entity 2 (Blue)" : "" : "The second entity to constrain. If blank the first entity will be constrained to the World." - constraintsystem(target_destination) : "Constraint System Manager" : "" : "The name of a phys_constraintsystem that this constraint should be a part of. All constraints on a set of entities should be placed in the same system, or they will fight each other during simulation." - - forcelimit(float) : "Force Limit to Break (lbs)" : "0" : "The amount of force an impact must apply to the constraint to break it. A way of calculating this is to set it to the mass of an object that would break this constraint if it were resting on the constrainted objects." - torquelimit(float) : "Torque Limit to Break (lbs * distance)" : "0" : "The amount of torque required to break the constraint. A way of calculating this is to multiply any reference mass by the resting distance (from the center of mass of the object) needed to break the constraint." - breaksound(sound) : "Play Sound on Break" : "" : "A sound played when the constraint is broken." - teleportfollowdistance(float) : "Follow teleport distance" : "0" : "If one object teleports more than this many units away it will cause the other constrained object to teleport to an appropriate relative position." - - // Inputs - input Break(void) : "Force the constraint to break." - input TurnOn(void) : "Enable the constraint. Do this when the objects don't exist when the constraint spawns - or when you have deactivated the constraint. Broken constraints can NOT be turned on. They have been deleted." - input TurnOff(void) : "Disable this constraint." - - // Outputs - output OnBreak(void) : "Fired when the constraint breaks." -] - -@PointClass base(Targetname) color(128 128 128) iconsprite("editor/phys_constraintsystem.vmt") = phys_constraintsystem : - "An entity used to manage a group of interacting constraints and keep them stable. " + - "All constraints on a set of entities should be placed in the same system, or they will fight each other during simulation." -[ - additionaliterations(integer) : "Additional System Iterations" : 0 : "Adding iterations makes the interactions among constraints in a system tighter. It will not compensate for errors due to collision, but will help in cases where objects of disparate mass are constrained to each other." -] - -@PointClass base(Targetname,Angles) - color(128 128 128) - iconsprite("editor/ts2do/phys_keepupright.vmt") - line(255 255 0, targetname, attach1) -= phys_keepupright : "A controller that tries to keep an entity facing a particular direction." -[ - spawnflags(flags) = - [ - 1: "Start inactive" : 0 - ] - - attach1(target_destination) : "Target Entity" : "" : "The entity to align to the desired angles." - angularlimit(float) : "Angular Limit" : "15" : "The maximum angular velocity that this controller can compensate for, in degrees per second." - - // Inputs - input TurnOn(void) : "Enable the controller." - input TurnOff(void) : "Disable the controller." -] - -@PointClass base(Targetname, Angles) sphere(expradius) studioprop() = physics_cannister : - "A physically simulated gas cannister that can have its cap shot off, at which point gas will start escaping and cause the cannister to fly around. If it takes enough damage, it will explode. " + - "The model should have a nozzle attachment point, which is where gas will escape and thrust will be produced from." -[ - model(studio) : "World model" : "" : "The model used for the cannister. The original model is fire_equipment/w_weldtank.mdl." - spawnflags(flags) = - [ - 1 : "Start Asleep" : 0 - 2 : "Explodes" : 1 - ] - - expdamage(string) : "Explosion Damage" : "200.0" : "The amount of damage done by the explosion created when the cannister blows up." - expradius(string) : "Explosion Radius" : "250.0" : "The radius of the explosion to create when the cannister blows up." - health(integer) : "Health" : 25 : "The amount of damage the cannister takes before exploding." - - thrust(string) : "Thrust" : "3000.0" : "When the cap has been blown off, and the escaping gas is thrusting the cannister about, this is the amount of thrust generated." - fuel(string) : "Fuel Seconds" : "12.0" : "The amount of time that gas leaks from the cannister before being considered empty." - rendercolor(color255) : "Smoke Color (R G B)" : "255 255 255" - renderamt(integer) : "Smoke Alpha (0 - 255)" : 128 - gassound(sound) : "Thruster Sound" : "ambient/objects/cannister_loop.wav" : "The sound played when the gas is escaping from the cannister." - - // Inputs - input Activate(string) : "Start gas escaping from the cannister." - input Deactivate(string) : "Stop gas escaping from the cannister." - input Explode(string) : "Force the cannister to explode." - input Wake(void) : "Wakes up the cannister, if it is sleeping." - - // Outputs - output OnActivate(void) : "Fired when gas starts to escape from the cannister." - output OnAwakened(void) : "Fired when this entity becomes awake (collision/force is applied)." -] - -@PointClass base(Targetname, Parentname) - halfgridsnap - iconsprite("editor/info_constraint_anchor.vmt") - color(128 128 128) - line(128 128 128, targetname, parentname) -= info_constraint_anchor : - "An entity used to attach constraints to a local position on an entity. Usually constraints will attach to the center of mass of an object. "+ - "Attach the desired constraint to this entity, and then parent this entity to the entity you want the constraint to apply to." -[ - massScale(float) : "Mass Scale" : "1" : "Amount to scale the mass of this body in the constraint solver." -] - -@PointClass halfgridsnap size(-4 -4 -4, 4 4 4) color(128 128 128) line(128 128 128, targetname, target) = info_mass_center : - "An entity that overrides the mass center of the target physics prop, or func_physbox, by moving it to the info_mass_center's location." -[ - target(target_destination) : "Target object" : "" : "The entity whose mass center will be overridden." -] - -@PointClass halfgridsnap base(Targetname) - color(128 128 128) - size(-8 -8 -8, 8 8 8) - line(128 128 128, targetname, attach1) - line(128 128 128, targetname, attach2) - line(128 128 128, targetname, attach1, targetname, attach2) - sphere(length) sphere(breaklength) = phys_spring : - "A physically simulated spring. "+ - "'Length' is what's known as the 'natural spring length'. This is how long the spring would "+ - "be if it was at rest (nothing hanging on it or attached). When you attach something to the "+ - "spring, it will stretch longer than its 'natural length'. The amount of stretch is "+ - "determined by the 'Sprint Constant'. The larger the spring constant the less stretch the spring." -[ - spawnflags(flags) = - [ - 1 : "Force only on stretch" : 0 - ] - - attach1(target_destination) : "Entity 1" : "" - attach2(target_destination) : "Entity 2" : "" - - springaxis(vecline) : "Spring Axis" : "" : "Use the helper. Drag it out to match the virtual spring." - length(string) : "Spring Length" : "0" : "How long the spring would be if it was at rest (nothing hanging on it or attached). 0 means the length of the brush." - constant(string) : "Spring Constant" : "50" : "Stiffness of the spring. The larger the number the less the spring will stretch." - damping(string) : "Damping Constant" : "2.0" : "How much energy the spring loses. The larger the number, the less bouncy the spring." - relativedamping(string) : "Relative Damping Constant" : "0.1" : "The amount of energy the spring loses proportional to the relative velocity of the two objects the spring is attached to." - // UNDONE: add max tension and what event to fire when it breaks - breaklength(string) : "Break on Length" : "0" : "If the spring's length ever exceeds this length, the spring breaks." - - // Inputs - input SetSpringConstant(float) : "Set the Spring Constant." - input SetSpringLength(float) : "Set the Spring Length." - input SetSpringDamping(float) : "Set the Spring Damping." -] - -@PointClass halfgridsnap size(-8 -8 -8, 8 8 8) - line(255 255 255, targetname, attach1) - line(255 255 255, targetname, attach2) - line(128 128 128, targetname, attach1, targetname, attach2) - color(128 128 128) - base(TwoObjectPhysics) = phys_hinge : - "A physically simulated hinge. Use the helper to define the axis of rotation." -[ - hingefriction(float) : "Friction" : "0" : "Resistance/friction in the hinge" - hingeaxis(vecline) : "Hinge Axis" - SystemLoadScale(float) : "Load Scale" : "1" : "Scale of the load connected to this hinge (1=just the objects directly connected)" - - // Inputs - input SetAngularVelocity(float) : "Set angular velocity around the hinge (motor) in deg/sec" - - - - //// Episodic only -- for now. - - minSoundThreshold(float) : "Minimum Sound Velocity" : "6" : "When travelling below this many units/sec, will not play any sound." - maxSoundThreshold(float) : "Full Sound Velocity" : "80" : "When travelling at this speed or above, will play sound at full volume." - slidesoundfwd(sound) : "Travel sound (forward)" : "" : "Play this sound when travelling forward on helper axis" - slidesoundback(sound) : "Travel sound (backward)" : "" : "Play this sound when travelling backward on helper axis" - - reversalsoundthresholdSmall(float) : "Reversal sound threshold (small)" : "0" : "When accelerating by more than this many units/sec^2 opposite to direction of travel, play the small reversal sound." - reversalsoundthresholdMedium(float) : "Reversal sound threshold (medium)" : "0" : "When accelerating by more than this many units/sec^2 opposite to direction of travel, play the medium reversal sound." - reversalsoundthresholdLarge(float) : "Reversal sound threshold (large)" : "0" : "When accelerating by more than this many units/sec^2 opposite to direction of travel, play the large reversal sound." - - reversalsoundSmall(sound) : "Reversal sound (small)" : "" : "Play this sound when making a hard reverse over the small threshold but less than medium" - reversalsoundMedium(sound) : "Reversal sound (medium)" : "" : "Play this sound when making a hard reverse over the medium threshold but less than large" - reversalsoundLarge(sound) : "Reversal sound (large)" : "" : "Play this sound when making a hard reverse over the large threshold" -] - -@PointClass base(TwoObjectPhysics) - line(255 255 255, targetname, attach1) - line(255 255 255, targetname, attach2) - line(128 128 128, targetname, attach1, targetname, attach2) - color(128 128 128) - iconsprite("editor/phys_ballsocket.vmt") = phys_ballsocket : - "A constraint that keeps the position of two objects fixed, relative to the constraint's origin. It does not affect rotation." -[ - spawnflags(flags) = - [ - ] -] - -@PointClass base(TwoObjectPhysics) - line(255 255 255, targetname, attach1) - line(255 255 255, targetname, attach2) - line(128 128 128, targetname, attach1, targetname, attach2) - color(128 128 128) - studio("models/editor/axis_helper.mdl") = phys_constraint : - "A constraint that keeps the relative position and orientation of two objects fixed." -[ -] - -@PointClass base(TwoObjectPhysics) - line(255 255 255, targetname, attach1) - line(255 255 255, targetname, attach2) - line(128 128 128, targetname, attach1, targetname, attach2) - color(128 128 128) - studio("models/editor/axis_helper.mdl") = phys_pulleyconstraint : - "A constraint that is essentially two length constraints and two points. Imagine it as a virtual rope connected to two objects, each suspended from a pulley above them."+ - "The constraint keeps the sum of the distances between the pulley points and their suspended objects constant." -[ - addlength(float) : "Additional Length" : "0" : "Add (or subtract) this amount to the rest length of the pulley rope." - gearratio(float) : "Pulley Gear Ratio" : "1" : "Add (or subtract) this amount to the rest length of the pulley rope." - position2(vecline) : "Pulley Position 2" : : "The position of the pulley for Entity 2. The pulley for Entity 1 is the origin of this constraint entity. Entity 1 is always suspended from pulley point 1, and Entity 2 is always suspended from pulley point 2." - spawnflags(flags) = - [ - 1: "No Collision until break" : 1 - 2: "Keep Rigid" : 0 - ] -] - -@PointClass halfgridsnap base(TwoObjectPhysics) - line(255 255 255, targetname, attach1) - line(255 255 255, targetname, attach2) - line(128 128 128, targetname, attach1, targetname, attach2) - color(128 128 128) - studio("models/editor/axis_helper.mdl") = phys_slideconstraint : - "A constraint that constrains an entity along a line segment." -[ - spawnflags(flags) = - [ - 1: "No Collision until break" : 1 - 2: "Limit Endpoints" : 0 - ] - slideaxis(vecline) : "Sliding Axis" - slidefriction(float) : "Friction" : "0" : "Resistance/friction in the constraint" - SystemLoadScale(float) : "Load Scale" : "1" : "Scale of the mass load connected to this constraint (1=just the objects directly connected)" - - // Inputs - input SetVelocity(float) : "Set linear velocity along the constraint" - - - //// Episodic only -- for now. - - minSoundThreshold(float) : "Minimum Sound Velocity" : "6" : "When travelling below this many units/sec, will not play any sound." - maxSoundThreshold(float) : "Full Sound Velocity" : "80" : "When travelling at this speed or above, will play sound at full volume." - slidesoundfwd(sound) : "Travel sound (forward)" : "" : "Play this sound when travelling forward on helper axis" - slidesoundback(sound) : "Travel sound (backward)" : "" : "Play this sound when travelling backward on helper axis" - - reversalsoundthresholdSmall(float) : "Reversal sound threshold (small)" : "0" : "When accelerating by more than this many units/sec^2 opposite to direction of travel, play the small reversal sound." - reversalsoundthresholdMedium(float) : "Reversal sound threshold (medium)" : "0" : "When accelerating by more than this many units/sec^2 opposite to direction of travel, play the medium reversal sound." - reversalsoundthresholdLarge(float) : "Reversal sound threshold (large)" : "0" : "When accelerating by more than this many units/sec^2 opposite to direction of travel, play the large reversal sound." - - reversalsoundSmall(sound) : "Reversal sound (small)" : "" : "Play this sound when making a hard reverse over the small threshold but less than medium" - reversalsoundMedium(sound) : "Reversal sound (medium)" : "" : "Play this sound when making a hard reverse over the medium threshold but less than large" - reversalsoundLarge(sound) : "Reversal sound (large)" : "" : "Play this sound when making a hard reverse over the large threshold" -] - -@PointClass base(TwoObjectPhysics) - line(255 255 255, targetname, attach1) - line(255 255 255, targetname, attach2) - line(128 128 128, targetname, attach1, targetname, attach2) - sphere(minlength) - color(128 128 128) - studio("models/editor/axis_helper.mdl") = phys_lengthconstraint : - "A constraint that preserves the distance between two entities. If the 'Keep Rigid' flag is set, think of it as a rod. If not, think off it as a virtual rope." -[ - addlength(float) : "Additional Length" : "0" : "Add (or subtract) this amount to the rest length of the rope." - minlength(float) : "Minimum Length" : "0" : "If the constraint is not rigid, this is the minimum length it can be." - attachpoint(vecline) : "Attached object 2 point" : "The position the rope attaches to object 2" - spawnflags(flags) = - [ - 1: "No Collision until break" : 1 - 2: "Keep Rigid" : 0 - ] -] - -@PointClass base(TwoObjectPhysics) - line(255 255 255, targetname, attach1) - line(255 255 255, targetname, attach2) - line(128 128 128, targetname, attach1, targetname, attach2) - color(128 128 128) - studio("models/editor/axis_helper.mdl") = phys_ragdollconstraint : - "A constraint that fixes the position of two entities, relative to this constraint's origin. Also allows for limits on the rotation around each axis, in the space of this constraint." -[ - spawnflags(flags) = - [ - 1: "No Collision until break" : 1 - 2: "Only limit rotation (free movement)" : 0 - ] - - xmin(float) : "X axis min limit" : "-90" : "-180 min and 180 max = no constraint on this axis." - xmax(float) : "X axis max limit" : "90" : "-180 min and 180 max = no constraint on this axis." - ymin(float) : "Y axis min limit" : "0" : "-180 min and 180 max = no constraint on this axis." - ymax(float) : "Y axis max limit" : "0" : "-180 min and 180 max = no constraint on this axis." - zmin(float) : "Z axis min limit" : "0" : "-180 min and 180 max = no constraint on this axis." - zmax(float) : "Z axis max limit" : "0" : "-180 min and 180 max = no constraint on this axis." - xfriction(float) : "X axis friction" : "0" - yfriction(float) : "Y axis friction" : "0" - zfriction(float) : "Z axis friction" : "0" -] - -@PointClass base(Targetname) - color(128 128 128) - line(255 255 0, targetname, target) - iconsprite("editor/phys_convert.vmt") = phys_convert : - "Turns an arbitrary entity into a physically simulated entity. i.e. brush entities will behave like func_physbox, model entities behave like prop_physics." -[ - spawnflags(flags) = - [ - 1: "Convert Asleep" : 0 - 2: "Convert As Debris" : 0 - ] - target(target_destination) : "Entity to convert" : : "Name of the entity or entities that will be converted to a physics object when the ConvertTarget input is fired. Maximum of 512 entities." - swapmodel(target_destination) : "Model Swap Entity" : : "If specified, the entity will be switched to use this entity's model instead of its own. Only one entity will be converted." - massoverride(float) : "Mass Override" : "0" : "Sets the mass when the object(s) are converted (0 means auto-calculate)" - - // Outputs - output OnConvert(void) : "Fires after the conversion has taken place." - - // Inputs - input ConvertTarget(void) : "Converts this entity's target to a physically simulated object." -] - -@BaseClass base(Targetname)= ForceController -[ - spawnflags(flags) = - [ - // Thrust is on by default (will turn off in forcetime) - 1: "Start On" : 0 - // Apply linear force (if off, torque only) - 2: "Apply Force" : 1 - // Apply rotational force (torque - if off, linear only) - 4: "Apply Torque" : 1 - // Maintain local relationship with the attached object - 8: "Orient Locally" : 1 - // Impulse is independent of object's mass (impulse is acceleration NOT force) - 16: "Ignore Mass" : 0 - ] - attach1(target_destination) : "Attached Object" : "" : "Object to apply the force to." - - forcetime(string) : "Time of Force (0=inf)" : "0" : "Automatic shut-off after this time has passed (0 = stay on forever or until deactivated)" - - input Activate(void) : "Turn the force on" - input Deactivate(void) : "Turn the force off" - input Scale(string) : "Set Force Scale" -] - -@PointClass base(Angles, ForceController) - line(255 255 255, targetname, attach1) - color(128 128 128) -= phys_thruster : - "An entity used to apply constant acceleration to a physics object. "+ - "The force and torque is calculated using the position and direction of the thruster as an impulse. So moving those off the object's center "+ - "will cause torque as well. Torque can be removed by unchecking the 'apply torque' flag. The position of the thruster can be forced to be "+ - "at the object's center by checking to 'ignore pos' flag." -[ - spawnflags(flags) = - [ - // Put the thrust at the object center - 32: "Ignore Pos" : 0 - ] - - force(string) : "Force" : "0" : "Force (will be integrated, units are force kg*in/s^2)" -] - -@PointClass halfgridsnap base(ForceController) - line(255 255 255, targetname, attach1) - color(128 128 128) - = phys_torque : - "An angular thruster. Use it to apply angular force to an entity." -[ - // Angular acceleration (units are degress/s^2) - force(string) : "Angular Acceleration" : "0" - axis(vecline) : "Rotation Axis" : "" -] - -@PointClass base(Targetname) halfgridsnap size(-8 -8 -8, 8 8 8) color(128 128 128) line(128 128 128, targetname, attach1) = phys_motor : - "An entity that tries to spin a target entity at a particular speed." -[ - speed(string) : "Rotation Speed" : "0" : "Angular speed (units are degress/second)" - spinup(string) : "Spin up time" : "1" : "spin up time in seconds (also affects the rate at which speed changes happen)" - inertiafactor(float) : "System Interia Scale" : "1.0" : "Make this larger if the object being driven is constrained to a set of heavier objects." - axis(vecline) : "Rotation Axis" : "" - - spawnflags(flags) = - [ - // starts on by default - 1: "Start On" : 1 - // Disable world collisions on hinges - 2: "No world collision" : 0 - // motor also acts as a hinge constraining the object to this axis - 4: "Hinge Object" : 1 - // Maintain local relationship with the attached object (NOT WORKING YET) -// 8: "Orient Locally" : 1 - ] - attach1(target_destination) : "Attached Object" : "" : "Object to apply the force to" - - // Inputs - input SetSpeed(float) : "Sets target speed" - input TurnOn(void) : "Turns motor on" - input TurnOff(void) : "Turns motor off" -] - -@PointClass base(Targetname, Parentname, Angles, Studiomodel) color(128 128 128) studio() iconsprite("editor/phys_magnet") = phys_magnet : - "An entity that acts like a magnet, attaching metallic physics objects to itself when they touch it." -[ - spawnflags(flags) = - [ - 1 : "Start Asleep" : 0 - 2 : "Motion Disabled" : 0 - 4 : "Suck On Touch" : 0 - 8 : "Allow Attached Rotation" : 0 - 16: "Coast jeep pickup hack" : 0 - ] - - forcelimit(float) : "Force Limit to Break (lbs)" : "0" : "The amount of force necessary to break a stuck object off the magnet. A way of calculating this is to set it to the mass of an object that would break this constraint if it were resting on the magnet." - torquelimit(float) : "Torque Limit to Break (lbs * distance)" : "0" : "The amount of torque necessary to break a stuck object off the magnet. A way of calculating this is to multiply any reference mass by the resting distance (from the center of mass of the object) needed to break the constraint." - - massScale(float) : "Mass Scale" : "0" : "A scale multiplier for the object's mass." - overridescript(string) : "Override parameters" : "" : "A list of physics key/value pairs that are usually in a physics prop .qc file. Format is 'key,value,key,value,etc'." - maxobjects(integer) : "Maximum Attached Objects" : 0 : "The maximum number of physics objects that can be stuck to the magnet at once. 0 = no limit." - - // Inputs - input TurnOn(void) : "Turn the magnet on." - input TurnOff(void) : "The the magnet off. This will detach anything current stuck to the magnet." - - // Outputs - output OnAttach(void) : "Fired when an entity is grabbed by the magnet." - output OnDetach(void) : "Fired when an entity is released by the magnet." -] - - -//------------------------------------------------------------------------- -// -// Props -// -//------------------------------------------------------------------------- - -@BaseClass = prop_detail_base -[ - model(studio) : "World model" -] - -@BaseClass base(Angles, SystemLevelChoice, Reflection, Shadow) = prop_static_base -[ - model(studio) report : "World Model" - 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." - solid(choices) : "Collisions" : 6 = - [ - 0: "Not Solid" - 2: "Use Bounding Box" - 6: "Use VPhysics" - ] - - screenspacefade(boolean) : "Screen Space Fade" : 0 : "The method by which the fading distance should be determined. If 'No', the fade distances is the distance from the player's view to the object, in inches. If 'Yes', the fade distance is the size of the object onscreen, in pixels." - - fademindist(float) : "Start Fade Dist/Pixels" : -1 : "Distance at which the prop starts to fade (<0 = use fademaxdist). If 'Screen Space Fade' is selected, this represents the number of pixels wide covered by the prop when it starts to fade." - fademaxdist(float) : "End Fade Dist/Pixels" : 0 : "Maximum distance at which the prop is visible (0 = don't fade out). If 'Screen Space Fade' is selected, this represents the *minimum* number of pixels wide covered by the prop when it fades." - fadescale(float) : "Fade Scale" : 1 : "If you specify a fade in the worldspawn, or if the engine is running under dx7 [hl2/ep1/portal] or dx8 [ep2/tf], then the engine will forcibly fade out props even if fademindist/fademaxdist isn't specified." + - " This scale factor gives you some control over the fade. Using 0 here turns off the forcible fades." + - " Numbers smaller than 1 cause the prop to fade out at further distances," + - "and greater than 1 cause it to fade out at closer distances." - lightingorigin(target_destination) : "Lighting Origin" : "" : "Select an info_lighting to specify a location to sample lighting from, instead of using this entity's origin." - disablevertexlighting(boolean) : "Disable Vertex lighting" : 0 : "Disable per-vertex lighting on this object." - disableselfshadowing(boolean) : "Disable Self-Shadowing" : 0 : "When vertex lighting is enabled, prevent the geometry from self-shadowing -- casting shadows onto itself." - ignorenormals(boolean) : "Ignore Surface Normal" : 0 : "When vertex lighting is enabled, ignore the surface normal of faces when calculating the vertex lighting." + - " Useful for thin, translucent objects such as leaves on foliage props." - - renderamt(integer) : "Alpha" : 255 : "Alpha of the fade, where 0 = fully transparent and 255 = fully opaque." - rendercolor(color255) : "Color (R G B)" : "255 255 255" -] - -@BaseClass = BaseFadeProp -[ - fademindist(float) : "Start Fade Dist" : -1 : "Distance at which the prop starts to fade (<0 = use fademaxdist)." - fademaxdist(float) : "End Fade Dist" : 0 : "Max fade distance at which the prop is visible (0 = don't fade out)" - fadescale(float) : "Fade Scale" : 1 : "If you specify a fade in the worldspawn, or if the engine is running under dx7, then the engine will forcibly fade out props even if fademindist/fademaxdist isn't specified." + - " This scale factor gives you some control over the fade. Using 0 here turns off the forcible fades." + - " Numbers smaller than 1 cause the prop to fade out at further distances, and greater than 1 cause it to fade out at closer distances." -] - -@BaseClass base(Parentname, Global, Angles, Studiomodel, BreakableProp, SystemLevelChoice, BaseFadeProp, RenderFields, Shadow) = prop_dynamic_base -[ - solid(choices) : "Collisions" : 6 = - [ - 0: "Not Solid" - 2: "Use Bounding Box" - 6: "Use VPhysics" - ] - - spawnflags(flags) = - [ - 64 : "Use Hitboxes for Renderbox" : 0 - 256 : "Start with collision disabled" : 0 - ] - - DefaultAnim(string) : "Default Animation" : "" : "The name of the idle animation that this prop will revert to whenever it finishes a random or forced animation." - - RandomAnimation(boolean) : "Randomly Animate" : 0 : "If set, this prop will randomly choose and play animations, based upon the times specified in 'Min/Max Random Anim Time'. Inbetween the random animations, it will revert to playing the 'Default Animation'." - - DisableBoneFollowers(boolean) : "Disable Bone Followers" : 0 : "If set, the prop will not use bone followers, even if it has them defined." - SuppressAnimSounds(boolean) : "Suppress Anim Sounds" : 0 : "If set, the prop will not play any sounds that are embedded in animations it plays." - - HoldAnimation(boolean) : "Hold Animation" : 0 : "If set, the prop will not loop its animation, but hold the last frame." - - MinAnimTime(float) : "Min Random Anim Time" : "5" : "Minimum time between random animations." - MaxAnimTime(float) : "Max Random Anim Time" : "10" : "Maximum time between random animations." - SetBodyGroup(integer) : "Body Group" : 0 : "Body Groups allow turning on and off parts of a model, so sections can be shown or hidden dynamically." - - // Inputs - input SetAnimation(string) : "Force the prop to play an animation. The parameter should be the name of the animation." - input SetAnimationNoReset(string) : "Force the prop to play an animation unless the prop is already playing the animation. The parameter should be the name of the animation." - input SetDefaultAnimation(string) : "Set the Default Animation to the one specified in the parameter." - input SetPlaybackRate(float) : "Set the playback rate for the animation." - input SetBodyGroup(integer) : "Set the visible bodygroup, by index." - input TurnOn(void) : "Make the prop visible." - input TurnOff(void) : "Make the prop invisible." - input EnableCollision(void) : "Enable collision on the prop." - input DisableCollision(void) : "Disable collision on the prop." - input BecomeRagdoll(void) : "Change into a ragdoll immediately." - input FadeAndKill(void) : "Fade out then remove this prop." - - // Outputs - output OnAnimationBegun(void) : "Fired whenever a new animation has begun playing." - output OnAnimationDone(void) : "Fired whenever an animation is complete." - - lightingorigin(target_destination) : "Lighting Origin" : "" : "Select a path_corner entity to specify a location to sample lighting from, instead of using this entity's origin." - rendercolor(color255) : "Color (R G B)" : "255 255 255" -] - -@PointClass base(prop_detail_base) studioprop() = prop_detail : - "Detail Prop" -[ - model(studio) : "World model" -] - -@PointClass base(prop_static_base) color(255 255 0) sphere(fademindist) sphere(fademaxdist) studioprop() = prop_static : - "A prop that doesn't move and doesn't animate." -[ -] - -@PointClass base(EnableDisable, prop_dynamic_base) 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." -[ -] - -@PointClass base(prop_dynamic_base) studioprop() = prop_dynamic_override : - "A prop that can be placed in hierarchy and can play animations. It can also be configured to break when it takes enough damage.\n"+ - "prop_dynamic_override is a prototyping entity only. It will allow the use of models designed to be used as prop_physics." -[ - health(integer) : "Health" : 0 : "Number of points of damage to take before breaking. 0 means don't break." - AnimateEveryFrame(boolean) : "Animate Every Frame" : 0 : "Force this prop to animate every frame. Don't use this unless you know what you are doing." -] - -@BaseClass base(Targetname, Global, Angles, BreakableProp, SystemLevelChoice, BaseFadeProp) = BasePresetPropPhysics -[ - spawnflags(flags) = - [ - 1 : "Start Asleep" : 0 - 2 : "Don't take physics damage" : 0 - 4 : "Debris - Don't collide with the player or other debris" : 0 - 8 : "Motion Disabled" : 0 - 64 : "Enable motion on Physcannon grab" : 0 - 128 : "Not affected by rotor wash" : 0 - 256 : "Generate output on +USE " : 1 - 512 : "Prevent pickup" : 0 - 1024: "Prevent motion enable on player bump" : 0 - 4096: "Debris with trigger interaction" : 0 - 8192: "Force server-side (Multiplayer only)" : 0 - 1048576: "Physgun can ALWAYS pick up. No matter what." : 0 - ] - - minhealthdmg(integer) : "Min Damage to Hurt" : 0 : "The prop will ignore any damage events if the damage is less than this amount." - shadowcastdist(integer) : "Shadow Cast Distance" : 0 : "Use this to override how far this object casts shadows. 0 = default distance." - physdamagescale(float) : "Physics Impact Damage Scale" : "0.1" : "Scales damage energy when this object is hit by a physics object. NOTE: 0 means this feature is disabled for backwards compatibility.\nSet to 1.0 for materials as strong as flesh, smaller numbers indicate stronger materials." - Damagetype(choices) : "Impact damage type" : 0 = - [ - 0: "Blunt" - 1: "Sharp" - ] - - nodamageforces(choices) : "Damaging it Doesn't Push It" : 0 : "Used to determine whether or not damage should cause the brush to move." = - [ - 0: "No" - 1: "Yes" - ] - - inertiaScale(float) : "Scale Factor For Inertia" : "1.0" : "Scales the angular mass of an object. Used to hack angular damage and collision response." - massScale(float) : "Mass Scale" : "0" : "A scale multiplier for the object's mass." - overridescript(string) : "Override Parameters" : "" : "A list of physics key/value pairs that are usually in a physics prop .qc file. Format is 'key,value,key,value,etc'." - damagetoenablemotion(integer) : "Health Level to Override Motion" : 0 : "If specified, this object will start motion disabled. Once its health has dropped below this specified amount, it will enable motion." - forcetoenablemotion(float) : "Physics Impact Force to Override Motion" : 0 : "If specified, this object will start motion disabled. Any impact that imparts a force greater than this value on the physbox will enable motion." - - // Inputs - input Wake(void) : "Wake up this physics object, if it is sleeping." - input Sleep(void) : "Put this physics object to sleep. It will wake if given the Wake input, or if force is applied to it. Note that physics objects go to sleep automatically after coming to rest for a while, so you don't really need to use this." - input EnableMotion(void) : "Enable physics motion/collision response." - input DisableMotion(void) : "Disable physics motion/collision response." - input DisableFloating(void) : "Disable fluid/floating simulation to reduce cost." - input SetBodyGroup(integer) : "Set this prop's body group (from 0 - n)." - input physdamagescale(float) : "Set the Physics Impact Damage Scale for this character. NOTE: 0 means this feature is disabled for backwards compatibility." - input EnableDamageForces(void) : "Damaging the entity applies physics forces to it." - input DisableDamageForces(void) : "Damaging the entity does *not* apply physics forces to it." - //input EnablePuntSound(void) : "Allow this prop to play its own sound when punted" - //input DisablePuntSound(void) : "Prevent this prop from playing its own sound when punted" - - // Outputs - output OnMotionEnabled(void) : "Fired when motion is enabled on this prop, either via 'Health Level to Override Motion' or from the EnableMotion input." - output OnAwakened(void) : "Fired when this entity becomes awake (collision/force is applied to it while it's asleep)." - output OnPhysGunPickup(void) : "Fired when the player picks up the prop with the physcannon or +USE." - output OnPhysGunPunt(void) : "Fired when a player punts this object with the physgun." - output OnPhysGunOnlyPickup(void) : "Fired when a player picks this object up WITH THE PHYSGUN. +USE pickups do not fire this output." - output OnPhysGunDrop(void) : "Fired when the player drops the prop with the physcannon or USE." - output OnPlayerUse(void) : "Fired when the player tries to +USE the prop. This output will fire only if the Generate output on +USE spawnflag is set." - output OnPlayerPickup(void) : "Fired whenever the player picks up this prop (with the physcannon or with +USE)." - output OnOutOfWorld(void) : "Fired whenever the prop is out of the allowed world bounds." -] - -@BaseClass base(Studiomodel, BasePresetPropPhysics) = BasePropPhysics -[ - -] - - -@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." -] - -@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." -[ - ExploitableByPlayer(choices) : "Exploitable by Player" : 0 = - [ - 0: "Default" - 1: "Explosive" - ] - - // 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." -] - -@PointClass base(prop_physics) studioprop() sphere(fademindist) sphere(fademaxdist) = prop_physics_multiplayer : - "This class is the same as prop_physics, except the runtime collisions use a more bouncy method that avoids " + - "the prediction errors normal physics objects get." -[ - physicsmode(choices) : "Physics Mode" : 0 = - [ - 0: "Auto Detect" - 1: "Solid, Server-side" - 2: "Non-Solid, Server-side" - 3: "Non-Solid, Client-side" - ] -] - -@PointClass base(Angles, Targetname, Studiomodel, SystemLevelChoice, BaseFadeProp, EnableDisable) sphere(fademindist) sphere(fademaxdist) studioprop() = prop_ragdoll : - "A prop that physically simulates and can be articulated with internal joints. The joint constraints are part of the physics model." -[ - spawnflags(flags) = - [ - 4 : "Debris - Don't collide with the player or other debris" : 1 - 8192 : "Allow Dissolve" : 0 - 16384 : "Motion Disabled" : 0 - 32768 : "Allow stretch" : 0 - 65536 : "Start asleep" : 0 - ] - angleOverride(string) : "Override Animation" : "" : "Filled in by the engine via wc_update_entity, do not edit by hand except to clear." - - input StartRagdollBoogie(void) : "Begins ragdoll boogie effect. Parameter override = number of seconds to boogie." - input EnableMotion(void) : "Enable physics motion/collision response." - input DisableMotion(void) : "Disable physics motion/collision response." - input FadeAndRemove(float) : "Fade out then remove (kill) self. Parameter override = duration of fade" -] - -@PointClass base(prop_dynamic_base) studioprop() - line(255 255 255, targetname, initalowner) = prop_dynamic_ornament : - "A way to attach one studio model to another as an ornament. It will render in the way that player/NPC weapons render." -[ - solid(choices) : "Collisions" : 0 = - [ - 0: "Not Solid" - ] - - InitialOwner(target_destination) : "Target Entity" : : "Name of the entity that this ornament should attach to, at startup." - - // Inputs - input SetAttached(string) : "Attach the ornament to a different entity. Parameter should be the name of entity to attach to." - input Detach(string) : "Detach from the Target Entity and become invisible. The ornament can be re-attached with the SetAttached input." -] - -//------------------------------------------------------------------------- -// -// Solid Entities -// -//------------------------------------------------------------------------- - -@SolidClass base(Targetname) - line(255 255 255, targetname, target) color(0 255 255) = func_areaportal : - "A portal brush used to manage visibility in maps. Portals define areas, which are spaces " + - "that are connected in the map. Both sides of a portal cannot touch the same area, for example, a " + - "doughnut shaped map would require at least two portals to divide the map into two areas. A linear map " + - "could be divided into two areas with a single area portal." -[ - target(target_destination) : "Name of Linked Door" : : "(Optional) The name of a door whose open/closed state controls the on/off state of this area portal." - StartOpen(choices) : "Initial State" : 1 = - [ - 0 : "Closed" - 1 : "Open" - ] - - PortalVersion(integer) readonly : "Portal Version" : 1 : "(Don't change). Differentiates between shipping HL2 maps and maps using new engine features." - - // Inputs - input Open(void) : "Open the portal. When the portal is open is can be seen through." - input Close(void) : "Close the portal. When the portal is closed it cannot be seen through." - input Toggle(void) : "Toggle the open/closed state of the portal." -] - -@SolidClass base(Targetname) color(0 255 255) = func_occluder : - "A occluder brush used to manage dynamic visibility in maps. Occluders are used to dynamically " + - "determine what things are behind them, to prevent trying to draw them at all." -[ - StartActive(choices) : "Initial State" : 1 = - [ - 0 : "Inactive" - 1 : "Active" - ] - - // Inputs - input Deactivate(void) : "Deactivate the occluder, When inactive, it can be seen through." - input Activate(void) : "Activate the occluder. When active, it cannot be seen through." - input Toggle(void) : "Toggle the active/inactive state of the occluder." -] - -@SolidClass base(BreakableBrush, Origin, RenderFields, Shadow, Reflection, compMinLight) = func_breakable : - "A brush entity that can be broken from damage, or an input." -[ - minhealthdmg(integer) : "Min Damage to Hurt" : 0 : "The prop will ignore any damage events if the damage is less than this amount." - physdamagescale(float) : "Physics Impact Damage Scale" : "1.0" : "Scales damage energy when this object is hit by a physics object. NOTE: 0 means this feature is disabled for backwards compatibility.\nSet to 1.0 for materials as strong as flesh, smaller numbers indicate stronger materials." -] - -@SolidClass quadbounds() base(BreakableBrush, RenderFields, Shadow, Reflection) = func_breakable_surf : - "A breakable surface, for partially breakable glass / tile / etc. All faces but the desired visible one must be marked as NODRAW and that" + - "face must be 4 sided. The material applied to the visible face must be set up to be breakable." -[ - spawnflags(Flags) = - [ - 1 : "Physics damage decals" : 0 - 2 : "Take damage from held objects" : 0 - ] - - lowerleft(vecline) readonly : "Lower Left Corner (readonly)" : : "This is set automatically by Hammer when saving." - lowerright(vecline) readonly : "Lower Right Corner (readonly)" : : "This is set automatically by Hammer when saving." - upperleft(vecline) readonly : "Upper Left Corner (readonly)" : : "This is set automatically by Hammer when saving." - upperright(vecline) readonly : "Upper Right Corner (readonly)" : : "This is set automatically by Hammer when saving." - error(choices) readonly : "Face Error" : 0 : "Set by Hammer to indicate an invalid glass/tile surface." = - [ - 0 : "No Error" - 1 : "Multiple Textured Faces" - 2 : "Non-Square Face" - ] - - health(integer) : "Health" : 5 : "The amount of damage the surface takes before breaking." - fragility(integer) : "Fragility" : 100 : "If the 'Surface Type' is set to Glass, this value sets how fragile the glass pieces are after the surface has been broken. Lower values make glass pieces tend to stay more." - surfacetype(choices) : "Surface Type" : 0 : "Sets the behaviour of the brush. Glass shatters in multiple sizes, and easily breaks. Tile only breaks along edges, and is still strong after being shattered." = - [ - 0 : "Glass" - 1 : "Tile" - ] - - // Inputs - input Shatter(vector) : "Shatter the window. Input a vector. First two coordinates are the X,Y center of the shattering (as values from from 0-1). The third coordinate is the radius of the shatter, in units." -] - -@SolidClass base(Targetname, Parentname, RenderFields, Shadow, compMinLight) = func_conveyor : - "Conveyor Belt" // NEEDHELP -[ - movedir(angle) : "Move Direction (Pitch Yaw Roll)" : "0 0 0" : "The direction conveyor moves." - spawnflags(flags) = - [ - 1 : "No Push" : 0 - 2 : "Not Solid" : 0 - ] - speed(string) : "Conveyor Speed" : "100" - - // Inputs - input ToggleDirection(void) : "ToggleDirection" - input SetSpeed(integer) : "SetSpeed" -] - -@SolidClass base(SystemLevelChoice) color(0 180 0) = func_detail : - "An entity that turns its brushes into detail brushes. Detail brushes do NOT contribute to visibility in the PVS. World geometry "+ - "is not clipped to detail brushes, so if you have a small detail clump attached to a wall, the wall won't be cut up by the detail brush."+ - "func_detail is great for high-frequency brush geometry that's visual detail only. It is also ideal for reducing map VIS time." -[ -] - -@SolidClass color(180 180 0) = func_viscluster : - "Any visleafs touching this brush will assume they can see each other. Place across large open areas to help reduce compile times." -[ -] - -@SolidClass base(Targetname, Parentname, Origin, RenderFields, Shadow, compMinLight) = func_illusionary : - "Legacy support. Use func_brush instead. A brush that is always non-solid." -[ -] - -@SolidClass base(Targetname, Parentname) = func_precipitation : - "A brush entity that creates rain and snow inside its volume." -[ - renderamt(integer) : "Density (0-100%)" : 100 - rendercolor(color255) : "Color (R G B)" : "100 100 100" - preciptype(choices) : "Precipitation Type" : 0 = - [ - 0 : "Rain" - 1 : "Snow" - 2 : "Ash" - 3 : "Snowfall" - 4 : "Particle Rain" - 5 : "Particle Ash" - 6 : "Particle Rainstorm" - 7 : "Particle Snow" - ] - minSpeed(float) : "Minimum speed (snowfall only)" : 25 - maxSpeed(float) : "Maximum speed (snowfall only)" : 35 -] - -@SolidClass base(func_wall) = func_wall_toggle : - "A brush entity that can be toggled on/off. When off, the brush will be non-solid and invisible. Does not cast lightmap shadows." -[ - spawnflags(flags) = - [ - 1 : "Starts Invisible" : 0 - ] - - // Inputs - input Toggle(void) : "Toggle the brush on/off. When off, the brush will be non-solid and invisible." -] - - -//@SolidClass base(Door) = func_water : -// "Liquid" // NEEDHELP -//[ -// spawnflags(flags) = -// [ -// 1 : "Starts Open" : 0 -// 256:"Use Only" : 0 -// ] -// movedir(angle) : "Move Direction (Pitch Yaw Roll)" : "0 0 0" : "The direction the water will move when it is told to 'Open'." -// WaveHeight(string) : "Wave Height" : "3.0" -//] - -@SolidClass base(Targetname, Parentname, RenderFields, Global, compMinLight) line(255 255 0, targetname, target) = func_guntarget : - "This is a moving target that moves along a path of path_tracks. It can be shot and killed." -[ - speed(integer) : "Speed (units per second)" : 100 : "The speed at which the target moves along its path." - target(target_destination) : "Spawn Track" : : "The name of the first path_track entity in the path that this target should follow." - health(integer) : "Damage to Take" : 0 : "The amount of damage taken before this target is killed." - - // Inputs - input Start(void) : "Start the target moving." - input Stop(void) : "Stop the target from moving." - input Toggle(void) : "Toggle the target between moving and stopped." - - // Outputs - output OnDeath(void) : "Fires when the target is killed." -] - -//------------------------------------------------------------------------- -// -// Trains and Tracks -// -//------------------------------------------------------------------------- - -@BaseClass = PlatSounds -[ - movesnd(choices) : "Move Sound" : 0 : "The sound played whenever the platform starts moving." = - [ - 0: "No Sound" - 1: "big elev 1" - 2: "big elev 2" - 3: "tech elev 1" - 4: "tech elev 2" - 5: "tech elev 3" - 6: "freight elev 1" - 7: "freight elev 2" - 8: "heavy elev" - 9: "rack elev" - 10: "rail elev" - 11: "squeek elev" - 12: "odd elev 1" - 13: "odd elev 2" - ] - stopsnd(choices) : "Stop Sound" : 0 : "The sound played when the platform stops moving." = - [ - 0: "No Sound" - 1: "big elev stop1" - 2: "big elev stop2" - 3: "freight elev stop" - 4: "heavy elev stop" - 5: "rack stop" - 6: "rail stop" - 7: "squeek stop" - 8: "quick stop" - ] - volume(string) : "Sound Volume 0.0 - 1.0" : "0.85" -] - -@BaseClass base(Targetname, Parentname, RenderFields, Global, PlatSounds) line(255 255 255, targetname, train) = Trackchange -[ - height(integer) : "Travel Altitude" : 0 : "The vertical height above the track that the train moves. Negative values moves the train below." - spawnflags(flags) = - [ - 1: "Auto Activate train" : 0 - 2: "Relink track" : 0 - 8: "Start at Bottom" : 0 - 16: "Rotate Only" : 0 - 64: "X Axis" : 0 - 128: "Y Axis" : 0 - ] - rotation(integer) : "Spin amount" : 0 : "The amount this platform should rotate as it moves, in degrees." - train(target_destination) : "Train to Switch" // NEEDHELP - toptrack(target_destination) : "Top Track" // NEEDHELP - bottomtrack(target_destination) : "Bottom Track" // NEEDHELP - speed(integer) : "Move/Rotate Speed" : 0 // NEEDHELP -] - -@BaseClass base(Targetname, Parentname, Origin, RenderFields, Global, Shadow, Reflection, compMinLight) line(255 255 0, targetname, target) = BaseTrain -[ - spawnflags(flags) = - [ - 1 : "No Pitch (X-rot)" : 0 - 2 : "No User Control" : 0 - 8 : "Passable" : 0 - 16 : "Fixed Orientation" : 0 - 128 : "HL1 Train" : 0 - 256 : "Use max speed for pitch shifting move sound" : 0 - 512 : "Is unblockable by player" : 0 - 1024 : "Allow Roll (Z-rot)" : 0 - ] - - target(target_destination) : "Spawn path_track" : "" : "The name of the first path_track in the train's path. The train " + - "will spawn at this path_track. It will also turn to face direction indicated by the 'Orientation Type' setting." - - startspeed(integer) : "Max Speed (units / second)" : 100 : "The maximum speed that this train can move. "+ - "Any speeds applied to this train, such as by path_tracks or SetSpeed inputs, will be clipped to this maximum value." - - speed(integer) : "Initial Speed (units / second)" : 0 : "The speed that the train will move at after it spawns, 0 = stopped." - - velocitytype(choices) : "Change Velocity" : 0 : "The method through which this train changes its velocity as it moves along the path." = - [ - 0 : "Instantaneously" - 1 : "Linear blend" - 2 : "Ease in/ease out" - ] - - orientationtype(choices) : "Change angles" : 1 : "The method through which this train changes its orientation as it moves along the path." = - [ - 0 : "Never (fixed orientation)" - 1 : "Near path_tracks" - 2 : "Linear blend" - 3 : "Ease in/ease out" - ] - - wheels(integer) : "Distance Between the Wheels" : 50 : "Used for turning and stopping." - height(integer) : "Height above track" : 4 : "The height above the track that this train moves." - bank(string) : "Bank Angle on Turns" : "0" // NEEDHELP - - dmg(integer) : "Damage on Crush" : 0 : "The amount of damage this train does to entities that block it." - - MoveSound(sound) : "Move Sound" : "" : "A sound that is played (and looped) while the train is moving." - MovePingSound(sound) : "Move Ping Sound" : "" : "A sound that is played more frequently as the train speeds up." - StartSound(sound) : "Start Sound" : "" : "A sound played when the train starts moving." - StopSound(sound) : "Stop Sound" : "" : "A sound played when the train stops moving." - volume(integer) : "Volume (10 = loudest)" : 10 - MoveSoundMinPitch(integer) : "Min pitch (1-255, > 100 = higher)" : 60 : "The sound pitch value that the train will approach as it comes to a stop." - MoveSoundMaxPitch(integer) : "Max pitch (1-255, > 100 = higher)" : 200 : "The sound pitch value that the train will approach as it approaches its "+ - "max speed (or 1000 inches/second if the 'Use max speed for pitch shifting move sound' flag is not set)." - MoveSoundMinTime(float) : "Min ping sound interval" : 0 : "Minimum interval at which to play the move ping sound." - MoveSoundMaxTime(float) : "Max ping sound interval" : 0 : "Maximum interval at which to play the move ping sound." - - // Inputs - input SetSpeed(float) : "Set the speed of the train, as a ratio of max speed [0, 1]" - input SetSpeedDir(float) : "Set the speed of the train, as a ratio of max speed. Negative values reverse the direction [-1, 1]" - input SetSpeedReal(float) : "Set the speed of the train. Must be a positive value from 0 to max speed." - input Stop(void) : "Stop the train." - input StartForward(void) : "Start the train moving forward." - input StartBackward(void) : "Start the train moving backward." - input Resume(void) : "Resume the train moving in the current direction after it was stopped via the 'Stop' or 'Toggle' input." - input Reverse(void) : "Reverse the direction of the train." - input Toggle(void) : "Toggle the train between start and stop." -] - -@SolidClass base(Trackchange, compMinLight) = func_trackautochange : - "An entity that works as a rotating/moving platform that will carry a train to a new track. "+ - "It must be larger in X-Y planar area than the train, since it must contain the train within "+ - "these dimensions in order to operate when the train is near it." -[ - // Inputs - input Trigger(void) : "Trigger the track change." -] - -@SolidClass base(Trackchange, compMinLight) = func_trackchange : - "An entity that works as a rotating/moving platform that will carry a train to a new track. "+ - "It must be larger in X-Y planar area than the train, since it must contain the train within "+ - "these dimensions in order to operate when the train is near it." -[ - -] - -@SolidClass base(BaseTrain, PaintableBrush) line(255 255 255, targetname, target) = func_tracktrain : - "A moving platform that the player can ride. It follows a path of path_track entities.\n" + - "NOTE: Build your train so that the front of the train is facing down the X axis. " + - "When it spawns it will automatically rotate to face the next path_track on the path." -[ - - // Inputs - input MoveToPathNode(string) : "Start moving to a destination and stop when you get there. This must be in the same path." - input TeleportToPathNode(string) : "Teleport to a destination and stop there. This can be in a new path." - input LockOrientation(void) : "Lock the current orientation of the train." - input UnlockOrientation(void) : "Unlock the current orientation of the train." - - input SetMaxSpeed(float) : "Set a new max speed for the train." - - // Outputs - output OnStart(void) : "Fired when the train starts moving in either direction." - output OnNext(string) : "Fires when this train picks a new point to move towards (and just after OnStart)." - - output OnArrivedAtDestinationNode(void) : "Fired when this train arrives at a destination that was specified by the MoveToPathNode Input." -] - -@SolidClass base(BaseTrain) = func_tanktrain : - "A moving train that follows a path of path_track entities, shoots at the player, and can be killed.\n" + - "NOTE: Build your train so that the front of the train is facing down the X axis. " + - "When it spawns it will automatically rotate to face the next path_track on the path." -[ - health(integer) : "Health" : 100 - - // Outputs - output OnDeath(void) : "Fired when the tank is killed." -] - -@SolidClass base(Parentname,Global) line(255 255 255, targetname, target) = func_traincontrols : - "When used by the player, this entity overrides the player's controls to let them drive a train." -[ - target(target_destination) : "Train Name" : : "The target train to control when the player uses these controls." -] - -@PointClass base(Targetname) line(255 255 255, targetname, target) line(255 255 255, targetname, newtarget) iconsprite("editor/tanktrain_aitarget.vmt") = tanktrain_aitarget : - "An entity that changes the target of a tanktrain_ai entity." -[ - target(target_destination) : "Tank AI Entity" : : "The tanktrain_ai entity to change the target of." - newtarget(target_destination) : "New Target Entity" : : "The entity to tell the tanktrain_ai to target." -] - -@PointClass base(Targetname) line(255 255 255, targetname, target) iconsprite("editor/tanktrain_ai.vmt") = tanktrain_ai : - "Train chase AI" // NEEDHELP -[ - target(target_destination) : "Train Name" - startsound(sound) : "Start Moving Sound" : "vehicles/diesel_start1.wav" - enginesound(sound) : "Engine Loop Sound" : "vehicles/diesel_turbo_loop1.wav" - movementsound(sound) : "Vehicle Movement Sound" : "vehicles/tank_treads_loop1.wav" -] - -@PointClass base(Targetname, Parentname, Angles) studio("models/editor/angle_helper.mdl") cylinder(255 255 255, targetname, target, radius, targetname, targetname, radius) cylinder(255 255 255, targetname, altpath, radius, targetname, targetname, radius) sphere(radius) color(255 192 0) = 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 - ] - - 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 maximum 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." - - // Outputs - output OnPass(void) : "Fired when any entity following this path passes this path_track node." -] - - -//------------------------------------------------------------------------- -// -// Test Entities -// -//------------------------------------------------------------------------- -@PointClass base(Angles) size(-16 -16 -16, 16 16 16) color(255 255 255) = test_traceline : - "A debugging tool for testing tracelines. Pretty much useless for other people. This spins wildly, tracing lines to the closest brush." -[ -] - - -//------------------------------------------------------------------------- -// -// Triggers -// -//------------------------------------------------------------------------- - -@SolidClass base(Targetname, MasterEnt) = trigger_autosave : - "A trigger volume that autosaves when the player touches it." -[ - NewLevelUnit(boolean) : "Force New Level Unit" : 0 : "If set, the save will discard any savedata from previous levels, for the purpose of keeping savegame filesizes down. Can only be safely used if there is no way for the player to return to previous levels." - - DangerousTimer(float) : "Dangerous Timer" : 0 : "The number of seconds the player must survive before this autosave takes effect." - - MinimumHitPoints(integer): "Minumum Hit Points" : 0 : "Don't save dangerous when player has less than this many hitpoints." -] - -@SolidClass base(EnableDisable) line(255 255 255,targetname, landmark) color(200 0 0) = trigger_changelevel : - "An entity that triggers a level change.\n" + - "Place an info_landmark in both maps that marks the 'same' location in each map.\n"+ - "TIPS & TRICKS: To fire events in the next level, use the OnLevelChange output to turn on "+ - "an env_global in the current level. Create a logic_auto in the next level that checks "+ - "for the state set by the env_global.\n\n"+ - "To control which entities go through the level transition, create one or more trigger_transitions and "+ - "give them the same name as the landmark. Any entities within the trigger_transition(s) will go to the next map." -[ - targetname(target_source) : "Name" - map(string) : "New Map Name" - landmark(target_destination) : "Landmark Name" - spawnflags(flags) = - [ - 2: "Disable Touch" : 0 - 4: "To Previous Chapter" : 0 - ] - - // Inputs - input ChangeLevel(void) : "Cause the level change. Use this when triggering the level change with a button, etc." - - // Outputs - output OnChangeLevel(void) : "Fired when the level changes." -] - -@SolidClass base(Trigger) line(255 255 255, targetname, filtername) = trigger_gravity : - "A trigger volume that changes the gravity on any entity that touches it." -[ - gravity(integer) : "Gravity (0-1)" : 1 -] - -@SolidClass base(Trigger) = trigger_playermovement : - "An entity that can be used to disable player's automatic ducking/unducking when jumping." -[ - spawnflags(flags) = - [ - // Remove this after maps fixed up: - 16: "(OBSOLETE, Uncheck me)" : 0 - 128: "Disable auto player movement" : 1 - 2048: "Auto-duck while in trigger" : 0 - ] -] - - -// NEEDHELP -@SolidClass base(Trigger) line(255 255 255, targetname, soundscape) line(255 255 255, targetname, filtername) = trigger_soundscape : - "Soundscape trigger. " + - "It is not necessary to create outputs for this trigger. It automatically will trigger the " + - "soundscape referred to by its 'Soundscape' property." -[ - soundscape(target_source) : "Soundscape" -] - -@SolidClass base(Trigger, Targetname, MasterEnt) line(255 255 255, targetname, filtername) = trigger_hurt : - "A trigger volume that damages entities that touch it." -[ - damage(integer) : "Damage" : 100000 : "The amount of damage done to entities that touch this trigger. The damage is done every half-second. See also 'Damage Model' for extra details on how damage can be dealt." - damagecap(integer) : "Damage Cap" : 20 : "Maximum damage dealt per second. This field is only used if you select the Doubling w/Forgiveness damage model, via the spawnflag." - damagetype(choices) : "Damage Type" : 0 = - [ - 0 : "GENERIC" - 1 : "CRUSH" - 2 : "BULLET" - 4 : "SLASH" - 8 : "BURN" - 16 : "FREEZE" - 32 : "FALL" - 64 : "BLAST" - 128 : "CLUB" - 256 : "SHOCK" - 512 : "SONIC" - 1024 : "ENERGYBEAM" - 16384: "DROWN" - 32768 : "PARALYSE" - 65536 : "NERVEGAS" - 131072 : "POISON" - 262144 : "RADIATION" - 524288 : "DROWNRECOVER" - 1048576 : "CHEMICAL" - 2097152 : "SLOWBURN" - 4194304 : "SLOWFREEZE" - ] - - damagemodel(choices) : "Damage Model" : 0 : "How damage is dealt. Normal always does the specified amount of damage each half second. Doubling starts with the specified amount and doubles it each time it hurts the toucher. Forgiveness means that if the toucher gets out of the trigger the damage will reset to the specified value. Good for making triggers that are deadly over time without having to cause massive damage on each touch." = - [ - 0 : "Normal" - 1 : "Doubling w/forgiveness" - ] - - nodmgforce(boolean) : "No Damage Force" : 0 : "Should the damaged entity receive no physics force from this trigger." - - // Inputs - input SetDamage(float) : "Set a new amount of damage for this trigger." - - // Outputs - output OnHurt(void) : "Fired whenever this trigger hurts something other than a player." - output OnHurtPlayer(void) : "Fired whenever this trigger hurts a player." -] - -@SolidClass base(Trigger, Targetname) line(255 255 255, targetname, filtername) = trigger_remove : - "A trigger volume that removes any entities that touch it. Be careful, removing some entities can cause instability. "+ - "This is not the same as killing entities. i.e. NPCs removed in this manner will not fire their OnKilled outputs." -[ - // Outputs - output OnRemove(void) : "Fired whenever an entity is removed." -] - -@SolidClass base(Trigger) line(255 255 255, targetname, filtername) = trigger_multiple : - "A trigger volume that can be triggered multiple times." -[ - wait(integer) : "Delay Before Reset" : 1 : "Amount of time, in seconds, after the trigger_multiple has triggered before it can be triggered again. If set to -1, it will never trigger again (in which case you should just use a trigger_once)." - - // Inputs - input TouchTest(void) : "Tests if the trigger is being touched and fires an output based on whether the value is true or false." - - - // Outputs - output OnTrigger(void) : "Fired whenever the trigger is activated." - output OnTouching(void) : "Fired when the TestTouch input is true (something is touching the trigger.)" - output OnNotTouching(void) : "Fired when the TestTouch input is not true (nothing is touching the trigger.)" -] - -@SolidClass base(TriggerOnce) line(255 255 255, targetname, filtername) = trigger_once : - "A trigger volume that removes itself after it is triggered once." -[ - // Outputs - output OnTrigger(void) : "Fired whenever the trigger is activated." -] - -@SolidClass base(Trigger) line(255 255 0, targetname, target) = trigger_look : - "An entity used to trigger something when the player looks at something. It fires 'OnTrigger' when the player "+ - "looks at a target entity for the given amount of time, while within the trigger volume. If the player leaves "+ - "the trigger or looks away from the target entity the clock resets. If the 'Use Velocity instead of facing' spawnflag " + - "is checked, the trigger uses the player's velocity instead of the player's view, so it determines whenever the player "+ - "is moving toward the target entity. Useful for triggering when players are driving a vehicle at something."+ - "NOTE: Only designed for single-player game. " -[ - spawnflags(flags) = - [ - 128: "Fire Once" : 1 - 256: "Use Velocity instead of facing" : 0 - ] - - target(target_destination) : "Look Target" : : "The name of the entity to be looked at." - LookTime(string) : "LookTime" : "0.5" : "The time, in seconds, that the player must look the target before firing the output. Resets if player leaves trigger, or looks outside the Field of View threshold." - FieldOfView(string) : "FieldOfView" : "0.9" : "How close the player has to be looking at the target. 1.0 = straight ahead\n 0.0 = +/- 90 degrees\n -1.0 = all directions)." - Timeout(float) : "Timeout" : "0" : "The time, in seconds, to wait after player enters the trigger before firing the OnTimeout output, 0 = never." - - // Output - output OnTrigger(void) : "Fired when the trigger is activated." - output OnTimeout(void) : "Fired after the timeout interval expires if the player never looked at the target." -] - -@SolidClass base(Trigger) line(255 255 255, targetname, filtername) = trigger_push : - "A trigger volume that pushes entities that touch it." -[ - pushdir(angle) : "Push Direction (Pitch Yaw Roll)" : "0 0 0" : "Angles indicating the direction to push touched entities." - - spawnflags(flags) = - [ - 128: "Once Only" : 0 - 256: "Affects Ladders (Half-Life 2)" : 0 - ] - - speed(integer) : "Speed of Push" : 40 : "The speed at which to push entities away, in inches / second." - alternateticksfix(float) : "Scale force for alternate ticks" : "0" : "If nonzero, scale the force by this amount when running with alternate ticks. This fixes problems with an overly large force due to the longer frametime on when running with sv_alternateticks 1." - - // Inputs - input SetPushDirection(vector) : "Sets the angles indicating the direction to push touched entities." -] - -@SolidClass base(Trigger, Angles) line(255 255 255, targetname, filtername) = trigger_wind : - "A trigger volume that pushes physics objects that touch it." -[ - Speed(integer) : "Speed" : 200 : "The baseline for how hard the wind blows." - SpeedNoise(integer) : "Speed Noise" : 0 : "Noise added to wind speed +/-" - DirectionNoise(integer) : "Direction Noise" : 10 : "Noise added to wind direction." - HoldTime(integer) : "Hold Time" : 0 : "Baseline for how long to wait before changing wind." - HoldNoise(integer) : "Hold Noise" : 0 : "Noise added to how long to wait before changing wind." - - // Inputs - input SetSpeed(integer) : "Set the baseline for how hard the wind blows." -] - -@SolidClass base(trigger_multiple) line(255 255 255, targetname, childfiltername) = trigger_hierarchy: - "A trigger volume that can will check if any of trigger's children pass a secondary filter." -[ - childfiltername(filterclass) : "Child Filter Name" : : "Filter to use to see if activator's children trigger me. See filter_activator_name for more explanation." -] - -@SolidClass base(Targetname, Origin, Angles) = trigger_impact : - "A trigger volume that can be told to push all physics objects that are inside of it in the direction specified by this trigger's angles.\n"+ - "Also outputs the force at the time of impact for anyone else that wants to use it." -[ - Magnitude(float) : "Magnitude" : 200 : "The strength of the impact. Negative values reverse the direction." - noise(float) : "Noise" : "0.1" : "The amount of directional noise (0-1). 0 = no noise, 1 = random direction." - viewkick(float) : "Viewkick" : "0.05" : "The amount to kick player's view if the player is in the trigger. Proportional to magnitude (0-1)." - - // Inputs - input Impact(float) : "Fire the impact, pushing all entities within the volume." - input SetMagnitude(float) : "Set the magnitude of the impact." - - // Outputs - output ImpactForce(string) : "Fired after an impact. The parameter passed along is the force of the impact that was generated." -] - -@SolidClass base(Trigger) line(255 255 255, targetname, filtername) line(255 255 255, targetname, measuretarget) sphere(radius) = trigger_proximity : - "Measures the distance of the player within the trigger volume from a given point (and within " + - "a given radius). The NearestPlayerDistance output will be 0 when the player is at the center point, " + - "and 1 when the player is at the radius." -[ - measuretarget(target_destination) : "Point to Measure From" : : "The name of a target entity who's origin is the point to measure the player's distance from." - radius(integer) : "Radius to measure within" : 256 : "The radius to which the distance should be mapped. If the player is outside the radius he will be ignored." - - // Outputs - output NearestEntityDistance(integer) : "Fired continuously when entities are touching the trigger volume. The output parameter is the distance from the "+ - "Point to Measure From to the nearest entity that passed the trigger filters. The distance is mapped to the radius distance, "+ - "so it will be 0 when the entity is on the point, and 1 when the entity is at the edge of the radius." -] - -@SolidClass base(Trigger) line(255 255 255, targetname, filtername) line(255 255 0, targetname, target) line(0 255 0, target, landmark) = trigger_teleport : - "A trigger volume that teleports entities that touch it. Entities are teleported to the Remote Destination, and have their angles "+ - "set to that of the Remote Destination's. If a Local Destination Landmark is specified, teleported entities are offset from the target "+ - "by their initial offset from the landmark, and their angles are left alone." -[ - target(target_destination) : "Remote Destination" : : "The entity specifying the point to which entities should be teleported." - landmark(target_destination) : "Local Destination Landmark" : : "If specified, then teleported entities are offset from the target by their initial offset from the landmark." - UseLandmarkAngles(boolean) : "Use Landmark Angles" : 0 : "Forces the teleported object to snap to the angles of the destination landmark." - - input SetRemoteDestination(string) : "Set a new target to teleport to." -] - -@SolidClass base(Targetname) = trigger_transition : - "A volume that's used to control which entities go through the level transition. Create one or more trigger_transitions and "+ - "give them the same name as the changelevel landmark. Any entities within the trigger_transition(s) will go to the next map."+ - "See trigger_changelevel for more info." -[ -] - -@SolidClass base(Targetname) = trigger_serverragdoll : - "A volume that forces any NPC inside it to create a server side ragdoll instead of a client one." -[ -] - - - - - -//------------------------------------------------------------------------- -// -// AI -// -//------------------------------------------------------------------------- - -@PointClass base(Targetname,ResponseContext,EnableDisable) line(255 255 255, targetname, subject) iconsprite("editor/ts2do/ai_speechfilter.vmt") = ai_speechfilter : - "An entity that can be used to control the idle speech patterns of a set of NPCs." -[ - subject(target_destination) : "Subject(s)" : "" : "This is the NPC(s) whose speech we're filtering. May be a targetname or a classname." - - IdleModifier(float) : "Idle modifier." : "1.0" : "Multiplier to the percentage chance that our NPC(s) will idle speak. Set to 0 to prevent all idle speech." - NeverSayHello(choices) : "Greet Player?" : 0 : "If set to Yes, our NPC(s) won't greet the player when they first meet him." = - [ - 0 : "Yes" - 1 : "No" - ] - - input SetIdleModifier(float) : "Allows designers to change the idle modifier at runtime" -] - -@BaseClass base(Targetname) line(255 255 255, targetname, target) = ai_addon -[ - target(target_destination) : "Host NPC" - input Install(target_destination) : "Install this AddOn to the specified NPC" - input Remove(target_destination): "Remove this AddOn from the NPC it is attached to" -] - -@PointClass base(Targetname,EnableDisable) = ai_addon_builder -[ - NPCName(string) : "NPC name" : "" : "Name to give built NPCs" - AddOnName(string) : "Add on name" : "" : "Name to give built addons" - NpcPoints(integer) : "NPC Points" : 10 : "Points available to spend for NPCs" - AddonPoints(integer) : "Addon Points" : 10 : "Points available to spend for addons" - input Execute(void) : "" - output OnCreateNpc(void) : "Fires when an NPC is created." - output OnFailedToCreateNpc(void) : "Fires when an NPC fails to be created." - output OnCreateAddon(void) : "Fires when an Addon is created." - output OnFailedToCreateAddon(void) : "Fires when an Addon fails to be created." -] - -//------------------------------------------------------------------------- -// Water LOD control -//------------------------------------------------------------------------- - -@PointClass base(Targetname) iconsprite("editor/waterlodcontrol.vmt") sphere(cheapwaterstartdistance) sphere(cheapwaterenddistance) color(200 0 0) = water_lod_control : - "An entity used to control the LOD behavior of any water in the map. If your map has water, this entity is required." -[ - cheapwaterstartdistance(float) : "Start Transition to Cheap Water" : 1000 : "This is the distance from the camera that water will start transitioning to cheap water, in inches." - cheapwaterenddistance(float) : "End Transition to Cheap Water" : 2000 : "This is the distance from the camera that water will finish transitioning to cheap water, in inches." - - // Inputs - input SetCheapWaterStartDistance(float) : "Set the distance that water starts transitioning to cheap water." - input SetCheapWaterEndDistance(float) : "Set the distance that water finishes transitioning to cheap water." -] - - -//------------------------------------------------------------------------- -// Used to allow entities to use point_cameras for their materials -//------------------------------------------------------------------------- - -@PointClass base(Targetname) - studio("models/editor/camera.mdl") - iconsprite("editor/info_camera_link.vmt") - line(255 255 0, targetname, target) - line(255 255 0, targetname, target, targetname, Pointcamera) = info_camera_link : - "An entity that can use point_cameras to render images for materials used by entities. "+ - "To author the material, use the special identifier _rt_Camera " + - "for the $baseTexture (or whatever texture you want, like envmap, etc.) in the .vmt " + - "then connect the 'target' field to the entity which uses that material, and the 'PointCamera' " + - "field to the point_camera you want to have appear on that entity's material" -[ - target(target_destination) : "Entity Whose Material Uses _rt_camera" - PointCamera(target_destination) : "Camera Name" : : "The name of a point_camera entity in the map that the material should be rendered from." - - // Inputs - input SetCamera(string) : "Set the camera to use. The parameter should be the name of a point_camera entity in the map." -] - - -//------------------------------------------------------------------------- -// Used to listen to events caled from code -//------------------------------------------------------------------------- - -@PointClass base(Targetname) color(200 0 0) iconsprite("editor/logic_eventlistener.vmt") = logic_eventlistener : - "An entity that can listen to events fired from code and fire " + - "an output when it happens." -[ - EventName(string) : "Event Name" : "" : "The name of the event that you want to listen for." - IsEnabled(choices) : "Start Enabled" : 1 = - [ - 0 : "No" - 1 : "Yes" - ] - TeamNum(choices) : "Team Number" : -1 : "If set, will only fire its output if the event is generated from someone of the specified team." = - [ - -1 : "Don't care" - 1 : "Team 1" - 2 : "Team 2 (ORANGE)" - 3 : "Team 3 (BLUE)" - ] - - // Inputs - input Enable(void) : "Enable the event listener." - input Disable(void) : "Disable the event listener." - - // Outputs - output OnEventFired(void) : "Fired when the event has been detected." -] - - -//------------------------------------------------------------------------- -// Used to allow entities to mimic the motions of other entities -//------------------------------------------------------------------------- - -@PointClass base(Targetname) color(0 100 250) iconsprite("editor/logic_measure_movement.vmt") - line(255 255 0, targetname, measureReference) line(255 0 255, targetname, measureTarget, targetname, measureReference) - line(255 255 0, targetname, targetReference) line(255 0 255, targetname, target, targetname TargetReference) = logic_measure_movement : - "An entity that can measure the movement of an entity relative to another entity " + - "and apply that movement to a third entity." -[ - MeasureTarget(target_destination) : "Entity to Measure" : "" : "Entity whose movement you want to measure." - MeasureReference(target_destination) : "Measure Reference" : "" : "The movement of Entity to Measure will be measured relative to this entity." - Target(target_destination) : "Entity to Move" : "" : "This entity will be moved to mimic the motions of Entity to Measure." - TargetReference(target_destination) : "Movement Reference" : "" : "The Entity to Move will move relative to this entity." - TargetScale(float) : "Movement scale" : "1" : "A scale to divide the measured movements by, before applying those movements to the Entity to Move. 1 = target entity moves as much as the measured entity, 2 = target entity moves half as far as the measured entity, and 0.5 = target entity moves twice as far as the measured entity." - MeasureType(choices) : "Measurement Type" : 0 = - [ - 0 : "Position" - 1 : "Eye position" - ] - - // Inputs - input SetMeasureTarget(string) : "Set the Entity to Measure, whose movement should be measured." - input SetMeasureReference(string) : "Set the Measure Reference entity." - input Target(string) : "Set the Entity to Move, which will be moved to mimic the measured entity." - input SetTargetReference(string) : "Set the Movement Reference entity." - input SetTargetScale(float) : "Set the scale to divide the measured movements by." - input Enable(void) : "Enable the logic_measure_movement." - input Disable(void) : "Disable the logic_measure_movement." -] - - -//------------------------------------------------------------------------- -// Misc -//------------------------------------------------------------------------- - -@PointClass base(BaseNPC, Parentname) studio() = npc_furniture : - "An entity used for non-NPCs that need to synchronise their animation with an NPC in a scripted_sequence. Usually a piece"+ - "of furniture or door that an NPC needs to manipulate within a scripted_sequence." -[ - model(studio) : "Model" - input DisablePlayerCollision(void) : "Disable collisions against the player." - input EnablePlayerCollision(void) : "Enable collisions against the player." -] - -@PointClass base(Targetname) iconsprite("editor/ts2do/env_credits.vmt") = env_credits : - "An entity to control the rolling credits." -[ - // Inputs - input RollCredits(void) : "Start the intro credits rolling." - input RollOutroCredits(void) : "Start the outro credits rolling." - input ShowLogo(void) : "Show the HL2 logo." - - // Outputs - output OnCreditsDone(void) : "Fired when the credits having finished rolling." -] - -@PointClass base(Parentname, Targetname) color(0 100 250) line(255 255 0, targetname, parentname) iconsprite("editor/ts2do/material_modify_control.vmt") = material_modify_control : - "An entity that can be used to directly control material vars. To use it, you need to read the .vmt of the material you "+ - "intend to change. Parent this entity to a brush model entity who's material you want to control." -[ - materialName(string) : "Material to modify." - materialVar(string) : "Material variable to modify." - - // Inputs - input SetMaterialVar(string) : "Fire to modify a material variable. The argument is the value to set the variable to." - input SetMaterialVarToCurrentTime(void) : "This sets the material variable to the current time on the server." - input StartAnimSequence(string) : "Force an animated material with the MaterialModifyAnimated proxy to play a set of animation frames. Format is: \nSetting to -1 uses the last frame of the texture. should be 1 or 0." - input StartFloatLerp(string) : "Force a material with the MaterialModifyAnimated proxy to lerp a material var between two floating point values. Format is: \n should be 1 or 0." -] - -//------------------------------------------------------------------------- -// Devshot camera -// - Used by the -makedevshots system, which automatically takes screenshots -// at the position of every devshot camera in the level. -//------------------------------------------------------------------------- - -@PointClass base(Angles) - iconsprite("editor/point_devshot_camera.vmt") - studioprop("models/editor/camera.mdl") - frustum(fov,16,256,255 255 255 10,-1) -= point_devshot_camera : - "An entity used by the -makedevshots system, which automatically takes screenshots at the position of every devshot camera in the level." -[ - cameraname(string) : "Camera Name" : "" : "Used as the name of the directory to store screenshots from this camera. Must be unique within the level." - FOV(integer) : "Camera FOV" : 75 : "FOV of this camera." -] - - -@PointClass base(Targetname, DamageFilter) color(200 0 0) iconsprite("editor/logic_playerproxy.vmt") = logic_playerproxy : - "An entity that is used to relay inputs/ouputs to the player and back to the world." -[ - output OnStartSlowingTime(void) : "Fired when a Portal player initiates slow time." - output OnStopSlowingTime(void) : "Fired when a Portal player stops slowing time." - - output OnPrimaryPortalPlaced(void) : "Fired when a Portal player successfully places the primary portal." - output OnSecondaryPortalPlaced(void) : "Fired when a Portal player successfully places the secondary portal." - - output OnDuck(void) : "Fired when a player starts to duck." - output OnUnDuck(void) : "Fired when a player releases the duck button." - output OnJump(void) : "Fired when a player jumps." - - // Outputs - output OnFlashlightOn(float) : "Fired when the player turns on his flashlight. This output has the value of how much energy the player had when this happened [0..1]." - output OnFlashlightOff(float) : "Fired when the player turns off his flashlight. This output has the value of how much energy the player had when this happened [0..1]." - input RequestPlayerHealth(void) : "Requests the current player's health from the proxy. This will fire the PlayerHealth output with the value." - output PlayerHealth(integer) : "The player's current health value." - output PlayerMissedAR2AltFire(void) : "Player fired an AR2 combine ball that didn't kill any enemies." - - input SetFlashlightSlowDrain(void) : "Puts the player's flashlight in slow-power-drain mode (for Episodic darkness)" - input SetFlashlightNormalDrain(void) : "Puts the player's flashlight to default power drain" - - input SetPlayerHealth(integer) : "Sets the player's health to this value." - - input RequestAmmoState(void) : "Request the ammo state of the player. It will fire PlayerHasAmmo or PlayerHasNoAmmo outputs." - output PlayerHasAmmo(void) : "Fired by request if the player has any ammo." - output PlayerHasNoAmmo(void) : "Fired by request if the player doesn't have any ammo." - - output PlayerDied(void) : "Fires when the player dies." - - input LowerWeapon(void) : "Lowers the players weapon." - - input EnableCappedPhysicsDamage(void) : "Cause player to take less damage from physics objects, and never more than 30 points from any individual strike." - input DisableCappedPhysicsDamage(void) : "Undo effects of EnableCappedPhysicsDamage" - input SetLocatorTargetEntity(string) : "Set the entity that the HUD locator should track. (Usually a vehicle)" - - input AddPotatosToPortalgun(void) : "Change portalgun bodygroup to show potatos." - input RemovePotatosFromPortalgun(void) : "Change portalgun bodygroup to not show potatos." - - input SetDropEnabled(bool) : "Set wether the player is allowed to drop a carried object." - input ForceVMGrabController(void) : "Force the player to use the view model grab controller for all objects that are picked up." - input ForcePhysicsGrabController(void) : "Force the player to use the physics grab controller for all objects that are picked up." - input ResetGrabControllerBehavior(void) : "Resets the grab controller used by the player to its default behavior." - input SetMotionBlurAmount(float) : "Forces the motion blur effect on the player. Set to < 0 to disable this override." -] - -@PointClass base(Parentname, Targetname) iconsprite("editor/env_spritetrail.vmt") sphere(startwidth) sphere(endwidth) = env_spritetrail : - "A magical trail you can parent to anything you heart desires." -[ - lifetime(float) : "Lifetime" : "0.5" - startwidth(float) : "Start Width" : "8.0" - endwidth(float) : "End Width" : "1.0" - spritename(sprite) : "Sprite Name" : "sprites/bluelaser1.vmt" - - renderamt(integer) : "FX Amount (0 - 255)" : 255 : "The FX amount is used by the selected Render Mode." - rendercolor(color255) : "FX Color (R G B)" : "255 255 255" : "The FX color is used by the selected Render Mode." - - rendermode(choices) : "Render Mode" : 5 = - [ - 0: "Normal" - 4: "Solid" - 5: "Additive" - ] -] - -// lightprop("models/editor/spot.mdl") <---- use this once the orientation is unfucked -@PointClass base(Targetname, Parentname, Angles, SystemLevelChoice) line(255 255 255, targetname, target) studio("models/editor/cone_helper.mdl") frustum(lightfov,nearz,farz,lightcolor,-1) sphere(nearz) sphere(farz) = env_projectedtexture : - "Projected texture entity." -[ - spawnflags(flags) = - [ - 1 : "Enabled" : 0 - 2 : "Always Update (moving light)" : 0 - ] - - style(Choices) : "Appearance" : 0 = - [ - 0 : "Normal" - 10: "Fluorescent flicker" - 2 : "Slow, strong pulse" - 11: "Slow pulse, noblack" - 5 : "Gentle pulse" - 1 : "Flicker A" - 6 : "Flicker B" - 3 : "Candle A" - 7 : "Candle B" - 8 : "Candle C" - 4 : "Fast strobe" - 9 : "Slow strobe" - ] - pattern(string) : "Custom Appearance" : "" : "Set a custom pattern of light brightness for this light. Pattern format is a string of characters, where 'a' is total darkness, 'z' fully bright. i.e. 'aaggnnttzz' would be a steppy fade in from dark to light." - - target(target_destination) : "target" : : "target" - lightfov(float) : "FOV" : "90.0" : "FOV" - nearz(float) : "NearZ" : "4.0" : "Near Z for projected texture" - farz(float) : "FarZ" : "750.0" : "Far Z for projected texture" - - enableshadows(boolean) : "Enable Shadows" : 1 : "Enables/disables shadows from this projected texture." - shadowquality(Choices) : "Shadow Quality" : 1 : "Quality of shadows." = - [ - 0 : "Low" - 1 : "High" - ] - lightonlytarget(boolean) : "Light Only Target" : 0 : "Limit flashlight effect to only effect target entity." - lightworld(boolean) : "Light World" : 0 : "Control whether flashlight effects static world geometry." - - simpleprojection(boolean) : "Simple Projection" : 0 : "Indicates if this is a simple, non-light casting texture projection" - - brightnessscale(float) : "Brightness Scale" : "1.0" : "Scale the light color by this brightness" - - lightcolor(color255) : "Light Color" : "255 255 255 200" : "Light Color RGB-Intensity" - colortransitiontime(float) : "Color Transition Time" : "0.5" : "Amount of time it takes for a color change to occur." - cameraspace(integer) : "Camera Space" : 0 : "Angles are interpreted as being relative to camera." - - texturename(material) : "Texture Name" : "effects/flashlight001" : "VTF Texture to 'project' onto the enviroment." - - // Inputs - input TurnOn(void) : "Turn on the texture" - input TurnOff(void) : "Turn off the texture" - input AlwaysUpdateOn(void) : "Turn on per frame updating (for moving lights)" - input AlwaysUpdateOff(void) : "Turn off per frame updating (for moving lights)" - input FOV(float) : "Set FOV of projection." - // Disabled texture setting. If we need this feature reimplemented, tell a programmer. - //input SpotlightTexture(string) : "Set the spotlight texture" - input EnableShadows(bool) : "Set the if shadows are enabled" - input LightColor(color255) : "Change the light color/brightness" - input SetLightStyle(integer) : "Change the lightstyle (see Appearance field for possible values)." - input SetPattern(string) : "Set a custom pattern of light brightness for this light. Pattern format is a string of characters, where 'a' is total darkness, 'z' fully bright. i.e. 'aaggnnttzz' would be a steppy fade in from dark to light." - input SetNearZ(float) : "Sets the near Z distance." - input SetFarZ(float) : "Sets the far Z distance." -] - - -@SolidClass base(func_brush) = func_reflective_glass : - "Used to produce perfectly reflective glass that renders world + entities. " + - "Typically, you want your glass brush to have nodraw on all non-reflective surfaces " + - "and you want to use a shader like lightmappedreflective in your material applied " + - "to the non-nodraw surfaces. See hl2/materials/glass/reflectiveglass001.vmt for an example. " + - "NOTE: currently, you cannot use reflective glass in scenes with water, and you can only " + - "have 1 reflective glass in your view frustum ( + pvs ) at a time." -[ -] - -@PointClass base(Targetname) = env_particle_performance_monitor : - "An entity for turning on and off measuring and display of particle throughput." -[ - // Inputs - input TurnOnDisplay(void) : "Turn on display of particle simulation benchmark" - input TurnOffDisplay(void) : "Turn off display of particle simulation benchmark" - input StartMeasuring(void) : "Start measuring particle simulation speed" - input StopMeasuring(void) : "Stop measuring particle simulation speed" -] - -@PointClass base(BaseNPC, Targetname, Parentname,Studiomodel) studioprop() line(255 255 255, targetname, animationtarget) = npc_puppet : "Puppet entity that mimics the animations of a target NPC." -[ - animationtarget(target_destination) : "Animation target" : "" - attachmentname(string) : "Target attachment point name" : "" - - input SetAnimationTarget(string) : "Set the animation target to use. An empty string will disable the puppet." -] - -@PointClass base(Origin, Targetname, EnableDisable) size(-2 -2 -2, 2 2 2) color(0 255 0) = point_gamestats_counter : "Generic game statistics counter." -[ - Name(string) : "Name of statistic counter" - - input SetName(string) : "Changes name of statistic counter" - input Increment(float) : "Increments named statistic counter by specified value" -] - -// Beam spotlight --------------------- -@PointClass base(Targetname, Parentname, RenderFields, Angles, SystemLevelChoice) - studio("models/editor/cone_helper.mdl") - sphere(spotlightlength) - sphere(spotlightwidth) = beam_spotlight : - "An entity to draw a spotlight. Will draw a beam when the player views it side on, and a halo when it's facing towards the player. "+ - "Unless the 'No Dynamic Light' spawnflag is checked, it will also create a dynamic light wherever the end of the spotlight rests." + - "This spotlight is entirely client side, it is not sync'd across clients." -[ - spawnflags(Flags) = - [ - 1 : "Start On" : 1 - 2 : "No Dynamic Light" : 0 - 4 : "Start rotation on" : 0 - 8 : "Reverse Direction" : 0 - 16 : "X Axis" : 0 - 32 : "Y Axis" : 0 - ] - - maxspeed(integer) : "Max Rotation Speed" : 100 : "The maximum rotation speed of the spotlight, in degrees per second." - - spotlightlength(integer) : "Spotlight Length" : 500 : "Length of the spotlight beam." - spotlightwidth(integer) : "Spotlight Width" : 50 : "Width of the spotlight beam." - rendercolor(color255) : "Color (R G B)" : "255 255 255" - HDRColorScale(float) : "HDR color scale." : "0.7" : "float value to multiply sprite color by when running in HDR mode." - - // Inputs - input LightOn(void) : "Turn the spotlight on." - input LightOff(void) : "Turn the spotlight off" - input Start(void) : "Start the rotator rotating." - input Stop(void) : "Stop the rotator from rotating." - input Reverse(void) : "Reverse the direction of rotation of the rotator." - - // outputs - output OnLightOn(void) : "Fires when light turns on." - output OnLightOff(void) : "Fires when light turns off." -] - -@PointClass base(Angles) size( -2 -2 -2, 2 2 2 ) instance() = func_instance : - "An entity for placing an instance of a map file. You may translate and rotate this entity. " + - "You can use the replace keys to do parameter changes on the instance contents. In a $ at the " + - "beginning of a variable name. Then just use the $variable name inside of the instance contents on any "+ - "value portion of a key/value pair." -[ - targetname(target_source) : "Fix Up Name" : : "The name that all entities will be fixed up with based upon the fix up style." - file(instance_file) : "VMF Filename" : : "This indicates a map file relative to the map's file name" - fixup_style(Choices) : "Entity Name Fix Up" : 0 : "Fixup style for instanced entity names. Uses the 'Fix Up Name' field." = - [ - 0 : "Prefix" - 1 : "Postfix" - 2 : "None" - ] - - replace01(instance_variable) : "Replace Variable" : : "This is a replacement parameter. It goes in the form of $variable value. All entities inside of that instance that have $variable somewhere will be replaced with the value contents. Example: $color 255 0 0" - replace02(instance_variable) : "Replace Variable" : : "This is a replacement parameter. It goes in the form of $variable value. All entities inside of that instance that have $variable somewhere will be replaced with the value contents. Example: $color 255 0 0" - replace03(instance_variable) : "Replace Variable" : : "This is a replacement parameter. It goes in the form of $variable value. All entities inside of that instance that have $variable somewhere will be replaced with the value contents. Example: $color 255 0 0" - replace04(instance_variable) : "Replace Variable" : : "This is a replacement parameter. It goes in the form of $variable value. All entities inside of that instance that have $variable somewhere will be replaced with the value contents. Example: $color 255 0 0" - replace05(instance_variable) : "Replace Variable" : : "This is a replacement parameter. It goes in the form of $variable value. All entities inside of that instance that have $variable somewhere will be replaced with the value contents. Example: $color 255 0 0" - replace06(instance_variable) : "Replace Variable" : : "This is a replacement parameter. It goes in the form of $variable value. All entities inside of that instance that have $variable somewhere will be replaced with the value contents. Example: $color 255 0 0" - replace07(instance_variable) : "Replace Variable" : : "This is a replacement parameter. It goes in the form of $variable value. All entities inside of that instance that have $variable somewhere will be replaced with the value contents. Example: $color 255 0 0" - replace08(instance_variable) : "Replace Variable" : : "This is a replacement parameter. It goes in the form of $variable value. All entities inside of that instance that have $variable somewhere will be replaced with the value contents. Example: $color 255 0 0" - replace09(instance_variable) : "Replace Variable" : : "This is a replacement parameter. It goes in the form of $variable value. All entities inside of that instance that have $variable somewhere will be replaced with the value contents. Example: $color 255 0 0" - replace10(instance_variable) : "Replace Variable" : : "This is a replacement parameter. It goes in the form of $variable value. All entities inside of that instance that have $variable somewhere will be replaced with the value contents. Example: $color 255 0 0" - replace11(instance_variable) : "Replace Variable" : : "This is a replacement parameter. It goes in the form of $variable value. All entities inside of that instance that have $variable somewhere will be replaced with the value contents. Example: $color 255 0 0" - replace12(instance_variable) : "Replace Variable" : : "This is a replacement parameter. It goes in the form of $variable value. All entities inside of that instance that have $variable somewhere will be replaced with the value contents. Example: $color 255 0 0" - replace13(instance_variable) : "Replace Variable" : : "This is a replacement parameter. It goes in the form of $variable value. All entities inside of that instance that have $variable somewhere will be replaced with the value contents. Example: $color 255 0 0" - replace14(instance_variable) : "Replace Variable" : : "This is a replacement parameter. It goes in the form of $variable value. All entities inside of that instance that have $variable somewhere will be replaced with the value contents. Example: $color 255 0 0" - replace15(instance_variable) : "Replace Variable" : : "This is a replacement parameter. It goes in the form of $variable value. All entities inside of that instance that have $variable somewhere will be replaced with the value contents. Example: $color 255 0 0" - replace16(instance_variable) : "Replace Variable" : : "This is a replacement parameter. It goes in the form of $variable value. All entities inside of that instance that have $variable somewhere will be replaced with the value contents. Example: $color 255 0 0" - replace17(instance_variable) : "Replace Variable" : : "This is a replacement parameter. It goes in the form of $variable value. All entities inside of that instance that have $variable somewhere will be replaced with the value contents. Example: $color 255 0 0" - replace18(instance_variable) : "Replace Variable" : : "This is a replacement parameter. It goes in the form of $variable value. All entities inside of that instance that have $variable somewhere will be replaced with the value contents. Example: $color 255 0 0" - replace19(instance_variable) : "Replace Variable" : : "This is a replacement parameter. It goes in the form of $variable value. All entities inside of that instance that have $variable somewhere will be replaced with the value contents. Example: $color 255 0 0" - replace20(instance_variable) : "Replace Variable" : : "This is a replacement parameter. It goes in the form of $variable value. All entities inside of that instance that have $variable somewhere will be replaced with the value contents. Example: $color 255 0 0" - replace21(instance_variable) : "Replace Variable" : : "This is a replacement parameter. It goes in the form of $variable value. All entities inside of that instance that have $variable somewhere will be replaced with the value contents. Example: $color 255 0 0" - replace22(instance_variable) : "Replace Variable" : : "This is a replacement parameter. It goes in the form of $variable value. All entities inside of that instance that have $variable somewhere will be replaced with the value contents. Example: $color 255 0 0" - replace23(instance_variable) : "Replace Variable" : : "This is a replacement parameter. It goes in the form of $variable value. All entities inside of that instance that have $variable somewhere will be replaced with the value contents. Example: $color 255 0 0" - replace24(instance_variable) : "Replace Variable" : : "This is a replacement parameter. It goes in the form of $variable value. All entities inside of that instance that have $variable somewhere will be replaced with the value contents. Example: $color 255 0 0" - replace25(instance_variable) : "Replace Variable" : : "This is a replacement parameter. It goes in the form of $variable value. All entities inside of that instance that have $variable somewhere will be replaced with the value contents. Example: $color 255 0 0" - replace26(instance_variable) : "Replace Variable" : : "This is a replacement parameter. It goes in the form of $variable value. All entities inside of that instance that have $variable somewhere will be replaced with the value contents. Example: $color 255 0 0" - replace27(instance_variable) : "Replace Variable" : : "This is a replacement parameter. It goes in the form of $variable value. All entities inside of that instance that have $variable somewhere will be replaced with the value contents. Example: $color 255 0 0" - replace28(instance_variable) : "Replace Variable" : : "This is a replacement parameter. It goes in the form of $variable value. All entities inside of that instance that have $variable somewhere will be replaced with the value contents. Example: $color 255 0 0" - replace29(instance_variable) : "Replace Variable" : : "This is a replacement parameter. It goes in the form of $variable value. All entities inside of that instance that have $variable somewhere will be replaced with the value contents. Example: $color 255 0 0" - replace30(instance_variable) : "Replace Variable" : : "This is a replacement parameter. It goes in the form of $variable value. All entities inside of that instance that have $variable somewhere will be replaced with the value contents. Example: $color 255 0 0" -] - -@PointClass iconsprite("editor/func_instance_parms.vmt") = func_instance_parms : - "Place one copy of this entity inside of an instance. Whenever you add a $parameter for the instance, get the properties " + - "of this entity. It will auto-populate it with the variables and allow you to indicate the variable type." -[ - parm1(instance_parm) : "Parm (01)" : : "This is a parameter. It goes in the form of $variable type [default value]." - parm2(instance_parm) : "Parm (02)" : : "This is a parameter. It goes in the form of $variable type [default value]." - parm3(instance_parm) : "Parm (03)" : : "This is a parameter. It goes in the form of $variable type [default value]." - parm4(instance_parm) : "Parm (04)" : : "This is a parameter. It goes in the form of $variable type [default value]." - parm5(instance_parm) : "Parm (05)" : : "This is a parameter. It goes in the form of $variable type [default value]." - parm6(instance_parm) : "Parm (06)" : : "This is a parameter. It goes in the form of $variable type [default value]." - parm7(instance_parm) : "Parm (07)" : : "This is a parameter. It goes in the form of $variable type [default value]." - parm8(instance_parm) : "Parm (08)" : : "This is a parameter. It goes in the form of $variable type [default value]." - parm9(instance_parm) : "Parm (09)" : : "This is a parameter. It goes in the form of $variable type [default value]." - parm10(instance_parm) : "Parm (10)" : : "This is a parameter. It goes in the form of $variable type [default value]." - parm11(instance_parm) : "Parm (11)" : : "This is a parameter. It goes in the form of $variable type [default value]." - parm12(instance_parm) : "Parm (12)" : : "This is a parameter. It goes in the form of $variable type [default value]." - parm13(instance_parm) : "Parm (13)" : : "This is a parameter. It goes in the form of $variable type [default value]." - parm14(instance_parm) : "Parm (14)" : : "This is a parameter. It goes in the form of $variable type [default value]." - parm15(instance_parm) : "Parm (15)" : : "This is a parameter. It goes in the form of $variable type [default value]." - parm16(instance_parm) : "Parm (16)" : : "This is a parameter. It goes in the form of $variable type [default value]." - parm17(instance_parm) : "Parm (17)" : : "This is a parameter. It goes in the form of $variable type [default value]." - parm18(instance_parm) : "Parm (18)" : : "This is a parameter. It goes in the form of $variable type [default value]." - parm19(instance_parm) : "Parm (19)" : : "This is a parameter. It goes in the form of $variable type [default value]." - parm20(instance_parm) : "Parm (20)" : : "This is a parameter. It goes in the form of $variable type [default value]." - parm21(instance_parm) : "Parm (21)" : : "This is a parameter. It goes in the form of $variable type [default value]." - parm22(instance_parm) : "Parm (22)" : : "This is a parameter. It goes in the form of $variable type [default value]." - parm23(instance_parm) : "Parm (23)" : : "This is a parameter. It goes in the form of $variable type [default value]." - parm24(instance_parm) : "Parm (24)" : : "This is a parameter. It goes in the form of $variable type [default value]." - parm25(instance_parm) : "Parm (25)" : : "This is a parameter. It goes in the form of $variable type [default value]." - parm26(instance_parm) : "Parm (26)" : : "This is a parameter. It goes in the form of $variable type [default value]." - parm27(instance_parm) : "Parm (27)" : : "This is a parameter. It goes in the form of $variable type [default value]." - parm28(instance_parm) : "Parm (28)" : : "This is a parameter. It goes in the form of $variable type [default value]." - parm29(instance_parm) : "Parm (29)" : : "This is a parameter. It goes in the form of $variable type [default value]." - parm30(instance_parm) : "Parm (30)" : : "This is a parameter. It goes in the form of $variable type [default value]." -] - -@PointClass iconsprite("editor/func_instance_io_proxy.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." -[ - 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." - - input ProxyRelay1(string) : "Added by the compiler, this is used internally to connect the outputs." - input ProxyRelay2(string) : "Added by the compiler, this is used internally to connect the outputs." - input ProxyRelay3(string) : "Added by the compiler, this is used internally to connect the outputs." - input ProxyRelay4(string) : "Added by the compiler, this is used internally to connect the outputs." - input ProxyRelay5(string) : "Added by the compiler, this is used internally to connect the outputs." - - output OnProxyRelay(void) : "A message from outside can trigger this to cause something to happen in the instance." -] - -@PointClass iconsprite("editor/func_instance_origin.vmt") = func_instance_origin: - "Place to change the center of an instance." -[ -] - -@PointClass base(Targetname) iconsprite("editor/env_instructor_hint.vmt") line(255 255 0, targetname, hint_target) sphere(hint_range) = env_instructor_hint : "An entity that allows for creation and control of instructor lessons by map logic" -[ - hint_replace_key(string) : "Replace Key" : : "Unique name so that messages with the same key will replace each other." - hint_target(target_destination) : "Target Entity" : : "The entity to show this hint on top of. The entity used must exist on the client, info_target_instructor_hint can be parented to server only entities for this purpose." - hint_static(Choices) : "Positioning" : 0 : "Either show at the position of the Target Entity. Or show the hint directly on the hud at a fixed position." = - [ - 0 : "Follow the Target Entity" - 1 : "Show on the hud" - ] - - hint_allow_nodraw_target(Choices) : "Allow invisible target" : 1 : "Do we allow the hint to follow entities with nodraw set?" = - [ - 0 : "End immediately on nodraw" - 1 : "Yes" - ] - - hint_caption(string) : "Caption" : : "The text of your hint." - hint_activator_caption(string) : "Activator Caption" : : "The text of your hint shown to only the activating player." - hint_color(color255) : "Caption Color" : "255 255 255" : "The color of the caption text" - hint_forcecaption(Choices) : "Show through walls" : 0 : "Do we show the caption text even if the hint is occluded by a wall?" = - [ - 0 : "No" - 1 : "Show when occluded" - ] - - hint_icon_onscreen(Choices) : "Onscreen Icon" : "icon_tip" : "The icon to use when the hint is within the player's view." = - [ - "use_binding" : "Show controls instead" - "icon_blank": "Blank" - - "icon_bulb" : "Bulb" - "icon_caution" : "Caution" - "icon_alert" : "White Exclamation Mark" - "icon_alert_red" : "Red Exclamation Mark" - - "icon_tip" : "Information" - "icon_skull" : "Eye" - - "icon_interact" : "Interact/Pickup" - "icon_button" : "Button" - "icon_door" : "Door" - "icon_useable_item": "Joystick" - - "icon_arrow_plain_white_dn" : "Simple Down Arrow" - "icon_arrow_plain_white_up" : "Simple Up Arrow" - "icon_arrow_up" : "Up Arrow" - "icon_arrow_right" : "Right Arrow" - - "icon_mouseRight": "Right-Click" - "icon_mouseLeft": "Left-Click" - "icon_mouseWheel_up": "MouseWheel Up" - "icon_mouseWheel_down": "MouseWheel Down" - "icon_mouseThree": "Click Scrollwheel" - - "icon_key_generic": "Empty Key" - "icon_key_wide": "Spacebar" - - "icon_key_right": "Right Key" - "icon_key_left": "Left Key" - "icon_key_down": "Down Key" - "icon_key_up": "Up Key" - - "icon_dpad": "D-Pad" - "icon_fire": "Fire" - "icon_present": "Present" - ] - - hint_icon_offscreen(Choices) : "Offscreen Icon" : "icon_tip" : "The icon to use when the hint is outside the player's view." = - [ - "icon_blank": "Blank" - - "icon_bulb" : "Bulb" - "icon_caution" : "Caution" - "icon_alert" : "White Exclamation Mark" - "icon_alert_red" : "Red Exclamation Mark" - - "icon_tip" : "Information" - "icon_skull" : "Eye" - - "icon_interact" : "Interact/Pickup" - "icon_button" : "Button" - "icon_door" : "Door" - "icon_useable_item": "Joystick" - - "icon_arrow_plain_white_dn" : "Simple Down Arrow" - "icon_arrow_plain_white_up" : "Simple Up Arrow" - "icon_arrow_up" : "Up Arrow" - "icon_arrow_right" : "Right Arrow" - - "icon_mouseRight": "Right-Click" - "icon_mouseLeft": "Left-Click" - "icon_mouseWheel_up": "MouseWheel Up" - "icon_mouseWheel_down": "MouseWheel Down" - "icon_mouseThree": "Click Scrollwheel" - - "icon_key_generic": "Empty Key" - "icon_key_wide": "Spacebar" - - "icon_key_right": "Right Key" - "icon_key_left": "Left Key" - "icon_key_down": "Down Key" - "icon_key_up": "Up Key" - - "icon_dpad": "D-Pad" - "icon_fire": "Fire" - "icon_present": "Present" - ] - - hint_nooffscreen(Choices) : "Show offscreen" : 0 : "When the hint is offscreen, do we show an icon and arrow?" = - [ - 0 : "Show" - 1 : "Don't show" - ] - - hint_binding(choices) : "Bound Command" : : "If using 'show key bindings' for the onscreen icon, this field should be the command we want to show bindings for" = - [ - "" : "Unused" - "+forward" : "Forward" - "+back" : "Backward" - "+left" : "Strafe Left" - "+right" : "strafe Right" - "+duck" : "Crouch" - "+jump" : "Jump" - "+attack" : "Fire Blue Portal" - "+attack2" : "Fire Orange Portal" - "+use" : "Use Key" - "+zoom" : "Zoom In" - "-zoom" : "Zoom Out" - ] - hint_gamepad_binding(string) : "Gamepad Bound Command" : : "If using 'show key bindings' for the onscreen icon, this field should be the command we want to show bindings for when gamepad is enabled (and PS3/X360)" - hint_icon_offset(float) : "Icon Height Offset" : 0 : "A height offset from the target entity's origin to display the hint" - hint_pulseoption(Choices) : "Size Pulsing" : 0 : "The icon size can pulsate" = - [ - 0 : "No Pulse" - 1 : "Slow Pulse" - 2 : "Fast Pulse" - 3 : "Urgent Pulse" - ] - - hint_alphaoption(Choices) : "Alpha Pulsing" : 0 : "The icon alpha can pulsate" = - [ - 0 : "No Pulse" - 1 : "Slow Pulse" - 2 : "Fast Pulse" - 3 : "Urgent Pulse" - ] - - hint_shakeoption(Choices) : "Shaking" : 0 : "The icon can shake" = - [ - 0 : "No Shaking" - 1 : "Narrow Shake" - 2 : "Wide Shake" - ] - - hint_local_player_only(boolean) : "Only Local Player" : "No" : "The hint will only be shown to the local player." - - hint_timeout(integer) : "Timeout" : 0 : "The automatic timeout for the hint. 0 will persist until stopped with EndHint." - hint_range(float) : "Display Range" : 0 : "The visible range of the hint." - - input ShowHint(string) : "Start showing the hint. If an entity name is passed as a parameter, the hint is shown only to that entity." - input EndHint(void) : "Stop showing the hint if it hasn't already timed out." -] - -@PointClass base(Targetname,Parentname) halfgridsnap iconsprite("editor/info_target.vmt") = info_target_instructor_hint : "A generic target that gets replicated to the client for hud hint targeting." -[ -] - -@PointClass base(Targetname,EnableDisable) iconsprite("editor/info_game_event_proxy.vmt") sphere(range) = info_game_event_proxy : "Entity that, when seen, generates a simple game event." -[ - event_name(string) : "Event Name" : : "The event to trigger by name from modevents.res" - range(float) : "Range" : 512 : "Distance that the player must be before the event is generated." - - spawnflags(flags) = - [ - 1 : "Automatically detect visibility" : 1 - ] - - input GenerateGameEvent(void) : "Generate the event on input." -] - -@PointClass base(Targetname) iconsprite("editor/postprocess_controller.vmt") color(255 255 255) = postprocess_controller : - "An entity that controls the postprocess settings in the map." -[ - // Inputs - input SetFadeTime(float) : "Set the fade time between post process settings." - input SetLocalContrastStrength(float) : "Set the local contrast strength." - input SetLocalContrastEdgeStrength(float) : "Set the local contrast strength at the edge of the screen (controlled by vignette)." - input SetVignetteStart(float) : "Set the vignette start distance (from screen center)." - input SetVignetteEnd(float) : "Set the vignette end distance." - input SetVignetteBlurStrength(float) : "Set the strength of the desaturated blur on the vignette." - input SetFadeToBlackStrength(float) : "Set the fadeout strength." - input SetDepthBlurFocalDistance(float) : "Set the focal distance of the depth blur effect (in the range [0,1])." - input SetDepthBlurStrength(float) : "Set the depth blur effect strength." - input SetScreenBlurStrength(float) : "Set the screen blur effect strength." - input SetFilmGrainStrength(float) : "Set the film grain effect strength." - - fadetime(float) : "Fade-in time" : "2" - localcontraststrength(float) : "Local contrast strength [-1..x]" : "0" - localcontrastedgestrength(float) : "Local contrast edge strength [0..1]" : "0" - vignettestart(float) : "Vignette start distance [0..1]" : "0.8" - vignetteend(float) : "Vignette end distance [0..x]" : "1.1" - vignetteblurstrength(float) : "Vignette blur strength [0..1]" : "0" - fadetoblackstrength(float) : "Fade to black strength [0..1]" : "0" - depthblurfocaldistance(float) : "Depth-blur focal plane distance [0..1]" : "0" - depthblurstrength(float) : "Depth-blur effect strength [0..x]" : "0" - screenblurstrength(float) : "Full-screen blur strength [0..1]" : "0" - filmgrainstrength(float) : "Film grain strength [0..x]" : "0" - - spawnflags(flags) = - [ - 1 : "Master (Has priority if multiple postprocess_controllers exist)" : 0 - ] -] - -@SolidClass base( Targetname, EnableDisable ) line(255 255 0, targetname, fogname) line(255 255 0, targetname, postprocessname) line(255 255 0, targetname, colorcorrectionname) = fog_volume : "An entity to control the fog in the map." -[ - FogName(target_destination) : "Fog Name" : : "The name of the fog entity associated with this volume." - PostProcessName(target_destination) : "Postprocess Name" : : "The name of the postprocess entity associated with this volume." - ColorCorrectionName(target_destination) : "ColorCorrection Name" : : "The name of the color_correction entity associated with this volume." -] - -@PointClass iconsprite("editor/ts_book.vmt") - line(255 255 255, targetname, linename1) - line(255 0 0, targetname, linename2) - line(0 255 0, targetname, linename3) - line(0 0 255, targetname, linename4) = hammer_notes : "Fake entity to store notes and comments inside. Won`t spawn." -[ - linename1(target_destination) : "White Related Entity" : : "Add entity names to have lines drawn to them." - linename2(target_destination) : "Red Related Entity" : : "Add entity names to have lines drawn to them." - linename3(target_destination) : "Green Related Entity" : : "Add entity names to have lines drawn to them." - linename4(target_destination) : "Blue Related Entity" : : "Add entity names to have lines drawn to them." - mat(material) : "Material Chooser" : : "Has the material browser for easier editing." - part(particlesystem) : "Particle Chooser" : : "Has the particle system chooser for easier editing." - model(studio) : "Model Chooser" : : "Has the model chooser for easier editing." - sound(sound) : "Sound Chooser" : : "Has the sound chooser for easier editing." - -] \ No newline at end of file diff --git a/bin/halflife2.fgd b/bin/halflife2.fgd deleted file mode 100644 index eb97156f0..000000000 --- a/bin/halflife2.fgd +++ /dev/null @@ -1,2068 +0,0 @@ -//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. ======= -// -// Purpose: Half-Life 2 game definition file (.fgd) -// -//============================================================================= - -//@include "base.fgd" - -//------------------------------------------------------------------------- -// -// NPCs -// -//------------------------------------------------------------------------- -@BaseClass base(BaseNPC) = TalkNPC -[ - UseSentence(string) : "Use Sentence" - UnUseSentence(string) : "Un-Use Sentence" - - DontUseSpeechSemaphore(choices) : "Don't Use Speech Semaphore" : 0 : "Friendly NPCs are not allowed to speak if another friendly NPC is speaking. In some cases we don't want speaking NPCs to prevent other NPCs from speaking (for instance, if there is a friendly NPC speaking for a long time on a monitor). To make this NPC not prevent other NPCs from talking, make it not grab the semaphore when it speaks." = - [ - 0 : "No (Use speech semaphore)" - 1 : "Yes (Don't use speech semaphore)" - ] - - input SpeakResponseConcept(string) : "Speak the specified response concept." -] - -@BaseClass base(BaseNPC) = PlayerCompanion -[ - input OutsideTransition(void) : "Use this input to teleport the NPC to a hintnode with the Player Squad Transition Point hint type." - input EnableAlwaysTransition(void) : "Enable the 'always transition' behavior" - input DisableAlwaysTransition(void) : "Disable the 'always transition' behavior" - - input EnableSpeakWhileScripting(void) : "Allow this NPC to speak responses while in a scripted sequence or while StartScripting is active." - input DisableSpeakWhileScripting(void) : "Cancels this NPC's ability to speak responses while in a scripted sequence or while StartScripting is active if it was previously enabled by EnableSpeakWhileScripting." - - AlwaysTransition(boolean) : "Always transition" : "No" : "If yes, this NPC will always teleport to a Player Squad Transition Point if they're not within the trigger_transition volume." - - DontPickupWeapons(boolean) : "Prevent picking up weapons?" : "No" : "If yes, this NPC will NOT be allowed to pick up weapons they find on the ground." - - GameEndAlly(boolean) : "Is this a vital ally?" : "No" : "If yes, this NPC will cause the game to end if killed." - - input MakeGameEndAlly(void) : "Make this NPC a game end ally." - input MakeRegularAlly(void) : "Make this NPC a regular ally." - - input EnableWeaponPickup(void) : "Enable Weapon Pickup" - input DisableWeaponPickup(void) : "Disable Weapon Pickup" - - input GiveWeapon(string) : "Gives the NPC a weapon of the specified entity name." - - input SetReadinessPanic(void) : "Set readiness to panic state (Special)" - input SetReadinessLow(void) : "Set readiness to calmest state (Bored)" - input SetReadinessMedium(void) : "Set readiness to moderate (Alert)" - input SetReadinessHigh(void) : "Set readiness to highest. (Combat imminent)" - input LockReadiness(float) : "Lock readiness at current setting for x seconds -1 = forever, 0 = unlock now" - - input ClearAllOutputs(void) : "Obliterate every output that this NPC has." - - output OnWeaponPickup(void) : "Fires when this NPC picks a weapon off the ground or a gun rack." -] - -@BaseClass base(BaseNPC ) = RappelNPC -[ - waitingtorappel(boolean) : "Waiting to Rappel?" : "No" : "If yes, this NPC spawns suspended in air and awaits a BeginRappel input. It will then spawn a zipline and slide down. When it hits the ground, NPC will cut away the line and try to move forward a few feet to make room for the next NPC. The NPC will not attempt to clear its landing space if it cannot do so by taking a few steps forward" - - // Inputs - input BeginRappel(void) : "BeginRappel" - - // Outputs - output OnRappelTouchdown(void) : "Fires when done rappeling" -] - -@BaseClass = AlyxInteractable -[ - // Outputs - output OnAlyxStartedInteraction(void) : "Fired when Alyx begins to interact with this entity." - output OnAlyxFinishedInteraction(void) : "Fired when Alyx has finished interacting with this entity." - - input InteractivePowerDown(void) : "Shutdown this target." -] - -@BaseClass base(Targetname, Origin, Angles, Global) = CombineBallSpawners -[ - spawnflags(Flags) = - [ - 4096 : "Start inactive" : 1 - 8192 : "Combine power supply" : 0 - ] - - ballcount(integer) : "Ball count" : 1 : "The number of Pellets that are alive at once." - minspeed(float) : "Min ball speed" : "150.0" : "The minimum starting speed." - maxspeed(float) : "Max ball speed" : "150.0" : "The maximum starting speed." - ballradius(float) : "Ball radius" : "20.0" : "The radius of the energy balls." - balltype(choices) : "Ball Type" : "Combine Energy Ball 1" = - [ - 0 : "Combine Energy Ball 1" - 1 : "Combine Energy Ball 2" - 2 : "Combine Energy Ball 3" - ] - ballrespawntime(float) : "Ball Respawn Time" : "4.0f" : "The energy balls respawn time" - - input Enable(void) : "Enable spawning of combine balls" - input Disable(void) : "Disable spawning of combine balls" - - output OnBallGrabbed(void) : "Fired when a combine ball is grabbed from the field by a mega physcannon" - output OnBallReinserted(void) : "Fired when a combine ball is reinserted into the field (only gets triggered when Combine Power supply is checked)" - output OnBallHitTopSide(void) : "Fired when a combine ball in hits the top side of the field (only gets triggered when Combine Power supply is checked)" - output OnBallHitBottomSide(void) : "Fired when a combine ball in hits the bottom side of the field (only gets triggered when Combine Power supply is checked)" - output OnLastBallGrabbed(void) : "Fired when the last combine ball is grabbed from the field by a mega physcannon" - output OnFirstBallReinserted(void) : "Fired when the first combine ball is reinserted into the field (only gets triggered when Combine Power supply is checked)" -] - -@PointClass base(BasePropPhysics) studio("models/effects/combineball.mdl") = prop_combine_ball : - "An earlier Half-Life version of the Energy Pellet." -[ - // Inputs - input Explode(void) : "Explode" -] - -@SolidClass base(Trigger, Angles) = trigger_physics_trap : - "A volumetric trigger that disintegrates enemies" -[ - dissolvetype(choices) : "Dissolve Type" : "Energy" = - [ - 0 : "Energy" - 1 : "Heavy electrical" - 2 : "Light electrical" - ] -] - -@SolidClass base(Trigger) = trigger_weapon_strip : - "A volumetric trigger that strips combat characters of all weapons" -[ - KillWeapons(choices) : "Kill Weapons" : "0" : "If No, then the player will drop and be prevented from picking up their weapon. If Yes the weapon will be killed." = - [ - "0" : "Drop on ground" - "1" : "Kill Weapons" - ] -] -@SolidClass base(CombineBallSpawners) = func_combine_ball_spawner : - "Spawns Combine balls." -[ - output OnBallReinserted(void) : "Fired when a combine ball is reinserted into the field (only gets triggered when Combine Power supply is checked)" - output OnLastBallGrabbed(void) : "Fired when the last combine ball is grabbed from the field by a mega physcannon" -] - -@PointClass base(CombineBallSpawners) studio("models/effects/combineball.mdl") studio("models/editor/cone_helper.mdl") = point_combine_ball_launcher : - "Launches Combine balls." -[ - launchconenoise(float) : "Noise to launch direction" : "0.0" : "Noise in degrees added to the launch direction." - bullseyename(string) : "Name of bullseye" : "" : "If you select the Attach Bullseye spawnflag, you may specify a name here which will be given to the bullseye." - maxballbounces(integer) : "Max number of bounces" : 8 : "Maximum number of bounces the balls are allowed to do before they are removed." - - spawnflags(Flags) = - [ - 1 : "Attach Bullseye" : 0 - 2 : "Balls should collide against player" : 0 - ] - - // Inputs - input LaunchBall(void) : "Launch a ball from the spawner." -] - -@NPCClass base(Parentname, BaseLogicalNPC) -iconsprite("editor/npc_enemyfinder.vmt") -sphere(MinSearchDist) -sphere(MaxSearchDist) -= npc_enemyfinder : "EnemyFinder" -[ - spawnflags(flags) = - [ - 65536 : "Check Visibility" : 1 - 131072 : "APC Visibility checks" : 0 - 262144 : "Short memory" : 0 - 524288 : "Can be an enemy" : 0 - ] - FieldOfView(string) : "FieldOfView" : "0.2" : "How far to look (1.0 = straight ahead, 0.0 = +/- 90 degrees, -1.0 = all directions)" - MinSearchDist(integer) : "Min Search Dist" : 0 - MaxSearchDist(integer) : "Max Search Dist" : 2048 - - freepass_timetotrigger(float) : "Player pass issue time" : 0 : "Amount of time an enemy is hidden after which a 'free pass' on reaquire is granted" - freepass_duration(float) : "Player pass duration" : 0 : "After granted 'free pass', the amount of time a target is allowed before reaquire" - freepass_movetolerance(float) : "Player pass move tolerance" : 120 : "After granted 'free pass', the distance the target is allowed to move before reaquire" - freepass_refillrate(float) : "Player pass refill rate" : "0.5" : "After free pass begins expiring, how much the time the target gets back for every second they hide again" - freepass_peektime(float) : "Player pass peek time" : 0 : "How long targets in cover are allowed to peek without penalty" - - StartOn(boolean) : "Start On" : 1 - - // Inputs - input TurnOn(void) : "Turn on: Look for enemies" - input TurnOff(void) : "Turn off: Stop looking for enemies" - - output OnLostEnemies(void) : "Fires when the enemy finder has no enemies." - output OnAcquireEnemies(void) : "Fires when the enemy finder acquires enemies." -] - -@NPCClass base(BaseNPC) = npc_spotlight : "Spotlight" -[ - spawnflags(Flags) = - [ - 65536 : "Start Track On" : 1 - 131072 : "Start Light On" : 1 - 262144 : "No Dynamic Light" : 0 - 524288 : "Never Move" : 0 - ] - - health(Integer) : "Health" : 100 - YawRange(integer) : "YawRange" : 90 - PitchMin(integer) : "PitchMin" : 35 - PitchMax(integer) : "PitchMax" : 50 - IdleSpeed(integer) : "IdleSpeed" : 2 - AlertSpeed(integer) : "AlertSpeed" : 5 - spotlightlength(integer) : "SpotlightLength" : 500 - spotlightwidth(integer) : "SpotlightWidth" : 50 - rendercolor(color255) : "Color (R G B)" : "255 255 255" - - // Inputs - input LightOn(void) : "LightOn" - input LightOff(void) : "LightOff" - input TrackOn(void) : "TrackOn" - input TrackOff(void) : "TrackOff" - - // Outputs - output OnAlert(void) : "Fires when the spotlight alerted by sound" - output DetectedEnemy(string) : "Outputs enemy entity when spotlight finds and starts tracking enemy" - output LostEnemy(string) : "Outputs enemy entity when spotlight loses enemy that it's tracking, if enemy still exists" - output SquadDetectedEnemy(string) : "Outputs enemy entity when squad finds and starts tracking enemy" - output SquadLostEnemy(string) : "Outputs enemy entity when squad loses enemy that it's tracking, if entity still exists" - output LightPosition(string) : "Position of the end of the spotlight beam" -] - -@PointClass base(BaseNPC, RenderFields, Shadow) studio() = monster_generic : "Generic Script NPC" -[ - spawnflags(Flags) = - [ - 65536 : "Not solid" : 0 - ] - model(studio) : "Model" - body(Integer) : "Body" : 0 -] - - -@PointClass base(BaseNPC, Parentname, RenderFields, Shadow) studio() = generic_actor : "Generic Actor NPC" -[ - model(studio) : "Model" - - hull_name(choices) : "Hull type" : "Human" = - [ - "HUMAN_HULL" : "Human" - "WIDE_HUMAN_HULL" : "Wide" - "TINY_HULL" : "Tiny" - "MEDIUM_HULL" : "Medium" - "LARGE_HULL" : "Large" - ] -] - -@PointClass base(BaseNPC, RenderFields, Shadow) studio() = cycler_actor : "Actor Cycler" -[ - model(studio) : "Model" - Sentence(string) : "Sentence Group" : "" - - input Alpha(integer) : "Set Alpha Value" -] - -@PointClass base(Angles, BaseNPCMaker) iconsprite("editor/npc_maker.vmt") = npc_maker : "NPC Maker" -[ - spawnflags(Flags) = - [ - 16 : "Fade Corpse" : 0 - ] - - NPCType(npcclass) : "Class name of spawned NPC" - NPCTargetname(string) : "Childrens' Name" - NPCSquadname(string) : "Childrens' Squad Name" - NPCHintGroup(string) : "Childrens' Hint Group" - - additionalequipment(choices) : "Weapons" : "0" = - [ - "weapon_pistol" : "Pistol" - "weapon_ar2" : "AR2" - "weapon_shotgun" : "Shotgun" - "weapon_smg1" : "SMG1" - "weapon_stunstick" : "Stun Stick" - "weapon_annabelle" :"Grigori's Shotgun" - "0" : "Nothing" - ] -] - -//------------------------------------------------------------------------- -// -// Player Control Entities -// -//------------------------------------------------------------------------- - -@BaseClass base(Targetname) size(-10 -10 -10, 10 10 10) color(255 0 255) = player_control -[ - // Inputs - input Activate(void) : "Turns on" - input Deactivate(void) : "Turns off" - input SetThrust(string) : "Set Thrust" - input SetSideThrust(string) : "Set Side Thrust" -] - - -//------------------------------------------------------------------------- -// -// Scripted Events -// -//------------------------------------------------------------------------- - -@BaseClass base(Targetname, Parentname, Angles) color(255 0 255) sphere(m_flRadius) = BaseScripted -[ - m_iszEntity(target_destination) : "Target NPC" : : "The name or class name (such as 'npc_zombie') of an NPC to use for this script." - m_iszIdle(string) : "Pre Action Idle Animation" : "" : "The name of the sequence (such as 'idle01') or activity (such as 'ACT_IDLE') to play before the action animation if the NPC must wait for the script to be triggered. Use 'Start on Spawn' flag or MoveToPosition input to play this idle animation." - m_iszEntry(string) : "Entry Animation" : "" : "The name of the sequence (such as 'reload02') or activity (such as 'ACT_RELOAD') to play when the sequence starts, before transitioning to play the main action sequence." - m_iszPlay(string) : "Action Animation" : "" : "The name of the main sequence (such as 'reload02') or activity (such as 'ACT_RELOAD') to play." - m_iszPostIdle(string) : "Post Action Idle Animation" : "" : "The name of the sequence (such as 'idle01') or activity (such as 'ACT_IDLE') to play after the action animation." - m_iszCustomMove(string) : "Custom Move Animation" : "" : "Used in conjunction with the 'Custom movement' setting for the 'Move to Position' property, specifies the sequence (such as 'crouch_run01') or activity (such as 'ACT_RUN') to use while moving to the scripted position." - m_bLoopActionSequence(boolean) : "Loop Action Animation?" : 0 - m_bSynchPostIdles(boolean) : "Synch Post Idles?" : 0 - - m_flRadius(integer) : "Search Radius (0=everywhere)" : 0 : "Radius to search within for an NPC to use. 0 searches everywhere." - m_flRepeat(integer) : "Repeat Rate ms" : 0 - m_fMoveTo(Choices) : "Move to Position" : 1 = - [ - 0 : "No" - 1 : "Walk" - 2 : "Run" - 3 : "Custom movement" - 4 : "Instantaneous" - 5 : "No - Turn to Face" - ] - m_iszNextScript(target_destination) : "Next Script" : : "The name of the script to run immediately after this script completes. The NPC will not return to AI between the two scripts." - m_bIgnoreGravity(boolean) : "Ignore Gravity on NPC during script" : 0 : "If this is set to 'Yes', the NPC will not be subject to gravity while playing this script." - - m_bDisableNPCCollisions(boolean) : "Disable NPC collisions during script" : 0 : "Useful for when NPCs playing scripts must interpenetrate while riding on trains, elevators, etc. This only disables collisions between the NPCs in the script and must be enabled on BOTH scripted_sequences." - - - // Inputs - input BeginSequence(void) : "Summons an NPC to act out the scripted sequence." - input MoveToPosition(void) : "Summons an NPC to the script location. They will play their scripted idle (or ACT_IDLE if none is specified) until BeginSequence is triggered." - input CancelSequence(void) : "Stops the scripted sequence. If fired after a sequence starts, this input will not take effect until the NPC finishes playing the scripted action animation." - - // Outputs - output OnBeginSequence(void) : "Fires when the action animation begins playing." - output OnEndSequence(void) : "Fires when the action animation completes." - output OnCancelSequence(void) : "Fires when the sequence is cancelled." - output OnCancelFailedSequence(void) : "Fires when the sequence is cancelled without ever playing (OnCancelSequence will also fire)." - output OnScriptEvent01(void) : "Fires when a 'trigger' anim event occurs while playing the script. Use { event 1003 framenum 1 } in the QC." - output OnScriptEvent02(void) : "Fires when a 'trigger' anim event occurs while playing the script. Use { event 1003 framenum 2 } in the QC." - output OnScriptEvent03(void) : "Fires when a 'trigger' anim event occurs while playing the script. Use { event 1003 framenum 3 } in the QC." - output OnScriptEvent04(void) : "Fires when a 'trigger' anim event occurs while playing the script. Use { event 1003 framenum 4 } in the QC." - output OnScriptEvent05(void) : "Fires when a 'trigger' anim event occurs while playing the script. Use { event 1003 framenum 5 } in the QC." - output OnScriptEvent06(void) : "Fires when a 'trigger' anim event occurs while playing the script. Use { event 1003 framenum 6 } in the QC." - output OnScriptEvent07(void) : "Fires when a 'trigger' anim event occurs while playing the script. Use { event 1003 framenum 7 } in the QC." - output OnScriptEvent08(void) : "Fires when a 'trigger' anim event occurs while playing the script. Use { event 1003 framenum 8 } in the QC." -] - -@PointClass sphere() iconsprite("editor/scripted_sentence.vmt") base(Targetname) = scripted_sentence : "Scripted Sentence" -[ - spawnflags(Flags) = - [ - 1 : "Fire Once" : 1 - 2 : "Followers Only" : 0 - 4 : "Interrupt Speech" : 1 - 8 : "Concurrent" : 0 - 16 : "Speak to Activator" : 1 - ] - - sentence(string) : "Sentence Name" : "" - entity(string) : "Speaker Type" - delay(string) : "Additional Sentence Time" : "0" - radius(integer) : "Search Radius" : 512 - refire(string) : "Delay Before Refire" : "3" - listener(string) : "Listener Type" - volume(string) : "Volume 0-10" : "10" - attenuation(Choices) : "Sound Radius" : 0 = - [ - 0 : "Small Radius" - 1 : "Medium Radius" - 2 : "Large Radius" - 3 : "Play Everywhere" - ] - - // Inputs - input BeginSentence(void) : "Starts the scripted sentence." - - // Outputs - output OnBeginSentence(void) : "Fires when the sentence begins" - output OnEndSentence(void) : "Fires when the sentence ends" -] - -@PointClass base(Targetname, Parentname) iconsprite("editor/info_target.vmt") = scripted_target : "Scripted Target" -[ - StartDisabled(boolean) : "Start Disabled" : 1 - - m_iszEntity(npcclass) : "Target NPC" - m_flRadius(integer) : "Search Radius (0=everywhere)" : 0 : "Radius to search within for an NPC to use. 0 searches everywhere." - - MoveSpeed(integer) : "Move Speed" : 5 // How quickly should target move between scripted targets - PauseDuration(integer) : "Pause Duration" : 0 // How long should target pause at scripted target - EffectDuration(integer) : "Effect Duration" : 2 // How long should any associated effect last - - target(target_destination) : "Next Target" // Next scripted target - - // Inputs - input Enable(void) : "Enable this entity" - input Disable(void) : "Disable this entity" - - // Outputs - output AtTarget(void) : "Fires when NPC reaches this target" - output LeaveTarget(void) : "Fires when NPC leaves this target" -] - -@PointClass base(Targetname) iconsprite("editor/ai_relationship.vmt") sphere() = ai_relationship : - "AI Relationship - Sets relationships between groups of NPCs in the AI." -[ - subject(target_name_or_class) : "Subject(s)" : "" : "This is the NPC(s) whose disposition will change. May be a targetname or a classname." - target(target_name_or_class) : "Target(s)" : "" : "This is the NPC(s) about whom the Subject(s) will change their disposition. May be a tarGetname or a classname." - disposition(choices) : "Disposition" : 3 : "Choose the way the Subject(s) should feel about the Target(s)" = - [ - // These MUST match the enum in the code! (basecombatcharacter.h) - 1 : "Hate" - 2 : "Fear" - 3 : "Like" - 4 : "Neutral" - ] - - radius(float) : "Radius for subject" : 0 - - rank(integer) : "Disposition Priority" : 0 : "How much the Subject(s) should Like/Hate/Fear the Target(s). Higher priority = stronger feeling." - - StartActive(boolean) : "Start Active" : 0 - - Reciprocal(boolean) : "Reciprocal" : 0 : "Set this to YES to have the new relationship mirrored by Target" - - spawnflags(flags) = - [ - 1 : "Notify subject of target's location" : 0 - 2 : "Notify target of subject's location" : 0 - ] - - // Inputs - input ApplyRelationship(void) : "Apply relationship changes. This will change all Subject entities' relationships to all Target entities. \n\nIMPORTANT: Once you ApplyRelationships, this entity is then 'ALWAYS ON' until you send a Disable input or RevertRelationship input. During the time this entity is 'ON', any entities that spawn who match the Subject or Target names will be affected. \n\nIMPORTANT: Unpredictable results may occur when two ai_relationship entities refer to the same set or subset of target or subject entities. This situation should be avoided." - - input RevertRelationship(void) : "Revert relationship changes. This will return the relationship to what it was at the time the ApplyRelationship input was called (or when this ai_relationship was spawned if StartActive is set)." - input RevertToDefaultRelationship(void) : "Revert relationship changes to the default relationship, which may have changed since this ai_relationship was applied. This returns control of the entity relationship to the code." -] - -// Not in P2. -// @PointClass base(Targetname) = ai_ally_manager : "AI Ally Manager" -// [ - // maxallies(integer) : "Maximum number of allies" : 5 - // maxmedics(integer) : "Maximum number of medics" : 1 - - // Inputs - // input SetMaxAllies(integer) : "Set maximum number of allies" - // input SetMaxMedics(integer) : "Set maximum number of medic allies" - // input Replenish(void) : "Replenish player allies" - - // Outputs - // output SpawnMedicAlly(void) : "Spawn Medic Ally" - // output SpawnAlly0(void) : "Spawn Ally 0" - // output SpawnAlly1(void) : "Spawn Ally 1" - // output SpawnAlly2(void) : "Spawn Ally 2" - // output SpawnAlly3(void) : "Spawn Ally 3" - // output SpawnAlly4(void) : "Spawn Ally 4" - // output SpawnAlly5(void) : "Spawn Ally 5" - // output SpawnAlly6(void) : "Spawn Ally 6" - // output SpawnAlly7(void) : "Spawn Ally 7" - // output SpawnAlly8(void) : "Spawn Ally 8" - // output SpawnAlly9(void) : "Spawn Ally 9" - - // output OnZeroAllies(void) : "Fires when there are no more allies" - // output OnZeroMedicAllies(void) : "Fires when there are no more allies" -// ] - -@BaseClass base(Targetname) = LeadGoalBase -[ - actor(target_name_or_class) : "Actor(s) to affect" - goal(string) : "Target Entity" - WaitPointName(target_destination) : "Point to wait at if the target's not visible" - WaitDistance(float) : "Wait until player gets this close" - LeadDistance(float) : "Lead Distance" : "64" : "The player is considered to be lagging if he's beyond this distance. The Actor will consider retrieving when the player is 4x 'Lead Distance' away." - RetrieveDistance(float) : "Retrieve Distance" : "96" : "The distance from the player that the NPC should return to when retrieving a lagging player. Must be between ('Lead Distance' + 24) and ('Lead Distance' * 4) to avoid the leader ping-ponging." - SuccessDistance(float) : "Success Distance" : "0" : "The distance from the player (to the NPC) that the player must be within for the Lead to succeed, once the NPC has reached the goal. If set to 0, it'll use the lead distance instead (for legacy support)." - Run(boolean) : "Run instead of Walk" : "0" - - Retrieve(choices) : "Retrieve player?" : 1 = - [ - 0 : "No, just idle and wait" - 1 : "Yes, move to retrieve" - ] - ComingBackWaitForSpeak(choices) : "Before Coming Back, Wait for speech?" : 1 = - [ - 0 : "No, come back while speaking" - 1 : "Yes, wait for speech to finish" - ] - RetrieveWaitForSpeak(choices) : "On Retrieve, Wait for speech?" : 1 = - [ - 0 : "No, start leading while speaking" - 1 : "Yes, wait for speech to finish" - ] - DontSpeakStart(choices) : "Speak start greeting?" : 0 = - [ - 0 : "Yes, speak the start greeting" - 1 : "No, don't speak the greeting" - ] - LeadDuringCombat(choices) : "Lead during combat?" : 0 = - [ - 0 : "No. Stop to fight, resume leading when safe." - 1 : "Yes, lead while fighting." - ] - GagLeader(choices) : "Gag Leader?" : 0 = - [ - 0 : "No. Speak lead concepts normally, respecting other lead speech settings." - 1 : "Yes, don't speak any lead concepts at all, overriding all other lead speech settings." - ] - - AttractPlayerConceptModifier(string) : "Attract player concept modifier" : "" : "Appended to the keyvalues passed into the response rules when the 'TLK_LEAD_ATTRACTPLAYER' concept is spoken." - WaitOverConceptModifier(string) : "Player wait over concept modifier" : "" : "Appended to the keyvalues passed into the response rules when the 'TLK_LEAD_WAITOVER' concept is spoken." - ArrivalConceptModifier(string) : "Arrival concept modifier" : "" : "Appended to the keyvalues passed into the response rules when the 'TLK_LEAD_ARRIVAL' concept is spoken." - PostArrivalConceptModifier(string) : "Post-arrival concepts modifier" - SuccessConceptModifier(string) : "Success concept modifier" : "" : "Appended to the keyvalues passed into the response rules when the 'TLK_LEAD_SUCCESS' concept is spoken." - FailureConceptModifier(string) : "Failure concept modifier" : "" : "Appended to the keyvalues passed into the response rules when the 'lead_fail' concept is spoken." - ComingBackConceptModifier(string) : "Coming Back concept modifier" : "" : "Appended to the keyvalues passed into the response rules when the 'TLK_LEAD_RETRIEVE' concept is spoken. Spoken as the NPC starts returning to the player to retrieve him." - RetrieveConceptModifier(string) : "Retrieve concept modifier" : "" : "Appended to the keyvalues passed into the response rules when the 'TLK_LEAD_COMINGBACK' concept is spoken. Spoken when NPC has finally reached the player to retrieve him." - - // Spawnflags - spawnflags(Flags) = - [ - 1 : "No def success" : 0 - 2 : "No def failure" : 0 - 4 : "Use goal facing" : 1 - ] - - // Inputs - input Activate( void ) : "Begin the leading behavior" - input Deactivate( void ) : "Stop the leading behavior" - - input SetSuccess( void ) : "Notify success of leading" - input SetFailure( void ) : "Notify failure of leading" - - // Outputs - output OnArrival( void ) : "Fires when NPC reaches the lead point" - output OnArrivalDone( void ) : "Fires when NPC has played out any arrival speech" - output OnSuccess( void ) : "Fires when NPC achieves the goal" - output OnFailure( void ) : "Fires when NPC fails to achieves the goal" - output OnDone( void ) : "Fires when NPC completes behavior (any post-success or fail acting is complete)" -] - -@PointClass base(LeadGoalBase) iconsprite("editor/ai_goal_lead.vmt") = ai_goal_lead : "AI Goal Lead" -[ - SearchType(choices) : "Search Type" : 0 : "How to search for the entities using the targetname." = - [ - 0 : "Entity Name" - 1 : "Classname" - ] -] - -@PointClass base(LeadGoalBase) iconsprite("editor/ai_goal_lead.vmt") = ai_goal_lead_weapon : - "AI Goal Lead (Weapon). A version of the ai_goal_lead entity that requires the player to have the specified weapon before the Actor(s) will lead the player to their target." -[ - WeaponName(choices) : "Weapon" : "weapon_bugbait" = - [ - "weapon_bugbait" : "Bugbait" - "weapon_smg1" : "SMG1" - "weapon_ar2" : "AR2" - ] - - MissingWeaponConceptModifier(string) : "Missing weapon concept modifier" - - SearchType(choices) : "Search Type" : 0 : "How to search for the entities using the targetname." = - [ - 0 : "Entity Name" - 1 : "Classname" - ] -] - -@BaseClass base(Targetname) = FollowGoal -[ - actor(target_name_or_class) : "Actor(s) to affect" - goal(string) : "Target Entity" : : "The name of the entity to follow. If blank, and the actor likes the player, then defaults to player" - - SearchType(choices) : "Search Type" : 0 : "How to search for the entities using the targetname." = - [ - 0 : "Entity Name" - 1 : "Classname" - ] - - StartActive(boolean) : "Start Active" : 0 - - MaximumState(choices) : "Maximum state" : 1 = - [ - 1 : "Idle" - 2 : "Alert" - 3 : "Combat" - ] - - Formation(choices) : "Formation" : 0 = - [ - 0 : "Close circle" - 1 : "Wide circle" - 5 : "Medium circle" - 6 : "Sidekick" - 8 : "Vortigaunt" - ] - - // Inputs - input Activate( void ) : "Begin the follow behavior" - input Deactivate( void ) : "Cease the follow behavior" -] - -@PointClass base(FollowGoal) iconsprite("editor/ai_goal_follow.vmt") = ai_goal_follow : "AI Goal Follow" -[ -] - -@PointClass base(FollowGoal) iconsprite("editor/ai_goal_follow.vmt") = ai_goal_injured_follow : "AI Goal Injured Follow" -[ -] - -@PointClass size( -4 -4 -4, 4 4 4 ) base(Targetname, Angles, Parentname) = ai_battle_line : "Battle line" -[ - // Spawnflags - spawnflags(Flags) = - [ - 1 : "Use parent's orientation" : 0 - ] - - actor(target_name_or_class) : "Actor(s) or squad to affect" - - Active(boolean) : "Active" : 0 - - Strict(boolean) : "Strict" : 1 : "Player orders can override, applies to allies only" - - // Inputs - input Activate(void) - input Deactivate(void) -] - -@PointClass base(Targetname) iconsprite("editor/ai_goal_follow.vmt") = ai_goal_fightfromcover : "AI Fight from Cover" -[ - actor(target_destination) : "Actor(s) to affect" - goal(target_destination) : "Target Entity" : : "The name of the entity to follow. If blank, and the actor likes the player, then defaults to player" - - DirectionalMarker(target_destination) : "Directional Marker" : "" : "Specify the entity that indicates the direction of battle" - GenericHintType(string) : "Generic Hint Type" : "" : "Behavior looks for 'generic' hints, and requires a text tag to search for" - width(float) : "Zone Width" : "600" : "Width of the hint search area" - length(float) : "Zone Length" : "480" : "Length of the hint search area" - height(float) : "Zone Height" : "2400" : "Offset in the direction of the hint search area" - bias(float) : "Zone Bias" : "60" : "Offset in the direction of the hint search area" - - StartActive(boolean) : "Start Active" : 0 - - // Inputs - input Activate(void) - input Deactivate(void) - input SetDirectionalMarker(string) : "Specify the entity that indicates the direction of battle" -] - - - -@PointClass base(Targetname) iconsprite("editor/ai_goal_standoff.vmt") = ai_goal_standoff : "AI Goal Standoff" -[ - actor(target_name_or_class) : "Actor(s) to affect" -// goal(string) : "Target Entity (self by default) [NOT IMPLEMENTED]" - - SearchType(choices) : "Search Type" : 0 : "How to search for the entities using the targetname." = - [ - 0 : "Entity Name" - 1 : "Classname" - ] - - StartActive(boolean) : "Start Active" : 0 - - HintGroupChangeReaction(Choices) : "Reaction to tactical change" : 1 : "What to do if leader moves, threat is neutralized, hint group changes, etc" = - [ - 0 : "Move when ready (default AI)" - 1 : "Move when seek cover" - 2 : "Move immediately" - ] - - Aggressiveness(Choices) : "Aggressiveness" : 2 = - [ - 0 : "Very low" - 1 : "Low" - 2 : "Medium" - 3 : "High" - 4 : "Very High" - // Custom agression disabled - // 100 : "Custom" - ] - - PlayerBattleline(boolean) : "Player battleline" : 1 : "Player defines a battle line, applies to allies only" - - StayAtCover(boolean) : "Stay at cover location" : 0 : "When have suitable cover, don't change it (disables advancing to battle line)" - - AbandonIfEnemyHides(boolean) : "Abandon if enemies hide" : 0 : "If no enemy detected recently, stop the standoff" - - // Custom aggression -// CustomCoverOnReload(boolean) : "Custom: Take cover to reload" : 1 -// CustomMinTimeShots(float) : "Custom: Min time wait to shoot" : 2 : "Minimum duration of time after a burst of shooting before trying again" -// CustomMaxTimeShots(float) : "Custom: Max time wait to shoot" : 4 : "Minimum duration of time after a burst of shooting before trying again" -// CustomMinShots(integer) : "Custom: Min shots in a burst" : 1 -// CustomMaxShots(integer) : "Custom: Max shots in a burst" : 4 -// CustomOddsCover(integer) : "Custom: Odds cover on damage" : 25 : "If damaged, the chances react by taking immediate cover" - - // Inputs - input Activate( void ) : "Begin contesting position" - input Deactivate( void ) : "Cease contesting position" - input SetAggressiveness(integer) : "Set aggressiveness" -] - -@PointClass base(Targetname, Parentname, Angles) sphere(policeradius) iconsprite("editor/ai_goal_police.vmt") = ai_goal_police : "AI Goal Police" -[ - spawnflags(Flags) = - [ - 2 : "Knock-out target past crossing plane" : 0 - 4 : "Do not leave post" : 0 - ] - - policeradius(float) : "Radius" : 512 : "Radius to police" - policetarget(string) : "Target" : "" : "Target to police" - - // Inputs - input EnableKnockOut(void) : "Tells the goal to make the active policing NPC knock out its target" - input DisableKnockOut(void) : "Stop the active policing NPC from trying to knock out its target" - - // Outputs - output OnFirstWarning(void) : "Fires the first time a policing cop warns a target" - output OnSecondWarning(void) : "Fires the second time a policing cop warns a target" - output OnLastWarning(void) : "Fires when a policing cop warns a target for the last time" - output OnSupressingTarget(void) : "Fires when a policing cop starts to suppress (ie. beat) a target" - output OnKnockOut(void) : "Fires when a target has been knocked out" -] - -@PointClass base(Targetname, Parentname, Angles) iconsprite("editor/assault_rally.vmt") line(255 255 255, targetname, assaultpoint) = assault_rallypoint : - "(Assault) rally point" -[ - assaultpoint(target_destination) : "Assault Point" : "" : "Location to move to as assault begins" - assaultdelay(float) : "Assault Delay" : 0 : "How long to wait after cue is given before assault begins." - rallysequence(string) : "Rally Sequence" : "" : "Override the NPC's wait activity by entering a sequence name." - priority(integer) : "Priority" : 1 : "Higher priority rally points get selected first." - - forcecrouch(boolean) : "Force Crouch" : 0 : "NPCs using this assault point are forced into crouching while holding it." - - urgent(boolean) : "Urgent" : 0 : "If true, NPCs will consider movement to this rally point as Urgent Navigation." - - lockpoint(boolean) : "Lock Point" : 1 : "Should this point be locked by a character using it." - - output OnArrival(void) : "Fires when the NPC reaches this rally point" -] - -@PointClass base(Targetname, Parentname, Angles) iconsprite("editor/assault_point.vmt") line(255 255 255, targetname, nextassaultpoint) = assault_assaultpoint : - "(Assault) assault point" -[ - assaultgroup(string) : "Assault Hint Group" : "" : "NPC's movements are constrained to this hint group once assault has begun" - nextassaultpoint(target_destination) : "Next assault point (optional)" - assaulttimeout(float) : "Assault time out" : "3.0" : "This point is cleared when no enemies are seen for this long (seconds)" - clearoncontact(boolean) : "Clear on contact with enemies" : 0 : "If you come in contact with enemies while approaching the assault point, clear our assault point" - allowdiversion(boolean) : "Allow diversion" : 0 : "If you come in contact with enemies while approaching the assault point, divert to kill them. Resume the assault once contact is lost." - - allowdiversionradius(float) : "Diversion Proximity" : 0 : "If Allow Diversion is set, NPC will only divert from assault to attack an enemy that is within this distance of the assault point. 0 = No limit." - - nevertimeout(boolean) : "Never Timeout" : 0 : "If set, the assault never ends for NPCs assaulting this point. Useful for forcing NPCs back to a point." - - strict(choices) : "Strict?" : 0 = - [ - 0 : "No, NPC may move from point to attack" - 1 : "Yes, NPC may not move to attack" - ] - - spawnflags(Flags) = - [ - 1 : "Clear this point upon arrival, UNCONDITIONALLY" : 0 - ] - - forcecrouch(boolean) : "Force Crouch" : 0 : "NPCs using this assault point are forced into crouching while holding it." - - urgent(boolean) : "Urgent" : 0 : "If true, NPCs will consider movement to this assault point as Urgent Navigation." - - assaulttolerance(choices) : "Attack Tolerance" : 36 : "How far this NPC may move from the assault point to try to attack an enemy." = - [ - 36 : "Tight (3ft)" - 72 : "Medium (6ft)" - 120 : "Large (10ft)" - ] - - - // Inputs - input SetClearOnContact(integer) : "Set the clear on contact flag. NPCs who spot enemies while running to the assault point, or while waiting at it, will immediately Clear it." - input SetAllowDiversion(integer) : "Set the allow diversion flag. NPCs who spot enemies whil running to the assault point, or while waiting on it, will divert away (leave Assault mode) to deal with the enemies. Upon losing enemies, they'll go back to Assault mode, and return to this assault point." - input SetForceClear(integer) : "Set the Force Clear flag. NPCs who are currently running to the assault point will Clear it immediately. NPCs who acquire it in the future will Clear it automatically." - - // Outputs - output OnArrival(void) : "Fires when the NPC reaches this assault point" - output OnAssaultClear(void) : "Fires when this assault point is cleared of enemies" -] - -@PointClass base(Targetname) = ai_goal_assault : - "AI Goal Assault" -[ - actor(target_name_or_class) : "Actor(s) to affect" : "" : "NPC's that should perform this assault" - rallypoint(target_destination) : "Rally Point Set" : "" : "Root name of rally points for this assault. Use an asterisk '*' after the root name to match all with the same root." - - SearchType(choices) : "Search Type" : 0 : "How to search for the entities using the targetname." = - [ - 0 : "Entity Name" - 1 : "Classname" - ] - - StartActive(boolean) : "Start Active" : 0 - - AssaultCue(choices) : "Assault Cue" : 1 = - [ - 1 : "Entity System Input" - 2 : "Gunfire" - 3 : "Don't wait for a cue." - ] - - RallySelectMethod(choices) : "Rally Point Selection Method" : 0 = - [ - 0 : "Priority, Closest (default)" - 1 : "Random" - 2 : "Priority, Furthest" - ] - - BranchingMethod(choices) : "Branching Assault Selection Method" : 0 = - [ - 0 : "Random (default)" - 1 : "Closest" - 2 : "Furthest" - ] - - // Inputs - input Activate( void ) : "Begin the assault behavior" - input Deactivate( void ) : "Cease the assault behavior" - input BeginAssault( void ) : "Begin assault phase" -] - -@BaseClass base(Targetname) = BaseActBusy -[ - actor(target_name_or_class) : "Actor(s) to affect" : "" : "NPC's that should act busy" - - StartActive(boolean) : "Start Active" : 0 - - SearchType(choices) : "Search Type" : 0 : "How to search for the entities using the targetname." = - [ - 0 : "Entity Name" - 1 : "Classname" - ] - - busysearchrange(float) : "Search Range for Busy Hints" : 2048 - visibleonly(boolean) : "Visible Busy Hints Only" : 0 - - // Inputs - input Activate( void ) : "Begin acting busy" - input Deactivate( void ) : "Cease acting busy" - input SetBusySearchRange( float ) : "Update the busy search range for all actors." - input ForceNPCToActBusy( string ) : "Force an NPC to act busy. Takes parameters, separated by spaces: . If no hint node targetname is specified, it'll search for a random one. If no max time is specified, it'll use the default. Specifying 0 as the max time will make the NPC act busy until disturbed. If the optional teleport parameter is specified, the NPC will teleport to the act busy point. A custom move animation can be specified by prepending $ to the name of it. i.e. $ACT_RUN will make the NPC Run. Sequence names can be used instead of activities." - input ForceThisNPCToActBusy( string ) : "Force an NPC outputted from another entity to act busy. (only usable from an output that specifies an entity)" - input ForceThisNPCToLeave( string ) : "Force an NPC outputted from another entity to find a HINT_NPC_EXIT_POINT hintnode and vanish." - - // Outputs - output OnNPCStartedBusy(string) : "Fired when an NPC targeted by this goal starts an ActBusy animation." - output OnNPCFinishedBusy(string) : "Fired when an NPC targeted by this goal finishes an ActBusy." - output OnNPCLeft(string) : "Fired when an NPC target by this goal finishes a forced Leave." -] - -@PointClass base(BaseActBusy) = ai_goal_actbusy : "AI Goal Act Busy" -[ - seeentity(target_name_or_class) : "Sight Entity" : "" : "The Sight Entity (if you provide one) is an entity that will leave the current ActBusy if the Actor playing the ActBusy loses sight of it for the amount of time specified in 'Sight Entity Timeout'. THIS MAY ONLY BE A TARGET NAME. NO CLASSNAMES." - - seeentitytimeout(string) : "Sight Entity Timeout" : "1" : "If you provide a Sight Entity, the Actor will leave the current ActBusy if the Actor has lost sight of Sight Entity for this many seconds." - - sightmethod(choices) : "Sight Enemy Method" : 0 : "The method to use to determine whether the Sight enemy is visible." = - [ - 0 : "Default. LOS -and- Viewcone" - 1 : "LOS Only. Disregard Viewcone" - ] - - - type(choices) : "Actbusy Type" : 0 = - [ - 0 : "Default (Standard)" - 1 : "Combat" - ] - - safezone(target_destination) : "Combat Safe Zone" : "" : "Only for combat actbusy. Lets you specify a volume which is the 'safe zone'. The Combat ActBusy will cancel if any enemies are seen in the safe zone." - - - allowteleport(choices) : "Allow actor to teleport?" : 0 = - [ - 0 : "No" - 1 : "Yes (Only for Combat Actbusy)" - ] - - output OnNPCLostSeeEntity(void) : "Fired when the NPC loses sight of the see entity (if one is specified)." - output OnNPCSeeEnemy(void) : "Fired when this NPC leaves his actbusy because of sighting an enemy." -] - -@PointClass base(BaseActBusy) = ai_goal_actbusy_queue : "AI Goal Act Busy Queue" -[ - node_exit(target_destination) : "Exit Node" : "" : "The name of the node the first NPC in the queue should move to when he leaves the head of the queue." - node01(target_destination) : "Node 1" : "" : "The name of the first actbusy hint node in the queue." - node02(target_destination) : "Node 2" : "" : "The name of the second actbusy hint node in the queue." - node03(target_destination) : "Node 3" : "" : "The name of the third actbusy hint node in the queue." - node04(target_destination) : "Node 4" : "" : "The name of the fourth actbusy hint node in the queue." - node05(target_destination) : "Node 5" : "" : "The name of the fifth actbusy hint node in the queue." - node06(target_destination) : "Node 6" : "" : "The name of the sixth actbusy hint node in the queue." - node07(target_destination) : "Node 7" : "" : "The name of the seventh actbusy hint node in the queue." - node08(target_destination) : "Node 8" : "" : "The name of the eighth actbusy hint node in the queue." - node09(target_destination) : "Node 9" : "" : "The name of the ninth actbusy hint node in the queue." - node10(target_destination) : "Node 10" : "" : "The name of the tenth actbusy hint node in the queue." - node11(target_destination) : "Node 11" : "" : "The name of the eleventh actbusy hint node in the queue." - node12(target_destination) : "Node 12" : "" : "The name of the twelfth actbusy hint node in the queue." - node13(target_destination) : "Node 13" : "" : "The name of the thirteenth actbusy hint node in the queue." - node14(target_destination) : "Node 14" : "" : "The name of the fourteenth actbusy hint node in the queue." - node15(target_destination) : "Node 15" : "" : "The name of the fifteenth actbusy hint node in the queue." - node16(target_destination) : "Node 16" : "" : "The name of the sixteenth actbusy hint node in the queue." - node17(target_destination) : "Node 17" : "" : "The name of the seventeenth actbusy hint node in the queue." - node18(target_destination) : "Node 18" : "" : "The name of the eighteenth actbusy hint node in the queue." - node19(target_destination) : "Node 19" : "" : "The name of the nineteenth actbusy hint node in the queue." - node20(target_destination) : "Node 20" : "" : "The name of the twentieth actbusy hint node in the queue." - - mustreachfront(boolean) : "Must Reach Front" : 0 : "If true, NPCs much reach the front node in the queue before they're allowed to leave the queue." - - // Inputs - input PlayerStartedBlocking(float) : "Tell the queue manager that the player has started blocking a spot in the queue." - input PlayerStoppedBlocking(float) : "Tell the queue manager that the player has stopped blocking a spot in the queue." - input MoveQueueUp(void) : "Force the queue to move up, sending the front-most NPC out of the queue." - - // Outputs - output OnQueueMoved(float) : "Fired when the queue moves. Outputs the number of NPCs left in the queue." - output OnNPCStartedLeavingQueue(string) : "Fired when the NPC at the head of the queue starts to leave. The activator is the NPC, and the string is the name of the NPC." - output OnNPCLeftQueue(string) : "Fired when the NPC at the head of the queue leaves. The activator is the NPC, and the string is the name of the NPC." -] - -@PointClass base(Targetname) iconsprite("editor/ai_changetarget.vmt") = ai_changetarget : "Change Target" -[ - target(target_destination) : "Target entity" : : "Name of entity whose target will be changed." - m_iszNewTarget(string) : "New Target" - - // Inputs - input Kill( void ) : "Removes this entity from the world" - input Activate( void ) : "Changes the entities target" -] - -@PointClass base(Targetname) size(-8 -8 -8, 8 8 8) = ai_npc_eventresponsesystem : "An entity that allows you to generate events for nearby friendly NPCs to respond to." -[ - input TriggerResponseEvent(string) : "Fire an NPC Response Event. The parameter should match the response rules concept that any nearby friendly NPCs will try to speak." - input ForceTriggerResponseEvent(string) : "Fire an NPC Response Event, and force the first available NPC to speak the response (breaking them out of any scene they're in). The parameter should match the response rules concept that any nearby friendly NPCs will try to speak." - input ForceTriggerResponseEventNoCancel(string) : "Fire an NPC Response Event, and force the first available NPC to speak the response (but don't break them out of any scene they're in). The parameter should match the response rules concept that any nearby friendly NPCs will try to speak." -] -@PointClass base(Targetname) sphere(Radius) size(-8 -8 -8, 8 8 8) = ai_changehintgroup : "Change Hint Group" -[ - SearchType(choices) : "Search Type" : 0 : "How to search for the entities to change." = - [ - 0 : "Entity Name" - 1 : "Classname" - 2 : "Old Hint Group" - ] - SearchName(string) : "Name to search for" - NewHintGroup(string) : "New Hint Group" - Radius(string) : "Search Radius" : "0.0" : "Radius to search (0 for all of map)" - hintlimiting(boolean) : "Hint Limit Nav" : 0 : "Limits NPC to using specified hint group for navigation requests, does not limit local navigation." - - input Kill( void ) : "Removes this entity from the world" - input Activate( void ) : "Change the Hint Group" -] - - - -@PointClass - base(Targetname) - sphere(PlayerActorProximity) - sphere(ActorTargetProximity) - sphere(PlayerTargetProximity) - line(255 255 0, targetname, actor) - line(255 255 255, targetname, target) - iconsprite("editor/ai_script_conditions.vmt") - = ai_script_conditions : "AI Script Conditions" -[ - Actor(target_destination) : "Actor (optional)" : : "NPC Target" - - StartDisabled(boolean) : "Start Disabled" : 1 - - MinimumState(choices) : "Minimum state" : 1 = - [ - 1 : "Idle" - 2 : "Alert" - 3 : "Combat" - ] - - MaximumState(choices) : "Maximum state" : 3 = - [ - 1 : "Idle" - 2 : "Alert" - 3 : "Combat" - ] - - ScriptStatus(choices) : "Actor is running a script?" : 2 = - [ - 0 : "No" - 1 : "Yes" - 2 : "Don't care" - ] - - RequiredTime(float) : "Required Time" : 0 : "Duration of time that all the conditions must be true" - MinTimeout(float) : "Minimum time out" : 0 : "Minimum time before OnConditionsTimeout is fired. 0 = never expire." - MaxTimeout(float) : "Maximum time out" : 0 : "Maximum time before OnConditionsTimeout is fired. 0 = ignore (If you don't specify a Maximum timeout, conditions will time out at exactly Minimum Time Out. If you DO specify a Maximum time out, timeout will occur randomly between Minimum and Maximum time out values.)" - - ActorSeePlayer(choices) : "Actor Sees Player" : 2 = - [ - 0 : "No" - 1 : "Yes" - 2 : "Don't care" - ] - - PlayerActorProximity(float) : "Player distance" : 0 : "The distance the player must/must not be to the actor. Negative values for NOT, 0 for ignore." - PlayerActorFOV(float) : "Player FOV for Actor " : 360 : "Specify angle of view cone in degrees. Negative value = NOT" - PlayerActorFOVTrueCone(choices ) : "Play FOV to Actor is a true view cone" : 0 : "Player's view cone is evaluated as a true cone, not pie slice " = - [ - 0 : "No - Tall pie slice" - 1 : "Yes - True view cone" - ] - - PlayerActorLOS(choices) : "Player has LOS to Actor" : 2 : "Checks that the player has clear Line of Sight to the Actor" = - [ - 0 : "No" - 1 : "Yes" - 2 : "Don't care" - ] - - - target(target_destination) : "Target (Optional)" : : "Optional entity to include in conditions" - ActorSeeTarget(choices) : "Actor Sees Target" : 2 = - [ - 0 : "No" - 1 : "Yes" - 2 : "Don't care" - ] - - ActorTargetProximity(float) : "Target distance" : 0 : "The distance the actor must/must not be to the Target. Negative values for NOT, 0 for ignore." - PlayerTargetProximity(float) : "Player distance from Target" : 0 : "The distance the player must/must not be to the Target. Negative values for NOT, 0 for ignore." - PlayerTargetFOV(float) : "Player FOV for Target" : 360 : "Specify angle of view cone in degrees. Negative value = NOT" - PlayerTargetFOVTrueCone(choices) : "Play FOV to Target is a true view cone" : 0 : "Player's view cone is evaluated as a true cone, not pie slice " = - [ - 0 : "No - Tall pie slice" - 1 : "Yes - True view cone" - ] - - PlayerTargetLOS(choices) : "Player has LOS to Target" : 2 : "Checks that the player has clear Line of Sight to the Target" = - [ - 0 : "No" - 1 : "Yes" - 2 : "Don't care" - ] - - PlayerBlockingActor(choices) : "Player blocking Actor" : 2 : "Checks that the player is blocking the Actor's path" = - [ - 0 : "No" - 1 : "Yes" - 2 : "Don't care" - ] - - ActorInPVS(choices) : "Actor in Player's PVS" : 2 : "Checks that the actor is in the player's PVS" = - [ - 0 : "No" - 1 : "Yes" - 2 : "Don't care" - ] - - ActorInVehicle(choices) : "Actor in a vehicle" : 2 : "Checks the actor's state in a vehicle" = - [ - 0 : "No" - 1 : "Yes" - 2 : "Don't care" - ] - - PlayerInVehicle(choices) : "Player in a vehicle" : 2 : "Checks the player's state in a vehicle" = - [ - 0 : "No" - 1 : "Yes" - 2 : "Don't care" - ] - - spawnflags(Flags) = - [ - 1 : "Fire outputs with the Actor as Activator" : 0 - ] - - // Inputs - input Enable(void) : "Enable this entity" - input Disable(void) : "Disable this entity" - - // Outputs - output OnConditionsSatisfied(void) : "Fires when AI conditions satisfied" - output OnConditionsTimeout(void) : "Fires when AI conditions timed out" - output NoValidActor(void) : "Fires if/when there are no matching actors in the map." -] - -@PointClass base(BaseScripted, Angles, SystemLevelChoice) studio("models/editor/scriptedsequence.mdl") sphere(m_flRadius) = scripted_sequence : - "Grabs an NPC and makes them play a specified set of animations. The NPC can be told to move to the scripted sequence position or can "+ - "be told to play the script wherever they currently are. "+ - "Multiple scripted sequences of the same name will frame-synchronize in the action animation once all the actors have moved to position. "+ - "This allows tight interaction between actors (one actor grabbing another, hitting them, etc.) The flow is as follows:\n\n"+ - "1) Move to position using the specified movement animation. If 'Move to Position' is set to NONE, skip to step 2.\n"+ - "2) If forced to wait for another actor to move to position, play the pre-action idle animation, otherwise skip to step 3. If there is no pre-action idle specified, ACT_IDLE is used.\n"+ - "3) Fire the OnBeginSequence output.\n"+ - "4) Play the action animation. If no action animation is specified, skip to step 5.\n"+ - "5) Play the post-action idle animation. If none is specified, skip to step 6. If the 'Loop in Post Idle' spawnflag is set, keep playing the post-action idle until the script is cancelled. If no post-action idle animation is specified, ACT_IDLE is used.\n"+ - "6) Fire the OnEndSequence output.\n"+ - "7) If a next script to play is specified, hand the NPC to the next script and repeat this process for that script.\n\n"+ - "The MoveToPosition input runs steps 1 and 2, then waits while playing the pre-action idle animation until the BeginSequence input is received.\n\n"+ - "If the sequence has motion extraction in it, set the 'Don't Teleport NPC On End' spawnflag." -[ - spawnflags(Flags) = - [ - 4 : "Repeatable" : 0 - 8 : "Leave Corpse" : 0 - 16 : "Start on Spawn" : 0 - 32: "No Interruptions" : 0 - 64: "Override AI" : 0 - 128: "Don't Teleport NPC On End" : 0 - 256: "Loop in Post Idle" : 0 - 512: "Priority Script" : 0 - 4096: "Allow actor death" : 0 - ] - - - onplayerdeath(choices) : "On player death" : 0 : "What should this entity do if the player dies" = - [ - 0 : "Do Nothing" - 1 : "Cancel Script and return to AI" - ] -] - - -@PointClass base(Targetname) sphere(m_flRadius) color(255 0 255) iconsprite("editor/aiscripted_schedule") = aiscripted_schedule : - "Issues a command to an NPC without taking the NPC out of its AI. This does not seize control of the NPC as " + - "a scripted_sequence does" -[ - m_iszEntity(target_destination) : "Target NPC" : : "The name or classname of an NPC to use." - m_flRadius(integer) : "Search Radius (0=everywhere)" : 0 : "Radius to search within for an NPC to use. 0 searches everywhere." - - graball(boolean) : "All in radius" : 0: "Whether to grab all matching NPCs in the specified radius, instead of just one" - - spawnflags(Flags) = - [ - 4 : "Repeatable" : 1 - 1024 : "Search Cyclically" : 0 - 2048 : "Don't Complain" : 0 - ] - - forcestate(choices) : "AI state to set" : 0 = - [ - 0 : "" - 1 : "Set state to IDLE" - 2 : "Set state to ALERT" - 3 : "Set state to COMBAT" - ] - - schedule(choices) : "Schedule to run" : 1 = - [ - 0 : "" - 1 : "Walk to Goal Entity" - 2 : "Run to Goal Entity" - 3 : "Set enemy to Goal Entity" - 4 : "Walk Goal Path" - 5 : "Run Goal Path" - 6 : "Set enemy to Goal Entity AND Run to Goal Entity" - ] - - interruptability(choices) : "Interruptability" : 0 = - [ - 0 : "General" - 1 : "Damage or Death" - 2 : "Death" - ] - - goalent(target_destination) : "Goal entity" : : "Provides the name of a schedule-specific goal entity (see 'Schedule to run')" - - // Inputs - input StartSchedule(void) : "Starts the scripted schedule. This will first locate an NPC that " + - "matches the given target, then tell the NPC to run the specified schedule." -] - -//------------------------------------------------------------------------- -// -// Solid Entities -// -//------------------------------------------------------------------------- - -@SolidClass base(Parentname, Targetname, Global) = func_vehicleclip: "Vehicle Clip" -[ - input Kill( void ) : "Removes this entity from the world" - input Enable( void ) : "Enable collisions with vehicles" - input Disable( void ) : "Disable collisions with vehicles" -] - -@SolidClass base(func_movelinear) = func_lookdoor : "A door that moves either when looked by a targeted object or when " + - "a target object comes near the door. Behavior can be either based on viewing direction or proximity " + - "alone, or on a combination of both. If inverted the doors behavior will be the opposite." -[ - spawnflags(flags) = - [ - 8192 : "LookDoor Threshold" : 0 - 16384 : "LookDoor Invert" : 0 - 32768 : "LookDoor From Open" : 0 - ] - - ProximityDistance(string) : "Proximity Distance" : "0.0" : "If non-zero, proximity range over which door will move" - ProximityOffset(string) : "Proximity Offset" : "0.0" : "Offset from the target object" - FieldOfView(string) : "FieldOfView" : "0.0" : "If non-zero, field of view over which door will move" - - // Input - input InvertOn(void) : "InvertOn - when set behavior of door is inverted." - input InvertOff(void) : "InvertOff - when set behavior of door is normal." -] - -//------------------------------------------------------------------------- -// -// Point Entities -// -//------------------------------------------------------------------------- - -//------------------------------------------------------------------------- -// -// Tanks -// -//------------------------------------------------------------------------- -@BaseClass base(Targetname, Parentname, Origin, Angles, RenderFields, Global, Shadow) = BaseTank -[ - spawnflags(flags) = - [ - 1 : "Active" : 0 - 16: "Only Direct" : 0 - 32: "Controllable" : 0 - 64: "Damage Kick" : 0 - 1024: "NPC Controllable" : 0 - 2048: "NPC Set Controller" : 0 - 4096: "Allow friendlies to hit player" : 0 - 32768: "Non-solid." : 0 - 131072: "Perfect accuracy every 3rd shot at player" : 0 - ] - - control_volume(target_destination) : "Control Volume" : "" : "Name of a trigger the specifies the volume in which a player must be to control this tank." - - // Mainly for use with 1009 team settings (game_team_master) - master(string) : "(Team) Master" - - yawrate(string) : "Yaw rate" : "30" - yawrange(string) : "Yaw range" : "180" - yawtolerance(string) : "Yaw tolerance" : "15" - pitchrate(string) : "Pitch rate" : "0" - pitchrange(string) : "Pitch range" : "0" - pitchtolerance(string) : "Pitch tolerance" : "5" - barrel(string) : "Barrel Length" : "0" - barrely(string) : "Barrel Horizontal" : "0" - barrelz(string) : "Barrel Vertical" : "0" - spritesmoke(sprite) : "Smoke Sprite" : "" - spriteflash(sprite) : "Flash Sprite" : "" - spritescale(string) : "Sprite scale" : "1" - rotatestartsound(sound) : "Rotate Start Sound" : "" - rotatesound(sound) : "Rotate Loop Sound" : "" - rotatestopsound(sound) : "Rotate Stop Sound" : "" - firerate(string) : "Rate of Fire" : "1" - bullet_damage(string) : "Damage Per Bullet" : "0" : "If set to 0, it'll use the base weapon bullet's damage." - bullet_damage_vs_player(string) : "Damage Per Bullet Vs Player" : "0" : "If set to 0, it'll use the Damage Per Bullet value." - persistence(string) : "Firing persistence" : "1" : "(Seconds) How long to keep firing at last known position after lose sight of target" - persistence2(string) : "Firing persistence2" : "0" : "(Seconds) After lost enemy and persistence time has passed, how long to occasionally fire at enemy's last known position" - firespread(choices) : "Bullet accuracy" : 0 = - [ - 0: "Perfect Shot" - 1: "Small cone" - 2: "Medium cone" - 3: "Large cone" - 4: "Extra-large cone" - ] - minRange(string) : "Minmum target range" : "0" - maxRange(string) : "Maximum target range" : "0" - _minlight(string) : "Minimum light level" - - gun_base_attach(string) : "Gun Base Attachment" : "" : "If Parent is specified, this is the attachment point on the parent to aim from." - gun_barrel_attach(string) : "Gun Barrel Attachment" : "" : "If Parent is specified, this is the attachment point on the parent to fire from. If you specify this, you'll want to specify the Gun Base Attachment too." - gun_yaw_pose_param(string) : "Gun Yaw Pose Param" : "" : "If Parent + the Gun Pitch Pose Param is specified, then the gun itself will be invisible and the func_tank will steer a gun on the parent using the pose parameters." - gun_yaw_pose_center(float) : "Gun Yaw Pose Center" : "0" : "The center yaw pose parameter of the gun on the parent" - gun_pitch_pose_param(string) : "Gun Pitch Pose Param" : "" : "If Parent + the Gun Yaw Pose Param is specified, then the gun itself will be invisible and the func_tank will steer a gun on the parent using the pose parameters." - gun_pitch_pose_center(float) : "Gun Pitch Pose Center" : "0" : "The center pitch pose parameter of the gun on the parent" - - ammo_count(integer) : "Ammunition Count" : -1 : "Only applies to player use. -1 = unlimited ammo." - - LeadTarget(boolean) : "Lead Target" : "No" - - npc_man_point(target_destination) : "NPC Man Point" : "" : "Point where NPC must stand to man this func_tank." - playergraceperiod(float) : "Post-NPC Attack Grace Period" : "0" : "If specified, NPC's manning this func tank won't fire at the player, after firing at a non-player, for this amount of time." - ignoregraceupto(float) : "Ignore Grace Upto" : "768" : "The player grace period is ignored if the player's under this distance from the func_tank." - playerlocktimebeforefire(float) : "Player Lock Time" : "0" : "The tank must have the player as a target for this amount of time before it's allowed to fire." - - effecthandling(choices) : "Effect Handling" : 0 = - [ - 0 : "Use Individual Settings." - 1 : "AR2" - 2 : "Combine Cannon" - ] - - // Inputs - input Activate(void) : "Turn the tank on" - input Deactivate(void) : "Turn the tank off (go dormant)" - input SetFireRate(string) : "How fast to fire (0 = don't fire)" - input SetDamage(string) : "Set the Damage Per Bullet" - input SetTargetPosition(string) : "World position that I should aim at" - input SetTargetDir(vector) : "Direction to aim at." - input SetTargetEntityName(target_destination) : "Name of entity I should follow/attack" - input SetTargetEntity(string) : "Entity I should follow/attack (output from other entity only)" - input ClearTargetEntity(void) : "Clear the entity I should be attacking." - input FindNPCToManTank(string) : "Find a nearby NPC to man this func_tank." - input StartFindingNPCs(void) : "Start searching for NPCs to man this func_tank." - input StopFindingNPCs(void) : "Stop searching for NPCs to man this func_tank." - input ForceNPCOff(void) : "Force the NPC manning this func_tank (if any) to leave." - input SetMaxRange(float) : "Set the max range of the func_tank." - - // Outputs - output OnFire(void) : "Fires when the tank fires its bullets" - output OnAquireTarget(void) : "Fires when target is newly in range and can be shot" - output OnLoseTarget(void) : "Fires when when target goes out of range" - output OnAmmoDepleted(void) : "Fires when tank runs out of ammo" - output OnGotController(void) : "Fires when an NPC starts to control this tank. Players do NOT fire this input." - output OnLostController(void) : "Fires when the NPC controller of the tank stops controlling it. Players do NOT fire this input." - output OnGotPlayerController(void) : "Fires when a Player starts to control this tank. NPCs do NOT fire this input." - output OnLostPlayerController(void) : "Fires when the Player controller of the tank stops controlling it. NPCs do NOT fire this input." - output OnReadyToFire(void) : "Fires once when the tank is done waiting to fire between rounds" -] - - -// dvs: FIXME: put this back once we have an episodic FGD -//@SolidClass base(BaseTank) = func_tank : "Brush Gun Turret" -//[ -// bullet(choices) : "Bullets" : 0 = -// [ -// 0: "None" -// 1: "Pistol" -// 2: "SMG1" -// 3: "AR2" -// 4: "Laser" -// ] -// -// spawnflags(flags) = -// [ -// 8192: "Ignore range when making viewcone checks" : 0 -// 256 : "Aiming Assistance (Player Only)" : 0 -// ] -//] - - -// dvs: FIXME: move into an episodic FGD -@SolidClass base(BaseTank) = func_tank : "Brush Gun Turret" -[ - ammotype(choices) : "Ammo type" : "" = - [ - "" : "None" - "Pistol" : "Pistol" - "SMG1" : "SMG1" - "AR2" : "AR2" - "CombineHeavyCannon" : "Combine Heavy Cannon" - ] - - spawnflags(flags) = - [ - 8192: "Ignore range when making viewcone checks" : 0 - 256 : "Aiming Assistance (Player Only)" : 0 - ] -] - -//------------------------------------------------------------------------- -// -// Items -// -//------------------------------------------------------------------------- -@BaseClass color(0 0 200) base(Targetname, Angles, Shadow) sphere(fademindist) sphere(fademaxdist) = Item -[ - output OnPlayerTouch(void) : "Fires when the player touches this object" - - output OnCacheInteraction(void) : "This output fires when the player proves they have 'found' this item. Fires on: Player Touch (whether or not player actually acquires the item), Picked up by +USE, Picked up by Physcannon, Punted by Physcannon." - - fademindist(float) : "Start Fade Dist/Pixels" : -1 : "Distance at which the prop starts to fade (<0 = use fademaxdist). If 'Screen Space Fade' is selected, this represents the number of pixels wide covered by the prop when it starts to fade." - fademaxdist(float) : "End Fade Dist/Pixels" : 0 : "Maximum distance at which the prop is visible (0 = don't fade out). If 'Screen Space Fade' is selected, this represents the *minimum* number of pixels wide covered by the prop when it fades." - fadescale(float) : "Fade Scale" : 1 : "If you specify a fade in the worldspawn, or if the engine is running under dx7, then the engine will forcibly fade out props even if fademindist/fademaxdist isn't specified." + - " This scale factor gives you some control over the fade. Using 0 here turns off the forcible fades." - - spawnflags(Flags) = - [ - 1 : "Start Constrained" : 0 - ] -] - -//------------------------------------------------------------------------- -// -// Weapons -// -//------------------------------------------------------------------------- -@BaseClass color(0 0 200) base(Targetname, Angles) sphere(fademindist) sphere(fademaxdist) = Weapon -[ - spawnflags(Flags) = - [ - 1 : "Start constrained" : 0 - 2 : "Deny player pickup (reserve for NPC)" : 0 - 4 : "Not puntable by Gravity Gun" : 0 - ] - - output OnPlayerUse(void) : "Fires when the player +uses this weapon" - output OnPlayerPickup(void) : "Fires when the player picks up this weapon" - output OnNPCPickup(void) : "Fires when an NPC picks up this weapon" - output OnCacheInteraction(void) : "Fires when the player 'proves' they've found this weapon. Fires on: Player Touch, +USE pickup, Physcannon pickup, Physcannon punt." - - fademindist(float) : "Start Fade Dist/Pixels" : -1 : "Distance at which the prop starts to fade (<0 = use fademaxdist). If 'Screen Space Fade' is selected, this represents the number of pixels wide covered by the prop when it starts to fade." - fademaxdist(float) : "End Fade Dist/Pixels" : 0 : "Maximum distance at which the prop is visible (0 = don't fade out). If 'Screen Space Fade' is selected, this represents the *minimum* number of pixels wide covered by the prop when it fades." - fadescale(float) : "Fade Scale" : 1 : "If you specify a fade in the worldspawn, or if the engine is running under dx7, then the engine will forcibly fade out props even if fademindist/fademaxdist isn't specified." + - " This scale factor gives you some control over the fade. Using 0 here turns off the forcible fades." -] - -@SolidClass base(Trigger) = trigger_vphysics_motion : - "A volumetric trigger that affects the motion of vphysics objects that touch it." -[ - spawnflags(Flags) = - [ - 4096 : "Can move (through hierarchical attachment)" : 0 - ] - - StartDisabled(boolean) : "Start Disabled" : 0 - - filtername(filterclass) : "Filter Name" : : "Filter to use to see if activator triggers me. See filter_activator_name for more explanation." - - SetGravityScale(float) : "Gravity Scale" : "1.0" : "Scale gravity of objects in the field by this amount." - input SetGravityScale(float) : "Scale gravity of objects in the field." - - SetAdditionalAirDensity(float) : "Additional air density for drag" : "0" - input SetAdditionalAirDensity(float) : "Additional air density for drag" - - SetVelocityLimit(float) : "Velocity Limit" : "0.0" : "Max velocity in field (0 disables)" - input SetVelocityLimit(float) : "Max velocity in field." - - SetVelocityLimitDelta(float) : "Velocity Limit Force" : "0.0" : "Max amount to reduce velocity per second when it exceeds the velocity limit (0 disables)" - input SetVelocityLimitDelta(float) : "Max amount to reduce velocity per second" - - input SetVelocityLimitTime(string) : "Accepts two arguments: the first is the new velocity limit, the second is the time it takes to ramp to that value" - - SetVelocityScale(float) : "Velocity scale/drag" : "1.0" - input SetVelocityScale(float) : "Velocity scale/drag" - - SetAngVelocityLimit(float) : "Angular Velocity Limit" : "0.0" : "Max angular velocity in field (degrees/s, 0 disables)" - input SetAngVelocityLimit(float) : "Max angular velocity in field." - - SetAngVelocityScale(float) : "Angular Velocity scale/drag" : "1.0" - input SetAngVelocityScale(float) : "Angular Velocity scale/drag" - - SetLinearForce(float) : "Linear force" : "0.0" : "Amount of force to apply while in the trigger (0 disables)" - input SetLinearForce(float) : "Linear force (0 disables)" - - SetLinearForceAngles(angle) : "Force Direction": "0 0 0": "Direction of linear force (Pitch Yaw Roll or Y Z X)" -// input SetLinearForceAngles(angle) : "Direction of linear force (Pitch Yaw Roll (Y Z X))" - - ParticleTrailMaterial(material) : "Particle Trail Material" : : "Name of a material to use for the particle trail, no name means no particle trail" - ParticleTrailLifetime(float) : "Particle Trail Lifetime" : 4 : "Lifetime of the particles to emit" - ParticleTrailStartSize(float) : "Particle Trail Starting Sprite Size" : 2 : "Starting size of the sprite to emit" - ParticleTrailEndSize(float) : "Particle Trail Ending Sprite Size" : 3 : "Ending size of the sprite to emit" - - // Inputs - input Enable(void) : "Enable the trigger." - input Disable(void): "Disable the trigger." - input Toggle(void) : "Toggle the trigger on or off." -] - -@PointClass base(Targetname, Angles) size(16 16 16) line(255 255 255, targetname, target) color(247 181 82) = path_corner : "Generic path point" -[ - spawnflags(Flags) = - [ - 1: "Wait for retrigger" : 0 - 2: "Teleport to THIS path_corner" : 0 - ] - target(target_destination) : "Next stop target" - wait(integer) : "Wait here (secs)" : 0 - speed(integer) : "New Train Speed" : 0 - yaw_speed(integer) : "New Train rot. Speed" : 0 - - // Inputs - input SetNextPathCorner(target_destination) : "Sets next pathcorner" - - // Outputs - output OnPass(void) : "Fires when a path follower passes this point" -] - -//------------------------------------------------------------------------- -// -// Player effects -// -//------------------------------------------------------------------------- - -@PointClass base(Targetname) size(-8 -8 -8, 8 8 8) = player_loadsaved : "Load Auto-Saved game" -[ - duration(string) : "Fade Duration (seconds)" : "2" - holdtime(string) : "Hold Fade (seconds)" : "0" - renderamt(integer) : "Fade Alpha" : 255 - rendercolor(color255) : "Fade Color (R G B)" : "0 0 0" - loadtime(string) : "Reload delay" : "0" - - // Inputs - input Reload(void) : "Ends this game and reloads" -] - - -@PointClass base(Targetname) iconsprite("editor/player_weaponstrip.vmt") = player_weaponstrip : "Strips player's weapons" -[ - // Inputs - input Strip(void) : "Strip player's weapons" - input StripWeaponsAndSuit(void) : "Strip player's weapons and his suit" -] - -@PointClass base(Targetname) iconsprite("editor/player_speedmod.vmt") = player_speedmod: "Speeds up or slows down player velocity over time (slow mo/fast forward)" -[ - spawnflags(Flags) = - [ - 1: "Suppress weapons" : 0 - 2: "Suppress HUD" : 0 - 4: "Suppress jump" : 0 - 8: "Suppress duck" : 0 - 16: "Suppress use" : 0 - 32: "Suppress sprint" : 0 - 64: "Suppress attack" : 0 - 128: "Suppress zoom" : 0 - ] - - // Inputs - input ModifySpeed(float) : "Modifies player speed by X ammount." -] - - - -//------------------------------------------------------------------------- -// -// Logic Entities -// -//------------------------------------------------------------------------- -@PointClass - base(Targetname) - color(240 180 250) iconsprite("editor/choreo_scene.vmt") - line(240 180 250, targetname, target1) - line(240 180 250, targetname, target2) - line(240 180 250, targetname, target3) - line(240 180 250, targetname, target4) - line(240 180 250, targetname, target5) - line(240 180 250, targetname, target6) - line(240 180 250, targetname, target7) - line(240 180 250, targetname, target8) = logic_choreographed_scene : - "Manages a choreographed scene of one or more actors." - -[ - // Keys - SceneFile(scene) : "Scene file" : "" : "The scene that will play when this entity is triggered." - - message(sound) : "[H] Sound" : "" : "Use to allow keeping the sound name when switching between ambient_generic and logic_choreographed_scene." - - // Links - target1(target_destination) : "Target 1" - target2(target_destination) : "Target 2" - target3(target_destination) : "Target 3" - target4(target_destination) : "Target 4" - target5(target_destination) : "Target 5" - target6(target_destination) : "Target 6" - target7(target_destination) : "Target 7" - target8(target_destination) : "Target 8" - - busyactor(choices) : "If an Actor is talking..." : 1 : "What to do if an actor this scene needs is already talking when this scene is told to start." = - [ - 0: "Start immediately" - 1: "Wait for actor to finish" - 2: "Interrupt at next interrupt event" - 3: "Cancel at next interrupt event" - ] - - // Inputs - input Start(void) : "Starts playback of the scene file" - input Pause(void) : "Pauses playback of the scene file" - input Resume(void) : "Resumes playback of the scene if it has been paused" - input Cancel(void) : "Cancels playback of the scene" - input CancelAtNextInterrupt(void) : "Cancels playback of the scene at the next interrupt event in the scene." - input PitchShift(float) : "Multiplies the the pitch" - - input InterjectResponse(string) : "Finds an actor who can respond to the specified concept string while the scene continues playing" - - input StopWaitingForActor(void) : "Stop waiting on an actor to stop talking." - - // Outputs - output OnStart(void) : "The scene has started" - output OnCompletion(void) : "The scene has completed" - output OnCanceled(void) : "The scene has been canceled" - output OnTrigger1(void) : "Scene trigger 1" - output OnTrigger2(void) : "Scene trigger 2" - output OnTrigger3(void) : "Scene trigger 3" - output OnTrigger4(void) : "Scene trigger 4" - output OnTrigger5(void) : "Scene trigger 5" - output OnTrigger6(void) : "Scene trigger 6" - output OnTrigger7(void) : "Scene trigger 7" - output OnTrigger8(void) : "Scene trigger 8" - output OnTrigger9(void) : "Scene trigger 9" - output OnTrigger10(void) : "Scene trigger 10" - output OnTrigger11(void) : "Scene trigger 11" - output OnTrigger12(void) : "Scene trigger 12" - output OnTrigger13(void) : "Scene trigger 13" - output OnTrigger14(void) : "Scene trigger 14" - output OnTrigger15(void) : "Scene trigger 15" - output OnTrigger16(void) : "Scene trigger 16" - - input SetTarget1(target_destination) : "Set Target 1" - input SetTarget2(target_destination) : "Set Target 2" - input SetTarget3(target_destination) : "Set Target 3" - input SetTarget4(target_destination) : "Set Target 4" - - onplayerdeath(choices) : "On player death" : 0 : "What should this entity do if the player dies" = - [ - 0 : "Do Nothing" - 1 : "Cancel Script and return to AI" - ] -] - -@PointClass - base(Targetname) - color(240 180 250) iconsprite("editor/choreo_manager.vmt") - line(240 180 250, targetname, scene0) - line(240 180 250, targetname, scene1) - line(240 180 250, targetname, scene2) - line(240 180 250, targetname, scene3) - line(240 180 250, targetname, scene4) - line(240 180 250, targetname, scene5) - line(240 180 250, targetname, scene6) - line(240 180 250, targetname, scene7) - line(240 180 250, targetname, scene8) - line(240 180 250, targetname, scene9) - line(240 180 250, targetname, scene10) - line(240 180 250, targetname, scene11) - line(240 180 250, targetname, scene12) - line(240 180 250, targetname, scene13) - line(240 180 250, targetname, scene14) - line(240 180 250, targetname, scene15) - = logic_scene_list_manager : - "Manages a list of logic_choreographed_scene entities. Store choreo scenes in them in order that they will be played by other inputs. Whenever a scene plays, the manager will remove all scenes before that one in the list. The name of another logic_scene_list_manager can be entered in a slot instead of an invididual scene, which will cause all scenes in that manager to be removed when a later scene in this list is played." -[ - scene0(target_destination) : "Scene 1" : "" : "The name of a logic_choreographed_scene, or logic_scene_list_manager." - scene1(target_destination) : "Scene 2" : "" : "The name of a logic_choreographed_scene, or logic_scene_list_manager." - scene2(target_destination) : "Scene 3" : "" : "The name of a logic_choreographed_scene, or logic_scene_list_manager." - scene3(target_destination) : "Scene 4" : "" : "The name of a logic_choreographed_scene, or logic_scene_list_manager." - scene4(target_destination) : "Scene 5" : "" : "The name of a logic_choreographed_scene, or logic_scene_list_manager." - scene5(target_destination) : "Scene 6" : "" : "The name of a logic_choreographed_scene, or logic_scene_list_manager." - scene6(target_destination) : "Scene 7" : "" : "The name of a logic_choreographed_scene, or logic_scene_list_manager." - scene7(target_destination) : "Scene 8" : "" : "The name of a logic_choreographed_scene, or logic_scene_list_manager." - scene8(target_destination) : "Scene 9" : "" : "The name of a logic_choreographed_scene, or logic_scene_list_manager." - scene9(target_destination) : "Scene 10" : "" : "The name of a logic_choreographed_scene, or logic_scene_list_manager." - scene10(target_destination) : "Scene 11" : "" : "The name of a logic_choreographed_scene, or logic_scene_list_manager." - scene11(target_destination) : "Scene 12" : "" : "The name of a logic_choreographed_scene, or logic_scene_list_manager." - scene12(target_destination) : "Scene 13" : "" : "The name of a logic_choreographed_scene, or logic_scene_list_manager." - scene13(target_destination) : "Scene 14" : "" : "The name of a logic_choreographed_scene, or logic_scene_list_manager." - scene14(target_destination) : "Scene 15" : "" : "The name of a logic_choreographed_scene, or logic_scene_list_manager." - scene15(target_destination) : "Scene 16" : "" : "The name of a logic_choreographed_scene, or logic_scene_list_manager." - - // Inputs - input Shutdown(void) : "Remove the manager and all scenes referenced by it (and all scenes referenced by logic_scene_list_manager's embedded in this one)." -] - -@PointClass base(Targetname, Parentname) sphere(volume) iconsprite("editor/ai_sound.vmt") = ai_sound : - "This entity makes sounds or smells that can be sensed by NPCs, butnot by the player. This can be used " + - "to cause reactions in nearby NPCs.\n\n" + - "Sound Types\n" + - " Combat: Will cause most NPCs to become alert\n" + - " World: Will cause most NPCs to become alert\n" + - " Danger: Will cause most NPCs to move away from the position of the sound\n" + - " Bullet Impact: \n" + - " Carcass: \n" + - " Meat: \n" + - " Garbage: \n" + - " Thumper: causes antlions to run away briefly\n" + - " Readiness: (Low, Medium, High) Causes player companions that can hear this sound to change readiness\n" -[ - //input InsertSound(Integer) : "THIS IS NOW OBSOLETE. Use InsertAISound" - input EmitAISound(void) : "Make the sound." - - volume(integer) : "Volume" : 120 : "How far away this sound can be heard. This is a radius." - duration(float) : "Duration" : "0.5" : "How long the sound persists each time you insert it." - - soundtype(choices) : "Sound Type" : 0 : "The type of sound or smell will determine the reaction of NPCs that sense it." = - [ - 0: "Select one" - 1: "Combat" - 2: "World" - //4: "Player (Don't use)" - 8: "Danger" - 16: "Bullet Impact" - 32: "Carcass" - 64: "Meat" - 128: "Garbage" - 256: "Thumper" - 4096: "Move Away - Most NPCs will clear the radius of this sound when heard." - 16384 : "Readiness - Low" - 32768 : "Readiness - Medium" - 65536 : "Readiness - High" - ] - - soundcontext(choices) : "Additional sound context (optional)" : 0 : "Optional settings specifying such things as who can or cannot hear the sound." = - [ - 0 : "Select one" - 8388608 : "Only Combine hear" - 67108864 : "Combine cannot hear" - ] - - locationproxy(target_destination) : "Location Proxy" : "" : "The name of an entity to use as a proxy to determine the location at which to make the sound. If you specify an entity here, the sound will be made at that entity's location (!player included)" -] - -@PointClass base(Targetname, Parentname) iconsprite("editor/ts2do/env_ar2explosion.vmt") = env_ar2explosion : - "AR2 explosion visual effect. Big, volume-filling brown cloud. Does not cause damage or emit sound." -[ - input Explode(Void) : "Make the explosion effect." - material(material) : "Particle Material" : "particle/particle_noisesphere" : "The material to use for each particle in the explosion." -] - -@PointClass base(Targetname) iconsprite("editor/ts2do/env_starfield.vmt")= env_starfield : "Starfield effect" -[ - input TurnOn(void) : "Turn on" - input TurnOff(void) : "Turn off" - input SetDensity(float) : "Set the density of the starfield. It's a multiplier, so 1 is the default." -] - -@PointClass size( -4 -4 -4, 4 4 4 ) base(Targetname, Parentname, Angles) = env_flare : "Flare" -[ - scale(float) : "Scale" : 1 - duration(float) : "Duration" : 30 - - spawnflags(Flags) = - [ - 1 : "No DLight" : 0 - 2 : "No Smoke" : 0 - 4 : "Infinite" : 0 - 8 : "Start off" : 0 - ] - - input Start(float) : "Starts the flare burning. The flare will burn for the specified number of seconds (0 = infinite)." - input Die(float) : "Causes the flare to fade out over the specified number of seconds, and then die (0 = die instantly)." - input Launch(float) : "Launch the flare forward with the specified speed." -] - -@PointClass base(Targetname, Parentname, Angles) size( -4 -4 -4, 4 4 4 ) iconsprite("editor/env_muzzleflash.vmt") = env_muzzleflash : "Muzzle Flash" -[ - parentattachment(string) : "Parent Attachment" : "" : "The name of an attachment on the parent to hierarchically attach to." - scale(float) : "Scale" : "1" : "Size of the muzzle flash." - - input Fire(void) : "Fires the effect once." -] - -@PointClass base(Targetname, Parentname) size(-4 -4 -4, 4 4 4) color(0 180 0) = env_terrainmorph : - "Morphs terrain by pulling vertices along a normal.\n\n" + - "Place this entity the desired distance from a terrain surface and set ANGLES " + - "to the normal along which you want to pull the surface's vertices. If you set the INSTANT spawnflag, " + - "the morph will take place instantly instead of over time.\n" -[ - startradius( integer ) : "Start Radius" : 500 : "Radius of the effect when morphing begins. Only this value is used" + - "if the effect is flagged to occur instantly." - goalradius( integer ) : "Goal Radius" : 100 : "Radius of the effect at the end of morphing. The radius of this effect will change from "+ - "Start Radius to Goal Radius over the duration of this effect. This value is ignored if the effect is flagged to occur instantly." - - duration( integer ) : "Duration" : 3 : "The morph will take place over this period of time (seconds). Ignored if flagged to occur instantly" - - fraction( integer ) : "Displacement Fraction" : 1 : "If set to 1, the terrain surface will be pulled exactly to this entity's position." + - " If set to 0.5, the surface will be pulled exactly half way to this entity's position. " + - "If set to 2, the surface will be pulled to an imaginary point twice as far away as this entity. " + - "(Any Displacement Fraction greater than 1.0 will result in clipping. The surface cannot be pulled beyond " + - "This entity's position and any vertices attemping will clip to this entity's position. You may use this feature to create mesas.)" - - // Inputs - input BeginMorph(void) : "Begin Morph" - - spawnflags(flags) = - [ - 1: "Instant" : 0 - ] -] - -@PointClass base(Targetname, EnableDisable) = logic_achievement : - "Sends an achievement system related event from the map to the achievement system." -[ - //keyvalues - achievementname(string) : "Achievement Name" : "" - // Inputs - input Toggle(void) : "Toggle the relay between enabled and disabled." - input FireEvent(void) : "Tells the achievement system the specifed event has occured." - input SetTargetPlayer(target_destination) : "Set the player who will be awarded this achievement." - - // Outputs - output OnFired(void) : "When the event fires, this fires." -] - - -//------------------------------------------------------------------------- -// -// Camera/monitor entities -// -//------------------------------------------------------------------------- -@PointClass base(Targetname, Parentname, Angles) studioprop("models/editor/camera.mdl") = point_camera : "Camera" -[ - spawnflags(Flags) = - [ - 1 : "Start Off" : 0 - ] - - FOV(float) : "FOV" : 90 : "Field of view in degrees" -// resolution(float) : "resolution" : 256 : "width/height of the render target for the camera" - UseScreenAspectRatio(boolean) : "Screen Aspect Ratio" : 0 - fogEnable(boolean) : "Fog Enable" : 0 - fogColor(color255) : "Fog Color" : "0 0 0" - fogStart(float) : "Fog Start" : 2048 : "The near fog plane." - fogEnd(float) : "Fog End" : 4096 : "The far fog/clipping plane." - fogMaxDensity(float) : "Fog Max Density [0..1]" : 1 : "The maximum fog density. 0=no fog, 1=full fog." - - // Inputs - input ChangeFOV(string) : "Changes camera's FOV over time" - input SetOnAndTurnOthersOff(void) : "Turn the camera on, and turn all other cameras off." - input SetOn(void) : "Turn the camera on." - input SetOff(void) : "Turn the camera off." -] - -@SolidClass base(func_brush) line(255 255 0, targetname, target) = func_monitor : - "A monitor that renders the view from a given point_camera entity." -[ - target(target_destination) : "Camera name" - - // Inputs - input Toggle(void) : "Toggle - If on, turn off, if off, turn on." - input Enable(void) : "Enable." - input Disable(void) : "Disable." - input SetCamera(target_destination) : "Sets the camera to use for this monitor. Takes the name of a point_camera entity in the map." -] - -//------------------------------------------------------------------------- -// -// Vehicles. -// -//------------------------------------------------------------------------- -@BaseClass base(Targetname, Origin, Global, prop_static_base) = BaseVehicle -[ - vehiclescript(string) : "Vehicle Script File" : "scripts/vehicles/jeep_test.txt" - actionScale(float) : "Scale of action input / framerate" : "1" - - // Inputs - input Action(float) : "Set the speed of the action animation" - - input TurnOn(void) : "Turn on: Start engine & enable throttle" - input TurnOff(void) : "Turn off: Stop engine, disable throttle, engage brakes." - - input Lock(void) : "Prevent the player from entering or exiting the vehicle." - input Unlock(void) : "Re-allow the player to enter or exit the vehicle." -] - - -@BaseClass base(BaseVehicle) = BaseDriveableVehicle -[ - VehicleLocked(boolean) : "Start locked" : 0 - - // Outputs - output PlayerOn(void) : "Player entered the vehicle" - output PlayerOff(void) : "Player exited the vehicle" - - output PressedAttack(void) : "Player Pressed attack key" - output PressedAttack2(void) : "Player Pressed attack2 key" - - output AttackAxis(string) : "State of attack button [0,1]" - output Attack2Axis(string) : "State of attack2 button [0,1]" - - // Inputs - input HandBrakeOn(void) : "Turns the handbrake on" - input HandBrakeOff(void): "Releases the handbrake" -] - -@PointClass base(BaseVehicle) studioprop() = prop_vehicle : - "Studiomodel vehicle that can be driven via inputs." -[ - // Inputs - input Steer(float) : "Steer the vehicle +/-1" - input Throttle(float) : "Throttle +/-1" - - spawnflags(flags) = - [ - 1 : "Always Think (Run physics every frame)" : 0 - ] -] - - -@PointClass base(BaseDriveableVehicle) studioprop() = prop_vehicle_driveable : - "Generic driveable studiomodel vehicle." -[ -] - -@PointClass base(BaseDriveableVehicle) studioprop() = vehicle_viewcontroller : - "Vehicle hack to control player view" -[ - input ForcePlayerIn(string) : "Force the player into the vehicle. The animation to use can be specified in the parameter. Without a parameter, the player just teleports." - input ForcePlayerOut(void) : "Force the player out of the vehicle." -] - -@PointClass base(BaseSpeaker) iconsprite("editor/ambient_generic.vmt") = env_speaker : "Announcement Speaker" -[ -] - -//------------------------------------------------------------------------- -// Script entities -//------------------------------------------------------------------------- - -@PointClass base(Targetname) iconsprite("editor/ts2do/script_intro.vmt") = script_intro : "Script: Custom entity used to handle the intro sequence." -[ - // Inputs - input Activate(void) : "Take control of the player's view and start blending the two scenes." - input Deactivate(void) : "Stop controlling the view." - input SetCameraViewEntity(string) : "Set the viewpoint to blend with the player's viewpoint." - input SetBlendMode(integer) : "Set the blending mode to use." - input SetFOV(integer) : "Set the fov for the second camera." - input SetNextFOV(integer) : "Set the FOV to blend to over time. Follow this with a SetFOVBlendTime input to start the fov blend." - input SetFOVBlendTime(float) : "Set the amount of time it should take to blend to the next fov target, and start blending." - input SetNextBlendMode(integer) : "Set the blending mode to blend to over time. Follow this with a SetNextBlendTime input to start the mode blend." - input SetNextBlendTime(float) : "Set the amount of time it should take to blend to the next mode, and start blending." - input FadeTo(string) : "Fade to a specific alpha amount of an amount of time. Parameters: " - input SetFadeColor(string) : "Set the fade color. Parameters: " - - alternatefovchange(boolean) : "Match env_zoom's FOV transition" : 0 : "Whether the script should match env_zoom's FOV transition." -] - -//------------------------------------------------------------------------- -// -// Special effects -// -//------------------------------------------------------------------------- - -@PointClass base(Angles,Targetname,Parentname) studio("models/editor/cone_helper.mdl") = env_citadel_energy_core : "Special effect for the Unstationary Scaffold. Appears as a blue-white sphere with streams of energy coming from the direction the entity is pointing." -[ - spawnflags(Flags) = - [ - 1 : "No small particles" : 0 - 2 : "Start on" : 0 - ] - - scale(float) : "Scale" : 1 : "Scale of the effect. 1 is the default size, 2 is twice that, etc." - - // Inputs - input StartCharge(float) : "Start charging the core over specified number of seconds." - input StartDischarge(void) : "Switch to discharging the core." - input Stop(float) : "Stops the effect over the specified number of seconds." -] - -//------------------------------------------------------------------------- -// Countdown timer for the teleporter at the end of the game -//------------------------------------------------------------------------- - -@PointClass base(Targetname) iconsprite("editor/info_target.vmt") = info_teleporter_countdown : "Countdown timer for the teleporter. The status of the teleporter will appear on vgui_screen entities whose panel is 'teleport_countdown_screen'." -[ - // Inputs - input StartCountdown(float) : "Starts the teleporter countdown. Requires an argument which is the number of seconds for the countdown." - input StopCountdown(void) : "Stops the countdown permanently" - input Disable(void) : "Pauses the countdown due to a temporary malfunction. A warning sign will appear on the linked vgui screens." - input Enable(void) : "Restarts the countdown since the malfunction is finished." -] - - - -@PointClass base(BaseDriveableVehicle, Parentname) color(240 180 250) studioprop() = prop_vehicle_choreo_generic : - "Generic Choreo vehicle used for magical events." -[ - model(studio) : "World model" : "models/vehicles/prisoner_pod.mdl" - vehiclescript(string) : "Vehicle Script File" : "scripts/vehicles/choreo_vehicle.txt" - - input Open(void) : "Plays the vehicle's open animation and unlocks the vehicle for entry or exit." - input Close(void) : "Plays the vehicle's close animation and locks the vehicle for entry or exit." - input EnterVehicle(void) : "Forces the activator (or player) into the vehicle." - input EnterVehicleImmediate(void) : "Forces the activator (or player) into the vehicle without enter/exit animations." - input ExitVehicle(void) : "Boots the prisoner out of the vehicle." - input Viewlock(bool) : "Set true to prevent Gordon from looking around *at all*. Set false to let him look within limits." - input SetAnimation(string) : "Force the prop to play an animation. The parameter should be the name of the animation." - input SetCanShoot(bool) : "Set if the driver can shoot their weapon." - input SetMaxPitch(float) : "Set max pitch for driver." - input SetMinPitch(float) : "Set min pitch for driver." - input SetMaxYaw(float) : "Set max yaw for driver." - input SetMinYaw(float) : "Set min yaw for driver." - input UseAttachmentEyes(bool) : "Force the view to use the attachment's orientation and position and don't blend in the player's look." - - output OnOpen(void) : "Fired when the vehicle is open enough to enter." - output OnClose(void) : "Fired when the vehicle too closed to enter." - - ignoremoveparent(boolean) : "Ignore Move Parent on Exit" : 0 : "Should the player ignore this vehicle's move parent went performing exit checks." - - ignoreplayer(boolean) : "Ignore Player collision" : 0 : "The player wont collide against this vehicle when moving around." - playercanshoot(boolean) : "Can the player shoot" : 0 : "Lets the player shoot their weapon while in the vehicle" - useattachmenteyes(boolean) : "Use attachment eyes" : 0 : "Should the driver's view use the attachment's orientation and not blend in the player's look." -] - -@FilterClass base(BaseFilter) iconsprite("editor/filter_pellet.vmt") = filter_combineball_type : - "A filter that filters by combine ball type." -[ - balltype(choices) : "Ball Type" : 1 : "HEPs validate all settings." = - [ - 0 : "Not Thrown (in combine ball field, etc)" - 2 : "Thrown/Launched by the player's physcannon" - 3 : "Launched by point_combine_ball_launcher" - ] -] - -@PointClass base(Targetname) -iconsprite("editor/env_particles.vmt") -line(255 255 255, targetname, target) = env_entity_dissolver: "Fizzles the target entity." -[ - input Dissolve(string) : "Dissolve target, if no target is passed it'll use the target specified in the target field." - target(target_destination) : "Target to Dissolve" : "" : "Targetname of the entity you want to dissolve." - - magnitude(integer) : "Magnitude" : 250 : "How strongly to push away from the center." - - - dissolvetype(choices) : "Dissolve Type" : "Energy": "The type of effect to use." = - [ - 0 : "Empancipation" - //1 : "Heavy electrical" - //2 : "Light electrical" - 3 : "Vanish, with fizzler ash particles" - ] -] - -@PointClass base(Targetname, Angles, Angles, RenderFields) studio("models/props_combine/coreball.mdl") = prop_coreball: "Legacy version of prop_scalable, which forces a specific model." -[ - input SetScaleX(vector) : "Scales the coreball in one Axis. Params: