Counter-Strike.fgd: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
No edit summary
(Last update: July 13th 2000)
Line 3: Line 3:
//
//
// Counter-Strike game definition file (.fgd)  
// Counter-Strike game definition file (.fgd)  
// For Worldcraft 2.1 and above
// Version 0.6.6 (Beta 6.6)
// Last update: August 17th 1999
// For Worldcraft 3.3 and above, and Half-Life 1.0.0.9 and above
// Last update: July 13th 2000
//
//
// by Justin DeJong aka N0TH1NG
// by Justin DeJong aka "N0TH1NG"
// modified from code by autolycus
// modified from code by Chris Bokitch aka "autolycus"
//
//


Line 26: Line 27:
// BaseClasses
// BaseClasses
//
//
@BaseClass = Angles
[
angles(string) : "Pitch Yaw Roll (Y Z X)" : "0 0 0"
]


@BaseClass = Targetname  
@BaseClass = Targetname  
Line 81: Line 87:
]
]


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


@BaseClass size(-16 -16 -16, 16 16 16) = gibshooterbase
@BaseClass size(-16 -16 -16, 16 16 16) base(Angles) = gibshooterbase
[
[
targetname (target_source) : "Name"
targetname (target_source) : "Name"
Line 140: Line 146:
]
]
delay(string) : "Delay before fire" : "0"
delay(string) : "Delay before fire" : "0"
gibmodel(string) : "Gib Model" : ""
gibmodel(studio) : "Gib Model" : ""
spawnobject(choices) : "Spawn On Break" : 0 =
spawnobject(choices) : "Spawn On Break" : 0 =
[
[
Line 148: Line 154:
]
]


@BaseClass base(Targetname, RenderFields) = Door
@BaseClass base(Targetname, RenderFields, Angles) = Door
[
[
killtarget(target_destination) : "KillTarget"
killtarget(target_destination) : "KillTarget"
Line 246: Line 252:
]
]


@BaseClass base(Targetname, Target, RenderFields) = BaseTank
@BaseClass base(Targetname, Target, RenderFields, Angles) = BaseTank
[
[
spawnflags(flags) =
spawnflags(flags) =
Line 264: Line 270:
barrely(string) : "Barrel Horizontal" : "0"
barrely(string) : "Barrel Horizontal" : "0"
barrelz(string) : "Barrel Vertical" : "0"
barrelz(string) : "Barrel Vertical" : "0"
spritesmoke(string) : "Smoke Sprite" : ""
spritesmoke(sprite) : "Smoke Sprite" : ""
spriteflash(string) : "Flash Sprite" : ""
spriteflash(sprite) : "Flash Sprite" : ""
spritescale(string) : "Sprite scale" : "1"
spritescale(string) : "Sprite scale" : "1"
rotatesound(string) : "Rotate Sound" : ""
rotatesound(sound) : "Rotate Sound" : ""
firerate(string) : "Rate of Fire" : "1"
firerate(string) : "Rate of Fire" : "1"
bullet_damage(string) : "Damage Per Bullet" : "0"
bullet_damage(string) : "Damage Per Bullet" : "0"
Line 352: Line 358:
[
[
4: "Pushables": 0
4: "Pushables": 0
]
]
@BaseClass = ZhltLightFlags
[
zhlt_lightflags(choices) :"Light Flags (Zhlt 2.2+)" : 0 =
[
0: "Normal"
1: "Embedded Fix"
2: "Opaque (Blocks Light)"
3: "Opaque + Embedded Fix"
]
]
]
]


//
//
// Environmental effects
// Cyclers
//
//


@BaseClass = BeamStartEnd
@PointClass base(Targetname, Angles) = cycler_sprite : "Sprite Cycler"
[
[
LightningStart(target_destination) : "Start Entity"  
model(sprite) : "Sprite"
LightningEnd(target_destination) : "Ending Entity"  
framerate(integer) : "Frames per second" : 10
]
renderfx(choices) :"Render FX" : 0 =
@PointClass base(Targetname, BeamStartEnd, RenderFxChoices) size(-16 -16 -16, 16 16 16) = env_beam : "Energy Beam Effect"
[
[
0: "Normal"
renderamt(integer) : "Brightness (1 - 255)" : 100
1: "Slow Pulse"
rendercolor(color255) : "Beam Color (R G B)" : "0 0 0"
2: "Fast Pulse"
Radius(integer) : "Radius" : 256
3: "Slow Wide Pulse"
life(string) : "Life (seconds 0 = infinite)" : "1"
4: "Fast Wide Pulse"
BoltWidth(integer) : "Width of beam (pixels*0.1 0-255)" : 20
9: "Slow Strobe"
NoiseAmplitude(integer) : "Amount of noise (0-255)" : 0
10: "Fast Strobe"
texture(string) : "Sprite Name" : "sprites/laserbeam.spr"
11: "Faster Strobe"
TextureScroll(integer) : "Texture Scroll Rate (0-100)" : 35
12: "Slow Flicker"
framerate(integer) : "Frames per 10 seconds" : 0
13: "Fast Flicker"
framestart(integer) : "Starting Frame" : 0
5: "Slow Fade Away"
StrikeTime(string) : "Strike again time (secs)" : "1"
6: "Fast Fade Away"
damage(string) : "Damage / second" : "0"
7: "Slow Become Solid"
spawnflags(flags) =  
8: "Fast Become Solid"
14: "Constant Glow"
15: "Distort"
16: "Hologram (Distort + fade)"
]
rendermode(choices) : "Render Mode" : 0 =
[
[
1 : "Start On" : 0
0: "Normal"
2 : "Toggle" : 0
1: "Color"
4 : "Random Strike" : 0
2: "Texture"
8 : "Ring" : 0
3: "Glow"
16: "StartSparks" : 0
4: "Solid"
32: "EndSparks" : 0
5: "Additive"
64: "Decal End" : 0
128: "Shade Start" : 0
256: "Shade End" : 0
]
]
renderamt(integer) : "FX Amount (1 - 255)"
rendercolor(color255) : "FX Color (R G B)" : "0 0 0"
]
]


@PointClass base(Targetname) size(-4 -4 -4, 4 4 4) = env_beverage : "Beverage Dispenser"
//
// Environmental effects
//
 
@BaseClass = BeamStartEnd
[
[
health(integer) : "Capacity" : 10
LightningStart(target_destination) : "Start Entity"  
skin(choices) : "Beverage Type" : 0 =
LightningEnd(target_destination) : "Ending Entity"  
[
]
0 : "Coca-Cola"
@PointClass base(Targetname, BeamStartEnd, RenderFxChoices) size(-16 -16 -16, 16 16 16) = env_beam : "Energy Beam Effect"
1 : "Sprite"
2 : "Diet Coke"
3 : "Orange"
4 : "Surge"
5 : "Moxie"
6 : "Random"
]
]
 
@PointClass base(Targetname) size(-16 -16 -16, 16 16 16) color(255 0 0) = env_blood : "Blood Effects"  
[
[
color(choices) : "Blood Color" : 0 =
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) =  
[
[
0 : "Red (Human)"
1 : "Start On" : 0
]
2 : "Toggle" : 0
amount(string) : "Amount of blood (damage to simulate)" : "100"
4 : "Random Strike" : 0
spawnflags(flags) =
8 : "Ring" : 0
[
16: "StartSparks" : 0
1: "Random Direction" : 0
32: "EndSparks" : 0
2: "Blood Stream" : 0
64: "Decal End" : 0
4: "On Player" : 0
128: "Shade Start" : 0
8: "Spray decals" : 0
256: "Shade End" : 0
]
]
]
]


@SolidClass base(Targetname) = env_bubbles : "Bubble Volume"  
@PointClass base(Targetname, Angles) size(-4 -4 -4, 4 4 4) = env_beverage : "Beverage Dispenser"
[
[
density(integer) : "Bubble density" : 2
health(integer) : "Capacity" : 10
frequency(integer) : "Bubble frequency" : 2
skin(choices) : "Beverage Type" : 0 =  
current(integer) : "Speed of Current" : 0
spawnflags(Flags) =  
[
[
1 : "Start Off" : 0
0 : "Coca-Cola"
1 : "Sprite"
2 : "Diet Coke"
3 : "Orange"
4 : "Surge"
5 : "Moxie"
6 : "Random"
]
]
]
]


@PointClass base(Targetname) size(-16 -16 -16, 16 16 16) = env_explosion : "Explosion"  
@PointClass base(Targetname, Angles) size(-16 -16 -16, 16 16 16) color(255 0 0) = env_blood : "Blood Effects"  
[
[
iMagnitude(Integer) : "Magnitude" : 100
color(choices) : "Blood Color" : 0 =
[
0 : "Red (Human)"
]
amount(string) : "Amount of blood (damage to simulate)" : "100"
spawnflags(flags) =
spawnflags(flags) =
[
[
1: "No Damage" : 0
1: "Random Direction" : 0
2: "Repeatable" : 0
2: "Blood Stream" : 0
4: "No Fireball" : 0
4: "On Player" : 0
8: "No Smoke" : 0
8: "Spray decals" : 0
16: "No Decal" : 0
32: "No Sparks" : 0
]
]
]
]


@PointClass base(Targetname, RenderFields) size(-4 -4 -4, 4 4 4) color(30 100 0) = env_glow : "Light Glow/Haze"  
@SolidClass base(Targetname) = env_bubbles : "Bubble Volume"  
[
[
model(string) : "model" : "sprites/glow01.spr"
density(integer) : "Bubble density" : 2
scale(string) : "Sprite Scale" : "1.0"
frequency(integer) : "Bubble frequency" : 2
]
current(integer) : "Speed of Current" : 0
 
spawnflags(Flags) =  
@PointClass base(Targetname, RenderFxChoices) 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(string) : "Sprite Name" : "sprites/laserbeam.spr"
EndSprite(string) : "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
1 : "Start Off" : 0
16: "StartSparks" : 0
32: "EndSparks" : 0
64: "Decal End" : 0
]
]
]
]


@PointClass base(Targetname, Target) size(-8 -8 -8, 8 8 8) = env_message : "HUD Text Message"  
@PointClass base(Targetname) size(-16 -16 -16, 16 16 16) = env_explosion : "Explosion"  
[
[
message(string) : "Message Name"
iMagnitude(Integer) : "Magnitude" : 100
spawnflags(flags) =
spawnflags(flags) =
[
[
1: "Play Once" : 0
1: "No Damage" : 0
2: "All Clients" : 0
2: "Repeatable" : 0
]
4: "No Fireball" : 0
messagesound(string) : "Sound effect"
8: "No Smoke" : 0
messagevolume(string) : "Volume 0-10" : "10"
16: "No Decal" : 0
messageattenuation(Choices) : "Sound Radius" : 0 =
32: "No Sparks" : 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"
@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) =
spawnflags(flags) =
[
[
1: "No Renderfx" : 0
1 : "Set Initial State" : 0
2: "No Renderamt" : 0
4: "No Rendermode" : 0
8: "No Rendercolor" : 0
]
]
]
]


@PointClass base(Targetname) size(-8 -8 -8, 8 8 8) = env_shake : "Screen Shake"  
@PointClass sprite() base(Targetname, RenderFields) size(-4 -4 -4, 4 4 4) color(30 100 0) = env_glow : "Light Glow/Haze"  
[
[
spawnflags(flags) =
model(sprite) : "model" : "sprites/glow01.spr"
scale(integer) : "Sprite Scale" : 1
]
 
@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: "GlobalShake" : 0
1 : "Start On" : 0
16: "StartSparks" : 0
32: "EndSparks" : 0
64: "Decal End" : 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"
@PointClass base(Targetname, Target) = env_message : "HUD Text Message"  
[
[
shootmodel(string) : "Model" : ""
message(string) : "Message Name"
shootsounds(choices) :"Material Sound" : -1 =
spawnflags(flags) =
[
[
-1: "None"
1: "Play Once" : 0
0: "Glass"
2: "All Clients" : 0
1: "Wood"
]
2: "Metal"
messagesound(sound) : "Sound effect"
3: "Flesh"
messagevolume(string) : "Volume 0-10" : "10"
4: "Concrete"
messageattenuation(Choices) : "Sound Radius" : 0 =
[
0 : "Small Radius"
1 : "Medium Radius"
2 : "Large  Radius"
3 : "Play Everywhere"
]
]
scale(string) : "Gib Scale" : ""
skin(integer) : "Gib Skin" : 0
]
]


@PointClass size(-8 -8 -8, 8 8 8) = env_sound : "DSP Sound"  
@PointClass base(Targetname, Target, RenderFields) size(-16 -16 -16, 16 16 16) color(100 100 0) = env_render : "Render Controls"
[
[
radius(integer) : "Radius" : 128
spawnflags(flags) =
roomtype(Choices) : "Room Type" : 0 =
[
[
0 : "Normal (off)"
1: "No Renderfx" : 0
1 : "Generic"
2: "No Renderamt" : 0
4: "No Rendermode" : 0
2 : "Metal Small"
8: "No Rendercolor" : 0
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"
@PointClass base(Targetname) = env_shake : "Screen Shake"  
12: "Bright Medium"
[
13: "Bright Large"
spawnflags(flags) =
 
[
14: "Water 1"
1: "GlobalShake" : 0
15: "Water 2"
]
16: "Water 3"
amplitude(string) : "Amplitude 0-16" : "4"
 
radius(string) : "Effect radius" : "500"
17: "Concrete Small"
duration(string) : "Duration (seconds)" : "1"
18: "Concrete Medium"
frequency(string) : "0.1 = jerk, 255.0 = rumble" : "2.5"
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) size(-16 -16 -16, 16 16 16) = env_spark : "Spark"  
@PointClass base(gibshooterbase, RenderFields) size(-16 -16 -16, 16 16 16) = env_shooter : "Model Shooter"
[
[
MaxDelay(string) : "Max Delay" : "0"
shootmodel(studio) : "Model" : ""
spawnflags(flags) =
shootsounds(choices) :"Material Sound" : -1 =
[
[
32: "Toggle" : 0
-1: "None"
64: "Start ON" : 0
0: "Glass"
1: "Wood"
2: "Metal"
3: "Flesh"
4: "Concrete" 
]
]
scale(string) : "Gib Scale" : ""
skin(integer) : "Gib Skin" : 0
]
]


@PointClass base(Targetname, RenderFields) size(-4 -4 -4, 4 4 4) = env_sprite : "Sprite Effect"  
@PointClass iconsprite("sprites/speaker.spr") = env_sound : "DSP Sound"  
[
[
framerate(string) : "Framerate" : "10.0"
radius(integer) : "Radius" : 128
model(string) : "Sprite Name" : "sprites/glow01.spr"
roomtype(Choices) : "Room Type" : 0 =
scale(string) : "Scale" : ""
spawnflags(flags) =
[
[
1: "Start on" : 0
0 : "Normal (off)"
2: "Play Once" : 0
1 : "Generic"
]
]
2 : "Metal Small"
 
3 : "Metal Medium"
//
4 : "Metal Large"
// Function entities
//
5 : "Tunnel Small"
6 : "Tunnel Medium"
7 : "Tunnel Large"
8 : "Chamber Small"
9 : "Chamber Medium"
10: "Chamber Large"


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


@SolidClass base(Targetname, RenderFields) = func_button : "Button"  
14: "Water 1"
[
15: "Water 2"
speed(integer) : "Speed" : 5
16: "Water 3"
target(target_destination) : "Targetted object"
 
netname(target_destination) : "Target Path"
17: "Concrete Small"
// Path Target overrides Targetted Object
18: "Concrete Medium"
health(integer) : "Health (shootable if > 0)"
19: "Concrete Large"
lip(integer) : "Lip"
 
master(string) : "Master"  
20: "Big 1"
sounds(choices) : "Sounds" : 0 =
21: "Big 2"
[
22: "Big 3"
0: "None"
 
1: "Big zap & Warmup"
23: "Cavern Small"
2: "Access Denied"
24: "Cavern Medium"
3: "Access Granted"
25: "Cavern Large"
4: "Quick Combolock"
 
5: "Power Deadbolt 1"
26: "Weirdo 1"
6: "Power Deadbolt 2"
27: "Weirdo 2"
7: "Plunger"
28: "Weirdo 3"
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"
 
@PointClass base(Targetname, Angles) size(-16 -16 -16, 16 16 16) = env_spark : "Spark"
[
MaxDelay(string) : "Max Delay" : "0"
spawnflags(flags) =
spawnflags(flags) =
[
[
1: "Don't move" : 0
32: "Toggle" : 0
32: "Toggle" : 0
64: "Sparks" : 0
64: "Start ON" : 0
256:"Touch Activates": 0
]
]
locked_sound(choices) : "Locked Sound" : 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(integer) : "Scale" : 1
spawnflags(flags) =
[
[
0: "None"
1: "Start on" : 0
2: "Access Denied"
2: "Play Once" : 0
8: "Small zap"
10: "Buzz"
11: "Buzz Off"
12: "Latch Locked"
]
]
unlocked_sound(choices) : "Unlocked Sound" : 0 =  
]
 
//
// Function entities
//
 
@SolidClass base(Breakable, RenderFields) = func_breakable : "Breakable Object"  
[
spawnflags(flags) =
[
[
0: "None"
1 : "Only Trigger" : 0
1: "Big zap & Warmup"
2 : "Touch"   : 0
4 : "Pressure"    : 0
256: "Instant Crowbar" : 1
]
_minlight(string) : "Minimum light level"
]
 
@SolidClass base(Targetname, RenderFields, Angles) = func_button : "Button"
[
speed(integer) : "Speed" : 5
target(target_destination) : "Targetted object"
netname(target_destination) : "Target Path"
// Path Target overrides Targetted Object
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"
3: "Access Granted"
4: "Quick Combolock"
4: "Quick Combolock"
Line 672: Line 719:
9: "Keycard Sound"
9: "Keycard Sound"
10: "Buzz"
10: "Buzz"
13: "Latch Unlocked"
11: "Buzz Off"
14: "Lightswitch"
14: "Lightswitch"
]
]
locked_sentence(choices) : "Locked Sentence" : 0 =  
wait(integer) : "delay before reset (-1 stay)" : 3
delay(string) : "Delay before trigger" : "0"
spawnflags(flags) =
[
[
0: "None"
1: "Don't move" : 0
1: "Gen. Access Denied"
32: "Toggle" : 0
2: "Security Lockout"
64: "Sparks" : 0
3: "Blast Door"
256:"Touch Activates": 0
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 =  
locked_sound(choices) : "Locked Sound" : 0 =  
[
[
0: "None"
0: "None"
1: "Gen. Access Granted"
2: "Access Denied"
2: "Security Disengaged"
8: "Small zap"
3: "Blast Door"
10: "Buzz"
4: "Fire Door"
11: "Buzz Off"
5: "Chemical Door"
12: "Latch Locked"
6: "Radiation Door"
]
7: "Gen. Containment"
unlocked_sound(choices) : "Unlocked Sound" : 0 =
8: "Maintenance area"
[
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"
]
]
_minlight(string) : "Minimum light level"
locked_sentence(choices) : "Locked Sentence" : 0 =  
]
 
@SolidClass base(RenderFields, Targetname) = func_conveyor : "Conveyor Belt"
[
spawnflags(flags) =
[
[
1 : "No Push" : 0
0: "None"
2 : "Not Solid" : 0
1: "Gen. Access Denied"
]
2: "Security Lockout"
speed(string) : "Conveyor Speed" : "100"
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"
_minlight(string) : "Minimum light level"
]
]


@SolidClass base(Door) = func_door : "Basic door" []
@SolidClass base(RenderFields, Targetname, Angles) = func_conveyor : "Conveyor Belt"
 
[
@SolidClass base(Door) = func_door_rotating : "Rotating door"  
spawnflags(flags) =
[
1 : "No Push" : 0
2 : "Not Solid" : 0
]
speed(string) : "Conveyor Speed" : "100"
_minlight(string) : "Minimum light level"
]
 
@SolidClass base(Door) = func_door : "Basic door" []
 
@SolidClass base(Door) = func_door_rotating : "Rotating door"  
[
[
spawnflags(flags) =
spawnflags(flags) =
Line 734: Line 814:
]
]


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


Line 745: Line 825:
]
]


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


@SolidClass base(Targetname) = func_mortar_field : "Mortar Field"  
@SolidClass base(Targetname) = func_mortar_field : "Mortar Field"  
Line 761: Line 841:
]
]


@SolidClass base(Targetname, RenderFields) = func_pendulum : "Swings back and forth"  
@SolidClass base(Targetname, RenderFields, Angles) = func_pendulum : "Swings back and forth"  
[
[
speed(integer) : "Speed" : 100
speed(integer) : "Speed" : 100
Line 777: Line 857:


_minlight(integer) : "_minlight"
_minlight(integer) : "_minlight"
angles(string) : "Pitch Yaw Roll (Y Z X)" : "0 0 0"
]
]


Line 791: Line 870:
]
]


@SolidClass base(Targetname, RenderFields, PlatSounds) = func_platrot : "Moving Rotating platform"  
@SolidClass base(Targetname, RenderFields, PlatSounds, Angles) = func_platrot : "Moving Rotating platform"  
[
[
spawnflags(Flags) =
spawnflags(Flags) =
Line 802: Line 881:
height(integer) : "Travel altitude (can be negative)" : 0
height(integer) : "Travel altitude (can be negative)" : 0
rotation(integer) : "Spin amount" : 0
rotation(integer) : "Spin amount" : 0
angles(string) : "Pitch Yaw Roll (Y Z X)" : "0 0 0"
_minlight(string) : "Minimum light level"
_minlight(string) : "Minimum light level"
]
]
Line 824: Line 902:
]
]


@SolidClass base(Targetname) = func_rot_button : "RotatingButton"  
@SolidClass base(Targetname, Angles) = func_rot_button : "RotatingButton"  
[
[
target(target_destination) : "Targetted object"
target(target_destination) : "Targetted object"
Line 855: Line 933:
]
]
_minlight(integer) : "_minlight"
_minlight(integer) : "_minlight"
angles(string) : "Pitch Yaw Roll (Y Z X)" : "0 0 0"
]
]


@SolidClass base(Targetname, RenderFields) = func_rotating : "Rotating Object"
@SolidClass base(Targetname, RenderFields, Angles) = func_rotating : "Rotating Object"
[
[
speed(integer) : "Rotation Speed" : 0
speed(integer) : "Rotation Speed" : 0
Line 872: Line 949:
5 : "Slow Smooth"
5 : "Slow Smooth"
]
]
message(string) : "Path/filename.wav of WAV"
message(sound) : "WAV Name"
spawnflags(flags) =
spawnflags(flags) =
[
[
Line 887: Line 964:
]
]
_minlight(integer) : "_minlight"
_minlight(integer) : "_minlight"
angles(string) : "Pitch Yaw Roll (Y Z X)" : "0 0 0"
spawnorigin(string) : "X Y Z - Move here after lighting" : "0 0 0"
spawnorigin(string) : "X Y Z - Move here after lighting" : "0 0 0"
dmg(integer) : "Damage inflicted when blocked" : 0
dmg(integer) : "Damage inflicted when blocked" : 0
Line 925: Line 1,001:
]
]


@SolidClass base(Targetname, RenderFields) = func_tracktrain : "Track Train"  
@SolidClass base(Targetname, RenderFields, Angles) = func_tracktrain : "Track Train"  
[
[
spawnflags(flags) =
spawnflags(flags) =
Line 1,002: Line 1,078:
]
]


@SolidClass base(Targetname, RenderFields) = func_wall : "Wall"  
@SolidClass base(Targetname, RenderFields, ZhltLightFlags) = func_wall : "Wall"  
[
[
_minlight(string) : "Minimum light level"
_minlight(string) : "Minimum light level"
Line 1,035: Line 1,111:
//
//


@PointClass base(Targetname) size(-8 -8 -8, 8 8 8) = infodecal : "Decal"
@PointClass decal() base(Targetname) = infodecal : "Decal"
[
[
texture(decal)
texture(decal)
Line 1,042: Line 1,118:
@PointClass base(Targetname) = info_null : "info_null (spotlight target)" []
@PointClass base(Targetname) = info_null : "info_null (spotlight target)" []


@PointClass base(PlayerClass) = info_player_deathmatch : "Terrorist start" []
@PointClass iconsprite("sprites/CS/Terrorist.spr") base(PlayerClass) = info_player_deathmatch : "Terrorist start" []


@PointClass base(PlayerClass) = info_player_start : "Counter-terrorist start" []
@PointClass iconsprite("sprites/CS/CT.spr") base(PlayerClass) = info_player_start : "Counter-terrorist start" []
 
@PointClass iconsprite("sprites/CS/VIP.spr") base(PlayerClass) = info_vip_start : "VIP start" []




Line 1,053: Line 1,131:
//
//


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


@PointClass = light_environment : "Environment"  
@PointClass base(Angles) iconsprite("sprites/lightbulb.spr") = light_environment : "Environment"  
[
[
pitch(integer) : "Pitch" : 0
pitch(integer) : "Pitch" : 0
Line 1,064: Line 1,142:
]
]


@PointClass base(Targetname, Target) = light_spot : "Spotlight"  
@PointClass base(Targetname, Target, Angles) iconsprite("sprites/lightbulb.spr") = light_spot : "Spotlight"  
[
[
_cone(integer) : "Inner (bright) angle" : 30
_cone(integer) : "Inner (bright) angle" : 30
Line 1,187: Line 1,265:
@SolidClass base(Trigger) = trigger_once : "Trigger: Activate once" []
@SolidClass base(Trigger) = trigger_once : "Trigger: Activate once" []


@SolidClass base(Trigger) = trigger_push : "Trigger player push"
@SolidClass base(Trigger, Angles) = trigger_push : "Trigger player push"
[
[
spawnflags(flags) =  
spawnflags(flags) =  
Line 1,217: Line 1,295:
//
//


@PointClass base(Targetname) = ambient_generic : "Universal Ambient"
@PointClass base(Targetname) iconsprite("sprites/speaker.spr") = ambient_generic : "Universal Ambient"
[
[
message(string) : "Path/filename.wav of WAV"
message(sound) : "Path/filename.wav of WAV"
health(integer) : "Volume (10 = loudest)" : 10
health(integer) : "Volume (10 = loudest)" : 10
preset(choices) :"Dynamic Presets" : 0 =
preset(choices) :"Dynamic Presets" : 0 =
Line 1,275: Line 1,353:
]
]


@SolidClass base(Target) = button_target : "Target Button"
@SolidClass base(Target, Angles) = button_target : "Target Button"
[
[
spawnflags(flags) =
spawnflags(flags) =
Line 1,324: Line 1,402:
]
]


@SolidClass base(RenderFields, Targetname) = momentary_rot_button : "Direct wheel control"  
@SolidClass base(RenderFields, Targetname, Angles) = momentary_rot_button : "Direct wheel control"  
[
[
target(target_destination) : "Targetted object"
target(target_destination) : "Targetted object"
Line 1,358: Line 1,436:
]
]
_minlight(integer) : "_minlight"
_minlight(integer) : "_minlight"
angles(string) : "Pitch Yaw Roll (Y Z X)" : "0 0 0"
]
]


Line 1,369: Line 1,446:
]
]


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


@PointClass base(Targetname) size(16 16 16) color(247 181 82) = path_corner : "Moving platform stop"
@PointClass base(Targetname, Angles) size(16 16 16) color(247 181 82) = path_corner : "Moving platform stop"
[
[
spawnflags(Flags) =
spawnflags(Flags) =
Line 1,398: Line 1,478:
message(target_destination) : "Fire On Pass"
message(target_destination) : "Fire On Pass"
altpath(target_destination) : "Branch Path"
altpath(target_destination) : "Branch Path"
netname(target_destination) : "Fire on dead end"
netname(target_destination) : "Fire on dead end"
speed(integer) : "New Train Speed" : 0
speed(integer) : "New Train Speed" : 0
]
 
//
// CS-specific entities
//
 
@PointClass iconsprite("sprites/CS/Hostage.spr") base(PlayerClass) = hostage_entity : "Hostage"
[
model(string) : "Model" : "models/hostage.mdl"
skin(integer) : "Skin" : 0
]
 
@PointClass iconsprite("sprites/CS/HostageRescue.spr") = info_hostage_rescue : "Hostage rescue point" []
 
@SolidClass = func_hostage_rescue : "Hostage rescue zone" []
 
@PointClass iconsprite("sprites/CS/BombTarget.spr") = info_bomb_target : "Bomb target point" []
 
@SolidClass = func_bomb_target : "Bomb target zone"
[
target(target_destination) : "Target (when bomb blows)"
]
 
@SolidClass = func_buyzone : "Buy zone"
[
team(choices) : "Team" : 0 =
[
0: "All teams (unassigned)"
1: "Terrorist"
2: "Counter-terrorist"
]
]
 
@SolidClass = func_escapezone : "Terrorist escape zone" []
 
@SolidClass = func_vip_safetyzone : "VIP safety zone" []
 
@PointClass iconsprite("sprites/CS/Armoury.spr") size(-16 -16 0, 16 16 16) = armoury_entity : "Items in the armoury"
[
item(choices)  : "Item" : 0 =
[
0: "weapon_mp5"
1: "weapon_tmp"
2: "weapon_p90"
3: "weapon_mac10"
4: "weapon_ak47"
5: "weapon_sg552"
6: "weapon_m4a1"
7: "weapon_aug"
8: "weapon_scout"
9: "weapon_g3sg1"
10: "weapon_awp"
11: "weapon_m3"
12: "weapon_xm1014"
13: "weapon_m249"
14: "weapon_flashbang"
15: "weapon_hegrenade"
16: "item_kevlar"
17: "item_assaultsuit"
18: "weapon_smokegrenade"
]
count(integer) : "Count" : 1
]
 
@PointClass iconsprite("sprites/CS/MapParams.spr") = info_map_parameters : "Miscellaneous mapping parameters"
[
buying(choices)  : "Weapon_Buying" : 0 =
[
0: "Both teams can buy guns"
1: "Only CT's can buy guns"
2: "Only T's can buy guns"
3: "Neither CT's nor T's can buy guns"
]
bombradius(integer) : "Bomb Radius" : 500
]
 
 
@SolidClass base(Targetname, RenderFields, Angles) = func_vehicle : "Drivable Vehicles"
[
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" : 1 =
[
0: "None"
1: "Car 1"
2: "Car 2"
3: "Truck 1"
4: "Truck 2"
5: "Boat 1"
6: "Boat 2"
]
length(integer) : "Length of the vehicle" : 256
width(integer) : "Width of the vehicle" : 128
height(integer) : "Height above track" : 16
startspeed(integer) : "Initial speed" : 0
speed(integer) : "Speed (units per second)" : 64
acceleration(integer) : "Acceleration (1-10)" : 5
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_vehiclecontrols : "Vehicle Controls"
//////////////////////////////////////////////////////////////////////////////
// CS-specific entities
//
 
@PointClass size(-16 -16 0, 16 16 72) = hostage_entity : "Hostage"
[
model(string) : "Model" : "models/scientist.mdl"
skin(integer) : "Skin" : 0
]
 
@PointClass size(-8 -8 -8, 8 8 8) = info_hostage_rescue : "Hostage rescue point" []
 
@SolidClass = func_hostage_rescue : "Hostage rescue zone" []
 
@PointClass size(-8 -8 -8, 8 8 8) = info_bomb_target : "Bomb target point" []
 
@SolidClass = func_bomb_target : "Bomb target zone"
[
[
target(target_destination) : "Target (when bomb blows)"
target(target_destination) : "Vehicle Name"
]
 
@SolidClass = func_buyzone : "Buy zone"
[
team(choices) : "Team" : 0 =
[
0: "All teams (unassigned)"
1: "Terrorist"
2: "Counter-terrorist"
]
]
]



Revision as of 00:16, 15 January 2011

Counter-Strike
//
// Counter-Strike game definition file (.fgd) 
// Version 0.6.6 (Beta 6.6)
// For Worldcraft 3.3 and above, and Half-Life 1.0.0.9 and above
// Last update: July 13th 2000
//
// by Justin DeJong aka "N0TH1NG"
// modified from code by Chris Bokitch aka "autolycus"
//

//
// Worldspawn
//

@SolidClass = worldspawn : "World entity"
[
	message(string) : "Map Description / Title"
	skyname(string) : "environment map (cl_skyname)"
	light(integer) : "Default light level"
	WaveHeight(string) : "Default Wave Height"
	MaxRange(string) : "Max viewable distance" : "4096"
]

//
// BaseClasses
//

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

@BaseClass = Targetname 
[ 
	targetname(target_source) : "Name"
]
@BaseClass = Target 
[ 
	target(target_destination) : "Target" 
]

@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 size(-16 -16 -36, 16 16 36) color(0 255 0) base(Angles) = PlayerClass []

@BaseClass size(-16 -16 -16, 16 16 16) base(Angles) = gibshooterbase
[
	targetname (target_source) : "Name"
	m_iGibs(integer) : "Number of Gibs" : 3
	delay(string) : "Delay between shots" : "0"
	m_flVelocity(integer) : "Gib Velocity" : 200
	m_flVariance(string) : "Course Variance" : "0.15"
	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) = 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"
	]
	explodemagnitude(integer) : "Explode Magnitude (0=none)" : 0
]

@BaseClass base(Targetname, RenderFields, 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
	]
	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, Angles) = BaseTank
[
	spawnflags(flags) =
	[
		1 : "Active" : 0
		16: "Only Direct" : 0
		32: "Controllable" : 0
	]

	yawrate(string) : "Yaw rate" : "30"
	yawrange(string) : "Yaw range" : "180"
	yawtolerance(string) : "Yaw tolerance" : "15"
	pitchrate(string) : "Pitch rate" : "0"
	pitchrange(string) : "Pitch range" : "0"
	pitchtolerance(string) : "Pitch tolerance" : "5"
	barrel(string) : "Barrel Length" : "0"
	barrely(string) : "Barrel Horizontal" : "0"
	barrelz(string) : "Barrel Vertical" : "0"
	spritesmoke(sprite) : "Smoke Sprite" : ""
	spriteflash(sprite) : "Flash Sprite" : ""
	spritescale(string) : "Sprite scale" : "1"
	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, 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"
	style(integer) : "Style" : 32
	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) = 
	[
		4: "Pushables": 0
	]
]

@BaseClass = ZhltLightFlags
[
	zhlt_lightflags(choices) :"Light Flags (Zhlt 2.2+)" : 0 =
	[
		0: "Normal"
		1: "Embedded Fix"
		2: "Opaque (Blocks Light)"
		3: "Opaque + Embedded Fix"
	]
]

//
// Cyclers
//

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

//
// 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)"
	]
	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) : "model" : "sprites/glow01.spr"
	scale(integer) : "Sprite Scale" : 1
]

@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" : ""
	shootsounds(choices) :"Material Sound" : -1 =
	[
		-1: "None"
		0: "Glass"
		1: "Wood"
		2: "Metal"
		3: "Flesh"
		4: "Concrete"  
	]
	scale(string) : "Gib 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(integer) : "Scale" : 1
	spawnflags(flags) =
	[
		1: "Start on" : 0
		2: "Play Once" : 0
	]
]

//
// Function entities
//

@SolidClass base(Breakable, RenderFields) = 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(Targetname, RenderFields, Angles) = func_button : "Button" 
[
	speed(integer) : "Speed" : 5
	target(target_destination) : "Targetted object"
	netname(target_destination) : "Target Path"
	// Path Target overrides Targetted Object
	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(RenderFields, Targetname, Angles) = 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) = func_door : "Basic door" []

@SolidClass base(Door) = 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
	angles(string) : "Pitch Yaw Roll (Y Z X)" : "0 0 0"
]

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

@SolidClass base(Targetname, RenderFields, ZhltLightFlags) = 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_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(Targetname, RenderFields, Angles) = 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, RenderFields, PlatSounds) = 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, RenderFields, PlatSounds, Angles) = 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) = 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(Targetname, Angles) = func_rot_button : "RotatingButton" 
[
	target(target_destination) : "Targetted object"
	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, RenderFields, Angles) = 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) = 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) = func_tankmortar : "Brush Mortar Turret" 
[
	iMagnitude(Integer) : "Explosion Magnitude" : 100
]

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

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

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

@SolidClass base(Targetname, RenderFields, Angles) = 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 base(Targetname, RenderFields) = 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
	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 = func_traincontrols : "Train Controls"
[
	target(target_destination) : "Train Name"
]

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

//
// Info entities
//

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

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

@PointClass iconsprite("sprites/CS/Terrorist.spr") base(PlayerClass) = info_player_deathmatch : "Terrorist start" []

@PointClass iconsprite("sprites/CS/CT.spr") base(PlayerClass) = info_player_start : "Counter-terrorist start" []

@PointClass iconsprite("sprites/CS/VIP.spr") base(PlayerClass) = info_vip_start : "VIP start" []


@PointClass base(Targetname) size(-4 -4 -4, 4 4 4) color(200 100 50) = info_target : "Beam Target" []

//
// Light entities
//

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

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

@PointClass base(Targetname, Target, Angles) iconsprite("sprites/lightbulb.spr") = 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"
]

//
// Trigger entities
//

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

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

@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,Target) = trigger_hurt : "Trigger player hurt" 
[
	spawnflags(flags) = 
	[ 
		1: "Target Once" : 0 
		2: "Start Off" : 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(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" []

//
// Miscellaneous entities
//

@PointClass base(Targetname) iconsprite("sprites/speaker.spr") = 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
	spawnflags(flags) =
	[
		1: "Play Everywhere" : 0
		2: "Small Radius" : 0
		4: "Medium Radius" : 1
		8: "Large Radius" : 0
		16:"Start Silent":0
		32:"Is NOT Looped":0
	]
]

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

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

@SolidClass base(RenderFields, Targetname, Angles) = momentary_rot_button : "Direct wheel control" 
[
	target(target_destination) : "Targetted object"
	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"
]

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

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

//
// CS-specific entities
//

@PointClass iconsprite("sprites/CS/Hostage.spr") base(PlayerClass) = hostage_entity : "Hostage" 
[
	model(string) : "Model" : "models/hostage.mdl"
	skin(integer) : "Skin" : 0
]

@PointClass iconsprite("sprites/CS/HostageRescue.spr") = info_hostage_rescue : "Hostage rescue point" []

@SolidClass = func_hostage_rescue : "Hostage rescue zone" []

@PointClass iconsprite("sprites/CS/BombTarget.spr") = info_bomb_target : "Bomb target point" []

@SolidClass = func_bomb_target : "Bomb target zone"
[
	target(target_destination) : "Target (when bomb blows)"
]

@SolidClass = func_buyzone : "Buy zone" 
[
	team(choices) : "Team" : 0 =
	[
		0: "All teams (unassigned)"
		1: "Terrorist"
		2: "Counter-terrorist"
	]
]

@SolidClass = func_escapezone : "Terrorist escape zone" []

@SolidClass = func_vip_safetyzone : "VIP safety zone" []

@PointClass iconsprite("sprites/CS/Armoury.spr") size(-16 -16 0, 16 16 16) = armoury_entity : "Items in the armoury" 
[
	item(choices)  : "Item" : 0 = 
	[
		0: "weapon_mp5"
		1: "weapon_tmp"
		2: "weapon_p90"
		3: "weapon_mac10"
		4: "weapon_ak47"
		5: "weapon_sg552"
		6: "weapon_m4a1"
		7: "weapon_aug"
		8: "weapon_scout"
		9: "weapon_g3sg1"
		10: "weapon_awp"
		11: "weapon_m3"
		12: "weapon_xm1014"
		13: "weapon_m249"
		14: "weapon_flashbang"
		15: "weapon_hegrenade"
		16: "item_kevlar"
		17: "item_assaultsuit"
		18: "weapon_smokegrenade"
	]
	count(integer) : "Count" : 1
]

@PointClass iconsprite("sprites/CS/MapParams.spr") = info_map_parameters : "Miscellaneous mapping parameters"
[
	buying(choices)  : "Weapon_Buying" : 0 =
	[
		0: "Both teams can buy guns"
		1: "Only CT's can buy guns"
		2: "Only T's can buy guns"
		3: "Neither CT's nor T's can buy guns"
	]
	bombradius(integer) : "Bomb Radius" : 500
]


@SolidClass base(Targetname, RenderFields, Angles) = func_vehicle : "Drivable Vehicles" 
[
	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" : 1 =
	[
		0: "None"
		1: "Car 1"
		2: "Car 2"
		3: "Truck 1"
		4: "Truck 2"
		5: "Boat 1"
		6: "Boat 2"
	]
	length(integer) : "Length of the vehicle" : 256
	width(integer) : "Width of the vehicle" : 128
	height(integer) : "Height above track" : 16
	startspeed(integer) : "Initial speed" : 0
	speed(integer) : "Speed (units per second)" : 64
	acceleration(integer) : "Acceleration (1-10)" : 5
	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_vehiclecontrols : "Vehicle Controls"
[
	target(target_destination) : "Vehicle Name"
]