diff --git a/base.fgd b/base.fgd index 89368f5..8c54086 100644 --- a/base.fgd +++ b/base.fgd @@ -1,4 +1,4 @@ -//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. ======= +//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. ======= // // Purpose: General game definition file (.fgd) // @@ -61,6 +61,7 @@ input CreateSeparateRagdoll(void) : "Creates a separate serverside ragdoll at this entity's origin." input CreateSeparateRagdollClient(void) : "Creates a separate clientside ragdoll at this entity's origin." input SetLightingOrigin(target_destination) : "Sets this entity's lighting origin." // Was this really not in the FGD before? + input SetLightingOriginHack(target_destination) : "Offsets the entity's lighting origin by their distance from an info_lighting_relative." //added by vizzys, idk if it works tbh input SetPoseParameter(string) : "Sets the specified pose parameter to the specified value (e.g. ''aim_yaw 45'')." // Outputs @@ -90,8 +91,8 @@ // Inputs input DisableShadow(void) : "Turns shadow off." input EnableShadow(void) : "Turns 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)." + input DisableReceivingFlashlight(void) : "This object will not receive light or shadows from projected textures (flashlights)." + input EnableReceivingFlashlight(void) : "This object may receive light or shadows from projected textures (flashlights)." input AlternativeSorting(bool) : "Used to attempt to fix sorting problems when rendering. True activates, false deactivates" input SetModelScale(string) : "Takes two values separated by a space. The first is the target model scale. The second value is the number of seconds the change in scale will be spread over." input SetBodyGroup(integer) : "Sets this model's body group (from 0 - n). You'd better know what you are doing!" @@ -116,7 +117,7 @@ input RunScriptCodeQuotable(string) : "Execute a string of script source code which converts double apostrophes ('') to quotation marks for strings" input CallScriptFunction(string) : "Call a named function from this entity's Activation Script" input ClearScriptScope(void) : "Clears this entity's script scope" - + input DispatchEffect(string) : "Dispatch an effect from the entity's origin. See developer.valvesoftware.com/wiki/List_of_Client_Effects for a list of effects. Not all of those work." //added by vizzys // Inputs input Kill(void) : "Removes this entity from the world." @@ -150,8 +151,8 @@ input SetLocalVelocity(vector) : "Sets this entity's current velocity." input SetLocalAngularVelocity(vector) : "Sets this entity's current angular velocity." - input AddSpawnFlags(integer) : "Adds spawnflag(s) to this entity. Many spawnflags have their respective numbers suffixed in this FGD." - input RemoveSpawnFlags(integer) : "Removes spawnflag(s) from this entity. Many spawnflags have their respective numbers suffixed in this FGD." + input AddSpawnFlags(integer) : "Adds spawnflag(s) to this entity. Many spawnflags have their respective numbers prefixed in this FGD." + input RemoveSpawnFlags(integer) : "Removes spawnflag(s) from this entity. Many spawnflags have their respective numbers prefixed in this FGD." input AddSolidFlags(integer) : "Adds solid flags to this entity." input RemoveSolidFlags(integer) : "Removes solid flags from this entity." @@ -234,10 +235,10 @@ 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" + 5: "Slow Fade Away (from another mode)" + 6: "Fast Fade Away (from another mode)" + 7: "Slow Become Solid (from another mode)" + 8: "Fast Become Solid (from another mode)" 14: "Constant Glow" 15: "Distort" 16: "Hologram (Distort + fade)" @@ -264,14 +265,15 @@ rendermode(choices) : "Render Mode" : 0 : "Used to set a non-standard rendering mode on this entity. See also 'FX Amount' and 'FX Color'. Most of these are only used by sprites." = [ 0: "Normal" - 1: "Color" + 1: "Color (May fix render order issues)" 2: "Texture" 3: "Glow" 4: "Solid" 5: "Additive" - 7: "Additive Fractional Frame" + 7: "Additive Fractional Frame (must be animated)" + 8: "Alpha Add" 9: "World Space Glow" - 10: "Dont Render" + 10: "Don't Render (Invisible)" ] 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." @@ -370,7 +372,7 @@ [ 0 : "Off" 1 : "On" - 2 : "Dead" + 2 : "Dead (permanent, can NEVER be put back to Off or On)" ] counter(integer) : "Counter" : 0 : "An integer counter value associated with this global." @@ -429,19 +431,19 @@ 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 EnablePhyscannonPickup(void) : "Makes the breakable able to picked up by the Gravity Gun." + input DisablePhyscannonPickup(void) : "Makes the breakable not able to picked up by the Gravity Gun." 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." + output OnPhysCannonDetach(void) : "Fired when the Gravity Gun 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 Gravity Gun-pull activity, caused by the player trying to grab this prop with the Gravity Gun. 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 Gravity Gun-pull activity, caused by the player trying to grab this prop with the Gravity Gun. 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 Gravity Gun-pull activity, caused by the player trying to grab this prop with the Gravity Gun. 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 Gravity Gun-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 @@ -492,13 +494,13 @@ 1: "Wood" 2: "Metal" 3: "Flesh" - 4: "CinderBlock" - 5: "Ceiling Tile" - 6: "Computer" + 4: "CinderBlock (concrete)" + 5: "Ceiling Tile (wood gibs)" + 6: "Computer (wood gibs)" 7: "Unbreakable Glass" 8: "Rocks" // 9: "Web(defunct)" - 10: "None" + 10: "None (wood gibs)" ] explosion(choices) : "Gibs Direction" : 0 : "Used to decide which direction to throw gibs when broken." = [ @@ -592,7 +594,7 @@ target(target_destination) : "Target Path Corner" : : "If set, the name of a path corner entity that this NPC will walk to, after spawning." squadname(String) : "Squad Name" : : "NPCs that are in the same squad (i.e. have matching squad names) will share information about enemies, take turns attacking and covering each other, etc. Squads work differently from NPC to NPC and some don't support them by default." hintgroup(String) : "Hint Group" : "" : "Hint groups are used by NPCs to restrict their hint 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(choices) : "Hint Limit Nav" : 0 : "Limits NPC to using its specified hint group for navigation requests, but does not limit local navigation." = + hintlimiting(choices) : "Hint Limit Nav" : 0 : "Limits NPC to using it's specified hint group for navigation requests, but does not limit local navigation." = [ 0 : "No" 1 : "Yes" @@ -604,26 +606,26 @@ 2 : "[2] Gag (No IDLE sounds until angry)" : 0 4 : "[4] Fall to ground (unchecked means *teleport* to ground)" : 1 8 : "[8] Drop Healthkit (drops health vial on death)" : 0 - 16 : "[16] Efficient - Don't acquire enemies or avoid obstacles" : 0 + 16 : "[16] Efficient (Don't acquire enemies or avoid obstacles)" : 0 128 : "[128] Wait For Script" : 0 - 256 : "[256] Long Visibility/Shoot" : 0 + 256 : "[256] Long Visibility/Shoot (NPC tries to do extreme long range combat)" : 0 512 : "[512] Fade Corpse" : 1 1024 : "[1024] Think outside PVS (allows AI to stay active outside of combat and PVS)" : 0 2048 : "[2048] Template NPC (used by npc_maker, will not spawn; NOT used by point_template)" : 0 4096 : "[4096] Do alternate collision/player avoidance (largely obsolete, use Start/StopScripting)" : 0 8192 : "[8192] Don't drop weapons" : 0 - 16384 : "[16384] Ignore player push (dont give way to player)" : 0 + 16384 : "[16384] Ignore player push (Don't 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" + 0 : "None (Immediately wake)" + 1 : "Waiting for threat (Wake from damage, or if NPC visible to player, or can hear a danger sound and see it)" + 2 : "Waiting for PVS (Wake up when this NPC enters the player's PVS)" + 3 : "Waiting for input, ignore PVS (Only wake from Wake input)" + 4 : "Auto PVS (Wake when this NPC enters player's PVS, go back to sleep when not in PVS)" + 5 : "Auto PVS after PVS (Start awake, but switch to Auto PVS after leaving PVS for the first time)" ] wakeradius(float) : "Wake Radius" : 0 : "Auto-wake if player within this distance" @@ -778,7 +780,7 @@ spawnflags(Flags) = [ // Only in npc__maker, npc_template_maker uses flag from template NPC - 16 : "[16] Fade Corpse" : 0 + 16 : "[16] Fade Corpse (Set automatically if Infinite Children is set)" : 0 32 : "[32] Infinite Children" : 0 64 : "[64] Do Not Drop" : 0 128 : "[128] Don't Spawn While Visible" : 0 @@ -787,6 +789,7 @@ 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." + ignoreentity(target_destination) : "Entity To Ignore" : : "If set, an entity to ignore when checking if there's room to spawn." //added by vizzys // Outputs output OnSpawnNPC(ehandle) : "Fired when an NPC is spawned. The activator is the NPC, and the parameter is a pointer to the NPC." @@ -805,7 +808,7 @@ input SetSpawnFrequency(float) : "Sets how often (in seconds) a new NPC will be spawned." ] -@PointClass base(BaseNPCMaker) iconsprite("editor/npc_maker.vmt") sphere(Radius) sphere(MinSpawnDistance) = npc_template_maker : +@PointClass base(BaseNPCMaker) iconsprite("editor/npc_maker.vmt") sphere(Radius) sphere(MinSpawnDistance) line(0 128 0, targetname, TemplateName) line(255 16 16, targetname, ignoreentity) = 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) = @@ -844,7 +847,7 @@ @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." + InitialSpeed(float) : "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." AllowAnyDamage(Choices) : "Allows any damage" : 0 : "Allows this NPC to take any amount of any type of damage, including bullet or melee damage. This is supposed to allow this NPC to be taken down in a previously impossible way and should be used with an actual damage filter." = @@ -859,21 +862,24 @@ 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 SetTrack(target_destination) : "Set a track for the helicopter to adhere to. The helicopter will do nothing if it's on the same path, and will move to the closest point on the specified track if it's on a different path." + input FlyToSpecificTrackViaPath(target_destination) : "The helicopter will first fly to the closest point on the path if it's on a different path. Then it'll fly along the path to the specified track point." + input FlyToPathTrack(target_destination) : "The helicopter will fly to the given path_track." //added by vizzys + input InputStartLeading(integer) : "Starts leading enemy vehicles with the specified distance." //added by vizzys + input InputStopLeading(void) : "Stops leading enemy vehicles." //added by vizzys 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 StopPatrol(void) : "Stop patrolling back and forth along the track. This will cause the helicopter to come to rest at the track which it'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." + input StartBreakableMovement(void) : "The helicopter is now allowed to disobey direct commands to go to particular points if it senses an enemy. It will move to the closest point (or farthest point, if ChooseFarthestPathPoint is used), on the path if it senses an enemy." + input StopBreakableMovement(void) : "The helicopter can not disobey direct commands. It will continue to fly along it's patrol path or to it's specified target even if it senses an enemy." spawnflags(Flags) = [ // AWAIT INPUT will make the helicopter spawn disabled, awaiting // the "Activate" input to start acting. 32 : "[32] No Rotorwash" : 0 - 64 : "[64] Await Input" : 0 + 64 : "[64] Await Input (NPC waits for the Activate input to begin flying)" : 0 ] ] @@ -911,14 +917,15 @@ 8 : "Candle C" 4 : "Fast strobe" 9 : "Slow strobe" + 12 : "Underwater light mutation" ] 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." + _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 parameters." _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." + _hardfalloff(integer) : "Hard falloff" : 0 : "If set, causes lights to fall to exactly zero beyond the zero percent distance. May cause unrealistic lighting if not used carefully." // Inputs input TurnOn(void) : "Turn the light on." input TurnOff(void) : "The the light off." @@ -943,7 +950,7 @@ [ 0 : "None" - 2: "World: Window" + 2: "World: Window (Point of interest for scanners)" 12: "World: Act Busy Hint" 13: "World: Visually Interesting" 14: "World: Visually Interesting (Don't aim at)" @@ -1050,7 +1057,7 @@ [ 1: "[1] Clients" : 1 2: "[2] NPCs" : 0 - 4: "[4] Pushables": 0 + 4: "[4] Pushables (Deprecated)": 0 8: "[8] Physics Objects" : 0 8192: "[8192] Items (weapons, items, projectiles)" : 0 16: "[16] Only player ally NPCs" : 0 @@ -1159,7 +1166,7 @@ [ ] -@PointClass base(Targetname, Parentname) iconsprite("editor/ambient_generic.vmt") sphere(radius) = ambient_generic : "Universal ambient sound. Use it to play and control a single sound." +@PointClass base(Targetname, Parentname) iconsprite("editor/ambient_generic.vmt") sphere(radius) line(0 128 0, targetname, SourceEntityName) = ambient_generic : "Universal ambient sound. Use it to play and control a single sound." [ message(sound) : "Sound Name" : "" : "Name of the GameSound entry for the sound to play. Also supports direct .wav filenames." health(integer) : "Volume" : 10 : "Sound volume, expressed as a range from 0 to 10, where 10 is the loudest." @@ -1190,7 +1197,7 @@ 22: "Random pitch fast" 23: "Incremental Spinup" 24: "Alien" - 25: "Bizzare" + 25: "Bizarre" 26: "Planet X" 27: "Haunted" ] @@ -1245,6 +1252,11 @@ 0: "Solid" 1: "Nonsolid" ] + vrad_brush_cast_shadows(choices) : "Shadows" : 0 : "Set this if this brush casts lightmap shadows." = + [ + 0 : "No" + 1 : "Yes" + ] ] @PointClass base(Targetname) frustum(FOV,4,250,250 250 250,-1) = env_zoom : @@ -1294,7 +1306,7 @@ // 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." + input SwitchOverlay(float) : "Switch to displaying a specific overlay. Pass in the desired overlay number in the parameter. Entering -1 as the value will cause the current overlay to display indefinitely." ] @PointClass base(Targetname) = env_screeneffect : @@ -1302,22 +1314,22 @@ [ type(choices) : "Effect Type" : 0 : "Which effect to use." = [ - 0 : "Advisor Stun" - 1 : "Intro Blur" - 2 : "Groggy Vision" + 0 : "Advisor Stun (Pulsating sideways blur)" + 1 : "Intro Blur (Radial blur with trailing effects)" + 2 : "Groggy Vision (Blurry objects, white screen)" 100 : "Chromatic Blur (Mapbase)" 101 : "Chromatic Aberration (Mapbase)" ] // Inputs input StartEffect(float) : "Start the effect with the duration in seconds as the passed parameter." - input StopEffect(float) : "Stop the effect." + input StopEffect(float) : "Fade out the effect out over this many seconds." ] -@PointClass base(Targetname) = env_texturetoggle : +@PointClass base(Targetname) line(255 255 0, targetname, target) = env_texturetoggle : "An entity that allows you to change the textures on other brush-built entities." [ - target(target_destination) : "Target Brush(es)." + target(target_destination) : "Target Brush(es)" : : "Name of the entities. All ToggleTexture materials on all entities (including sprites) matching the targetname will be affected." // Inputs input IncrementTextureIndex(void) : "Increments target brush's current texture frame by one." @@ -1339,7 +1351,7 @@ ] ] -@PointClass base(Parentname) color(180 10 180) = env_particlelight : +@PointClass base(Parentname) color(180 10 180) line(200 200 200, targetname, psname) = 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." @@ -1354,7 +1366,7 @@ 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(255 0 0) = env_sun : +@PointClass base(Targetname, Angles) color(255 0 0) line(0 128 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." @@ -1436,7 +1448,7 @@ ] ] -@PointClass base(Targetname, Parentname, Angles) color(255 255 255) = env_smokestack : +@PointClass base(Targetname, Parentname, Angles) color(255 255 255) 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." [ //targetname(target_source) : "Name" : : "The name that other entities refer to this entity by." @@ -1456,13 +1468,13 @@ 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(string) : "Particle material" : "particle/SmokeStack.vmt" : "Material of the smoke particles emitted by this stack." + 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 + renderamt(integer) : "Alpha" : 255 // Inputs input TurnOn(void) : "Turn on the smokestack." @@ -1472,6 +1484,8 @@ 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." + input Alpha(integer) : "Sets the alpha (0 - 255)" //added by vizzys + input Color(color255) : "Sets the color (R G B)" //added by vizzys ] @PointClass base(Targetname) iconsprite("editor/env_fade") = env_fade : @@ -1479,10 +1493,10 @@ [ spawnflags(flags) = [ - 1: "[1] Fade From" : 0 - 2: "[2] Modulate" : 0 + 1: "[1] Fade From (Screen fades from the specified color instead of to it)" : 0 + 2: "[2] Modulate (Uses attenuation blending to fade. 0 255 0 would mute red/blue, making a nightvision effect)" : 0 4: "[4] Triggering player only" : 0 - 8: "[8] Stay Out" : 0 + 8: "[8] Stay Out (Fade remains indefinitely until another fade deactivates it)" : 0 16: "[16] Don't purge other active fades" : 0 ] duration(string) : "Duration (seconds)" : "2" : "The time that it will take to fade the screen in or out." @@ -1492,6 +1506,8 @@ // Inputs input Fade(void) : "Start the screen fade." + input Alpha(integer) : "Changes fade Alpha (0 - 255)" //added by vizzys + input Color(color255) : "Changes the fade Color (R G B)" //added by vizzys // Outputs output OnBeginFade(void) : "Fired when the fade has begun." @@ -1509,7 +1525,7 @@ 86 : "Vent" 71 : "Grate" 84 : "Tile" - 83 : "Slosh" + 83 : "Slosh (Surfaceprop must be 'water' or 'slime'.)" 87 : "Wood" 80 : "Computer" 89 : "Glass" @@ -1603,7 +1619,7 @@ // TODO: Allow specifying radius within with you must be in order to +use to get on the ladder ] -@PointClass base(Parentname) size( -16 -16 0, 16 16 4 ) color(255 128 255)= info_ladder_dismount : +@PointClass base(Parentname) size( -16 -16 0, 16 16 4 ) color(255 128 255) line(0 128 0, targetname, target) = info_ladder_dismount : "An entity to handle endpoints for multiple ladders that are too close to each other." [ target(target_destination) : "LadderName" : : "If multiple ladders are near multiple endpoints, use this to stop them from interfering with each other." @@ -1673,20 +1689,21 @@ 1 : "Yes" ] - solidbsp(choices) : "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." = + solidbsp(choices) : "Solid BSP" : 0 : "Set this if this brush is in hierarchy with a moving object of some kind, and the player can stand on this brush." = [ 0 : "No" 1 : "Yes" ] vrad_brush_cast_shadows(choices) : "Shadows" : 0 : "Set this if this brush casts lightmap shadows." = [ - 0 : "No" - 1 : "Yes" + 0 : "No static shadow" + 1 : "Yes, Cast static shadow" ] input Alpha(integer) : "Sets the brush's alpha value." input SetExcluded( target_destination ) : "Change the NPC class excluded from collisions" - input SetInvert( integer ) : "Set the state of invversion for NPC class exclusion (0 or 1)" + input SetInvert( integer ) : "Set the state of inversion for NPC class exclusion (0 or 1)" + input Toggle(void) : "Toggles the enabled state of the entity." //added by vizzys ] //------------------------------------------------------------------------- @@ -1698,7 +1715,7 @@ @BaseClass base(Targetname, Parentname, Angles) = vgui_screen_base [ panelname(string) : "Panel Name" - overlaymaterial(string) : "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." + 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" : 32 : "Width of the panel in units." height(integer) : "Panel Height in World" : 32 : "Height of the panel in units." @@ -1731,7 +1748,7 @@ nolistrepeat(choices) : "No List Repeat" : 0 = [ 0 : "Allow List Repeats" - 1 : "No List Repeats" + 1 : "No List Repeats (Skip to next unused frame on the list)" ] width(integer) : "Panel width" : 256 : "Width of the panel in units." @@ -1765,7 +1782,7 @@ 1 : "Yes" ] - muted(choices) : "Mute Movie" : 1 = + muted(choices) : "Mute Movie Sound?" : 1 = [ 0 : "No" 1 : "Yes" @@ -1786,8 +1803,8 @@ // //------------------------------------------------------------------------- -@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." +@PointClass base(Targetname, Parentname, Angles, RenderFxChoices, RenderFields, Shadow) studio() = cycler : + "An entity used to display a model for testing purposes. Shooting it will cycle through the model's animations." [ spawnflags(flags) = [ @@ -1797,9 +1814,12 @@ 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." + modelscale(float) : "Model scale" : "1.0" : "Set the size of the model as it is to appear in-game" // Inputs input SetSequence(string) : "Sets the cycler's sequence." + input SetModelScale(float) : "Set model scale for the prop" //added by vizzys + input SetBodyGroup(integer) : "Sets this model's body group (from 0 - n). You'd better know what you are doing!" //added by vizzys ] //------------------------------------------------------------------------- @@ -1818,27 +1838,27 @@ 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." + 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 : "[1] Repeatable" : 0 + 1 : "[1] Repeatable (Otherwise, remove itself after firing.)" : 0 ] // Inputs input Shoot(void) : "Force the gibshooter to create and shoot a gib." ] -@PointClass base(Targetname, RenderFxChoices) size(-4 -4 -4, 4 4 4) line(255 255 255, targetname, LightningStart, targetname, LightningEnd) = env_beam : +@PointClass base(Targetname, RenderFxChoices, Parentname) size(-4 -4 -4, 4 4 4) line(255 255 255, targetname, LightningStart, targetname, LightningEnd) = 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" : 256 : "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." + life(float) : "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-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 beam." + texture(sprite) : "Sprite Name" : "sprites/laserbeam.vmt" : "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." @@ -1915,9 +1935,9 @@ ] @SolidClass base(Targetname, Parentname, Angles) = env_embers : - "An entity used to create a volume in which to spawn fire embers." + "It spawns fire embers within its volume. No more than 2048 sprites will appear at once. If it goes over this limit, it will temporarily stop spawning. The approximate number of sprites at any given time can be found by multiplying Density by Particle Lifetime. (The final number depends on a few other variables, including the size of the brush.)" [ - particletype(choices) : "Ember type" : 0 = + particletype(choices) : "Ember type (Obsolete)" : 0 = [ 0 : "Normal" 1 : "Smooth Fade" @@ -1932,8 +1952,9 @@ spawnflags(Flags) = [ 1 : "[1] Start On" : 0 - 2 : "[2] Toggle" : 0 + 2 : "[2] Toggle (If left off, only one Use input will ever be accepted.)" : 0 ] + input Color(color255) : "Changes the Color (R G B) that new sprites will spawn with." //added by vizzys ] @PointClass base(Targetname, Parentname) size(-16 -16 -16, 16 16 16) = env_funnel : @@ -1968,9 +1989,9 @@ 4: "[4] On Player" : 0 8: "[8] Spray decals" : 0 // dvs: support these flags - //16: "[16] Cloud" : 0 - //32: "[32] Drops" : 0 - //64: "[64] Gore" : 0 + 16: "[16] Cloud (emits larger cloud of blood)" : 0 //added by vizzys + 32: "[32] Drops (splashes large blood drops)" : 0 //added by vizzys + 64: "[64] Gore (similar to Cloud but smaller)" : 0 //added by vizzys ] // Inputs @@ -2003,7 +2024,8 @@ 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" + DamageForce(float) : "Damage Force" : 0 : "Overrides push force. BUG: Very obvious disparity between force applied to players and force applied to physics objects." //added by vizzys + fireballsprite(sprite) : "Fireball Sprite" : "sprites/zerogxplode.vmt" rendermode(choices) : "Render Mode" : 5 = [ 0: "Normal" @@ -2025,8 +2047,8 @@ 1024: "[1024] No DLights" : 0 2048: "[2048] Don't clamp Min" : 0 4096: "[4096] Don't clamp Max" : 0 - 8192: "[8192] Damage above surface only" : 0 - 16384: "[16384] Generic damage" : 0 + 8192: "[8192] Damage above water surface only" : 0 + 16384: "[16384] Generic damage (Do DMG_GENERIC damage)" : 0 ] ignoredEntity(target_destination) : "Ignored Entity" : : "Do not harm or affect the named entity." @@ -2036,7 +2058,7 @@ input SetIgnoredEntity(target_destination) : "Sets the ignored entity." ] -@PointClass base(Targetname, Parentname) color(200 50 0) size(-8 -8 -8, 8 8 8) = env_smoketrail : +@PointClass base(Targetname, Parentname) sphere(spawnradius) color(200 50 0) size(-8 -8 -8, 8 8 8) = env_smoketrail : "An entity that creates a smoke trail." [ opacity(float) : "Sprite Opacity" : "0.75" : "Opacity of the sprites (range from 0 - 1)." @@ -2053,11 +2075,11 @@ 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" + firesprite(sprite) : "Fire Sprite" : "sprites/firetrail.vmt" + smokesprite(sprite) : "Smoke Puff" : "sprites/whitepuff.vmt" ] -@PointClass base(Targetname, Parentname) sphere(radius) sphere(inner_radius) sphere(radius) iconsprite("editor/env_physexplosion.vmt") = env_physexplosion : +@PointClass base(Targetname, Parentname) sphere(radius) sphere(inner_radius) sphere(radius) iconsprite("editor/env_physexplosion.vmt") line(255 255 0, targetname, targetEntityName) = 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." @@ -2068,9 +2090,9 @@ [ 1 : "[1] No Damage - Only Force" : 1 2 : "[2] Push players" : 0 - 4 : "[4] Push radially - not as a sphere" : 0 - 8 : "[8] Test LOS before pushing" : 0 - 16 : "[16] Disorient player if pushed" : 0 + 4 : "[4] Push radially (Not as a sphere, as a cylinder. No upward or downward force will be generated.)" : 0 + 8 : "[8] Test LOS before pushing (Otherwise, the force will travel through solid things.)" : 0 + 16 : "[16] Disorient player if pushed (Jostles view significantly.)" : 0 ] inner_radius(float) : "Inner radius" : "0" : "If not zero, the LOS is calculated from a point intersecting this sphere." @@ -2096,7 +2118,7 @@ 1: "[1] No fall-off" : 0 2: "[2] Infinite Length" : 0 4: "[4] Ignore Mass" : 0 - 8: "[8] Ignore Surface Normal When Applying Force" : 1 + 8: "[8] Ignore Surface Normal When Applying Force (more predictable movement in some circumstances)" : 1 ] // Inputs @@ -2106,13 +2128,13 @@ // This has been disabled until it can be reimplemented, destroyed, or renamed - jdw //@PointClass base(Targetname, Parentname) size(-4 -4 -4, 4 4 4) = env_splash : -// "Can be used to create either a spash effect or a stream of falling or spurting liquid." + +// "Can be used to create either a splash effect or a stream of falling or spurting liquid." + // "Will create a splash decal on the collided surface the same color as the liquid" //[ // spawnrate(float) : "SpawnRate" : "10" : "How many particles some out" // startcolor(color255) : "StartColor" : "100 100 100" : "Color of particles when the are emitted" // endcolor(color255) : "EndColor" : "240 110 0" : "Color that particles approach" -// speed(float) : "Speed" : 3 : "Averate speed of an emitted particles" +// speed(float) : "Speed" : 3 : "Average speed of an emitted particles" // speedrange(float) : "SpeedRange" : 1 : "Speed range of an emitted particles" // widthmin(float) : "WidthMin" : 2 : "Width of smallest particle emitted" // widthmax(float) : "WidthMax" : 8 : "Width of largest particle emitted" @@ -2134,7 +2156,7 @@ // input TurnOff(void) : "Turns particles off" //] -@PointClass base(Targetname, Parentname, EnableDisable) iconsprite("editor/env_fire") color(0 180 0) = env_fire : +@PointClass base(Targetname, Parentname, EnableDisable) iconsprite("editor/env_fire") color(0 180 0) 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." @@ -2206,7 +2228,7 @@ output OnHeatLevelEnd(void) : "Fires when the heat level drops below the target level." ] -@PointClass base(Targetname) size(-4 -4 -4, 4 4 4) color(0 180 0) = env_entity_igniter : +@PointClass base(Targetname) size(-4 -4 -4, 4 4 4) color(0 180 0) line(255 128 0, targetname, target) = 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." @@ -2222,6 +2244,7 @@ // Inputs input SetStartDist(float) : "Set the fog start distance." input SetEndDist(float) : "Set the fog end distance." + input SetMaxDensity(float) : "Set the max density, 0 to 1" //added by vizzys input TurnOn(void) : "Turn the fog on." input TurnOff(void) : "Turn the fog off." input SetColor(color255) : "Set the primary fog color." @@ -2276,7 +2299,7 @@ 1 : "[1] Emissive" : 0 ] - InitialState(choices) : "Initial State" : 0 = + InitialState(choices) : "Start Enabled" : 0 = [ 0 : "Off" 1 : "On" @@ -2294,10 +2317,10 @@ 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" + rendercolor(color255) : "Color (R G B)" : "60 65 68" : "Color of the steam. Only has an effect if the Emissive flag is on." 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 + rollspeed(float) : "Spin Speed" : 8 : "How fast do the particles spin." // Inputs input TurnOn(void) : "Turns the steam jet on." @@ -2307,17 +2330,20 @@ 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." + input Alpha(integer) : "Sets the translucency (0 - 255)" //added by vizzys + input Color(color255) : "Sets the color (R G B), only used if Emissive flag is set." //added by vizzys ] @PointClass base(Targetname, Parentname, RenderFxChoices) size(-4 -4 -4, 4 4 4) line(255 255 255, targetname, LaserTarget) = env_laser : - "An entity that creates a laser beam between itself and a given target." + "An entity that creates a laser beam between itself and a given target. The main difference between this entity and env_beam is that a laser will not travel through anything solid. If the laser doesn't cause damage, make sure the origin is not inside anything solid. If your env_laser doesn't have a targetname it will automatically be turned on when the map starts." [ + BoltWidth(float) : "Width of beam" : 2 : "Radius of the beam (i.e. 1 = 2 world units total thickness)." //added by vizzys 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." + texture(sprite) : "Sprite Name" : "sprites/laserbeam.vmt" : "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." @@ -2342,6 +2368,10 @@ input TurnOff(void) : "Turns the laser off." input Toggle(void) : "Toggles the laser between on and off." input SetTarget(target_destination) : "Sets the laser's target." + input Noise(float) : "Set the noise of the beam" //added by vizzys + input ColorRedValue(float) : "Sets the red color channel's value (0 - 255)." //added by vizzys + input ColorGreenValue(float) : "Sets the green color channel's value (0 - 255)." //added by vizzys + input ColorBlueValue(float) : "Sets the blue color channel's value (0 - 255)." //added by vizzys // Outputs output OnTouchedByEntity(void) : "Fired when an entity touches the laser. Please note this fires for each frame the entity is touching, unlike env_beam." @@ -2397,7 +2427,7 @@ 1: "[1] GlobalShake" : 0 //2: "[2] Disrupt player control" : 0 // doesn't work 4: "[4] In Air" : 0 // shakes objects even if they are not onground - 8: "[8] Physics" : 0 // shakes physically as well as the camera + 8: "[8] Physics Objects" : 0 // shakes physically as well as the camera 16: "[16] Ropes" : 0 // shakes ropes too. 32: "[32] DON'T shake view (for shaking ropes or physics only)" : 0 64: "[64] DON'T Rumble Controller" : 0 @@ -2410,7 +2440,7 @@ // 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 Frequency(string) : "Set the frequency. 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." ] @@ -2442,7 +2472,7 @@ [ ] -@PointClass base(gibshooterbase, RenderFields) iconsprite("editor/env_shooter.vmt") = env_shooter : +@PointClass base(gibshooterbase, RenderFields) iconsprite("editor/env_shooter.vmt") line(255 255 255, targetname, lightingorigin) = 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." @@ -2466,8 +2496,9 @@ spawnflags(flags) = [ - 2 : "[2] On fire" : 0 - 4 : "[4] strict remove after lifetime" : 0 + 1 : "[1] Repeatable (Otherwise, remove itself after firing.)" : 0 + 2 : "[2] Gibs On fire" : 0 + 4 : "[4] Strict remove after lifetime" : 0 ] nogibshadows(choices) :"Disable Shadows on Gibs" : 0 = @@ -2477,11 +2508,10 @@ ] 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) iconsprite("editor/env_shooter.vmt") = env_rotorshooter : +@PointClass base(gibshooterbase, RenderFields) iconsprite("editor/env_shooter.vmt") line(255 255 255, targetname, lightingorigin) = 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." @@ -2505,17 +2535,18 @@ spawnflags(flags) = [ - 2 : "[2] On fire" : 0 + 1 : "[1] Repeatable (Otherwise, remove itself after firing.)" : 0 + 2 : "[2] Gibs On fire" : 0 + 4 : "[4] Strict remove after lifetime" : 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, Angles) iconsprite("editor/env_shooter.vmt") = env_break_shooter : +@PointClass base(gibshooterbase, RenderFields) iconsprite("editor/env_shooter.vmt") = env_break_shooter : "An entity that shoots func_breakable gibs." [ - angles(angle) : "Gib Direction (Pitch Yaw Roll)" : "0 0 0" : "The direction the gibs will fly." model(choices) : "Model" : "WoodChunks" : "Thing(s) to shoot out. The choices only matter when the model type is Breakable Chunks. If a specific model is needed, enter its file path. If a point_template is needed, enter the point_template's name." = [ @@ -2556,25 +2587,41 @@ input SetGibFlags(integer) : "Sets the flags for each gib." ] -@PointClass base(Targetname,Parentname) sphere(radius) iconsprite("editor/env_soundscape.vmt") = env_soundscape_proxy : +@PointClass base(Targetname,Parentname) sphere(radius) iconsprite("editor/env_soundscape.vmt") + line(255 255 255, targetname, MainSoundscapeName) + line(128 128 128, targetname, position0) + line(128 128 128, targetname, position1) + line(128 128 128, targetname, position2) + line(128 128 128, targetname, position3) + line(128 128 128, targetname, position4) + line(128 128 128, targetname, position5) + line(128 128 128, targetname, position6) + line(128 128 128, targetname, position7) + = 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. + + // Inputs + input Enable(void) : "Enable the soundscape." + input Disable(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(Targetname,Parentname,EnableDisable) sphere(radius) 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)." + radius(integer) : "Radius" : 128 : "If set to -1, then the player can hear the soundscape as long as they 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." = [ - "Nothing" : "Nothing" - "Automatic" : "Automatic" - "Automatic_Dialog" : "Automatic (dialog)" - "GenericIndoor" : "Indoor" - "GenericOutdoor" : "Outdoor" + "Nothing" : "Nothing (DSP: None)" + "Automatic" : "Automatic (DSP: Auto)" + "Automatic_Dialog" : "Automatic_Dialog (DSP: Auto, 50% Volume)" + "GenericIndoor" : "Indoor (DSP: Auto)" + "GenericOutdoor" : "Outdoor (DSP: Concrete Large)" ] 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." @@ -2587,14 +2634,24 @@ // Inputs input Enable(void) : "Enable the soundscape." - input Disabled(void) : "Disable the soundscape." + input Disable(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(radius) iconsprite("editor/env_soundscape.vmt") = env_soundscape_triggerable : +@PointClass base(env_soundscape) sphere(radius) iconsprite("editor/env_soundscape.vmt") + line(255 255 255, targetname, MainSoundscapeName) + line(128 128 128, targetname, position0) + line(128 128 128, targetname, position1) + line(128 128 128, targetname, position2) + line(128 128 128, targetname, position3) + line(128 128 128, targetname, position4) + line(128 128 128, targetname, position5) + line(128 128 128, targetname, position6) + line(128 128 128, targetname, position7) + = 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." [ ] @@ -2603,19 +2660,19 @@ "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." = + Magnitude(choices) : "Magnitude" : 1 : "The size of the sparks. Any number may be entered here." = [ - 1 : "Small" - 2 : "Medium" - 5 : "Large" - 8 : "Huge" + 1 : "Small (1)" + 2 : "Medium (2)" + 5 : "Large (5)" + 8 : "Huge (8)" ] TrailLength(choices) : "Spark Trail Length" : 1 = [ - 1 : "Short" - 2 : "Medium" - 3 : "Long" + 1 : "Short (1)" + 2 : "Medium (2)" + 3 : "Long (3)" ] spawnflags(flags) = @@ -2631,13 +2688,14 @@ input StopSpark(void) : "Stop the spark effect." input ToggleSpark(void) : "Toggle the on/off state of the spark effect." input SparkOnce(void) : "Spark once." + output OnSpark(void) : "Fired whenever sparks are emitted." // added by Vizzys ] @PointClass base(Targetname, Parentname, RenderFields,DXLevelChoice) 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." + model(sprite) : "Sprite Name" : "sprites/glow01.vmt" : "Material of the sprite to be drawn." scale(string) : "Scale" : "0.25" : "Scale multiplier of the sprite." spawnflags(flags) = [ @@ -2645,6 +2703,20 @@ 2: "[2] Play Once" : 0 ] + rendermode(choices) : "Render Mode" : 9 : "Used to set a non-standard rendering mode on this entity. See also 'FX Amount' and 'FX Color'. Most of these are only used by sprites." = + [ + 0: "Normal" + 1: "Color (May fix render order issues)" + 2: "Texture" + 3: "Glow" + 4: "Solid" + 5: "Additive" + 7: "Additive Fractional Frame (must be animated)" + 8: "Alpha Add" + 9: "World Space Glow" + 10: "Don't Render (Invisible)" + ] + 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." @@ -2659,11 +2731,11 @@ input ToggleSprite(void) : "Toggle the sprite between hidden and shown." ] -@PointClass base(env_sprite, Angles) sphere(GlowProxySize) = env_sprite_oriented : +@PointClass base(env_sprite, Angles) sphere(GlowProxySize) frustum( fov,near,far,rendercolor,-1 ) sprite() = 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." + model(sprite) : "Sprite Name" : "sprites/glow01.vmt" : "Material of the sprite to be drawn." scale(string) : "Scale" : "" : "Scale multiplier of the sprite." spawnflags(flags) = [ @@ -2683,6 +2755,11 @@ 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." + + fov(string) : "Helper - fov" : "100" : "IGNORE. The 'Frustum' used to show where this sprite points need these lines" //added by vizzys, shows sprite direction in hammer + near(string) : "Helper - near" : "5" : "IGNORE. The 'Frustum' used to show where this sprite points need these lines" //added by vizzys, shows sprite direction in hammer + far(string) : "Helper - far" : "8" : "IGNORE. The 'Frustum' used to show where this sprite points need these lines" //added by vizzys, shows sprite direction in hammer + pitch_scale(string) : "Helper - pitch_scale" : "1" : "IGNORE. The 'Frustum' used to show where this sprite points need these lines" //added by vizzys, shows sprite direction in hammer ] @@ -2783,7 +2860,7 @@ input SetFogColor(color255) : "Sets the primary fog color." input SetFogColorSecondary(color255) : "Sets the secondary fog color." input SetFarZ(integer): "Sets the far clip plane distance." - + input SetFogMaxDensity(float) : "0 to 1, set the fog's max density" //added by vizzys input SetSkyColor(color255) : "Sets the sky color." input CopyFogController(target_destination) : "Copies the target fog controller's exact fog parameters." @@ -2827,10 +2904,11 @@ [ 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." + ammomod(float) : "Ammo modifier" : 1 : "Modifier for amount of ammo dropped by a weapon." // Inputs input SetAmmoModifier(float): "Adjust the ammo modifier." + input SetMaxPieces(integer) : "Set the max amount of weapons of the specified type allowed to be in the world." //added by vizzys ] @PointClass base(Targetname) iconsprite("editor/game_end.vmt") = game_end : @@ -2846,7 +2924,7 @@ [ spawnflags(flags) = [ - 1: "[1] Use Only" : 0 + 1: "[1] Use Only (Only activate from Use input. Otherwise players automatically get items upon spawning)" : 0 ] //master(target_destination) : "Team Master (Obsolete)" : : "Legacy support: The name of a master entity. If the master hasn't been activated, this entity will not activate." ] @@ -2856,7 +2934,7 @@ [ spawnflags(flags) = [ - 1 : "[1] Remove On fire" : 0 + 1 : "[1] Remove On firing" : 0 2 : "[2] Kill Player" : 0 4 : "[4] Gib Player" : 0 ] @@ -2893,9 +2971,9 @@ 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" + 0 : "Fade In/Out (Entire text fades in and fades out)" 1 : "Credits" - 2 : "Scan Out" + 2 : "Scan Out (Puts each letter in one by one, gives the letters an alternative color if they were just put in)" ] color(color255) : "Color1" : "100 100 100" color2(color255) : "Color2" : "240 110 0" @@ -2952,7 +3030,7 @@ input Trigger(void) : "Causes the current sky texture to change to the one specified in this entity." ] -@PointClass base(Parentname, Angles) size(-2 -2 -2, 2 2 2) = point_enable_motion_fixup : +@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." [ ] @@ -3007,7 +3085,7 @@ 7 : "[7] South" 8 : "[8] Southeast" ] - font(string) : "Font" : : "Makes the text use a specific client scheme font. The font must not be additive or proportional. Commonly defined fonts include 'DefaultSmall' and 'Trebuchet18'/'Trebuchet24'. Also supports custom fonts defined through clientside VScript functions." + font(string) : "Font" : : "The font to use from resource/ClientScheme.res. The font must not be additive or proportional. Commonly defined fonts include 'DefaultSmall' and 'Trebuchet18'/'Trebuchet24'. Also supports custom fonts defined through clientside VScript functions." resolution(integer) : "Panel Resolution" : 200 : "The number of pixels available to the text. The higher the resolution is, the smaller the text will be. (NOTE: Changing the resolution with inputs later will scale the screen itself)" textsize(float) : "Panel Size" : 100 : "The size of the text panel in the world. This is previewed with a sphere, but it actually extends 'north-west' relative to the direction it's facing. Due to the limited in-editor previewing abilities, it's recommended to use the 'SetPanelSize' input in-game with the 'ent_fire' command to fine-tune this value. Use 'r_vguitext_bg' to display the panel in-game." @@ -3033,7 +3111,7 @@ 1 : "[1] Start On" : 1 2 : "[2] No Dynamic Light" : 1 ] - + IgnoreSolid(choices) : "Ignore Solid" : 0 : "If set, this spotlight won't trace for solids." = [ 0 : "No" @@ -3045,7 +3123,6 @@ 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." HaloScale(float) : "Halo size scale." : "60" : "float value to determine the size of the halo." - HaloMaterial(sprite) : "Halo material" : "sprites/light_glow03.vmt" : "Material to use for the halo." SpotlightMaterial(sprite) : "Spotlight beam material" : "sprites/glow_test02.vmt" : "Material to use for the spotlight's beam." @@ -3060,7 +3137,7 @@ ] -@PointClass base(Targetname, Parentname) size(-8 -8 -8, 8 8 8) sphere(m_flRadius) = point_tesla : +@PointClass base(Targetname, Parentname) size(-8 -8 -8, 8 8 8) line(255 255 255, 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." @@ -3131,7 +3208,7 @@ // Inputs input Deactivate(void) : "Return Player Control." - input Activate(string) : "Take Player Control." + input Activate(void) : "Take Player Control." input GetButtons(void) : "Fires OutButtons with the player's current button flags." @@ -3173,7 +3250,7 @@ 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) = point_entity_finder : +@PointClass base(Targetname) line(0 128 0, targetname, referencename) = 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." @@ -3548,7 +3625,7 @@ ] -@PointClass base(Targetname, EnableDisable, Parentname, Angles) iconsprite("editor/info_target.vmt") sphere(radius) = phys_ragdollmagnet : +@PointClass base(Targetname, EnableDisable, Parentname, Angles) iconsprite("editor/info_target.vmt") sphere(radius) line(255 255 0, targetname, target) = 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." [ @@ -3568,7 +3645,7 @@ output OnUsed(vector) : "Fires when this magnet is used by a ragdoll. Passes the ragdoll's original force + the force this magnet has applied." ] -@PointClass base(Targetname) iconsprite("editor/info_lighting.vmt") = info_lighting : +@PointClass base(Targetname) iconsprite("editor/info_lighting.vmt") line(255 255 255, lightingorigin, targetname) = 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)." [ @@ -3576,7 +3653,7 @@ // 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." + "OBSOLETE: An entity that does nothing itself, but can be used to specify the destination for a trigger_teleport entity. An info_target should be used instead." [ ] @@ -3596,13 +3673,13 @@ 1 : "[1] Force human permission" : 0 2 : "[2] Force small_centered permission" : 0 4 : "[4] Force wide_human permission" : 0 - 8 : "[8] Force tiny permissiont" : 0 + 8 : "[8] Force tiny permission" : 0 16 : "[16] Force wide_short permission" : 0 32 : "[32] Force medium permission" : 0 64 : "[64] Force tiny_centered permission" : 0 128 : "[128] Force large permission" : 0 256 : "[256] Force large_centered permission" : 0 - 512 : "[512] Keep editor position" : 0 + 512 : "[512] Keep editor position (Makes the node not fall to the ground after spawn)" : 0 ] ] @@ -3648,7 +3725,7 @@ nodeheight(integer) : "NodeHeight" : 0 ] -@PointClass base(Targetname, Angles, HintNode) studio("models/editor/node_hint.mdl") sphere(radius) color(255 255 255) frustum(nodeFOV,-1,128,250 250 250,-1) = info_hint : +@PointClass base(Targetname, Angles, HintNode) studio("models/editor/node_hint.mdl") sphere(radius) color(255 255 255) frustum(nodeFOV,-1,128,250 250 250,-1) line(255 255 255, nodeid, TargetNode) = 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'." [ @@ -3776,7 +3853,7 @@ input SetInvert(integer) : "Change the invert exclusion rule" ] -@PointClass wirebox(mins, maxs) base(info_node_link_controller) = info_template_link_controller : +@PointClass wirebox(mins, maxs) base(info_node_link_controller) line(255 255 255, targetname, ReferenceTemplate) = info_template_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.\n\n"+ "NOTE: Due to the way this works, using info_node_link_logic may cause several identical instances of the outputs to be fired instead of one. One way to remedy this by passing your action through a relay with fast refire disabled." @@ -3791,7 +3868,13 @@ ] @PointClass base(Targetname, Angles, HintNode) studio("models/editor/climb_node.mdl") color(153 215 103) = info_node_climb : - "A climb-node for AI navigation. Only usable by NPCs that can climb." + "A climb-node for AI navigation. Only usable by NPCs that can climb. " + + "In order for it to work, the following conditions need to be observed: " + + "1) Place the nodes so that their centers are 8 units away from the wall surface; " + + "2) Make sure their angles are facing the wall surface (similar to how cover nodes need to face their cover); " + + "3) Align the bottom node on the ground plane and top node on the upper plane; " + + "4) If using a ladder with a model, make it non-solid, or it'll interfere with the nodes; " + + "5) Check the node connection in-game with ai_show_connect - climb nodes are connected by purple lines. " [ ] @@ -3823,19 +3906,19 @@ SunSpreadAngle(float) : "SunSpreadAngle" : 0 : "The angular extent of the sun for casting soft shadows. Higher numbers are more diffuse. 5 is a good starting value." ] -@PointClass base(Targetname, Angles, Light) lightprop("models/editor/spot.mdl") lightcone() sphere(_fifty_percent_distance) sphere(_zero_percent_distance) sphere(_hardfalloff) sphere(_distance) = light_spot : +@PointClass base(Targetname, Angles, Light) lightprop("models/editor/spot.mdl") lightcone() sphere(_fifty_percent_distance) sphere(_zero_percent_distance) sphere(_hardfalloff) sphere(_distance) line(0 128 0, targetname, target) = light_spot : "An invisible and directional spotlight." [ 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 + _exponent(integer) : "Focus" : 1 : "Higher focus creates sharper lighting, and focus below 1 makes it softer." _distance(integer) : "Maximum distance" : 0 : "This is the distance that light is allowed to cast." pitch(angle_negative_pitch) : "Pitch" : -90 spawnflags(Flags) = [ 1 : "[1] Initially dark" : 0 ] ] -@PointClass base(Targetname, Parentname, Angles) iconsprite("editor/light.vmt") sphere(distance) lightcone() size(-4 -4 -4, 4 4 4) = light_dynamic : +@PointClass base(Targetname, Parentname, Angles) iconsprite("editor/light.vmt") sphere(distance) lightcone() line(0 128 0, targetname, target) = 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." @@ -3889,7 +3972,7 @@ //------------------------------------------------------------------------- @PointClass base(Targetname, Angles) iconsprite("editor/shadow_control.vmt") = shadow_control : - "An entity to control the shadows in the map." + "An entity to control the entity shadows in the map. Such as players, weapons and dynamic props." [ angles(angle) : "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." @@ -3929,7 +4012,7 @@ 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." + fadeOutDuration(float) : "Lookup Fade out Duration" : "0.0" : "Duration of fade out on when disabled." exclusive(choices) : "Exlusive" : 0 : "An exclusive color_correction entity disables and fades out all other color corrections when it is enabled. There should only be one active exclusive color_correction ent at any time." = [ 0 : "No" @@ -3958,7 +4041,7 @@ @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" + fadeDuration(float) : "Lookup Fade Duration" : "10.0" : "This is the duration for the lookup to fade in/out on entry/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" ] @@ -4010,8 +4093,8 @@ speed(integer) : "Speed" : 100 : "The speed that the brush moves, in units per second." movedistance(float) : "Move Distance" : 100 : "The distance from the starting point that the brush should move, in units." 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." + startsound(sound) : "Start Sound" : : "Sound played when the brush starts moving." + stopsound(sound) : "Stop 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))." @@ -4058,8 +4141,8 @@ 2 : "[2] Reverse Direction" : 0 4 : "[4] X Axis" : 0 8 : "[8] Y Axis" : 0 - 16: "[16] Acc/Dcc" : 0 - 32: "[32] Fan Pain" : 0 + 16: "[16] Acc/Dcc (See Friction)" : 0 + 32: "[32] Fan Pain (If something blocks the brush, it will be hurt. Rotation speed/10)" : 0 64: "[64] Not Solid" : 0 128: "[128] Small Sound Radius" : 0 256: "[256] Medium Sound Radius" : 0 @@ -4116,17 +4199,18 @@ [ ] -@MoveClass base(Targetname, Parentname, Mover, KeyFrame) size(-8 -8 -8, 8 8 8) color(255 0 0) animator() = move_track : - "Track Move Behavior" -[ - WheelBaseLength(integer) : "Distance between the wheels" : 50 - Damage(integer) : "Damage done to blocking entities" : 0 - NoRotate(choices) : "Turn to face down path" : 0 = - [ - 0 : "Yes" - 1 : "No" - ] -] +// disabled this because it literally does not exist -vizzys +//@MoveClass base(Targetname, Parentname, Mover, KeyFrame) size(-8 -8 -8, 8 8 8) color(255 0 0) animator() = move_track : +// "Track Move Behavior" +//[ +// WheelBaseLength(integer) : "Distance between the wheels" : 50 +// Damage(integer) : "Damage done to blocking entities" : 0 +// NoRotate(choices) : "Turn to face down path" : 0 = +// [ +// 0 : "Yes" +// 1 : "No" +// ] +//] //------------------------------------------------------------------------- // @@ -4151,15 +4235,15 @@ 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(choices) : "Barbed" : 0 : "Test effect that makes the rope look sharper and more barbed." = + Barbed(choices) : "Barbed" : 0 : "Test effect that makes the rope look sharper and more barbed. Looks awful if the rope has too much slack." = [ 0 : "No" 1 : "Yes" ] - Width(float) : "Width" : "2" : "Width of the rope." + Width(float) : "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." + TextureScale(float) : "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(choices) : "Collide with world" : 0 = [ @@ -4167,7 +4251,7 @@ 1 : "Yes" ] - Dangling(choices) : "Start Dangling" : 0 : "When set to Yes, the rope starts out detached from its target endpoint." = + Dangling(choices) : "Start Dangling" : 0 : "When set to Yes, the rope starts out detached from its target endpoint. Do not use this when hanging things on ropes!" = [ 0 : "No" 1 : "Yes" @@ -4183,11 +4267,11 @@ // 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 SetForce(vector) : "Apply a force instantaneously to the rope. The parameter should be a vector containing the force to be applied (X Y Z)." input SetSlack(integer) : "Set the rope's slack. (Wind may need to be enabled for changes to apply)" input SetWidth(float) : "Set the rope's width." input SetSubdivision(integer) : "Set the rope's subdivision. (Wind may need to be enabled for changes to apply)" - input Break(void) : "Break the rope, if it's marked to do so." + input Break(void) : "Detach this end of the rope, causing it to fall." // Outputs output OnBreak(void) : "Fires when this rope breaks." @@ -4205,7 +4289,7 @@ [ ] -@MoveClass base(Targetname, Parentname, KeyFrame, RopeKeyFrame) studio("models/editor/axis_helper.mdl") animator() = move_rope : +@MoveClass base(Targetname, Parentname, KeyFrame, RopeKeyFrame) studio("models/editor/axis_helper_thick.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." = @@ -4271,9 +4355,9 @@ 18: "small tech deny" 19: "click and combine screen fuzz" 20: "roomy beep" - 21: "lever or wheel: turn + move sqeek" + 21: "lever or wheel: turn + move squeak" 22: "lever or wheel: latch + release gas" - 23: "lever or wheel: ratchet + sqeek" + 23: "lever or wheel: ratchet + squeak" 24: "lever or wheel: large ratchet" 25: "lever or wheel: clanky + gas release" 26: "lever or wheel: latch + large metal thud" @@ -4427,7 +4511,7 @@ 8192: "[8192] Jiggle when used while locked" : 0 ] _minlight(string) : "Minimum Light Level" : : "The minimum level of ambient light that hits this brush." - startposition(float) : "Start Position" : 0 : "Postion when spawned. The value is a range between 0.0 and 1.0, where 0 is the unrotated position and 1 is the rotated position + 'Distance'." + startposition(float) : "Start Position" : 0 : "Position when spawned. The value is a range between 0.0 and 1.0, 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 @@ -4444,6 +4528,8 @@ 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'." + input _DisableUpdateTarget(void) : "Suppress the 'Position' input from firing when the button moves." //added by vizzys + input _EnableUpdateTarget(void) : "Allow the 'Position' input to continue firing after being disabled with '_DisableUpdateTarget'." //added by vizzys // 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'." @@ -4461,7 +4547,7 @@ // //------------------------------------------------------------------------- -@BaseClass base(Targetname, Parentname, RenderFields, Global, Shadow) = Door +@BaseClass base(Targetname, Parentname, RenderFields, Global, Shadow) line(255 255 255, targetname, chainstodoor) = Door [ speed(integer) : "Speed" : 100 : "The speed at which the door moves." //master(target_destination) : "Master (Obsolete)" : : "Legacy support: The name of a master entity. If the master hasn't been activated, this button cannot be used." @@ -4472,6 +4558,7 @@ 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 units, 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." + chainstodoor(target_destination) : "Linked Door" : : "Passes the door's +use inputs and touch events onto a different door, so it also is activated." //added by vizzys forceclosed(choices) : "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." = [ 0 : "No" @@ -4502,10 +4589,11 @@ 8: "[8] Passable" : 0 32: "[32] Toggle" : 0 256:"[256] Use Opens" : 0 - 512: "[512] NPCs Can't" : 0 + 512: "[512] NPCs Can't Open" : 0 1024: "[1024] Touch Opens" : 0 2048: "[2048] Starts locked" : 0 4096: "[4096] Door Silent" : 0 + 65536 : "[65536] New +Use rules (If closing, allow +Use to reopen, if unlocked) NOT for prop_doors!" : 0 ] //locked_sentence(choices) : "Locked Sentence" : 0 : "A sentence played when the player tries to use the door, and fails because it's locked." = //[ @@ -4557,6 +4645,7 @@ input Lock(void) : "Lock the door." input Unlock(void) : "Unlock the door." input SetSpeed(float) : "Set the door speed." + input SetToggleState(bool) : "Force the door instantly to currently open or closed." //added by vizzys ] @SolidClass base(Door, Origin) = func_door : @@ -4576,7 +4665,6 @@ 16: "[16] One-way" : 0 64: "[64] X Axis" : 0 128: "[128] Y Axis" : 0 - 65536: "[65536] New func_door +USE rules (NOT for prop_doors!!)" : 0 ] distance(integer) : "Distance" : 90 : "The amount, in degrees, that the button should rotate when it's pressed." @@ -4600,9 +4688,10 @@ hardware(choices) : "Hardware Type" : 1 = [ 0 : "" - 1 : "Lever" + 1 : "Lever (Default Handle)" 2 : "Push bar" 3 : "Keypad" + 4 : "Combine Lock (Mapbase Door Models)" ] 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." @@ -4630,7 +4719,7 @@ openfrontactivityoverride(string) : "NPC Front Open Activity" : "" : "The gesture activity NPCs should play when opening the door from the front." openbackactivityoverride(string) : "NPC Back Open Activity" : "" : "The gesture activity NPCs should play when opening the door from the back." - lightingorigin(target_destination) : "Lighting Origin" : "" : "Select an entity to specify a location to sample lighting from, instead of using this entity's origin." + lightingorigin(target_destination) : "Lighting Origin" : "" : "Select an entity to specify a location to sample lighting from, instead of using this entity's origin.It cannot be any internal entity, including info_lighting." forceclosed(choices) : "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." = [ @@ -4641,9 +4730,9 @@ spawnflags(flags) = [ 256 : "[256] Start with collision disabled" : 0 - 512: "[512] NPCs Can't" : 0 + 512: "[512] NPCs Can't Open" : 0 2048: "[2048] Starts locked" : 0 - 4096: "[4096] Door silent (No sound, and does not alert NPCs)" : 0 + 4096: "[4096] Door silent (No sound, does not alert NPCs)" : 0 8192: "[8192] Use closes" : 1 16384 : "[16384] Door silent to NPCS (Does not alert NPCs)" : 0 32768 : "[32768] Ignore player +USE" : 0 @@ -4683,6 +4772,10 @@ input Toggle(void) : "Toggle the door between open and closed." input Lock(void) : "Lock the door." input Unlock(void) : "Unlock the door." + input Break(void) : "Immediately break the door. It will skip the damage models and only spawn the gibs of the current model." //added by vizzys + input SetCycle(float) : "Skip to a specific point in the CURRENT animation. Needs to be set AFTER setting the animation and starting playback." //added by vizzys + input SetModel(string) : "Changes the model to the specified path. Form of models/ammo/ammo_us.mdl. Absolutely NO quotes. Make sure you use forward slash." //added by vizzys + input SetPlayBackRate(float) : "Change the animation speed multiplier (default: 1). Needs to be set AFTER setting the animation, starting playback, and setting the animation point (if needed)." //added by vizzys input SetRotationDistance(float) : "Set the distance (in degrees) between Open and Closed." input SetSpeed(float) : "Set the speed at which the door rotates. 100 is default." @@ -4690,7 +4783,7 @@ input DisallowPlayerUse(void) : "Prevents players from using the door. This just enables the 'Ignore player +USE' spawnflag." input SetDoorFilter(target_destination) : "Sets the entity to use as the NPC filter. Pass in an empty string to clear the NPC filter." - + input SetFullyOpenSound(string) : "Sets the sound to use when the door is fully open." input SetFullyClosedSound(string) : "Sets the sound to use when the door is fully closed." input SetMovingSound(string) : "Sets the sound to use when the door is moving." @@ -4705,12 +4798,12 @@ // //------------------------------------------------------------------------- -@PointClass color(0 0 255) sidelist(sides) iconsprite("editor/env_cubemap.vmt") = env_cubemap : +@PointClass color(0 0 255) sidelist(sides) iconsprite("editor/env_cubemap.vmt") line(255 255 255, targetname, parallaxobb) = env_cubemap : "An entity that creates a sample point for the Cubic Environment Map." [ cubemapsize(choices) : "Cubemap Size" : 0 = [ - 0 : "Default" + 0 : "Default (32x32)" 1 : "1x1" 2 : "2x2" 3 : "4x4" @@ -4720,6 +4813,7 @@ 7 : "64x64" 8 : "128x128" 9 : "256x256" + 10 : "512x512 Use Sparingly." //added by vizzys ] 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." @@ -4741,9 +4835,9 @@ 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." + SpeedMax(integer) : "Maximum Particle Speed" : 13 : "Maximum speed that the particles can move after spawning." + LifetimeMin(integer) : "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(integer) : "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(choices) : "Frozen" : 0 : "When set, this entity spawns the number of particles in SpawnRate immediately, and then goes inactive." = @@ -4824,7 +4918,7 @@ // NEEDHELP -@PointClass base( Targetname, Parentname, Angles ) size( -8 -8 -8, 8 8 8 ) = env_effectscript : +@PointClass base( Targetname, Parentname, Angles ) sphere(fademindist) sphere(fademaxdist) 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." @@ -4849,7 +4943,7 @@ [ spawnflags(Flags) = [ - 1 : "[1] Remove on fire" : 1 + 1 : "[1] Remove after firing" : 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." = @@ -4878,12 +4972,12 @@ 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) studioprop("models/editor/camera.mdl") frustum(fov,4,250,250 250 250,-1) = point_viewcontrol : +@PointClass base(Targetname,Angles,Parentname) studioprop("models/editor/camera.mdl") frustum(fov,4,250,250 250 250,-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." + 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 deactivate, 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. This can actually be literally any entity, but don't worry about that." interpolatepositiontoplayer(choices) : "Interpolate Position To Player" : 0 : "Gradually interpolate player's position to here on start. (Episodic only)" = [ @@ -4899,14 +4993,14 @@ 8: "[8] Infinite Hold Time" : 0 16:"[16] Snap to goal angles" : 0 32:"[32] Make Player non-solid" : 0 - 64:"[64] Interruptable by Player" : 0 + 64:"[64] Interruptible by Player" : 0 128:"[128] Set FOV" : 0 256:"[256] Allow fixed behavior (can move without look target, removal stops softlock, etc.)" : 1 ] - 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." + speed(float) : "Initial Speed" : "0" : "The starting speed that the camera moves at, if it's on a path track." + acceleration(float) : "Acceleration units/sec^2" : "500" : "The speed at which the camera accelerates to path corner's desired speeds." + deceleration(float) : "Stop Deceleration units/sec^2" : "500" : "The speed at which the camera decelerates to path corner's desired speeds." fov(float) : "FOV" : "75" : "The player's FOV when using this camera. Be sure to have the 'Set FOV' spawnflag enabled if you want to use this." fov_rate(float) : "FOV rate" : "0" : "How quickly the FOV should be set. Be sure to have the 'Set FOV' spawnflag enabled if you want to use this." @@ -4926,20 +5020,20 @@ output OnStartFollow(void) : "Fired when the point_viewcontrol activates, usually due to the Enable input being received." ] -@PointClass base(Targetname) = point_posecontroller : +@PointClass base(Targetname) 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) : "Target" : : "Name of the prop to control. Can be any animating entity." + PropName(target_destination) : "Prop Targetname" : : "Name of the prop to control. Can be any animating entity." 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." + InterpolationTime(float) : "Interpolation Time" : "0.0" : "Number of seconds (0.0 to 10.0) for client to match absolute pose values." InterpolationWrap(choices) : "Should wrap from 0.0 to 1.0 when interpolating." : 0 = [ 0 : "No" 1 : "Yes" ] CycleFrequency(float) : "Cycle Frequency" : "0.0" : "Base cycles per second from -10.0 to 10.0." - FModulationType(choices) : "Frequency Modulation Type" : 0 = + FModType(choices) : "Frequency Modulation Type" : 0 = [ 0: "None" 1: "Sine" @@ -4963,6 +5057,7 @@ 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." + input GetFMod(void) : "Outputs the current modulation settings in console." ] @PointClass base(Targetname) iconsprite("editor/logic_compare.vmt") = logic_compare : @@ -5011,7 +5106,24 @@ ] -@PointClass base(Targetname) = logic_branch_listener : +@PointClass base(Targetname) + line(255 255 0, targetname, branch01) + line(255 255 0, targetname, branch02) + line(255 255 0, targetname, branch03) + line(255 255 0, targetname, branch04) + line(255 255 0, targetname, branch05) + line(255 255 0, targetname, branch06) + line(255 255 0, targetname, branch07) + line(255 255 0, targetname, branch08) + line(255 255 0, targetname, branch09) + line(255 255 0, targetname, branch10) + line(255 255 0, targetname, branch11) + line(255 255 0, targetname, branch12) + line(255 255 0, targetname, branch13) + line(255 255 0, targetname, branch14) + line(255 255 0, targetname, branch15) + 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." [ @@ -5033,7 +5145,8 @@ 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." - + input _OnLogicBranchChanged(void) : "Sent by a logic_branch when it gets changed for any reason. Makes the entity fire an output, but only if the listener's final result has changed." //added by vizzys + input _OnLogicBranchRemoved(void) : "Sent by a logic_branch when it gets removed for any reason. The !activator will no longer be watched by this entity. Makes the entity fire an output, but only if the listener's final result has changed." //added by vizzys 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." @@ -5133,7 +5246,7 @@ spawnflags(flags) = [ 1: "[1] Only trigger once" : 0 - 2: "[2] Allow fast retrigger" : 0 + 2: "[2] Allow fast retrigger (Doesn't 'sleep' after triggering, ignores Trigger inputs while firing)" : 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." @@ -5147,7 +5260,8 @@ // 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." + input CancelPending(void) : "Cancel any events fired by this entity that are currently pending in the I/O event queue." + input EnableRefire(void) : "Allow this relay to trigger again quickly, if allow fast retrigger is disabled." //added by vizzys // Outputs output OnSpawn(void) : "Fired when this entity is spawned. If this entity is set to only trigger once, it will "+ @@ -5191,8 +5305,8 @@ [ spawnflags(flags) = [ - 1: "[1] Only trigger once" : 0 - 2: "[2] Allow fast retrigger" : 0 + 1: "[1] Only trigger once (Remove after OnSpawn or OnTrigger outputs fire)" : 0 + 2: "[2] Allow fast retrigger (Doesn't 'sleep' after triggering, ignores Trigger inputs while firing)" : 0 ] // Inputs @@ -5204,7 +5318,7 @@ "This input allows the relay to fire again early if it is in this state." // Outputs - output OnSpawn(void) : "Fired when the relay is spawned. If the relay is set to only trigger once, it will "+ + output OnSpawn(void) : "Fired when the relay is spawned, even by loading or creation by point_template. 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." @@ -5242,7 +5356,24 @@ output OnTriggerParameter(string) : "Fired when the relay is triggered with a parameter." ] -@PointClass base(Targetname) iconsprite("editor/logic_script.vmt") = logic_script : "An entity that acts as a container for scripts" +@PointClass base(Targetname) iconsprite("editor/logic_script.vmt") + line(200 200 200, targetname, group00) + line(200 200 200, targetname, group01) + line(200 200 200, targetname, group02) + line(200 200 200, targetname, group03) + line(200 200 200, targetname, group04) + line(200 200 200, targetname, group05) + line(200 200 200, targetname, group06) + line(200 200 200, targetname, group07) + line(200 200 200, targetname, group08) + line(200 200 200, targetname, group09) + line(200 200 200, targetname, group10) + line(200 200 200, targetname, group11) + line(200 200 200, targetname, group12) + line(200 200 200, targetname, group13) + line(200 200 200, targetname, group14) + 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]" @@ -5260,6 +5391,7 @@ Group13(target_destination) : "EntityGroup[13]" Group14(target_destination) : "EntityGroup[14]" Group15(target_destination) : "EntityGroup[15]" + rendercolor(color255) : "Sprite Icon Color" : "255 255 255" : "Helper color to differentiate your script icons. Only shows up in Hammer++." ] @PointClass base(Targetname) iconsprite("editor/logic_script_client.vmt") = logic_script_client : "An entity capable of running client-side scripts" @@ -5295,11 +5427,11 @@ 1 : "Yes" ] - 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." + LowerRandomBound(float) : "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(float) : "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." - UseBoundsForTimerInputs(choices) : "Limit Timer Inputs" : 0 : "Allows the Minumum/Maximum Random Interval keyvalues to limit the total timer value when it receives AddToTimer or SubtractFromTimer inputs." = + UseBoundsForTimerInputs(choices) : "Limit Timer Inputs" : 0 : "Allows the Minimum/Maximum Random Interval keyvalues to limit the total timer value when it receives AddToTimer or SubtractFromTimer inputs." = [ 0 : "No" 1 : "Yes" @@ -5316,7 +5448,7 @@ 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." - + input UseRandomTime(integer) : "0 or 1, whether random time is enabled. If random time starts enabled and gets disabled here, the refire interval is set to the Maximum Random Interval." //added by vizzys // Outputs output OnTimer(void) : "Fired when the timer expires." @@ -5349,7 +5481,7 @@ ] -@PointClass base(Targetname) size(-4 -4 -4, 4 4 4) color(0 255 0) = logic_collision_pair : +@PointClass base(Targetname) size(-4 -4 -4, 4 4 4) color(0 255 0) 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." @@ -5367,7 +5499,7 @@ ] -@PointClass base(Targetname, Parentname, EnableDisable) iconsprite("editor/env_microphone.vmt") sphere(MaxRange) color(0 0 255) = env_microphone : +@PointClass base(Targetname, Parentname, EnableDisable) iconsprite("editor/env_microphone.vmt") sphere(MaxRange) color(0 0 255) 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." @@ -5413,7 +5545,7 @@ 8 : "[8] Hears bullet impacts" : 1 16: "[16] Swallows sounds routed through speakers" : 0 32: "[32] Hears explosions" : 0 - 64: "[64] Ignores non-attenuated sounds" : 0 + 64: "[64] Ignores non-attenuated sounds (Ignores sounds set to play everywhere in the map)" : 0 128 : "[128] Hears sentences (Combine dialogue, etc.)" : 1 ] @@ -5457,8 +5589,8 @@ [ spawnflags(flags) = [ - 1 : "[1] Ignore out of range input values" : 1 - 2 : "[2] Clamp output to output range" : 2 + 1 : "[1] Ignore out of range input values (Completely ignore inputs outside the min/max range)" : 1 + 2 : "[2] Clamp output to output range (If input is outside min/max output the min/max value instead of going outside it)" : 2 ] in1(integer) : "Minimum Valid Input Value" : 0 : "Input values below this value will be ignored." @@ -5478,7 +5610,7 @@ [ spawnflags(flags) = [ - 1 : "[1] Ignore out of range input values" : 1 + 1 : "[1] Ignore out of range input values (Otherwise, OutColor passes the min/max color)" : 1 ] inmin(integer) : "Minimum Valid Input Value" : 0 : "Input values below this value will be ignored." @@ -5518,7 +5650,7 @@ input SetMinValueNoFire(float): "Set the lower bound of the counter without firing any outputs." // Outputs - output OutValue(float) : "Fired when the counter value changes." + output OutValue(float) : "Fires whenever the stored number changes, except when caused by SetValueNoFire. Automatically puts the stored number as the input parameter, unless overridden by the mapper." 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 OnGetValue(float) : "Fired in response to the GetValue input. Used for polling the counter when you don't want constant updates from the OutValue output." @@ -5570,7 +5702,7 @@ input SetLerpPercent(float) : "Sets the lerp percent." ] -@PointClass base(Targetname) size(-8 -8 -8, 8 8 8) = logic_lineto : +@PointClass base(Targetname) 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." @@ -5580,7 +5712,7 @@ 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) = logic_navigation : +@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." @@ -5658,7 +5790,24 @@ ] -@PointClass base(Targetname) size(-8 -8 -8, 8 8 8) = point_template : +@PointClass base(Targetname) size(-8 -8 -8, 8 8 8) + 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 "+ @@ -5715,8 +5864,8 @@ 1 : "[1] Enable AutoSpawn (will spawn whenever there's room)" : 0 2 : "[2] AutoSpawn: Wait for entity destruction" : 0 4 : "[4] AutoSpawn: Even if the player is looking" : 0 - 8 : "[8] ForceSpawn: Only if there's room" : 0 - 16 : "[16] ForceSpawn: Only if the player isn't looking" : 0 + 8 : "[8] ForceSpawn (input): Spawn only if there's room" : 0 + 16 : "[16] ForceSpawn (input): Spawn only if the player isn't looking" : 0 ] EntityTemplate(target_destination) : "Point_template To Spawn" : "" : "Name of the point_template to spawn here." @@ -5863,7 +6012,7 @@ output OutFormattedValue(string) : "Fired when the formatted value is requested. Outputs the formatted value." ] -@PointClass base(Targetname) iconsprite("editor/logic_keyfield.vmt") = logic_keyfield : +@PointClass base(Targetname) iconsprite("editor/logic_keyfield.vmt") line(255 255 255, targetname, target) = logic_keyfield : "A logic entity that could read an entity's keyfields. " + "Use the target and key name options if you want to store a specific target and/or keyvalue. " + "Use the 'Test' input to look for the key within the target's datadesc. " + @@ -5887,7 +6036,7 @@ output OnFailed(void) : "Fires when this entity fails to find the specified keyfield." ] -@PointClass base(Targetname) iconsprite("editor/logic_datadesc_accessor.vmt") = logic_datadesc_accessor : +@PointClass base(Targetname) iconsprite("editor/logic_datadesc_accessor.vmt") line(255 255 255, targetname, target) = logic_datadesc_accessor : "A logic entity that could read or write any field in an entity's data description, keyvalue or not, based on its internal name. It otherwise functions identically to logic_keyfield.\n\n" + "You'd better know what you're doing." [ @@ -6035,7 +6184,7 @@ output OutVector(vector) : "Outputs the modified vector." ] -@PointClass base(Targetname, EnableDisable) size(-8 -8 -8, 8 8 8) = logic_modelinfo : +@PointClass base(Targetname, EnableDisable) size(-8 -8 -8, 8 8 8) line(255 255 255, targetname, target) = logic_modelinfo : "Gets and outputs some model information from an entity." [ target(target_destination) : "Target" : "" : "The entity whose model will be evaluated." @@ -6102,7 +6251,7 @@ output OutAngles(vector) : "Outputs the angles." ] -@PointClass base(Targetname) iconsprite("editor/logic_context_accessor.vmt") = logic_context_accessor : +@PointClass base(Targetname) iconsprite("editor/logic_context_accessor.vmt") line(255 255 255, targetname, target) = logic_context_accessor : "A logic entity that could read an entity's response contexts. " + "Use the target and context name keyvalues if you want to store a specific target and/or context. " + "Use the 'Test' input to look for the context on the target. " + @@ -6161,7 +6310,7 @@ // Outputs output OutValue(float) : "Outputs with a brightness equivalent to the current letter." output OutLetter(string) : "Outputs with the current letter itself." - output OnLightOn(void) : "Fires when the current letter is equivalnt to 'on' (greater than a)." + output OnLightOn(void) : "Fires when the current letter is equivalent to 'on' (greater than a)." output OnLightOff(void) : "Fires when the current letter is equivalent to 'off' (equal to a)." ] @@ -6265,7 +6414,7 @@ // -@PointClass base(Targetname) size(-8 -8 -8, 8 8 8) = point_ragdollboogie : +@PointClass base(Targetname) size(-8 -8 -8, 8 8 8) line(255 255 255, targetname, target) = point_ragdollboogie : "An entity that makes ragdolls dance." [ spawnflags(flags) = @@ -6297,15 +6446,19 @@ 1 : "[1] CRUSH" 2 : "[2] BULLET" 4 : "[4] SLASH" + 5 : "[5] Sharp physics objects (Crush+Slash)" //added by vizzys 8 : "[8] BURN" //16 : "[16] FREEZE" // This does not appear to exist. - 16 : "[16] VEHICLE" + 16 : "[16] VEHICLE (ran over)" 32 : "[32] FALL" 64 : "[64] BLAST" 128 : "[128] CLUB" - 256 : "[256] SHOCK" + 256 : "[256] SHOCK (+ stalker laser, tau cannon)" 512 : "[512] SONIC" - 1024 : "[1024] ENERGYBEAM" + 1024 : "[1024] ENERGYBEAM (+ lasers)" + 4098 : "[4098] Func_tank, large flying NPCs" //added by vizzys + 8194 : "[8194] Combine Autocannon" //added by vizzys + 8197 : "[8197] Barnacle Eat" //added by vizzys 16384: "[16384] DROWN" 32768 : "[32768] PARALYSE" 65536 : "[65536] NERVEGAS" @@ -6318,7 +6471,7 @@ 4194304 : "[4194304] REMOVENORAGDOLL" 16777216 : "[16777216] PLASMA" 33554432 : "[33554432] AIRBOAT (gun)" - 67108864 : "[67108864] DISSOLVE" + 67108864 : "[67108864] DISSOLVE (+ energy balls)" 134217728 : "[134217728] BLAST_SURFACE" 268435456 : "[268435456] DIRECT" 536870912 : "[536870912] BUCKSHOT" @@ -6327,7 +6480,7 @@ damagepresets(choices) : "Damage Presets" : 0 : "User-friendly 'presets' based on combined damage types. This is accompanied by the damage type and damage or, if they are specified." = [ 0 : "None" - 268435464 : "[268435464] Ignite Damage (BURN + DIRECT)" + 268435464 : "[268435464] Ignite, Passive Burn (BURN + DIRECT)" 134217792 : "[134217792] All Blast Types (BLAST + BLAST_SURFACE)" ] @@ -6358,7 +6511,12 @@ DamageBonus(integer) : "Damage Bonus" : : "Function unknown, possibly unused" ] -@PointClass base(Targetname, PointDamageInfoInit, DamageTypes) iconsprite("editor/point_damageinfo.vmt") = point_damageinfo : +@PointClass base(Targetname, PointDamageInfoInit, DamageTypes) iconsprite("editor/point_damageinfo.vmt") + line(255 255 255, targetname, target) + line(255 255 255, targetname, inflictor) + line(255 255 255, targetname, attacker) + line(255 255 255, targetname, weapon) += point_damageinfo : "Applies damage with full control over the variables of CTakeDamageInfo, providing as much precision as possible." [ // Keys @@ -6409,7 +6567,7 @@ output OnApplyDeath(void) : "Fires for every entity that dies from our damage, using that as the activator." ] -@PointClass base(Targetname) iconsprite("editor/point_entity_replace.vmt") = point_entity_replace : +@PointClass base(Targetname) iconsprite("editor/point_entity_replace.vmt") line(255 255 0, targetname, Target) line(255 255 0, targetname, ReplacementEntity) = point_entity_replace : "An entity that replaces." [ Target(target_destination) : "Entity to be replaced" : : "The entity that should be replaced. This is optional if you're only using the 'ReplaceEntity' input." @@ -6478,7 +6636,7 @@ ] // TODO: TASK SUPPORT -@PointClass base(Targetname, EnableDisable) iconsprite("editor/ai_monitor.vmt") = ai_monitor : +@PointClass base(Targetname, EnableDisable) iconsprite("editor/ai_monitor.vmt") line(255 255 255, targetname, target) = ai_monitor : "Monitors NPCs for conditions and schedules. " + "You can use this entity to either watch an entity for conditions/schedules or test whether they have them. "+ "TODO: Task support." @@ -6516,7 +6674,7 @@ Conditions(string) : "Conditions (advanced)" : : "Allows you to specify exactly which conditions to monitor, either by their actual integer ID or their string name. Separate multiple conditions with colons: 'COND_BEHIND_ENEMY:COND_ENEMY_OCCLUDED:11'" Schedules(string) : "Schedules (advanced)" : : "Allows you to specify exactly which schedules to monitor, either by their actual integer ID or their string name. Separate multiple schedules with colons: 'SCHED_INVESTIGATE_SOUND:SCHED_COMBAT_FACE:14'" - TranslateSchedules(choices) : "Translate shcedules" : 0 : "Translates schedules based on each NPC's behavior each time they're checked. This depends on how the NPC remaps that schedule, which may be either their own version of it or something completely different that may not be desirable. The performance impact of this setting is not known." = + TranslateSchedules(choices) : "Translate schedules" : 0 : "Translates schedules based on each NPC's behavior each time they're checked. This depends on how the NPC remaps that schedule, which may be either their own version of it or something completely different that may not be desirable. The performance impact of this setting is not known." = [ 0 : "No" 1 : "Yes" @@ -6540,7 +6698,7 @@ // Inputs input SetTarget(target_destination) : "Sets the NPC(s) to be monitored." - input UpdateActors(void) : "Updates the NPCs." + input UpdateActors(void) : "Tell the entity to re-check Actor(s) to affect in case any disappeared, or any new NPCs spawned." input Test(void) : "Tests all of the current NPCs. This entity does not have to be enabled to do this." input TestNPC(target_destination) : "Tests the specified NPC. This entity does not have to be enabled to do this." @@ -6586,7 +6744,7 @@ output OnCopy(void) : "Fires each time the size is successfully copied with the target as the activator." ] -@PointClass base(Targetname, EnableDisable) = ai_weaponmodifier : +@PointClass base(Targetname, EnableDisable) line(255 255 255, targetname, target) = ai_weaponmodifier : "Modifies a NPC's weapon shot regulation." [ Target(target_destination) : "Target(s)" : : "The NPC(s) that will be modified by default." @@ -6659,7 +6817,7 @@ output OutValue(string) : "Fires each time a key is read from. Passes the value." ] -@PointClass base(Targetname, Parentname, Angles) iconsprite("editor/point_projectile.vmt") = point_projectile : +@PointClass base(Targetname, Parentname, Angles) iconsprite("editor/point_projectile.vmt") line(255 255 255, targetname, Owner) = point_projectile : "An entity that fires projectiles." [ Target(pointentityclass) : "Projectile Classname" : "crossbow_bolt" : "The classname of the projectile." @@ -6744,7 +6902,13 @@ [ ] -@FilterClass base(BaseFilter) iconsprite("editor/filter_multiple.vmt") = filter_multi : +@FilterClass base(BaseFilter) 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) line(0 255 0, targetname, filter11) line(0 255 0, targetname, filter12) + line(0 255 0, targetname, filter13) line(0 255 0, targetname, filter14) line(0 255 0, targetname, filter15) line(0 255 0, targetname, filter16) + line(0 255 0, targetname, filter17) line(0 255 0, targetname, filter18) line(0 255 0, targetname, filter19) line(0 255 0, targetname, filter20) += 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'." [ @@ -6769,7 +6933,7 @@ Filter05(filterclass) : "Filter 5" : : "Activator filter to test." ] -@FilterClass base(BaseFilter) iconsprite("editor/filter_name.vmt") = filter_activator_name : +@FilterClass base(BaseFilter) 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 "+ @@ -6809,15 +6973,19 @@ 1 : "[1] CRUSH" 2 : "[2] BULLET" 4 : "[4] SLASH" + 5 : "[5] Sharp physics objects (Crush+Slash)" //added by vizzys 8 : "[8] BURN" //16 : "[16] FREEZE" // This does not appear to exist. - 16 : "[16] VEHICLE" + 16 : "[16] VEHICLE (ran over)" 32 : "[32] FALL" 64 : "[64] BLAST" 128 : "[128] CLUB" - 256 : "[256] SHOCK" + 256 : "[256] SHOCK (+ stalker laser, tau cannon)" 512 : "[512] SONIC" - 1024 : "[1024] ENERGYBEAM" + 1024 : "[1024] ENERGYBEAM(+ lasers)" + 4098 : "[4098] Func_tank, large flying NPCs" //added by vizzys + 8194 : "[8194] Combine Autocannon" //added by vizzys + 8197 : "[8197] Barnacle Eat" //added by vizzys 16384: "[16384] DROWN" 32768 : "[32768] PARALYSE" 65536 : "[65536] NERVEGAS" @@ -6828,17 +6996,22 @@ 2097152 : "[2097152] SLOWBURN" //4194304 : "[4194304] SLOWFREEZE" // This does not appear to exist. 4194304 : "[4194304] REMOVENORAGDOLL" + 4196352 : "[4196352] Citadel beams, prop_coreball" //added by vizzys 16777216 : "[16777216] PLASMA" 33554432 : "[33554432] AIRBOAT (gun)" - 67108864 : "[67108864] DISSOLVE" + 67108864 : "[67108864] DISSOLVE (+ energy balls)" 134217728 : "[134217728] BLAST_SURFACE" + 134348800 : "[134348800] Acid Antlion explosions" //added by vizzys + 134217792 : "[134217792] Prop explosions" //added by vizzys 268435456 : "[268435456] DIRECT" + 268435464 : "[268435464] IGNITE, Passive Burn" 536870912 : "[536870912] BUCKSHOT" - 268435464 : "Ignite Damage (BURN + DIRECT) [268435464]" + 536870914 : "[536870914] SHOTGUN (Bullet+Buckshot)" //added by vizzys + 2147483648 : "[2147483648] Npc_missiledefense" //added by vizzys ] ] -@FilterClass base(BaseFilter) iconsprite("editor/filter_class.vmt") sphere(filter_radius) sphere(filter_outer_radius) = filter_enemy : +@FilterClass base(BaseFilter) iconsprite("editor/filter_class.vmt") sphere(filter_radius) sphere(filter_outer_radius) line(0 255 0, targetname, filtername) = 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 "+ @@ -6855,7 +7028,7 @@ spawnflags(Flags) = [ - 1 : "[1] Do not lose target if already aquired but filter failed." : 0 + 1 : "[1] Do not lose target if already acquired but filter failed." : 0 ] ] @@ -6873,7 +7046,7 @@ "A filter that filters by the response contexts of the activator." [ ResponseContext(string) : "Filter Context" : : "The context(s) to filter by. Syntax is 'key:value,key:value'. "+ - "Values in this field can use wilcards. For example, if this filter contains 'lastname:*', it will pass any entity with the context 'lastname', regardless of its value. "+ + "Values in this field can use wildcards. For example, if this filter contains 'lastname:*', it will pass any entity with the context 'lastname', regardless of its value. "+ "Wildcards do not apply to context names and you cannot define the same context multiple times, but inputs like AddContext or RemoveContext can be used to add to the filter context." any(choices) : "Pass if entity has any of these contexts" : 0 : "Should this filter only pass if the entity contains all of these contexts or can it pass if the entity has at least one of them?" = @@ -6991,7 +7164,7 @@ ] ] -@FilterClass base(BaseFilter) iconsprite("editor/filter_involume.vmt") = filter_activator_involume : +@FilterClass base(BaseFilter) iconsprite("editor/filter_involume.vmt") line(255 255 255, targetname, target) line(0 255 255, targetname, tester) = filter_activator_involume : "A filter that tests whether the activator is within a volume." [ target(target_destination) : "Volume" : : "The volume to be tested with. This filter passes if the activator is within this volume. Intended to be a brush entity. (e.g. a trigger)" @@ -7019,28 +7192,28 @@ //------------------------------------------------------------------------- //------------------------------------------------------------------------- -@BaseClass base(BaseFilter) = BaseRedirectFilter +@BaseClass base(BaseFilter) line(255 0 0, targetname, damagefilter) = BaseRedirectFilter [ damagefilter(filterclass) : "Target Filter" : "" : "The filter to pass to. You can also use the 'SetField' input." input SetField(target_destination) : "Sets the filter to pass to." ] -@FilterClass base(BaseRedirectFilter) iconsprite("editor/filter_redirect.vmt") = filter_redirect_inflictor : +@FilterClass base(BaseRedirectFilter) iconsprite("editor/filter_redirect.vmt") line(255 255 255, targetname, damagefilter) = filter_redirect_inflictor : "A filter that passes the inflictor of damage (e.g. the crossbow bolt instead of the crossbow user) to a separate filter." [ ] -@FilterClass base(BaseRedirectFilter) iconsprite("editor/filter_redirect.vmt") = filter_redirect_weapon : +@FilterClass base(BaseRedirectFilter) iconsprite("editor/filter_redirect.vmt") line(255 255 255, targetname, damagefilter) = filter_redirect_weapon : "A filter that passes the activator's weapon OR the weapon causing damage to a separate filter, depending on what this filter is filtering." [ ] -@FilterClass base(BaseRedirectFilter) iconsprite("editor/filter_redirect.vmt") = filter_redirect_owner : +@FilterClass base(BaseRedirectFilter) iconsprite("editor/filter_redirect.vmt") line(255 255 255, targetname, damagefilter) = filter_redirect_owner : "A filter that passes the activator's owner entity to a separate filter." [ ] -@FilterClass base(BaseRedirectFilter) iconsprite("editor/filter_damage_transfer.vmt") = filter_damage_transfer : +@FilterClass base(BaseRedirectFilter) line(255 255 255, targetname, target) iconsprite("editor/filter_damage_transfer.vmt") = filter_damage_transfer : "Whenever an entity using this as a damage filter takes damage, that damage is transferred to another entity. The entity using this filter will not take the damage unless a secondary filter is specified and passed or caller damage is allowed. All damage information including force, type, attacker, etc. should be retained during the transfer and it obeys the target entity's own damage filters." [ target(target_destination) : "Transfer Target" : "" : "The name of the entity/entities that will receive the damage. Please note that this complies with their own damage filters." @@ -7214,7 +7387,7 @@ // //------------------------------------------------------------------------- -@PointClass base(Targetname, Parentname, EnableDisable) = point_anglesensor : +@PointClass base(Targetname, Parentname, EnableDisable) line(0 100 250, targetname, target) = 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." @@ -7224,12 +7397,13 @@ spawnflags(Flags) = [ - 1 : "[1] Use target entity's angles (NOT position)" : 0 + 1 : "[1] Use target entity's angles (NOT position. Checks if entities face the same direction)" : 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." + input SetTargetEntity(target_destination) : "Set the target entity" //added by vizzys // Outputs output TargetDir(vector) : "Fired when the forward direction of the Target Entity changes. Passes the new forward direction as a parameter." @@ -7269,7 +7443,7 @@ output OnEqualTo(void) : "Fired when the Target Entity reaches the threshold angular velocity from a different velocity." ] -@PointClass base(Targetname) = point_velocitysensor : +@PointClass base(Targetname) 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." @@ -7287,7 +7461,7 @@ input Disable(void) : "Disable the sensor." ] -@PointClass base(Targetname, Parentname, EnableDisable, Angles) = point_proximity_sensor : +@PointClass base(Targetname, Parentname, EnableDisable, Angles) line(0 100 250, targetname, target) = 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 angles will be sensed." @@ -7306,7 +7480,7 @@ ] -@PointClass base(Targetname, Parentname, Angles) = point_teleport : +@PointClass base(Targetname, Parentname, Angles) 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." @@ -7324,12 +7498,16 @@ input TeleportToCurrentPos(void) : "Teleport to the current position." ] -@PointClass base(Targetname, Parentname, DamageTypes) sphere(DamageRadius) = point_hurt : +@PointClass base(Targetname, Parentname, DamageTypes) sphere(DamageRadius) line(255 0 0, targetname, damagetarget) = 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." [ - DamageTarget(target_destination) : "Target Entity" : "" : "If specified, only this entity will take damage. Otherwise, all entities within the Radius will take damage." + spawnflags(flags) = + [ + 1 : "[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." @@ -7341,7 +7519,7 @@ input Toggle(void) : "Toggle this entity between On/Off state." ] -@PointClass base(Targetname) size(-8 -8 -8, 8 8 8) = point_playermoveconstraint : +@PointClass base(Targetname) size(-8 -8 -8, 8 8 8) 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." @@ -7370,15 +7548,15 @@ [ 4096 : "[4096] Start Asleep" : 0 8192 : "[8192] Ignore +USE for Pickup" : 0 - 16384 : "[16384] Debris - Don't collide with the player or other debris" : 0 + 16384 : "[16384] Debris (Don't collide with the player or other debris)" : 0 32768 : "[32768] Motion Disabled" : 0 65536 : "[65536] Use Preferred Carry Angles" : 0 - 131072: "[131072] Enable motion on Physcannon grab" : 0 + 131072: "[131072] Enable motion on Gravity Gun grab" : 0 262144: "[262144] Not affected by rotor wash" : 0 524288: "[524288] Generate output on +USE " : 1 - 1048576 : "[1048576] Physgun can ALWAYS pick up. No matter what." : 0 - 2097152 : "[2097152] Physgun is NOT allowed to pick this up." : 0 - 4194304 : "[4194304] Physgun is NOT allowed to punt this object." : 0 + 1048576 : "[1048576] Gravity Gun can ALWAYS pick up. No matter what." : 0 + 2097152 : "[2097152] Gravity Gun is NOT allowed to pick this up." : 0 + 4194304 : "[4194304] Gravity Gun is NOT allowed to punt this object." : 0 8388608: "[8388608] Prevent motion enable on player bump" : 0 16777216: "[16777216] Radius pickup (easier to pickup)" : 0 ] @@ -7394,7 +7572,7 @@ 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." + 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 Gravity Gun or +USE." notsolid(choices) : "Not solid to world" : 0 = [ 0: "Solid to World" @@ -7406,18 +7584,21 @@ 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 ForceDrop(void) : "If this object is being carried by a player, with the Gravity Gun or +USE, force it to be dropped." input SetDebris(bool) : "Sets whether this brush is debris." + input DisableFloating(void) : "If the object would normally float when in water, tells it to not float. There seems to be no way to re-enable floating behavior." //added by vizzys + input Enable(void) : "Makes the object visible and solid (doesn't override Not solid to world)." //added by vizzys + input Disable(void) : "Makes the object invisible and untouchable." //added by vizzys // 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 OnPhysGunPull(void) : "Fired when a player pulls 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 OnMotionEnabled(void) : "Fired when motion is enabled due to damage/Gravity Gun/force." + output OnPhysGunPickup(void) : "Fired when a player picks this object up, either with the Gravity Gun or +USE." + output OnPhysGunPunt(void) : "Fired when a player punts this object with the Gravity Gun." + output OnPhysGunPull(void) : "Fired when a player pulls this object with the Gravity Gun." + output OnPhysGunOnlyPickup(void) : "Fired when a player picks this object up with the Gravity Gun. +USE pickups do not fire this output." + output OnPhysGunDrop(void) : "Fired when a player drops this object with the Gravity Gun." 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." ] @@ -7435,7 +7616,7 @@ attach2(target_destination) : "Entity 2" : "" 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." + 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 constrained 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." @@ -7449,14 +7630,18 @@ output OnBreak(void) : "Fired when the constraint breaks." ] -@PointClass base(Targetname) = phys_constraintsystem : +@PointClass base(Targetname) + line(255 255 255, targetname, attach1) + line(255 255 255, targetname, attach2) + line(128 128 128, targetname, attach1, targetname, attach2) += 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) = phys_keepupright : "A controller that tries to keep an entity facing a particular direction." +@PointClass base(Targetname,Angles) line(0 128 0, targetname, attach1) = phys_keepupright : "A controller that tries to keep an entity facing a particular direction." [ spawnflags(flags) = [ @@ -7469,6 +7654,7 @@ // Inputs input TurnOn(void) : "Enable the controller." input TurnOff(void) : "Disable the controller." + input SetAngularLimit(float) : "Change the angular limit." // added by vizzys ] @PointClass base(Targetname, Angles, Studiomodel) sphere(expradius) studioprop() = physics_cannister : @@ -7509,13 +7695,17 @@ massScale(float) : "Amount to scale the mass of this body in the constraint solver" : "1" ] -@PointClass size(-4 -4 -4, 4 4 4) = info_mass_center : +@PointClass size(-4 -4 -4, 4 4 4) 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) = phys_spring : +@PointClass halfgridsnap base(Targetname) + line(128 128 128, targetname, attach1) + line(128 128 128, targetname, attach2) + line(128 128 128, targetname, attach1, targetname, attach2) += 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 "+ @@ -7524,7 +7714,7 @@ [ spawnflags(flags) = [ - 1 : "[1] Force only on stretch" : 0 + 1 : "[1] Force only on stretch (Spring will never try to expand itself in order to reach Spring Length)" : 0 ] attach1(target_destination) : "Entity 1" : "" @@ -7544,7 +7734,11 @@ input SetSpringDamping(float) : "Set the Spring Damping." ] -@PointClass halfgridsnap size(-8 -8 -8, 8 8 8) base(TwoObjectPhysics) = phys_hinge : +@PointClass halfgridsnap size(-8 -8 -8, 8 8 8) base(TwoObjectPhysics) + line(128 128 128, targetname, attach1) + line(128 128 128, targetname, attach2) + line(128 128 128, targetname, attach1, targetname, attach2) += phys_hinge : "A physically simulated hinge. Use the helper to define the axis of rotation." [ hingefriction(float) : "Friction" : "0" : "Resistance/friction in the hinge" @@ -7572,7 +7766,11 @@ reversalsoundLarge(sound) : "Reversal sound (large)" : "" : "Episodic only. Play this sound when making a hard reverse over the large threshold" ] -@PointClass base(TwoObjectPhysics) iconsprite("editor/phys_ballsocket.vmt") = phys_ballsocket : +@PointClass base(TwoObjectPhysics) iconsprite("editor/phys_ballsocket.vmt") + line(255 255 255, targetname, attach1) + line(255 255 255, targetname, attach2) + line(128 128 128, targetname, attach1, targetname, attach2) + = 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) = @@ -7580,12 +7778,20 @@ ] ] -@PointClass base(TwoObjectPhysics) studio("models/editor/axis_helper.mdl") = phys_constraint : +@PointClass base(TwoObjectPhysics) studio("models/editor/axis_helper_thick.mdl") + line(255 255 255, targetname, attach1) + line(255 255 255, targetname, attach2) + line(128 128 128, targetname, attach1, targetname, attach2) + = phys_constraint : "A constraint that keeps the relative position and orientation of two objects fixed." [ ] -@PointClass base(TwoObjectPhysics) studio("models/editor/axis_helper.mdl") = phys_pulleyconstraint : +@PointClass base(TwoObjectPhysics) studio("models/editor/axis_helper_thick.mdl") + line(255 255 255, targetname, attach1) + line(255 255 255, targetname, attach2) + line(128 128 128, targetname, attach1, targetname, attach2) + = 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." [ @@ -7599,13 +7805,17 @@ ] ] -@PointClass halfgridsnap base(TwoObjectPhysics) studio("models/editor/axis_helper.mdl") = phys_slideconstraint : +@PointClass halfgridsnap base(TwoObjectPhysics) studio("models/editor/axis_helper_thick.mdl") + line(255 255 255, targetname, attach1) + line(255 255 255, targetname, attach2) + line(128 128 128, targetname, attach1, targetname, attach2) += phys_slideconstraint : "A constraint that constrains an entity along a line segment." [ spawnflags(flags) = [ 1: "[1] No Collision until break" : 1 - 2: "[2] Limit Endpoints" : 0 + 2: "[2] Limit Endpoints (Limit entity movement to the endpoints defined in Hammer)" : 0 ] slideaxis(vecline) : "Sliding Axis" slidefriction(float) : "Friction" : "0" : "Resistance/friction in the constraint" @@ -7631,7 +7841,12 @@ reversalsoundLarge(sound) : "Reversal sound (large)" : "" : "Play this sound when making a hard reverse over the large threshold" ] -@PointClass base(TwoObjectPhysics) studio("models/editor/axis_helper.mdl") = phys_lengthconstraint : +@PointClass base(TwoObjectPhysics) studio("models/editor/axis_helper_thick.mdl") + line(255 255 255, targetname, attach1) + line(255 255 255, targetname, attach2) + line(128 128 128, targetname, attach1, targetname, attach2) + sphere(minlength) += 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." @@ -7640,7 +7855,7 @@ spawnflags(flags) = [ 1: "[1] No Collision until break" : 1 - 2: "[2] Keep Rigid" : 0 + 2: "[2] Keep Rigid (Makes the minimum length the same as the maximum length)" : 0 ] ] @@ -7664,7 +7879,7 @@ zfriction(float) : "Z axis friction" : "0" ] -@PointClass base(Targetname) size(-8 -8 -8, 8 8 8) color(0 0 255) = phys_convert : +@PointClass base(Targetname) size(-8 -8 -8, 8 8 8) color(0 0 255) line(255 255 0, targetname, target) = 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) = @@ -7690,18 +7905,18 @@ input SetConversionType(integer) : "Sets this entity's conversion type. 0 = Simple, 1 = Conventional" ] -@BaseClass base(Targetname) = ForceController +@BaseClass base(Targetname) line(128 128 128, targetname, attach1) = ForceController [ spawnflags(flags) = [ // Thrust is on by default (will turn off in forcetime) 1: "[1] Start On" : 0 // Apply linear force (if off, torque only) - 2: "[2] Apply Force" : 1 + 2: "[2] Apply Force (Applies linear 'moving in a line' force)" : 1 // Apply rotational force (torque - if off, linear only) - 4: "[4] Apply Torque" : 1 + 4: "[4] Apply Torque (Applies rotational force)" : 1 // Maintain local relationship with the attached object - 8: "[8] Orient Locally" : 1 + 8: "[8] Orient Locally (Direction of thrust changes as the angles of the Attached Object change)" : 1 // Impulse is independent of object's mass (impulse is acceleration NOT force) 16: "[16] Ignore Mass" : 0 ] @@ -7714,7 +7929,7 @@ input Scale(string) : "Set Force Scale" ] -@PointClass base(ForceController, Angles) = phys_thruster : +@PointClass base(ForceController, Angles) line(255 255 255, targetname, attach1) = 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 "+ @@ -7723,13 +7938,13 @@ spawnflags(flags) = [ // Put the thrust at the object center - 32: "[32] Ignore Pos" : 0 + 32: "[32] Ignore Pos (Puts thrust at the object center to prevent spinning)" : 0 ] force(string) : "Force" : "0" : "Force (will be integrated, units are force kg*in/s^2)" ] -@PointClass halfgridsnap base(ForceController) = phys_torque : +@PointClass halfgridsnap base(ForceController) line(255 255 255, targetname, attach1) = phys_torque : "An angular thruster. Use it to apply angular force to an entity." [ // Angular acceleration (units are degress/s^2) @@ -7737,22 +7952,23 @@ axis(vecline) : "Rotation Axis" : "" ] -@PointClass base(Targetname) halfgridsnap size(-8 -8 -8, 8 8 8) = phys_motor : +@PointClass base(Targetname) halfgridsnap size(-8 -8 -8, 8 8 8) 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)" + speed(string) : "Rotation Speed" : "0" : "Angular speed (units are degrees/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." + inertiafactor(float) : "System Inertia Scale" : "1.0" : "Make this larger if the object being driven is constrained to a set of heavier objects." axis(vecline) : "Rotation Axis" : "" + addangaccel(float) : "Additional Angular Acceleration" : "0.0" : "Increase this if you want the object to have more acceleration." //added by vizzys spawnflags(flags) = [ // starts on by default 1: "[1] Start On" : 1 // Disable world collisions on hinges - 2: "[2] No world collision" : 0 + 2: "[2] No world collision (If Hinge Object was set, make Attached Object not collide with world brushes)" : 0 // motor also acts as a hinge constraining the object to this axis - 4: "[4] Hinge Object" : 1 + 4: "[4] Hinge Object (Makes the object 'attached' to the motor. If not set, will move around freely)" : 1 // Maintain local relationship with the attached object (NOT WORKING YET) // 8: "[8] Orient Locally" : 1 ] @@ -7764,7 +7980,7 @@ input TurnOff(void) : "Turns motor off" ] -@PointClass base(Targetname, Parentname, Angles, Studiomodel) studio() = phys_magnet : +@PointClass base(Targetname, Parentname, Angles, Studiomodel) sphere(fademindist) sphere(fademaxdist) studio() = phys_magnet : "An entity that acts like a magnet, attaching metallic physics objects to itself when they touch it." [ spawnflags(flags) = @@ -7772,8 +7988,8 @@ 1 : "[1] Start Asleep" : 0 2 : "[2] Motion Disabled" : 0 4 : "[4] Suck On Touch" : 0 - 8 : "[8] Allow Attached Rotation" : 0 - 16: "[16] Coast jeep pickup hack" : 0 + 8 : "[8] Allow Attached Rotation (Allows attached objects to rotate freely)" : 0 + 16: "[16] Coast jeep pickup hack (Only pick up classname prop_vehicle_jeep, break or delete anything else)" : 0 32: "[32] Prevent player pickup" : 0 ] @@ -7787,7 +8003,11 @@ // Inputs input TurnOn(void) : "Turn the magnet on." input TurnOff(void) : "The the magnet off. This will detach anything current stuck to the magnet." + input Toggle(void) : "Toggle the magnet on or off." //added by vizzys + input SetCycle(float) : "Skip to a specific point in the CURRENT animation. Needs to be set AFTER setting the animation and starting playback." //added by vizzys + input SetModel(string) : "Changes the model to the specified path. Form of models/ammo/ammo_us.mdl. Absolutely NO quotes. Make sure you use forward slash." //added by vizzys + input SetPlayBackRate(float) : "Change the animation speed multiplier (default: 1). Needs to be set AFTER setting the animation, starting playback, and setting the animation point (if needed)." //added by vizzys // 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." @@ -7907,8 +8127,9 @@ input SetAnimation(string) : "Forces 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) : "Sets the Default Animation to the one specified in the parameter." - input SetPlaybackRate(float) : "Sets the playback rate for the current animation." - input SetCycle(float) : "Sets the cycle the current animation." + input SetPlaybackRate(float) : "Change the animation speed multiplier (default: 1). Needs to be set AFTER setting the animation, starting playback, and setting the animation point (if needed)." + input SetCycle(float) : "Skip to a specific point in the CURRENT animation. Needs to be set AFTER setting the animation and starting playback." + input SetModel(string) : "Changes the model to the specified path. Form of models/ammo/ammo_us.mdl. Absolutely NO quotes. Make sure you use forward slash." //added by vizzys input SetBodyGroup(integer) : "Sets the visible bodygroup, by index." input TurnOn(void) : "Makes the prop visible." input TurnOff(void) : "Makes the prop invisible." @@ -7923,7 +8144,14 @@ @PointClass base(prop_detail_base) studioprop() = prop_detail : "Detail Prop" [ - model(studio) : "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." + detailOrientation(choices) : "Orientation" : 0 : "Model rotation behavior." = + [ + 0 : "No rotation (default)." + 1 : "Always rotate to face the camera head on." + 2 : "Rotate to face the camera, but ignore the Z axis." + ] + ] @PointClass base(prop_static_base) color(255 255 0) sphere(fademindist) sphere(fademaxdist) studioprop() = prop_static : @@ -7995,23 +8223,23 @@ output OnOut(void) : "Fired whenever the prop completes its 'Out' animation." ] -@BaseClass base(Targetname, Global, Angles, Studiomodel, BreakableProp, RenderFields, DXLevelChoice, BaseFadeProp) = BasePropPhysics +@BaseClass base(Targetname, Global, Angles, Studiomodel, BreakableProp, RenderFields, DXLevelChoice, Parentname, BaseFadeProp, DamageFilter) = BasePropPhysics [ spawnflags(flags) = [ 1 : "[1] Start Asleep" : 0 2 : "[2] Don't take physics damage" : 0 - 4 : "[4] Debris - Don't collide with the player or other debris" : 0 + 4 : "[4] Debris (Don't collide with the player or other debris)" : 0 8 : "[8] Motion Disabled" : 0 - 64 : "[64] Enable motion on Physcannon grab" : 0 + 64 : "[64] Enable motion on Gravity Gun grab" : 0 128 : "[128] Not affected by rotor wash" : 0 256 : "[256] Generate output on +USE " : 1 512 : "[512] Prevent pickup" : 0 1024: "[1024] Prevent motion enable on player bump" : 0 4096: "[4096] Debris with trigger interaction" : 0 8192: "[8192] Force server-side (Multiplayer only)" : 0 - 16384: "[16384] Radius pickup (easier to pickup)" : 0 - 1048576: "[1048576] Physgun can ALWAYS pick up. No matter what." : 0 + 16384: "[16384] Radius pickup (Easier to pickup)" : 0 + 1048576: "[1048576] Gravity Gun can ALWAYS pick up. No matter what." : 0 2097152: "[2097152] No collisions" : 0 8388608: "[8388608] Zombies can't swat" : 0 ] @@ -8025,7 +8253,7 @@ 1: "Sharp" ] - nodamageforces(choices) : "Damaging it Doesn't Push It" : 0 : "Used to determine whether or not damage should cause the brush to move." = + nodamageforces(choices) : "Damaging it Doesn't Push It" : 0 : "Used to determine whether or not damage should cause the prop to move." = [ 0: "No" 1: "Yes" @@ -8053,15 +8281,18 @@ input DisablePuntSound(void) : "Prevent this prop from playing its own sound when punted" input SetDebris(bool) : "Sets whether this prop is debris." + input SetCycle(float) : "Skip to a specific point in the CURRENT animation. Needs to be set AFTER setting the animation and starting playback." //added by vizzys + input SetModel(string) : "Changes the model to the specified path. Form of models/ammo/ammo_us.mdl. Absolutely NO quotes. Make sure you use forward slash." //added by vizzys + input SetPlayBackRate(float) : "Change the animation speed multiplier (default: 1). Needs to be set AFTER setting the animation, starting playback, and setting the animation point (if needed)." //added by vizzys // 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 OnPhysGunPickup(void) : "Fired when the player picks up the prop with the Gravity Gun or +USE." + output OnPhysGunPunt(void) : "Fired when a player punts this object with the Gravity Gun." + output OnPhysGunOnlyPickup(void) : "Fired when a player picks this object up with the Gravity Gun. +USE pickups do not fire this output." + output OnPhysGunDrop(void) : "Fired when the player drops the prop with the Gravity Gun 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 OnPlayerPickup(void) : "Fired whenever the player picks up this prop (with the Gravity Gun or with +USE)." output OnOutOfWorld(void) : "Fired whenever the prop is out of the allowed world bounds." ] @@ -8089,7 +8320,7 @@ "12": "12 : Allow player to hold directly overhead" ] - preferredcarryangles(angle) : "Preferred Player-carry Angles" : "0" : "The angle which the object should orient to when the player picks it up with the physgun or +USE. Overrides the prop's own QC carry angles if it has any. '0' doesn't override the carry angles." + preferredcarryangles(angle) : "Preferred Player-carry Angles" : "0" : "The angle which the object should orient to when the player picks it up with the Gravity Gun or +USE. Overrides the prop's own QC carry angles if it has any. '0' doesn't override the carry angles." // Inputs input Ignite(void) : "Ignite, burst into flames." @@ -8098,7 +8329,7 @@ input IgniteHitboxFireScale(float) : "Ignite, with a parameter hitbox fire scale." ] -@PointClass base(BasePropPhysics) studioprop() sphere(fademindist) sphere(fademaxdist) = prop_physics : +@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. "+ @@ -8135,7 +8366,7 @@ [ spawnflags(flags) = [ - 4 : "[4] Debris - Don't collide with the player or other debris" : 1 + 4 : "[4] Debris (Don't collide with the player or other debris)" : 1 8192 : "[8192] Allow Dissolve" : 0 16384 : "[16384] Motion Disabled" : 0 32768 : "[32768] Allow stretch" : 0 @@ -8154,8 +8385,12 @@ input FadeAndRemove(float) : "Fade out then remove (kill) self. Parameter override = duration of fade" input AddToLRU(void) : "Adds the ragdoll to the cleanup list (ragdoll will fade out when it's the least recently used)" input RemoveFromLRU(void) : "Removes the ragdoll from the cleanup list, allowing it to exist indefinitely" - + output OnPlayerUse(void) : "Fires when the ragdoll is used, if +USE is enabled." + + input SetCycle(float) : "Skip to a specific point in the CURRENT animation. Needs to be set AFTER setting the animation and starting playback." //added by vizzys + input SetModel(string) : "Changes the model to the specified path. Form of models/ammo/ammo_us.mdl. Absolutely NO quotes. Make sure you use forward slash." //added by vizzys + input SetPlayBackRate(float) : "Change the animation speed multiplier (default: 1). Needs to be set AFTER setting the animation, starting playback, and setting the animation point (if needed)." //added by vizzys ] @PointClass base(prop_dynamic_base) studioprop() = prop_dynamic_ornament : @@ -8179,7 +8414,7 @@ spawnflags(flags) = [ 1 : "[1] Start Asleep" : 0 - 4 : "[4] Debris - Don't collide with the player or other debris" : 0 + 4 : "[4] Debris (Don't collide with the player or other debris)" : 0 ] ] @@ -8223,7 +8458,7 @@ @SolidClass base(func_areaportal) color(0 255 255) = func_areaportal_oneway : "An areaportal that is only open when viewed from one direction." [ origin_(origin) readonly : "Origin" : : "Point from which the areaportal's location is determined (they are a special case and cannot use the normal value). Read-only." - group(string) : "One-way group" : : "Optimisation: oneway portals in the same group share a single closed/open state. Use this, for example, on walls full of one-way windows." + group(string) : "One-way group" : : "Optimization: oneway portals in the same group share a single closed/open state. Use this, for example, on walls full of one-way windows." onewayfacing(angle) : "Open direction" : "0 0 0" : "The portal will be open when the player is within 90 degrees of this direction." avoidpop(choices) : "Avoid latency pop" : 0 : "Enable this if it becomes noticeable that the portal stays closed momentarily after the player walks past it. The portal will open 80 units in advance." = [ @@ -8231,9 +8466,9 @@ 1 : "Yes" ] - input DisableOneWay(void) : "Disable the one-way behaviour of the portal." - input EnableOneWay(void) : "Enable the one-way behaviour of the portal." - input ToggleOneWay(void) : "Toggle the one-way behaviour of the portal." + input DisableOneWay(void) : "Disable the one-way behavior of the portal." + input EnableOneWay(void) : "Enable the one-way behavior of the portal." + input ToggleOneWay(void) : "Toggle the one-way behavior of the portal." input InvertOneWay(void) : "Flip the one-way direction." ] @@ -8368,7 +8603,7 @@ // WaveHeight(string) : "Wave Height" : "3.0" //] -@SolidClass base(Targetname, Parentname, RenderFields, Global) = func_guntarget : +@SolidClass base(Targetname, Parentname, RenderFields, Global) 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." @@ -8387,7 +8622,7 @@ @PointClass sphere(max_range) sphere(LoudPanicRange) sphere(QuietPanicRange) = func_fish_pool : "Creates a school of interactive fish that swim near this entity." [ - model(studio) : "World model" : "models/Junkola.mdl" + model(studio) : "World model" : : "World model to appear as." skin(integer) : "Skin" : 0 : "Some models have multiple versions of their textures, called skins. Set this to a number other than 0 to make each fish use that skin instead of the default." fish_count(integer) : "Fish Count" : 10 : "Number of Fish in this Pool" max_range(float) : "Max Range" : 150 : "How far away a Fish can wander (max 255)" @@ -8396,7 +8631,7 @@ QuietPanicRange(float) : "Quiet Panic Range" : 75 : "How far away a quiet event (a footstep) has to be to make the fish in this pool panic." // Inputs - input SpawnFish(void) : "Spawns an additonal fish. This ignores the fish count keyvalue." + input SpawnFish(void) : "Spawns an additional fish. This ignores the fish count keyvalue." input PanicLoudFromPoint(vector) : "Causes a loud panic event at the specified location vector." input PanicQuietFromPoint(vector) : "Causes a quiet panic event at the specified location vector." input Skin(integer) : "Changes the fish skin to the specified number." @@ -8427,7 +8662,7 @@ 8: "heavy elev" 9: "rack elev" 10: "rail elev" - 11: "squeek elev" + 11: "squeak elev" 12: "odd elev 1" 13: "odd elev 2" ] @@ -8440,7 +8675,7 @@ 4: "heavy elev stop" 5: "rack stop" 6: "rail stop" - 7: "squeek stop" + 7: "squeak stop" 8: "quick stop" ] volume(string) : "Sound Volume 0.0 - 1.0" : "0.85" @@ -8469,10 +8704,11 @@ [ spawnflags(flags) = [ - 1 : "[1] No Pitch (X-rot)" : 0 + 1 : "[1] No Pitch (X-rot, pitch never changes as it moves)" : 0 2 : "[2] No User Control" : 0 + 4 : "[4] Forward Only (The controlling player may only move the entity forward, or stop it.)" : 0 8 : "[8] Passable" : 0 - 16 : "[16] Fixed Orientation" : 0 + 16 : "[16] Fixed Orientation (Brush stays in the orientation it was created in)" : 0 128 : "[128] Rideable Train (HL1 Train)" : 0 256 : "[256] Use max speed for pitch shifting move sound" : 0 512 : "[512] Is unblockable by player" : 0 @@ -8560,6 +8796,7 @@ // 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 OnNextPoint(void) : "Fires every tick as the train moves. Activator is the path_track being traveled to." //added by vizzys ManualSpeedChanges(choices) : "Manual Train Speed" : 0 : "Train Speed is controlled through IO, handles accel, decel times." = [ @@ -8586,20 +8823,20 @@ output OnDeath(void) : "Fired when the tank is killed." ] -@SolidClass base(Parentname,Global) = func_traincontrols : +@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) iconsprite("editor/tanktrain_aitarget.vmt") = tanktrain_aitarget : +@PointClass base(Targetname) iconsprite("editor/tanktrain_aitarget.vmt") line(255 255 255, targetname, target) line(255 255 255, targetname, newtarget) = 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) iconsprite("editor/tanktrain_ai.vmt") = tanktrain_ai : +@PointClass base(Targetname) iconsprite("editor/tanktrain_ai.vmt") line(255 255 255, targetname, target) = tanktrain_ai : "Train chase AI" // NEEDHELP [ target(target_destination) : "Train Name" @@ -8620,6 +8857,7 @@ 16: "[16] Teleport to THIS path track" : 0 32: "[32] Part of an uphill path" : 0 64: "[64] Part of a downhill path" : 0 + 32768 : "[32768] Start on Branch (Sends trains to Branch Path by default.)" : 0 ] target(target_destination) : "Next Stop Target" : : "The next path_track in the path." @@ -8644,6 +8882,8 @@ input EnablePath(void) : "Enable the track." input DisablePath(void) : "Disable the track." + input InPass(void) : "Fires OnPass. Normally the path follower entity sends this to the path node when it reaches that point." + input InTeleport(void) : "Fires OnTeleport. Normally the path follower entity sends this to the path node when it teleports to it." // Outputs output OnPass(void) : "Fired when any entity following this path passes this path_track node." output OnTeleport(void) : "Fired when any entity following this path teleports directly to this path_track node." @@ -8678,7 +8918,7 @@ ] 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." + MinimumHitPoints(integer): "Minimum Hit Points" : 0 : "Don't save dangerous when player has less than this many hitpoints." ] @SolidClass base(EnableDisable) = trigger_changelevel : @@ -8707,7 +8947,7 @@ ] @SolidClass base(Trigger) = trigger_gravity : - "A trigger volume that changes the gravity on any entity that touches it." + "A trigger volume that changes the gravity on any entity that touches it. BUG: Filters do not work with this entity." [ gravity(integer) : "Gravity (0-1)" : 1 ] @@ -8731,7 +8971,7 @@ "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" + soundscape(target_source) : "Soundscape Entity" ] @SolidClass base(Trigger, Targetname, DamageTypes) = trigger_hurt : @@ -8774,7 +9014,7 @@ @SolidClass base(Trigger) = 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)." + wait(float) : "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 (If set to 0, it will be reset to 0.2 seconds)." // Touch test stuff is now on all trigger entities. @@ -8789,7 +9029,7 @@ output OnTrigger(void) : "Fired whenever the trigger is activated." ] -@SolidClass base(Trigger) = trigger_look : +@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 " + @@ -8800,11 +9040,11 @@ spawnflags(flags) = [ 128: "[128] Fire Once" : 1 - 256: "[256] Use Velocity instead of facing" : 0 + 256: "[256] Use Velocity instead of facing (Use the direction the player is going, instead of the direction they're looking)" : 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." + LookTime(string) : "LookTime" : "0.5" : "The time, in seconds, that the player must look at 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." @@ -8820,7 +9060,10 @@ 1 : "Yes" ] - // Output + // Inputs + input LookTime(float) : "Set the time, in seconds, that the player has to look at the target before firing." //added by vizzys + input FieldOfView(float) : "Set how close the player has to be looking at the target." //added by vizzys + // Outputs 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." ] @@ -8832,7 +9075,7 @@ spawnflags(flags) = [ - 128: "[128] Once Only" : 0 + 128: "[128] Trigger Once Only" : 0 256: "[256] Affects Ladders (Half-Life 2)" : 0 ] @@ -8873,13 +9116,13 @@ output ImpactForce(string) : "Fired after an impact. The parameter passed along is the force of the impact that was generated." ] -@SolidClass base(Trigger) = trigger_proximity : +@SolidClass base(Trigger) sphere(radius) line(255 255 255, targetname, measuretarget) = 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(string) : "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." + radius(string) : "Radius to measure within" : 256 : "The radius to which the distance should be mapped. If the player is outside the radius they will be ignored." // Outputs output NearestEntityDistance(integer) : "Fired continuously when entities are touching the trigger volume. The output parameter is the distance from the "+ @@ -8887,7 +9130,7 @@ "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) = trigger_teleport : +@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." @@ -8947,13 +9190,13 @@ // //------------------------------------------------------------------------- -@PointClass base(Targetname,ResponseContext,EnableDisable) = ai_speechfilter : +@PointClass base(Targetname,ResponseContext,EnableDisable) line(255 255 255, targetname, subject) = 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." = + NeverSayHello(choices) : "Greet Player?" : 0 : "If set to Yes, our NPC(s) won't greet the player when they first meet them." = [ 0 : "Yes" 1 : "No" @@ -8982,7 +9225,7 @@ // Used to allow entities to use point_cameras for their materials //------------------------------------------------------------------------- -@PointClass base(Targetname) = info_camera_link : +@PointClass base(Targetname, Parentname) 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 " + @@ -9030,7 +9273,7 @@ output OnEventFired(void) : "Fires when the event has been detected." ] -@PointClass base(logic_eventlistener) = point_event : +@PointClass base(logic_eventlistener) line(255 255 0, targetname, Target) line(255 255 0, targetname, ReplacementEntity) = point_event : "An entity that can listen to events fired from code and fire " + "an output when it happens." [ @@ -9080,7 +9323,12 @@ // Used to allow entities to mimic the motions of other entities //------------------------------------------------------------------------- -@PointClass base(Targetname) = logic_measure_movement : +@PointClass base(Targetname) + 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." [ @@ -9143,6 +9391,11 @@ MeasureReference(target_destination) : "Measure Reference" : "" : "The movement of Entity to Measure will be mirrored relative to this entity. (Mirror relative)" Target(target_destination) : "Entity to Move" : "" : "This entity will be mirrored across the motions of Entity to Measure. (Movement target)" TargetReference(target_destination) : "Movement Reference" : "" : "The Entity to Move will be mirrored relative to this entity. (Mirror target)" + + input SetTarget(target_destination) : "Set the Target Entity." //added by vizzys + input SetMirrorTarget(string) : "Set the Mirror Target Entity." //added by vizzys + input SetRemoteTarget(string) : "Set the Remote Target Entity." //added by vizzys + input SetMirrorRelative(string) : "Set the Mirror Relative Entity." //added by vizzys ] @PointClass base(logic_measure_movement, Angles) sphere(TraceDistance) = logic_measure_direction : @@ -9211,7 +9464,7 @@ //------------------------------------------------------------------------- @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"+ + "An entity used for non-NPCs that need to synchronize 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" @@ -9228,17 +9481,17 @@ input RollCredits(void) : "Start the intro credits rolling." input RollOutroCredits(void) : "Start the outro credits rolling." input ShowLogo(void) : "Show the HL2 logo." - + input SetLogoLength(float) : "Sets the amount of time the logo is displayed. Default is 5.0." //added by vizzys // Outputs output OnCreditsDone(void) : "Fired when the credits having finished rolling." ] -@PointClass base(Parentname, Targetname) size(-8 -8 -8, 8 8 8 ) = material_modify_control : +@PointClass base(Parentname, Targetname) size(-8 -8 -8, 8 8 8 ) line(255 255 0, targetname, parentname) = 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." + materialName(string) : "The single material to modify on the parent. 'materials/' and '.vmt' is not required. Maximum of 255 characters allowed." + materialVar(string) : "Material variable to modify, '$frame' for example. Maximum of 255 characters allowed." // Inputs input SetMaterialVar(string) : "Fire to modify a material variable. The argument is the value to set the variable to." @@ -9288,18 +9541,22 @@ input SquadForceSummon(void) : "Forces the player's squad to be resummoned." input SquadForceGoTo(vector) : "Forces the player's squad to go to the specified point." - input EnableGeigerCounter(void) : "Allows the player's geiger counter to respond to radiation if it was prevented before." - input DisableGeigerCounter(void) : "Prevents the player's geiger counter from responding to radiation." + input EnableGeigerCounter(void) : "Allows the player's Geiger counter to respond to radiation if it was prevented before." + input DisableGeigerCounter(void) : "Prevents the player's Geiger counter from responding to radiation." input ShowSquadHUD(void) : "Shows the player's squad status HUD if it was hidden before." input HideSquadHUD(void) : "Hides the player's squad status HUD." input SetHUDVisibility(bool) : "Sets whether the HUD should be disabled. Also disables most forms of weapon switching." input SetSuppressAttacks(bool) : "Sets whether attacks should be suppressed." + + input SetCycle(float) : "Skip to a specific point in the CURRENT animation. Needs to be set AFTER setting the animation and starting playback." //added by vizzys + input SetModel(string) : "Changes the model to the specified path. Form of models/ammo/ammo_us.mdl. Absolutely NO quotes. Make sure you use forward slash." //added by vizzys + input SetPlayBackRate(float) : "Change the animation speed multiplier (default: 1). Needs to be set AFTER setting the animation, starting playback, and setting the animation point (if needed)." //added by vizzys ] @PointClass base(Targetname, DamageFilter, PlayerProxyPlayer) iconsprite("editor/logic_playerproxy.vmt") = logic_playerproxy : - "An entity that is used to relay inputs/ouputs to the player and back to the world." + "An entity that is used to relay inputs/outputs to the player and back to the world." [ SetMaxInputArmor(integer) : "Max Input Armor" : 100 : "Sets the maximum armor a player can receive from the AddArmor, RemoveArmor, and SetArmor inputs. This does NOT override how much armor a player can receive overall!" @@ -9318,8 +9575,8 @@ HandsVMBody(string) : "Hands Viewmodel Bodygroup" : : "Bodygroup value for the custom hands viewmodel." // 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]." + output OnFlashlightOn(float) : "Fired when the player turns on their 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 their 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." input RequestPlayerArmor(void) : "Requests the current player's armor from the proxy. This will fire the PlayerArmor output with the value." input RequestPlayerAuxPower(void) : "Requests the current player's auxiliary power from the proxy. This will fire the PlayerAuxPower output with the value." @@ -9353,6 +9610,9 @@ input DisableCappedPhysicsDamage(void) : "Undo effects of EnableCappedPhysicsDamage" input SetLocatorTargetEntity(target_destination) : "Set the entity that the HUD locator should track. (Usually a vehicle)" + input SetHandModel(string) : "Sets player's hand viewmodel. Obsolete?" //added by vizzys + input SetHandModelSkin(string) : "Sets player's hand viewmodel skin. Obsolete? Consider ent_fire viewmodel skin 1 instead." //added by vizzys + input SetDrawPlayerModelExternally(string) : "Sets the player model to draw in mirrors and thirdperson (does not affect hand viewmodels)" //added by vizzys input SetMaxInputArmor(integer) : "Sets the maximum armor value that could be set by armor inputs." input SetSuitZoomFOV(integer) : "Sets the FOV used by suit zoom." @@ -9372,7 +9632,7 @@ ] @PointClass base(Targetname, Parentname) size(-8 -8 -8, 8 8 8 ) = env_spritetrail : - "A magical trail you can parent to anything you heart desires." + "A sprite trail you can parent to anything you heart desires." [ lifetime(float) : "Lifetime" : "0.5" startwidth(float) : "Start Width" : "8.0" @@ -9388,12 +9648,20 @@ 4: "Solid" 5: "Additive" ] + // Inputs added by vizzys + 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." ] // // ASW-based Projected Texture // -@PointClass base(Targetname, Parentname, Angles) studio("models/editor/cone_projected_helper.mdl") frustum(lightfov,nearz,farz,lightcolor,-1) = env_projectedtexture : +@PointClass base(Targetname, Parentname, Angles) studio("models/editor/cone_projected_helper.mdl") frustum(lightfov,nearz,farz,lightcolor,-1) line(255 255 255, targetname, target) = env_projectedtexture : "Projected texture entity." [ spawnflags(flags) = @@ -9476,6 +9744,7 @@ input SetSpotlightFrame(string) : "Sets the spotlight texture frame" input EnableShadows(bool) : "Set the if shadows are enabled" input LightColor(color255) : "Change the light color" + input LightWorld(integer) : "Sets Light the World." //added by vizzys input SetBrightness(float) : "Sets brightness." input SetColorTransitionTime(float) : "Sets the color transition time." input SetConstant(float) : "Sets the constant attenuation." @@ -9564,7 +9833,7 @@ input SetRefractRenderTarget(string) : "Sets the refraction render target." ] -@SolidClass base(func_brush) = func_fake_worldportal : +@SolidClass base(func_brush) line(255 255 0, targetname, target) line(255 255 255, targetname, FogController) = func_fake_worldportal : "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 " + @@ -9637,9 +9906,9 @@ 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" + 0 : "Prefix (fixup-name)" + 1 : "Postfix (name-fixup)" + 2 : "None (name)" ] remap_vecline(choices) : "Remap Vector Lines" : 0 : "Remaps vecline keyvalues to the instance's origin. vecline is a type of vector which displays a line back to the entity's origin. This is often used on entities like phys_hinge for displaying an axis." = @@ -9680,7 +9949,7 @@ "A trigger that adds impulse to touching entities." [ impulse_dir(angle) : "Impulse Direction (Pitch Yaw Roll)" : "0 0 0" : "Angles indicating the direction to push touching entities." - force(float) : "Impulse Force" : "300" : "" + force(float) : "Impulse Force" : "300" : "How much force to apply, in units/degrees per second." input ApplyImpulse(void) : "Apply impulse to touching entities" ] @@ -9692,10 +9961,10 @@ 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" + 1 : "Show on the HUD" ] - hint_allow_nodraw_target(Choices) : "Allow invisible target" : 1 : "Do we allow the hint to follow entites with nodraw set?" = + 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" @@ -9849,7 +10118,7 @@ ] -@PointClass base(Targetname,EnableDisable) = point_glow : "Mapbase off-shoot of tf_glow" +@PointClass base(Targetname,EnableDisable) line(255 255 255, targetname, target) = point_glow : "Mapbase off-shoot of tf_glow" [ target(target_destination) : "Target" : : "One target only." GlowColor(color255) : "Glow Color" : "255 0 0 255" : " 0-255" @@ -9892,7 +10161,7 @@ ] ] -@PointClass base(Targetname) sphere(near_blur) sphere(near_focus) sphere(far_blur) sphere(far_focus) sphere(focus_range) iconsprite("editor/env_dof_controller.vmt") = env_dof_controller : +@PointClass base(Targetname) sphere(near_blur) sphere(near_focus) sphere(far_blur) sphere(far_focus) sphere(focus_range) iconsprite("editor/env_dof_controller.vmt") line(255 255 0, targetname, focus_target) = 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(choices) : "Enabled" : 0 : "Whether the effect should be active" = @@ -9921,8 +10190,11 @@ 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." ] - -@SolidClass base( Targetname, EnableDisable ) = fog_volume : "An entity to control the fog in the map." +@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." diff --git a/halflife2.fgd b/halflife2.fgd index 5df447e..0b12c99 100644 --- a/halflife2.fgd +++ b/halflife2.fgd @@ -1,4 +1,4 @@ -//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. ======= +//====== Copyright © 1996-2005, Valve Corporation, All rights reserved. ======= // // Purpose: Half-Life 2 game definition file (.fgd) // @@ -24,7 +24,7 @@ 0 : "No (Use speech semaphore)" 1 : "Yes (Don't use speech semaphore)" ] - + input DispatchResponse(string) : "Dispatches a response." //added by vizzys input SpeakResponseConcept(string) : "Speak the specified response concept." ] @@ -88,7 +88,7 @@ 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 KilledNPC(void) : "Tells the entity it killed something. This input is automatically sent by the victim when they die. The NPC may respond with a voiceline remarking on the fight." //added by vizzys 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." @@ -139,7 +139,7 @@ input BeginRappel(void) : "BeginRappel" // Outputs - output OnRappelTouchdown(void) : "Fires when done rappeling" + output OnRappelTouchdown(void) : "Fires when done rappelling" ] @BaseClass = AlyxInteractable @@ -164,13 +164,13 @@ spawnflags(Flags) = [ 4096 : "[4096] Start inactive" : 1 - 8192 : "[8192] Combine power supply" : 0 + 8192 : "[8192] Combine power supply (Balls behave like the ones seen in the Overwatch Nexus and bounce around)" : 0 ] ballcount(integer) : "Ball count" : 3 : "This is how many balls will be bouncing around inside the spawner" minspeed(float) : "Min ball speed" : "300.0" : "The minimum speed of balls that fly in the spawner" maxspeed(float) : "Max ball speed" : "600.0" : "The maximum speed of balls that fly in the spawner" - ballradius(float) : "Ball radius" : "20.0" : "The radius of the energy balls" + ballradius(float) : "Ball radius" : "12.0" : "The size of the sprite and the collision. This is restricted within 1-12 units." balltype(choices) : "Ball Type" : "Combine Energy Ball 1" = [ 0 : "Combine Energy Ball 1" @@ -182,11 +182,11 @@ 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 OnBallGrabbed(void) : "Fired when a combine ball is grabbed from the field by a super Gravity Gun" 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 OnLastBallGrabbed(void) : "Fired when the last combine ball is grabbed from the field by a super Gravity Gun" output OnFirstBallReinserted(void) : "Fired when the first combine ball is reinserted into the field (only gets triggered when Combine Power supply is checked)" ] @@ -196,6 +196,10 @@ [ // Inputs input Explode(void) : "Explode" + input FadeAndRespawn(void) : "Fade And Respawn Ball" //added by vizzys + input Socketed(void) : "Episodic Only. Ball is 'Socketed' in place." //added by vizzys + input SetLifetime(float) : "Set the lifetime of the ball to the given duration." + input AddLifetime(float) : "Add the given amount of additional lifetime." ] @SolidClass base(Trigger, Angles) = trigger_physics_trap : @@ -216,7 +220,7 @@ // Outputs output OnDissolveWeapon(void) : "Fires when one weapon is starting to dissolve in the trigger volume." - output OnChargingPhyscannon(void) : "Fires when the trigger begins to charge the physcannon." + output OnChargingPhyscannon(void) : "Fires when the trigger begins to supercharge the Gravity Gun." // Inputs input StopSound(void) : "Stops all sounds." @@ -233,12 +237,12 @@ ] @SolidClass base(CombineBallSpawners) = func_combine_ball_spawner : - "Spawns Combine balls." + "A brush that creates and contains prop_combine_balls. The balls inside this entity behave like the ones seen in light beams throughout the Citadel." [ 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" + output OnLastBallGrabbed(void) : "Fired when the last combine ball is grabbed from the field by a super Gravity Gun" - input Destroy(void) : "Releases all balls from the spawner as if they were punted out by the gravity gun." + input Destroy(void) : "Releases all balls from the spawner as if they were punted out by the Gravity Gun." ] @PointClass base(CombineBallSpawners, Parentname) = point_combine_ball_launcher : @@ -269,12 +273,23 @@ @NPCClass base(Targetname) studio("models/Weapons/w_grenade.mdl") = npc_grenade_frag : "Hand Grenade" [ input SetTimer(float) : "This input makes the grenade live, and specifies how many seconds before it explodes." + input Detonate(void) : "This input makes the grenade Detonate." //added by vizzys + output OnDetonate(void) : "Fires when the grenade Detonates." //added by vizzys ] -@NPCClass base(BaseNPC) sphere(sightdist) studio("models/combine_soldier.mdl") = npc_combine_cannon : "Combine Cannon" +@NPCClass base(BaseNPC) sphere(sightdist) studio("models/combine_soldier.mdl") = npc_combine_cannon : "OBSOLETE: Unfinished Combine Autocannon entity, use func_tank_combine_cannon" [ - sightdist(float) : "Sight radius" : 1024 : "Radius distance at which the cannon is able to aquire enemies." + + spawnflags(flags) = + [ + 524288 : "[524288] Start Disabled" : 0 + ] + + sightdist(float) : "Sight radius" : 1024 : "Radius distance at which the cannon is able to acquire enemies." + // Inputs + input InputEnableSniper(void) : "Enable the cannon." //added by vizzys + input InputDisableSniper(void) : "Disable the cannon." //added by vizzys ] @NPCClass base(BaseNPC) sphere(innerradius) sphere(outerradius) studio("models/combine_camera/combine_camera.mdl") = npc_combine_camera : @@ -282,7 +297,7 @@ [ spawnflags(Flags) = [ - 32 : "[32] Always Become Angry On New Enemy" : 1 + 32 : "[32] Always Become Angry On New Enemy (Camera will automatically be angry when it sees the player)" : 1 64 : "[64] Ignore Enemies (Scripted Targets Only)" : 0 128 : "[128] Start Inactive" : 0 ] @@ -321,9 +336,9 @@ [ spawnflags(Flags) = [ - 32 : "[32] Autostart" : 1 - 64 : "[64] Start Inactive" : 0 - 128 : "[128] Never Retire" : 0 + 32 : "[32] Autostart (When enabled, automatically deploy when enemy seen. Otherwise, deploy by Enable input.)" : 1 + 64 : "[64] Start Inactive (Wait for Enable input before looking for enemies)" : 0 + 128 : "[128] Never Retire (Stay deployed even when enemy is lost)" : 0 256 : "[256] Out of Ammo" : 0 1024 : "[1024] No Light Sprite" : 0 ] @@ -337,7 +352,7 @@ // Inputs input Enable(void) : "If closed, open." input Disable(void) : "If open, close." - input Toggle(void) : "Toggle - If open, close. If closed, open." + input Toggle(void) : "Toggle (If open, close. If closed, open.)" input DepleteAmmo(void) : "Depletes all the ammo from a turret, causing it to dry-fire." input RestoreAmmo(void) : "Restores ammo to a turret, allowing it to fire live rounds again." input CreateSprite(void) : "Creates the turret's light sprite if it was previously destroyed." @@ -373,7 +388,7 @@ [ 32 : "[32] Autostart" : 1 64 : "[64] Start Inactive" : 0 - 128 : "[128] Fast Retire" : 0 + 128 : "[128] Fast Retire (gives up search faster)" : 0 256 : "[256] Out of Ammo" : 0 512 : "[512] Citizen modified (Friendly)" : 0 1024 : "[1024] No Light Sprite" : 0 @@ -396,8 +411,8 @@ output OnRetire(void) : "Turret is becoming inactive and harmless." output OnTipped(void) : "Turret has been tipped over and is inactive." output OnStartTipped(void) : "Turret has just been tipped over." - output OnPhysGunPickup(void) : "Picked up with physgun" - output OnPhysGunDrop(void) : "Released by physgun" + output OnPhysGunPickup(void) : "Picked up with Gravity Gun" + output OnPhysGunDrop(void) : "Released by Gravity Gun" ] @BaseClass base(BaseNPC) = VehicleDriverNPC @@ -458,8 +473,8 @@ input StartForward(void) : "Tell the driver to start driving." input Stop(void) : "Tell the driver to stop driving." - input DisableFiring(float) : "Disables firing from happening" - input EnableFiring(float) : "Enables firing to start. Firing is enabled by default" + input DisableFiring(void) : "Disables firing from happening" + input EnableFiring(void) : "Enables firing to start. Firing is enabled by default" ] @@ -468,7 +483,7 @@ spawnflags(Flags) = [ 65536 : "[65536] Friendly" : 0 - 131072 : "[131072] Use prop_physics collision rules" : 0 + 131072 : "[131072] Use prop_physics collision rules (Let rollermine go through clip and NPC clip brushes)" : 0 ] startburied(choices) : "Start Buried" : "No" = @@ -479,15 +494,21 @@ uniformsightdist(choices) : "Sight Distance" : 0 = [ - 0 : "Ignore distant targets not in a vehicle (default)." - 1 : "Equal visibility for all targets." + 0 : "Default: Ignore distant targets not in a vehicle (300 idle, 800 in combat)." + 1 : "Equal visibility for all targets. (on foot targets 2048 units away)" ] input TurnOn(void) : "Restore this rollermine to normal functionality." input TurnOff(void) : "Make this rollermine completely inert. Does not run AI and NPCs will ignore it." - output OnPhysGunPickup(void) : "Picked up with physgun" - output OnPhysGunDrop(void) : "Released by physgun" + input ConstraintBroken(void) : "Make the rollermine fall off of a vehicle." //added by vizzys + input RespondToChirp(void) : "Play a chirp, used to respond to other rollermines nearby." //added by vizzys + input RespondToExplodeChirp(void) : "Play a different chirp, then explode." //added by vizzys + input JoltVehicle(void) : "Zap the vehicle we're on. This is automatically fired when it attaches, then re-fired with a delay to make it zap." //added by vizzys + input PowerDown(void) : "Episodic Only. Shut down a hacked rollermine, then explode it after 4 seconds." //added by vizzys + + output OnPhysGunPickup(void) : "Picked up with Gravity Gun" + output OnPhysGunDrop(void) : "Released by Gravity Gun" ] @NPCClass base(BaseNPC) studio("models/missile_defense.mdl") = npc_missiledefense : "Missile Defense" @@ -533,10 +554,10 @@ spawnflags(Flags) = [ - 65536 : "[65536] Hidden" : 1 - 131072 : "[131072] Laser Viewcone" : 0 + 65536 : "[65536] Hidden (Model is hidden while alive)" : 1 + 131072 : "[131072] Laser Viewcone (Only find player within 35 units of beam. Once seen uses full range of sight to track player)" : 0 262144 : "[262144] No Corpse" : 0 - 524288 : "[524288] Start Disabled" : 0 + 524288 : "[524288] Start Disabled (The sniper won't shoot anything and can't be killed until sent EnableSniper)" : 0 1048576 : "[1048576] Faster shooting (Episodic)" : 0 2097152 : "[2097152] No sweep away from target (Episodic)" : 0 4194304 : "[4194304] Die on fire" : 0 @@ -550,18 +571,18 @@ type(choices) : "Type of target" : 0 = [ - 0 : "Generic Citizen Beacon" - 1 : "Magnussen RDU Beacon" + 0 : "Generic Citizen Beacon (Lambda)" + 1 : "Magnusson RDU Beacon(Magnusson Device)" 2 : "Dog" - 3 : "Ally Installation" - 4 : "Enemy" - 5 : "Large Enemy (striders)" + 3 : "Ally Installation (Blue triangle with a dot)" + 4 : "Enemy (Red dot)" + 5 : "Large Enemy (Striders, big Red dot)" ] mode(choices) : "Mode" : 0 = [ 0 : "Default" - 1 : "Sticky - once detected, ignore effective radius." + 1 : "Sticky (once detected, ignore effective radius)" ] ] @@ -613,9 +634,9 @@ spawnflags(Flags) = [ - 65536 : "[65536] Burrow when eluded" : 0 + 65536 : "[65536] Burrow away when eluded" : 0 131072 : "[131072] Use Ground Checks" : 0 - 262144 : "[262144] Worker Type" : 0 + 262144 : "[262144] Worker Type (Make into acid antlion)" : 0 ] radius(integer) : "Alert Radius" : 256 @@ -642,13 +663,13 @@ input DisableJump(void) : "Disallow non-navigational jumping" input IgnoreBugbait(void) : "Ignore bugbait" input HearBugbait(void) : "Hear bugbait" - - output OnReachedFightGoal(void) : "Fires when the antlion reaches his specified fight-to location" + input JumpAtTarget(target_destination) : "The antlion will attempt to jump through or at the target." //added by vizzys + output OnReachedFightGoal(void) : "Fires when the antlion reaches it's specified fight-to location" output OnUnBurrowed(void) : "Fires when the antlion unburrows" ] -@NPCClass base(BaseNPC) studio("models/antlion_guard.mdl") = npc_antlionguard : "Antlion Guard" +@NPCClass base(BaseNPC) studio("models/antlion_guard.mdl") line(128 0 0, targetname, shovetargets) = npc_antlionguard : "Antlion Guard" [ spawnflags(Flags) = [ @@ -662,7 +683,7 @@ 1 : "Yes" ] - allowbark(choices) : "Allow Bark" : "No" = + allowbark(choices) : "Allow Bark (Antlion Summon)" : "No" = [ 0 : "No" 1 : "Yes" @@ -693,7 +714,7 @@ input DisableBark(void) : "Stop the antlion guard from trying to summon antlions" input InvestigateHint(target_destination) : "Sniff around at a hint group until told otherwise" input StopInvestigating(void) : "Stop trying to sniff out the player" - + input SummonedAntlionDied(void) : "Informs the guard that a summoned antlion has died. Automatically sent by summoned antlions when they die. Sending this manually will cause the guard to summon an extra antlion for each time its sent." //added by vizzys input EnablePreferPhysicsAttack(void) : "Prefer to use physics attacks if at all possible, even when inside a cavern." input DisablePreferPhysicsAttack(void) : "Do not prefer to use physics attacks if at all possible, even when inside a cavern." @@ -706,7 +727,7 @@ @BaseClass base(BaseNPC) = BaseBird [ - input FlyAway( target_destination ) : "Forces the crow to fly to the nearest crow flyto hint node." + input FlyAway( target_destination ) : "Forces the bird to fly to the nearest 'fly to' hint node." deaf(choices) : "Deaf?" : 0 = [ @@ -746,12 +767,11 @@ 262144 : "[262144] Don't drown" : 0 524288 : "[524288] No melee insta-kill" : 0 ] - - + input StartHangingFromCeiling(void) : "Start hanging from ceiling." input DropFromCeiling(void) : "Drop if hanging from ceiling." input Unburrow(void) : "Unburrow from the ground" - input Burrow(void) : "Burrow into the ground" + input Burrow(void) : "Burrow into the ground. If no burrow points within 512 units, does nothing." input BurrowImmediate(void) : "Burrow into the ground immediately" output OnLeap(void) : "Fires when the headcrab leaps at an enemy." @@ -771,9 +791,9 @@ [ BeamPower(choices) : "Beam Power" : "Low" = [ - 0 : "Low" - 1 : "Medium" - 2 : "High" + 0 : "Low (Red, 1 damage)" + 1 : "Medium (Orange, 3 damage)" + 2 : "High (Yellow, 10 damage)" ] Aggression(choices) : "Start Aggressive" : 0 : "Controls whether this stalker starts aggressive to the player and their allies without having to be provoked first." = @@ -790,7 +810,7 @@ ] -@NPCClass base(Parentname, BaseNPC) iconsprite("editor/bullseye.vmt") color(255 0 0) sphere(mindist) = npc_bullseye : "Bullseye" +@NPCClass base(Parentname, BaseNPC) iconsprite("editor/bullseye.vmt") color(255 0 0) sphere(mindist) = npc_bullseye : "A target for NPCs to shoot. Useful for making them shoot at anything which isn't another NPC. See ai_relationship. The center of a bullseye must not be directly on the surface of anything that could block LOS. NPCs will not find them unless they're in the air on all sides." [ // Unlike other NPCs level designers are allowed to set the health on bullseyes health(Integer) : "Health" : 35 @@ -804,11 +824,15 @@ [ 65536 : "[65536] Not Solid" : 0 131072 : "[131072] Take No Damage" : 0 - 262144 : "[262144] Enemy Damage Only" : 0 - 524288 : "[524288] Bleed" : 0 - 1048576 : "[1048576] Perfect Accuracy" : 0 + 262144 : "[262144] Enemy Damage Only (Can only take damage from enemies)" : 0 + 524288 : "[524288] Bleed when damaged" : 0 + 1048576 : "[1048576] Perfect Accuracy (NPCs have perfect accuracy when shooting this target)" : 0 2097152 : "[2097152] Collide against physics objects (Creates VPhysics Shadow)" : 0 ] + + input InputTargeted(void) : "Fires the OnTargeted output." //added by vizzys + input InputReleased(void) : "Fires the OnReleased output." //added by vizzys + output OnTargeted(void) : "Fires when targeted" output OnReleased(void) : "Fires when no longer targeted" ] @@ -818,18 +842,18 @@ [ spawnflags(flags) = [ - 65536 : "[65536] Check Visibility" : 1 + 65536 : "[65536] Check Visibility (If not checked, the enemy finder sees though walls)" : 1 131072 : "[131072] APC Visibility checks" : 0 262144 : "[262144] Short memory" : 0 - 524288 : "[524288] Can be an enemy" : 0 + 524288 : "[524288] Can be an enemy (Allows this entity to be considered an enemy by other combat characters)" : 0 ] FieldOfView(float) : "FieldOfView" : "0.2" : "The enemy finder's viewcone. (1.0 = straight ahead, 0.0 = +/- 90 degrees, -1.0 = all directions)" - MinSearchDist(integer) : "Min Search Dist" : 0 - MaxSearchDist(integer) : "Max Search Dist" : 2048 + MinSearchDist(integer) : "Min Search Distance" : 0 + MaxSearchDist(integer) : "Max Search Distance" : 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_timetotrigger(float) : "Player pass issue time" : 0 : "Amount of time an enemy is hidden after which a 'free pass' on reacquire is granted" + freepass_duration(float) : "Player pass duration" : 0 : "After granted 'free pass', the amount of time a target is allowed before reacquire" + freepass_movetolerance(float) : "Player pass move tolerance" : 120 : "After granted 'free pass', the distance the target is allowed to move before reacquire" 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" @@ -872,6 +896,9 @@ // Inputs input TurnOn(void) : "Turn on: Look for enemies" input TurnOff(void) : "Turn off: Stop looking for enemies" + input FieldOfView(float) : "Sets the Field of View." //added by vizzys + input MinSearchDist(integer) : "Sets the minimum search distance." //added by vizzys + input MaxSearchDist(integer) : "Sets the maximum search distance." //added by vizzys output OnLostEnemies(void) : "Fires when the enemy finder has no enemies." output OnAcquireEnemies(void) : "Fires when the enemy finder acquires enemies." @@ -892,9 +919,9 @@ SnapToEnt(target_destination) : "Name of entity to snap to" : "" : "Since it can be hard to position these entities with respect to the func_tank brushwork, you can specify an entity name here and this enemyfinder will position itself at the center of that entity." - 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_timetotrigger(float) : "Player pass issue time" : 0 : "Amount of time an enemy is hidden after which a 'free pass' on reacquire is granted" + freepass_duration(float) : "Player pass duration" : 0 : "After granted 'free pass', the amount of time a target is allowed before reacquire" + freepass_movetolerance(float) : "Player pass move tolerance" : 120 : "After granted 'free pass', the distance the target is allowed to move before reacquire" 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" @@ -928,25 +955,25 @@ //2097152 : "[2097152] Don't use Speech Semaphore - OBSOLETE" : 0 4194304 : "[4194304] Random male head" : 0 8388608 : "[8388608] Random female head" : 0 - 16777216 : "[16777216] Use RenderBox in ActBusies" : 0 + 16777216 : "[16777216] Use RenderBox in ActBusies (Makes collision box as big as the rendering box when in actbusies)" : 0 33554432 : "[33554432] Player can +USE and +WALK (Alt + E) to toggle squad (disables automatically joining)" : 0 ] additionalequipment(choices) : "Weapons" : "0" = [ - "weapon_smg1" : "SMG1" - "weapon_ar2" : "AR2" - "weapon_stunstick" : "Stun Stick" + "weapon_357" : ".357 Magnum (Revolver)" + "weapon_ar2" : "AR2 (Pulse Rifle)" + "weapon_citizenpackage" : "Citizen Package (Ration)" + "weapon_citizensuitcase" : "Citizen Suitcase" + "weapon_crossbow" : "Crossbow" "weapon_crowbar" : "Crowbar" - "weapon_shotgun" : "Shotgun" "weapon_pistol" : "Pistol" - "weapon_357" : "357" - "weapon_crossbow" : "Crossbow" + "weapon_rpg" : "RPG" + "weapon_shotgun" : "Shotgun" + "weapon_smg1" : "SMG1" + "weapon_stunstick" : "Stun Stick" //"weapon_beerbottle" : "Beer Bottle" //"weapon_beerbottle2" : "Beer Bottle2" - "weapon_rpg" : "RPG" - "weapon_citizenpackage" : "Citizen Package" - "weapon_citizensuitcase" : "Citizen Suitcase" "0" : "Nothing" ] @@ -955,7 +982,7 @@ "Pistol" : "Pistol" "SMG1" : "SMG1" "SMG1_Grenade" : "SMG1 Grenade" - "AR2" : "AR2" + "AR2" : "AR2 (Pulse Rifle)" "Buckshot" : "Shotgun" "RPG_Round" : "RPG" "Grenade" : "Grenade" @@ -966,10 +993,10 @@ citizentype(choices) : "Type" : "Default" = [ 0 : "Default" - 1 : "Downtrodden" - 2 : "Refugee" - 3 : "Rebel" - 4 : "Unique" + 1 : "Downtrodden (Clean, blue uniform)" + 2 : "Refugee (Dirty, ragged clothing)" + 3 : "Rebel (Full resistance getup and combat gear)" + 4 : "Unique (Set a particular model)" ] expressiontype(choices) : "Expression Type" : "Random" = @@ -1011,9 +1038,9 @@ 1 : "Yes" ] - neverleaveplayersquad(choices) : "Permanent squad member?" : 0 : "A permanent squad member cannot leave the player's squad unless killed or explicity removed by entity I/O. Only use this if you're sure you want to override the default AI." = + neverleaveplayersquad(choices) : "Permanent squad member?" : 0 : "A permanent squad member cannot leave the player's squad unless killed or explicitly removed by entity I/O. Only use this if you're sure you want to override the default AI." = [ - 0 : "No. This is default behavior." + 0 : "No. Default behavior. (Give up if cant get within 600 units of player & LOS after 20 seconds of trying)" 1 : "Yes, stay in squad until death." ] @@ -1044,6 +1071,7 @@ input SetAmmoResupplierOn(void) : "Set the ammo-resupplier flag on. Will not change the model or skin of the citizen." input SetAmmoResupplierOff(void) : "Set the ammo-resupplier flag off. Will not change the model or skin of the citizen." input SetTossMedkits(bool) : "Sets whether this NPC can toss medkits." + input SpeakIdleResponse(void) : "Forces the NPC to speak an idle response." //added by vizzys // Outputs output OnJoinedPlayerSquad(void) : "Fires when joins player squad" @@ -1051,7 +1079,7 @@ output OnFollowOrder(void) : "Fires when ordered to follow player" output OnStationOrder(void) : "Fires when ordered to a location by player" output OnPlayerUse(void) : "Fires when a player +USEs the citizen" - output OnNavFailBlocked(void) : "Fires when this citizen's movement fails because he/she is blocked." + output OnNavFailBlocked(void) : "Fires when this citizen's movement fails because they are blocked." output OnHealedNPC(void) : "Fires when this citizen heals a NPC." output OnHealedPlayer(void) : "Fires when this citizen heals a player." @@ -1079,7 +1107,7 @@ output OnEndTouchAll(void) : "Fires when a player or a member of the player's squad stops touching this trigger, and no other members are touching it." ] -@NPCClass base(BaseNPC) studio("models/Barney.mdl") = npc_fisherman : "Fisherman" +@NPCClass base(BaseNPC) studio("models/lostcoast/fisherman/fisherman.mdl") = npc_fisherman : "Fisherman" [ ExpressionOverride(string) : "Facial expression override" input SetExpressionOverride(string) : "Set facial expression override" @@ -1095,7 +1123,7 @@ "weapon_smg1" : "SMG1" "weapon_stunstick" : "Stun Stick" "weapon_shotgun" : "Shotgun" - "weapon_ar2" : "AR2" + "weapon_ar2" : "AR2 (Pulse Rifle)" "0" : "Nothing" ] @@ -1110,15 +1138,15 @@ [ additionalequipment(choices) : "Weapons" : "weapon_smg1" = [ - "weapon_ar2" : "AR2" + "weapon_357" : ".357 Magnum (Revolver)" + "weapon_ar2" : "AR2 (Pulse Rifle)" + "weapon_citizenpackage" : "Citizen Package (Ration)" + "weapon_citizensuitcase" : "Citizen Suitcase" + "weapon_pistol" : "Pistol" + "weapon_rpg" : "RPG" "weapon_shotgun" : "Shotgun" "weapon_smg1" : "SMG1" - "weapon_rpg" : "RPG" "weapon_stunstick" : "Stun Stick" - "weapon_pistol" : "Pistol" - "weapon_357" : "357" - "weapon_citizenpackage" : "Citizen Package" - "weapon_citizensuitcase" : "Citizen Suitcase" "0" : "Nothing" ] @@ -1126,7 +1154,7 @@ [ 65536 : "[65536] Start LookOff" : 0 131072 : "[131072] Don't drop grenades" : 0 - 262144 : "[262144] Don't drop ar2 alt fire (elite only) " : 0 + 262144 : "[262144] Don't drop AR2 alt fire (elite only) " : 0 ] NumGrenades(choices) : "Number of Grenades" : "5" = @@ -1194,12 +1222,12 @@ ] -@PointClass base(Parentname, BaseNPC) size( -4 -16 -16, 4 16 16 ) studio("models/weapons/w_rocket_launcher.mdl") = npc_launcher : "Launcher" +@PointClass base(Parentname, BaseNPC) size( -4 -16 -16, 4 16 16 ) studio("models/weapons/w_rocket_launcher.mdl") sphere(maxrange) line(255 0 0, targetname, pathcornername) = npc_launcher : "Launcher" [ spawnflags(Flags) = [ - 65536 : "[65536] Check LOS" : 1 + 65536 : "[65536] Check LOS (Don't shoot once enemy takes cover, unless using SetEnemyEntity)" : 1 ] StartOn(choices) : "Start On" : 0 = @@ -1218,7 +1246,7 @@ [ 0: "Off" 1: "On" - 2: "On Homing" + 2: "On Homing (Only a small trail)" ] LaunchSmoke(choices) : "Launch Smoke" : 1 = [ @@ -1227,7 +1255,7 @@ ] LaunchDelay(integer) : "Launch Delay" : 8 : "When ON, how long to wait between each launch" LaunchSpeed(string) : "Launch Speed" : 200 : "Initial launch speed of missile (in up direction)" - PathCornerName(target_destination) : "Path Corner Name" : "" : "Name of a path corner. If set launches a pathfollowing missing, rather than a homing missile" + PathCornerName(target_destination) : "Path Corner Name" : "" : "Name of a path corner. If set launches a path-following missile, rather than a homing missile" HomingSpeed(string) : "Homing Speed" : 0 : "Speed to reach when homing" HomingStrength(integer) : "Homing Strength" : 10 : "How strong in homing effect (0-100)" HomingDelay(string) : "Homing Delay" : 0 : "Number of seconds to delay before homing starts" @@ -1235,12 +1263,12 @@ HomingDuration(string) : "Homing Duration" : 5 : "Number of seconds the homing effect lasts" HomingRampDown(string) : "Homing Ramp Down" : "1.0" : "Number of seconds it takes homing effect to decay after homing duration" Gravity(string) : "Gravity" : "1.0" : "Scale for effect of gravity. (1.0 = normal gravity)" - MinRange(integer) : "Min Range" : 100 : "Minimun distance a target can be to be attacked" + MinRange(integer) : "Min Range" : 100 : "Minimum distance a target can be to be attacked" MaxRange(integer) : "Max Range" : 2048 : "Maximum distance a target can be to be attacked" SpinMagnitude(string) : "Spin Magnitude" : 0 : "Strength of spin in missile trajectory" SpinSpeed(string) : "Spin Speed" : 0 : "How fast does the spin rotate through 360" Damage(string) : "Damage" : 50 : "How much damage does each missile do" - DamageRadius(string) : "DamageRadius" : 200 : "How far away from impact does the missle do damage" + DamageRadius(string) : "DamageRadius" : 200 : "How far away from impact does the missile do damage" // Outputs output OnLaunch(void) : "Fires when missile is launched" @@ -1338,10 +1366,10 @@ @PointClass base(Targetname, Parentname, EnableDisable) = env_sporeexplosion : "Bugbait Spore Effect" [ - spawnrate(float) : "Spawn Rate (as percentage)" : "25" : "How dense the spore effect is" + spawnrate(float) : "Spawn Rate (as percentage)" : "25" : "How dense the spore effect is. This percentage is not bound to 100; even values in the thousands are acceptable." ] -@PointClass base(Targetname, Parentname, Targetname, EnableDisable) = env_gunfire : "Gunfire Effect" +@PointClass base(Targetname, Parentname, Targetname, EnableDisable) line(255 255 255, targetname, target) = env_gunfire : "Gunfire Effect" [ target(target_destination) : "Target" : "" : "Shoot at this target. REMEMBER - this is an effect only! It does not do damage!" @@ -1393,20 +1421,20 @@ output OnFire(void) : "Fires for each bullet fired by this entity." ] -@PointClass base(Targetname,Parentname,Angles,Shadow) sphere(DamageRadius) studio("models/props_combine/headcrabcannister01b.mdl") = env_headcrabcanister : "Headcrab canister" +@PointClass base(Targetname,Parentname,Angles,Shadow) sphere(DamageRadius) studio("models/props_combine/headcrabcannister01b.mdl") line(255 255 0, targetname, launchpositionname) = env_headcrabcanister : "Headcrab canister" [ spawnflags(Flags) = [ 1 : "[1] No Impact Sound" : 0 2 : "[2] No Launch Sound" : 0 4096 : "[4096] Start Impacted" : 0 - 8192 : "[8192] Land at initial position" : 0 + 8192 : "[8192] Land at initial position (Land precisely where it is in Hammer)" : 0 16384 : "[16384] Wait for input to open" : 0 32768 : "[32768] Wait for input to spawn headcrabs" : 0 65536 : "[65536] No smoke" : 0 131072 : "[131072] No shake" : 0 - 262144 : "[262144] Remove on impact" : 0 - 524288 : "[524288] No impact effects" : 0 + 262144 : "[262144] Remove on impact (Prevents damage, headcrabs, and most visual and sound effects)" : 0 + 524288 : "[524288] No impact effects (No Dust explosion)" : 0 ] HeadcrabType(choices) : "Which headcrab to spawn?" : 0 = [ @@ -1451,7 +1479,7 @@ 1 : "Yes" ] - HealthRegenerateEnabled(choices) : "Regenerate Health" : 0 : "Whether or not the vortigaunt will recover his own health over time like vital allies, while in combat" = + HealthRegenerateEnabled(choices) : "Regenerate Health" : 0 : "Whether or not the vortigaunt will recover it's own health over time like vital allies, while in combat" = [ 0 : "No" 1 : "Yes" @@ -1462,8 +1490,8 @@ input DisableArmorRecharge(void) : "Do not allow armor recharging on players" input ExtractBugbait(target_destination) : "Causes the vortigaunt to extract bugbait from the named target passed in." input ChargeTarget(target_destination) : "Force the vortigaunt to charge the named target." - input EnableHealthRegeneration(void) : "Allow the vortigaunt to start regenerating his health over time, like vital allies." - input DisableHealthRegeneration(void) : "Stop the vortigaunt from regenerating his health. (Default behavior)" + input EnableHealthRegeneration(void) : "Allow the vortigaunt to start regenerating it's health over time, like vital allies." + input DisableHealthRegeneration(void) : "Stop the vortigaunt from regenerating it's health. (Default behavior)" input TurnBlue(bool) : "If true, turn blue. If false, turn green. (Episodic)." input TurnBlack(bool) : "If true, turn black. If false, be seen. (Episodic)." input BeginCarryNPC(void) : "Begin to override our animations for 'carrying' an NPC. (Episodic)" @@ -1523,7 +1551,7 @@ spawnflags(Flags) = [ - 65536 : "[65536] Can Stomp Player" : 0 + 65536 : "[65536] Can Stomp Player (500 damage)" : 0 131072 : "[131072] Minimal damage taken from NPCs (1 point per missile)" : 0 ] @@ -1533,34 +1561,35 @@ input DisableMinigun(void) : "Disables the minigun until further notice by the EnableMinigun input." input EnableMinigun(void) : "Enables the minigun if it was disabled by the DisableMinigun input." input SetCannonTarget(target_destination) : "Strider will shoot cannon at this" - input FlickRagdoll(void) : "Strider will flick anyone he's skewered" + input FlickRagdoll(void) : "Strider will flick anyone it's skewered" 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 Crouch(void) : "Crouch down" + input StopPatrol(void) : "Stop patrolling back and forth along the track. This will cause the helicopter to come to rest at the track which it'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 Crouch(void) : "Crouch down." input CrouchInstantly(void) : "Crouch instantly. This makes the Strider pop to a crouch. Do not do this where players can observe." - input Stand(void) : "Stand up from crouch" + input Stand(void) : "Stand up from crouch." input DisableCrouchWalk(void) input EnableCrouchWalk(void) input SetTargetPath(target_destination) : "Set a path for the strider to patrol. The strider will first move to the closest point on the path" input ClearTargetPath(void) : "Clear the strider patrol path" - input EnableAggressiveBehavior(void) : "Use aggressive behavior. Fire faster, more frequently" + input EnableAggressiveBehavior(void) : "Use aggressive behavior. Fire faster, more frequently." input DisableAggressiveBehavior(void) : "Stop using aggressive behavior. (Revert to normal)" - input StopShootingMinigunForSeconds(float) : "Stop shooting the minigun for a period of time (specify seconds as parameter)" - - input DisableCrouch(void) : "Prevent the Strider from crouching" - input EnableCrouch(void) : "Allow the Strider to crouch again if it was prevented before" + input StopShootingMinigunForSeconds(float) : "Stop shooting the minigun for a period of time. (specify seconds as parameter)" + input DisableCrouch(void) : "Prevent the Strider from crouching." + input EnableCrouch(void) : "Allow the Strider to crouch again if it was prevented before." input DisableMoveToLOS(void) : "Prevent the Strider from seeking Line of Sight to target. (Hold position)" input DisableCollisionWith(target_destination) : "Disable collision with a given object." input EnableCollisionWith(target_destination) : "Reenable collision with a given object." - input ScaleGroundSpeed(float) : "Scale the movement speed of the strider" + input ScaleGroundSpeed(float) : "Scale the movement speed of the strider." + input Explode(void) : "Immediately kill the strider." // added by vizzys + input SetHeight(float) : "Set the height of the strider above the ground. Valid values range from 200-490 units." // added by vizzys input SetStompFilter(target_destination) : "Sets the strider's stomp filter." @@ -1594,8 +1623,8 @@ [ spawnflags(Flags) = [ - 65536 : "[65536] Cheap death" : 0 - 131072 : "[131072] Ambush Mode" : 0 + 65536 : "[65536] Cheap death (Will not spawn gibs 50% of the time it dies)" : 0 + 131072 : "[131072] Ambush Mode (Starts with tongue retracted, waiting for input to drop it)" : 0 ] RestDist(float) : "Rest Distance" : 16 : "Distance above the ground that the tongue should lie when the barnacle is at rest" @@ -1623,7 +1652,7 @@ input OmniscientOn(void) : "Gunship knows target's location even when target is out of sight or behind cover" input OmniscientOff(void) : "Gunship relies on normal sight functions to locate target" input BlindfireOn(void ) : "Gunship will fire at an unseen target, attempting to punch through to them" - input BlindfireOff(void ) : "Gunship only fires at viusible target" + input BlindfireOff(void ) : "Gunship only fires at visible target" input SetPenetrationDepth( float ) : "Set penetration depth of bullets" input SetDockingBBox( void ) : "Shrink Bounding Box" @@ -1639,6 +1668,9 @@ input EnableRotorSound(void) : "Turns on rotor sounds" input DisableRotorSound(void) : "Turns off rotor sounds" + input GunOn(void) : "Enable the gun." // added by vizzys + input GunOff(void) : "Disable the gun." //added by vizzys + // Outputs output OnFireCannon(void) : "Fires when the gunship fires a cannon round" output OnFirstDamage( void ) : "Fired when the first damage is done to the gunship." @@ -1661,13 +1693,22 @@ [ input Enable(void) : "Enable the crash target." input Disable(void) : "Disable the crash target." + + output OnCrashed(void) : "Fires when the gunship crashes." // Output added by vizzy, suggested by xblah ] -@NPCClass base(BaseHelicopter) studio("models/combine_dropship.mdl" ) = npc_combinedropship : "Combine Dropship" +@NPCClass base(BaseHelicopter) studio("models/combine_dropship.mdl" ) + line(192 192 192, targetname, npctemplate) + line(192 192 192, targetname, npctemplate2) + line(192 192 192, targetname, npctemplate3) + line(192 192 192, targetname, npctemplate4) + line(192 192 192, targetname, npctemplate5) + line(192 192 192, targetname, npctemplate6) += npc_combinedropship : "Combine Dropship" [ spawnflags(Flags) = [ - 32768 : "[32768] Wait for input before dropoff" : 0 + 32768 : "[32768] Wait for input before dropoff (Waits for the StopWaitingForDropoff input before releasing cargo)" : 0 ] LandTarget(target_destination) : "Land target name" @@ -1705,8 +1746,8 @@ CrateType(Choices) : "Crate Type" : 2 = [ -3 : "Jeep (No crate)" - -2 : "APC (No crate)" - -1 : "Strider (No crate)" + -2 : "APC (No crate, Deploy with DropAPC)" + -1 : "Strider (No crate, Deploy with DropStrider)" 0 : "Roller Hopper" 1 : "Soldier Crate" 2 : "None" @@ -1734,7 +1775,7 @@ input DisableRotorSound(void) : "Turns off rotor sounds" input StopWaitingForDropoff(void) : "Stop waiting for the dropoff. Dropoff as soon as possible." - + input NPCFinishDustoff(string) : "Notifies the dropship that a soldier has finished the scripted sequence for exiting the crate." // added by vizzys // Outputs output OnFinishedDropoff(void) : "Fires when the dropship has finished a dropoff." @@ -1755,20 +1796,20 @@ spawnflags(Flags) = [ - 65536 : "[65536] Loud rotor wash sound" : 0 - 131072 : "[131072] Electrical drone" : 0 - 262144 : "[262144] Helicopter lights" : 0 + 65536 : "[65536] Loud rotor wash sound (Makes the propeller noise 10 times as loud)" : 0 + 131072 : "[131072] Electrical drone(Replaces heli with bomb, make zapping noises, and damages enemies within a small radius. Beta)" : 0 + 262144 : "[262144] Helicopter lights (Puts red blinking lights on the helicopter)" : 0 524288 : "[524288] Ignore avoid spheres+boxes" : 0 - 1048576 : "[1048576] More aggressive attacks" : 0 - 2097152 : "[2097152] Cast long shadow" : 0 + 1048576 : "[1048576] More aggressive attacks (Repositions more, holds gun charge if enemy hides, always knows where enemy is)" : 0 + 2097152 : "[2097152] Cast long shadow (2048 units)" : 0 4194304 : "[4194304] Aim at enemies even when gun is off" : 0 ] - InitialSpeed(string) : "Initial Speed" : "0" - GracePeriod(float) : "Grace Period" : "2.0" : "Time in seconds the helicopter has to see the player before he starts shooting" - PatrolSpeed(float) : "Patrol Speed" : "0" : "Speed at which the helicopter moves if he has no enemy." + InitialSpeed(float) : "Initial Speed" : "0" + GracePeriod(float) : "Grace Period" : "2.0" : "Time in seconds the helicopter has to see the player before it starts shooting" + PatrolSpeed(float) : "Patrol Speed" : "0" : "Speed at which the helicopter moves if it has no enemy." - FieldOfView(float) : "Field of View" : "-1.0" : "The helicoter's viewcone. (1.0 = straight ahead, 0.0 = +/- 90 degrees, -1.0 = all directions)" + FieldOfView(float) : "Field of View" : "-1.0" : "The helicopter's viewcone. (1.0 = straight ahead, 0.0 = +/- 90 degrees, -1.0 = all directions)" noncombat(choices) : "Non-combat (Do not precache gibs)" : "No" : "If enabled, this helicopter will not precache stuff that would only be seen in combat, like mines or gibs. Even damaging the helicopter in this state can crash the game, so you might want to use a damage filter too." = [ @@ -1787,7 +1828,7 @@ input DisableRotorSound(void) : "Turns off rotor sounds" input StartBombingVehicle(void) : "Starts the chopper leading enemy vehicles and dropping bombs on them." input StartTrailingVehicle(void) : "Starts the chopper trailing enemy vehicles and shooting at them." - input StartDefaultBehavior(void) : "Starts the chopper in the mode where he always stops at nav points instead of stopping anywhere in between nav points." + input StartDefaultBehavior(void) : "Starts the chopper in the mode where it always stops at nav points instead of stopping anywhere in between nav points." input StartAlwaysLeadingVehicle(void) : "Starts the chopper *always* leading enemy vehicles (regardless of how they are moving w/respect to the path) and dropping bombs on them. This mode is different from StartBombingVehicle in that it never uses the machine gun." input StartSprinkleBehavior(void) : "Starts the chopper dropping bombs randomly + shooting at the player." input StartBullrushBehavior(void) : "Starts the chopper bullrushing the player." @@ -1801,7 +1842,7 @@ input StartContinuousShooting(void) : "The chopper fires continuously." input StartFastShooting(void) : "The chopper fires normal bursts, but does not 'charge up' the gun. Fires immediately." - input ResetIdleTime(void) : "Allows the helicopter to fire immediately if he's not in the middle of charging or firing" + input ResetIdleTime(void) : "Allows the helicopter to fire immediately if it's not in the middle of charging or firing" input SetAngles(string) : "Instantly snaps the orientation of the helicopter (Pitch Yaw Roll)" input DropBomb(void) : "Immediately drops a bomb based on normal bomb dropping rules" input DropBombStraightDown(void) : "Immediately drops a bomb directly downwards" @@ -1810,8 +1851,8 @@ input DropBombDelay(float) : "Add a delay before the next bomb is dropped" input BecomeIndestructible(void) : "Makes the helicopter take no more damage" - input DisablePathVisibilityTests(void) : "When the helicopter moves, he will not check for visibility from the path_track to the enemy to cull out path_tracks" - input EnablePathVisibilityTests(void) : "When the helicopter moves, he will only move to path_tracks that have line-of-sight to the enemy" + input DisablePathVisibilityTests(void) : "When the helicopter moves, it will not check for visibility from the path_track to the enemy to cull out path_tracks" + input EnablePathVisibilityTests(void) : "When the helicopter moves, it will only move to path_tracks that have line-of-sight to the enemy" input StartCarpetBombing(void) : "Starts the helicopter constantly dropping megabombs until StopCarpetBombing input" input StopCarpetBombing(void) : "Stop the carpet bombing behavior" @@ -1826,14 +1867,15 @@ [ spawnflags(Flags) = [ - 65536 : "[65536] Is a dud" : 0 + 1 : "[1] Megabomb (Bombs explode automatically, roll less, and are quiet until explosion)" : 0 + 65536 : "[65536] Is a dud (Bomb will only explode after being launched by the gravity gun)" : 0 ] // Inputs input ExplodeIn(float) : "Tells the bomb to explode in X seconds." // Outputs - output OnPhysGunOnlyPickup(void) : "Fired when a player picks this object up WITH THE PHYSGUN. +USE pickups do not fire this output." + output OnPhysGunOnlyPickup(void) : "Fired when a player picks this object up with the Gravity Gun. +USE pickups do not fire this output." ] @@ -1848,7 +1890,7 @@ AvoidFilter(filterclass) : "Avoid Filter" : : "Filter to use to see if the helicopter avoids this sphere. See filter_activator_name for more explanation." ] -@SolidClass base(Origin, Angles, Parentname) color(255 255 0) = npc_heli_avoidbox : "Helicopter avoidance box" +@SolidClass base(Origin, Angles, Parentname, Targetname) color(255 255 0) = npc_heli_avoidbox : "Helicopter avoidance box" [ spawnflags(Flags) = [ @@ -1864,6 +1906,7 @@ @BaseClass base(BaseNPC) = BaseZombie [ Headless(choices) : "Headcrab-less" : "No" : "Toggles whether this zombie should have a headcrab on their head. They usually should." = + [ 0 : "No" 1 : "Yes" @@ -1963,7 +2006,7 @@ spawnflags(Flags) = [ 65536 : "[65536] No Dynamic Light" : 0 - 131072: "[131072] Strider Scout Scanner" : 0 + 131072: "[131072] Strider Scout Scanner (Tells npc_striders where the enemy in the picture is)" : 0 ] CustomFlightSpeed(float) : "Custom Flight Speed" : "0" : "Overrides the scanner's default speed. 0 = use default" @@ -2035,10 +2078,11 @@ [ spawnflags(Flags) = [ - 65536 : "[65536] Start packed up (folded and engine off)" : 0 - 131072 : "[131072] Don't use any damage effects" : 0 + 65536 : "[65536] Start packed up (Folded and engine off)" : 0 + 131072 : "[131072] Don't use any damage effects (Smoke trail)" : 0 262144 : "[262144] Use Air Nodes" : 0 - 1048576 : "[1048576] No Danger Sounds" : 0 + 524288 : "[524288] Carried (Disables movement, solidity, and the engine sound)" : 0 + 1048576 : "[1048576] No Danger Sounds (Does not tell NPCs to back away from the manhack)" : 0 ] input DisableSwarm(void) : "Disable the manhack swarm behavior." @@ -2062,16 +2106,16 @@ additionalequipment(choices) : "Weapons" : "weapon_pistol" = [ + "weapon_357" : ".357 Magnum (Revolver)" + "weapon_ar2" : "AR2 (Pulse Rifle)" + "weapon_citizenpackage" : "Citizen Package (Ration)" + "weapon_citizensuitcase" : "Citizen Suitcase" + "weapon_crowbar" : "Crowbar" "weapon_pistol" : "Pistol" + "weapon_rpg" : "RPG" + "weapon_shotgun" : "Shotgun" "weapon_smg1" : "SMG1" "weapon_stunstick" : "Stun Stick" - "weapon_crowbar" : "Crowbar" - "weapon_ar2" : "AR2" - "weapon_shotgun" : "Shotgun" - "weapon_357" : "357" - "weapon_rpg" : "RPG" - "weapon_citizenpackage" : "Citizen Package" - "weapon_citizensuitcase" : "Citizen Suitcase" "0" : "Nothing" ] @@ -2090,15 +2134,15 @@ spawnflags(Flags) = [ - 131072 : "[131072] Simple cops" : 0 + 131072 : "[131072] Simple cops (Sets health to 26 instead of 40, more dramatic flinch animations)" : 0 //262144 : "[262144] Rappel (UNCHECK THIS IF IT IS CHECKED!)" : 0 - 524288 : "[524288] Always stitch" : 0 + 524288 : "[524288] Always stitch (If cop has SMG & player is beneath, shoot a meandering path of bullets even if player isnt in boat)" : 0 1048576 : "[1048576] No chatter" : 0 - 2097152 : "[2097152] Arrest enemies" : 0 - 4194304 : "[4194304] No far stitching" : 0 - 8388608 : "[8388608] Prevent manhack toss" : 0 - 16777216: "[16777216] Allowed to respond to thrown objects" : 0 - 33554432: "[33554432] Mid-range attacks (halfway between normal + long-range)" : 0 + 2097152 : "[2097152] Arrest enemies (Enemies are 'arrested')" : 0 + 4194304 : "[4194304] No far stitching (Stop stitching if the player is over 6000 units away)" : 0 + 8388608 : "[8388608] Prevent manhack toss (Deploying them can be allowed with EnableManhackToss)" : 0 + 16777216: "[16777216] Respond to thrown objects (If I have stunstick and I get something thrown at me, allow me to chase player)" : 0 + 33554432: "[33554432] Mid-range attacks (halfway between normal + long-range: 3500 units)" : 0 ] // Inputs @@ -2127,20 +2171,20 @@ [ additionalequipment(choices) : "Weapons" : "weapon_annabelle" = [ - "weapon_annabelle" : "Annabelle" - "weapon_smg1" : "SMG1" - "weapon_ar2" : "AR2" - "weapon_stunstick" : "Stun Stick" + "weapon_357" : ".357 Magnum (Revolver)" + "weapon_annabelle" : "Annabelle (Grigori's Shotgun)" + "weapon_ar2" : "AR2 (Pulse Rifle)" + "weapon_citizenpackage" : "Citizen Package (Ration)" + "weapon_citizensuitcase" : "Citizen Suitcase" + "weapon_crossbow" : "Crossbow" "weapon_crowbar" : "Crowbar" - "weapon_shotgun" : "Shotgun" "weapon_pistol" : "Pistol" - "weapon_357" : "357" - "weapon_crossbow" : "Crossbow" + "weapon_rpg" : "RPG" + "weapon_shotgun" : "Shotgun" + "weapon_smg1" : "SMG1" + "weapon_stunstick" : "Stun Stick" //"weapon_beerbottle" : "Beer Bottle" //"weapon_beerbottle2" : "Beer Bottle2" - "weapon_rpg" : "RPG" - "weapon_citizenpackage" : "Citizen Package" - "weapon_citizensuitcase" : "Citizen Suitcase" "0" : "Nothing" ] @@ -2166,7 +2210,7 @@ "weapon_shotgun" : "Shotgun" "weapon_pistol" : "Pistol" "weapon_smg1" : "SMG1" - "weapon_ar2" : "AR2" + "weapon_ar2" : "AR2 (Pulse Rifle)" "0" : "Nothing" ] @@ -2176,7 +2220,7 @@ 1 : "Yes" ] - ShouldHaveEMP(choices) : "Should alyx have her EMP?" : "1" = + ShouldHaveEMP(choices) : "Should Alyx have her EMP?" : "1" = [ 0 : "No" 1 : "Yes" @@ -2263,7 +2307,7 @@ spawnflags(Flags) = [ - 65536 : "[65536] Ignore speech semaphore" : 0 + 65536 : "[65536] Ignore speech semaphore (Set to allow NPCs to talk over Breen.Same as Don't Use Speech Semaphore keyvalue)" : 0 ] ] @@ -2281,7 +2325,7 @@ input SetPickupTarget(target_destination) : "Sets the target entity for dog to pickup." input StartCatchThrowBehavior(target_destination) : "Tells d0g to start playing with the player. You can pass in the name of the object you want him to play with otherwise he'll find the closes phys_object." input StopCatchThrowBehavior(void) : "Stop the catch and throw behavior." - input PlayerPickupObject(void) : "Tells d0g the physgun just picked up an object." + input PlayerPickupObject(void) : "Tells d0g the Gravity Gun just picked up an object." input StartWaitAndCatch(void) : "Tells d0g to wait for the player to throw an object at him." input StopWaitAndCatch(void) : "Tells d0g to stop waiting for the player." input SetThrowArcModifier(float) : "Used to pass in a modifier for d0g's object flight arc." @@ -2356,7 +2400,7 @@ input Alpha(integer) : "Set Alpha Value" ] -@PointClass base(Angles, BaseNPCMaker) iconsprite("editor/npc_maker.vmt") = npc_maker : "NPC Maker" +@PointClass base(Angles, BaseNPCMaker) iconsprite("editor/npc_maker.vmt") line(255 16 16, targetname, ignoreentity) = npc_maker : "NPC Maker" [ spawnflags(Flags) = [ @@ -2367,28 +2411,34 @@ NPCTargetname(target_source) : "Childrens' Name" NPCSquadname(string) : "Childrens' Squad Name" NPCHintGroup(string) : "Childrens' Hint Group" + relationship(string) : "Relationship" : : "Sets whether the spawned NPC likes or dislikes certain others. Format is: . Values for disposition are: D_HT (Hate), D_FR (Fear), D_LI (Like), D_NU, (Neutral)." //added by vizzys additionalequipment(choices) : "Weapons" : "0" = [ + "weapon_357" : ".357 Magnum (Revolver)" + "weapon_annabelle" : "Annabelle (Grigori's Shotgun)" + "weapon_ar2" : "AR2 (Pulse Rifle)" + "weapon_citizenpackage" : "Citizen Package (Ration)" + "weapon_citizensuitcase" : "Citizen Suitcase" + "weapon_crossbow" : "Crossbow" + "weapon_crowbar" : "Crowbar" "weapon_pistol" : "Pistol" - "weapon_ar2" : "AR2" + "weapon_rpg" : "RPG" "weapon_shotgun" : "Shotgun" "weapon_smg1" : "SMG1" "weapon_stunstick" : "Stun Stick" - "weapon_annabelle" :"Grigori's Shotgun" - "weapon_rpg" : "RPG" "0" : "Nothing" ] ] -@PointClass base(Angles, BaseNPCMaker) size(-8 -8 -8, 8 8 8) color(0 0 255) = npc_antlion_template_maker : "Antlion Template Maker" +@PointClass base(Angles, BaseNPCMaker) size(-8 -8 -8, 8 8 8) color(0 0 255) line(255 16 16, targetname, ignoreentity) = npc_antlion_template_maker : "Antlion Template Maker" [ spawnflags(Flags) = [ - 1024 : "[1024] Random spawn node" : 0 - 2048 : "[2048] Try to spawn close to the current target" : 0 - 4096 : "[4096] Pick a random fight target" : 0 - 8192 : "[8192] Try to play blocked effects near the player" : 0 + 1024 : "[1024] Random spawn node (If using Hint Group spawning, picks any valid hint instead of the nearest one)" : 0 + 2048 : "[2048] Try to spawn close to the current target (Enables Near Target spawning behavior instead of Hint Group or Simple)" : 0 + 4096 : "[4096] Pick a random fight target (If the string in Fight target matches multiple entities, up to 4, pick randomly)" : 0 + 8192 : "[8192] Try to play blocked effects near the player (If burrow points get blocked, play effects of antlions hitting blocker)" : 0 ] TemplateName(target_destination) : "Name of template NPC" @@ -2436,7 +2486,7 @@ @PointClass base(Targetname) sphere(repelradius) color(0 0 255) = point_antlion_repellant : "Antlion Repellant" [ - repelradius(float): "Repell radius" : 512 : "Antlions aren't allowed to be inside this radius" + repelradius(float): "Repel radius" : 512 : "Antlions aren't allowed to be inside this radius" input Enable(void) : "Enable" input Disable(void) : "Disable" ] @@ -2488,9 +2538,9 @@ 0 : "No" 1 : "Walk" 2 : "Run" - 3 : "Custom movement" - 4 : "Instantaneous" - 5 : "No - Turn to Face" + 3 : "Custom (Set by Custom Move Animation)" + 4 : "Instantaneous (NPC teleports)" + 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(choices) : "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." = @@ -2511,13 +2561,14 @@ 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." input StopActionLoop(void) : "Stops looping the action animation if it is specified to loop." input SetTarget(target_destination) : "Sets the target NPC." + input ScriptPlayerDeath(void) : "Pretends that the player died." //added by vizzys // Outputs - output OnBeginSequence(void) : "Fires when the action animation begins playing." + output OnBeginSequence(void) : "Fires when the Action Animation begins playing, or when the Entry Animation does if there is one." output OnEndSequence(void) : "Fires when the action animation completes." output OnPostIdleEndSequence(void) : "Fires when the post-idle 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 OnCancelSequence(void) : "Fires when all the animations have finished." + output OnCancelFailedSequence(void) : "Fires when the script is interrupted at any stage by other AI, or when CancelSequence is sent (OnCancelSequence will also fire)." output OnEntrySequence(void) : "Fires when the entry animation begins." output OnActionSequence(void) : "Fires when the action animation begins." output OnPreIdleSequence(void) : "Fires when the pre-idle animation begins." @@ -2538,14 +2589,14 @@ spawnflags(Flags) = [ 1 : "[1] Fire Once" : 1 - 2 : "[2] Followers Only" : 0 + 2 : "[2] Followers Only (Can only be spoken by NPCs following the player)" : 0 4 : "[4] Interrupt Speech" : 1 - 8 : "[8] Concurrent" : 0 - 16 : "[16] Speak to Activator" : 1 + 8 : "[8] Concurrent (Allow other NPCs to keep talking during this sentence)" : 0 + 16 : "[16] Speak to Activator (NPC turns to face the !activator)" : 1 ] sentence(string) : "Sentence Name" : "" - entity(string) : "Speaker Type" + entity(string) : "Speaker Entity" delay(string) : "Additional Sentence Time" : "0" radius(integer) : "Search Radius" : 512 refire(string) : "Delay Before Refire" : "3" @@ -2593,7 +2644,7 @@ output LeaveTarget(void) : "Fires when NPC leaves this target" ] -@PointClass base(Targetname) iconsprite("editor/scripted_sound.vmt") = scripted_sound : "Makes a target entity emit a sound directly, which allows lip syncing, interruption from death or other lines, etc. at the cost of most forms of control. Not exclusive to NPCs." +@PointClass base(Targetname) iconsprite("editor/scripted_sound.vmt") line(255 255 255, targetname, message) = scripted_sound : "Makes a target entity emit a sound directly, which allows lip syncing, interruption from death or other lines, etc. at the cost of most forms of control. Not exclusive to NPCs." [ message(sound) : "Sound Name" : : "The sound to play. Supports Game Sounds and direct filenames." target(target_destination) : "Target Entity" : : "The entity that should play the sound." @@ -2611,7 +2662,7 @@ input SetSound(string) : "Sets the sound." ] -@PointClass base(Targetname) iconsprite("editor/ai_relationship.vmt") sphere(radius) = ai_relationship : +@PointClass base(Targetname) iconsprite("editor/ai_relationship.vmt") sphere(radius) line(255 255 255, targetname, subject) = 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." @@ -2780,7 +2831,7 @@ goal(target_destination) : "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." + LeadDistance(float) : "Lead Distance" : "64" : "The player is considered to be lagging if they're 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(choices) : "Run instead of Walk" : "0" = @@ -2826,8 +2877,8 @@ 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." + 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 them." + 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 them." // Spawnflags spawnflags(Flags) = @@ -2911,12 +2962,12 @@ [ 0 : "Close circle" 1 : "Wide circle" - 2 : "Antlion" - 3 : "Commander" + 2 : "Antlion (For antlions following player)" + 3 : "Commander (For citizens following player)" 4 : "Tight circle" 5 : "Medium circle" 6 : "Sidekick" - 7 : "Hunter" + 7 : "Hunter (For hunters following striders)" 8 : "Vortigaunt" ] @@ -2986,9 +3037,9 @@ 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" + 0 : "Move when ready (Default AI)" + 1 : "Move when seek cover (Move when cover is needed)" + 2 : "Move immediately (Move to a different position, if we want to, when change occurs)" ] Aggressiveness(Choices) : "Aggressiveness" : 2 = @@ -2998,7 +3049,7 @@ 2 : "Medium" 3 : "High" 4 : "Very High" - // Custom agression disabled + // Custom aggression disabled 5 : "Custom" ] @@ -3043,8 +3094,8 @@ [ spawnflags(Flags) = [ - 2 : "[2] Knock-out target past crossing plane" : 0 - 4 : "[4] Do not leave post" : 0 + 2 : "[2] Knock-out target past crossing plane (screen flashes when going past cop. Teleport player to fake arrest)" : 0 + 4 : "[4] Do not leave post (cop will not move to attack. Another cop might if they're free to)" : 0 ] policeradius(float) : "Radius" : 512 : "Radius to police" @@ -3076,7 +3127,7 @@ 1 : "Yes" ] - urgent(choices) : "Urgent" : 0 : "If true, NPCs will consider movement to this rally point as Urgent Navigation." = + urgent(choices) : "Urgent" : 0 : "If true, NPCs will consider movement to this rally point as Urgent Navigation.(ignoring prop_physics blockers, eventually teleporting)" = [ 0 : "No" 1 : "Yes" @@ -3143,7 +3194,7 @@ // 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 SetAllowDiversion(integer) : "Set the allow diversion flag. NPCs who spot enemies while 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 @@ -3171,9 +3222,9 @@ AssaultCue(choices) : "Assault Cue" : 1 = [ - 1 : "Entity System Input" + 1 : "Entity System Input (BeginAssault)" 2 : "Gunfire" - 3 : "Don't wait for a cue." + 3 : "Don't wait for a cue. (Attack immediately after rallying finish)" ] RallySelectMethod(choices) : "Rally Point Selection Method" : 0 = @@ -3261,12 +3312,12 @@ output OnNPCStartedLeavingBusy(ehandle) : "Fired right when an NPC targeted by this goal begins to stop acting busy, which would be right as they play their exit animation." 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." + output OnNPCSeeEnemy(void) : "Fired when this NPC leaves their 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." + node_exit(target_destination) : "Exit Node" : "" : "The name of the node the first NPC in the queue should move to when they leave 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." @@ -3307,8 +3358,8 @@ @PointClass base(Targetname) iconsprite("editor/ai_goal_fear.vmt") = ai_goal_fear : "AI Goal Fear\n\n" + - "Allows player allies to use fear withdrawal points and other fear behavior otherwise unique with npc_hunters. " + - "Citizens will still engage in fear behavior with npc_hunters, but this allows them to use it with other NPCs." + + "Allows player allies to use fear withdrawal points and other fear behavior otherwise unique with npc_hunters." + + "Citizens will still engage in fear behavior with npc_hunters, but this allows them to use it with other NPCs." [ actor(target_name_or_class) : "Actor(s) to affect" : "" : "NPC(s) that should engage in fear behavior." target(target_destination) : "Fear Target" : "" : "Target to fear. Only applies whenever the actors' relationship to the target is D_FR. Supports wildcards and can be a classname or an entity name." @@ -3377,7 +3428,7 @@ -@PointClass base(Targetname) sphere(PlayerActorProximity) sphere(ActorTargetProximity) sphere(PlayerTargetProximity) = ai_script_conditions : "AI Script Conditions" +@PointClass base(Targetname) sphere(PlayerActorProximity) sphere(ActorTargetProximity) sphere(PlayerTargetProximity) line(255 255 0, targetname, actor) line(255 255 255, targetname, target) = ai_script_conditions : "AI Script Conditions" [ Actor(target_destination) : "Actor" : : "NPC Target" @@ -3502,7 +3553,7 @@ // 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." + output NoValidActors(void) : "Fires if/when there are no matching actors in the map." ] @PointClass base(BaseScripted, Angles, DXLevelChoice) studio("models/editor/scriptedsequence.mdl") sphere(m_flRadius) = scripted_sequence : @@ -3522,13 +3573,13 @@ [ spawnflags(Flags) = [ - 4 : "[4] Repeatable" : 0 + 4 : "[4] Repeatable (Otherwise, removes itself after)" : 0 8 : "[8] Leave Corpse" : 0 - 16 : "[16] Start on Spawn" : 0 - 32: "[32] No Interruptions" : 1 + 16 : "[16] Start on Spawn (Emulates sending MoveToPosition input when this entity spawns)" : 0 + 32: "[32] No Interruptions (Disallows the NPC from being interrupted by damage)" : 1 64: "[64] Override AI" : 1 128: "[128] Don't Teleport NPC On End" : 0 - 256: "[256] Loop in Post Idle" : 0 + 256: "[256] Loop in Post Idle (Loop Post Action Idle Animation)" : 0 512: "[512] Priority Script" : 0 1024 : "[1024] Search Cyclically" : 0 2048 : "[2048] Don't Complain" : 0 @@ -3545,7 +3596,7 @@ // line(255 0 255, targetname, goalent) -@PointClass base(Targetname) sphere(m_flRadius) color(255 0 255) iconsprite("editor/aiscripted_schedule") = aiscripted_schedule : +@PointClass base(Targetname) sphere(m_flRadius) color(255 0 255) iconsprite("editor/aiscripted_schedule") line(255 255 255, targetname, m_iszentity) line(255 255 255, targetname, m_iszentity, targetname, goalent) = 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" [ @@ -3560,9 +3611,9 @@ spawnflags(Flags) = [ - 4 : "[4] Repeatable" : 1 - 1024 : "[1024] Search Cyclically" : 0 - 2048 : "[2048] Don't Complain" : 0 + 4 : "[4] Repeatable (Otherwise, mark as unusable after firing)" : 1 + 1024 : "[1024] Search Cyclically (If found multiple entities, cycle through a list instead of random choice)" : 0 + 2048 : "[2048] Don't Complain (Suppresses some error messages)" : 0 ] forcestate(choices) : "AI state to set" : 0 = @@ -3579,8 +3630,8 @@ 1 : "Walk to Goal Entity" 2 : "Run to Goal Entity" 3 : "Set enemy to Goal Entity" - 4 : "Walk Goal Path" - 5 : "Run Goal Path" + 4 : "Walk Goal Path (Make NPC walk along path made by path_tracks)" + 5 : "Run Goal Path (Make NPC run along path made by path_tracks)" 6 : "Set enemy to Goal Entity AND Run to Goal Entity" ] @@ -3659,15 +3710,15 @@ [ spawnflags(flags) = [ - 8192 : "[8192] LookDoor Threshold" : 0 - 16384 : "[16384] LookDoor Invert" : 0 - 32768 : "[32768] LookDoor From Open" : 0 + 8192 : "[8192] Threshold (Door will move entire distance when target is within Proximity Distance+Offset)" : 0 + 16384 : "[16384] Invert (Make door behave oppositely)" : 0 + 32768 : "[32768] From Open (Proximity and look direction will be calculated from the door's open position)" : 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" - + target(target_destination) : "Target" : : "Thing that must looked at or be close to the door. !player works." //added by vizzys + ProximityDistance(float) : "Proximity Distance" : 0 : "If non-zero, how close the target must be (plus Proximity Offset) for the door to move. As the target approaches the center of the door's original position (or Proximity Offset distance from it), the door will open more and more." + ProximityOffset(float) : "Proximity Offset" : : "In this range to the door, the door will always be open. If 0, the door will only be fully open if the target is standing in the perfect spot." + FieldOfView(float) : "Field of View" : 0 : "A number between 0.0001 and 1 representing how closely the target is looking towards the door. Closer to 0 means less directly looking at the door, and 1 means looking inhumanly accurately at the center of the door. The target entity must be a player or NPC to use this." // Input input InvertOn(void) : "InvertOn - when set behavior of door is inverted." input InvertOff(void) : "InvertOff - when set behavior of door is normal." @@ -3695,10 +3746,10 @@ DefaultCitizenType(choices) : "Default Citizen Type" : 0 : "Overrides the default citizen type." = [ 0 : "None" - 1 : "Downtrodden" - 2 : "Refugee" - 3 : "Rebel" - 4 : "Unique" + 1 : "Downtrodden (Clean, blue uniform)" + 2 : "Refugee (Dirty, ragged clothing)" + 3 : "Rebel (Full resistance getup and combat gear)" + 4 : "Unique (Set a particular model)" ] // Friendly fire is just a global state now. @@ -3775,9 +3826,9 @@ ] ] -@PointClass base(Targetname, Parentname, EnableDisable) sphere(SetRadius) = point_radiation_source : "Radiation source that trips the player's geiger counter. Does no actual damage." +@PointClass base(Targetname, Parentname, EnableDisable) sphere(SetRadius) = point_radiation_source : "Radiation source that trips the player's Geiger counter. Does no actual damage." [ - SetRadius(float): "Radius" : "0" : "Only affects the geiger counter if the player is within this radius. 0 = no radius, use intensity only" + SetRadius(float): "Radius" : "0" : "Only affects the Geiger counter if the player is within this radius. 0 = no radius, use intensity only" SetIntensity(float): "Intensity" : "1.0" : "The intensity of the radiation source. Cannot be 0." TestPVS(choices) : "Test PVS" : 1 : "Tests whether the player is in this entity's PVS before attempting to update." = @@ -3795,14 +3846,14 @@ // Tanks // //------------------------------------------------------------------------- -@BaseClass base(Targetname, Parentname, Origin, Angles, RenderFields, Global, Shadow) = BaseTank +@BaseClass base(Targetname, Parentname, Origin, Angles, RenderFields, Global, Shadow) line(255 255 255, targetname, control_volume) sphere(maxrange) = BaseTank [ spawnflags(flags) = [ 1 : "[1] Start Active" : 1 - 16 : "[16] Only Direct" : 0 + 16 : "[16] Only Direct (When firing via inputs, tank will only shoot target if visible to the tank)" : 0 32 : "[32] Controllable" : 1 - 64 : "[64] Damage Kick" : 0 + 64 : "[64] Damage Kick (Allows the tank to be damaged)" : 0 256 : "[256] Aiming Assistance (Player Only)" : 0 1024 : "[1024] NPC Controllable" : 0 2048 : "[2048] NPC Set Controller (uninterruptible)" : 0 @@ -3845,7 +3896,7 @@ 3: "Large cone" 4: "Extra-large cone" ] - minRange(string) : "Minmum target range" : "0" + minRange(string) : "Minimum target range" : "0" maxRange(string) : "Maximum target range" : "0" _minlight(string) : "Minimum light level" @@ -3865,7 +3916,7 @@ ] 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." + 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." @@ -3878,8 +3929,8 @@ effecthandling(choices) : "Effect Handling" : 0 : "Special effect handling that influences sound and muzzle effects. Individual settings can override parts of it." = [ 0 : "None" - 1 : "AR2" - 2 : "Combine Cannon" + 1 : "AR2 (Pulse Rifle)" + 2 : "Combine Autocannon" ] TraceFilter(filterclass) : "Trace Filter" : "" : "Entities that pass this filter will be ignored by this func_tank while it's aiming." @@ -3963,8 +4014,8 @@ "" : "None" "Pistol" : "Pistol" "SMG1" : "SMG1" - "AR2" : "AR2" - "CombineHeavyCannon" : "Combine Heavy Cannon (Episodic only)" + "AR2" : "AR2 (Pulse Rifle)" + "CombineHeavyCannon" : "Combine Autocannon (Episodic only)" "StriderMinigun" : "Strider Minigun" ] ] @@ -4033,7 +4084,7 @@ ] -@SolidClass base(BaseTank) sphere(radius) = func_tankmortar : "Brush Mortar Turret" +@SolidClass base(BaseTank) sphere(radius) = func_tankmortar : "Brush Mortar Turret aka the Combine Nexus Supression Device" [ iMagnitude(Integer) : "Explosion Magnitude" : 100 firedelay(string) : "Shell travel time" : 2 : "How long after the turret fires before the shell impacts" @@ -4050,15 +4101,16 @@ 100679691: "MASK_SHOT_HULL (hits NPCs)" ] + input ShootGun(void) : "Manually shoots the mortar." //added by vizzys input FireAtWill(void) : "Allow tank to fire next shot as soon as ready." ] -@SolidClass base(BaseTank) = func_tankphyscannister : "PhysCannister Turret" +@SolidClass base(BaseTank) line(255 255 255, targetname, barrel_volume) = func_tankphyscannister : "PhysCannister Turret" [ barrel_volume(target_destination) : "Barrel Volume" : "" : "Name of a trigger the specifies the volume in which cannisters must be placed." ] -@SolidClass base(BaseTank, TankShootSound) = func_tank_combine_cannon : "Combine sentry cannon" +@SolidClass base(BaseTank, TankShootSound) = func_tank_combine_cannon : "Combine Autocannon" [ firerate(string) : "Rate of Fire" : "1.5" @@ -4067,8 +4119,8 @@ "" : "None" "Pistol" : "Pistol" "SMG1" : "SMG1" - "AR2" : "AR2" - "CombineHeavyCannon" : "Combine Heavy Cannon" + "AR2" : "AR2 (Pulse Rifle)" + "CombineHeavyCannon" : "Combine Autocannon" ] ControllableVersion(choices) : "Controllable Version" : 0 : "Enables a tweaked version of func_tank_combine_cannon that is designed to be controlled by players and NPCs." = @@ -4103,11 +4155,11 @@ // Items // //------------------------------------------------------------------------- -@BaseClass color(0 0 200) base(Targetname, Angles, Shadow) sphere(fademindist) sphere(fademaxdist) = Item +@BaseClass color(0 0 200) base(Targetname, Angles, Shadow, RenderFields) 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." + 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 Gravity Gun, Punted by Gravity Gun." 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." @@ -4166,25 +4218,25 @@ [ spawnflags(Flags) = [ - 1 : "[1] Use Master's values" : 1 - 2 : "[2] Is Master" : 0 - 4 : "[4] Spawn even if player meets all requirements" : 0 - 8 : "[8] Fallback to Health Vial" : 0 - 16 : "[16] Alternate master" : 0 - ] - - DesiredHealth(float) : "Desired Health Ratio" : "1" : "A ratio from 0 to 1. Attempt to fill the player up to this percentage of his max health." - DesiredArmor(float) : "Desired Armor Ratio" : "0.3" : "A ratio from 0 to 1. Attempt to fill the player up to this percentage of his max armor." - DesiredAmmoPistol(float) : "Desired Pistol Ammo Ratio" : "0.5" : "A ratio from 0 to 1. Attempt to fill the player up to this percentage of his max ammo carrying capacity." - DesiredAmmoSMG1(float) : "Desired SMG1 Ammo Ratio" : "0.5" : "A ratio from 0 to 1. Attempt to fill the player up to this percentage of his max ammo carrying capacity." - DesiredAmmoSMG1_Grenade(float) : "Desired SMG1 Grenade Ammo Ratio" : "0.1" : "A ratio from 0 to 1. Attempt to fill the player up to this percentage of his max ammo carrying capacity." - DesiredAmmoAR2(float) : "Desired AR2 Ammo Ratio" : "0.4" : "A ratio from 0 to 1. Attempt to fill the player up to this percentage of his max ammo carrying capacity." - DesiredAmmoBuckshot(float) : "Desired Shotgun Ammo Ratio" : "0.5" : "A ratio from 0 to 1. Attempt to fill the player up to this percentage of his max ammo carrying capacity." - DesiredAmmoRPG_Round(float) : "Desired RPG Ammo Ratio" : "0" : "A ratio from 0 to 1. Attempt to fill the player up to this percentage of his max ammo carrying capacity." - DesiredAmmoGrenade(float) : "Desired Grenade Ammo Ratio" : "0.1" : "A ratio from 0 to 1. Attempt to fill the player up to this percentage of his max ammo carrying capacity." - DesiredAmmo357(float) : "Desired 357 Ammo Ratio" : "0" : "A ratio from 0 to 1. Attempt to fill the player up to this percentage of his max ammo carrying capacity." - DesiredAmmoCrossbow(float) : "Desired Crossbow Ammo Ratio" : "0" : "A ratio from 0 to 1. Attempt to fill the player up to this percentage of his max ammo carrying capacity." - DesiredAmmoAR2_AltFire(float) : "Desired AR2 Alt-fire Ammo Ratio" : "0" : "A ratio from 0 to 1. Attempt to fill the player up to this percentage of his max ammo carrying capacity." + 1 : "[1] Use Master's values (Use settings from a resupply with Is Master checked)" : 1 + 2 : "[2] Is Master (Resupplys with Use Master's values checked will use settings from this entity)" : 0 + 4 : "[4] Always Spawn (Spawn something even if the player doesn't need anything)" : 0 + 8 : "[8] Fallback to Health Vial (If Always Spawn checked & the player doesn't need anything, spawns an item_healthvial)" : 0 + 16 : "[16] Alternate master (Stop doing PVS check so it can be used by supply crates or become the master later on)" : 0 + ] + + DesiredHealth(float) : "Desired Health Ratio" : "1" : "A ratio from 0 to 1. Attempt to fill the player up to this percentage of their max health." + DesiredArmor(float) : "Desired Armor Ratio" : "0.3" : "A ratio from 0 to 1. Attempt to fill the player up to this percentage of their max armor." + DesiredAmmoPistol(float) : "Desired Pistol Ammo Ratio" : "0.5" : "A ratio from 0 to 1. Attempt to fill the player up to this percentage of their max ammo carrying capacity." + DesiredAmmoSMG1(float) : "Desired SMG1 Ammo Ratio" : "0.5" : "A ratio from 0 to 1. Attempt to fill the player up to this percentage of their max ammo carrying capacity." + DesiredAmmoSMG1_Grenade(float) : "Desired SMG1 Grenade Ammo Ratio" : "0.1" : "A ratio from 0 to 1. Attempt to fill the player up to this percentage of their max ammo carrying capacity." + DesiredAmmoAR2(float) : "Desired AR2 Ammo Ratio" : "0.4" : "A ratio from 0 to 1. Attempt to fill the player up to this percentage of their max ammo carrying capacity." + DesiredAmmoBuckshot(float) : "Desired Shotgun Ammo Ratio" : "0.5" : "A ratio from 0 to 1. Attempt to fill the player up to this percentage of their max ammo carrying capacity." + DesiredAmmoRPG_Round(float) : "Desired RPG Ammo Ratio" : "0" : "A ratio from 0 to 1. Attempt to fill the player up to this percentage of their max ammo carrying capacity." + DesiredAmmoGrenade(float) : "Desired Grenade Ammo Ratio" : "0.1" : "A ratio from 0 to 1. Attempt to fill the player up to this percentage of their max ammo carrying capacity." + DesiredAmmo357(float) : "Desired .357 Ammo Ratio" : "0" : "A ratio from 0 to 1. Attempt to fill the player up to this percentage of their max ammo carrying capacity." + DesiredAmmoCrossbow(float) : "Desired Crossbow Ammo Ratio" : "0" : "A ratio from 0 to 1. Attempt to fill the player up to this percentage of their max ammo carrying capacity." + DesiredAmmoAR2_AltFire(float) : "Desired AR2 Alt-fire Ammo Ratio" : "0" : "A ratio from 0 to 1. Attempt to fill the player up to this percentage of their max ammo carrying capacity." // Inputs input CalculateType(void) : "Force the dynamic resupply to calculate which item it should spawn." @@ -4197,8 +4249,8 @@ @PointClass base(ItemAmmo) studio("models/items/BoxMRounds.mdl")= item_ammo_smg1_large : "Large Box of SMG1 ammo" [] @PointClass base(ItemAmmo) studio("models/items/combine_rifle_cartridge01.mdl")= item_ammo_ar2 : "Box of AR2 ammo" [] @PointClass base(ItemAmmo) studio("models/items/combine_rifle_cartridge01.mdl")= item_ammo_ar2_large : "Large Box of AR2 ammo" [] -@PointClass base(ItemAmmo) studio("models/items/357ammo.mdl")= item_ammo_357 : "Box of 357 ammo" [] -@PointClass base(ItemAmmo) studio("models/items/357ammobox.mdl")= item_ammo_357_large : "Large Box of 357 ammo" [] +@PointClass base(ItemAmmo) studio("models/items/357ammo.mdl")= item_ammo_357 : "Box of .357 ammo" [] +@PointClass base(ItemAmmo) studio("models/items/357ammobox.mdl")= item_ammo_357_large : "Large Box of .357 ammo" [] @PointClass base(ItemAmmo) studio("models/items/CrossbowRounds.mdl")= item_ammo_crossbow : "Box of Crossbow ammo" [] @PointClass base(ItemAmmo) studio("models/items/BoxBuckshot.mdl")= item_box_buckshot : "Box Buckshot" [] @PointClass base(ItemAmmo) studio("models/weapons/w_missile_closed.mdl")= item_rpg_round : "RPG Round" [] @@ -4231,14 +4283,14 @@ [ 0 : "Pistol" 1 : "SMG1" - 2 : "AR2" + 2 : "AR2 (Pulse Rifle)" 3 : "RPG Rounds" 4 : "Buckshot" 5 : "Grenades" - 6 : "357 Magnum" + 6 : ".357 Magnum (Revolver)" 7 : "Crossbow" 8 : "AR2 Alt-Fire Balls" - 9 : "SMG Alt-Fire Grenades" + 9 : "SMG1 Alt-Fire Grenades" 10 : "S.L.A.M." 11 : "Empty" ] @@ -4290,7 +4342,7 @@ output OnBreak(void) : "Fires when broken." output OnHealthChanged(float) : "Fires when the health of this breakable changes, passing the new value of health as a percentage of max health, from [0..1]." - output OnCacheInteraction(void) : "This output fires when the player proves they have 'found' this crate. Fires on: Picked up by +USE, Picked up by Physcannon, Punted by Physcannon, Broken." + output OnCacheInteraction(void) : "This output fires when the player proves they have 'found' this crate. Fires on: Picked up by +USE, Picked up by Gravity Gun, Punted by Gravity Gun, Broken." output OnItem(ehandle) : "Fires for each item spawned by this crate." ] @@ -4339,8 +4391,8 @@ spawnflags(flags) = [ - 8192 : "[8192] Citadel recharger" : 0 - 16384 : "[16384] Kleiner's recharger" : 0 + 8192 : "[8192] Citadel recharger (Overcharges up to 200 power and gives health)" : 0 + 16384 : "[16384] Kleiner's recharger (Gives only 25 power)" : 0 ] // Inputs @@ -4348,6 +4400,7 @@ input SetCharge(integer) : "Sets the *maximum* charge, refilling the charger in the process." input SetChargeNoMax(float) : "Sets the charger's current juice without doing anything with the maximum." input SetIncrementValue(integer) : "Sets the charger's increment value." + input SetCharge(float) : "Set charge and total charge to a specific amount." //added by vizzys // Outputs output OutRemainingCharge(float) : "Outputs this charger's remaining juice while used." @@ -4373,6 +4426,7 @@ 16 : "[16] Preserve ammo values when picked up" : 0 32 : "[32] Preserve name on player pickup" : 0 64 : "[64] Always touchable (no obstruction checking)" : 0 + 1073741824 : "[1073741824] Weapon will not respawn. (multiplayer only)" : 0 ] SetAmmo1(integer) : "Ammo 1 Override" : 0 : "Overrides the amount of primary ammo this weapon has. Be sure to set 'Preserve ammo values when picked up' for this to be maintained upon pickup." @@ -4388,12 +4442,13 @@ input SetAmmo2(integer) : "Sets the amount of secondary ammo stored in this weapon." input ForcePrimaryFire(void) : "Forces the weapon to fire its primary attack." input ForceSecondaryFire(void) : "Forces the weapon to fire its secondary attack. Whether or not it actually fires a secondary attack depends on the weapon and who owns it." - + input HideWeapon(void) : "If the weapon is being held by someone, makes it invisible. The weapon will reappear if they switch weapons." // added by vizzys + // Outputs - output OnPlayerUse(void) : "Fires when the player +uses this weapon" + 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." + output OnCacheInteraction(void) : "Fires when the player 'proves' they've found this weapon. Fires on: Player Touch, +USE pickup, Gravity Gun pickup, Gravity Gun punt." output OnDropped(void) : "Fires when the weapon is dropped by a NPC or player, either through death or from picking up a different weapon." 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." @@ -4405,18 +4460,18 @@ @PointClass base(Weapon) studio("models/weapons/w_crowbar.mdl") sphere(fademindist) sphere(fademaxdist) = weapon_crowbar : "Crowbar" [] @PointClass base(Weapon) studio("models/weapons/w_stunbaton.mdl") sphere(fademindist) sphere(fademaxdist) = weapon_stunstick : "StunStick" [] @PointClass base(Weapon) studio("models/weapons/w_pistol.mdl") sphere(fademindist) sphere(fademaxdist) = weapon_pistol : "Pistol" [] -@PointClass base(Weapon) studio("models/weapons/w_irifle.mdl") sphere(fademindist) sphere(fademaxdist) = weapon_ar2 : "Assault Rifle 2" [] -@PointClass base(Weapon) studio("models/weapons/w_rocket_launcher.mdl") sphere(fademindist) sphere(fademaxdist) = weapon_rpg : "Missile Launcher" [] +@PointClass base(Weapon) studio("models/weapons/w_irifle.mdl") sphere(fademindist) sphere(fademaxdist) = weapon_ar2 : "AR2 (Pulse Rifle)" [] +@PointClass base(Weapon) studio("models/weapons/w_rocket_launcher.mdl") sphere(fademindist) sphere(fademaxdist) = weapon_rpg : "RPG" [] @PointClass base(Weapon) studio("models/weapons/w_smg1.mdl") sphere(fademindist) sphere(fademaxdist) = weapon_smg1 : "SMG1" [] -@PointClass base(Weapon) studio("models/weapons/w_357.mdl") sphere(fademindist) sphere(fademaxdist) = weapon_357 : "357" [] +@PointClass base(Weapon) studio("models/weapons/w_357.mdl") sphere(fademindist) sphere(fademaxdist) = weapon_357 : ".357 Magnum (Revolver)" [] @PointClass base(Weapon) studio("models/weapons/w_crossbow.mdl") sphere(fademindist) sphere(fademaxdist) = weapon_crossbow : "Crossbow" [] @PointClass base(Weapon) studio("models/weapons/w_shotgun.mdl") sphere(fademindist) sphere(fademaxdist) = weapon_shotgun : "Shotgun" [] @PointClass base(Weapon) studio("models/weapons/w_grenade.mdl") sphere(fademindist) sphere(fademaxdist) = weapon_frag : "Frag Grenade" [] -@PointClass base(Weapon) studio("models/weapons/w_physics.mdl") sphere(fademindist) sphere(fademaxdist) = weapon_physcannon : "Physics Cannon" [] -@PointClass base(Weapon) studio("models/weapons/w_bugbait.mdl") sphere(fademindist) sphere(fademaxdist) = weapon_bugbait: "Bug bait" [] +@PointClass base(Weapon) studio("models/weapons/w_physics.mdl") sphere(fademindist) sphere(fademaxdist) = weapon_physcannon : "Gravity Gun" [] +@PointClass base(Weapon) studio("models/weapons/w_bugbait.mdl") sphere(fademindist) sphere(fademaxdist) = weapon_bugbait: "Bugbait" [] @PointClass base(Weapon) studio("models/weapons/W_Alyx_Gun.mdl") sphere(fademindist) sphere(fademaxdist) = weapon_alyxgun: "Alyx Gun" [] -@PointClass base(Weapon) studio("models/weapons/W_annabelle.mdl") sphere(fademindist) sphere(fademaxdist) = weapon_annabelle: "Annabelle (Grigori)" [] -@PointClass base(Weapon) studio("models/weapons/w_slam.mdl") sphere(fademindist) sphere(fademaxdist) = weapon_slam: "A tripmine/satchel hybrid from HL2:MP.\n\nCome on and slam, and welcome to the jam!\nCome on and slam, if you wanna jam!" [] +@PointClass base(Weapon) studio("models/weapons/W_annabelle.mdl") sphere(fademindist) sphere(fademaxdist) = weapon_annabelle: "Annabelle (Grigori's Shotgun)" [] +@PointClass base(Weapon) studio("models/weapons/w_slam.mdl") sphere(fademindist) sphere(fademaxdist) = weapon_slam: "SLAM tripmine from HL2:MP.\n\nCome on and slam, and welcome to the jam!\nCome on and slam, if you wanna jam!" [] // TODO: Move to its own FGD? Needs to access Weapon base class somehow @BaseClass color(0 0 220) base(Weapon, Studiomodel) sphere(fademindist) sphere(fademaxdist) = CustomScriptedWeapon @@ -4520,8 +4575,8 @@ spawnflags(Flags) = [ 1: "[1] Do not call antlions to position" : 0 - 2: "[2] Don't activate on thrown bugbait splashes" : 0 - 4: "[4] Don't activate on squeezed bugbait" : 0 + 2: "[2] Don't fire OnBaited for thrown bugbait." : 0 + 4: "[4] Don't fire OnBaited when bugbait is squeezed." : 0 ] useradius(choices) : "Use Radius Keyvalue" : 1 : "If disabled, use mins and maxs." = @@ -4550,7 +4605,7 @@ ] -@PointClass base(Targetname, Angles) size(16 16 16) line(255 255 255, targetname, target) color(247 181 82) = path_corner : "Generic path point" +@PointClass base(Targetname, Angles) size(16 16 16) cylinder(255 255 255, targetname, target, radius, targetname, targetname, radius) = path_corner : "Generic path point" [ spawnflags(Flags) = [ @@ -4563,7 +4618,7 @@ yaw_speed(integer) : "New Train rot. Speed" : 0 // Inputs - input SetNextPathCorner(target_destination) : "Sets next pathcorner" + input SetNextPathCorner(target_destination) : "Sets next path_corner" // Outputs output OnPass(void) : "Fires when a path follower passes this point" @@ -4598,20 +4653,20 @@ [ // Inputs input Strip(void) : "Strip player's weapons" - input StripWeaponsAndSuit(void) : "Strip player's weapons and his suit" + input StripWeaponsAndSuit(void) : "Strip player's weapons and their suit" ] @PointClass base(Targetname) size(-16 -16 -16, 16 16 16) = player_speedmod: "Speeds up or slows down player velocity over time (slow mo/fast forward)" [ spawnflags(Flags) = [ - 1: "[1] Suppress weapons" : 0 - 2: "[2] Suppress HUD" : 0 + 1: "[1] Suppress weapons (Hides and disables weapons. Glitchy when weapons are switched)" : 0 + 2: "[2] Suppress HUD (Also Disables weapon switching)" : 0 4: "[4] Suppress jump" : 0 8: "[8] Suppress duck" : 0 16: "[16] Suppress use" : 0 32: "[32] Suppress sprint" : 0 - 64: "[64] Suppress attack" : 0 + 64: "[64] Suppress attack (If holding with Gravity Gun as speed is modified, they wont be able to drop)" : 0 128: "[128] Suppress zoom" : 0 256: "[256] Don't suppress flashlight" : 0 ] @@ -4619,7 +4674,7 @@ AdditionalButtons(integer) : "Additional Buttons" : 0 : "Additional buttons to suppress, other than those listed in the spawnflags. Advanced users only." // Inputs - input ModifySpeed(float) : "Modifies player speed by X ammount. Use 1.0 to reset." + input ModifySpeed(float) : "Modifies player speed by X amount. Use 1.0 to reset." input Enable(void) : "Enables the spawnflag abilities without actually modifying the player's speed." input Disable(void) : "Disables the spawnflag abilities without actually modifying the player's speed." @@ -4627,14 +4682,21 @@ input SetAdditionalButtons(integer) : "Sets the additional suppressed buttons." ] - - //------------------------------------------------------------------------- // // Logic Entities // //------------------------------------------------------------------------- -@PointClass color(0 0 255) base(Targetname) iconsprite("editor/choreo_scene.vmt") = logic_choreographed_scene : +@PointClass color(0 0 255) base(Targetname) 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." [ @@ -4714,7 +4776,7 @@ ] @PointClass color(0 0 255) base(Targetname) iconsprite("editor/choreo_manager.vmt") = 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." + "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 individual 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." @@ -4737,7 +4799,7 @@ 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 : +@PointClass base(Targetname, Parentname) sphere(volume) iconsprite("editor/ai_sound.vmt") line(255 255 255, targetname, target, targetname, locationproxy) = 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" + @@ -4760,37 +4822,38 @@ 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" + 1: "Combat (Face sound. May stop actbusy/AI routines)" + 2: "World (Gets attention of most NPCs)" //4: "Player (Don't use)" - 8: "Danger" - 16: "Bullet Impact" + 8: "Danger (Gets attention of most NPCs)" + 16: "Bullet Impact (May stop actbusy/AI routines)" 32: "Carcass" 64: "Meat" 128: "Garbage" - 256: "Thumper" - 512: "Bugbait" - 1024: "Physics Danger" - 2048: "Sniper Danger (only scares sniper)" - 4096: "Move Away - Most NPCs will clear the radius of this sound when heard." - 8192: "Player Vehicle" - 16384 : "Readiness - Low" - 32768 : "Readiness - Medium" - 65536 : "Readiness - High" + 256: "Thumper (Distracts/Repels Antlions)" + 512: "Bugbait (Attracts Antlions)" + 1024: "Physics Danger (Scares Antlions, Combine)" + 2048: "Sniper Danger (Only scares Sniper)" + 4096: "Move Away (Most NPCs will clear radius)" + 8192: "Player Vehicle (Alerts Hunters, Metrocops)" + 16384 : "Readiness - Low (Allies relaxed)" + 32768 : "Readiness - Medium (Allies alert)" + 65536 : "Readiness - High (Allies agitated, ready to fight)" ] soundcontext(choices) : "Additional sound context (optional)" : 0 : "Optional settings specifying such things as who can or cannot hear the sound." = [ 0 : "Select one" - 1048576 : "From sniper" - 2097152 : "Gunfire (use with combat sound type)" - 4194304 : "Mortar (pending explosion)" - 8388608 : "Only Combine can hear" + 1048576 : "From Sniper (react ai_sound, not Location Proxy. Use with Danger. Allies speak TLK_DANGER concepts, take cover.)" + 2097152 : "Gunfire (Use with combat sound type, Alerts Alyx)" + 4194304 : "Mortar (Allies avoid pending explosion)" + 8388608 : "Only Combine can hear (But does not always alert)" 67108864 : "Combine cannot can hear" 16777216 : "React to source (face sound owner)" - 33554432 : "Explosion (use with combat sound type)" + 33554432 : "Explosion (use with combat sound type. Picked up by env_microphone. Alyx may flinch.)" 134217728 : "Danger approach (run if see sound owner, turn to face if not)" 268435456 : "Only allies can hear" + 536870912 : "Player vehicle (Hunters will prepare to dodge)" ] 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)" @@ -4835,10 +4898,10 @@ [ 0 : "Deploying" 1 : "Disarmed" - 2 : "Captive (locked in physgun)" + 2 : "Captive (locked in Gravity Gun hold)" 3 : "Planted" 4 : "Triggered (bounce, explode on touch)" - 5 : "Physgun Launch (no bounce, explode on touch)" + 5 : "Gravity Gun Launch (no bounce, explode on touch)" ] CheapWarnSound(choices) : "Cheap Warn Sound" : 0 : "Makes the mine's warn sound use generic sound methods instead of a sound patch, which is cheaper and doesn't continuously take up audio channels. Use this for areas with tons of active mines." = @@ -4893,7 +4956,7 @@ input SetPlantOrientationRaw(vector) : "Sets the mine's plant orientation as a direction vector." // Outputs - output OnPulledUp(void) : "Fires when this mine is uprooted with a physgun." + output OnPulledUp(void) : "Fires when this mine is uprooted with the Gravity Gun." output OnTriggered(void) : "Fires when this mine is triggered by an enemy." output OnExplode(void) : "Fires when this mine actually explodes." ] @@ -4912,17 +4975,17 @@ 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" +@PointClass base(Targetname, Parentname, Angles) size( -4 -4 -4, 4 4 4 ) = env_flare : "Flare" [ scale(float) : "Scale" : 1 duration(float) : "Duration" : 30 spawnflags(Flags) = [ - 1 : "[1] No DLight" : 0 + 1 : "[1] No DLight (No dynamic light)" : 0 2 : "[2] No Smoke" : 0 4 : "[4] Infinite" : 0 - 8 : "[8] Start off" : 0 + 8 : "[8] Start off (Completely hidden until Start or Launch input)" : 0 ] input Start(float) : "Starts the flare burning. The flare will burn for the specified number of seconds (0 = infinite)." @@ -4957,7 +5020,7 @@ " 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.)" + "This entity's position and any vertices attempting will clip to this entity's position. You may use this feature to create mesas.)" // Inputs input BeginMorph(void) : "Begin Morph" @@ -5000,7 +5063,7 @@ "ACHIEVEMENT_EVENT_HL2_BEAT_TOXICTUNNEL" : "[HL2] Get through the toxic tunnel under City 17 in Half-Life 2." "ACHIEVEMENT_EVENT_HL2_BEAT_PLAZASTANDOFF" : "[HL2] Survive the Generator Plaza standoff in chapter Anticitizen One." "ACHIEVEMENT_EVENT_HL2_KILL_ALLC1709SNIPERS" : "[HL2] Kill all of the snipers in City 17." - "ACHIEVEMENT_EVENT_HL2_BEAT_SUPRESSIONDEVICE" : "[HL2] Shut down the supression device by disabling its generators." + "ACHIEVEMENT_EVENT_HL2_BEAT_SUPRESSIONDEVICE" : "[HL2] Shut down the suppression device by disabling its generators." "ACHIEVEMENT_EVENT_HL2_BEAT_C1713STRIDERSTANDOFF" : "[HL2] Survive the rooftop strider battle in the ruins of City 17." "ACHIEVEMENT_EVENT_HL2_BEAT_GAME" : "[HL2] Destroy the Citadel's reactor core (Beat Game)." @@ -5011,7 +5074,7 @@ "ACHIEVEMENT_EVENT_HL2_GMAN_CATWALK" : "[HL2] G-Man: canals_12 on catwalk" "ACHIEVEMENT_EVENT_HL2_GMAN_DAM" : "[HL2] G-Man: canals_13 to the left of the dam" "ACHIEVEMENT_EVENT_HL2_GMAN_TRAINTRACKS" : "[HL2] G-Man: town_05 at the end of the tracks" - "ACHIEVEMENT_EVENT_HL2_GMAN_ODESSA" : "[HL2] G-Man: coast_03 odessa meeting" + "ACHIEVEMENT_EVENT_HL2_GMAN_ODESSA" : "[HL2] G-Man: coast_03 Odessa meeting" "ACHIEVEMENT_EVENT_HL2_GMAN_PRISONMONITOR" : "[HL2] G-Man: prison_02 control room monitor" "ACHIEVEMENT_EVENT_HL2_GMAN_FOYERTV" : "[HL2] G-Man: c17_02 on TV in the destroyed foyer" @@ -5046,7 +5109,7 @@ "ACHIEVEMENT_EVENT_HL2_LAMDACACHE_RAILROADSHACK" : "[HL2] Lamda: coast_07 fenced off area outside of town" "ACHIEVEMENT_EVENT_HL2_LAMDACACHE_COASTABOVEBATTERY" : "[HL2] Lamda: coast_09 above the bathroom in the battery puzzle building" "ACHIEVEMENT_EVENT_HL2_LAMDACACHE_SANDSHACK" : "[HL2] Lamda: coast_11 elevated shack after the board bridge" - "ACHIEVEMENT_EVENT_HL2_LAMDACACHE_GMANCACHE" : "[HL2] Lamda: prison_02 in the boarded up area of the gman sighting" + "ACHIEVEMENT_EVENT_HL2_LAMDACACHE_GMANCACHE" : "[HL2] Lamda: prison_02 in the boarded up area of the G-Man sighting" "ACHIEVEMENT_EVENT_HL2_LAMDACACHE_CELLCACHE" : "[HL2] Lamda: prison_03 in the prison cell" "ACHIEVEMENT_EVENT_HL2_LAMDACACHE_POISONLAUNDRY" : "[HL2] Lamda: prison_05 in the laundry utility room" "ACHIEVEMENT_EVENT_HL2_LAMDACACHE_SODAMACHINE" : "[HL2] Lamda: prison_06 on top of the soda machine" @@ -5125,7 +5188,7 @@ // Inputs input Toggle(void) : "Toggle the relay between enabled and disabled." - input FireEvent(void) : "Tells the achievement system the specifed event has occured." + input FireEvent(void) : "Tells the achievement system the specified event has occurred." // Outputs output OnFired(void) : "When the event fires, this fires." @@ -5209,7 +5272,7 @@ input SetOrthoRight(string) : "Changes the right ortho over time" ] -@SolidClass base(func_brush) = func_monitor : +@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" @@ -5280,7 +5343,7 @@ ] @PointClass base(BaseVehicle) studioprop() = prop_vehicle : - "Studiomodel vehicle that can be driven via inputs." + "Vehicle that can be driven via inputs." [ // Inputs input Steer(float) : "Steer the vehicle +/-1" @@ -5298,7 +5361,7 @@ [ ] -@PointClass base(Targetname, Angles) studio() = point_apc_controller : "APC Controller" +@PointClass base(Targetname, Angles) studio() line(255 255 255, targetname, targetentityname) = point_apc_controller : "APC Controller" [ spawnflags(flags) = [ @@ -5312,7 +5375,7 @@ rotatestartsound(sound) : "Rotate Start Sound" : "" rotatesound(sound) : "Rotate Loop Sound" : "" rotatestopsound(sound) : "Rotate Stop Sound" : "" - minRange(string) : "Minmum target range" : "0" + minRange(string) : "Minimum target range" : "0" maxRange(string) : "Maximum target range" : "0" targetentityname(target_destination) : "Name of entity I should follow/attack" : "" @@ -5324,7 +5387,7 @@ output OnFireAtTarget(void) : "Fires when a valid target is found and the APC should shoot rockets" ] -@PointClass base(BaseDriveableVehicle) studioprop() = prop_vehicle_apc : +@PointClass base(BaseDriveableVehicle) studioprop() line(192 0 0, targetname, missilehint) = prop_vehicle_apc : "APC with mounted guns, can only be driven by a vehicle driver or a npc_apcdriver." [ model(studio) : "World model" : "models/combine_apc.mdl" @@ -5348,7 +5411,7 @@ output OnDamagedByPlayer(void) : "Fired when the APC is damaged by the player." ] -@SolidClass base(Targetname, Origin, Angles, EnableDisable) = info_apc_missile_hint : +@SolidClass base(Targetname, Origin, Angles, EnableDisable) line(255 0 0, targetname, target) = info_apc_missile_hint : "Something that helps APC missiles guide. If the missile can hit the associated target entity"+ "between the time it takes the current enemy to enter + leave the hint, then the missile will guide to the entity." [ @@ -5377,9 +5440,9 @@ input SetCargoHopperVisibility ( bool ) : "Set the strider buster hopper thingy to be visible, or invisible." input EnableHazardLights ( void ) : "Enables the jalopy's hazard lights." input DisableHazardLights ( void ) : "Disables the jalopy's hazard lights." - - input DisablePhysGun(void) : "Disable physgun interactions with the jeep." - input EnablePhysGun(void) : "Enable physgun interactions with the jeep (default)." + input OutsideTransition(void) : "Tells the vehicle to teleport to an info_target_vehicle_transition. Normally sent by trigger_changelevel when the vehicle is not inside a trigger_transition." //added by vizzys + input DisablePhysGun(void) : "Disable Gravity Gun interactions with the jeep." + input EnablePhysGun(void) : "Enable Gravity Gun interactions with the jeep (default)." input CreateLinkController(void) : "Automatically builds and attaches a link controller to the car, which cuts the node connections under the car while the car is standing still." input DestroyLinkController(void) : "Destroys the link controller created by CreateLinkController." @@ -5420,23 +5483,28 @@ "A way to access the original HL2 jeep in Episodic. Just use prop_vehicle_jeep if you're using the original HL2 version." [ model(studio) : "World model" : "models/buggy.mdl" + EnableGun(choices) : "Has Gun" : 1 : "Whether the jeep's tau cannon is enabled or disabled." = + [ + 0 : "No" + 1 : "Yes" + ] input StartRemoveTauCannon(void) : "Start the tau removal sequence." input FinishRemoveTauCannon(void) : "Finish the tau removal sequence." - input DisablePhysGun(void) : "Disable physgun interactions with the jeep." - input EnablePhysGun(void) : "Enable physgun interactions with the jeep (default)." + input DisablePhysGun(void) : "Disable Gravity Gun interactions with the jeep." + input EnablePhysGun(void) : "Enable Gravity Gun interactions with the jeep (default)." ] @PointClass base(BaseDriveableVehicle) studioprop() = vehicle_viewcontroller : - "Vehicle hack to control player view" + "Vehicle hack used to control the player's view while giving them realistic motion. Use prop_vehicle_choreo_generic instead; it has more features." [ 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(BaseDriveableVehicle) studioprop() = prop_vehicle_airboat : - "Driveable studiomodel airboat." + "Driveable airboat." [ model(studio) : "World model" : "models/airboat.mdl" vehiclescript(string) : "Vehicle Script File" : "scripts/vehicles/airboat.txt" @@ -5504,7 +5572,7 @@ ] -@PointClass base(BaseSpeaker) iconsprite("editor/ambient_generic.vmt") = env_speaker : "Announcement Speaker" +@PointClass base(BaseSpeaker) iconsprite("editor/ambient_generic.vmt") line(255 255 255, targetname, target) = env_speaker : "Announcement Speaker" [ ] @@ -5528,9 +5596,9 @@ input Deactivate(void) : "Stop controlling the view." input SetCameraViewEntity(target_destination) : "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 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: " @@ -5538,7 +5606,7 @@ input SetDrawSky(bool) : "Sets whether the skybox should be drawn." input SetDrawSky2(bool) : "Sets whether the skybox should be drawn in the second view." - alternatefovchange(choices) : "Match env_zoom's FOV transition" : 0 : "Whether the script should match env_zoom's FOV transition." = + alternatefovchange(choices) : "Match env_zoom's FOV transition" : 0 : "Whether the script should match env_zoom's FOV transition. Zooming in/out will look noticeably smoother." = [ 0 : "No" 1 : "Yes" @@ -5563,7 +5631,7 @@ ] ] -@PointClass base(Targetname) iconsprite("editor/info_target.vmt") = info_player_view_proxy : "Copies a player's view as if they're at a different position. Intended to be used with script_intro." +@PointClass base(Targetname) line(255 255 0, targetname, MeasureReference) line(255 255 0, targetname, TargetReference) iconsprite("editor/info_target.vmt") = info_player_view_proxy : "Copies a player's view as if they're at a different position. Intended to be used with script_intro." [ Enabled(choices) : "Start Activated" : 0 : "Starts with position offsetting enabled." = [ @@ -5591,7 +5659,7 @@ [ spawnflags(Flags) = [ - 1 : "[1] No small particles" : 0 + 1 : "[1] No small particles (Does not show particles going in the direction of Pitch Yaw Roll)" : 0 2 : "[2] Start on" : 0 ] @@ -5643,7 +5711,7 @@ @PointClass base(BaseDriveableVehicle, Parentname) studioprop() = prop_vehicle_choreo_generic : - "Generic Choreo vehicle used for magical events." + "Generic Choreo vehicle used for scripted events." [ model(studio) : "World model" : "models/vehicles/prisoner_pod.mdl" vehiclescript(string) : "Vehicle Script File" : "scripts/vehicles/choreo_vehicle.txt" @@ -5653,7 +5721,7 @@ 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 Viewlock(bool) : "Set true to prevent player from looking around *at all*. Set false to let them look within limits." input SetAnimation(string) : "Force the prop to play an animation. The parameter should be the name of the animation." output OnOpen(void) : "Fired when the vehicle is open enough to enter." @@ -5678,12 +5746,13 @@ balltype(choices) : "Ball Type" : 1 = [ 0 : "Not Thrown (in combine ball field, etc)" - 2 : "Thrown/Launched by the player's physcannon" + 1 : "Being held by the Gravity Gun" + 2 : "Thrown/Launched by the player's Gravity Gun" 3 : "Launched by point_combine_ball_launcher" ] ] -@PointClass base(Targetname) = env_entity_dissolver: "Entity Dissolver" +@PointClass base(Targetname) line(255 255 255, targetname, target) = env_entity_dissolver: "Entity Dissolver" [ input Dissolve(target_destination) : "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." @@ -5764,7 +5833,7 @@ ] input Squash( void ) : "Squash the grub!" - + input Agitate(float) : "Makes the grub be excited for the specified amount of time." //added by vizzys output OnAgitated( void ) : "Fired when the grub is stepped on or damaged." output OnDeath( void ) : "Fired when the grub is killed." output OnDeathByPlayer( void ) : "Fired when the grub is killed (only by the player)." @@ -5783,7 +5852,7 @@ @PointClass base(BasePropPhysics) studioprop() sphere(fademindist) sphere(fademaxdist) studio("models/magnusson_device.mdl") = weapon_striderbuster : - "Strider Buster" + "Strider Buster aka Magnusson Device" [ spawnflags(Flags) = [