Base.fgd/Source 2003 (Half Life 2 Leak): Difference between revisions
< Base.fgd
Jump to navigation
Jump to search
(Splitting pages up.) |
mNo edit summary |
||
(5 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
{{ | {{LanguageBar|title={{mono|base.fgd}} (Half-Life 2 leak)}} | ||
[[Category: | This [[FGD]] is from {{hl2|1}} 2003 leak. | ||
== FGD == | |||
{{codeblock|style=1|src=base.fgd|lang=fgd|<nowiki> | |||
//------------------------------------------------------------------------- | |||
// | |||
// General Game Data | |||
// | |||
//------------------------------------------------------------------------- | |||
@mapsize(-16384, 16384) | |||
//------------------------------------------------------------------------- | |||
// | |||
// Base Classes | |||
// | |||
//------------------------------------------------------------------------- | |||
@BaseClass = Angles | |||
[ | |||
angles(angle) : "Pitch Yaw Roll (Y Z X)" : "0 0 0" : "This entity's orientation in the world. Pitch is rotation around the Y axis, " + | |||
"yaw is the rotation around the Z axis, roll is the rotation around the X axis." | |||
] | |||
@BaseClass = Origin | |||
[ | |||
origin(origin) : "Origin (X Y Z)" : : "The position of this entity's center in the world. Rotating entities typically rotate around their origin." | |||
] | |||
@BaseClass = Studiomodel | |||
[ | |||
model(studio) : "World model" | |||
skin(integer) : "Skin" : 0 | |||
disableshadows(choices) : "Disable shadows" : 0 = | |||
[ | |||
0 : "No" | |||
1 : "Yes" | |||
] | |||
input Skin(integer) : "Changes the model skin" | |||
] | |||
@BaseClass = BasePlat | |||
[ | |||
input Toggle(void) : "Toggles the platform's state" | |||
input GoUp(void) : "Tells the platform to go up" | |||
input GoDown(void) : "Tells the platform to go down" | |||
] | |||
@BaseClass = Targetname | |||
[ | |||
targetname(target_source) : "Name" : : "The name that other entities refer to this entity by." | |||
// Inputs | |||
input Kill(void) : "Removes this entity from the world" | |||
] | |||
@BaseClass = Parentname | |||
[ | |||
parentname(target_destination) : "Parent" : : "The name of this entity's parent in the movement hierarchy. Entities with parents move with their parent." | |||
// Inputs | |||
input SetParent(string) : "Changes the entity's parent in the movement hierarchy" | |||
input ClearParent(void) : "Removes entity from the the movement hierarchy" | |||
] | |||
@BaseClass = BaseBrush | |||
[ | |||
// Inputs | |||
input SetTextureIndex(integer) : "Sets the brush texture index" | |||
input IncrementTextureIndex(void) : "Increments the brush texture index" | |||
] | |||
@BaseClass = EnableDisable | |||
[ | |||
StartDisabled(choices) : "Start Disabled" : 0 = | |||
[ | |||
0 : "No" | |||
1 : "Yes" | |||
] | |||
// Inputs | |||
input Enable(void) : "Enable this entity" | |||
input Disable(void) : "Disable this entity" | |||
] | |||
@BaseClass = RenderFxChoices | |||
[ | |||
renderfx(choices) :"Render FX" : 0 = | |||
[ | |||
0: "Normal" | |||
1: "Slow Pulse" | |||
2: "Fast Pulse" | |||
3: "Slow Wide Pulse" | |||
4: "Fast Wide Pulse" | |||
9: "Slow Strobe" | |||
10: "Fast Strobe" | |||
11: "Faster Strobe" | |||
12: "Slow Flicker" | |||
13: "Fast Flicker" | |||
5: "Slow Fade Away" | |||
6: "Fast Fade Away" | |||
7: "Slow Become Solid" | |||
8: "Fast Become Solid" | |||
14: "Constant Glow" | |||
15: "Distort" | |||
16: "Hologram (Distort + fade)" | |||
23: "Cull By Distance (TEST)" | |||
24: "Spotlight FX" | |||
26: "Fade Near" | |||
] | |||
] | |||
@BaseClass base(RenderFxChoices) = RenderFields | |||
[ | |||
rendermode(choices) : "Render Mode" : 0 = | |||
[ | |||
0: "Normal" | |||
1: "Color" | |||
2: "Texture" | |||
3: "Glow" | |||
4: "Solid" | |||
5: "Additive" | |||
7: "Additive Fractional Frame" | |||
9: "World Space Glow" | |||
10: "Dont Render" | |||
] | |||
renderamt(integer) : "FX Amount (0 - 255)" : 255 | |||
rendercolor(color255) : "FX Color (R G B)" : "255 255 255" | |||
disableshadows(choices) : "Disable shadows" : 0 = | |||
[ | |||
0 : "No" | |||
1 : "Yes" | |||
] | |||
disablereceiveshadows(choices) : "Disable receiving shadows" : 0 = | |||
[ | |||
0 : "No" | |||
1 : "Yes" | |||
] | |||
] | |||
// Inherit from this to get the ability to only include an object in a range of dx levels. | |||
// NOTE!!: MAKE SURE THAT YOU DON'T USE THIS WITH ANYTHING THAT WILL BREAK SAVE-GAMES SWITCHING | |||
// BETWEEN DXLEVELS!!!! | |||
@BaseClass = DXLevelChoice | |||
[ | |||
mindxlevel(choices) : "Minimum DX Level" : 0 = | |||
[ | |||
0 : "default (lowest)" | |||
70 : "dx7" | |||
] | |||
maxdxlevel(choices) : "Maximum DX Level" : 0 = | |||
[ | |||
0 : "default (highest)" | |||
60 : "dx6" | |||
] | |||
] | |||
@BaseClass = Inputfilter | |||
[ | |||
InputFilter(choices) : "Input filter" : 0 = | |||
[ | |||
0 : "Allow all inputs" | |||
8 : "Ignore Touch/Untouch" | |||
16 : "Ignore Use" | |||
32 : "Ignore All" | |||
] | |||
] | |||
@BaseClass = Global | |||
[ | |||
globalname(string) : "Global Entity Name" | |||
] | |||
@BaseClass = DamageFilter | |||
[ | |||
damagefilter(target_destination) : "Damage Filter" : "" : "Name of the filter entity that controls which entities can damage us." | |||
input SetDamageFilter(string) : "Sets the entity to use as damage filter. Empty string to clear" | |||
] | |||
@BaseClass = ResponseContext | |||
[ | |||
input AddContext(string) : "Add context (name:value)" | |||
input RemoveContext(string) : "Remove named context" | |||
input ClearContext(void) : "Removes all context tags" | |||
// Pre-defined contexts at server startup time (set by mapper) | |||
ResponseContext(string) : "Context" : "" : "Response system context token pair(s): key:value,key2:value2,etc." | |||
] | |||
@BaseClass base(Targetname, DamageFilter) = Breakable | |||
[ | |||
ExplodeDamage(float) : "Explosion Damage" : 0 : "Explode on break does this amount of damage" | |||
ExplodeRadius(float) : "Explosion Radius" : 0 : "Explode on break has this radius" | |||
input Break(void) : "Breaks the breakable." | |||
input SetHealth(integer) : "Sets a new value for 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." | |||
output OnBreak(void) : "Fires when broken." | |||
output OnHealthChanged(integer) : "Fires when the health of this breakable changes, passing the new value of health." | |||
] | |||
@BaseClass base(Breakable, Parentname, Global) = BreakableBrush | |||
[ | |||
spawnflags(flags) = | |||
[ | |||
1 : "Only Break on Trigger" : 0 | |||
2 : "Break on Touch" : 0 | |||
4 : "Break on Pressure" : 0 | |||
512: "Break immediately on Physics" : 0 | |||
1024: "Don't take physics damage" : 0 | |||
] | |||
propdata(choices) : "Prop Data" : 0 = | |||
[ | |||
0 : "None" | |||
1 : "Wooden.Tiny" | |||
2 : "Wooden.Small" | |||
3 : "Wooden.Medium" | |||
4 : "Wooden.Large" | |||
5 : "Wooden.Huge" | |||
6 : "Metal.Small" | |||
7 : "Metal.Medium" | |||
8 : "Metal.Large" | |||
9 : "Cardboard.Small" | |||
10 : "Cardboard.Medium" | |||
11 : "Cardboard.Large" | |||
12 : "Stone.Small" | |||
13 : "Stone.Medium" | |||
14 : "Stone.Large" | |||
15 : "Stone.Huge" | |||
16 : "Glass.Small" | |||
17 : "Plastic.Small" | |||
18 : "Plastic.Medium" | |||
19 : "Plastic.Large" | |||
20 : "Pottery.Small" | |||
21 : "Pottery.Medium" | |||
22 : "Pottery.Large" | |||
23 : "Pottery.Huge" | |||
] | |||
health(integer) : "Strength" : 1 : "Number of points of damage to take before breaking. 0 means don't break." | |||
material(choices) :"Material type" : 0 = | |||
[ | |||
0: "Glass" | |||
1: "Wood" | |||
2: "Metal" | |||
3: "Flesh" | |||
4: "Cinder Block" | |||
5: "Ceiling Tile" | |||
6: "Computer" | |||
7: "Unbreakable Glass" | |||
8: "Rocks" | |||
] | |||
explosion(choices) : "Gibs Direction" : 0 = | |||
[ | |||
0: "Random" | |||
1: "Relative to Attack" | |||
] | |||
gibmodel(string) : "Gib Model" : "" | |||
spawnobject(choices) : "Spawn On Break" : 0 = | |||
[ | |||
1: "item_battery" | |||
2: "item_healthkit" | |||
3: "item_box_srounds" | |||
4: "item_large_box_srounds" | |||
5: "item_box_mrounds" | |||
6: "item_large_box_mrounds" | |||
7: "item_box_lrounds" | |||
8: "item_large_box_lrounds" | |||
9: "item_box_buckshot" | |||
10: "item_flare_round" | |||
11: "item_box_flare_rounds" | |||
12: "item_ml_grenade" | |||
13: "item_ar2_grenade" | |||
14: "item_box_sniper_rounds" | |||
15: "weapon_iceaxe" | |||
16: "weapon_stunstick" | |||
17: "weapon_ar1" | |||
18: "weapon_ar2" | |||
19: "weapon_hmg1" | |||
20: "weapon_ml" | |||
21: "weapon_smg1" | |||
22: "weapon_smg2" | |||
23: "weapon_slam" | |||
24: "weapon_shotgun" | |||
25: "weapon_molotov" | |||
] | |||
explodemagnitude(integer) : "Explode Magnitude (0=none)" : 0 | |||
pressuredelay(float) : "Pressure Delay" : 0 : "Delay in seconds after broken by pressure before breaking apart.\n(allows for sound before break)." | |||
] | |||
@BaseClass base(Breakable) = BreakableProp | |||
[ | |||
spawnflags(flags) = | |||
[ | |||
16 : "Break on Touch" : 0 | |||
32 : "Break on Pressure" : 0 | |||
64 : "Enable motion on Physcannon grab" : 0 | |||
] | |||
pressuredelay(float) : "Pressure Delay" : 0 : "Delay in seconds after broken by pressure before breaking apart.\n(allows for sound before break)." | |||
] | |||
@BaseClass base(Targetname, Angles, RenderFields, DamageFilter, ResponseContext ) color(0 200 200) = BaseNPC | |||
[ | |||
target(target_destination) : "Target path corner" : : "If set, the name of a path corner entity that this NPC will walk to after spawning." | |||
squadname(String) : "Squad Name" | |||
hintgroup(String) : "Hint Group" | |||
hintlimiting(choices) : "Hint Limit Nav" : 0 : "Limits NPC to using specified hint group for navigation requests, does not limit local navigation." = | |||
[ | |||
0 : "No" | |||
1 : "Yes" | |||
] | |||
spawnflags(Flags) = | |||
[ | |||
1 : "Wait Till Seen" : 0 | |||
2 : "Gag" : 0 | |||
4 : "Fall to ground" : 1 | |||
8 : "Drop Healthkit" : 0 | |||
16 : "Efficient" : 0 | |||
128: "Wait For Script" : 0 | |||
256: "Long Visibility/Shoot" : 0 | |||
512: "Fade Corpse" : 0 | |||
1024: "Think outside PVS" : 0 | |||
2048: "Template NPC (used by npc_maker, will not spawn)" : 0 | |||
] | |||
physdamagescale(float) : "Physics Impact Damage Scale" : "1.0" : "Scales damage energy when this character is hit by a physics object. NOTE: 0 means this feature is disabled for backwards compatibility." | |||
output OnDamaged(void) : "This NPC takes damage" | |||
output OnDeath(void) : "This NPC is killed" | |||
output OnHalfHealth(void) : "This NPC reaches half of its maximum health" | |||
output OnHearWorld(void) : "This NPC hears a sound (other than combat or the player)" | |||
output OnHearPlayer(void) : "This NPC hears the player" | |||
output OnHearCombat(void) : "This NPC hears combat sounds" | |||
output OnFoundEnemy(string) : "Fired when establish line of sight to enemy (output's entity)" | |||
output OnLostEnemyLOS(void) : "Fired when lost line of sight to enemy" | |||
output OnLostEnemy(void) : "Fired when lost enemy" | |||
output OnFoundPlayer(string) : "Fired when establish line of sight to player (output's player entity)" | |||
output OnLostPlayerLOS(void) : "Fired when lost line of sight to player" | |||
output OnLostPlayer(void) : "Fired when lost player" | |||
// Inputs | |||
input SetRelationship(string) : "Changes this entity's relationship with another entity or class" | |||
input SetHealth(integer) : "Set this entity's health" | |||
input SetBodyGroup(integer) : "HACK: Sets this NPC's body group (from 0 - n). You'd better know what you are doing!" | |||
input physdamagescale(float) : "Sets the value that scales damage energy when this character is hit by a physics object. NOTE: 0 means this feature is disabled for backwards compatibility." | |||
input Ignite(void) : "Ignite, burst into flames" | |||
] | |||
@BaseClass base(Targetname, EnableDisable, Angles) iconsprite("editor/npc_maker.vmt") color(0 0 255) = BaseNPCMaker | |||
[ | |||
StartDisabled(choices) : "Start Disabled" : 1 = | |||
[ | |||
0 : "No" | |||
1 : "Yes" | |||
] | |||
spawnflags(Flags) = | |||
[ | |||
// Only in npc__maker, npc_template_maker uses flag from template NPC | |||
16 : "Fade Corpse" : 0 | |||
32 : "Infinite Children" : 0 | |||
64 : "Do Not Drop" : 0 | |||
128 : "Don't Spawn While Visible" : 0 | |||
] | |||
MaxNPCCount(integer) : "Max Num. of NPCs" : 1 | |||
// if delay is -1, new NPC will be made when last NPC dies. | |||
// else, delay is how often (seconds) a new NPC will be dookied out. | |||
SpawnFrequency(string) : "Frequency" : "5" | |||
// maximum number of live children allowed at one time. (New ones will not be made until one dies) | |||
// -1 no limit | |||
MaxLiveChildren(integer) : "Max live NPCs" : 5 | |||
// Outputs | |||
output OnSpawnNPC(void) : "Fires when an NPC is spawned" | |||
output OnAllSpawned(void) : "Fires when all children have been spawned" | |||
output OnAllSpawnedDead(void) : "Fires when all the children have been spawned and have died." | |||
// Inputs | |||
input Spawn(void) : "Spawns an NPC." | |||
input Toggle(void) : "Toggles the spawner enabled/disabled state." | |||
input Enable(void) : "Enables the spawner." | |||
input Disable(void) : "Disables the spawner." | |||
input SetMaxChildren(integer) : "Sets the maximum number of children for this spawner." | |||
] | |||
@PointClass base(BaseNPCMaker) = npc_template_maker : "NPC template maker" | |||
[ | |||
TemplateName(target_destination) : "Name of template NPC" | |||
Radius(float) : "Radius" : 256 | |||
//Inputs | |||
input SpawnNPCInRadius(void) : "Spawn an NPC somewhere along maker's radius." | |||
input SpawnNPCInLine(void) : "Spawn an NPC somewhere in line BEHIND the maker." | |||
] | |||
@BaseClass base( BaseNPC ) = BaseHelicopter | |||
[ | |||
InitialSpeed(string) : "Initial Speed" : "0" | |||
target(target_destination) : "Target path_track" : : "If set, the name of a path_track entity that this NPC will fly to after spawning." | |||
//Inputs | |||
input ChangePathCorner(string) : "Puts helicopter on a new path" | |||
input SelfDestruct(void) : "Self Destruct" | |||
input Activate(void) : "Activate" | |||
input SetTrack(string) : "Set a track for the helicopter to adhere to" | |||
input FlyToPathTrack(string) : "Fly to a specified path_track" | |||
input StartPatrol(void) : "Start patrolling back and forth along the current track." | |||
input StartPatrolBreakable(void) : "Start patrolling back and forth along the current track, but stop patrolling if I see an enemy." | |||
//Outputs | |||
output AtPathCorner(void) : "Fires when helicopter reaches path corner" | |||
output LeavePathCorner(void) : "Fires when helicopter leaves path corner" | |||
spawnflags(Flags) = | |||
[ | |||
// AWAIT INPUT will make the helicopter spawn disabled, awaiting | |||
// the "Activate" input to start acting. | |||
32 : "No Rotorwash" : 0 | |||
64 : "Await Input" : 0 | |||
] | |||
] | |||
@BaseClass color(0 255 0) = PlayerClass [] | |||
@BaseClass color(180 10 180) = Light | |||
[ | |||
_light(color255) : "Brightness" : "255 255 255 200" | |||
style(Choices) : "Appearance" : 0 = | |||
[ | |||
0 : "Normal" | |||
10: "Fluorescent flicker" | |||
2 : "Slow, strong pulse" | |||
11: "Slow pulse, noblack" | |||
5 : "Gentle pulse" | |||
1 : "Flicker A" | |||
6 : "Flicker B" | |||
3 : "Candle A" | |||
7 : "Candle B" | |||
8 : "Candle C" | |||
4 : "Fast strobe" | |||
9 : "Slow strobe" | |||
] | |||
pattern(string) : "Custom Appearance" | |||
_constant_attn(string) : "Constant" : "0" | |||
_linear_attn(string) : "Linear" : "0" | |||
_quadratic_attn(string) : "Quadratic" : "1" | |||
// Inputs | |||
input TurnOn(void) : "Turn the light on" | |||
input TurnOff(void) : "The the light off" | |||
input Toggle(void) : "Turn the light on/off" | |||
input SetPattern(string) : "Pattern of light brightness to display 'a' is total darkness, 'z' fully bright, can be multiple, i.e. 'agzzga'" | |||
input FadeToPattern(string) : "Fades from first value in old pattern, to first value in the new given pattern" | |||
] | |||
@BaseClass = Node | |||
[ | |||
nodeid(integer) readonly : "Node ID" | |||
] | |||
@BaseClass base(Node) = HintNode | |||
[ | |||
hinttype(choices) : "Hint" : 0 = | |||
[ | |||
0 : "None" | |||
// 1: "World: Door" | |||
2: "World: Window" | |||
// 3: "World: Button" | |||
// 4: "World: Machinery" | |||
// 5: "World: Ledge" | |||
// 6: "World: Light Source" | |||
// 7: "World: Heat Source" | |||
12: "World: Work Position" | |||
13: "World: Visually Interesting" | |||
100: "Crouch Cover Medium" | |||
101: "Crouch Cover Low" | |||
102: "Waste Scanner Spawn" | |||
103: "Entrance / Exit Pinch" | |||
// 104: "Guard Point" | |||
105: "Enemy Disadvantage Point" | |||
106: "Health Kit" | |||
107: "Place Booby Trap" | |||
// 200: "Urban: Street Corner" | |||
// 201: "Urban: Street Lamp" | |||
// 202: "Urban: Dark Spot" | |||
// 203: "Urban: Poster" | |||
204: "Urban: Shelter" | |||
// 300: "Assassin: Secluded" | |||
// 301: "Assassin: Rafters" | |||
// 302: "Assassin: Ground" | |||
// 303: "Assassin: Monkey Bars" | |||
400: "Antlion: Burrow Point" | |||
500: "Roller: Patrol Point" | |||
501: "Roller: Cleanup Spot" | |||
// 600: "Particle Storm Rock Spawn" | |||
700: "Crow: Fly to point" | |||
701: "Crow: Perch point" | |||
800: "TF2 Bug: Patrol point" | |||
900: "Follower: Wait point" | |||
1000: "HL1 World: Machinery" | |||
1001: "HL1 World: Blinking Light" | |||
1002: "HL1 World: Human Blood" | |||
1003: "HL1 World: Alien Blood" | |||
] | |||
// Does not inherit from EnableDisable, as node itself will | |||
// use that. This is enabling/disabling of the hint only | |||
StartHintDisabled(choices) : "Start Hint Disabled" : 0 = | |||
[ | |||
0 : "No" | |||
1 : "Yes" | |||
] | |||
Group(string) : "Hint Group" : "" : "If specified, gives the hint a specific group name. Useful for hint nodes that need to be logically grouped together." | |||
// Inputs | |||
input EnableHint(void) : "Enable hint" | |||
input DisableHint(void) : "Disable hint" | |||
] | |||
@BaseClass base(Targetname, Parentname, Origin, EnableDisable) = TriggerOnce | |||
[ | |||
spawnflags(flags) = | |||
[ | |||
1: "Clients" : 1 | |||
2: "NPCs" : 0 | |||
4: "Pushables": 0 | |||
8: "Physics Objects" : 0 | |||
] | |||
filtername(filterclass) : "Filter Name" : : "Filter to use to see if activator triggers me. See filter_activator_name for more explanation." | |||
// Inputs | |||
input Toggle(void) : "Toggles this trigger between enabled and disabled." | |||
// Outputs | |||
output OnStartTouch(void) : "Fires when an entity starts touching this trigger." | |||
] | |||
@BaseClass base(Targetname, Parentname, Origin, EnableDisable, TriggerOnce) = Trigger | |||
[ | |||
output OnEndTouch(void) : "Fires when an entity stops touching this trigger." | |||
output OnEndTouchAll(void) : "Fires when an entity stops touching this trigger, and no other entities are touching it." | |||
] | |||
@BaseClass = worldbase | |||
[ | |||
message(string) : "Map Description / Title" | |||
skyname(string) : "SkyBox texture name" : "sky_wasteland02" | |||
sounds(integer) : "CD track to play" : 0 | |||
WaveHeight(string) : "Default Wave Height" | |||
chaptertitle(string) : "Chapter Title Message" | |||
startdark(choices) : "Level Fade In" : 0 = | |||
[ | |||
0 : "No" | |||
1 : "Yes" | |||
] | |||
gametitle(choices) : "Display game title" : 0 = | |||
[ | |||
0 : "No" | |||
1 : "Yes" | |||
] | |||
newunit(choices) : "New Level Unit" : 0 = | |||
[ | |||
0 : "No, keep current" | |||
1 : "Yes, clear previous levels" | |||
] | |||
mapteams(string) : "Map Team List" | |||
defaultteam(choices) : "Default Team" : 0 = | |||
[ | |||
0 : "Fewest Players" | |||
1 : "First Team" | |||
] | |||
] | |||
//------------------------------------------------------------------------- | |||
// | |||
// World | |||
// | |||
//------------------------------------------------------------------------- | |||
@SolidClass base(worldbase,ResponseContext) = worldspawn : "World entity" | |||
[ | |||
] | |||
@PointClass base(Targetname) iconsprite("editor/ambient_generic.vmt") sphere() = ambient_generic : "Universal Ambient" | |||
[ | |||
message(sound) : "Path/filename.wav of WAV" | |||
health(integer) : "Volume (10 = loudest)" : 10 | |||
preset(choices) :"Dynamic Presets" : 0 = | |||
[ | |||
0: "None" | |||
1: "Huge Machine" | |||
2: "Big Machine" | |||
3: "Machine" | |||
4: "Slow Fade in" | |||
5: "Fade in" | |||
6: "Quick Fade in" | |||
7: "Slow Pulse" | |||
8: "Pulse" | |||
9: "Quick pulse" | |||
10: "Slow Oscillator" | |||
11: "Oscillator" | |||
12: "Quick Oscillator" | |||
13: "Grunge pitch" | |||
14: "Very low pitch" | |||
15: "Low pitch" | |||
16: "High pitch" | |||
17: "Very high pitch" | |||
18: "Screaming pitch" | |||
19: "Oscillate spinup/down" | |||
20: "Pulse spinup/down" | |||
21: "Random pitch" | |||
22: "Random pitch fast" | |||
23: "Incremental Spinup" | |||
24: "Alien" | |||
25: "Bizzare" | |||
26: "Planet X" | |||
27: "Haunted" | |||
] | |||
volstart(integer) : "Start Volume" : 0 | |||
fadein(integer) : "Fade in time (0-100)" : 0 | |||
fadeout(integer) : "Fade out time (0-100)" : 0 | |||
pitch(integer) : "Pitch (> 100 = higher)" : 100 | |||
pitchstart(integer) : "Start Pitch" : 100 | |||
spinup(integer) : "Spin up time (0-100)" : 0 | |||
spindown(integer) : "Spin down time (0-100)" : 0 | |||
lfotype(integer) : "LFO type 0)off 1)sqr 2)tri 3)rnd" : 0 | |||
lforate(integer) : "LFO rate (0-1000)" : 0 | |||
lfomodpitch(integer) : "LFO mod pitch (0-100)" : 0 | |||
lfomodvol(integer) : "LFO mod vol (0-100)" : 0 | |||
cspinup(integer) : "Incremental spinup count" : 0 | |||
radius(string) : "Max audible distance" : "1250" | |||
spawnflags(flags) = | |||
[ | |||
1: "Play everywhere" : 0 | |||
16:"Start Silent":0 | |||
32:"Is NOT Looped":0 | |||
] | |||
SourceEntityName(target_destination) : "SourceEntityName" : : "If name of valid entity is given, sound will come from the named entity" | |||
// Inputs | |||
input Pitch(integer) : "Pitch (> 100 = higher)" | |||
input PlaySound(void) : "Starts the sound" | |||
input StopSound(void) : "Stops the sound if it is playing" | |||
input ToggleSound(void) : "Toggles the sound between play and stop" | |||
input Volume(integer) : "Volume (10 = loudest)" | |||
] | |||
@SolidClass base(Targetname) = func_lod : "Brush Model LOD" | |||
[ | |||
DisappearDist(integer) : "Disappear Distance" : 2000 | |||
Solid(choices) : "Solid" : 0 = | |||
[ | |||
0: "Solid" | |||
1: "Nonsolid" | |||
] | |||
] | |||
@PointClass base(Targetname) = env_zoom : "Zoom Controller" | |||
[ | |||
Rate(float) : "Seconds to reach target" : "1.0" | |||
FOV(integer) : "Target FOV" : 75 | |||
input Zoom(void) | |||
] | |||
@PointClass base(Targetname) = env_screenoverlay: "Screen Overlay Controller" | |||
[ | |||
OverlayName1(string) : "Overlay Name 1" : "" | |||
OverlayTime1(float) : "Overlay Duration 1" : "1.0" | |||
OverlayName2(string) : "Overlay Name 2" : "" | |||
OverlayTime2(float) : "Overlay Duration 2" : "1.0" | |||
OverlayName3(string) : "Overlay Name 3" : "" | |||
OverlayTime3(float) : "Overlay Duration 3" : "1.0" | |||
OverlayName4(string) : "Overlay Name 4" : "" | |||
OverlayTime4(float) : "Overlay Duration 4" : "1.0" | |||
OverlayName5(string) : "Overlay Name 5" : "" | |||
OverlayTime5(float) : "Overlay Duration 5" : "1.0" | |||
OverlayName6(string) : "Overlay Name 6" : "" | |||
OverlayTime6(float) : "Overlay Duration 6" : "1.0" | |||
OverlayName7(string) : "Overlay Name 7" : "" | |||
OverlayTime7(float) : "Overlay Duration 7" : "1.0" | |||
OverlayName8(string) : "Overlay Name 8" : "" | |||
OverlayTime8(float) : "Overlay Duration 8" : "1.0" | |||
OverlayName9(string) : "Overlay Name 9" : "" | |||
OverlayTime9(float) : "Overlay Duration 9" : "1.0" | |||
OverlayName10(string) : "Overlay Name 10" : "" | |||
OverlayTime10(float) : "Overlay Duration 10" : "1.0" | |||
input StartOverlays(void) | |||
] | |||
@PointClass base(Targetname) = env_texturetoggle : "Texture Frame Toggle" | |||
[ | |||
target(target_destination) : "Target Brush" | |||
input IncrementTextureIndex(void) : "Increments the current frame by one" | |||
input SetTextureIndex(integer) : "Let's you specify which frame to display" | |||
] | |||
@PointClass base(Targetname, Angles) = env_splash : "Splash" | |||
[ | |||
scale(float) : "Scale of the splash" : "8.0" | |||
input Splash(void) | |||
] | |||
@PointClass base(Parentname, Angles) color(180 10 180) = env_particlelight : "Particle Light" | |||
[ | |||
Color(color255) : "Color" : "255 0 0" | |||
Intensity(integer) : "Intensity" : 5000 | |||
PSName(string) : "Particle System Entity" : "" | |||
] | |||
@PointClass color(255 0 0) = env_sun : "Sun" | |||
[ | |||
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." | |||
rendercolor(color255) : "Sun Color (R G B)" : "100 80 80" | |||
NumLayers(integer) : "Number of layers" : 3 | |||
HorzSize(integer) : "Horizontal size of sun" : 120 | |||
VertSize(integer) : "Vertical size of sun" : 100 | |||
input TurnOn(void) : "Enable sun rendering" | |||
input TurnOff(void) : "Disable sun rendering" | |||
input SetColor(color255) : "Change the sun's color" | |||
] | |||
@PointClass color(255 128 0) = env_lightglow : "Light Glow" + | |||
"The light glow effect puts an additive glow over the screen where a light source is." | |||
[ | |||
rendercolor(color255) : "Color (R G B)" : "200 80 80" | |||
GlowSize(integer) : "Size" : 30 | |||
] | |||
@PointClass base(Parentname, Angles) color(255 255 255) = env_smokestack : "Smoke stack" + | |||
"The smoke stack entity 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(string) : "Name" | |||
InitialState(choices) : "Initial State" : 0 = | |||
[ | |||
0 : "Off" | |||
1 : "On" | |||
] | |||
DirLightSource(choices) : "Directional Light Source" : 0 : "Sets the direction from which directional light is applied." = | |||
[ | |||
0 : "Bottom" | |||
1 : "Top" | |||
] | |||
BaseSpread(integer) : "Spread at the base" : 20 | |||
SpreadSpeed(integer) : "Spread Speed" : 15 | |||
Speed(integer) : "Speed" : 30 | |||
StartSize(integer) : "Particle start size" : 20 | |||
EndSize(integer) : "Particle end size" : 30 | |||
Rate(integer) : "Emission rate" : 20 | |||
DirLightColor(color255) : "Directional color" : "1 .5 0" | |||
JetLength(integer) : "Length of smoke trail" : 180 | |||
renderamt(integer) : "Translucency" : 255 | |||
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." | |||
rendercolor(color255) : "Base Color (R G B)" : "255 255 255" | |||
renderamt(integer) : "Fade Alpha" : 255 | |||
twist(integer) : "Twist (degrees per second)" : 0 | |||
// Inputs | |||
input TurnOn(void) : "Turn on" | |||
input TurnOff(void) : "Turn off" | |||
input Toggle(void) : "Toggles between on and off" | |||
input JetLength(integer): "Length of steam jet" | |||
input Rate(integer) : "Particle emission rate in particles per second" | |||
input Speed(integer) : "Controls length of the smoke jet" | |||
input SpreadSpeed(integer) : "Controls wideness of the smoke" | |||
] | |||
@PointClass base(Targetname) iconsprite("editor/env_fade") = env_fade : "Screen Fade" | |||
[ | |||
spawnflags(flags) = | |||
[ | |||
1: "Fade From" : 0 | |||
2: "Modulate" : 0 | |||
] | |||
duration(string) : "Duration (seconds)" : "2" : "The time that it will take to fade the screen in or out." | |||
holdtime(string) : "Hold Fade (seconds)" : "0" : "The time to hold the faded out state." | |||
renderamt(integer) : "Fade Alpha" : 255 | |||
rendercolor(color255) : "Fade Color (R G B)" : "0 0 0" | |||
// Inputs | |||
input Fade(void) : "Starts the screen fade." | |||
// Outputs | |||
output OnBeginFade(void) : "Fires when the fade is begun." | |||
] | |||
@SolidClass = func_ladder : "Ladder" | |||
[ | |||
] | |||
@SolidClass base(Targetname) color(0 128 255) = func_areaportalwindow : "Fading window portal" + | |||
"func_areaportalwindow can be used to optimize the visibility in a map." + | |||
"If you seal off an area with them, then when the viewer moves a certain distance away" + | |||
"from them, they will go opaque and the parts inside the area will not be drawn." + | |||
"The 'target' bmodel should enclose the func_areaportal window so no parts of it are " + | |||
"culled by the window. If you use the optional foreground bmodel, then it should " + | |||
"enclose the 'target' bmodel." | |||
[ | |||
target(target_destination) : "Rendered window" : : "The name of a brush model to render as the window." | |||
FadeStartDist(integer) : "Fade Start Distance" : 128 : "When the viewer is closer than this distance, the alpha is set to TranslucencyLimit." | |||
FadeDist(integer) : "Fade End Distance" : 512 : "When the viewer is at this distance, the portal becomes solid and closes off." | |||
TranslucencyLimit(string) : "Translucency limit" : "0.2" : "This value limits the translucency of the bmodel and prevents the it from becoming invisible when the viewer is right on top of it." | |||
BackgroundBModel(string) : "Foreground bmodel" : "" : "(Optional) bmodel that is drawn " + | |||
"after the fading bmodel. This model should have alpha in its textures so you can see " + | |||
"through it." | |||
] | |||
@SolidClass base(Targetname, RenderFields, Global) = func_wall : "Wall" | |||
[ | |||
_minlight(string) : "Minimum light level" | |||
] | |||
@SolidClass base(Targetname) = func_clip_vphysics : "VPhysics clip" | |||
[ | |||
filtername(filterclass) : "Filter Name" : : "Filter to use to see if activator collides with me. See filter_activator_name for more explanation." | |||
] | |||
@PointClass sphere() base(Targetname) size(-8 -8 -8, 8 8 8) = target_cdaudio : "CD Audio Target" | |||
[ | |||
health(choices) : "Track #" : -1 = | |||
[ | |||
-1 : "Stop" | |||
1 : "Track 1" | |||
2 : "Track 2" | |||
3 : "Track 3" | |||
4 : "Track 4" | |||
5 : "Track 5" | |||
6 : "Track 6" | |||
7 : "Track 7" | |||
8 : "Track 8" | |||
9 : "Track 9" | |||
10 : "Track 10" | |||
11 : "Track 11" | |||
12 : "Track 12" | |||
13 : "Track 13" | |||
14 : "Track 14" | |||
15 : "Track 15" | |||
16 : "Track 16" | |||
17 : "Track 17" | |||
18 : "Track 18" | |||
19 : "Track 19" | |||
20 : "Track 20" | |||
21 : "Track 21" | |||
22 : "Track 22" | |||
23 : "Track 23" | |||
24 : "Track 24" | |||
25 : "Track 25" | |||
26 : "Track 26" | |||
27 : "Track 27" | |||
28 : "Track 28" | |||
29 : "Track 29" | |||
30 : "Track 30" | |||
] | |||
radius(string) : "Player Radius" | |||
] | |||
@SolidClass base(Targetname, Parentname, Origin, RenderFields, Global, Inputfilter, EnableDisable) = func_brush : "Brush Wall" | |||
[ | |||
_minlight(string) : "Minimum light level" | |||
Solidity(choices) : "Solidity" : 0 = | |||
[ | |||
0 : "Toggle" | |||
1 : "Never Solid" | |||
2 : "Always Solid" | |||
] | |||
] | |||
//------------------------------------------------------------------------- | |||
// | |||
// A Vgui screen in 3D | |||
// | |||
//------------------------------------------------------------------------- | |||
@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" | |||
width(integer) : "Panel Width in World" : 32 | |||
height(integer) : "Panel Height in World" : 32 | |||
input SetActive(void) : "Make the vgui screen visible" | |||
input SetInactive(void) : "Make the vgui screen invisible" | |||
] | |||
@PointClass base(vgui_screen_base) size(-4 -4 -4, 4 4 4) = vgui_screen : "VGUI Screen" | |||
[ | |||
] | |||
//------------------------------------------------------------------------- | |||
// | |||
// Cyclers | |||
// | |||
//------------------------------------------------------------------------- | |||
@PointClass base(Targetname, Parentname, Angles) studio() = cycler : "NPC Cycler" | |||
[ | |||
spawnflags(flags) = | |||
[ | |||
1: "Not Solid" : 0 | |||
] | |||
model(studio) : "Model" | |||
renderfx(choices) :"Render FX" : 0 = | |||
[ | |||
0: "Normal" | |||
1: "Slow Pulse" | |||
2: "Fast Pulse" | |||
3: "Slow Wide Pulse" | |||
4: "Fast Wide Pulse" | |||
9: "Slow Strobe" | |||
10: "Fast Strobe" | |||
11: "Faster Strobe" | |||
12: "Slow Flicker" | |||
13: "Fast Flicker" | |||
5: "Slow Fade Away" | |||
6: "Fast Fade Away" | |||
7: "Slow Become Solid" | |||
8: "Fast Become Solid" | |||
14: "Constant Glow" | |||
15: "Distort" | |||
16: "Hologram (Distort + fade)" | |||
] | |||
rendermode(choices) : "Render Mode" : 0 = | |||
[ | |||
0: "Normal" | |||
1: "Color" | |||
2: "Texture" | |||
3: "Glow" | |||
4: "Solid" | |||
5: "Additive" | |||
] | |||
renderamt(integer) : "FX Amount (0 - 255)" : 255 | |||
rendercolor(color255) : "FX Color (R G B)" : "255 255 255" | |||
disableshadows(choices) : "Disable shadows" : 0 = | |||
[ | |||
0 : "No" | |||
1 : "Yes" | |||
] | |||
sequence(integer) : "Sequence" : 0 | |||
// Inputs | |||
input SetSequence(integer) : "Sets the cycler's sequence." | |||
// Inputs | |||
input Alpha(integer) : "Sets alpha value" | |||
] | |||
@PointClass base(BaseNPC) studio() = cycler_weapon : "Weapon Cycler" | |||
[ | |||
model(studio) : "View model" | |||
] | |||
@PointClass base(BaseNPC) studio() = cycler_flex : "Facial Cycler" | |||
[ | |||
model(studio) : "World model" | |||
Sentence(string) : "Sentence Group" : "" | |||
SetBodyGroup(Integer) : "Body Group" : 0 | |||
] | |||
//------------------------------------------------------------------------- | |||
// | |||
// Environmental effects | |||
// | |||
//------------------------------------------------------------------------- | |||
@BaseClass base(Targetname, Parentname) = gibshooterbase | |||
[ | |||
angles(string) : "Gib Direction (Pitch Yaw Roll)" : "0 0 0" : "The direction the gibs will fly." | |||
m_iGibs(integer) : "Number of Gibs" : 3 : "Total number of gibs to shoot each time I'm activated." | |||
delay(string) : "Delay between shots" : "0" : "Delay (in seconds) between shooting each gib. If 0, all gibs shoot at once." | |||
gibangles(string) : "Gib Angles (Pitch Yaw Roll)" : "0 0 0" : "The orientation of the spawned gibs." | |||
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%" | |||
spawnflags(Flags) = | |||
[ | |||
1 : "Repeatable" : 0 | |||
] | |||
// Inputs | |||
input Shoot(void) : "Shoot" | |||
] | |||
@PointClass base(Targetname, Parentname, RenderFxChoices) size(-4 -4 -4, 4 4 4) line(255 255 255, targetname, LightningStart, targetname, LightningEnd) = env_beam : "Energy Beam Effect" | |||
[ | |||
renderamt(integer) : "Brightness (1 - 255)" : 100 | |||
rendercolor(color255) : "Beam Color (R G B)" : "255 255 255" | |||
Radius(integer) : "Radius" : 256 | |||
life(string) : "Life (seconds 0 = infinite)" : "1" | |||
BoltWidth(float) : "Width of beam" : 2 | |||
NoiseAmplitude(float) : "Amount of noise (0-255)" : 0 | |||
texture(sprite) : "Sprite Name" : "sprites/laserbeam.spr" | |||
TextureScroll(integer) : "Texture Scroll Rate (0-100)" : 35 | |||
framerate(integer) : "Frames per 10 seconds" : 0 | |||
framestart(integer) : "Starting Frame" : 0 | |||
StrikeTime(string) : "Strike again time (secs)" : "1" | |||
damage(string) : "Damage / second" : "0" : "How much damage this beam does per second to things it hits when it is continually on, " + | |||
"or instantaneously if it strikes. For continuous damage, the value should be greater than 10 or it may not work." | |||
LightningStart(target_destination) : "Start Entity" | |||
LightningEnd(target_destination) : "Ending Entity" | |||
spawnflags(flags) = | |||
[ | |||
1 : "Start On" : 0 | |||
2 : "Toggle" : 0 | |||
4 : "Random Strike" : 0 | |||
8 : "Ring" : 0 | |||
16: "StartSparks" : 0 | |||
32: "EndSparks" : 0 | |||
64: "Decal End" : 0 | |||
128: "Shade Start" : 0 | |||
256: "Shade End" : 0 | |||
] | |||
TouchType(choices) : "Touch Type (tripwire)" : 0 = | |||
[ | |||
0 : "Not a tripwire" | |||
1 : "Player Only" | |||
2 : "NPC Only" | |||
3 : "Player or NPC" | |||
] | |||
// Inputs | |||
input TurnOn(void) : "Turns the beam on." | |||
input TurnOff(void) : "Turns the beam off." | |||
input Toggle(void) : "Toggles the beam between on and off." | |||
input StrikeOnce(void) : "Causes the beam to strike once. It will stay on for its set Life and then turn off (it will never turn off if Life is set to zero)." | |||
input Alpha(integer) : "Sets the beam's alpha (0 - 255)" | |||
input Color(color255) : "Sets the beam's render color (R G B)" | |||
input Amplitude(float) : "Amplitude of beam noise (0 - 255)." | |||
input ScrollSpeed(float) : "Scroll speed in units per second (0 - 100)." | |||
input Width(float) : "Width of the beam, in pixels." | |||
output OnTouchedByEntity(void) : "Fires when an entity touches the beam" | |||
] | |||
@PointClass base(Targetname, Parentname) size(-4 -4 -4, 4 4 4) = env_beverage : "Beverage Dispenser" | |||
[ | |||
health(integer) : "Capacity" : 10 | |||
beveragetype(choices) : "Beverage Type" : 0 = | |||
[ | |||
0 : "Coca-Cola" | |||
1 : "Sprite" | |||
2 : "Diet Coke" | |||
3 : "Orange" | |||
4 : "Surge" | |||
5 : "Moxie" | |||
6 : "Random" | |||
] | |||
input Activate(void) : "Activate" | |||
] | |||
@SolidClass base(Targetname, Parentname, Angles) = env_embers : "Embers Volume" | |||
[ | |||
particletype(choices) : "Ember type" : 0 = | |||
[ | |||
0 : "Normal" | |||
1 : "Smooth Fade" | |||
2 : "Pulled" | |||
] | |||
density(integer) : "Density (particles per second)" : 50 | |||
lifetime(integer) : "Particle Lifetime (seconds)" : 4 | |||
speed(integer) : "Particle Speed (units per second)" : 32 | |||
rendercolor(color255) : "Ember Color (R G B)" : "255 255 255" | |||
spawnflags(Flags) = | |||
[ | |||
1 : "Start On" : 0 | |||
2 : "Toggle" : 0 | |||
] | |||
] | |||
@PointClass base(Targetname, Parentname) size(-16 -16 -16, 16 16 16) = env_funnel : "Large Portal Funnel" | |||
[ | |||
spawnflags(flags) = | |||
[ | |||
1: "Reverse" : 0 | |||
] | |||
] | |||
@PointClass base(Targetname, Parentname) size(-16 -16 -16, 16 16 16) color(255 0 0) = env_blood : "Blood Effects" | |||
[ | |||
spraydir(angle) : "Spray Direction (Pitch Yaw Roll)" : "0 0 0" : "The general direction that the blood should spray and the direction to trace to apply the decal." | |||
color(choices) : "Blood Color" : 0 = | |||
[ | |||
0 : "Red (Human)" | |||
1 : "Yellow (Alien)" | |||
] | |||
amount(string) : "Amount of blood (damage to simulate)" : "100" | |||
spawnflags(flags) = | |||
[ | |||
1: "Random Direction" : 0 | |||
2: "Blood Stream" : 0 | |||
4: "On Player" : 0 | |||
8: "Spray decals" : 0 | |||
// dvs: support these flags | |||
//16: "Cloud" : 0 | |||
//32: "Drops" : 0 | |||
//64: "Gore" : 0 | |||
] | |||
input EmitBlood(void) : "Triggers the blood effect." | |||
] | |||
@SolidClass base(Targetname, Parentname) = env_bubbles : "Bubble Volume" | |||
[ | |||
density(integer) : "Bubble density" : 2 | |||
frequency(integer) : "Bubble frequency" : 2 | |||
current(integer) : "Speed of Current" : 0 | |||
spawnflags(Flags) = | |||
[ | |||
1 : "Start Off" : 0 | |||
] | |||
input Activate(void) : "Activate" | |||
] | |||
@PointClass base(Targetname, Parentname) iconsprite("editor/env_explosion.vmt") = env_explosion : "Explosion" | |||
[ | |||
iMagnitude(Integer) : "Magnitude" : 100 | |||
// If no radius override, magnitude will determine radius. | |||
iRadiusOverride(Integer) : "Radius Override" : 0 | |||
fireballsprite(sprite) : "Fireball Sprite" : "sprites/zerogxplode.spr" | |||
rendermode(choices) : "Render Mode" : 5 = | |||
[ | |||
0: "Normal" | |||
4: "Solid" | |||
5: "Additive" | |||
] | |||
spawnflags(flags) = | |||
[ | |||
1: "No Damage" : 0 | |||
2: "Repeatable" : 0 | |||
4: "No Fireball" : 0 | |||
8: "No Smoke" : 0 | |||
16: "No Decal" : 0 | |||
32: "No Sparks" : 0 | |||
64: "No Sound" : 0 | |||
128: "Random Orientation" : 0 | |||
512: "No particles" : 0 | |||
1024: "No DLights" : 0 | |||
2048: "Don't clamp Min" : 0 | |||
4096: "Don't clamp Max" : 0 | |||
] | |||
// Inputs | |||
input Explode(void) : "Triggers the explosion." | |||
] | |||
@PointClass base(Targetname, Parentname) color(200 50 0) size(-8 -8 -8, 8 8 8) = env_smoketrail : "Smoke Trail" | |||
[ | |||
firesprite(sprite) : "Fire Sprite" : "sprites/firetrail.spr" | |||
smokesprite(sprite) : "Smoke Puff" : "sprites/whitepuff.spr" | |||
] | |||
@PointClass base(Targetname) size(-8 -8 -8, 8 8 8) = env_global : "Global State" | |||
[ | |||
globalstate(choices) : "Global State to Set" = | |||
[ | |||
"gordon_precriminal" : "Gordon pre-criminal" | |||
"antlion_allied" : "Antlions are player allies" | |||
"player_stealth" : "Player in APC is disguised as combine" | |||
] | |||
initialstate(choices) : "Initial State" : 0 = | |||
[ | |||
0 : "Off" | |||
1 : "On" | |||
2 : "Dead" | |||
] | |||
spawnflags(flags) = | |||
[ | |||
1 : "Set Initial State" : 0 | |||
] | |||
// Inputs | |||
input TurnOn(void) : "Set state of global to ON" | |||
input TurnOff(void) : "Set state of global to OFF" | |||
input Toggle(void) : "Toggles state of global between ON and OFF" | |||
input Remove(void) : "Set state of global to DEAD" | |||
] | |||
@PointClass base(Targetname, Parentname) sphere() iconsprite("editor/env_physexplosion.vmt") = env_physexplosion : "Physics Explosivo" | |||
[ | |||
magnitude(string) : "Magnitude" : "100" | |||
radius(string) : "Clamp Radius (0 = auto)" : "0" | |||
targetentityname(string) : "Limit to Entity" : "" | |||
spawnflags(flags) = | |||
[ | |||
1 : "No Damage - Only Force" : 1 | |||
] | |||
// Inputs | |||
input Explode(void) : "Trigger the explosion" | |||
] | |||
@PointClass base(Targetname, Parentname) line(255 255 255, targetname, directionentityname) iconsprite("editor/env_physexplosion.vmt") = env_physimpact : | |||
"Directed physics impact that effects an object" | |||
[ | |||
angles(string) : "Pitch Yaw Roll (Y Z X)" : "0 0 0" : "Direction to project the impact." | |||
magnitude(integer) : "Magnitude" : 100 : "Strength of the impact" | |||
distance(integer) : "Distance" : 0 : "How far to project the impact (if 0 uses a default value)." | |||
directionentityname(target_destination) : "Point to Entity" : "" : "If set distance and angle settings are ignored and the direction and distance of the given entity will be used." | |||
spawnflags(flags) = | |||
[ | |||
1: "No fall-off" : 0 | |||
2: "Infinite Length" : 0 | |||
4: "Ignore Mass" : 0 | |||
] | |||
input Impact(void) : "Trigger the impact" | |||
] | |||
// 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." + | |||
// "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" | |||
// 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" | |||
// noise(float) : "Noise" : "0.1" : "Amount of directional noise in stream" | |||
// lifetime(float) : "Lifetime" : 5 : "Lifetime of particles (in secs)" | |||
// numdecals(integer) : "Num Decals" : 1 : "Number of decals used (keep small)" | |||
// startactive(choices) : "Start On" : 1 = | |||
// [ | |||
// 0 : "No" | |||
// 1 : "Yes" | |||
// ] | |||
// | |||
// // Inputs | |||
// input SetSpawnRate(float) : "Sets how many particles come out" | |||
// input SetSpeed(float) : "Sets speed of emitted particle" | |||
// input SetNoise(float) : "Sets noise of emitted particle (0-1)" | |||
// input SetLifetime(float) : "Sets lifetime of emitted particles (in seconds)" | |||
// input TurnOn(void) : "Turns particles on" | |||
// input TurnOff(void) : "Turns particles off" | |||
//] | |||
@PointClass base(Targetname, Parentname) iconsprite("editor/env_fire") color(0 180 0) = env_fire : "Firestarter" | |||
[ | |||
health(integer) : "Duration" : 30 : "Amount of time the fire will burn." | |||
firesize(integer) : "Size" : 64 : "Height (in world units) of the flame." | |||
fireattack(integer) : "Attack" : 4 : "Amount of time the fire takes to grow to full strength." | |||
firetype(choices) : "Type" : 0 = | |||
[ | |||
0 : "Natural" | |||
1 : "Plasma" | |||
] | |||
spawnflags(flags) = | |||
[ | |||
1: "Infinite Duration" : 0 | |||
2: "Smokeless" : 0 | |||
4: "Start On" : 0 | |||
8: "Start Full" : 0 | |||
16: "Don't drop" : 0 | |||
32: "No glow" : 0 | |||
128: "Delete when out" : 0 | |||
256: "Start disabled" : 0 | |||
] | |||
ignitionpoint(float) : "Ignition Point" : 32 | |||
damagescale(float) : "Damage Scale" : "1.0" | |||
// Inputs | |||
input Enable(void) : "Enables input and ignition" | |||
input Disable(void) : "Disables input and ignition" | |||
input StartFire(void) : "Start the fire" | |||
input Extinguish(float) : "Puts out the fire premanently in the number of seconds specified" | |||
input ExtinguishTemporary(float): "Puts out the fire temporarily in the number of seconds specified" | |||
// Outputs | |||
output OnIgnited(void) : "Fires when the fire is first ignited" | |||
output OnExtinguished(void) : "Fires when the fire is fully extinguished" | |||
] | |||
@PointClass base(Targetname, Parentname) iconsprite("editor/env_firesource") color(255 255 0) sphere(fireradius) = env_firesource : "Fire Source" | |||
[ | |||
spawnflags(flags) = | |||
[ | |||
1: "Start On" : 0 | |||
] | |||
fireradius(float) : "Radius" : 128 | |||
firedamage(float) : "Intensity / Damage" : 10 | |||
// Inputs | |||
input Enable(void) : "Enable fire source" | |||
input Disable(void) : "Disable fire source" | |||
] | |||
@PointClass base(Targetname, Parentname) size(-4 -4 -4, 4 4 4) color(255 255 0) sphere(fireradius) = env_firesensor : "Fire Sensor" | |||
[ | |||
spawnflags(flags) = | |||
[ | |||
1: "Start On" : 1 | |||
] | |||
fireradius(float) : "Radius" : 128 | |||
heatlevel(float) : "Heat level" : 32 | |||
heattime(float) : "Time at level" : 0 | |||
// Inputs | |||
input Enable(void) : "Enable fire source" | |||
input Disable(void) : "Disable fire source" | |||
output OnHeatLevelStart(void) : "Fires when the heat level has been detected for the given length of time" | |||
output OnHeatLevelEnd(void) : "Fires when the heat level is no longer detected." | |||
] | |||
@PointClass base(Targetname) size(-4 -4 -4, 4 4 4) color(0 180 0) = env_entity_igniter : | |||
"Catches a target entity on fire. If the entity is an animating model, it will have sprite flames attached to its skeleton. Otherwise "+ | |||
"the entity will emit particle flame puffs." | |||
[ | |||
target(target_destination) : "Entity to ignite" : : "Name of the entity to catch on fire." | |||
lifetime(float) : "Lifetime in seconds" : 10 : "Duration of flames." | |||
input Ignite(void) : "Ignites the target entity." | |||
] | |||
@PointClass base(Targetname, DXLevelChoice) size(-16 -16 -16, 16 16 16) color(255 255 255) = env_fog_controller : "Fog Controller" | |||
[ | |||
// Inputs | |||
input SetStartDist(float) : "Sets fog start distance" | |||
input SetEndDist(float) : "Sets fog end distance" | |||
input TurnOn(void) : "Turns fog on" | |||
input TurnOff(void) : "Turns fog off" | |||
input SetColor(color255) : "Sets primary fog color." | |||
input SetColorSecondary(color255) : "Sets secondary fog color." | |||
// Starting fog parameters for the level. These are selectable per LOD. | |||
fogenable(choices) : "Fog Enable" : 0 = | |||
[ | |||
0 : "No" | |||
1 : "Yes" | |||
] | |||
fogblend(choices) : "Fog Blend" : 0 = | |||
[ | |||
0 : "No" | |||
1 : "Yes" | |||
] | |||
fogcolor(color255) : "Primary Fog Color" : "255 255 255" | |||
fogcolor2(color255) : "Sec Fog Color" : "255 255 255" | |||
fogdir(string) : "Primary Fog Dir" : "1 0 0" | |||
fogstart(string) : "Fog Start" : "500.0" | |||
fogend(string) : "Fog End" : "2000.0" | |||
farz(string) : "Far Z Clip Plane" : "-1" | |||
] | |||
@PointClass base(Parentname, Angles) studioprop("models/editor/spot_cone.mdl") color(255 255 255) = env_steam : "Steam jet" | |||
[ | |||
targetname(string) : "Name" | |||
InitialState(choices) : "Initial State" : 0 = | |||
[ | |||
0 : "Off" | |||
1 : "On" | |||
] | |||
//Type of particle to spew out | |||
type(choices) : "Particle Type" : 0 = | |||
[ | |||
0 : "Normal" | |||
1 : "Heat Wave" | |||
] | |||
SpreadSpeed(integer) : "Spread Speed" : 15 | |||
Speed(integer) : "Speed" : 120 | |||
StartSize(integer) : "Particle start size" : 10 | |||
EndSize(integer) : "Particle end size" : 25 | |||
Rate(integer) : "Emission rate" : 26 | |||
rendercolor(color255) : "Color (R G B)" : "255 255 255" | |||
JetLength(integer) : "Length of steam jet" : 80 | |||
renderamt(integer) : "Translucency" : 255 | |||
// Inputs | |||
input TurnOn(void) : "Turns the steam jet on" | |||
input TurnOff(void) : "Turns the steam jet off" | |||
input Toggle(void) : "Toggles the steam jet between on and off" | |||
input JetLength(integer) : "Length of steam jet" | |||
input Rate(integer) : "Particle emission rate in particles per second" | |||
input Speed(integer) : "Spread speed in units per second" | |||
input SpreadSpeed(integer) : "Spread speed in units per second" | |||
] | |||
@PointClass base(Targetname, Parentname, RenderFxChoices) size(-4 -4 -4, 4 4 4) line(255 255 255, targetname, LaserTarget) = env_laser : | |||
"This entity creates a laser beam between itself and a given target." | |||
[ | |||
LaserTarget(target_destination) : "Target of Laser" : : "Name of entity or entities to strike at, randomly chosen if there are multiple entities with the given name." | |||
renderamt(integer) : "Brightness (1 - 255)" : 100 | |||
rendercolor(color255) : "Beam Color (R G B)" : "255 255 255" | |||
width(float) : "Width of beam in pixels" : 2 | |||
NoiseAmplitude(integer) : "Amount of noise (0-255)" : 0 | |||
texture(sprite) : "Sprite Name" : "sprites/laserbeam.spr" | |||
EndSprite(sprite) : "End Sprite" : "" | |||
TextureScroll(integer) : "Texture Scroll Rate (0-100)" : 35 | |||
framestart(integer) : "Starting Frame" : 0 | |||
damage(string) : "Damage / second" : "100" : "How much damage this laser does per second to things it hits." | |||
spawnflags(flags) = | |||
[ | |||
1 : "Start On" : 0 | |||
16: "StartSparks" : 0 | |||
32: "EndSparks" : 0 | |||
64: "Decal End" : 0 | |||
] | |||
// Inputs | |||
input TurnOn(void) : "Turns the laser on." | |||
input TurnOff(void) : "Turns the laser off." | |||
input Toggle(void) : "Toggles the laser between on and off." | |||
] | |||
@PointClass base(Targetname) size(-8 -8 -8, 8 8 8) = env_message | |||
: "HUD Text Message" | |||
[ | |||
message(string) : "Message Text" | |||
spawnflags(flags) = | |||
[ | |||
1: "Play Once" : 0 | |||
2: "All Clients" : 0 | |||
] | |||
messagesound(sound) : "Sound effect" | |||
messagevolume(string) : "Volume 0-10" : "10" | |||
messageattenuation(Choices) : "Sound Radius" : 0 = | |||
[ | |||
0 : "Small Radius" | |||
1 : "Medium Radius" | |||
2 : "Large Radius" | |||
3 : "Play Everywhere" | |||
] | |||
// Inputs | |||
input ShowMessage(void) : "Shows the message and/or plays the sound." | |||
// Outputs | |||
output OnShowMessage(void) : "Fires when the message is activated" | |||
] | |||
@PointClass sphere() iconsprite("editor/env_shake.vmt") base(Targetname, Parentname) = env_shake : "Screen Shake" | |||
[ | |||
spawnflags(flags) = | |||
[ | |||
1: "GlobalShake" : 0 | |||
//2: "Disrupt player control" : 0 // doesn't work | |||
4: "In Air" : 0 // shakes objects even if they are not onground | |||
8: "Physics" : 0 // shakes physically as well as the camera | |||
] | |||
amplitude(float) : "Amplitude 0-16" : "4" | |||
radius(float) : "Effect radius" : "500" | |||
duration(float) : "Duration (seconds)" : "1" | |||
frequency(float) : "0.1 = jerk, 255.0 = rumble" : "2.5" | |||
input Amplitude(string) : "Amplitude 0-16" | |||
input Frequency(string) : "0.1 = jerk, 255.0 = rumble" | |||
input StartShake(void) : "Starts the shake" | |||
input StopShake(void) : "Stops the shake" | |||
] | |||
@PointClass base(gibshooterbase) iconsprite("editor/gibshooter.vmt") = gibshooter : | |||
"This entity shoots out body parts. Style of body part depends on language type." | |||
[ | |||
] | |||
@PointClass base(gibshooterbase, RenderFields) iconsprite("editor/env_shooter.vmt") = env_shooter : "Model Shooter" | |||
[ | |||
shootmodel(studio) : "Model" : "" : "Thing to shoot out. Can be a .mdl or a .vmt" | |||
shootsounds(choices) :"Material Sound" : -1 = | |||
[ | |||
-1: "None" | |||
0: "Glass" | |||
1: "Wood" | |||
2: "Metal" | |||
3: "Flesh" | |||
4: "Concrete" | |||
] | |||
simulation(choices) :"Simulate" : 0 = | |||
[ | |||
0: "Point" | |||
1: "Physics" | |||
2: "Ragdoll" | |||
] | |||
scale(string) : "Gib Scale" : "" | |||
skin(integer) : "Gib Skin" : 0 | |||
spawnflags(flags) = | |||
[ | |||
2 : "On fire" : 0 | |||
] | |||
] | |||
@PointClass base(Parentname) sphere() size(-8 -8 -8, 8 8 8) = env_soundscape : "Soundscape assign" | |||
[ | |||
radius(integer) : "Radius" : 128 | |||
soundscape(choices) : "Soundscape" : "Nothing" = | |||
[ | |||
"Nothing" : "Nothing" | |||
"GenericIndoor" : "Indoor" | |||
"GenericOutdoor" : "Outdoor" | |||
] | |||
position0(target_destination) : "Sound Position 0" : "" | |||
position1(target_destination) : "Sound Position 1" : "" | |||
position2(target_destination) : "Sound Position 2" : "" | |||
position3(target_destination) : "Sound Position 3" : "" | |||
] | |||
@PointClass base(Targetname, Parentname, Angles) iconsprite("editor/env_spark.vmt") = env_spark : "Spark" | |||
[ | |||
MaxDelay(string) : "Max Delay" : "0" : "The longest delay between sparks (in seconds)." | |||
Magnitude(choices) : "Magnitude" : 1 = | |||
[ | |||
1 : "Small" | |||
2 : "Medium" | |||
5 : "Large" | |||
8 : "Huge" | |||
] | |||
TrailLength(choices) : "Spark trail length" : 1 = | |||
[ | |||
1 : "Short" | |||
2 : "Medium" | |||
3 : "Long" | |||
] | |||
spawnflags(flags) = | |||
[ | |||
64: "Start ON" : 0 | |||
128: "Glow" : 0 | |||
256: "Silent" : 0 | |||
512: "Directional" : 0 | |||
] | |||
input StartSpark(void) : "Starts the spark effect." | |||
input StopSpark(void) : "Stops the spark effect." | |||
input ToggleSpark(void) : "Toggles the on/off state of the spark effect." | |||
input SparkOnce(void) : "Spark one time." | |||
] | |||
@PointClass base(Targetname, Parentname, RenderFields,DXLevelChoice) size(-2 -2 -2, 2 2 2) sprite() color(20 140 20) = env_sprite : | |||
"Sprite effect." | |||
[ | |||
framerate(string) : "Framerate" : "10.0" | |||
model(sprite) : "Sprite Name" : "sprites/glow01.spr" | |||
scale(string) : "Scale" : "" | |||
spawnflags(flags) = | |||
[ | |||
1: "Start on" : 0 | |||
2: "Play Once" : 0 | |||
] | |||
input Alpha(integer) : "Sets the sprite's alpha (0 - 255)." | |||
input Color(color255) : "Sets the sprite's color (R G B)." | |||
input HideSprite(void) : "Hides the sprite" | |||
input SetScale(float) : "Sets the sprite's scale (0 - 8.0)." | |||
input ShowSprite(void) : "Shows the sprite" | |||
input ToggleSprite(void) : "Toggles the sprite between hidden and shown" | |||
] | |||
@PointClass base(Targetname) iconsprite("editor/env_wind.vmt") = env_wind : "Wind Controller" | |||
[ | |||
gustsound(sound) : "Gust sound filename" | |||
minwind(integer) : "Min normal speed" : 20 | |||
maxwind(integer) : "Max normal speed" : 50 | |||
mingust(integer) : "Min gust speed" : 100 | |||
maxgust(integer) : "Max gust speed" : 250 | |||
mingustdelay(integer) : "Min gust delay" : 10 | |||
maxgustdelay(integer) : "Max gust delay" : 20 | |||
gustdirchange(integer) : "Max gust dir change (degrees)" : 20 | |||
] | |||
@PointClass size(-16 -16 -16, 16 16 16) color(0 0 255) = sky_camera : "3D Skybox" | |||
[ | |||
scale(integer) : "3D Skybox scale" : 16 | |||
fogenable(choices) : "Fog Enable" : 0 = | |||
[ | |||
0 : "No" | |||
1 : "Yes" | |||
] | |||
fogblend(choices) : "Fog Blend" : 0 = | |||
[ | |||
0 : "No" | |||
1 : "Yes" | |||
] | |||
fogcolor(color255) : "Primary Fog Color" : "255 255 255" | |||
fogcolor2(color255) : "Sec. Fog Color" : "255 255 255" | |||
fogdir(string) : "Primary Fog Dir" : "1 0 0" | |||
fogstart(string) : "Fog Start" : "500.0" | |||
fogend(string) : "Fog End" : "2000.0" | |||
] | |||
@BaseClass base(Targetname, ResponseContext) = BaseSpeaker | |||
[ | |||
delaymin(string) : "Min delay between announcements" : "15" | |||
delaymax(string) : "Max delay between announcements" : "135" | |||
spawnflags(flags) = | |||
[ | |||
1: "Start Silent" : 0 | |||
2: "Play Everywhere" : 0 | |||
] | |||
rulescript(string) : "Context rule script" : "" : "Script file containing rules for playing appropriate sounds." | |||
concept(string) : "Concept name" : "" : "High level concept name used as primary search key." | |||
input TurnOn(void) : "Turns on the random announcements." | |||
input TurnOff(void) : "Turns off the random announcements." | |||
input Toggle(void) : "Toggles the random announcements off and on." | |||
] | |||
//------------------------------------------------------------------------- | |||
// | |||
// Game Entities | |||
// | |||
//------------------------------------------------------------------------- | |||
@PointClass base(Targetname) = game_weapon_manager : "Weapon Quantity Manager" | |||
[ | |||
weaponname(string) : "Weapon Classname" | |||
maxpieces(integer) : "Max Allowed in Level" | |||
] | |||
@PointClass base(Targetname) iconsprite("editor/game_end.vmt") = game_end : "End this multiplayer game" | |||
[ | |||
master(string) : "Master" | |||
input EndGame(void) : "Ends the multiplayer map" | |||
] | |||
@PointClass base(Targetname) size(-8 -8 -8, 8 8 8) = game_player_equip : "Initial player equipment" | |||
[ | |||
spawnflags(flags) = | |||
[ | |||
1: "Use Only" : 0 | |||
] | |||
master(string) : "Team Master" | |||
] | |||
@PointClass base(Targetname) size(-8 -8 -8, 8 8 8) = game_player_hurt : "Hurts player who fires" | |||
[ | |||
dmg(string) : "Damage To Apply" : "999" | |||
spawnflags(flags) = | |||
[ | |||
1: "Remove On fire" : 0 | |||
] | |||
master(string) : "Master" | |||
] | |||
@PointClass base(Targetname) size(-8 -8 -8, 8 8 8) = game_player_team : "Allows player to change teams" | |||
[ | |||
spawnflags(flags) = | |||
[ | |||
1 : "Remove On fire" : 0 | |||
2 : "Kill Player" : 0 | |||
4 : "Gib Player" : 0 | |||
] | |||
target(string) : "game_team_master to use" | |||
master(string) : "Master" | |||
] | |||
@PointClass base(Targetname) size(-8 -8 -8, 8 8 8) = game_score : "Award/Deduct Points" | |||
[ | |||
spawnflags(flags) = | |||
[ | |||
1: "Allow Negative" : 0 | |||
2: "Team Points" : 0 | |||
] | |||
points(integer) : "Points to add (+/-)" : 1 | |||
master(string) : "Master" | |||
] | |||
@PointClass base(Targetname) size(-8 -8 -8, 8 8 8) = game_team_master : "Team based master/relay" | |||
[ | |||
spawnflags(flags) = | |||
[ | |||
1: "Remove On fire" : 0 | |||
] | |||
triggerstate(choices) : "Trigger State" : 0 = | |||
[ | |||
0: "Off" | |||
1: "On" | |||
2: "Toggle" | |||
] | |||
teamindex(integer) : "Team Index (-1 = no team)" : -1 | |||
master(string) : "Master" | |||
] | |||
@PointClass base(Targetname) size(-8 -8 -8, 8 8 8) = game_team_set : "Sets team of team_master" | |||
[ | |||
spawnflags(flags) = | |||
[ | |||
1: "Remove On fire" : 0 | |||
] | |||
master(string) : "Master" | |||
] | |||
@PointClass base(Targetname) iconsprite("editor/game_text.vmt") = game_text : "HUD Text Message" | |||
[ | |||
spawnflags(flags) = | |||
[ | |||
1: "All Players" : 0 | |||
] | |||
message(string) : "Message Text" | |||
x(string) : "X (0 - 1.0 = left to right) (-1 centers)" : "-1" | |||
y(string) : "Y (0 - 1.0 = top to bottom) (-1 centers)" : "-1" | |||
effect(Choices) : "Text Effect" : 0 = | |||
[ | |||
0 : "Fade In/Out" | |||
1 : "Credits" | |||
2 : "Scan Out" | |||
] | |||
color(color255) : "Color1" : "100 100 100" | |||
color2(color255) : "Color2" : "240 110 0" | |||
fadein(string) : "Fade in Time (or character scan time)" : "1.5" | |||
fadeout(string) : "Fade Out Time" : "0.5" | |||
holdtime(string) : "Hold Time" : "1.2" | |||
fxtime(string) : "Scan time (scan effect only)" : "0.25" | |||
channel(choices) : "Text Channel" : 1 = | |||
[ | |||
1 : "Channel 1" | |||
2 : "Channel 2" | |||
3 : "Channel 3" | |||
4 : "Channel 4" | |||
] | |||
master(string) : "Master" | |||
// Inputs | |||
input Display(void) : "Displays the message text." | |||
] | |||
@PointClass base(Targetname, Parentname) size(-8 -8 -8, 8 8 8) = point_message : "Entity Text Message" | |||
[ | |||
message(string) : "Entity Message" | |||
radius(integer) : "Show message radius" : 128 | |||
developeronly(choices) : "Developer Only?" : 0 = | |||
[ | |||
0 : "No" | |||
1 : "Yes" | |||
] | |||
] | |||
@PointClass base(Targetname) size(-8 -8 -8, 8 8 8) = game_ui : "Overrides player control" | |||
[ | |||
spawnflags(flags) = | |||
[ | |||
32 : "Freeze Player" : 1 | |||
64 : "Hide Weapon" : 1 | |||
128 : "+Use Deactivates" : 1 | |||
256 : "Jump Deactivates" : 1 | |||
] | |||
FieldOfView(float) : "FieldOfView" : "-1.0" : "How much tolerance before drop the player\n1.0 = straight ahead\n 0.0 = +/- 90 degrees\n -1.0 = all directions)" | |||
// Inputs | |||
input Deactivate(void) : "Return Player Control" | |||
input Activate(void) : "Take Player Control" | |||
output PlayerOn(void) : "Player gained control" | |||
output PlayerOff(void) : "Player lost control" | |||
output PressedMoveLeft(void) : "Player Pressed moveleft key" | |||
output PressedMoveRight(void) : "Player Pressed moveright key" | |||
output PressedForward(void) : "Player Pressed forward key" | |||
output PressedBack(void) : "Player Pressed back key" | |||
output PressedAttack(void) : "Player Pressed attack key" | |||
output PressedAttack2(void) : "Player Pressed attack2 key" | |||
output XAxis(string) : "Left/right axis value [-1=left, 1=right, 0=neither]" | |||
output YAxis(string) : "Forward/back axis value [-1=back, 1=forward, 0=neither]" | |||
output AttackAxis(string) : "State of the attack button [0=released, 1=pressed]" | |||
output Attack2Axis(string) : "State of the attack2 button [0=released, 1=pressed]" | |||
] | |||
@SolidClass base(Targetname, Parentname) = game_zone_player : "Player Zone brush" | |||
[ | |||
intarget(target_destination) : "Target for IN players" | |||
outtarget(target_destination) : "Target for OUT players" | |||
incount(target_destination) : "Counter for IN players" | |||
outcount(target_destination) : "Counter for OUT players" | |||
// master(string) : "Master" | |||
] | |||
//------------------------------------------------------------------------- | |||
// | |||
// Info Entities | |||
// | |||
//------------------------------------------------------------------------- | |||
@PointClass base(Targetname) decal() studio("models/editor/axis_helper.mdl") = infodecal : "Decal" | |||
[ | |||
texture(decal) | |||
input Activate(void) : "Activate" | |||
] | |||
// A decal to be applied to a prop or the world using specified origin and orientation and radius, uses an orientation angle and a radius to determine | |||
// ray to cast for projection | |||
@PointClass base(Angles,Targetname) decal() studio("models/editor/axis_helper.mdl") = info_projecteddecal : "Projected Decal" | |||
[ | |||
texture(decal) | |||
Distance(float) : "Distance" : 64 | |||
input Activate(void) : "Activate" | |||
] | |||
@PointClass base(PlayerClass, Angles) studio("models/editor/playerstart.mdl") = info_player_start : | |||
"This entity indicates the position and facing direction at which the player will spawn. Any number of "+ | |||
"info_player_start entities may be placed in a map for when working in cordoned-off portions of the map. "+ | |||
"When multiple info_player_start entities are present in a map, set the 'Master' spawnflag on one of them "+ | |||
"to indicate which one should be used when running the entire map." | |||
[ | |||
spawnflags(flags) = | |||
[ | |||
1: "Master (Has priority if multiple info_player_starts exist)" : 0 | |||
] | |||
] | |||
@PointClass size(-8 -8 -8, 8 8 8) overlay() = info_overlay : "Overlay" | |||
[ | |||
material(material) : "Material" | |||
sides(sidelist) : "Brush faces" | |||
StartU(float) : "U Start" : "0.0" | |||
EndU(float) : "U End" : "1.0" | |||
StartV(float) : "V Start" : "0.0" | |||
EndV(float) : "V End" : "1.0" | |||
uv0(vector) readonly : "Overlay Point 1(Read-Only)" | |||
uv1(vector) readonly : "Overlay Point 2(Read-Only)" | |||
uv2(vector) readonly : "Overlay Point 3(Read-Only)" | |||
uv3(vector) readonly : "Overlay Point 4(Read-Only)" | |||
] | |||
@PointClass size(-4 -4 -4, 4 4 4) color(0 180 0) = info_intermission : | |||
"Defines an intermission spot where dead players will float until they respawn." | |||
[ | |||
target(target_destination) : "Entity to look at" : : "Name of entity that dead players will face while in intermission at this spot." | |||
] | |||
@PointClass base(Targetname) iconsprite("editor/info_landmark") = info_landmark : "Transition Landmark" | |||
[ | |||
] | |||
@PointClass base(Targetname) size(-8 -8 -8, 8 8 8) = info_null : "Spotlight target" | |||
[ | |||
] | |||
@PointClass base(Targetname, Parentname, Angles) iconsprite("editor/info_target.vmt") = info_target : "Beam Target" | |||
[ | |||
] | |||
@PointClass base(Targetname, EnableDisable, Parentname, Angles) iconsprite("editor/info_target.vmt") sphere(radius) = phys_ragdollmagnet : "Ragdoll Magnet" | |||
[ | |||
axis(vecline) : "Bar Magnet Axis" | |||
radius(float) : "Effective Radius" : "512" | |||
force(float) : "Force" : "5000" | |||
target(string) : "Entity to affect" | |||
spawnflags( Flags ) = | |||
[ | |||
2 : "Bar Magnet (use axis helper)" : 0 | |||
] | |||
] | |||
@PointClass base(Targetname) iconsprite("editor/info_lighting.vmt") = info_lighting : "Lighting Target" | |||
[ | |||
] | |||
@PointClass base(Targetname, Parentname, Angles, PlayerClass) studio("models/editor/playerstart.mdl") = info_teleport_destination : "Teleport destination" | |||
[ | |||
] | |||
//------------------------------------------------------------------------- | |||
// | |||
// Nodes and Hints | |||
// | |||
//------------------------------------------------------------------------- | |||
@PointClass base(Targetname, Node) studio("models/editor/ground_node.mdl") color(232 219 8) = info_node : | |||
"A navigation node for ground moving NPCs. Navigation nodes are baked into the nodegraph so that NPCs can move " + | |||
"to them. Ground nodes fall to the ground when they spawn." | |||
[ | |||
] | |||
@PointClass base(Targetname, Angles, HintNode) studio("models/editor/ground_node_hint.mdl") color(232 219 8) = info_node_hint : | |||
"A navigation node for ground moving NPCs that includes some context information for NPCs that are interested in it. The hint might " + | |||
"indicate a window that could be looked out of, or an item of interest that could be commented on. Many hint nodes are NPC-specific, " + | |||
"so it's helpful to use naming conventions like 'Crow: Fly to point' in the hint choices list. The angles of a hint node indicate what direction " + | |||
"the NPC should face to perform the hint behavior.\n\n" + | |||
"It's important to understand the distinction between scripts, such as scripted_sequence and scripted_schedule, and info_hint entities. Scripts summon " + | |||
"NPCs to specific cue points to play their parts, while hints provide context information to the AI that they use to perform their " + | |||
"behaviors. Hints require code support in the NPC, while scripts are generic and may require only animations to play. Use a hint if the behavior is driven " + | |||
"by the AI, use a script if the behavior is driven by the map." | |||
[ | |||
] | |||
@PointClass base(Targetname, Node) studio("models/editor/air_node.mdl") color(232 171 8) = info_node_air : | |||
"A navigation node for flying NPCs. Air navigation nodes are baked into the nodegraph so that NPCs can move " + | |||
"to them. Air nodes do not fall to the ground when they spawn." | |||
[ | |||
nodeheight(integer) : "NodeHeight" : 0 | |||
] | |||
@PointClass base(Targetname, HintNode) studio("models/editor/air_node_hint.mdl") color(232 171 8) = info_node_air_hint : | |||
"A navigation node for flying NPCs that includes some context information for NPCs that are interested in it. The hint might " + | |||
"indicate a window that could be looked into, or an item of interest that could be commented on. Many hint nodes are NPC-specific, " + | |||
"so it's helpful to use naming conventions like 'Crow: Fly to point' in the hint choices list. The angles of a hint node indicate what direction " + | |||
"the NPC should face to perform the hint behavior." | |||
[ | |||
nodeheight(integer) : "NodeHeight" : 0 | |||
] | |||
@PointClass base(Targetname, Angles, HintNode) studio("models/editor/node_hint.mdl") color(255 255 255) = info_hint : | |||
"A hint that is not used for navigation. They don't go into the nodegraph, nor do they fall to the ground. Use these to provide " + | |||
"some spatial context for NPCs, such as 'look here if you can't find the player' or 'throw rocks at this spot'." | |||
[ | |||
] | |||
@PointClass base(Targetname) color(220 180 0) size(-8 -8 -8, 8 8 8) line(255 255 255, nodeid, StartNode, nodeid, EndNode) = info_node_link : | |||
"A dynamic connection between two navigation nodes. You specify the node IDs of the start and end nodes, and then you can use entity I/O " + | |||
"to turn on and off the connection. This could be used to create or destroy a connection in the nodegraph because of some event in your map " + | |||
"(a bridge being created/destroyed, etc)." | |||
[ | |||
StartNode(integer) : "Start node" : : "The node ID of one end of the node connection." | |||
EndNode(integer) : "End node" : : "The node ID of one end of the node connection." | |||
initialstate(choices) : "Initial State" : 1 = | |||
[ | |||
0 : "Off" | |||
1 : "On" | |||
] | |||
AllowUse(string) : "Allow pass when off" : : "Entity or class to allow passage even when node is off" | |||
input TurnOn(void) : "Turn the link on" | |||
input TurnOff(void) : "Turn the link off" | |||
] | |||
@PointClass wirebox(mins, maxs) base(Targetname) = info_node_link_controller : | |||
"Controls all connections between nodes that intersect the controller's volume. "+ | |||
"This allows for mass enabling/disabling of all node connections through a volume." | |||
[ | |||
mins(vector) : "Mins" : "-8 -32 -36" | |||
maxs(vector) : "Maxs" : "8 32 36" | |||
initialstate(choices) : "Initial State" : 1 = | |||
[ | |||
0 : "Off" | |||
1 : "On" | |||
] | |||
AllowUse(string) : "Allow pass when off" : : "Entity or class to allow passage even when node is off" | |||
input TurnOn(void) : "Turn the link on" | |||
input TurnOff(void) : "Turn the link off" | |||
] | |||
@PointClass base(Targetname, Angles, HintNode) studio("models/editor/climb_node.mdl") color(153 215 103) = info_node_climb : "ai climb node" | |||
[ | |||
] | |||
//------------------------------------------------------------------------- | |||
// | |||
// Lights | |||
// | |||
//------------------------------------------------------------------------- | |||
@PointClass light() iconsprite("editor/light.vmt") base(Targetname, Light) = light : "Invisible lightsource" | |||
[ | |||
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." | |||
spawnflags(Flags) = [ 1 : "Initially dark" : 0 ] | |||
_distance(integer) : "Maximum distance" : 0 | |||
] | |||
@PointClass base(Angles) iconsprite("editor/light_env.vmt") = light_environment : "Environment" | |||
[ | |||
pitch(integer) : "Pitch" : 0 | |||
_light(color255) : "Brightness" : "255 255 255 200" | |||
_ambient(color255) : "Ambient" : "255 255 255 20" | |||
] | |||
@PointClass base(Targetname, Angles, Light) lightcone() size(-4 -4 -4, 4 4 4) = light_spot : "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 | |||
_distance(integer) : "Maximum distance" : 0 | |||
pitch(integer) : "Pitch" : -90 | |||
spawnflags(Flags) = [ 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 : "Dynamic Light" | |||
[ | |||
target(target_destination) : "Entity to point at" : : "The name of an entity in the map that the dynamic light will point at." | |||
_light(color255) : "Light color" : "255 255 255 200" | |||
brightness(integer) : "Light brightness" : 0 | |||
_inner_cone(integer) : "Inner (bright) angle" : 30 | |||
_cone(integer) : "Outer (fading) angle" : 45 | |||
pitch(integer) : "Pitch" : -90 | |||
distance(float) : "Maximum distance" : 120 : "This is the distance that light is allowed to cast in inches." | |||
spotlight_radius(float) : "Spotlight end radius" : 80 : "This is the radius of the light in inches at the object that it is hitting." | |||
style(Choices) : "Appearance" : 0 = | |||
[ | |||
0 : "Normal" | |||
10: "Fluorescent flicker" | |||
2 : "Slow, strong pulse" | |||
11: "Slow pulse, noblack" | |||
5 : "Gentle pulse" | |||
1 : "Flicker A" | |||
6 : "Flicker B" | |||
3 : "Candle A" | |||
7 : "Candle B" | |||
8 : "Candle C" | |||
4 : "Fast strobe" | |||
9 : "Slow strobe" | |||
] | |||
spawnflags(Flags) = | |||
[ | |||
1 : "No world light" : 0 | |||
2 : "No model light" : 0 | |||
4 : "Add Displacement Alpha" : 0 | |||
8 : "Subtract Displacement Alpha" : 0 | |||
] | |||
// Inputs | |||
input Color(color255) : "Sets the light's render color (R G B)" | |||
input brightness(integer) : "Sets the light brightness" | |||
input distance(float) : "Sets the maximum light distance" | |||
input _inner_cone(integer) : "Sets the inner (bright) angle" | |||
input _cone(integer) : "Sets the outer (fading) angle" | |||
input spotlight_radius(float) : "Sets the radius of the spotlight at the end point" | |||
input style(integer) : "Changes the lightstyle (see Appearance field for possible values)" | |||
input TurnOn(void) : "Turns the light off" | |||
input TurnOff(void) : "Turns the light on" | |||
input Toggle(void) : "Toggles the light on/off" | |||
] | |||
//------------------------------------------------------------------------- | |||
// Shadow control | |||
//------------------------------------------------------------------------- | |||
@PointClass base(Targetname) size(-8 -8 -8, 8 8 8) = shadow_control : "Shadow control entity" | |||
[ | |||
angles(string) : "Pitch Yaw Roll (Y Z X)" : "80 30 0" : "This shadow direction. Pitch is rotation around the Y axis, " + | |||
"yaw is the rotation around the Z axis, roll is the rotation around the X axis." | |||
color(color255) : "Shadow color" : "128 128 128" : "Shadow color" | |||
distance(float) : "Maximum distance" : 75 : "This is the maximum distance the shadow is allowed to cast in inches." | |||
input color(color255) : "Changes the shadow color" | |||
input direction(vector) : "Changes the shadow direction" | |||
input SetDistance(float) : "Changes the maximum shadow cast distance" | |||
input SetAngles(string) : "Changes the shadow direction" | |||
] | |||
//------------------------------------------------------------------------- | |||
// | |||
// Movement and Keyframing Entities | |||
// | |||
//------------------------------------------------------------------------- | |||
@BaseClass = KeyFrame | |||
[ | |||
NextKey(target_destination) : "Next KeyFrame" : : "Name of the next keyframe along this keyframe path." | |||
// TimeModifier(choices) : "Time Modifier" : 0 = | |||
// [ | |||
// 0 : "Linear" | |||
// 1 : "Accel" | |||
// 2 : "Deaccel" | |||
// 2 : "Accel/Deaccel (sine)" | |||
// ] | |||
MoveSpeed(integer) : "Speed (units per second)" : 64 | |||
// NextTime(string) : "Time to get to next keyframe" | |||
] | |||
@BaseClass = Mover | |||
[ | |||
PositionInterpolator(choices) : "Position Interpolator" : 0 = | |||
[ | |||
0 : "Linear" | |||
1 : "Catmull-Rom Spline" | |||
] | |||
] | |||
@SolidClass base(Targetname, Parentname, Origin) = func_movelinear : | |||
"A brush entity that moves linearly along a given distance in a given direction" | |||
[ | |||
movedir(angle) : "Move Direction (Pitch Yaw Roll)" : "0 0 0" : "The direction the brushes will move when it opens." | |||
spawnflags(flags) = | |||
[ | |||
8 : "Not Solid" : 0 | |||
] | |||
startposition(float) : "Start Position" : 0 : "Postion of brush when spawned\n Range: 0.0 - 1.0" | |||
speed(integer) : "Speed" : 100 : "Speed of brush (inches / second)" | |||
movedistance(float) : "Move Distance" : 100 : "Range of motion of the brush (inches)" | |||
blockdamage(float) : "Block Damage" : 0 : "How much damage to do when blocked (per frame)" | |||
startsound(sound) : "Start sound WAV file" | |||
stopsound(sound) : "Stop sound WAV file" | |||
input Open(void) : "Moves brush to position 1.0" | |||
input Close(void) : "Moves brush to position 0.0" | |||
input SetPosition(string) : "Go to position (0.0 - 1.0)" | |||
] | |||
@SolidClass base(Targetname, Parentname, Origin, Angles, RenderFields) = func_rotating : "Rotating Object" | |||
[ | |||
maxspeed(integer) : "Max rotation speed in degrees per second" : 100 | |||
volume(integer) : "Volume (10 = loudest)" : 10 | |||
fanfriction(integer) : "Friction (0 - 100%)" : 20 | |||
message(sound) : "Rotating sound WAV" : : "Path/filename of WAV file to loop while rotating." | |||
spawnflags(flags) = | |||
[ | |||
1 : "Start ON" : 0 | |||
2 : "Reverse Direction" : 0 | |||
4 : "X Axis" : 0 | |||
8 : "Y Axis" : 0 | |||
16: "Acc/Dcc" : 0 | |||
32: "Fan Pain" : 0 | |||
64: "Not Solid" : 0 | |||
128: "Small Radius" : 0 | |||
256: "Medium Radius" : 0 | |||
512: "Large Radius" : 1 | |||
] | |||
_minlight(integer) : "_minlight" | |||
dmg(integer) : "Damage inflicted when blocked" : 0 | |||
// Inputs | |||
input SetSpeed(integer) : "Sets the speed as a ratio of max speed [0,1]." | |||
input Start(void) : "Starts the rotator rotating." | |||
input Stop(void) : "Stops the rotator from rotating." | |||
input StartForward(void) : "Starts the rotator rotating forward." | |||
input StartBackward(void) : "Starts the rotator rotating backward." | |||
input Toggle(void) : "Toggles the rotator between rotating and not rotating." | |||
input Reverse(void) : "Reverses the direction of rotation of the rotator." | |||
] | |||
@SolidClass base(Targetname, Parentname, Origin, Angles, RenderFields, BasePlat) = func_platrot : "Moving Rotating platform" | |||
[ | |||
spawnflags(Flags) = | |||
[ | |||
1: "Toggle" : 1 | |||
64: "X Axis" : 0 | |||
128: "Y Axis" : 0 | |||
] | |||
noise1(sound) : "Movement Sound WAV" | |||
noise2(sound) : "Stop Sound WAV" | |||
speed(integer) : "Speed of rotation" : 50 | |||
height(integer) : "Travel altitude (can be negative)" : 0 | |||
rotation(integer) : "Spin amount" : 0 | |||
_minlight(string) : "Minimum light level" | |||
] | |||
@KeyFrameClass base(Targetname, Parentname, Angles, KeyFrame) size(-6 -6 -6, 6 6 6) color(255 200 0) keyframe() = keyframe_track : "Animation KeyFrame" | |||
[ | |||
] | |||
@MoveClass base(Targetname, Parentname, KeyFrame, Mover) size(-8 -8 -8, 8 8 8) color(255 170 0) animator() = move_keyframed : "Keyframed Move Behavior" | |||
[ | |||
] | |||
//@MoveClass base(Targetname, Parentname, KeyFrame, Mover) size(-8 -8 -8, 8 8 8) color(255 170 0) animator() = move_door : "Door Move Behavior" | |||
//[ | |||
// StartOpen(choices) : "Start Open" : 0 = | |||
// [ | |||
// 0 : "No" | |||
// 1 : "Yes" | |||
// ] | |||
// | |||
// StartLocked(choices) : "Start Locked" : 0 = | |||
// [ | |||
// 0 : "No" | |||
// 1 : "Yes" | |||
// ] | |||
// | |||
// CloseDelay(string) : "Delay before closing" : "0" | |||
// | |||
// // Outputs | |||
// output OnBlocked(void) : "Fires when the door is blocked" | |||
// output OnFullyClosed(void) : "Fires when the door becomes fully closed" | |||
// output OnFullyOpen(void) : "Fires when the door becomes fully open" | |||
//] | |||
@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" | |||
] | |||
] | |||
//@PointClass size(-8 -8 -8, 8 8 8) color(255 0 0) base(Targetname, Parentname) = move_rotate : "Rotate Move Behavior" | |||
//[ | |||
// RotationSpeed(string) : "Rotation Speed" | |||
// RotationAxis(choices) : "Axis of Rotation" : 0 = | |||
// [ | |||
// 0 : "Y-Axis" | |||
// 1 : "Z-Axis" | |||
// 2 : "X-Axis" | |||
// ] | |||
// SpinUpTime(string) : "Spin up/down Time" | |||
// damage(integer) : "Damage done to blocking entities" : 0 | |||
// | |||
// // Outputs | |||
// output OnBlocked(void) : "Fires when this entity is blocked" | |||
//] | |||
//@PointClass size(-8 -8 -8, 8 8 8) color(255 0 0) base(Targetname, Parentname) = move_wheel : "Wheel Move Behavior" | |||
//[ | |||
// RotationAxis(choices) : "Axis of Rotation" : 0 = | |||
// [ | |||
// 0 : "Y-Axis" | |||
// 1 : "Z-Axis" | |||
// 2 : "X-Axis" | |||
// ] | |||
// ShouldTurn(choices) : "Turn to face down path" : 0 = | |||
// [ | |||
// 0 : "No" | |||
// 1 : "Yes" | |||
// ] | |||
// Damage(integer) : "Damage done to blocking entities" : 0 | |||
// WheelRadius(integer) : "Wheel Radius" : 32 | |||
// MaxTurnAngle(integer) : "Max Turn Angle" : 32 | |||
//] | |||
//------------------------------------------------------------------------- | |||
// | |||
// Ropes and Cables | |||
// | |||
//------------------------------------------------------------------------- | |||
@BaseClass base(DXLevelChoice) = RopeKeyFrame | |||
[ | |||
spawnflags(Flags) = | |||
[ | |||
1 : "Auto Resize" : 0 | |||
] | |||
Slack(integer) : "Slack" : 25 : "How much extra length the rope has (by default it has the length between its two endpoints in the editor)." | |||
Type(choices) : "Type" : 0 = | |||
[ | |||
0 : "Rope" | |||
1 : "Semi-rigid" | |||
2 : "Rigid" | |||
] | |||
Subdiv(integer) : "Subdivision" : 2 : "Number of subdivisions between each rope segment. Maximum value is 8. Higher values make smoother ropes, but are slower to render." | |||
Barbed(choices) : "Barbed" : 0 : "Test effect that makes the rope look sharper and more barbed" = | |||
[ | |||
0 : "No" | |||
1 : "Yes" | |||
] | |||
Width(string) : "Width (1-64)" : "2" | |||
TextureScale(string) : "Texture Scale" : "1" : "This changes the texture resolution. The default resolution is 4 pixels per inch. Larger values stretch the texture and smaller values scrunch it up." | |||
Collide(choices) : "Collide with world" : 0 = | |||
[ | |||
0 : "No" | |||
1 : "Yes" | |||
] | |||
Dangling(choices) : "Start Dangling" : 0 : "When set to Yes, the rope starts out detached from its target endpoint." = | |||
[ | |||
0 : "No" | |||
1 : "Yes" | |||
] | |||
Breakable(choices) : "Breakable" : 0 : "When set to yes, the rope can be detached from either endpoint when shot." = | |||
[ | |||
0 : "No" | |||
1 : "Yes" | |||
] | |||
RopeMaterial(material) : "Rope Material" : "cable/cable" : "Selects the to use when rendering the rope." | |||
input SetScrollSpeed(float) : "Sets the speed at which the texture scrolls." | |||
input SetForce(string) : "Instantaneous force to apply to the rope (vector)" | |||
input Break(void) : "Breaks the rope if marked to do so." | |||
] | |||
@KeyFrameClass base(Targetname, Parentname, Angles, KeyFrame, RopeKeyFrame) studio("models/editor/axis_helper.mdl") keyframe() = keyframe_rope : "Rope KeyFrame" | |||
[ | |||
] | |||
@MoveClass base(Targetname, Parentname, KeyFrame, RopeKeyFrame) studio("models/editor/axis_helper.mdl") animator() = move_rope : "Rope" | |||
[ | |||
PositionInterpolator(choices) : "Position Interpolator" : 2 = | |||
[ | |||
] | |||
] | |||
//------------------------------------------------------------------------- | |||
// | |||
// Buttons | |||
// | |||
//------------------------------------------------------------------------- | |||
@BaseClass = Button | |||
[ | |||
input Lock(void) : "Locks the button, preventing it from functioning." | |||
input Unlock(void) : "Unlocks the button, allowing it to function." | |||
input Press(void) : "Presses the button." | |||
output OnDamaged(void) : "Fires when the button is damaged" | |||
output OnPressed(void) : "Fires when the button is pressed" | |||
output OnIn(void) : "Fires when the button reaches the in/pressed position" | |||
output OnOut(void) : "Fires when the button reaches the out/released position" | |||
] | |||
@SolidClass base(Targetname, Parentname, Origin, RenderFields, Button) = func_button : "Button" | |||
[ | |||
movedir(angle) : "Move Direction (Pitch Yaw Roll)" : "0 0 0" : "Specifies the direction of motion when the button is pressed." | |||
speed(integer) : "Speed" : 5 | |||
health(integer) : "Health (obselete, was: shootable if > 0)" : 0 | |||
lip(integer) : "Lip" | |||
master(string) : "Master" | |||
sounds(choices) : "Sounds" : 0 = | |||
[ | |||
0: "None" | |||
1: "Big zap & Warmup" | |||
2: "Access Denied" | |||
3: "Access Granted" | |||
4: "Quick Combolock" | |||
5: "Power Deadbolt 1" | |||
6: "Power Deadbolt 2" | |||
7: "Plunger" | |||
8: "Small zap" | |||
9: "Keycard Sound" | |||
10: "Buzz" | |||
11: "Buzz Off" | |||
14: "Lightswitch" | |||
] | |||
wait(integer) : "delay before reset (-1 stay)" : 3 | |||
spawnflags(flags) = | |||
[ | |||
1: "Don't move" : 0 | |||
32: "Toggle" : 0 | |||
64: "Sparks" : 0 | |||
256: "Touch Activates": 0 | |||
512: "Damage Activates": 0 | |||
1024: "Use Activates" : 1 | |||
2048: "Starts locked" : 0 | |||
] | |||
locked_sound(choices) : "Locked Sound" : 0 = | |||
[ | |||
0: "None" | |||
2: "Access Denied" | |||
8: "Small zap" | |||
10: "Buzz" | |||
11: "Buzz Off" | |||
12: "Latch Locked" | |||
] | |||
unlocked_sound(choices) : "Unlocked Sound" : 0 = | |||
[ | |||
0: "None" | |||
1: "Big zap & Warmup" | |||
3: "Access Granted" | |||
4: "Quick Combolock" | |||
5: "Power Deadbolt 1" | |||
6: "Power Deadbolt 2" | |||
7: "Plunger" | |||
8: "Small zap" | |||
9: "Keycard Sound" | |||
10: "Buzz" | |||
13: "Latch Unlocked" | |||
14: "Lightswitch" | |||
] | |||
locked_sentence(choices) : "Locked Sentence" : 0 = | |||
[ | |||
0: "None" | |||
1: "Gen. Access Denied" | |||
2: "Security Lockout" | |||
3: "Blast Door" | |||
4: "Fire Door" | |||
5: "Chemical Door" | |||
6: "Radiation Door" | |||
7: "Gen. Containment" | |||
8: "Maintenance Door" | |||
9: "Broken Shut Door" | |||
] | |||
unlocked_sentence(choices) : "Unlocked Sentence" : 0 = | |||
[ | |||
0: "None" | |||
1: "Gen. Access Granted" | |||
2: "Security Disengaged" | |||
3: "Blast Door" | |||
4: "Fire Door" | |||
5: "Chemical Door" | |||
6: "Radiation Door" | |||
7: "Gen. Containment" | |||
8: "Maintenance area" | |||
] | |||
_minlight(string) : "Minimum light level" | |||
] | |||
@SolidClass base(Targetname, Parentname, Origin, Angles, Global, Button) = func_rot_button : "Rotating button (lever)" | |||
[ | |||
master(string) : "Master" | |||
speed(integer) : "Speed" : 50 | |||
health(integer) : "Health (shootable if > 0)" | |||
sounds(choices) : "Sounds" : 21 = | |||
[ | |||
21: "Squeaky" | |||
22: "Squeaky Pneumatic" | |||
23: "Ratchet Groan" | |||
24: "Clean Ratchet" | |||
25: "Gas Clunk" | |||
] | |||
wait(choices) : "Delay before reset" : 3 = | |||
[ | |||
-1: "Stays pressed" | |||
] | |||
distance(integer) : "Distance (deg)" : 90 | |||
// TODO: move spawnflags into Button base class? | |||
spawnflags(flags) = | |||
[ | |||
1 : "Not solid" : 0 | |||
2 : "Reverse Dir" : 0 | |||
32: "Toggle" : 0 | |||
64: "X Axis" : 0 | |||
128: "Y Axis" : 0 | |||
256: "Touch Activates": 0 | |||
512: "Damage Activates": 0 | |||
1024: "Use Activates": 0 | |||
2048: "Starts locked" : 0 | |||
] | |||
_minlight(integer) : "_minlight" | |||
] | |||
@SolidClass base(Targetname, Parentname, Origin, Angles, RenderFields) = momentary_rot_button : "Direct wheel control" | |||
[ | |||
speed(integer) : "Speed" : 50 | |||
master(string) : "Master" | |||
sounds(choices) : "Sounds" : 0 = | |||
[ | |||
0: "None" | |||
1: "Big zap & Warmup" | |||
2: "Access Denied" | |||
3: "Access Granted" | |||
4: "Quick Combolock" | |||
5: "Power Deadbolt 1" | |||
6: "Power Deadbolt 2" | |||
7: "Plunger" | |||
8: "Small zap" | |||
9: "Keycard Sound" | |||
21: "Squeaky" | |||
22: "Squeaky Pneumatic" | |||
23: "Ratchet Groan" | |||
24: "Clean Ratchet" | |||
25: "Gas Clunk" | |||
] | |||
distance(integer) : "Distance (deg)" : 90 : "How far does this thing rotate" | |||
returnspeed(integer) : "Auto-return speed" : 0 : "If autoreturn flag is set, how fast is autoreturn" | |||
spawnflags(flags) = | |||
[ | |||
1: "Not Solid" : 1 | |||
32: "Toggle (Disable Auto Return)" : 1 | |||
64: "X Axis" : 0 | |||
128: "Y Axis" : 0 | |||
1024: "Use Activates" : 1 | |||
2048: "Starts locked" : 0 | |||
] | |||
_minlight(integer) : "_minlight" | |||
startposition(float) : "Start Position" : 0 : "Postion when spawned\n Range: 0.0 - 1.0" | |||
startdirection(choices) : "Start Direction" : "Forward" = | |||
[ | |||
-1 : "Forward" // Reveres upon USE, so are | |||
1 : "Backward" // reversed here. | |||
] | |||
// Inputs | |||
input Lock(void) : "Locks the button, preventing it from functioning." | |||
input Unlock(void) : "Unlocks the button, allowing it to function." | |||
input SetPosition(string) : "Go to position (0 - 1)" | |||
// Outputs | |||
output Position(integer) : "Position of button from 0 to 1" | |||
output OnPressed(integer) : "Fires when the button is first pressed" | |||
output OnUnpressed(integer): "Fires when the button is first released from being pressed" | |||
output OnFullyClosed(void) : "Fires when the button becomes fully closed (1)" | |||
output OnFullyOpen(void) : "Fires when the button becomes fully open (0)" | |||
] | |||
//------------------------------------------------------------------------- | |||
// | |||
// Doors | |||
// | |||
//------------------------------------------------------------------------- | |||
@BaseClass base(Targetname, Parentname, RenderFields, Global) = Door | |||
[ | |||
speed(integer) : "Speed" : 100 | |||
master(string) : "Master" | |||
noise1(sound) : "Start sound WAV file" | |||
noise2(sound) : "Stop sound WAV file" | |||
wait(integer) : "delay before close, -1 stay open " : 4 | |||
lip(integer) : "Lip" | |||
dmg(integer) : "Damage inflicted when blocked" : 0 | |||
message(string) : "Message if triggered" | |||
health(integer) : "Health (shoot open)" : 0 | |||
locked_sound(sound) : "Locked Sound WAV" | |||
unlocked_sound(sound) : "Unlocked Sound WAV" | |||
spawnflags(flags) = | |||
[ | |||
1 : "Starts Open" : 0 | |||
4 : "Don't link" : 0 | |||
8: "Passable" : 0 | |||
32: "Toggle" : 0 | |||
256:"Use Opens" : 0 | |||
512: "NPCs Can't" : 0 | |||
1024: "Touch Opens" : 1 | |||
2048: "Starts locked" : 0 | |||
4096: "Door Silent" : 0 | |||
] | |||
locked_sentence(choices) : "Locked Sentence" : 0 = | |||
[ | |||
0: "None" | |||
1: "Gen. Access Denied" | |||
2: "Security Lockout" | |||
3: "Blast Door" | |||
4: "Fire Door" | |||
5: "Chemical Door" | |||
6: "Radiation Door" | |||
7: "Gen. Containment" | |||
8: "Maintenance Door" | |||
9: "Broken Shut Door" | |||
] | |||
unlocked_sentence(choices) : "Unlocked Sentence" : 0 = | |||
[ | |||
0: "None" | |||
1: "Gen. Access Granted" | |||
2: "Security Disengaged" | |||
3: "Blast Door" | |||
4: "Fire Door" | |||
5: "Chemical Door" | |||
6: "Radiation Door" | |||
7: "Gen. Containment" | |||
8: "Maintenance area" | |||
] | |||
_minlight(string) : "Minimum light level" | |||
// Outputs | |||
output OnClose(void) : "Fires when the door is told to close" | |||
output OnOpen(void) : "Fires when the door is told to open" | |||
output OnFullyOpen(void) : "Fires when the door reaches the fully open position" | |||
output OnFullyClosed(void) : "Fires when the door reaches the fully closed position" | |||
output OnBlockedClosing(void) : "Fires when the door is blocked while closing" | |||
output OnBlockedOpening(void) : "Fires when the door is blocked while opening" | |||
output OnUnblockedClosing(void) : "Fires when the door is unblocked while closing" | |||
output OnUnblockedOpening(void) : "Fires when the door is unblocked while opening" | |||
// Inputs | |||
input Open(void) : "Opens the door if it is not fully open" | |||
input Close(void) : "Closes the door if it is not fully closed" | |||
input Toggle(void) : "Toggles the door between open and closed" | |||
input Lock(void) : "Locks the door" | |||
input Unlock(void) : "Unlocks the door" | |||
] | |||
@SolidClass base(Door, Origin) = func_door : "Basic door" | |||
[ | |||
movedir(angle) : "Move Direction (Pitch Yaw Roll)" : "0 0 0" : "The direction the door will move when it opens." | |||
] | |||
@SolidClass base(Door, Origin, Angles) = func_door_rotating : "Rotating door" | |||
[ | |||
spawnflags(flags) = | |||
[ | |||
2 : "Reverse Dir" : 0 | |||
16: "One-way" : 0 | |||
64: "X Axis" : 0 | |||
128: "Y Axis" : 0 | |||
] | |||
distance(integer) : "Distance (deg)" : 90 | |||
] | |||
@PointClass base(Targetname, Parentname, Global, Studiomodel) studioprop() = prop_door_rotating | |||
[ | |||
hardware(choices) : "Hardware type" : 1 = | |||
[ | |||
0 : "<None>" | |||
1 : "Lever" | |||
] | |||
axis(axis) : "Hinge axis" | |||
distance(float) : "Rotation distance (deg)" : 90 | |||
speed(integer) : "Speed" : 100 | |||
soundopen(sound) : "Fully open sound WAV file" | |||
soundclose(sound) : "Fully closed sound WAV file" | |||
soundmove(sound) : "Moving sound WAV file" | |||
returndelay(integer) : "Delay before close, -1 stay open " : 4 | |||
dmg(integer) : "Damage inflicted when blocked" : 0 | |||
health(integer) : "Health (0=unbreakable)" : 0 | |||
soundlocked(sound) : "Locked Sound WAV" | |||
soundunlocked(sound) : "Unlocked Sound WAV" | |||
spawnflags(flags) = | |||
[ | |||
1 : "Starts Open" : 0 | |||
//4 : "Don't link" : 0 | |||
//8: "Passable" : 0 | |||
//32: "Toggle" : 0 | |||
//256:"Use Opens" : 0 | |||
//512: "NPCs Can't" : 0 | |||
//1024: "Touch Opens" : 1 | |||
2048: "Starts locked" : 0 | |||
4096: "Door silent" : 0 | |||
8192: "Use closes" : 1 | |||
] | |||
// Outputs | |||
output OnClose(void) : "Fires when the door is told to close" | |||
output OnOpen(void) : "Fires when the door is told to open" | |||
output OnFullyOpen(void) : "Fires when the door reaches the fully open position" | |||
output OnFullyClosed(void) : "Fires when the door reaches the fully closed position" | |||
output OnBlockedClosing(void) : "Fires when the door is blocked while closing" | |||
output OnBlockedOpening(void) : "Fires when the door is blocked while opening" | |||
output OnUnblockedClosing(void) : "Fires when the door is unblocked while closing" | |||
output OnUnblockedOpening(void) : "Fires when the door is unblocked while opening" | |||
// Inputs | |||
input Open(void) : "Opens the door if it is not fully open" | |||
input Close(void) : "Closes the door if it is not fully closed" | |||
input Toggle(void) : "Toggles the door between open and closed" | |||
input Lock(void) : "Locks the door" | |||
input Unlock(void) : "Unlocks the door" | |||
] | |||
//------------------------------------------------------------------------- | |||
// | |||
// Cube map sample | |||
// | |||
//------------------------------------------------------------------------- | |||
@PointClass color(0 0 255) sidelist(sides) iconsprite("editor/env_cubemap.vmt") = env_cubemap : "Cubic Environment Map sample" | |||
[ | |||
cubemapsize(choices) : "Cubemap Size" : 0 = | |||
[ | |||
0 : "Default" | |||
1 : "1x1" | |||
2 : "2x2" | |||
3 : "4x4" | |||
4 : "8x8" | |||
5 : "16x16" | |||
6 : "32x32" | |||
7 : "64x64" | |||
8 : "128x128" | |||
9 : "256x256" | |||
] | |||
sides(sidelist) : "Brush faces" | |||
] | |||
@BaseClass = BModelParticleSpawner | |||
[ | |||
StartDisabled(choices) : "Start Disabled" : 0 = | |||
[ | |||
0 : "No" | |||
1 : "Yes" | |||
] | |||
Color(color255) : "Particle Color (R G B)" : "255 255 255" | |||
SpawnRate(integer) : "Particle Per Second" : 40 | |||
SpeedMax(string) : "Maximum Particle Speed" : 13 | |||
LifetimeMin(string) : "Minimum Particle Lifetime" : 3 : "Particles live for a random duration between LifetimeMin and LifetimeMax" | |||
LifetimeMax(string) : "Maximum Particle Lifetime" : 5 : "Particles live for a random duration between LifetimeMin and LifetimeMax" | |||
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 this is set, it spawns the number of particles in SpawnRate immediately," + | |||
"and remains still forever without spawning any new particles" = | |||
[ | |||
0 : "No" | |||
1 : "Yes" | |||
] | |||
input TurnOn(void) : "Turn on" | |||
input TurnOff(void) : "Turn off" | |||
] | |||
@SolidClass base(Targetname, BModelParticleSpawner) = func_dustmotes : "Sparkling Dust Motes" | |||
[ | |||
SizeMin(string) : "Minimum Particle Size" : 10 | |||
SizeMax(string) : "Maximum Particle Size" : 20 | |||
Alpha(integer) : "Alpha" : 255 | |||
] | |||
@SolidClass base( Targetname ) = func_smokevolume : "Particle Smoke Volume" | |||
[ | |||
Color1(color255) : "Particle Color1 (R G B)" : "255 255 255" | |||
Color2(color255) : "Particle Color2 (R G B)" : "255 255 255" | |||
material(material) : "Material" : "particle/smoke_grenade1" | |||
ParticleDrawWidth(float) : "Particle Draw Width (inches)" : 120 | |||
ParticleSpacingDistance(float) : "Particle Spacing Distance (inches)" : 80 | |||
DensityRampSpeed(float) : "Density Ramp Speed (seconds)" : 1 : "Time to go from density 0 to density 1 in seconds" | |||
RotationSpeed(float) : "Rotation Speed (degrees/sec)" : 10 | |||
MovementSpeed(float) : "Movement Speed (inches/sec)" : 10 | |||
Density(float) : "Density [0..1]" : 1 | |||
input SetRotationSpeed(float) : "Rotation Speed (degrees/sec)" | |||
input SetMovementSpeed(float) : "Movement Speed (inches/sec)" | |||
input SetDensity(float) : "Density [0..1]" | |||
] | |||
@SolidClass base( Targetname, BModelParticleSpawner ) = func_dustcloud : "Translucent Dust Cloud" | |||
[ | |||
Alpha(integer) : "Alpha" : 30 | |||
SizeMin(string) : "Minimum Particle Size" : 100 | |||
SizeMax(string) : "Maximum Particle Size" : 200 | |||
] | |||
@PointClass base( Targetname, Parentname, Angles ) size( -8 -8 -8, 8 8 8 ) = env_dustpuff : | |||
"Causes dust to be emitted when triggered." | |||
[ | |||
scale(float) : "Scale" : 8 | |||
speed(float) : "Speed" : 16 | |||
color(color255) : "Dust color" : "128 128 128" | |||
input SpawnDust(void) : "Spawn Dust" | |||
] | |||
//------------------------------------------------------------------------- | |||
// | |||
// Logic Entities | |||
// | |||
//------------------------------------------------------------------------- | |||
@PointClass iconsprite("editor/logic_auto.vmt") = logic_auto : | |||
"Fires outputs when a map spawns.\n" + | |||
"If 'remove on fire' flag is set the logic_auto is deleted after firing.\n"+ | |||
"It can be set to check a global state before firing. This allows you to only fire events based on "+ | |||
"what took place in a previous map." | |||
[ | |||
spawnflags(Flags) = | |||
[ | |||
1 : "Remove on fire" : 1 | |||
] | |||
globalstate(string) : "Global State to Read" : : "If set, this specifies a global state to check before firing. " + | |||
"If the global state is not set, the OnMapSpawn output will not be fired." | |||
output OnMapSpawn(void) : "Fires when the map is loaded for any reason." | |||
output OnNewGame(void) : "Fires when the map is loaded to start a new game." | |||
output OnLoadGame(void) : "Fires when the map is loaded from a saved game." | |||
output OnMapTransition(void) : "Fires when the map is loaded due to a level transition." | |||
] | |||
// dvs: rename | |||
@PointClass base(Targetname,Angles) size(-8 -8 -8, 8 8 8) = trigger_camera : "Trigger Camera" | |||
[ | |||
target(target_destination) : "Entity to look at" : : "Name of the entity that the camera should point at when activated." | |||
wait(integer) : "Hold time" : 10 | |||
moveto(string) : "Path Corner" | |||
spawnflags(flags) = | |||
[ | |||
1: "Start At Player" : 1 | |||
2: "Follow Player" : 1 | |||
4: "Freeze Player" : 0 | |||
] | |||
speed(string) : "Initial Speed" : "0" | |||
acceleration(string) : "Acceleration units/sec^2" : "500" | |||
deceleration(string) : "Stop Deceleration units/sec^2" : "500" | |||
output OnEndFollow(void) : "Fires after following a target" | |||
] | |||
@PointClass base(Targetname) iconsprite("editor/logic_compare.vmt") = logic_compare : | |||
"Compares an input value to another value. " + | |||
"If the input value is less than the compare value, the OnLessThan output is fired with the input value. " + | |||
"If the input value is equal to the compare value, the OnEqualTo output is fired with the input value. " + | |||
"If the input value is greater than the compare value, the OnGreaterThan output is fired with the input value." | |||
[ | |||
// Keys | |||
InitialValue(integer) : "Initial value" : : "Initial value for the input value." | |||
CompareValue(integer) : "Compare value" : : "The value to compare against." | |||
// Inputs | |||
input SetValue(float) : "Sets the value that will be compared against the compare value." | |||
input SetValueCompare(float) : "Sets the value that will be compared against the compare value and performs the comparison." | |||
input SetCompareValue(float) : "Sets the compare value." | |||
input Compare(void) : "Forces a compare of the input value with the compare value." | |||
// Outputs | |||
output OnLessThan(float) : "Fires when the input value is less than the compare value. Sends the input value as data." | |||
output OnEqualTo(float) : "Fires when the input value is equal to the compare value. Sends the input value as data." | |||
output OnNotEqualTo(float) : "Fires when the input value is different from the compare value. Sends the input value as data." | |||
output OnGreaterThan(float) : "Fires when the input value is greater than the compare value. Sends the input value as data." | |||
] | |||
@PointClass base(Targetname) iconsprite("editor/logic_branch.vmt") = logic_branch : | |||
"Tests a boolean value and fires an output based on whether the value is true or false. " + | |||
"Use this entity to branch between two potential sets of events." | |||
[ | |||
// Keys | |||
InitialValue(integer) : "Initial value" : : "Initial value for the boolean value (0 or 1)." | |||
// Inputs | |||
input SetValue(bool) : "Sets the boolean value without performing the comparison. Use this to hold a value for a future test." | |||
input SetValueTest(bool) : "Sets the boolean value and tests it, firing OnTrue or OnFalse based on the value." | |||
input Test(void) : "Tests the input value and fires OnTrue or OnFalse based on the value." | |||
// Outputs | |||
output OnTrue(bool) : "Fires when the input value is true (nonzero)." | |||
output OnFalse(bool) : "Fires when the input value is false (zero)." | |||
] | |||
@PointClass base(Targetname) iconsprite("editor/logic_case.vmt") = logic_case : | |||
"Compares an input to up to 16 preset values. If the input value is the same as " + | |||
"any of the preset values, an output corresponding to that value is fired.\n\n" + | |||
"For example: if Case01 is set to 2 and Case02 is set to 5, and the input value is 5, " + | |||
"the OnCase02 output will be fired.\n\n" + | |||
"This entity can also be used to select from a number of random targets via the " + | |||
"PickRandom input. One of the OnCase outputs that is connected to another entity will " + | |||
"be picked at random and fired." | |||
[ | |||
Case01(string) : "Case 01" | |||
Case02(string) : "Case 02" | |||
Case03(string) : "Case 03" | |||
Case04(string) : "Case 04" | |||
Case05(string) : "Case 05" | |||
Case06(string) : "Case 06" | |||
Case07(string) : "Case 07" | |||
Case08(string) : "Case 08" | |||
Case09(string) : "Case 09" | |||
Case10(string) : "Case 10" | |||
Case11(string) : "Case 11" | |||
Case12(string) : "Case 12" | |||
Case13(string) : "Case 13" | |||
Case14(string) : "Case 14" | |||
Case15(string) : "Case 15" | |||
Case16(string) : "Case 16" | |||
// Inputs | |||
input InValue(string) : "Input value to compare to the case values" | |||
input PickRandom(void) : "Fires a random OnCase output with at least one connection" | |||
// Outputs | |||
output OnCase01(void) : "Fires when the input value equals the Case01 value" | |||
output OnCase02(void) : "Fires when the input value equals the Case02 value" | |||
output OnCase03(void) : "Fires when the input value equals the Case03 value" | |||
output OnCase04(void) : "Fires when the input value equals the Case04 value" | |||
output OnCase05(void) : "Fires when the input value equals the Case05 value" | |||
output OnCase06(void) : "Fires when the input value equals the Case06 value" | |||
output OnCase07(void) : "Fires when the input value equals the Case07 value" | |||
output OnCase08(void) : "Fires when the input value equals the Case08 value" | |||
output OnCase09(void) : "Fires when the input value equals the Case09 value" | |||
output OnCase10(void) : "Fires when the input value equals the Case10 value" | |||
output OnCase11(void) : "Fires when the input value equals the Case11 value" | |||
output OnCase12(void) : "Fires when the input value equals the Case12 value" | |||
output OnCase13(void) : "Fires when the input value equals the Case13 value" | |||
output OnCase14(void) : "Fires when the input value equals the Case14 value" | |||
output OnCase15(void) : "Fires when the input value equals the Case15 value" | |||
output OnCase16(void) : "Fires when the input value equals the Case16 value" | |||
output OnDefault(void) : "Fires when the input value does not equal any of the Case values" | |||
] | |||
@PointClass base(Targetname) iconsprite("editor/logic_multicompare.vmt") = logic_multicompare : | |||
"Compares a set of inputs to each other. If they are all the same, fires an OnEqual output. " + | |||
"If any are different, fires the OnNotEqual output." | |||
[ | |||
// keys | |||
IntegerValue(integer) : "IntegerValue (optional)" | |||
ShouldComparetoValue(choices) : "Should use IntegerValue" : 0 = | |||
[ | |||
0 : "No" | |||
1 : "Yes" | |||
] | |||
// Inputs | |||
input InputValue(integer) : "Input value" | |||
input CompareValues(void) : "Compares the values and fires appropriate outputs" | |||
// Outputs | |||
output OnEqual(void) : "Fires if the values are equal" | |||
output OnNotEqual(void) : "Fires if the values are not equal" | |||
] | |||
@PointClass base(Targetname, EnableDisable) iconsprite("editor/logic_relay.vmt") = logic_relay : | |||
"A message forwarder. Fires an OnTrigger output when triggered, and " + | |||
"can be disabled to prevent forwarding outputs.\n\n" + | |||
"Useful as an intermediary between one entity and another for turning " + | |||
"on or off an I/O connection, or as a container for holding a set of " + | |||
"outputs that can be triggered from multiple places." | |||
[ | |||
spawnflags(flags) = | |||
[ | |||
1: "Only trigger once" : 0 | |||
2: "Allow fast retrigger" : 0 | |||
] | |||
// Inputs | |||
input Trigger(void) : "Triggers the relay, causing its OnTrigger output to fire if it is enabled." | |||
input Toggle(void) : "Toggles the relay between enabled and disabled." | |||
input CancelPending(void) : "Cancels any events fired by this relay that are currently pending in the I/O event queue." | |||
// Outputs | |||
output OnTrigger(void) : "Fires when the relay is triggered." | |||
] | |||
@PointClass base(Targetname, EnableDisable) iconsprite("editor/logic_timer.vmt") = logic_timer : | |||
"Fires a timer event at regular or random intervals." | |||
[ | |||
// Keys | |||
spawnflags(flags) = | |||
[ | |||
1 : "Oscillator" : 0 | |||
] | |||
UseRandomTime(choices) : "UseRandomTime" : 0 = | |||
[ | |||
0 : "No" | |||
1 : "Yes" | |||
] | |||
LowerRandomBound(string) : "Minimum random interval" | |||
UpperRandomBound(string) : "Maximum random interval" | |||
RefireTime(string) : "Refire interval in seconds" | |||
// Inputs | |||
input RefireTime(integer) : "Sets a new refire interval" | |||
input FireTimer(void) : "Forces the timer to fire before the interval has expired" | |||
input Enable(void) : "Enable this entity" | |||
input Disable(void) : "Disable this entity" | |||
input Toggle(void) : "Toggle the timer on/off" | |||
// Outputs | |||
output OnTimer(void) : "Fires when the timer expires." | |||
output OnTimerHigh(void) : "Fires every other time for an oscillating timer." | |||
output OnTimerLow(void) : "Fires every other time for an oscillating timer." | |||
] | |||
@PointClass base(Targetname, Parentname, EnableDisable) size(-8 -8 -8, 8 8 8) color(0 0 255) = env_microphone : | |||
"Measures the sound level at a point. The sound level is output as a value between 0 and 1." | |||
[ | |||
target(target_destination) : "Measure target" : : "The name of an entity where the sound level will be measured." | |||
SpeakerName(target_destination) : "Speaker" : "" : "The name of a speaker entity through which to play any sounds heard by this microphone." | |||
spawnflags(flags) = | |||
[ | |||
1 : "Hears combat sounds" : 1 | |||
2 : "Hears world sounds" : 1 | |||
4 : "Hears player sounds" : 1 | |||
8 : "Hears bullet impacts" : 1 | |||
16: "Swallows sounds routed through speakers" : 0 | |||
] | |||
Sensitivity(float) : "Sensitivity (0 - 10)" : 1 : "Microphone sensitivity, 0=deaf, 1=default, 10=extremely sensitive)" | |||
SmoothFactor(float) : "Smoothing (0 - 1)" : 0 : "Smoothing factor, 0=no smoothing, 1=maximum smoothing)" | |||
MaxRange(float) : "Maximum hearing range (0=infinite)" : 240 : "Sounds beyond this range won't be heard, irrelevant of attenuation. "+ | |||
"WARNING: setting this to zero (or a value > 1024) when the microphone is connected to a speaker entity can be very bad for performance!!" | |||
// Outputs | |||
output SoundLevel(float) : "Fires when the sound level at the point changes." | |||
output OnRoutedSound(void) : "Fires whenever a heard sound is routed out through the specified speaker (if any)." | |||
] | |||
@PointClass base(Targetname) = math_remap : | |||
"Remaps a range of input values to a given range of output values." | |||
[ | |||
spawnflags(flags) = | |||
[ | |||
1 : "Ignore out of range input values" : 1 | |||
] | |||
in1(integer) : "Minimum valid input value" : 0 | |||
in2(integer) : "Maximum valid input value" : 1 | |||
out1(integer) : "Output value when input is min." | |||
out2(integer) : "Output value when input is max." | |||
input InValue(float) : "Input value." | |||
output OutValue(float) : "Output value." | |||
] | |||
@PointClass base(Targetname) = math_colorblend : | |||
"Used to create a blend between two colors for controlling the color of another entity." | |||
[ | |||
spawnflags(flags) = | |||
[ | |||
1 : "Ignore out of range input values" : 1 | |||
] | |||
inmin(integer) : "Minimum valid input value" : 0 | |||
inmax(integer) : "Maximum valid input value" : 1 | |||
colormin(color255) : "Output RGB color when input is min." : "0 0 0" | |||
colormax(color255) : "Output RGB color when input is max." : "255 255 255" | |||
input InValue(float) : "Input value." | |||
output OutColor(color255) : "Output RGB color." | |||
] | |||
@PointClass base(Targetname) iconsprite("editor/math_counter.vmt") = math_counter : | |||
"Holds a numeric value and performs arithmetic operations upon it. If either the minimum or maximum " + | |||
"legal value is nonzero, OutValue will be clamped to the legal range, and the OnHitMin/OnHitMax " + | |||
"outputs will be fired at the appropriate times. If both min and max are set to zero, no clamping is " + | |||
"performed and only the OutValue output will be fired." | |||
[ | |||
// Keys | |||
startvalue(integer) : "Initial value" : 0 : "Starting value for the counter." | |||
min(integer) : "Minimum legal value" : 0 : "Minimum legal value for the counter. If min=0 and max=0, no clamping is performed." | |||
max(integer) : "Maximum legal value" : 0 : "Maximum legal value for the counter. If min=0 and max=0, no clamping is performed." | |||
// Inputs | |||
input Add(integer) : "Adds an amount to the counter and fires the OutValue output with the result." | |||
input Divide(integer): "Divides the counter by an amount and fires the OutValue output with the result." | |||
input Multiply(integer): "Multiplies the counter by an amount and fires the OutValue output with the result." | |||
input SetValue(integer): "Sets the counter to a new value and fires the OutValue output with the result." | |||
input Subtract(integer): "Subtracts an amount from the counter and fires the OutValue output with the result." | |||
// Outputs | |||
output OutValue(integer) : "Fires when the counter value changes." | |||
output OnHitMin(void) : "Fires 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) : "Fires when the counter value meets or exceeds the max value. The counter must go below the max value before the output will fire again." | |||
] | |||
@PointClass base(Targetname) size(-8 -8 -8, 8 8 8) = logic_lineto : | |||
"Generates a vector from one entity to another" | |||
[ | |||
source(target_destination) : "Start entity" : : "Name of the entity the line should start from" | |||
target(target_destination) : "End entity" : : "Name of the entity that line should end at" | |||
output Line(vector) : "A line from the start entity to the end entity" | |||
] | |||
@PointClass base(Targetname) size(-8 -8 -8, 8 8 8) = logic_navigation : | |||
"Sets a navigation property for an entity" | |||
[ | |||
target(target_destination) : "Navigation entity" : "Name of the entity to set the property on" | |||
spawnflags(flags) = | |||
[ | |||
1 : "Start On" : 1 | |||
] | |||
navprop(choices) : "Nav Property" : "Ignore" = | |||
[ | |||
"Ignore" : "NPCs Ignore this when navigating (they'll bump into it)" | |||
] | |||
input TurnOn(void) : "Turn on" | |||
input TurnOff(void) : "Turn off" | |||
input Toggle(void) : "Toggle on/off" | |||
] | |||
@PointClass base(Targetname) size(-8 -8 -8, 8 8 8) = logic_autosave | |||
[ | |||
input Save(void) : "Save" | |||
] | |||
@PointClass base(Targetname) size(-8 -8 -8, 8 8 8) = point_template : | |||
"Turns an entity, or set of entities, into a single template that can be instanced elsewhere." | |||
[ | |||
spawnflags(flags) = | |||
[ | |||
1 : "Don't remove template entities" : 0 | |||
] | |||
Template01(target_destination) : "Template 1" | |||
Template02(target_destination) : "Template 2" | |||
Template03(target_destination) : "Template 3" | |||
Template04(target_destination) : "Template 4" | |||
Template05(target_destination) : "Template 5" | |||
Template06(target_destination) : "Template 6" | |||
Template07(target_destination) : "Template 7" | |||
Template08(target_destination) : "Template 8" | |||
Template09(target_destination) : "Template 9" | |||
Template10(target_destination) : "Template 10" | |||
Template11(target_destination) : "Template 11" | |||
Template12(target_destination) : "Template 12" | |||
Template13(target_destination) : "Template 13" | |||
Template14(target_destination) : "Template 14" | |||
Template15(target_destination) : "Template 15" | |||
Template16(target_destination) : "Template 16" | |||
// inputs | |||
input ForceSpawn(void) : "Force spawn" | |||
// outputs | |||
output OnEntitySpawned(void) : "Fired after spawning an instance of this template." | |||
] | |||
@PointClass base(Targetname,Parentname,Angles) = env_entity_maker : | |||
"Spawns the specified entity template at it's origin. If set to auto-spawn, it will spawn the template whenever there's room and the player is looking elsewhere." | |||
[ | |||
spawnflags(Flags) = | |||
[ | |||
1 : "Automatically spawn whenever there's room" : 0 | |||
2 : "AutoSpawn: Wait for entity destruction" : 0 | |||
4 : "AutoSpawn: Ignore player facing" : 0 | |||
] | |||
EntityTemplate(target_destination) : "point_template to spawn" : "" : "Name of the point_template to spawn here." | |||
// inputs | |||
input ForceSpawn(void) : "Force spawn" | |||
// outputs | |||
output OnEntitySpawned(void) : "Fired when an instance of the entity template has been spawned." | |||
] | |||
//------------------------------------------------------------------------- | |||
// | |||
// Activator Filters | |||
// | |||
//------------------------------------------------------------------------- | |||
@BaseClass base(Targetname) = BaseFilter | |||
[ | |||
Negated(choices) : "Negate filter" : "No" = | |||
[ | |||
0 : "No" | |||
1 : "Yes" | |||
] | |||
// Inputs | |||
input TestActivator(void) : "Tests the activator against the filter and fires OnPass or OnFail output." | |||
// Outputs | |||
output OnPass(void) : "Fires in response to Test input if activator passes the filter." | |||
output OnFail(void) : "Fires in response to Test input if activator fails to pass the filter." | |||
] | |||
@FilterClass base(BaseFilter) size(-8 -8 -8, 8 8 8) = filter_multi : | |||
"A filter that tests the activator against multiple filters" | |||
[ | |||
filtertype(choices) : "Logic Type" : 0 = | |||
[ | |||
0 : "And (all filters must pass)" | |||
1 : "Or (any filter must pass)" | |||
] | |||
Filter01(filterclass) : "Filter 1" : : "Activator filter to test." | |||
Filter02(filterclass) : "Filter 2" : : "Activator filter to test." | |||
Filter03(filterclass) : "Filter 3" : : "Activator filter to test." | |||
Filter04(filterclass) : "Filter 4" : : "Activator filter to test." | |||
Filter05(filterclass) : "Filter 5" : : "Activator filter to test." | |||
] | |||
@FilterClass base(BaseFilter) size(-8 -8 -8, 8 8 8) = filter_activator_name : | |||
"A filter that filters by the name of the activator." | |||
[ | |||
filtername(target_destination) : "Filter Name" : : "The name to filter by. Only entities whose name "+ | |||
"matches the given string will activate the trigger, unless the Negate flag is set, in which case "+ | |||
"only entities whose name does NOT match the given string will activate the trigger." | |||
] | |||
@FilterClass base(BaseFilter) size(-8 -8 -8, 8 8 8) = filter_activator_class : | |||
"A filter that filters by the class of the activator." | |||
[ | |||
filterclass(string) : "Filter Classname" : : "The class name to filter by. Only entities whose class name "+ | |||
"matches the given string will activate the trigger, unless the Negate flag is set, in which case "+ | |||
"only entities whose class name does NOT match the given string will activate the trigger." | |||
] | |||
@FilterClass base(BaseFilter) size(-8 -8 -8, 8 8 8) = filter_activator_team : | |||
"A filter that filters by the team of the activator." | |||
[ | |||
filterteam(choices) : "Filter Team Number" : 1 : "The team number to filter by. Only entities whose team number "+ | |||
"matches the given team will activate the trigger, unless the Negate flag is set, in which case "+ | |||
"only entities whose team number does NOT match the given team will activate the trigger." = | |||
[ | |||
1 : "Team 1 (blue)" | |||
2 : "Team 2 (red)" | |||
] | |||
] | |||
//------------------------------------------------------------------------- | |||
// | |||
// Point Entities | |||
// | |||
//------------------------------------------------------------------------- | |||
@PointClass base(Targetname, Parentname, EnableDisable) = point_anglesensor : | |||
"Detects if an entity points in a given direction for a period of time." | |||
[ | |||
target(target_destination) : "Target entity name" : : "Name of the entity whose angles will be sensed." | |||
lookatname(target_destination) : "Look at entity" | |||
duration(float) : "Duration in seconds" | |||
tolerance(integer) : "Tolerance in degrees" | |||
// Inputs | |||
input Toggle(void) : "Toggles the sensor between enabled and disabled." | |||
input Test(void) : "Checks to see if the target entity is facing the lookat entity within the specified tolerance, " + | |||
"firing either the OnFacingLookat or OnNotFacingLookat output based on the result." | |||
// Outputs | |||
output TargetDir(vector) : "Fired when the forward direction of the target entity changes. Passes the new forward direction as a parameter." | |||
output OnFacingLookat(void) : "Fired when the target entity points at the lookat entity for more than the " + | |||
"specified duration." | |||
output OnNotFacingLookat(void) : "Fires in response to a CheckFacing input when the target entity is not " + | |||
"pointing at the lookat entity." | |||
] | |||
@PointClass base(Targetname) = point_angularvelocitysensor : | |||
"Detects if an entity's angular velocity meets or exceeds a threshold value." | |||
[ | |||
target(target_destination) : "Target entity name" : : "Name of the entity whose angular velocity will be sensed." | |||
threshold(float) : "Threshold velocity" : 0 : "The threshold velocity to compare against in degrees per second." | |||
// Inputs | |||
input Test(void) : "Checks to see if the target entity's angular velocity meets or exceeds the threshold velocity, " + | |||
"firing either the OnGreaterThanOrEqualTo or OnLessThan output based on the result." | |||
// Outputs | |||
output OnGreaterThan(void) : "Fired when the target entity goes from slower than the threshold angular velocity to faster than the threshold angular velocity." | |||
output OnGreaterThanOrEqualTo(void) : "Fired when the target entity goes from slower than the threshold angular velocity to faster than the threshold angular velocity." | |||
output OnLessThan(void) : "Fired when the target entity goes from faster than the threshold angular velocity to slower than the threshold angular velocity." | |||
output OnLessThanOrEqualTo(void) : "Fired when the target entity goes from faster than the threshold angular velocity to slower than the threshold angular velocity." | |||
output OnEqualTo(void) : "Fired when the target entity reaches the threshold angular velocity from a different velocity." | |||
] | |||
@PointClass base(Targetname) = point_teleport : | |||
"Teleport targeted object to this position and angles." + | |||
"If 'Teleport Home' spawn flag is set, teleports object to its spawn position instead." + | |||
"If object is physically simulated, simulation is turned off when teleported." | |||
[ | |||
target(target_destination) : "Entity to teleport" : : "Name of the entity that will be teleported." | |||
spawnflags(flags) = | |||
[ | |||
1 : "Teleport Home" : 0 | |||
] | |||
// Inputs | |||
input Teleport(void) : "Teleports the object." | |||
] | |||
@PointClass base(Targetname) sphere(DamageRadius) = point_hurt : | |||
"Do damage in a radius around a point with a specified delay." + | |||
"The 'Hurt' input will only deal damage once." + | |||
"If 'Target Entity' is specified, the damage is only done to that entity." | |||
[ | |||
DamageTarget(string) : "Entity to damage" : "" : "Name of the entity that will be damaged." | |||
DamageRadius(float) : "Radius" : 256 : "Radius to do damage in." | |||
Damage(integer) : "Damage" : 5 : "Damage per go." | |||
DamageDelay(float) : "Delay" : 1 : "Delay between damages in miliseconds." | |||
DamageType(choices) : "Damage Type" : 0 : "Type of damage to inflict on the victim." = | |||
[ | |||
0 : "GENERIC" | |||
1 : "CRUSH" | |||
2 : "BULLET" | |||
4 : "SLASH" | |||
8 : "BURN" | |||
16 : "FREEZE" | |||
32 : "FALL" | |||
64 : "BLAST" | |||
128 : "CLUB" | |||
256 : "SHOCK" | |||
512 : "SONIC" | |||
1024 : "ENERGYBEAM" | |||
16384: "DROWN" | |||
32768 : "PARALYSE" | |||
65536 : "NERVEGAS" | |||
131072 : "POISON" | |||
262144 : "RADIATION" | |||
524288 : "DROWNRECOVER" | |||
1048576 : "CHEMICAL" | |||
2097152 : "SLOWBURN" | |||
4194304 : "SLOWFREEZE" | |||
] | |||
// Inputs | |||
input Hurt(void) : "Do damage" | |||
input TurnOn(void) : "Enable" | |||
input TurnOff(void) : "Disable" | |||
input Toggle(void) : "Toggle" | |||
] | |||
@PointClass base(Targetname) size(-8 -8 -8, 8 8 8) = point_playermoveconstraint : "Player Movement Constraint" | |||
[ | |||
radius(float) : "Radius" : 256 : "Radius to constrain players to." | |||
width(float) : "Constraint Width" : "75.0" : "Width of the constraint edge (i.e. distance in which to slow the player near the radius edge.)" | |||
speedfactor(float) : "Speed Factor" : "0.15" : "Factor applied to the player's max speed as they approach the radius edge." | |||
input TurnOn(void) : "Constraint any players within the radius." | |||
input TurnOff(void) : "Release any players previously constrained." | |||
output OnConstraintBroken(void) : "Fired when a player breaks through the constraint." | |||
] | |||
//------------------------------------------------------------------------- | |||
// | |||
// Physics entities | |||
// | |||
//------------------------------------------------------------------------- | |||
@SolidClass base(BreakableBrush,Targetname, Origin, RenderFields) = func_physbox : "Physics Box" | |||
[ | |||
_minlight(string) : "Minimum light level" | |||
spawnflags(flags) = | |||
[ | |||
4096 : "Start Asleep" : 0 | |||
8192 : "Ignore +USE" : 0 | |||
16384 : "Debris" : 0 | |||
32768 : "Motion Disabled" : 0 | |||
65536 : "Use Preferred Carry Angles" : 0 | |||
] | |||
// Inputs | |||
input Wake(void) : "Wakes up the physics object if it is sleeping." | |||
input Sleep(void) : "Puts the physics object back to sleep." | |||
input EnableMotion(void) : "Enable physics motion/collision response." | |||
input DisableMotion(void) : "Disable physics motion/collision response." | |||
input ForceDrop(void) : "Force the object to be dropped by the player carrying it." | |||
// Outputs | |||
output OnDamaged(void) : "Fires when this entity is damaged" | |||
output OnPhysGunPickup(void) : "Picked up with physgun" | |||
output OnPhysGunDrop(void) : "Released by physgun" | |||
Damagetype(choices) : "Impact damage type" : 0 = | |||
[ | |||
0: "Blunt" | |||
1: "Sharp" | |||
] | |||
massScale(float) : "Mass Scale" : "0" | |||
overridescript(string) : "Override parameters" : "" | |||
damagetoenablemotion(integer) : "Health Level to Override Motion" : 0 | |||
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" | |||
] | |||
@BaseClass base(Targetname) = TwoObjectPhysics | |||
[ | |||
spawnflags(flags) = | |||
[ | |||
1: "No Collision until break" : 0 | |||
4: "Start inactive" : 0 | |||
] | |||
attach1(target_destination) : "Attachment 1" : "" | |||
attach2(target_destination) : "Attachment 2" : "" | |||
constraintsystem(target_destination) : "Constraint system manager" : "" | |||
forcelimit(float) : "Force limit to break (lbs)" : "0" | |||
torquelimit(float) : "Torque limit to break (lbs * distance)" : "0" | |||
breaksound(sound) : "Play Sound on break" : "" | |||
// Outputs | |||
output OnBreak(void) : "Fires when the constraint breaks" | |||
// Inputs | |||
input Break(void) : "Causes the constraint to break" | |||
input TurnOn(void) : "Enable the constraint. Do this when the objects don't exist when the constraint spawns - or when you have deactivated the constraint. Broken constraints can NOT be turned on. They have been deleted." | |||
input TurnOff(void) : "Disable this constraint, but don't kill the entity." | |||
] | |||
@PointClass base(Targetname) = phys_constraintsystem : "Used to manage a group of interacting constraints and keep them stable." | |||
[ | |||
] | |||
@PointClass base(Targetname,Angles) = phys_keepupright : "Keep Upright controller" | |||
[ | |||
spawnflags(flags) = | |||
[ | |||
1: "Start inactive" : 0 | |||
] | |||
attach1(target_destination) : "Attachment 1" : "" | |||
angularlimit(float) : "Angular Limit" : "15" | |||
// Inputs | |||
input TurnOn(void) : "Enable the controller." | |||
input TurnOff(void) : "Disable the controller." | |||
] | |||
@PointClass base(Targetname) sphere(expradius) studioprop() = physics_cannister : "Physics Cannister" | |||
[ | |||
model(studio) : "World model" : "models/fire_equipment/w_weldtank.mdl" : "Model to use for render/physics" | |||
spawnflags(flags) = | |||
[ | |||
1 : "Start Asleep" : 0 | |||
2 : "Explodes" : 1 | |||
] | |||
expdamage(string) : "Explosion Damage" : "200.0" : "Magnitude of radius damage to do upon explosion" | |||
expradius(string) : "Explosion Radius" : "250.0" : "Radius of the explosion damage" | |||
health(integer) : "Health" : 25 : "How much damage the cannister takes before exploding." | |||
thrust(string) : "Thrust" : "3000.0" : "Amount of thrust" | |||
fuel(string) : "Fuel Seconds" : "12.0" : "Time that thrust lasts" | |||
rendercolor(color255) : "Smoke Color (R G B)" : "255 255 255" | |||
renderamt(integer) : "Smoke Alpha (0 - 255)" : 128 | |||
gassound(sound) : "Thruster Sound" : "ambient/objects/cannister_loop.wav" | |||
// input | |||
input Activate(string) : "Starts the thruster." | |||
input Deactivate(string) : "Stops the thruster." | |||
input Explode(string) : "Triggers the explosion." | |||
input Wake(void) : "Wakes up the cannister if it is sleeping." | |||
// outputs | |||
output OnActivate(void) : "Fired when the cannister is activated." | |||
] | |||
@PointClass base(Targetname, Parentname) size(-4 -4 -4, 4 4 4) = info_constraint_anchor : "Constraint anchor" | |||
[ | |||
] | |||
@PointClass halfgridsnap base(Targetname) = phys_spring : "A Physically simulated spring\n"+ | |||
"LENGTH is what's known as the 'natural spring length'. This is how long the spring would "+ | |||
"be if it was at rest (nothing hanging on it or attached). When you attach something to the "+ | |||
"spring, it will stretch longer than its 'natural length'. The amount of stretch is "+ | |||
"determined by the SPRING CONSTANT. The larger the spring constant the less stretch the spring." | |||
[ | |||
spawnflags(flags) = | |||
[ | |||
1 : "Force only on stretch" : 0 | |||
] | |||
attach1(target_destination) : "Attachment 1" : "" | |||
attach2(target_destination) : "Attachment 2" : "" | |||
springaxis(vecline) : "Spring Axis" : "" | |||
length(string) : "Spring Length" : "0" : "How long the spring would be if it was at rest (nothing hanging on it or attached). 0 means the length of the brush." | |||
constant(string) : "Spring Constant" : "50" : "Stiffness of the spring. The larger the number the less the spring will stretch." | |||
damping(string) : "Damping constant" : "2.0" : "How much energy the spring looses. The larger the number, the less bouncy the spring." | |||
relativedamping(string) : "Relative Damping constant" : "0.1" | |||
// UNDONE: add max tension and what event to fire when it breaks | |||
breaklength(string) : "Break on Length" : "0" | |||
// Inputs | |||
input SetSpringConstant(float) : "Set spring constant" | |||
input SetSpringLength(float) : "Set spring length" | |||
input SetSpringDamping(float) : "Set spring damping" | |||
] | |||
@PointClass halfgridsnap size(-8 -8 -8, 8 8 8) base(TwoObjectPhysics) = phys_hinge : "Physics Hinge : Use the helper to define the axis of rotation." | |||
[ | |||
hingefriction(float) : "Friction" : "0" : "Resistance/friction in the hinge" | |||
hingeaxis(vecline) : "Hinge Axis" | |||
] | |||
@PointClass base(TwoObjectPhysics) iconsprite("editor/phys_ballsocket.vmt") = phys_ballsocket : "Physics Ball & Socket" | |||
[ | |||
spawnflags(flags) = | |||
[ | |||
] | |||
] | |||
@PointClass base(TwoObjectPhysics) studio("models/editor/axis_helper.mdl") = phys_constraint : "Fixed Constraint" | |||
[ | |||
spawnflags(flags) = | |||
[ | |||
1: "No Collision until break" : 1 | |||
] | |||
] | |||
@PointClass base(TwoObjectPhysics) studio("models/editor/axis_helper.mdl") = phys_pulleyconstraint : "Pulley Constraint" | |||
[ | |||
addlength(float) : "Additional Length" : "0" : "Add (or subtract) this amount to the rest length of the pulley rope." | |||
gearratio(float) : "Pulley Gear Ratio" : "1" : "Add (or subtract) this amount to the rest length of the pulley rope." | |||
position2(vecline) : "Pulley Position 2" : "The position of the pulley for attachment 2. The pulley for attachment 1 is the origin of the point entity." | |||
spawnflags(flags) = | |||
[ | |||
1: "No Collision until break" : 1 | |||
2: "Keep Rigid" : 0 | |||
] | |||
] | |||
@PointClass halfgridsnap base(TwoObjectPhysics) studio("models/editor/axis_helper.mdl") = phys_slideconstraint : "Sliding Constraint" | |||
[ | |||
spawnflags(flags) = | |||
[ | |||
1: "No Collision until break" : 1 | |||
2: "Limit Endpoints" : 0 | |||
] | |||
slideaxis(vecline) : "Sliding Axis" | |||
slidefriction(float) : "Friction" : "0" : "Resistance/friction in the constraint" | |||
] | |||
@PointClass base(TwoObjectPhysics) studio("models/editor/axis_helper.mdl") = phys_lengthconstraint : "Length Constraint" | |||
[ | |||
addlength(float) : "Additional Length" : "0" : "Add (or subtract) this amount to the rest length of the rope." | |||
attachpoint(vecline) : "Attached object 2 point" : "The position the rope attaches to object 2" | |||
spawnflags(flags) = | |||
[ | |||
1: "No Collision until break" : 1 | |||
2: "Keep Rigid" : 0 | |||
] | |||
] | |||
@PointClass base(TwoObjectPhysics) studio("models/editor/axis_helper.mdl") = phys_ragdollconstraint : "Ragdoll / limited ballsocket Constraint" | |||
[ | |||
spawnflags(flags) = | |||
[ | |||
1: "No Collision until break" : 1 | |||
2: "Only limit rotation (free movement)" : 0 | |||
] | |||
xmin(float) : "X axis min limit" : "-90" | |||
xmax(float) : "X axis max limit" : "90" | |||
ymin(float) : "Y axis min limit" : "0" | |||
ymax(float) : "Y axis max limit" : "0" | |||
zmin(float) : "Z axis min limit" : "0" | |||
zmax(float) : "Z axis max limit" : "0" | |||
] | |||
@PointClass base(Targetname) size(-8 -8 -8, 8 8 8) color(0 0 255) = phys_convert : "Physics Brush Converter" | |||
[ | |||
spawnflags(flags) = | |||
[ | |||
1: "Convert Asleep" : 0 | |||
] | |||
target(target_destination) : "Entity to convert" : : "Name of the entity that will be converted to a physics object when the ConvertTarget input is fired." | |||
swapmodel(string) : "Model Swap Entity" | |||
// Outputs | |||
output OnConvert(void) : "Fires after the conversion has taken place." | |||
// Inputs | |||
input ConvertTarget(void) : "Converts this entity's target to a physically simulated object." | |||
] | |||
@BaseClass base(Targetname) = ForceController | |||
[ | |||
spawnflags(flags) = | |||
[ | |||
// Thrust is on by default (will turn off in forcetime) | |||
1: "Start On" : 0 | |||
// Apply linear force (if off, torque only) | |||
2: "Apply Force" : 1 | |||
// Apply rotational force (torque - if off, linear only) | |||
4: "Apply Torque" : 1 | |||
// Maintain local relationship with the attached object | |||
8: "Orient Locally" : 1 | |||
// Impulse is independent of object's mass (impulse is acceleration NOT force) | |||
16: "Ignore Mass" : 0 | |||
] | |||
attach1(target_destination) : "Attached Object" : "" : "Object to apply the force to" | |||
forcetime(string) : "Time of Force (0=inf)" : "0" : "Automatic shut-off after this time has passed (0 = stay on forever or until deactivated)" | |||
input Activate(void) : "Turn the force on" | |||
input Deactivate(void) : "Turn the force off" | |||
input Scale(string) : "Set Force Scale" | |||
] | |||
@PointClass base(Angles, ForceController) = phys_thruster : "Physics Thruster\nA way 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. Force can be removed by unchecking the 'apply force' "+ | |||
"flag. The position of the thruster can be forced to be at the object's center by checking to 'ignore pos' flag." | |||
[ | |||
spawnflags(flags) = | |||
[ | |||
// Put the thrust at the object center | |||
32: "Ignore Pos" : 0 | |||
] | |||
force(string) : "Force" : "0" : "Force (will be integrated, units are force kg*in/s^2)" | |||
] | |||
@PointClass halfgridsnap base(ForceController) = phys_torque : "Physics Torque" | |||
[ | |||
// Angular acceleration (units are degress/s^2) | |||
force(string) : "Angular Acceleration" : "0" | |||
axis(vecline) : "Rotation Axis" : "" | |||
] | |||
@PointClass base(Targetname) halfgridsnap size(-8 -8 -8, 8 8 8) = phys_motor : "Physics Motor" | |||
[ | |||
speed(string) : "Rotation Speed" : "0" : "Angular speed (units are degress/second)" | |||
spinup(string) : "Spin up time" : "1" : "spin up time in seconds (also affects the rate at which speed changes happen)" | |||
inertiafactor(float) : "System Interia Scale" : "1.0" : "Make this larger if the object being driven is constrained to a set of heavier objects." | |||
axis(vecline) : "Rotation Axis" : "" | |||
spawnflags(flags) = | |||
[ | |||
// starts on by default | |||
1: "Start On" : 1 | |||
// Disable world collisions on hinges | |||
2: "No world collision" : 0 | |||
// motor also acts as a hinge constraining the object to this axis | |||
4: "Hinge Object" : 1 | |||
// Maintain local relationship with the attached object (NOT WORKING YET) | |||
// 8: "Orient Locally" : 1 | |||
] | |||
attach1(target_destination) : "Attached Object" : "" : "Object to apply the force to" | |||
input SetSpeed(float) : "Sets target speed" | |||
input TurnOn(void) : "Turns motor on" | |||
input TurnOff(void) : "Turns motor off" | |||
] | |||
//------------------------------------------------------------------------- | |||
// | |||
// Props | |||
// | |||
//------------------------------------------------------------------------- | |||
@BaseClass = prop_detail_base | |||
[ | |||
model(studio) : "World model" | |||
] | |||
@BaseClass base(Angles, DXLevelChoice) = prop_static_base | |||
[ | |||
model(studio) : "World model" | |||
skin(integer) : "Skin" : 0 | |||
solid(choices) : "Collisions" : 6 = | |||
[ | |||
0: "Not Solid" | |||
2: "Use Bounding Box" | |||
6: "Use VPhysics" | |||
] | |||
disableshadows(choices) : "Disable shadows" : 0 = | |||
[ | |||
0 : "No" | |||
1 : "Yes" | |||
] | |||
fademindist(float) : "Start Fade Dist" : -1 : "Distance at which the prop starts to fade (<0 = use fademaxdist)" | |||
fademaxdist(float) : "End Fade Dist" : 0 : "Max fade distance at which the prop is visible (0 = don't fade out)" | |||
lightingorigin(target_destination) : "Lighting Origin" : "" : "Select a info_lighting to specify a location to sample lighting from" | |||
] | |||
@BaseClass base(Parentname, Global, Angles, Studiomodel, BreakableProp, DXLevelChoice) = prop_dynamic_base | |||
[ | |||
solid(choices) : "Collisions" : 6 = | |||
[ | |||
0: "Not Solid" | |||
2: "Use Bounding Box" | |||
6: "Use VPhysics" | |||
] | |||
RandomAnimation(choices) : "Random Animate" : 0 = | |||
[ | |||
0: "No" | |||
1: "Yes" | |||
] | |||
MinAnimTime(float) : "Min Random Anim Time" : "5" : "Minimum time between random animations." | |||
MaxAnimTime(float) : "Max Random Anim Time" : "10" : "Maximum time between random animations." | |||
SetBodyGroup(Integer) : "Body Group" : 0 | |||
// input | |||
input SetAnimation(string) : "Name of animation I should play" | |||
input TurnOn(void) : "Make Visible" | |||
input TurnOff(void) : "Make Invisible" | |||
// outputs | |||
output OnAnimationBegun(void) : "Fired when an animation has begun" | |||
output OnAnimationDone(void) : "Fired when animation is complete" | |||
] | |||
@PointClass base(prop_detail_base) studioprop() = prop_detail : "Detail Prop" | |||
[ | |||
model(studio) : "World model" | |||
] | |||
@PointClass base(prop_static_base) studioprop() = prop_static : | |||
"A prop that doesn't move and doesn't animate." | |||
[ | |||
] | |||
@PointClass base(prop_dynamic_base) studioprop() = prop_dynamic : | |||
"A prop that can be placed in hierarchy and can play animations." | |||
[ | |||
] | |||
@PointClass base(prop_dynamic_base) studioprop() = prop_dynamic_override : | |||
"A prop that can be placed in hierarchy and can play animations. It can also be configured to break when it takes enough damage." | |||
[ | |||
health(integer) : "Health" : 0 : "Number of points of damage to take before breaking. 0 means don't break." | |||
] | |||
@BaseClass base(Targetname, Global, Angles, Studiomodel, BreakableProp, DXLevelChoice) = BasePropPhysics | |||
[ | |||
spawnflags(flags) = | |||
[ | |||
1 : "Start Asleep" : 0 | |||
2 : "Don't take physics damage" : 0 | |||
4 : "Debris" : 0 | |||
8 : "Motion Disabled" : 0 | |||
] | |||
minhealthdmg(integer) : "Min req'd damage for hurting breakable" : 0 | |||
input Wake(void) : "Wakes up the physics prop if it is sleeping." | |||
input Sleep(void) : "Puts the physics prop to sleep if it's awake." | |||
input EnableMotion(void) : "Enable physics motion/collision response." | |||
input DisableMotion(void) : "Disable physics motion/collision response." | |||
input SetBodyGroup(integer) : "Sets this prop's body group (from 0 - n)." | |||
output OnMotionEnabled(void) : "Fires motion is enabled via 'Health Level to Override Motion'." | |||
physdamagescale(float) : "Physics Impact Damage Scale" : "0.1" : "Scales damage energy when this object is hit by a physics object. NOTE: 0 means this feature is disabled for backwards compatibility.\nSet to 1.0 for materials as strong as flesh, smaller numbers indicate stronger materials." | |||
input physdamagescale(float) : "Sets the value that scales damage energy when this character is hit by a physics object. NOTE: 0 means this feature is disabled for backwards compatibility." | |||
Damagetype(choices) : "Impact damage type" : 0 = | |||
[ | |||
0: "Blunt" | |||
1: "Sharp" | |||
] | |||
inertiaScale(float) : "Scale factor for inertia" : "1.0" : "Use ONLY as directed by a physician" | |||
massScale(float) : "Mass Scale" : "0" | |||
overridescript(string) : "Override parameters" : "" | |||
damagetoenablemotion(integer) : "Health Level to Override Motion" : 0 | |||
forcetoenablemotion(float) : "Physics Impact Force to Override Motion" : 0 : "Impacts that impart a force greater than this value on the physics prop will enable the prop's motion." | |||
fademindist(float) : "Start Fade Dist" : -1 : "Distance at which the prop starts to fade (<0 = use fademaxdist)" | |||
fademaxdist(float) : "End Fade Dist" : 0 : "Max fade distance at which the prop is visible (0 = don't fade out)" | |||
] | |||
@PointClass base(BasePropPhysics) studioprop() = prop_physics_override : | |||
"A prop that physically simulates as a single rigid body. It can be constrained to other physics objects using hinges "+ | |||
"or other constraints. It can also be configured to break when it takes enough damage. Health can be overridden on this version." | |||
[ | |||
health(integer) : "Health" : 0 : "Number of points of damage to take before breaking. 0 means don't break." | |||
] | |||
@PointClass base(BasePropPhysics) studioprop() = 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." | |||
[ | |||
] | |||
@PointClass base(Angles, Targetname, Studiomodel, DXLevelChoice) studioprop() = prop_ragdoll : | |||
"A prop that physically simulates and can be articulated with internal joints. The joint constraints are part of the physics model." | |||
[ | |||
spawnflags(flags) = | |||
[ | |||
4 : "Debris" : 0 | |||
] | |||
] | |||
@PointClass base(prop_dynamic_base) studioprop() = prop_dynamic_ornament : | |||
"A way to attach one studio model to another as an ornament. It will render in the way that player/NPC weapons render." | |||
[ | |||
solid(choices) : "Collisions" : 0 = | |||
[ | |||
0: "Not Solid" | |||
] | |||
InitialOwner(string) : "Name of the entity to attach to at startup" | |||
// input | |||
input SetAttached(string) : "Name of entity to attach to" | |||
input Detach(string) : "Detach / become invisible (can be reattached later)" | |||
] | |||
//------------------------------------------------------------------------- | |||
// | |||
// Solid Entities | |||
// | |||
//------------------------------------------------------------------------- | |||
@SolidClass base(Targetname) color(0 255 255) = func_areaportal : | |||
"A portal brush used to manage visibility in maps. Portals define areas, which are spaces " + | |||
"that are connected in the map. Both sides of a portal cannot touch the same area, for example, a " + | |||
"doughnut shaped map would require at least two portals to divide the map into two areas. A linear map " + | |||
"could be divided into two areas with a single area portal." | |||
[ | |||
target(target_destination) : "Name of linked door" : : "(Optional) The name of a door whose open/closed state controls the on/off state of this area portal." | |||
StartOpen(choices) : "Initial State" : 0 = | |||
[ | |||
0 : "Closed" | |||
1 : "Open" | |||
] | |||
// Inputs | |||
input Open(void) : "Opens the portal. When the portal is open is can be seen through." | |||
input Close(void) : "Closes the portal. When the portal is closed it cannot be seen through." | |||
input Toggle(void) : "Toggles state of the portal" | |||
] | |||
@SolidClass base(Targetname) color(0 255 255) = func_occluder : | |||
"A occluder brush used to manage dynamic visibility in maps. Occluders are used to dynamically " + | |||
"determine what things are behind them to prevent trying to draw them at all." | |||
[ | |||
StartActive(choices) : "Initial State" : 1 = | |||
[ | |||
0 : "Inactive" | |||
1 : "Active" | |||
] | |||
// Inputs | |||
input Deactivate(void) : "Deactivates the occluder, When inactive, it can be seen through." | |||
input Activate(void) : "Activates the occluder. When active, it cannot be seen through." | |||
input Toggle(void) : "Toggles state of the occluder" | |||
] | |||
@SolidClass base(BreakableBrush, Origin, RenderFields) = func_breakable : "Breakable Brush Object" | |||
[ | |||
minhealthdmg(integer) : "Min req'd damage for hurting breakable" : 0 | |||
_minlight(string) : "Minimum light level" | |||
physdamagescale(float) : "Physics Impact Damage Scale" : "1.0" : "Scales damage energy when this object is hit by a physics object. NOTE: 0 means this feature is disabled for backwards compatibility.\nSet to 1.0 for materials as strong as flesh, smaller numbers indicate stronger materials." | |||
] | |||
@SolidClass quadbounds() base(BreakableBrush, RenderFields) = func_breakable_surf : | |||
"Breakable Surface. All faces but one must be marked as NODRAW and that" + | |||
"face must be 4 sided. Also the chosen texture must be set up to be breakable." | |||
[ | |||
health(integer) : "Health" : 5 : "How much damage the surface takes before breaking." | |||
fragility(integer) : "Fragility" : 100 : "If glass how fragile the suface is after breaking" | |||
surfacetype(choices) : "Surface Type" : 0 = | |||
[ | |||
0 : "Glass" | |||
1 : "Tile" | |||
] | |||
input Shatter(vector) : "Shatters the window. Input a vector. First two coordinates are the center of the shattering (go from 0-1). The third coordinate is the radius of the shatter in world space" | |||
] | |||
@SolidClass base(Targetname, Parentname, RenderFields) = func_conveyor : "Conveyor Belt" | |||
[ | |||
movedir(angle) : "Move Direction (Pitch Yaw Roll)" : "0 0 0" : "The direction conveyor moves." | |||
spawnflags(flags) = | |||
[ | |||
1 : "No Push" : 0 | |||
2 : "Not Solid" : 0 | |||
] | |||
speed(string) : "Conveyor Speed" : "100" | |||
_minlight(string) : "Minimum light level" | |||
input ToggleDirection(void) : "ToggleDirection" | |||
input SetSpeed(void) : "SetSpeed" | |||
] | |||
@SolidClass base(DXLevelChoice) color(0 180 0) = func_detail : "Detail World Brush" | |||
[ | |||
] | |||
@SolidClass base(Targetname, Parentname, Origin, RenderFields) = func_illusionary : "Fake Wall/Light" | |||
[ | |||
_minlight(string) : "Minimum light level" | |||
] | |||
@SolidClass base(Targetname, Parentname) = func_precipitation : "Precipitation Field" | |||
[ | |||
renderamt(integer) : "Density (0-100%)" : 5 | |||
rendercolor(color255) : "Color (R G B)" : "100 100 100" | |||
renderfx(choices) : "Precipitation Type" : 22 = | |||
[ | |||
21: "Rain" | |||
22: "Snow" | |||
] | |||
] | |||
@SolidClass base(func_wall) = func_wall_toggle : "Toggleable geometry" | |||
[ | |||
spawnflags(flags) = | |||
[ | |||
1 : "Starts Invisible" : 0 | |||
] | |||
input Toggle(void) : "Toggles it." | |||
] | |||
@SolidClass base(Door) = func_water : "Liquid" | |||
[ | |||
spawnflags(flags) = | |||
[ | |||
1 : "Starts Open" : 0 | |||
256:"Use Only" : 0 | |||
] | |||
movedir(angle) : "Move Direction (Pitch Yaw Roll)" : "0 0 0" : "The direction the water will move when it is told to 'Open'." | |||
WaveHeight(string) : "Wave Height" : "3.0" | |||
] | |||
@SolidClass base(Targetname, Parentname, RenderFields, Global) = func_guntarget : | |||
"This is a moving target that moves along a path of path_tracks and can be shot and killed." | |||
[ | |||
speed(integer) : "Speed (units per second)" : 100 | |||
target(target_destination) : "First stop target" | |||
health(integer) : "Damage to Take" : 0 | |||
_minlight(string) : "Minimum light level" | |||
// Inputs | |||
input Start(void) : "Starts the target moving." | |||
input Stop(void) : "Stops the target from moving." | |||
input Toggle(void) : "Toggles the target between moving and stopped." | |||
// Outputs | |||
output OnDeath(void) : "Fires when the target is killed." | |||
] | |||
//------------------------------------------------------------------------- | |||
// | |||
// Trains and Tracks | |||
// | |||
//------------------------------------------------------------------------- | |||
@BaseClass = PlatSounds | |||
[ | |||
movesnd(choices) : "Move Sound" : 0 = | |||
[ | |||
0: "No Sound" | |||
1: "big elev 1" | |||
2: "big elev 2" | |||
3: "tech elev 1" | |||
4: "tech elev 2" | |||
5: "tech elev 3" | |||
6: "freight elev 1" | |||
7: "freight elev 2" | |||
8: "heavy elev" | |||
9: "rack elev" | |||
10: "rail elev" | |||
11: "squeek elev" | |||
12: "odd elev 1" | |||
13: "odd elev 2" | |||
] | |||
stopsnd(choices) : "Stop Sound" : 0 = | |||
[ | |||
0: "No Sound" | |||
1: "big elev stop1" | |||
2: "big elev stop2" | |||
3: "freight elev stop" | |||
4: "heavy elev stop" | |||
5: "rack stop" | |||
6: "rail stop" | |||
7: "squeek stop" | |||
8: "quick stop" | |||
] | |||
volume(string) : "Sound Volume 0.0 - 1.0" : "0.85" | |||
] | |||
@BaseClass base(Targetname, Parentname, RenderFields, Global, PlatSounds) = Trackchange | |||
[ | |||
height(integer) : "Travel altitude" : 0 | |||
spawnflags(flags) = | |||
[ | |||
1: "Auto Activate train" : 0 | |||
2: "Relink track" : 0 | |||
8: "Start at Bottom" : 0 | |||
16: "Rotate Only" : 0 | |||
64: "X Axis" : 0 | |||
128: "Y Axis" : 0 | |||
] | |||
rotation(integer) : "Spin amount" : 0 | |||
train(target_destination) : "Train to switch" | |||
toptrack(target_destination) : "Top track" | |||
bottomtrack(target_destination) : "Bottom track" | |||
speed(integer) : "Move/Rotate speed" : 0 | |||
] | |||
@BaseClass base(Targetname, Parentname, Origin, RenderFields, Global) = BaseTrain | |||
[ | |||
spawnflags(flags) = | |||
[ | |||
1 : "No Pitch (X-rot)" : 0 | |||
2 : "No User Control" : 0 | |||
8 : "Passable" : 0 | |||
16 : "Fixed Orientation" : 0 | |||
128 : "HL1 Train" : 0 | |||
] | |||
MoveSound(sound) : "Move Sound WAV" : "" : "Path/filename of the WAV file looped while the train is moving." | |||
StartSound(sound) : "Start Sound WAV" : "" : "Path/filename of the WAV file played when the train starts moving." | |||
StopSound(sound) : "Stop Sound WAV" : "" : "Path/filename of the WAV file played when the train stops moving." | |||
target(target_destination) : "First stop target" : "" : "The name of the first path_track in the train's path. The train " + | |||
"will spawn at this path_track and turn to face the next path_track in the path." | |||
wheels(integer) : "Distance between the wheels" : 50 | |||
height(integer) : "Height above track" : 4 | |||
startspeed(integer) : "Max speed (units / second)" : 100 : "The maximum speed that this train CAN go. Used for " + | |||
"ramping sound effects as the train changes speeds, so choose a value that makes sense for this train. Any " + | |||
"speeds applied to this train, such as by path_tracks or SetSpeed inputs, will be clipped to this maximum value." | |||
speed(integer) : "Initial speed (units / second)" : 0 : "The speed that the train will move at after it spawns, 0 = stopped." | |||
dmg(integer) : "Damage on crush" : 0 | |||
volume(integer) : "Volume (10 = loudest)" : 10 | |||
bank(string) : "Bank angle on turns" : "0" | |||
_minlight(string) : "Minimum light level" | |||
// Inputs | |||
input SetSpeed(float) : "Sets speed of the train as a ratio of max speed [0, 1]" | |||
input SetSpeedDir(float) : "Sets speed of the train as a ratio of max speed. Negative values reverse the direction [-1, 1]" | |||
input Stop(void) : "Stops the train." | |||
input StartForward(void) : "Starts the train moving forward." | |||
input StartBackward(void) : "Starts the train moving backward." | |||
input Resume(void) : "Resumes the train moving in the current direction after it was stopped via the 'Stop' or 'Toggle' input." | |||
input Reverse(void) : "Reverses the direction of the train." | |||
input Toggle(void) : "Toggles the train between start and stop." | |||
] | |||
@SolidClass base(Trackchange) = func_trackautochange : "Automatic track changing platform" | |||
[ | |||
_minlight(string) : "Minimum light level" | |||
input Trigger(void) : "Trigger the track change." | |||
] | |||
@SolidClass base(Trackchange) = func_trackchange : "Train track changing platform" | |||
[ | |||
_minlight(string) : "Minimum light level" | |||
] | |||
@SolidClass base(BaseTrain) = func_tracktrain : | |||
"A moving platform that the player can ride. It follows a path of path_track entities.\n\n" + | |||
"NOTE: Build your train so that the front of the train is facing down the X axis. " + | |||
"When it spawns it will automatically rotate to face the next path_track on the path." | |||
[ | |||
] | |||
@SolidClass base(BaseTrain) = func_tanktrain : | |||
"A moving train that follows a path of path_track entities, shoots at the player, and can be killed.\n\n" + | |||
"NOTE: Build your train so that the front of the train is facing down the X axis. " + | |||
"When it spawns it will automatically rotate to face the next path_track on the path." | |||
[ | |||
health(integer) : "Health" : 100 | |||
// Outputs | |||
output OnDeath(void) : "Fires when the tank is killed" | |||
] | |||
@SolidClass = 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" | |||
] | |||
@PointClass base(Targetname) iconsprite("editor/tanktrain_aitarget.vmt") = tanktrain_aitarget : "Tank Target" | |||
[ | |||
target(target_destination) : "Tank AI Entity" | |||
newtarget(target_destination) : "New Target Entity" | |||
] | |||
@PointClass base(Targetname) iconsprite("editor/tanktrain_ai.vmt") = tanktrain_ai : "Train chase AI" | |||
[ | |||
target(target_destination) : "Train Name" | |||
startsound(sound) : "Start moving sound" : "vehicles/diesel_start1.wav" | |||
enginesound(sound) : "Engine loop sound" : "vehicles/diesel_turbo_loop1.wav" | |||
movementsound(sound) : "Vehicle movement sound" : "vehicles/tank_treads_loop1.wav" | |||
] | |||
@PointClass base(Targetname,Parentname) line(255 255 255, targetname, target) color(255 70 0) size(16 16 16) = path_track : "Train Track Path" | |||
[ | |||
spawnflags(Flags) = | |||
[ | |||
1: "Disabled" : 0 | |||
2: "Fire once" : 0 | |||
4: "Branch Reverse" : 0 | |||
8: "Disable train" : 0 | |||
16: "Teleport to" : 0 | |||
] | |||
target(target_destination) : "Next stop target" | |||
altpath(target_destination) : "Branch Path" | |||
speed(float) : "New Train Speed" : 0 | |||
// Inputs | |||
input ToggleAlternatePath(void) : "Causes the track to toggle to or from its alternate path" | |||
input EnableAlternatePath(void) : "Enable the alternate path of the track" | |||
input DisableAlternatePath(void) : "Disable the alternate path of the track" | |||
input TogglePath(void) : "Causes the track to toggle on or off" | |||
input EnablePath(void) : "Enable the track" | |||
input DisablePath(void) : "Disable the track" | |||
// Outputs | |||
output OnPass(void) : "Fired when the train passes this track" | |||
] | |||
//------------------------------------------------------------------------- | |||
// | |||
// Test Entities | |||
// | |||
//------------------------------------------------------------------------- | |||
@PointClass base(Angles) size(-16 -16 -16, 16 16 16) color(255 255 255) = test_traceline : "Traceline Tester" | |||
[ | |||
] | |||
//------------------------------------------------------------------------- | |||
// | |||
// Triggers | |||
// | |||
//------------------------------------------------------------------------- | |||
@SolidClass base(Targetname) = trigger_autosave : "AutoSave Trigger" | |||
[ | |||
master(string) : "Master" | |||
] | |||
@SolidClass base(Targetname) = trigger_cdaudio : "Trigger CD Audio" | |||
[ | |||
health(choices) : "Track #" : -1 = | |||
[ | |||
-1 : "Stop" | |||
1 : "Track 1" | |||
] | |||
] | |||
@SolidClass = trigger_changelevel : "Triggers a level change.\n\n" + | |||
"Place a landmark in both maps that marks the 'same' location in each map.\n"+ | |||
"TIPS & TRICKS: To fire events in the next level, use the OnLevelChange output to turn on "+ | |||
"an env_global in the current level. Create an auto_trigger in the next level that checks "+ | |||
"for the state set by the env_global.\n\n"+ | |||
"To control which entities go through the level transition, create one or more trigger_transitions and "+ | |||
"give them the same name as the landmark. Any entities within the trigger_transition(s) will go to the next map." | |||
[ | |||
targetname(string) : "Name" | |||
map(string) : "New map name" | |||
landmark(string) : "Landmark name" | |||
spawnflags(flags) = | |||
[ | |||
2: "Disable Touch" : 0 | |||
] | |||
input ChangeLevel(void) : "Causes the level change. Use this when triggering the level change with a button, etc." | |||
output OnChangeLevel(void) : "Fires when the level changes" | |||
] | |||
@SolidClass base(Trigger) = trigger_gravity : "Trigger Gravity" | |||
[ | |||
gravity(integer) : "Gravity (0-1)" : 1 | |||
] | |||
@SolidClass base(Trigger) = trigger_playermovement : "Player Movement Trigger" | |||
[ | |||
spawnflags(flags) = | |||
[ | |||
16: "Disable auto player movement" : 1 | |||
] | |||
] | |||
@SolidClass base(Trigger, Targetname) = trigger_hurt : "Trigger player hurt" | |||
[ | |||
master(string) : "Master" | |||
damage(integer) : "Damage" : 10 | |||
damagetype(choices) : "Damage Type" : 0 = | |||
[ | |||
0 : "GENERIC" | |||
1 : "CRUSH" | |||
2 : "BULLET" | |||
4 : "SLASH" | |||
8 : "BURN" | |||
16 : "FREEZE" | |||
32 : "FALL" | |||
64 : "BLAST" | |||
128 : "CLUB" | |||
256 : "SHOCK" | |||
512 : "SONIC" | |||
1024 : "ENERGYBEAM" | |||
16384: "DROWN" | |||
32768 : "PARALYSE" | |||
65536 : "NERVEGAS" | |||
131072 : "POISON" | |||
262144 : "RADIATION" | |||
524288 : "DROWNRECOVER" | |||
1048576 : "CHEMICAL" | |||
2097152 : "SLOWBURN" | |||
4194304 : "SLOWFREEZE" | |||
] | |||
input SetDamage(float) : "Sets a new value for damage per second." | |||
output OnHurt(void) : "Fires when this trigger hurts something other than the player" | |||
output OnHurtPlayer(void) : "Fires when this trigger hurts the player" | |||
] | |||
@SolidClass base(Trigger) = trigger_multiple : | |||
"A volumetric trigger that can trigger multiple times." | |||
[ | |||
message(string) : "Message text" | |||
wait(integer) : "Delay before reset" : 1 | |||
// Outputs | |||
output OnTrigger(void) : "Fires while the trigger is activated" | |||
] | |||
@SolidClass base(TriggerOnce) = trigger_once : | |||
"A volumetric trigger that removes itself after it is triggered once." | |||
[ | |||
output OnTrigger(void) : "Fires when the trigger is activated" | |||
] | |||
//@SolidClass base(Trigger) = trigger_fog : "Trigger: Draw fog ripples" | |||
//[ | |||
//] | |||
@SolidClass base(Trigger) = trigger_look : | |||
"Fires 'OnTrigger' when the player looks at a target entity while within the trigger volume for " + | |||
"the given amount of time. If the player leaves the trigger or looks away from the target " + | |||
"entity the clock resets.\n\n" + | |||
"NOTE: Only designed for single-player game. " | |||
[ | |||
spawnflags(flags) = | |||
[ | |||
128: "Fire Once" : 1 | |||
256: "Use Velocity instead of facing" : 0 | |||
] | |||
target(target_destination) : "Look target" : : "The name of the entity to be looked at." | |||
LookTime(string) : "LookTime (in sec.)" : "0.5" : "How long the player must look a the target before firing output. Resets if player leaves trigger or looks away." | |||
FieldOfView(string) : "FieldOfView" : "0.9" : "1.0 = straight ahead\n 0.0 = +/- 90 degrees\n -1.0 = all directions)" | |||
// Output | |||
output OnTrigger(void) : "Fires when the trigger is activated" | |||
] | |||
@SolidClass base(Trigger) = trigger_push : "Trigger player push" | |||
[ | |||
pushdir(angle) : "Push Direction (Pitch Yaw Roll)" : "0 0 0" : "Angles indicating the direction of the push." | |||
spawnflags(flags) = | |||
[ | |||
128: "Once Only" : 0 | |||
] | |||
speed(integer) : "Speed of push" : 40 | |||
] | |||
@SolidClass base(Trigger) = trigger_wind : | |||
"Wind that pushes physics objects that are inside of it" | |||
[ | |||
Speed(integer) : "Speed" : 200 : "base line for how hard the wind blows" | |||
SpeedNoise(integer) : "Speed Noise" : 0 : "noise added to wind speed +/-" | |||
DirectionNoise(integer) : "Direction Noise" : 10 : "noise added to wind direction" | |||
HoldTime(integer) : "Hold Time" : 0 : "base line for how long to wait before changing wind" | |||
HoldNoise(integer) : "Hold Noise" : 0 : "noise added to how long to wait before changing wind" | |||
// input | |||
input SetSpeed(integer) : "Set base speed for strength of wind" | |||
] | |||
@SolidClass base(Targetname, Angles) = trigger_impact : | |||
"An impact that pushes all physics objects that are inside of it in the direction specified by this trigger's angles.\n"+ | |||
"Also outputs the force at the time of impact for anyone else that wants to use it." | |||
[ | |||
Magnitude(float) : "Magnitude" : 200 : "Size of the impact.\nNegative values reverse the direction." | |||
noise(float) : "Noise" : "0.1" : "Amount of directional noise (0-1)\n 0 = no noise\n 1 = random direction." | |||
viewkick(float) : "Viewkick" : "0.05" : "Amount to kick player's view if in trigger. Proportional to magnitude. (0-1)." | |||
// input | |||
input Impact(float) : "Fire the impact." | |||
input SetMagnitude(float) : "Set the magnitude of the impact" | |||
// output | |||
output ImpactForce(string) : "Outputs force of trigger when impact happens" | |||
] | |||
@SolidClass base(Trigger) = 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" | |||
radius(string) : "Radius to measure within" : 256 | |||
output NearestEntityDistance(integer) : "Distance to the nearest eligible entity that is within the radius, " + | |||
"expressed as a number from 0 to 1. Eligible entities are entities that can activate this trigger per the spawnflags." | |||
] | |||
@SolidClass base(Trigger) = trigger_teleport : "Trigger teleport" | |||
[ | |||
target(target_destination) : "Remote destination (target)" | |||
landmark(target_destination) : "Local destination" | |||
] | |||
@SolidClass base(Targetname) = trigger_transition : "Trigger: Select Transition Area" | |||
[ | |||
] | |||
@SolidClass base(Trigger) = trigger_waterydeath: "Trigger: For killing entities entering deep water." | |||
[ | |||
] | |||
@PointClass base(Targetname) = phys_pulleysystem : "4 Pulley System" | |||
[ | |||
slide(vecline) : "Slide Direction" : "" | |||
slidelength(float) : "Movement length" : "0" : "Add (or subtract) this amount to the movement distance." | |||
spawnflags(flags) = | |||
[ | |||
1: "No Collision until break" : 1 | |||
2: "Keep Rigid" : 0 | |||
] | |||
attach1(target_destination) : "Rope attach point 1" | |||
attach2(target_destination) : "Rope attach point 2" | |||
attach3(target_destination) : "Rope attach point 3" | |||
attach4(target_destination) : "Rope attach point 4" | |||
] | |||
@PointClass base(Targetname, Parentname, Angles, Studiomodel) studio() = phys_magnet : "Physics Magnet" | |||
[ | |||
spawnflags(flags) = | |||
[ | |||
1 : "Start Asleep" : 0 | |||
2 : "Motion Disabled" : 0 | |||
4 : "Suck On Touch" : 0 | |||
8 : "Allow Attached Rotation" : 0 | |||
] | |||
forcelimit(float) : "Force limit to break (lbs)" : "0" | |||
torquelimit(float) : "Torque limit to break (lbs * distance)" : "0" | |||
massScale(float) : "Mass Scale" : "0" | |||
overridescript(string) : "Override parameters" : "" | |||
maxobjects(integer) : "Maximum attached objects at one time. Zero is no limit." : 0 | |||
// Inputs | |||
input TurnOn(void) : "Turn the magnet on." | |||
input TurnOff(void) : "The the magnet off. This will detach anything current stuck to the magnet." | |||
// Outputs | |||
output OnAttach(void) : "Fired when an entity is grabbed by the magnet." | |||
output OnDetach(void) : "Fired when an entity is released by the magnet." | |||
]</nowiki>}} | |||
[[Category:Source 1 FGDs]] |