//
// Half-Life game definition file (.fgd)
// version 3.0.0.1
// for Worldcraft 3.3 and above, and Half-Life 1.0.0.9 and above
//
// updated by Chris Bokitch
// [email protected]
// http://www.valve-erc.com/
//

//
// apr 15 2003 - 3.1.0.0
// - updated with studio() references to enable model display
// in 3D view
//
//
// aug 28 2001 - 3.0.0.1
// - changed IS NOT LOOPED to NOT TOGGLED on ambient_generic (royalef)
// - gave light_environment a Name
// - added Angular Velocity to func_train
// - added cycler_wreckage (Waldo)
// - created ZHLT_point baseclass
// - added ZHLT_point base to light, light_environment, and light_spot
// - created ZHLT baseclass
// - added ZHLT base to all applicable brush entities
// - above list compiled by Unquenque
// ------------------------------------------------------------------------

//
// worldspawn
//

@SolidClass = worldspawn : "World entity"
[
message(string) : "Map Description / Title"
skyname(string) : "environment map (cl_skyname)"
sounds(integer) : "CD track to play" : 1
light(integer) : "Default light level"
WaveHeight(string) : "Default Wave Height"
MaxRange(string) : "Max viewable distance" : "4096"
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"
]
]

//
// BaseClasses
//


@BaseClass = Sequence
[
sequence(integer) : "Animation Sequence (editor)"
]

@BaseClass = ZHLT
[
zhlt_lightflags(choices) : "ZHLT Lightflags" : 0 =
[
0 : "Default"
1 : "Embedded Fix"
2 : "Opaque (blocks light)"
3 : "Opaque + Embedded fix"
6 : "Opaque + Concave Fix"
]
light_origin(string) : "Light Origin Target"
]

@BaseClass = ZHLT_point
[
_fade(string) : "ZHLT Fade" : "1.0"
_falloff(choices) : "ZHLT Falloff" : 0 =
[
0 : "Default"
1 : "Inverse Linear"
2 : "Inverse Square"
]
]

@BaseClass = Appearflags
[
spawnflags(Flags) =
[
2048 : "Not in Deathmatch" : 0
]
]

@BaseClass = Angles
[
angles(string) : "Pitch Yaw Roll (Y Z X)" : "0 0 0"
]

@BaseClass size(0 0 0, 32 32 32) color(80 0 200) base(Appearflags) = Ammo []

@BaseClass = Targetname
[
targetname(target_source) : "Name"
]
@BaseClass = Target
[
target(target_destination) : "Target"
]
@BaseClass size(-16 -16 0, 16 16 32) color(0 0 200) base(Targetname, Appearflags, Angles) = Weapon []
@BaseClass = Global
[
globalname(string) : "Global Entity Name"
]

@BaseClass base(Target) = Targetx
[
delay(string) : "Delay before trigger" : "0"
killtarget(target_destination) : "KillTarget"
]

@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)"
]
]

@BaseClass base(RenderFxChoices) = RenderFields
[
rendermode(choices) : "Render Mode" : 0 =
[
0: "Normal"
1: "Color"
2: "Texture"
3: "Glow"
4: "Solid"
5: "Additive"
]
renderamt(integer) : "FX Amount (1 - 255)"
rendercolor(color255) : "FX Color (R G B)" : "0 0 0"
]

@BaseClass base(Appearflags, Angles) size(-16 -16 -36, 16 16 36) color(0 255 0) = PlayerClass []

@BaseClass base(Target, Targetname, RenderFields, Angles) color(0 200 200) = Monster
[
TriggerTarget(String) : "TriggerTarget"
TriggerCondition(Choices) : "Trigger Condition" : 0 =
[
0 : "No Trigger"
1 : "See Player, Mad at Player"
2 : "Take Damage"
3 : "50% Health Remaining"
4 : "Death"
7 : "Hear World"
8 : "Hear Player"
9 : "Hear Combat"
10: "See Player Unconditional"
11: "See Player, Not In Combat"
]
spawnflags(Flags) =
[
1 : "WaitTillSeen" : 0
2 : "Gag" : 0
4 : "MonsterClip" : 0
16: "Prisoner" : 0
128: "WaitForScript" : 0
256: "Pre-Disaster" : 0
512: "Fade Corpse" : 0
]
]

@BaseClass = TalkMonster
[
UseSentence(String) : "Use Sentence"
UnUseSentence(String) : "Un-Use Sentence"
]

@BaseClass base(Targetname, Angles) size(-16 -16 -16, 16 16 16) = gibshooterbase
[
// how many pieces to create
m_iGibs(integer) : "Number of Gibs" : 3

// delay (in seconds) between shots. If 0, all gibs shoot at once.
delay(string) : "Delay between shots" : "0"

// how fast the gibs are fired
m_flVelocity(integer) : "Gib Velocity" : 200

// Course variance
m_flVariance(string) : "Course Variance" : "0.15"

// Time in seconds for gibs to live +/- 5%
m_flGibLife(string) : "Gib Life" : "4"

spawnflags(Flags) =
[
1 : "Repeatable" : 0
]
]

@BaseClass = Light
[
_light(color255) : "Brightness" : "255 255 128 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"
]

@BaseClass base(Targetname,Global) = Breakable
[
target(target_destination) : "Target on break"
health(integer) : "Strength" : 1
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"
]
delay(string) : "Delay before fire" : "0"
gibmodel(studio) : "Gib Model" : ""
spawnobject(choices) : "Spawn On Break" : 0 =
[
0: "Nothing"
1: "Battery"
2: "Healthkit"
3: "9mm Handgun"
4: "9mm Clip"
5: "Machine Gun"
6: "Machine Gun Clip"
7: "Machine Gun Grenades"
8: "Shotgun"
9: "Shotgun Shells"
10: "Crossbow"
11: "Crossbow Bolts"
12: "357"
13: "357 clip"
14: "RPG"
15: "RPG Clip"
16: "Gauss clip"
17: "Hand grenade"
18: "Tripmine"
19: "Satchel Charge"
20: "Snark"
21: "Hornet Gun"
]
explodemagnitude(integer) : "Explode Magnitude (0=none)" : 0
]

@BaseClass base(Appearflags, Targetname, RenderFields, Global, Angles) = Door
[
killtarget(target_destination) : "KillTarget"
speed(integer) : "Speed" : 100
master(string) : "Master"
movesnd(choices) : "Move Sound" : 0 =
[
0: "No Sound"
1: "Servo (Sliding)"
2: "Pneumatic (Sliding)"
3: "Pneumatic (Rolling)"
4: "Vacuum"
5: "Power Hydraulic"
6: "Large Rollers"
7: "Track Door"
8: "Snappy Metal Door"
9: "Squeaky 1"
10: "Squeaky 2"
]
stopsnd(choices) : "Stop Sound" : 0 =
[
0: "No Sound"
1: "Clang with brake"
2: "Clang reverb"
3: "Ratchet Stop"
4: "Chunk"
5: "Light airbrake"
6: "Metal Slide Stop"
7: "Metal Lock Stop"
8: "Snappy Metal Stop"
]
wait(integer) : "delay before close, -1 stay open " : 4
lip(integer) : "Lip"
dmg(integer) : "Damage inflicted when blocked" : 0
message(string) : "Message if triggered"
target(target_destination) : "Target"
delay(integer) : "Delay before fire"
netname(string) : "Fire on Close"
health(integer) : "Health (shoot open)" : 0
spawnflags(flags) =
[
1 : "Starts Open" : 0
4 : "Don't link" : 0
8: "Passable" : 0
32: "Toggle" : 0
256:"Use Only" : 0
512: "Monsters Can't" : 0
]
// NOTE: must be duplicated in BUTTON
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"
]
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"
]

@BaseClass base(Targetname, Target, RenderFields, Global, Angles) = BaseTank
[
spawnflags(flags) =
[
1 : "Active" : 0
16: "Only Direct" : 0
32: "Controllable" : 0
]

// Mainly for use with 1009 team settings (game_team_master)
master(string) : "(Team) Master"

yawrate(string) : "Yaw rate" : "30"
yawrange(string) : "Yaw range" : "180"
yawtolerance(string) : "Yaw tolerance" : "15"
pitchrate(string) : "Pitch rate" : "0"
pitchrange(string) : "Pitch range" : "0"
pitchtolerance(string) : "Pitch tolerance" : "5"
barrel(string) : "Barrel Length" : "0"
barrely(string) : "Barrel Horizontal" : "0"
barrelz(string) : "Barrel Vertical" : "0"
spritesmoke(string) : "Smoke Sprite" : ""
spriteflash(string) : "Flash Sprite" : ""
spritescale(string) : "Sprite scale" : "1"
rotatesound(sound) : "Rotate Sound" : ""
firerate(string) : "Rate of Fire" : "1"
bullet_damage(string) : "Damage Per Bullet" : "0"
persistence(string) : "Firing persistence" : "1"
firespread(choices) : "Bullet accuracy" : 0 =
[
0: "Perfect Shot"
1: "Small cone"
2: "Medium cone"
3: "Large cone"
4: "Extra-large cone"
]
minRange(string) : "Minmum target range" : "0"
maxRange(string) : "Maximum target range" : "0"
_minlight(string) : "Minimum light level"
]

@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, 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(Target, Targetname) = Trigger
[
killtarget(target_destination) : "Kill target"
netname(target_destination) : "Target Path"
master(string) : "Master"
sounds(choices) : "Sound style" : 0 =
[
0 : "No Sound"
]
delay(string) : "Delay before trigger" : "0"
message(string) : "Message (set sound too!)"
spawnflags(flags) =
[
1: "Monsters" : 0
2: "No Clients" : 0
4: "Pushables": 0
]
]

//
// Entities
//

@PointClass base(Targetname, Targetx, Angles) size(-16 -16 0, 16 16 72) color(255 0 255)=aiscripted_sequence:"AI Scripted Sequence"
[
m_iszEntity(string) : "Target Monster"
m_iszPlay(string) : "Action Animation" : ""
m_flRadius(integer) : "Search Radius" : 512
m_flRepeat(integer) : "Repeat Rate ms" : 0
m_fMoveTo(Choices) : "Move to Position" : 0 =
[
0 : "No"
1 : "Walk"
2 : "Run"
4 : "Instantaneous"
5 : "No - Turn to Face"
]
m_iFinishSchedule(Choices) : "AI Schedule when done" : 0 =
[
0 : "Default AI"
1 : "Ambush"
]
spawnflags(Flags) =
[
4 : "Repeatable" : 0
8 : "Leave Corpse" : 0
]
]

@PointClass iconsprite("sprites/speaker.spr") base(Targetname) = ambient_generic : "Universal Ambient"
[
message(sound) : "WAV Name"
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
spawnflags(flags) =
[
1 : "Play Everywhere" : 0
2 : "Small Radius" : 0
4 : "Medium Radius" : 1
8 : "Large Radius" : 0
16 : "Start Silent":0
32 : "Not Toggled":0
]
]

//
// ammo
//


@PointClass base(Weapon, Targetx) studio("models/w_9mmclip.mdl") = ammo_9mmclip : "9mm Pistol Ammo" []
@PointClass base(Weapon, Targetx) studio("models/w_9mmarclip.mdl") = ammo_9mmAR : "9mm Assault Rifle Ammo" []
@PointClass base(Weapon, Targetx) studio("models/w_chainammo.mdl") = ammo_9mmbox : "box of 200 9mm shells" []
@PointClass base(Weapon, Targetx) studio("models/w_argrenade.mdl") = ammo_ARgrenades : "Assault Grenades" []
@PointClass base(Weapon, Targetx) studio("models/w_shotshell.mdl") = ammo_buckshot : "Shotgun Ammo" []
@PointClass base(Weapon, Targetx) studio("models/w_357ammobox.mdl") = ammo_357 : "357 Ammo" []
@PointClass base(Weapon, Targetx) studio("models/w_rpgammo.mdl") = ammo_rpgclip : "RPG Ammo" []
@PointClass base(Weapon, Targetx) studio("models/w_gaussammo.mdl") = ammo_gaussclip : "Gauss Gun Ammo" []
@PointClass base(Weapon, Targetx) studio("models/w_crossbow_clip.mdl") = ammo_crossbow : "Crossbow Ammo" []

@SolidClass base(Target, ZHLT) = button_target : "Target Button"
[
spawnflags(flags) =
[
1: "Use Activates" : 1
2: "Start On" : 0
]
master(string) : "Master"
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 (1 - 255)"
rendercolor(color255) : "FX Color (R G B)" : "0 0 0"
]


//
// cyclers
//

@PointClass base(Targetname, Angles, Sequence) size(-16 -16 0, 16 16 72) studio() = cycler : "Monster Cycler"
[
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 (1 - 255)"
rendercolor(color255) : "FX Color (R G B)" : "0 0 0"
]

@PointClass base(Targetname, Angles) sprite() = cycler_sprite : "Sprite Cycler"
[
model(sprite) : "Sprite"
framerate(integer) : "Frames per second" : 10
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 (1 - 255)"
rendercolor(color255) : "FX Color (R G B)" : "0 0 0"
]

@PointClass base(Monster, Sequence) size(-16 -16 -16, 16 16 16) studio() = cycler_weapon : "Weapon Cycler"
[
model(studio) : "model"
]

@PointClass sprite() base(Targetname, RenderFields, Angles) size(-4 -4 -4, 4 4 4) = cycler_wreckage : "Wreckage"
[
framerate(string) : "Framerate" : "10.0"
model(sprite) : "Sprite Name" : "sprites/fire.spr"
scale(string) : "Scale" : "1.0"
spawnflags(flags) =
[
32: "Toggle" : 0
64: "Start ON" : 0
]
]

//
// Environmental effects
//

@BaseClass = BeamStartEnd
[
LightningStart(target_destination) : "Start Entity"
LightningEnd(target_destination) : "Ending Entity"
]
@PointClass base(Targetname, BeamStartEnd, RenderFxChoices) size(-16 -16 -16, 16 16 16) = env_beam : "Energy Beam Effect"
[
renderamt(integer) : "Brightness (1 - 255)" : 100
rendercolor(color255) : "Beam Color (R G B)" : "0 0 0"
Radius(integer) : "Radius" : 256
life(string) : "Life (seconds 0 = infinite)" : "1"
BoltWidth(integer) : "Width of beam (pixels*0.1 0-255)" : 20
NoiseAmplitude(integer) : "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"
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
]
]

@PointClass base(Targetname, Angles) size(-4 -4 -4, 4 4 4) = env_beverage : "Beverage Dispenser"
[
health(integer) : "Capacity" : 10
skin(choices) : "Beverage Type" : 0 =
[
0 : "Coca-Cola"
1 : "Sprite"
2 : "Diet Coke"
3 : "Orange"
4 : "Surge"
5 : "Moxie"
6 : "Random"
]
]

@PointClass base(Targetname, Angles) size(-16 -16 -16, 16 16 16) color(255 0 0) = env_blood : "Blood Effects"
[
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
]
]

@SolidClass base(Targetname) = 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
]
]

@PointClass base(Targetname) size(-16 -16 -16, 16 16 16) = env_explosion : "Explosion"
[
iMagnitude(Integer) : "Magnitude" : 100
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
]
]

@PointClass base(Targetname) color(255 255 128) = env_global : "Global State"
[
globalstate(string) : "Global State to Set"
triggermode(choices) : "Trigger Mode" : 0 =
[
0 : "Off"
1 : "On"
2 : "Dead"
3 : "Toggle"
]
initialstate(choices) : "Initial State" : 0 =
[
0 : "Off"
1 : "On"
2 : "Dead"
]
spawnflags(flags) =
[
1 : "Set Initial State" : 0
]
]

@PointClass sprite() base(Targetname, RenderFields) size(-4 -4 -4, 4 4 4) color(30 100 0) = env_glow : "Light Glow/Haze"
[
model(sprite) : "Sprite Name" : "sprites/glow01.spr"
scale(integer) : "Scale" : 1
]

@PointClass base(Targetname) = env_fade : "Screen Fade"
[
spawnflags(flags) =
[
1: "Fade From" : 0
2: "Modulate" : 0
4: "Activator Only" : 0
]
duration(string) : "Duration (seconds)" : "2"
holdtime(string) : "Hold Fade (seconds)" : "0"
renderamt(integer) : "Fade Alpha" : 255
rendercolor(color255) : "Fade Color (R G B)" : "0 0 0"
]

@PointClass base(Targetname) size(-16 -16 -16, 16 16 16) = env_funnel : "Large Portal Funnel"
[
spawnflags(flags) =
[
1: "Reverse" : 0
]
]

@PointClass base(Targetname, RenderFxChoices, Angles) size(-16 -16 -16, 16 16 16) = env_laser : "Laser Beam Effect"
[
LaserTarget(target_destination) : "Target of Laser"
renderamt(integer) : "Brightness (1 - 255)" : 100
rendercolor(color255) : "Beam Color (R G B)" : "0 0 0"
width(integer) : "Width of beam (pixels*0.1 0-255)" : 20
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"
spawnflags(flags) =
[
1 : "Start On" : 0
16: "StartSparks" : 0
32: "EndSparks" : 0
64: "Decal End" : 0
]
]

@PointClass base(Targetname, Target) = env_message : "HUD Text Message"
[
message(string) : "Message Name"
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"
]
]

@PointClass base(Targetname, Target, RenderFields) size(-16 -16 -16, 16 16 16) color(100 100 0) = env_render : "Render Controls"
[
spawnflags(flags) =
[
1: "No Renderfx" : 0
2: "No Renderamt" : 0
4: "No Rendermode" : 0
8: "No Rendercolor" : 0
]
]

@PointClass base(Targetname) = env_shake : "Screen Shake"
[
spawnflags(flags) =
[
1: "GlobalShake" : 0
]
amplitude(string) : "Amplitude 0-16" : "4"
radius(string) : "Effect radius" : "500"
duration(string) : "Duration (seconds)" : "1"
frequency(string) : "0.1 = jerk, 255.0 = rumble" : "2.5"
]

@PointClass base(gibshooterbase, RenderFields) size(-16 -16 -16, 16 16 16) = env_shooter : "Model Shooter"
[
shootmodel(studio) : "Model or Sprite name" : ""
shootsounds(choices) :"Material Sound" : -1 =
[
-1: "None"
0: "Glass"
1: "Wood"
2: "Metal"
3: "Flesh"
4: "Concrete"
]
scale(string) : "Gib Sprite Scale" : ""
skin(integer) : "Gib Skin" : 0
]

@PointClass iconsprite("sprites/speaker.spr") = env_sound : "DSP Sound"
[
radius(integer) : "Radius" : 128
roomtype(Choices) : "Room Type" : 0 =
[
0 : "Normal (off)"
1 : "Generic"

2 : "Metal Small"
3 : "Metal Medium"
4 : "Metal Large"

5 : "Tunnel Small"
6 : "Tunnel Medium"
7 : "Tunnel Large"

8 : "Chamber Small"
9 : "Chamber Medium"
10: "Chamber Large"

11: "Bright Small"
12: "Bright Medium"
13: "Bright Large"

14: "Water 1"
15: "Water 2"
16: "Water 3"

17: "Concrete Small"
18: "Concrete Medium"
19: "Concrete Large"

20: "Big 1"
21: "Big 2"
22: "Big 3"

23: "Cavern Small"
24: "Cavern Medium"
25: "Cavern Large"

26: "Weirdo 1"
27: "Weirdo 2"
28: "Weirdo 3"
]
]

@PointClass base(Targetname, Angles) size(-16 -16 -16, 16 16 16) = env_spark : "Spark"
[
MaxDelay(string) : "Max Delay" : "0"
spawnflags(flags) =
[
32: "Toggle" : 0
64: "Start ON" : 0
]
]

@PointClass sprite() base(Targetname, RenderFields, Angles) size(-4 -4 -4, 4 4 4) = 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
]
]

@SolidClass base(Breakable, RenderFields, ZHLT) = func_breakable : "Breakable Object"
[
spawnflags(flags) =
[
1 : "Only Trigger" : 0
2 : "Touch" : 0
4 : "Pressure" : 0
256: "Instant Crowbar" : 1
]
_minlight(string) : "Minimum light level"
]

@SolidClass base(Global,Targetname, Target, RenderFields, Angles, ZHLT) = func_button : "Button"
[
speed(integer) : "Speed" : 5
health(integer) : "Health (shootable if > 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
delay(string) : "Delay before trigger" : "0"
spawnflags(flags) =
[
1: "Don't move" : 0
32: "Toggle" : 0
64: "Sparks" : 0
256:"Touch Activates": 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(Global,RenderFields, Targetname, Angles, ZHLT) = func_conveyor : "Conveyor Belt"
[
spawnflags(flags) =
[
1 : "No Push" : 0
2 : "Not Solid" : 0
]
speed(string) : "Conveyor Speed" : "100"
_minlight(string) : "Minimum light level"
]

@SolidClass base(Door, ZHLT) = func_door : "Basic door" []

@SolidClass base(Door, ZHLT) = 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
]

@SolidClass base(Appearflags, RenderFields, ZHLT) = func_friction : "Surface with a change in friction"
[
modifier(integer) : "Percentage of standard (0 - 100)" : 15
]

@SolidClass base(Targetname, RenderFields, Global, ZHLT) = func_guntarget : "Moving platform"
[
speed(integer) : "Speed (units per second)" : 100
target(target_source) : "First stop target"
message(target_source) : "Fire on damage"
health(integer) : "Damage to Take" : 0
_minlight(string) : "Minimum light level"
]

@SolidClass base(Global, RenderFields, ZHLT) = func_healthcharger: "Wall health recharger"
[
// dmdelay(integer) : "Deathmatch recharge delay" : 0
_minlight(string) : "Minimum light level"
]

@SolidClass base(Targetname, RenderFields, ZHLT) = func_illusionary : "Fake Wall/Light"
[

skin(choices) : "Contents" : -1 =
[
-1: "Empty"
-7: "Volumetric Light"
]
_minlight(string) : "Minimum light level"
]

@SolidClass base(Targetname) = func_ladder : "Ladder" []

@SolidClass base(Targetname) = func_monsterclip : "Monster clip brush" []

@SolidClass base(Targetname) = func_mortar_field : "Mortar Field"
[
m_flSpread(integer) : "Spread Radius" : 64
m_iCount(integer) : "Repeat Count" : 1
m_fControl(Choices) : "Targeting" : 0 =
[
0 : "Random"
1 : "Activator"
2 : "Table"
]
m_iszXController(target_destination) : "X Controller"
m_iszYController(target_destination) : "Y Controller"
]

@SolidClass base(Global,Appearflags, Targetname, RenderFields, Angles, ZHLT) = func_pendulum : "Swings back and forth"
[
speed(integer) : "Speed" : 100
distance(integer) : "Distance (deg)" : 90
damp(integer) : "Damping (0-1000)" : 0
dmg(integer) : "Damage inflicted when blocked" : 0
spawnflags(flags) =
[
1: "Start ON" : 0
8: "Passable" : 0
16: "Auto-return" : 0
64: "X Axis" : 0
128: "Y Axis" : 0
]
_minlight(integer) : "_minlight"
]

@SolidClass base(Targetname,Global,RenderFields, PlatSounds, ZHLT) = func_plat : "Elevator"
[
spawnflags(Flags) =
[
1: "Toggle" : 0
]
height(integer) : "Travel altitude (can be negative)" : 0
speed(integer) : "Speed" : 50
_minlight(string) : "Minimum light level"
]

@SolidClass base(Targetname, Global, RenderFields, PlatSounds, Angles, ZHLT) = func_platrot : "Moving Rotating platform"
[
spawnflags(Flags) =
[
1: "Toggle" : 1
64: "X Axis" : 0
128: "Y Axis" : 0
]
speed(integer) : "Speed of rotation" : 50
height(integer) : "Travel altitude (can be negative)" : 0
rotation(integer) : "Spin amount" : 0
_minlight(string) : "Minimum light level"
]

@SolidClass base(Breakable, RenderFields, ZHLT) = func_pushable : "Pushable object"
[
size(choices) : "Hull Size" : 0 =
[
0: "Point size"
1: "Player size"
2: "Big Size"
3: "Player duck"
]
spawnflags(flags) =
[
128: "Breakable" : 0
]
friction(integer) : "Friction (0-400)" : 50
buoyancy(integer) : "Buoyancy" : 20
_minlight(string) : "Minimum light level"
]

@SolidClass base(Global,RenderFields, ZHLT) = func_recharge: "Battery recharger"
[
// dmdelay(integer) : "Deathmatch recharge delay" : 0
_minlight(string) : "Minimum light level"
]

@SolidClass base(Targetname, Global, RenderFields, Angles, ZHLT) = func_rot_button : "RotatingButton"
[
target(target_destination) : "Targetted object"
// changetarget will change the button's target's TARGET field to the button's changetarget.
changetarget(target_destination) : "ChangeTarget Name"
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"
]
delay(string) : "Delay before trigger" : "0"
distance(integer) : "Distance (deg)" : 90
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
]
_minlight(integer) : "_minlight"
]

@SolidClass base(Targetname, Global, RenderFields, Angles, ZHLT) = func_rotating : "Rotating Object"
[
speed(integer) : "Rotation Speed" : 0
volume(integer) : "Volume (10 = loudest)" : 10
fanfriction(integer) : "Friction (0 - 100%)" : 20
sounds(choices) : "Fan Sounds" : 0 =
[
0 : "No Sound"
1 : "Fast Whine"
2 : "Slow Rush"
3 : "Medium Rickety"
4 : "Fast Beating"
5 : "Slow Smooth"
]
message(sound) : "WAV Name"
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"
spawnorigin(string) : "X Y Z - Move here after lighting" : "0 0 0"
dmg(integer) : "Damage inflicted when blocked" : 0
]

@SolidClass base(BaseTank, ZHLT) = func_tank : "Brush Gun Turret"
[
bullet(choices) : "Bullets" : 0 =
[
0: "None"
1: "9mm"
2: "MP5"
3: "12mm"
]
]

@SolidClass = func_tankcontrols : "Tank controls"
[
target(target_destination) : "Tank entity name"
]

@SolidClass base(BaseTank, ZHLT) = func_tanklaser : "Brush Laser Turret"
[
laserentity(target_source) : "env_laser Entity"
]

@SolidClass base(BaseTank, ZHLT) = func_tankrocket : "Brush Rocket Turret" []


@SolidClass base(BaseTank, ZHLT) = func_tankmortar : "Brush Mortar Turret"
[
iMagnitude(Integer) : "Explosion Magnitude" : 100
]

@SolidClass base(Trackchange, ZHLT) = func_trackautochange : "Automatic track changing platform"
[
_minlight(string) : "Minimum light level"
]

@SolidClass base(Trackchange, ZHLT) = func_trackchange : "Train track changing platform"
[
_minlight(string) : "Minimum light level"
]

@SolidClass base(Targetname, Global, RenderFields, ZHLT) = func_tracktrain : "Track Train"
[
spawnflags(flags) =
[
1 : "No Pitch (X-rot)" : 0
2 : "No User Control" : 0
8 : "Passable" : 0
]
target(target_destination) : "First stop target"
sounds(choices) : "Sound" : 0 =
[
0: "None"
1: "Rail 1"
2: "Rail 2"
3: "Rail 3"
4: "Rail 4"
5: "Rail 6"
6: "Rail 7"
]
wheels(integer) : "Distance between the wheels" : 50
height(integer) : "Height above track" : 4
startspeed(integer) : "Initial speed" : 0
speed(integer) : "Speed (units per second)" : 64
dmg(integer) : "Damage on crush" : 0
volume(integer) : "Volume (10 = loudest)" : 10
bank(string) : "Bank angle on turns" : "0"
_minlight(string) : "Minimum light level"
]

@SolidClass = func_traincontrols : "Train Controls"
[
target(target_destination) : "Train Name"
]

@SolidClass base(Targetname, Global, RenderFields, ZHLT) = func_train : "Moving platform"
[
target(target_source) : "First stop target"
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"
]
speed(integer) : "Speed (units per second)" : 64
avelocity(string) : "Angular Veocity (y z x)"
dmg(integer) : "Damage on crush" : 0
skin(integer) : "Contents" : 0
volume(string) : "Sound Volume 0.0 - 1.0" : "0.85"
spawnflags(flags) =
[
8 : "Not solid" : 0
]
_minlight(string) : "Minimum light level"
]

@SolidClass base(Targetname, Appearflags, RenderFields, Global, ZHLT) = func_wall : "Wall"
[
_minlight(string) : "Minimum light level"
]

@SolidClass base(func_wall) = func_wall_toggle : "Toggleable geometry"
[
spawnflags(flags) =
[
1 : "Starts Invisible" : 0
]
]

@SolidClass base(Door, ZHLT) = func_water : "Liquid"
[
spawnflags(flags) =
[
1 : "Starts Open" : 0
256:"Use Only" : 0
]
skin(choices) : "Contents" : -3 =
[
-3: "Water"
-4: "Slime"
-5: "Lava"
]
WaveHeight(string) : "Wave Height" : "3.2"
]

//
// game entities (requires Half-Life 1.0.0.9)
//

@PointClass base(Targetname, Targetx) = game_counter : "Fires when it hits limit"
[
spawnflags(flags) =
[
1: "Remove On fire" : 0
2: "Reset On fire" : 1
]
master(string) : "Master"
frags(integer) : "Initial Value" : 0
health(integer) : "Limit Value" : 10
]

@PointClass base(Targetname, Target) = game_counter_set : "Sets a game_counter"
[
spawnflags(flags) =
[
1: "Remove On fire" : 0
]
master(string) : "Master"
frags(integer) : "New Value" : 10
]

@PointClass base(Targetname) = game_end : "End this multiplayer game"
[
master(string) : "Master"
]

@PointClass base(Targetname) = game_player_equip : "Initial player equipment"
[
spawnflags(flags) =
[
1: "Use Only" : 0
]
master(string) : "Team Master"
]

@PointClass base(Targetname) = 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) = 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) = 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, Targetx) = 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, Targetx) = game_team_set : "Sets team of team_master"
[
spawnflags(flags) =
[
1: "Remove On fire" : 0
]
master(string) : "Master"
]

@PointClass base(Targetname, Target) = 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"
]

@SolidClass base(Targetname) = 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"
]

@PointClass base(gibshooterbase) = gibshooter : "Gib Shooter" []

//
// info entities
//

@PointClass decal() base(Targetname, Appearflags) = infodecal : "Decal"
[
texture(decal)
]

@PointClass base(Targetname) size(-24 -24 0, 24 24 16) color(20 190 60) = info_bigmomma : "Big Mamma Node"
[
spawnflags(Flags) =
[
1 : "Run To Node" : 0
2 : "Wait Indefinitely" : 0
]
target(target_destination) : "Next node"
radius(string) : "Radius" : "0"
reachdelay(string) : "Wait after approach" : "0"
killtarget(target_destination) : "KillTarget"
reachtarget(target_destination) : "Fire on approach"
reachsequence(string) : "Sequence on approach" : ""
health(string) : "Health on approach" : ""
presequence(string) : "Sequence before approach" : ""
]

@PointClass base(Target, Angles) size(-4 -4 -4, 4 4 4) color(0 255 0) = info_intermission : "Intermission Spot" []

@PointClass base(Targetname) = info_landmark : "Transition Landmark" []

@PointClass size(-24 -24 -4, 24 24 4) color(255 255 0) = info_node : "ai node" []

@PointClass size(-32 -32 0, 32 32 64) color(255 255 0) = info_node_air : "ai air node" []

@PointClass base(Targetname) = info_null : "info_null (spotlight target)" []

@PointClass base(PlayerClass) = info_player_coop : "Player cooperative start" []
@PointClass base(PlayerClass, Sequence) studio("models/player.mdl") = info_player_deathmatch : "Player deathmatch start"
[
target(target_destination) : "Target"
master(string) : "Master"
]
@PointClass base(PlayerClass, Sequence) studio("models/player.mdl") = info_player_start : "Player 1 start" []

@PointClass base(Targetname) size(-4 -4 -4, 4 4 4) color(200 100 50) = info_target : "Beam Target" []
@PointClass size(-8 -8 0, 8 8 16) base(PlayerClass, Targetname) = info_teleport_destination : "Teleport destination" []

//
// items
//

@PointClass size(-16 -16 0, 16 16 36) base(Weapon, Targetx) studio("models/w_oxygen.mdl") = item_airtank : "Oxygen tank" []
@PointClass size(-16 -16 0, 16 16 36) base(Weapon, Targetx) studio("models/w_antidote.mdl") = item_antidote : "Poison antidote" []
@PointClass size(-16 -16 0, 16 16 36) base(Weapon, Targetx) studio("models/w_battery.mdl") = item_battery : "HEV battery" []
@PointClass size(-16 -16 0, 16 16 36) base(Weapon, Targetx) studio("models/w_medkit.mdl") = item_healthkit : "Small Health Kit" []
@PointClass size(-16 -16 0, 16 16 36) base(Weapon, Targetx) studio("models/w_longjump.mdl") = item_longjump : "Longjump Module" []
@PointClass size(-16 -16 0, 16 16 36) base(Weapon, Targetx) studio("models/w_security.mdl") = item_security : "Security card" []
@PointClass size(-16 -16 0, 16 16 36) base(Weapon, Targetx) studio("models/w_suit.mdl") = item_suit : "HEV Suit"
[
spawnflags(Flags) =
[
1 : "Short Logon" : 0
]
]

//
// lights
//

@PointClass iconsprite("sprites/lightbulb.spr") base(Target, Targetname, Light, ZHLT_point) = light : "Invisible lightsource"
[
spawnflags(Flags) = [ 1 : "Initially dark" : 0 ]
]

@PointClass iconsprite("sprites/lightbulb.spr") base(Targetname, Target, Angles, ZHLT_point) = light_spot : "Spotlight"
[
_cone(integer) : "Inner (bright) angle" : 30
_cone2(integer) : "Outer (fading) angle" : 45
pitch(integer) : "Pitch" : -90
_light(color255) : "Brightness" : "255 255 128 200"
_sky(Choices) : "Is Sky" : 0 =
[
0 : "No"
1 : "Yes"
]
spawnflags(Flags) = [ 1 : "Initially dark" : 0 ]
style(Choices) : "Appearance" : 0 =
[
0 : "Normal"
10: "Fluorescent flicker"
2 : "Slow, strong pulse"
11: "Slow pulse, noblack"
5 : "Gentle pulse"
1 : "Flicker A"
6 : "Flicker B"
3 : "Candle A"
7 : "Candle B"
8 : "Candle C"
4 : "Fast strobe"
9 : "Slow strobe"
]
pattern(string) : "Custom Appearance"
]

@PointClass base(Targetname, Angles, ZHLT_point) iconsprite("sprites/lightbulb.spr") = light_environment : "Environment"
[
pitch(integer) : "Pitch" : 0
_light(color255) : "Brightness" : "255 255 128 200"
]

@SolidClass base(Door, ZHLT) = momentary_door : "Momentary/Continuous door"
[
spawnflags(flags) =
[
1 : "Starts Open" : 0
]
]

@SolidClass base(Targetname, Target, Angles, RenderFields, ZHLT) = 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
returnspeed(integer) : "Auto-return speed" : 0
spawnflags(flags) =
[
1: "Door Hack" : 0
2: "Not useable" : 0
16: "Auto Return" : 0
64: "X Axis" : 0
128: "Y Axis" : 0
]
_minlight(integer) : "_minlight"
]

//
// monsters
//

@PointClass base(Monster, Sequence) size(-16 -16 0, 16 16 72) studio("models/controller.mdl") = monster_alien_controller : "Controller" []
@PointClass base(Monster, Sequence) size(-32 -32 0, 32 32 64) studio("models/agrunt.mdl") = monster_alien_grunt : "Alien Grunt"
[
netname(string) : "Squad Name"
spawnflags(Flags) =
[
32 : "SquadLeader" : 0
]
]
@PointClass base(Monster, Sequence) size(-16 -16 0, 16 16 72) studio("models/islave.mdl") = monster_alien_slave : "Vortigaunt"
[
netname(string) : "Squad Name"
spawnflags(Flags) =
[
32 : "SquadLeader" : 0
64 : "IgnorePlayer" : 0
]
]
@PointClass base(Monster, Sequence) size(-360 -360 -172, 360 360 8) studio("models/apache.mdl") = monster_apache : "Apache"
[
spawnflags(Flags) =
[
8 : "NoWreckage" : 0
64 : "Start Inactive" : 0
]
]
@PointClass base(Monster, Sequence) size(-16 -16 0, 16 16 36) studio("models/baby_headcrab.mdl") = monster_babycrab : "Baby Headcrab" []
@PointClass base(RenderFields, Sequence) size(-16 -16 -36, 16 16 0) studio("models/barnacle.mdl") = monster_barnacle : "Barnacle Monster" []
@PointClass base(Monster,TalkMonster, Sequence) size(-16 -16 0, 16 16 72) studio("models/barney.mdl") = monster_barney : "Barney" []
@PointClass base(RenderFields,Appearflags, Angles, Sequence) size(-16 -16 0, 16 16 72) = monster_barney_dead : "Dead Barney"
[
pose(Choices) : "Pose" : 0 =
[
0 : "On back"
1 : "On side"
2 : "On stomach"
]
]
@PointClass base(Monster, Sequence) size(-95 -95 0, 95 95 190) studio("models/big_mom.mdl") = monster_bigmomma : "Big Mamma"
[
netname(string) : "First node" : ""
]
@PointClass base(Monster, Sequence) size(-16 -16 0, 16 16 72) studio("models/floater.mdl") = monster_bloater : "Bloater" []
@PointClass base(Monster, Sequence) size(-32 -32 0, 32 32 64) studio("models/bullsquid.mdl") = monster_bullchicken : "BullChicken" []
@PointClass base(Monster, Sequence) size(-3 -3 0, 3 3 3) studio("models/roach.mdl") = monster_cockroach : "Cockroach" []
@PointClass base(Monster, Sequence) size(-16 -16 0, 16 16 16) studio("models/aflock.mdl") = monster_flyer_flock : "Flock of Flyers"
[
iFlockSize(Integer) : "Flock Size" : 8
flFlockRadius(Integer) : "Flock Radius" : 128
]
@PointClass base(Monster, Sequence) size(-16 -16 0, 16 16 72) studio() = monster_furniture : "Monster Furniture"
[
model(studio) : "model"

]
@PointClass base(Monster, Sequence) size(-32 -32 0, 32 32 128) studio("models/garg.mdl") = monster_gargantua : "Gargantua" []
@PointClass base(Monster, RenderFields, Sequence) size(-16 -16 -36, 16 16 36) studio() = monster_generic : "Generic Script Monster"
[
spawnflags(Flags) =
[
4 : "Not solid" : 0
]
model(studio) : "model"
body(Integer) : "Body" : 0
]
@PointClass base(Monster, Sequence) size(-16 -16 0, 16 16 72) studio("models/gman.mdl") = monster_gman : "G-Man" []
@PointClass base(Monster, Sequence) size(-16 -16 0, 16 16 72) studio("models/hgrunt.mdl") = monster_grunt_repel : "Human Grunt (Repel)" []
@PointClass base(Weapon, Targetx, RenderFields, Sequence) studio("models/w_grenade.mdl") = monster_handgrenade : "Live Handgrenade" []
@PointClass base(Monster, Sequence) size(-16 -16 0, 16 16 36) studio("models/headcrab.mdl") = monster_headcrab : "Head Crab" []
@PointClass base(Appearflags,RenderFields, Angles, Sequence) size(-16 -16 0, 16 16 72) = monster_hevsuit_dead : "Dead HEV Suit"
[
pose(Choices) : "Pose" : 0 =
[
0 : "On back"
1 : "Seated"
2 : "On stomach"
3 : "On Table"
]
]
@PointClass base(Appearflags,RenderFields, Angles) size(-16 -16 0, 16 16 72) studio("models/hgrunt.mdl") = monster_hgrunt_dead : "Dead Human Grunt"
[
pose(Choices) : "Pose" : 0 =
[
0 : "On stomach"
1 : "On side"
2 : "Seated"
]
body(Choices) : "Body" : 0 =
[
0 : "Grunt with Gun"
1 : "Commander with Gun"
2 : "Grunt no Gun"
3 : "Commander no Gun"
]
sequence(Choices) : "Animation Sequence (editor)" : 44 =
[
44 : "deadstomach"
45 : "deadside"
46 : "deadsitting"
]
]
@PointClass base(Monster, Sequence) size(-16 -16 0, 16 16 36) studio("models/houndeye.mdl") = monster_houndeye : "Houndeye"
[
netname(string) : "Squad Name"
spawnflags(Flags) =
[
32 : "SquadLeader" : 0
]
]
@PointClass base(Monster, Sequence) size(-16 -16 0, 16 16 72) studio("models/hassassin.mdl") = monster_human_assassin : "Human Assassin" []
@PointClass base(Monster) size(-16 -16 0, 16 16 72) studio("models/hgrunt.mdl") = monster_human_grunt : "Human Grunt (camo)"
[
spawnflags(Flags) =
[
32 : "SquadLeader" : 0
]
netname(string) : "Squad Name"
weapons(Choices) : "Weapons" : 1 =
[
1 : "9mmAR"
3 : "9mmAR + HG"
5 : "9mmAR + GL"
8 : "Shotgun"
10 : "Shotgun + HG"
]
sequence(Choices) : "Animation Sequence (editor)" : 11 =
[
0 : "walk1"
1 : "run"
2 : "victorydance"
3 : "cower"
4 : "smflinch"
5 : "leftlegsmflinch"
6 : "rightlegsmflinch"
7 : "rightarmflinch"
8 : "leftarmflinch"
9 : "launchgrenade"
10 : "throwgrenade"
11 : "idle1"
12 : "idle2"
13 : "combatidle"
14 : "frontkick"
15 : "crouching_idle"
16 : "crouching_wait"
17 : "crouching_mp5"
18 : "standing_mp5"
19 : "reload_mp5"
20 : "crouching_shotgun"
21 : "standing_shotgun"
22 : "reload_shotgun"
23 : "advance_signal"
24 : "flank_signal"
25 : "retreat_signal"
26 : "drop_grenade"
27 : "limpingwalk"
28 : "limpingrun"
29 : "180L"
30 : "180R"
31 : "strafeleft"
32 : "straferight"
33 : "dieback1"
34 : "dieforward"
35 : "diesimple"
36 : "diebackwards"
37 : "dieheadshot"
38 : "diegutshot"
39 : "barnacled1"
40 : "barnacled2"
41 : "barnacled3"
42 : "barnacled4"
43 : "dead_on_stomach"
44 : "deadstomach"
45 : "deadside"
46 : "deadsitting"
47 : "repel_jump"
48 : "repel_repel"
49 : "repel_shoot"
50 : "repel_land"
51 : "repel_die"
52 : "dragholeidle"
53 : "draghole"
54 : "bustwall"
55 : "hoprail"
56 : "converse1"
57 : "converse2"
58 : "startleleft"
59 : "startleright"
60 : "divecover"
61 : "defuse"
62 : "corner1"
63 : "corner2"
64 : "stonetoss"
65 : "cliffdie"
66 : "diveaside_idle"
67 : "diveaside"
68 : "kneeldive_idle"
69 : "kneeldive"
70 : "WM_button"
71 : "WM_moatjump"
72 : "bustwindow"
73 : "dragleft"
74 : "dragright"
75 : "trackwave"
76 : "trackdive"
77 : "flyback"
78 : "impaled"
79 : "jumptracks"
80 : "pipetoss"
81 : "plunger"
]
]
@PointClass base(Monster, Sequence) size(-32 -32 0, 32 32 64) studio("models/icky.mdl") = monster_ichthyosaur : "Ichthyosaur" []
@PointClass base(Monster, Sequence) size(-6 -6 0, 6 6 6) studio("models/leech.mdl") = monster_leech : "Leech" []
@PointClass base(Monster, Sequence) size(-16 -16 -32, 16 16 32) studio("models/miniturret.mdl") = monster_miniturret : "Mini Auto Turret"
[
orientation(Choices) : "Orientation" : 0 =
[
0 : "Floor Mount"
1 : "Ceiling Mount"
]
spawnflags(Flags) =
[
32 : "Autostart" : 0
64 : "Start Inactive" : 0
]
]
@PointClass base(Monster, Sequence) size(-192 -192 0, 192 192 384) studio("models/nihilanth.mdl") = monster_nihilanth : "Nihilanth" []
@PointClass base(Monster, Sequence) size(-480 -480 -112, 480 480 24) studio("models/osprey.mdl") = monster_osprey : "Osprey"
[
spawnflags(Flags) =
[
64 : "Start Inactive" : 0
]
]
@PointClass base(Monster, Sequence) size(-6 -6 0, 6 6 6) studio("models/bigrat.mdl") = monster_rat : "Rat (no ai)" []
@PointClass base(Weapon,Targetx,RenderFields, Sequence) studio("models/w_satchel.mdl") = monster_satchelcharge : "Live Satchel Charge" []
@PointClass base(Monster, TalkMonster) size(-16 -16 0, 16 16 72) studio("models/scientist.mdl") = monster_scientist : "Scared Scientist"
[
body(Choices) : "Body" : -1 =
[
-1 : "Random"
0 : "Glasses"
1 : "Einstein"
2 : "Luther"
3 : "Slick"
]
sequence(Choices) : "Animation Sequence (editor)" : 13 =
[
0 : "walk"
1 : "walk_scared"
2 : "run"
3 : "run1"
4 : "run2"
5 : "180_Left"
6 : "180_Right"
7 : "flinch"
8 : "flinch1"
9 : "laflinch"
10 : "raflinch"
11 : "llflinch"
12 : "rlflinch"
13 : "idle1"
14 : "idle3"
15 : "idle4"
16 : "idle5"
17 : "idle6"
18 : "idle7"
19 : "crouchstand"
20 : "crouch_idle"
21 : "crouch_idle2"
22 : "crouch_idle3"
23 : "crouch_idle3"
24 : "panic"
25 : "fear1"
26 : "fear2"
27 : "eye_wipe"
28 : "pull_needle"
29 : "return_needle"
30 : "give_shot"
31 : "diesimple"
32 : "dieforward"
33 : "dieforward1"
34 : "diebackward"
35 : "headshot"
36 : "gutshot"
37 : "lying_on_back"
38 : "lying_on_stomach"
39 : "dead_sitting"
40 : "dead_table1"
41 : "dead_table2"
42 : "dead_table3"
43 : "barnacled1"
44 : "barnacled2"
45 : "barnacled3"
46 : "barnacled4"
47 : "console"
48 : "checktie"
49 : "dryhands"
50 : "tieshoe"
51 : "whiteboard"
52 : "studycart"
53 : "lean"
54 : "pondering"
55 : "pondering2"
56 : "pondering3"
57 : "buysoda"
58 : "pause"
59 : "yes"
60 : "no"
61 : "push_button"
62 : "converse1"
63 : "converse2"
64 : "retina"
65 : "talkleft"
66 : "talkright"
67 : "deskidle"
68 : "coffee"
69 : "franticbutton"
70 : "startle"
71 : "sitlookleft"
72 : "sitlookright"
73 : "sitscared"
74 : "sitting2"
75 : "sitting3"
76 : "cprscientist"
77 : "cprscientistrevive"
78 : "cowering_in_corner"
79 : "sstruggleidle"
80 : "sstruggle"
81 : "headcrabbed"
82 : "c1a0_catwalkidle"
83 : "c1a0_catwalk"
84 : "ceiling_dangle"
85 : "ventpull1"
86 : "ventpull2"
87 : "ventpullidle1"
88 : "ventpullidle2"
89 : "sitidle"
90 : "sitstand"
91 : "keypad"
92 : "panic1"
93 : "lookwindow"
94 : "wave"
95 : "pulldoor"
96 : "beatdoor"
97 : "fallingloop"
98 : "crawlwindow"
99 : "divewindow"
100 : "locked_door"
101 : "push_button2"
102 : "unlock_door"
103 : "quicklook"
104 : "handrailidle"
105 : "handrail"
106 : "hanging_idle"
107 : "fall"
108 : "scientist_get_pulled"
109 : "hanging_idle2"
110 : "fall_elevator"
111 : "scientist_idlewall"
112 : "ickyjump_sci"
113 : "haulscientist"
114 : "c1a4_wounded_idle"
115 : "c1a4_dying_speech"
116 : "tentacle_grab"
117 : "helicack"
118 : "windive"
119 : "scicrashidle"
120 : "scicrash"
121 : "onguard"
122 : "seeya"
123 : "rocketcrawl"
124 : "portal"
125 : "gluonshow"
126 : "crouch"
127 : "kneel"
]
]
@PointClass base(Appearflags,RenderFields, Angles) size(-16 -16 0, 16 16 72) studio("models/scientist.mdl") = monster_scientist_dead : "Dead Scientist"
[
body(Choices) : "Body" : -1 =
[
-1 : "Random"
0 : "Glasses"
1 : "Einstein"
2 : "Luther"
3 : "Slick"
]
pose(Choices) : "Pose" : 0 =
[
0 : "On back"
1 : "On Stomach"
2 : "Sitting"
3 : "Hanging"
4 : "Table1"
5 : "Table2"
6 : "Table3"
]
sequence(Choices) : "Animation Sequence (editor)" : 37 =
[
37 : "lying_on_back"
38 : "lying_on_stomach"
39 : "dead_sitting"
40 : "dead_table1"
41 : "dead_table2"
42 : "dead_table3"
]
]
@PointClass base(Monster) size(-14 -14 22, 14 14 72) studio("models/scientist.mdl") = monster_sitting_scientist : "Sitting Scientist"
[
body(Choices) : "Body" : -1 =
[
-1 : "Random"
0 : "Glasses"
1 : "Einstein"
2 : "Luther"
3 : "Slick"
]
sequence(Choices) : "Animation Sequence (editor)" : 73 =
[
71 : "sitlookleft"
72 : "sitlookright"
73 : "sitscared"
74 : "sitting2"
75 : "sitting3"
]
]
@PointClass base(Monster, Sequence) size(-16 -16 0, 16 16 72) studio("models/sentry.mdl") = monster_sentry : "Sentry Turret Gun"
[
spawnflags(Flags) =
[
32 : "Autostart" : 0
64 : "Start Inactive" : 0
]
]
@PointClass base(Monster, Sequence) size(-16 -16 0, 16 16 36) studio("models/w_squeak.mdl") = monster_snark : "Armed Snark" []
@PointClass base(Monster, Sequence) size(-32 -32 0, 32 32 64) studio("models/tentacle2.mdl") = monster_tentacle : "Tentacle Arm"
[
sweeparc(integer) : "Sweep Arc" : 130
sound(Choices) : "Tap Sound" : -1 =
[
-1 : "None"
0 : "Silo"
1 : "Dirt"
2 : "Water"
]
]
@PointClass base(Monster, Sequence) = monster_tripmine : "Active Tripmine"
[
spawnflags(Flags) =
[
1 : "Instant On" : 1
]
]
@PointClass base(Monster, Sequence) size(-32 -32 -32, 32 32 32) studio("models/turret.mdl") = monster_turret : "Auto Turret"
[
orientation(Choices) : "Orientation" : 0 =
[
0 : "Floor Mount"
1 : "Ceiling Mount"
]
spawnflags(Flags) =
[
32 : "Autostart" : 0
64 : "Start Inactive" : 0
]
]
@PointClass base(Monster, Sequence) size(-16 -16 0, 16 16 72) studio("models/zombie.mdl") = monster_zombie : "Scientist Zombie" []
@PointClass base(Targetname, Angles) size(-16 -16 -16, 16 16 16) = monstermaker : "Monster Maker"
[
target(string) : "Target On Release"
monstertype(string) : "Monster Type"
netname(string) : "Childrens' Name"
spawnflags(Flags) =
[
1 : "Start ON" : 0
// 2 : "PVS On/Off" : 0 // not implemented
4 : "Cyclic" : 0
8 : "MonsterClip" : 0
]

// how many monsters the monstermaker can create (-1 = unlimited)
monstercount(integer) : "Number of Monsters" : -1

// if delay is -1, new monster will be made when last monster dies.
// else, delay is how often (seconds) a new monster will be dookied out.
delay(string) : "Frequency" : "5"

// maximum number of live children allowed at one time. (New ones will not be made until one dies)
// -1 no limit
m_imaxlivechildren(integer) : "Max live children" : 5
]

@PointClass base(Targetname) color(255 128 0) = multi_manager : "MultiTarget Manager"
[
spawnflags(Flags) =
[
1 : "multithreaded" : 0
]
]

@PointClass base(Targetname, Target) color(128 255 128) = multisource : "Multisource"
[
globalstate(string) : "Global State Master"
]

@PointClass base(Targetname, Angles) size(16 16 16) color(247 181 82) = path_corner : "Moving platform stop"
[
spawnflags(Flags) =
[
1: "Wait for retrigger" : 0
2: "Teleport" : 0
4: "Fire once" : 0
]
target(target_destination) : "Next stop target"
message(target_destination) : "Fire On Pass"
wait(integer) : "Wait here (secs)" : 0
speed(integer) : "New Train Speed" : 0
yaw_speed(integer) : "New Train rot. Speed" : 0
]

@PointClass base(Targetname, Angles) 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
]
target(target_destination) : "Next stop target"
message(target_destination) : "Fire On Pass"
altpath(target_destination) : "Branch Path"
netname(target_destination) : "Fire on dead end"
speed(integer) : "New Train Speed" : 0
]

//
// player effects
//

@PointClass base(Targetname) size(-16 -16 -16, 16 16 16) = player_loadsaved : "Load Auto-Saved game"
[
duration(string) : "Fade Duration (seconds)" : "2"
holdtime(string) : "Hold Fade (seconds)" : "0"
renderamt(integer) : "Fade Alpha" : 255
rendercolor(color255) : "Fade Color (R G B)" : "0 0 0"
messagetime(string) : "Show Message delay" : "0"
message(string) : "Message To Display" : ""
loadtime(string) : "Reload delay" : "0"
]

@PointClass base(Targetname) size(-16 -16 -16, 16 16 16) = player_weaponstrip : "Strips player's weapons" []

@PointClass base(Targetname, Targetx) size(-16 -16 0, 16 16 72) color(255 0 255) = scripted_sentence : "Scripted Sentence"
[
spawnflags(Flags) =
[
1 : "Fire Once" : 1
2 : "Followers Only" : 0
4 : "Interrupt Speech" : 1
8 : "Concurrent" : 0
]
sentence(string) : "Sentence Name" : ""
entity(string) : "Speaker Type"
duration(string) : "Sentence Time" : "3"
radius(integer) : "Search Radius" : 512
refire(string) : "Delay Before Refire" : "3"
listener(string) : "Listener Type"
volume(string) : "Volume 0-10" : "10"
attenuation(Choices) : "Sound Radius" : 0 =
[
0 : "Small Radius"
1 : "Medium Radius"
2 : "Large Radius"
3 : "Play Everywhere"
]
]

@PointClass base(Targetname, Targetx, Angles) size(-16 -16 0, 16 16 72) color(255 0 255) = scripted_sequence : "Scripted Sequence"
[
m_iszEntity(string) : "Target Monster"
m_iszPlay(string) : "Action Animation" : ""
m_iszIdle(string) : "Idle Animation" : ""
m_flRadius(integer) : "Search Radius" : 512
m_flRepeat(integer) : "Repeat Rate ms" : 0
m_fMoveTo(choices) : "Move to Position" : 0 =
[
0 : "No"
1 : "Walk"
2 : "Run"
4 : "Instantaneous"
5 : "No - Turn to Face"
]
spawnflags(Flags) =
[
4 : "Repeatable" : 0
8 : "Leave Corpse" : 0
32: "No Interruptions" : 0
64: "Override AI" : 0
128: "No Script Movement" : 0
]
]

@PointClass iconsprite("sprites/speaker.spr") base(Targetname) = speaker : "Announcement Speaker"
[
preset(choices) :"Announcement Presets" : 0 =
[
0: "None"
1: "C1A0 Announcer"
2: "C1A1 Announcer"
3: "C1A2 Announcer"
4: "C1A3 Announcer"
5: "C1A4 Announcer"
6: "C2A1 Announcer"
7: "C2A2 Announcer"
// 8: "C2A3 Announcer"
9: "C2A4 Announcer"
// 10: "C2A5 Announcer"
11: "C3A1 Announcer"
12: "C3A2 Announcer"
]
message(string) : "Sentence Group Name"
health(integer) : "Volume (10 = loudest)" : 5
spawnflags(flags) =
[
1: "Start Silent" : 0
]
]

@PointClass base(Targetname) = 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"
]

//
// Triggers
//

@PointClass base(Targetx) = trigger_auto : "AutoTrigger"
[
spawnflags(Flags) =
[
1 : "Remove On fire" : 1
]
globalstate(string) : "Global State to Read"
triggerstate(choices) : "Trigger State" : 0 =
[
0 : "Off"
1 : "On"
2 : "Toggle"
]
]

@SolidClass base(Targetname) = trigger_autosave : "AutoSave Trigger"
[
master(string) : "Master"
]

@PointClass base(Targetx, Targetname) = trigger_camera : "Trigger Camera"
[
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"
]

@SolidClass base(Targetname) = trigger_cdaudio : "Trigger CD Audio"
[
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"
]
]

@SolidClass = trigger_changelevel : "Trigger: Change level"
[
targetname(string) : "Name"
map(string) : "New map name"
landmark(string) : "Landmark name"
changetarget(target_destination) : "Change Target"
changedelay(string) : "Delay before change target" : "0"
spawnflags(flags) =
[
1: "No Intermission" : 0
2: "USE Only" : 0
]
]

@PointClass base(Targetx, Targetname) = trigger_changetarget : "Trigger Change Target"
[
m_iszNewTarget(string) : "New Target"
]

@SolidClass base(Trigger, Targetname) = trigger_counter : "Trigger counter"
[
spawnflags(flags) =
[
1 : "No Message" : 0
]
master(string) : "Master"
count(integer) : "Count before activation" : 2
]

@SolidClass base(Targetname) = trigger_endsection : "EndSection Trigger"
[
section(string) : "Section"
spawnflags(flags) =
[
1: "USE Only" : 0
]
]

@SolidClass base(Trigger) = trigger_gravity : "Trigger Gravity"
[
gravity(integer) : "Gravity (0-1)" : 1
]

@SolidClass base(Targetname,Target) = trigger_hurt : "Trigger player hurt"
[
spawnflags(flags) =
[
1: "Target Once" : 0
2: "Start Off" : 0
8: "No clients" : 0
16:"FireClientOnly" : 0
32:"TouchClientOnly" : 0
]
master(string) : "Master"
dmg(integer) : "Damage" : 10
delay(string) : "Delay before trigger" : "0"
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"
]
]

@SolidClass base(Angles) = trigger_monsterjump : "Trigger monster jump"
[
master(string) : "Master"
speed(integer) : "Jump Speed" : 40
height(integer) : "Jump Height" : 128
]

@SolidClass base(Trigger) = trigger_multiple : "Trigger: Activate multiple"
[
wait(integer) : "Delay before reset" : 10
]

@SolidClass base(Trigger) = trigger_once : "Trigger: Activate once" []

@SolidClass base(Trigger, Angles) = trigger_push : "Trigger player push"
[
spawnflags(flags) =
[
1: "Once Only" : 0
2: "Start Off" : 0
]
speed(integer) : "Speed of push" : 40
]

@PointClass base(Targetname, Targetx) = trigger_relay : "Trigger Relay"
[
spawnflags(flags) =
[
1: "Remove On fire" : 0
]
triggerstate(choices) : "Trigger State" : 0 =
[
0: "Off"
1: "On"
2: "Toggle"
]
]

@SolidClass base(Trigger) = trigger_teleport : "Trigger teleport" []

@SolidClass base(Targetname) = trigger_transition : "Trigger: Select Transition Area" []

//
// weapons
//

@PointClass base(Weapon, Targetx) studio("models/w_crowbar.mdl") = weapon_crowbar : "Crowbar" []
@PointClass base(Weapon, Targetx) studio("models/w_9mmhandgun.mdl") = weapon_9mmhandgun : "9mm Handgun" []
@PointClass base(Weapon, Targetx) studio("models/w_357.mdl") = weapon_357 : "357 Handgun" []
@PointClass base(Weapon, Targetx) studio("models/w_9mmar.mdl") = weapon_9mmAR : "9mm Assault Rifle" []
@PointClass base(Weapon, Targetx) studio("models/w_shotgun.mdl") = weapon_shotgun : "Shotgun" []
@PointClass base(Weapon, Targetx) studio("models/w_rpg.mdl") = weapon_rpg : "RPG" []
@PointClass base(Weapon, Targetx) studio("models/w_gauss.mdl") = weapon_gauss : "Gauss Gun" []
@PointClass base(Weapon, Targetx) studio("models/w_crossbow.mdl") = weapon_crossbow : "Crossbow"
[
sequence(choices) : "Placement" : 0 =
[
0 : "Normal (flat)"
1 : "Realistic (tilted)"
]
]
@PointClass base(Weapon, Targetx) studio("models/w_egon.mdl") = weapon_egon : "Egon Gun" []
@PointClass base(Weapon, Targetx) size(-16 -16 -5, 16 16 27) = weapon_tripmine : "Tripmine Ammo" []
@PointClass base(Weapon, Targetx) studio("models/w_satchel.mdl") = weapon_satchel : "Satchel Charge Ammo" []
@PointClass base(Weapon, Targetx) studio("models/w_grenade.mdl") = weapon_handgrenade : "Handgrenade Ammo" []
@PointClass base(Weapon, Targetx) studio("models/w_squeak.mdl") = weapon_snark : "Squeak Grenade" []
@PointClass base(Weapon, Targetx) studio("models/w_hgun.mdl") = weapon_hornetgun : "Hornet Gun" []
@PointClass size(-16 -16 0, 16 16 64) color(0 128 0) studio("models/w_chainammo.mdl") = weaponbox : "Weapon/Ammo Container" []

@PointClass base(Weapon, Targetx) = world_items : "World Items"
[
type(choices) :"types" : 42 =
[
42: "Antidote"
43: "Security Card"
44: "Battery"
45: "Suit"
]
]

//
// Xen
//

@PointClass base(Target, Targetname, RenderFields, Angles) size(-48 -48 0, 48 48 32 ) studio("models/light.mdl") = xen_plantlight : "Xen Plant Light" []
@PointClass base(Targetname, RenderFields, Angles) size(-8 -8 0, 8 8 32 ) studio("models/hair.mdl") = xen_hair : "Xen Hair"
[
spawnflags(Flags) =
[
1 : "Sync Movement" : 0
]
]
@PointClass base(Targetname, RenderFields, Angles) size(-24 -24 0, 24 24 188 ) studio("models/tree.mdl") = xen_tree : "Xen Tree" []
@PointClass base(Targetname, RenderFields, Angles) size(-16 -16 0, 16 16 64 ) studio("models/fungus(small).mdl") = xen_spore_small : "Xen Spore (small)" []
@PointClass base(Targetname, RenderFields, Angles) size(-40 -40 0, 40 40 120 ) studio("models/fungus.mdl") = xen_spore_medium : "Xen Spore (medium)" []
@PointClass base(Targetname, RenderFields, Angles) size(-90 -90 0, 90 90 220 ) studio("models/fungus(large).mdl") = xen_spore_large : "Xen Spore (large)" []