diff --git a/regamedll/extra/Toolkit/GameDefinitionFile/regamedll-cs.fgd b/regamedll/extra/Toolkit/GameDefinitionFile/regamedll-cs.fgd
new file mode 100644
index 00000000..26a39d3a
--- /dev/null
+++ b/regamedll/extra/Toolkit/GameDefinitionFile/regamedll-cs.fgd
@@ -0,0 +1,2831 @@
+// -----------------------------------------------------------------------
+// Counter-Strike game definition file (.fgd)
+// Version 0.9.0.0
+// Valve Hammer Editor >= 3.5
+// Last update: September 25th, 2016
+// -----------------------------------------------------------------------
+// Based on FGD 0.8.0.0 by Dmitrich!
+//
+// Full compatibility with https://github.com/s1lentq/ReGameDLL_CS
+// -----------------------------------------------------------------------
+// September 25th, 2016 - s1lent (0.9.0.0)
+// - Removed xen entities.
+// - Added iconsprite for entity game_zone_player
+// - Added new spawnflags for trigger_auto, trigger_once, func_door
+// -----------------------------------------------------------------------
+//
+//
+//
+//
+//
+//
+// --------------------------------------------------------------------------------
+// HISTORY CHANGELOG
+// --------------------------------------------------------------------------------
+// February 21, 2004 - Dmitrich! (0.8.0.0)
+// - updated properties of info_compile_parameters (now supports all features of ZHLT 2.5.3-1.7)
+// - added info_texlights entity (supported by ZHLT 2.5.3-1.7)
+// - updated with studio() references to enable model display
+// in 3D view in Hammer 3.5b (entities: cycler, cycler_sprite)
+// - added @BaseClass = Sequence (for model animation support)
+// - added style parameter to func_wall (texlights on func_wall can now
+// pulse, flicker, and switch on and off. Works only with ZHLT 2.5.3-1.7 & above).
+// -----------------------------------------------------------------------
+// June 15, 2003 - tommy (0.7.9.2e)
+// - Added flag 2 to trigger_multiple for no player activation for soccer maps.
+// - Style property commented out for triggers, seems to serve no purpose.
+// - Added light style 12 underwater weird - buggy. not really a light source.
+// - Added to func_pushable choice 2, breakable by player touch - buggy
+// -----------------------------------------------------------------------
+// January 21st, 2003 - KeshTath (0.7.9.2)
+// - Added weapon_shieldgun to game_player_equip.
+// - Added weapon_galil to game_player_equip.
+// - Added weapon_famas to game_player_equip.
+// NOTE: You cannot add any of the new weapons to the armoury_entity, They did not
+// put in any code to allow you to add the UMP, SG550 or any of the new 1.6 weapons.
+//-----------------------------------------------------------------------
+// Oct 7th, 2002 - tommy (0.7.8.1)
+// added Lauries new entity properties for switchable texture lighting
+//------------------------------------------------------------------------------
+// Aug 19th, 2002 - tommy (0.7.8enhanced)
+// - fixed env_blood choices
+// -----------------------------------------------------------------------------
+// Aug 11th, 2002 - tommy (0.7.8enhanced)
+// - added editing sprites for: monster_cycler, cycler_wreckage, env_beam, env_blood, env_explosion
+// env_glow, env_fade, env_laser, env_render, env_sprite, env_smoke, gibshooter, path_track, path_corner.
+// --------------------------------------------------------------------------------
+// Aug 2nd, 2002 - tommy (0.7.8enhanced)
+// - added sound choices to base trigger copied from button sound choices.
+// - added body choice for use with scientist.mdl to hostage entity.
+// - added sequence(string) to cycler_sprite to give control over model animations.
+// - fixed some comment errors, also modified and added more to some entitys.
+// --------------------------------------------------------------------------------
+// April 29th, 2002 - tommy (0.7.8enhanced)
+// - added notes on various entitys and choices from Lauri of Spirit of HL and from Waldo's
+// various notes on DoD and CS fgds, as well as my own.
+// - Removed renderfield string codes and replaced them with "Renderfields"
+// baseclasses for cycler_wreckage,
+// - env_fog upgraded to the choices/abilities other mods use, in case CS upgrades to full fog someday.
+// - added property of "shade"(_diffuse_light) to light enviornment for adam foster's hack of HLRAD, so that
+// shadows can be given a specific color.
+// - added skins for "water" (-3), "slime" (-4), "lava" (-5) and "make ladder" (-16) to func_illusionary
+// - added spawnflags "only trigger" (1) and "pressure" (4) to func_pushable as other ways to break it.
+// - gave func_train ALL the same skins as func_illusionary & func_water, even though the skins work oddly for a train.
+// - added skins "empty" (-1) and "ladder" (-16) to func_water. note "ladder" only works with non ! textures.
+//-----------------------------------------------------------------------
+// April 7th, 2002 - fjl (0.7.8)
+// - Global baseclass is a single player map option. The following baseclasses and
+// entities listed could support it so I added it to them.
+// BASECLASSES: Breakable, door, Basetank and Trackchange
+// SOLID ENTITIES func_button, func_conveyor, func_pendulum, func_plat,
+// func_rot_button, func_rotating, func_tracktrain, func_train and func_wall
+// - Added Master(string) to Basetank baseclass.
+// - Removed renderfield string codes and replaced them with "Renderfields"
+// baseclasses for cycle, cycler_sprite & button_target.
+// - Added the Appearflags("Not in Deathmatch") option to these listed entities and
+// baseclasses that where missing that parameter.
+// BASECLASSES: playerclass, door
+// ENTITIES: func_friction, func_pendulum, func_wall, infodecal
+// - Gave func_breakable the ability to spawn a battery, healthkit or shotgun
+// shells upon breaking. This options works a bit buggy since the spawned items
+// will continue to respawn on its own after its been picked up. If the
+// func_breakable is given a name, it will have the same effect as a
+// MonsterMaker by spawning the object each time its triggered.
+// Use this option wisely or only for single player maps.
+// - Added missing ZHLT options to func_friction.
+// - Added the "Instant Crowbar" flag to func_pushable. Not that this option is
+// usable for this mod, but I added it so whoever does the next Half-Life FGD
+// update, realizes that it supports that option.
+// - Added missing Renderfields baseclass to func_rot_button.
+// - Changed func_rotate to default to a speed of 50 instead of 0.
+// - Added item_healthkit to game_player_equip.
+// - Added ammo for the M249 Para on game_player_equip. Thanks to [B.o.G]doom for
+// this information.
+// - Added some extra information to the game_player_equip entity.
+// - Added character limit number for the "game_text" entity on its message string.
+// - Added "Renderfields" baseclass to hostage_entity. This allows the option for
+// hostages to be transparent, distorted, flickering or any of those other effects.
+// - Added "Renderfields" baseclass to item_healthkit, item_longjump and item_battery.
+// - Fixed light_spot bug where its default color was yellow instead of white.
+// - Gave Light_Environment the "Initially Dark" flag.
+// - Added "Appearance" effects to light_environment. This allows light_environment
+// to have the strobe and flicker light effects just incase you want to give
+// players an epileptic seizure while they play your map :)
+// Appearance's effect will not work if light_environment is given a name.
+// - Added "Custom Appearance" to light_environment. This option does require the
+// entity to have a name for it to work.
+// - Added the "target" field to light_environment. Add the light_environment
+// entity, and in the target field, add the name of its target(another entity).
+// Light_environment will now emit light in that direction from all sky brushes.
+// This should save time from trying to figure out the annoying angles and pitches.
+// - Added monster_scientist entity. Works the same as hostage_entity except that
+// it uses the scientist model. The scientist type(luther, einstein, etc.) is
+// also selectable. While it is possible to change hostage_entity into the
+// scientist model, a specific scientist type is not selectable.
+// Only monster_scientist has that option, which is why I added it.
+// - Added the sprite color to the multisource and multi_manager entities so they
+// are the same as Half-Life's FGD.
+// - Added "Global State Master" to trigger_auto.
+// - Fixed bug on trigger_counter, where field options repeated themselves.
+// This same bug seems to be plaguing all the other FGD's. Whoever plans to
+// updates those other FGD files should take note of it.
+// - Added "Level Fade In" and "CD track to play" to WorldSpawn. These options
+// should only be used for single player maps.
+// - Changed the baseclass name, zhltlightflags to ZHLT.
+// - Rearranged some of the entities code so that the most common fields and
+// options come before the other options. It was annoying having to scroll to
+// the bottom just to find out what some of them trigger or what their names are.
+// The Name of the entity should always come first and the other important
+// options right after. Something in the fashion listed below, that is, if they
+// contain those fields.
+// ------------------------
+// Name
+// Global Entity Name
+// Master
+// Target
+// Trigger delay
+// Pitch Yaw Roll (Y Z X)
+// Render FX
+// Render Mode
+// FX Amount(1 - 255)
+// FX Color (R G B)
+// Light Flags (ZHLT 2.2+)
+// Light Origin (ZHLT 2.2+)
+// ------------------------
+// Not all of them are exactly in this order since that would require re-writing
+// the whole FGD file, but I did manage to rearrange them to some extent for the
+// following baseclasses and entities listed below.
+// BASECLASSES: breakable, gibshooterbase and trigger
+// ENTITIES: env_sprite, func_button, func_door_rotating, func_pendulum,
+// func_platrot, func_rot_button, func_rotating, func_tracktrain, func_vehicle,
+// game_counter, game_counter_set, game_player_hurt, game_player_team,
+// info_teleport_destination, light, momentary_rot_button, path_track,
+// trigger_camera, trigger_changetarget, trigger_counter, trigger_hurt entities
+// and xen entities
+// - In order to help with the rearranging of the fields(read previous sentence), I
+// had to create a Master Baseclass. These are the following baseclasses and
+// entities that I removed the Master string from their code and replaced it with
+// the Master baseclass.
+// BASECLASSES: door and trigger
+// ENTITIES: game_counter, game_counter_set, game_score, game_team_master,
+// game_text, game_zone_player, trigger_hurt, func_button, func_rot_button,
+// button_target and momentary_rot_button
+// - Added some extra information to Basetank baseclass and func_rot_button entity.
+// - Put line codes for trigger_gravity, func_wall, func_wall_toggle and func_water
+// entities in alphabetical order.
+// - Added some extra info to the previous update list and fixed some spelling errors.
+// - Updated once again, "cs_fgd_readme.txt" and "INSTALL.TxT"
+// -----------------------------------------------------------------------
+// March 16th, 2002 - fjl (0.7.7)
+// - Added the "New Level Unit" Option on WorldSpawn.
+// - Added "weapon" baseclass.
+// - Added "Appearflags" baseclass.
+// - Added "Global" baseclass.
+// - Changed ZHLT _fade option to default to 1.0 instead of 0
+// - Changed ZHLT _falloff option to have a choice of "default," "linear," and "square."
+// - Removed the zhlt_lightflags choices from the "breakable" baseclass. It didn't need it.
+// - Added "Opaque + Concave Fix" to zhlt_lightflags.
+// - Changed IS NOT LOOPED to NOT TOGGLED on ambient_generic
+// - Removed ZHLT from func_wall_toggle. It caused ZHLT options to repeat.
+// - Added a Targetname and ZHLT _fade and _falloff options to light_environment.
+// - Changed light_environment so it defaults to an angle of 270 and pitch of -90.
+// Similar to high noon sunlight.
+// - Added the ZHLT _fade and _falloff options for light_spot.
+// - Changed all light entities to start with a white brightness(255 255 255 200)
+// instead of the annoying yellow color(255 255 128 200).
+// - Added "Angular Velocity" to func_train. Angle does not reset with a new round.
+// Hopefully VALVe will fix this in the future.
+// - Changed trigger_gravity to display "Gravity (0.0-1)" instead of "Gravity (0-1)"
+// - Added cycler entity.
+// - Added cycler_wreckage. Seems its just a big smoke sprite used for machine wrecks
+// so I edited it to not show the targetted sprite by default. If it does show the
+// sprite, it will simply look like a sprite stuck inside the smoke stack. It was
+// best to make it invisible. If a bigger sprite is used like say 320hud1.spr there
+// will be a more spread out smoke stack. Bigger sprite = wider smoke stack.
+// - Added env_fade.
+// - Added env_fog in hopes to get VALVe to implement it for this mod and make it
+// compatible for software and direct3d modes. Currently doesn't work with
+// Counter-Strike version 1.3
+// LIMITATIONS:
+// Currently (as of Half-Life 1.1.0.8), objects outside of the 100% opacity range
+// are still drawn and still contribute to the overall polygon count. This entity is
+// still quite under development.
+// The fog is only drawn in OpenGL mode. This means users who are viewing the level
+// in Software or Direct3D rendering will not see the fog. For this reason, if you
+// plan on releasing your map publicly, the env_fog entity should not be used as it
+// will put OpenGL users at a disadvantage.
+// - Added func_guntarget.
+// - Added func_recharge and func_healthcharger. Currently the dmdelay,
+// "Deathmatch recharge delay" does not work with CS 1.3. Hopefully
+// this will be fixed in the future.
+// - Added func_tanklaser
+// - Removed func_tankrocket seeing as how CS cannot support the rocket entity.
+// - Added all missing weapons for game_player_equip plus added item_longjump &
+// item_battery including all weapon ammo. Almost did a complete re-write to this
+// entity to make it alot easier to use. I just can't figure out nightvision goggles
+// and ammo for the para. If you figure it out, please contact me. I would advice
+// using this item to give players the longjump or the battery wisely. Those items
+// do not magically dissapear like all the others. They will remain even after
+// a round ends. Also, You can't give all weapons and items at one time. SO DON'T TRY!
+// - Added gibshooter entity.
+// - Added item_longjump, item_battery and item_healthkit entities. These respawn
+// like in HL deathmatch. They might be a bit buggy though.
+// - Added xen entities.
+// - Rearranged the update list so the latest additions are on top.
+// - Updated the "readme.txt" that comes with the zip file and renamed it to
+// "cs_fgd_readme.txt" so it will not over write Worldcraft's "readme.txt" file.
+// - Created an "install.txt" for the zip file.
+// - Created a single player FGD file for anyone wanting to create training maps.
+// It contains the level transition entities required to make such maps. Plus it
+// contains many other entities that have some type of use on single player maps but
+// are not supported for multiplayer maps. The file is named "cs-single_player.fgd"
+// and it MUST be used alongside this FGD file. Read that FGD file to learn more.
+//
+// Jan 26, 2001 - Tim Holt (0.7.6)
+// - Added "No Clients" check option to Trigger base class per suggestion/lead
+// from Mataleone (cs mapping forum)
+//-----------------------------------------------------------------------
+// Jan 6, 2001 - Tim Holt (0.7.5)
+// - Added new parameter options for game_player_equip to list all
+// CS items in dialog, thus removing the need to turn off SmartEdit
+// to configure.
+// - Added new sprite for trigger_auto (green box with words "Trigger Auto")
+//-----------------------------------------------------------------------
+// 01/05/2001 - Morlam (0.7.4)
+// - Added _fade and _falloff keys to the light_ entities. Need ZHLT 2.2+
+// for these to work.
+// - Added light_origin key to the ZHLT Light Flags BaseClass. Again, you
+// need the latest version of Zoner's Tools for light_origin to work.
+// - Moved circus and extra from the "Class Info" tab to the "Flags" tab.
+// - Shortened the SmartEdit names of certain key/values in info_compile_params
+// so that they aren't cut off (at least, on my 800X600 screen on a 15 inch
+// monitor).
+//
+// 01/04/2001 - Morlam (0.7.3)
+// - Arranged all the point entities in alphabetical order
+// - Corrected a typo in hostage_entity: "Orange Suit Worker" from
+// "Orange Suite Worker".
+// - Changed func_water default WaveHeight to 0
+// - Added ZHLT Light Flags to func_plat, _pendulum and _vehicle
+// - Under info_compile_params:
+// - Changed extra to choices instead of a string; default is now 0
+// - Changed extra to read: "Enable Extra mode in HLRAD?"
+// - Added hullfile, chop, texchop, circus, and dscale keys
+// - Added "No Clip" flag under Run BSP in the spawnflags
+// - Under info_lights_rad:
+// - added radfile key/value, specifies custom texture light file
+//-----------------------------------------------------------------------
+// 01/01/2001 - Tim Holt (0.7.2)
+// - Added new dropdown to hostage entity, so you can choose hostage skin
+// directly by name (orange suit guy or tie guy)
+// - Removed commented out "master" option for game_zone_player. It was
+// commented out from the original HL FGD for some reason. Not sure why
+// or if maybe there is a problem with it?
+//-----------------------------------------------------------------------
+// 12/31/2000 - Tim Holt (0.7.1)
+// - Added new sprites for all the Game entities
+// - Added new sprite for Player Weapon Strip
+// - Added new sprite for Trigger_Relay
+// - Added new sprite for Trigger_ChangeTarget
+//-----------------------------------------------------------------------
+// Original changes by Tim Holt (0.7.0)
+// - Added new Trigger Changetarget sprite (green cube w/words)
+// - Added new Info Target sprite (bullseye)
+// - Added new trigger_camera sprite (Video camera)
+// - Added new Multi Manager sprite (box w/arrows coming out of it)
+// - Added new "Cycler Sprite" sprite (box w/arrow circle around it)
+// - Added replacement ambient_generic sprite (changed from speaker to speaker
+// with words "Ambient Generic" around it")
+// - Added replacement env_sound sprite (changed from speaker to speaker
+// with words "Env Sound" around it")
+// - Added replacement light_spot sprite (changed from lightbulb to spotlight)
+// - Added replacement Light Environment sprite (changed from lightbulb to sun)
+// - Added all the "game_*" entities
+// - Added info_compile_params and info_lights_rad entities. Idea is to
+// get someone like Zoner to implement support for them in Zoners, or
+// build support for them into a compile tool like Q2Beaver, HLCC, etc.
+// - Added env_funnel
+// - Added trigger_gravity
+// - Added player_weaponstrip
+// - Put Zoners RAD option (that allow solid (func_) based ents to cast
+// shadows) into a number of new additional items that can support it.
+// Use with caution, as for example a func_pushable can cast a shadow now,
+// but if you push it, the shadow stays behind :^)
+//
+// --------------------------------------------------------------------------------
+//
+// ---------------------------------------------------------------------------------
+// Note: I have not fully tested the support of ALL the game_ entities in
+// CS. I DO know that some work thru experimentation. Let me know if you
+// find interesting things about these little known and used entities in CS.
+// ---------------------------------------------------------------------------------
+
+// Worldspawn
+@SolidClass = worldspawn : "World entity"
+[
+ message(string) : "Map Description / Title"
+ skyname(string) : "environment map (cl_skyname)"
+ sounds(integer) : "CD track to play" : 0
+ light(integer) : "Default light level" : 0
+ WaveHeight(string) : "Default Wave Height" : "0"
+ MaxRange(string) : "Max viewable distance" : "4096"
+ startdark(choices) : "Level Fade In" : 0 =
+ [
+ 0 : "No"
+ 1 : "Yes"
+ ]
+ newunit(choices) : "New Level Unit" : 0 =
+ [
+ 0 : "No, keep current"
+ 1 : "Yes, clear previous levels"
+ ]
+]
+
+// BaseClasses
+// 4 lines below added by Dmitrich! February 21, 2004 ;-)
+@BaseClass = Sequence
+[
+ sequence(integer) : "Animation Sequence (editor)"
+]
+
+@BaseClass = Angles
+[
+ angles(string) : "Pitch Yaw Roll (Y Z X)" : "0 0 0"
+]
+
+@BaseClass = Appearflags
+[
+ spawnflags(Flags) =
+ [
+ 2048 : "Not in Deathmatch" : 0
+ ]
+]
+
+@BaseClass = Master
+[
+ master(string) : "Master"
+]
+
+@BaseClass = Target
+[
+ target(target_destination) : "Target"
+]
+
+@BaseClass = Targetname
+[
+ targetname(target_source) : "Name"
+]
+
+@BaseClass base(Target) = Targetx
+[
+ delay(string) : "Delay before trigger" : "0"
+ killtarget(target_destination) : "KillTarget"
+]
+
+@BaseClass = RenderFxChoices
+[
+ renderfx(choices) :"Render FX" : 0 =
+ [
+ 0: "Normal"
+ // Additive or Texture mode only.
+ 1: "Slow Pulse"
+ // Additive or Texture mode only.
+ 2: "Fast Pulse"
+ // Additive or Texture mode only.
+ 3: "Slow Wide Pulse"
+ // Additive or Texture mode only.
+ 4: "Fast Wide Pulse"
+ 9: "Slow Strobe"
+ 10: "Fast Strobe"
+ 11: "Faster Strobe"
+ 12: "Slow Flicker"
+ 13: "Fast Flicker"
+// These don't seem to do anything. Correct me if I'm wrong...
+// 5: "Slow Fade Away"
+// 6: "Fast Fade Away"
+// 7: "Slow Become Solid"
+// 8: "Fast Become Solid"
+// Constant Glow only affects the Glow rendermode. With this setting, Glow mode behaves
+// exactly like Additive mode - except that (as is usual for Glow mode) the sprite isn't
+// obscured by intervening sprites or models. (Hmm. Call me slow, but..... how is this useful?)
+ 14: "Constant Glow (Sprites)"
+ 15: "Distort (Models)"
+ 16: "Hologram (Distort + fade)"
+// Strange effect. As seen, briefly, when a Gargantua dies.
+ ]
+]
+
+@BaseClass base(RenderFxChoices) = RenderFields
+[
+ rendermode(choices) : "Render Mode" : 0 =
+ [
+ 0: "Normal - no light"
+
+ // For BSP objects, the object will be rendered as a pure area of whatever
+ // color is specified in FX Color.
+ // For models and sprites, this is the same as Normal mode.
+ 1: "Pure Color"
+
+ // For BSP objects, the object will be rendered without shadows.
+ // For models and sprites, this is the same as Normal mode, except that the Pulse
+ // renderfx settings work.
+ 2: "Texture - some light"
+
+ // Like additive, but as the player gets further from the sprite, it gets
+ // progressively larger and more transparent. The sprite is also not obscured by
+ // intervening models, which can sometimes look bad.
+ // Alphatest sprites won't use their masks in this mode.
+ 3: "Glow (sprites only)"
+
+ // For BSP objects, this only affects textures beginning with {. Blue pixels
+ // will be transparent; non-blue pixels will be solid.
+ // For models, this mode is the same as Normal mode.
+ // For sprites, this mode is for displaying sprites in Indexalpha mode - i.e.
+ // the palette positions are used as opacity settings; 0 for fully transparent,
+ // and 255 for fully opaque, regardless of what the palette colors actually are.
+ // The only palette colour that will be used is the last one, which sets the
+ // colour for the whole sprite. (Needless to say, this will look odd unless the
+ // sprite is designed to be displayed this way!)
+ // Oddly, Alphatest sprites won't use their masks in this mode.
+ 4: "Solid - no light"
+
+ // Only bright parts of the object are visible; darker parts are just more
+ // transparent, and black is not drawn. Useful for making lighting or hologram
+ // effects.
+ 5: "Additive"
+ ]
+ renderamt(integer) : "FX Amount (1 - 255)" : 255
+ rendercolor(color255) : "FX Color (R G B)" : "0 0 0"
+]
+
+// LRCHLT Texture light additions
+// these will only work with advanced compiling tools that allow
+// switchable texture lighting. note that lighting used by
+// moveable entitys may be left behind!
+@BaseClass = TexLightType
+[
+ style(choices) : "Texture Light Style" : 0 =
+ [
+ 0 : "Normal"
+ -3: "Switch with TL@name"
+ 1 : "Flicker A"
+ 2 : "Slow, strong pulse"
+ 3 : "Candle A"
+ 4 : "Fast strobe"
+ 5 : "Gentle pulse"
+ 6 : "Flicker B"
+ 7 : "Candle B"
+ 8 : "Candle C"
+ 9 : "Slow strobe"
+ 10: "Fluorescent flicker"
+ 11: "Slow pulse, noblack"
+ 12: "underwater weird & buggy"
+ ]
+]
+
+@BaseClass = Global
+[
+ globalname(string) : "Global Entity Name"
+]
+
+@BaseClass base(Targetname, Global, Target, RenderFields, Angles) = BaseTank
+[
+ // Mainly for use with 1009 team settings (game_team_master)
+ master(string) : "(Team) Master"
+ 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 base(Targetname, Global) = Breakable
+[
+ target(target_destination) : "Target on break"
+ delay(string) : "Delay before fire" : "0"
+ health(integer) : "Strength" : 1
+ material(choices) :"Material type" : 0 =
+ [
+ // Gibs: models/glassgibs.mdl
+ // Break noise: debris/bustglassX.wav
+ // Bounce noise: debris/glassX.wav
+ 0: "Glass"
+
+ // Gibs: models/woodgibs.mdl
+ // Break noise: debris/bustcrateX.wav
+ // Bounce noise: debris/woodX.wav
+ 1: "Wood"
+
+ // Gibs: models/metalplategibs.mdl
+ // Break noise: debris/bustmetalX.wav
+ // Bounce noise: debris/metalX.wav
+ 2: "Metal"
+
+ // Gibs: models/fleshgibs.mdl
+ // Break noise: debris/bustfleshX.wav
+ // Bounce noise: debris/fleshX.wav
+ 3: "Flesh"
+
+ // Gibs: models/cindergibs.mdl
+ // Break noise: debris/bustconcreteX.wav
+ // Bounce noise: debris/concreteX.wav
+ 4: "Cinder Block"
+
+ // Gibs: models/ceilinggibs.mdl
+ // Break noise: debris/bustceilingX.wav
+ // Bounce noise: none
+ 5: "Ceiling Tile"
+
+ // Gibs: models/computergibs.mdl
+ // Break noise: debris/bustmetalX.wav
+ // Bounce noise: debris/woodX.wav
+ // Note: Generates sparks when damaged.
+ 6: "Computer"
+
+ // Gibs: models/glassgibs.mdl
+ // Break noise: debris/bustglassX.wav
+ // Bounce noise: debris/glassX.wav
+ // Note: Makes ricochet noises when damaged.
+ 7: "Unbreakable Glass"
+
+ // Gibs: models/rockgibs.mdl
+ // Break noise: debris/bustconcreteX.wav
+ // Bounce noise: debris/concreteX.wav
+ 8: "Rocks"
+ ]
+ explosion(choices) : "Gibs Direction" : 0 =
+ [
+ 0: "Random"
+ 1: "Relative to Attack"
+ ]
+ gibmodel(studio) : "Gib Model" : ""
+ spawnobject(choices) : "Spawn On Break" : 0 =
+ [
+ 0: "Nothing"
+ 1: "Battery"
+ 2: "Healthkit"
+ 9: "Shotgun Shells"
+ ]
+ explodemagnitude(integer) : "Explode Magnitude (0=none)" : 0
+]
+
+@BaseClass = BeamStartEnd
+[
+ LightningStart(target_destination) : "Start Entity"
+ LightningEnd(target_destination) : "Ending Entity"
+]
+
+@BaseClass base(Targetname, Global, Master, RenderFields, Angles, Appearflags) = Door
+[
+ target(target_destination) : "Target"
+
+ // This delay only applies to the Target, not the Fire on Open/Close fields.
+ delay(integer) : "Delay before fire" : 0
+ killtarget(target_destination) : "KillTarget"
+ speed(integer) : "Speed" : 100
+
+ // The number against each sound corresponds to the wav file played.
+ // e.g. Vacuum (4) plays "doors/doormove4.wav".
+ 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"
+ ]
+ // The number against each sound corresponds to the wav file played.
+ // e.g. Chunk (4) plays "doors/doorstop4.wav".
+ 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"
+ ]
+// Setting wait to -1 also prevents the door from reversing when it comes into
+// contact with the player, as seen on the bunker door in Crossfire.
+ wait(integer) : "delay before close, -1 stay open " : 4
+ lip(integer) : "Lip" : 0
+ dmg(integer) : "Damage inflicted when blocked" : 0
+ message(string) : "Message if triggered"
+ 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
+
+ // Normally a named door, or a door with "use only" selected, won't open when touched.
+ 256: "Use Only" : 0
+ 1024: "Touch client only" : 0
+ ]
+ locked_sound(choices) : "Locked Sound" : 0 =
+ [
+ // The locked sound & sentence will be played if
+ // The player walks into a door which has a name.
+ // The number against each sound corresponds to the wav file played.
+ // e.g. Buzz (10) plays "buttons/button10.wav".
+
+ 0: "None"
+ 2: "Access Denied"
+ 8: "Small zap"
+ 10: "Buzz"
+ 11: "Buzz Off"
+ 12: "Latch Locked"
+ ]
+ unlocked_sound(choices) : "Unlocked Sound" : 0 =
+ [
+ // The unlocked sound & sentence will be played whenever a door starts to open and whenever
+ // a button starts to push in. (They will never be played when a door starts to close, even if
+ // "Toggle" is selected.)
+ //
+ // The number against each sound (except lightswitch) corresponds to the wav file played.
+ // e.g. Buzz (10) plays "buttons/button10.wav".
+ 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 =
+ [
+ // The letters correspond to the sentence group played (see sound/sentences.txt);
+ // e.g. Blast Door (NF) will cycle through NF0, NF1 and NF3.
+ 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 =
+ [
+ // The letters correspond to the sentence group played (see sound/sentences.txt);
+ // e.g. Blast Door (EF) will cycle through EF0, EF1 and EF3.
+ 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, 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
+ ]
+]
+
+// Don't create a light whose name begins with "light" - a bug/feature in RAD means
+// that such a light won't be able to switch on and off.
+@BaseClass = Light
+[
+ _light(color255) : "Brightness" : "255 255 255 200"
+// This field will have no effect on a dynamic (i.e. named) light.
+ style(Choices) : "Appearance (no name allowed)" : 0 =
+ [
+ 0 : "Normal"
+ 2 : "Slow, strong pulse"
+ 5 : "Gentle pulse"
+ 1 : "Flicker A"
+ 6 : "Flicker B"
+ 3 : "Candle A"
+ 7 : "Candle B"
+ 8 : "Candle C"
+ 4 : "Fast strobe"
+ 9 : "Slow strobe"
+ 10: "Fluorescent flicker"
+ 11: "Slow pulse, noblack"
+ ]
+ // This field will have no effect on a static (i.e. nameless) light. 'a' is dark, 'm' is normal brightness, 'z' is full brightness.
+ // There's no support for a light to have a custom appearances when it's in a
+ // state other than 'on'. See trigger_lightstyle if you need this effect.
+ pattern(string) : "Custom Appearance"
+ _fade(string) : "Fade (ZHLT Only)" : "1.0"
+ _falloff(Choices) : "Falloff (ZHLT Only)" : 0 =
+ [
+ 0 : "Default"
+ 1 : "Inverse Linear"
+ 2 : "Inverse Square"
+ ]
+ spawnflags(Flags) =
+ [
+ 1 : "Initially dark" : 0
+ ]
+]
+
+@BaseClass = PlatSounds
+[
+ movesnd(choices) : "Move Sound" : 0 =
+ [
+ 0: "No Sound"
+ 1: "big elev 1" // plats/bigmove1.wav
+ 2: "big elev 2" // plats/bigmove2.wav
+ 3: "tech elev 1" // plats/elevmove1.wav
+ 4: "tech elev 2" // plats/elevmove2.wav
+ 5: "tech elev 3" // plats/elevmove3.wav
+ 6: "freight elev 1" // plats/freightmove1.wav
+ 7: "freight elev 2" // plats/freightmove2.wav
+ 8: "heavy elev" // plats/heavymove1.wav
+ 9: "rack elev" // plats/rackmove1.wav
+ 10: "rail elev" // plats/railmove1.wav
+ 11: "squeek elev" // plats/squeekmove1.wav
+ 12: "odd elev 1" // plats/talkmove1.wav
+ 13: "odd elev 2" // plats/talkmove2.wav
+ ]
+ stopsnd(choices) : "Stop Sound" : 0 =
+ [
+ 0: "No Sound"
+ 1: "big elev stop1" // plats/bigstop1.wav
+ 2: "big elev stop2" // plats/bigstop2.wav
+ 3: "freight elev stop" // plats/freightstop1.wav
+ 4: "heavy elev stop" // plats/heavystop2.wav
+ 5: "rack stop" // plats/rackstop1.wav
+ 6: "rail stop" // plats/railstop1.wav
+ 7: "squeek stop" // plats/squeekstop1.wav
+ 8: "quick stop" // plats/talkstop1.wav
+ ]
+ volume(string) : "Sound Volume 0.0 - 1.0" : "0.85"
+]
+
+@BaseClass size(-16 -16 -36, 16 16 36) color(0 255 0) base(Angles, Appearflags) = PlayerClass []
+
+@BaseClass base(Targetname, Global, RenderFields, PlatSounds) = Trackchange
+[
+ // height is the distance the track/train will move. By default, the track starts in its top position
+ // and goes downward (This can be changed in the Flags section #8).
+ height(integer) : "Travel altitude" : 0
+ spawnflags(flags) =
+ [
+ // Auto activate and relink may not be funcional
+ 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 is the amount in degrees the track will turn to line up with the new track.
+ rotation(integer) : "Spin amount" : 0
+ train(target_destination) : "Train to switch"
+ // toptrack is the Name (targetname) of the last path_corner-track in the upper area, or last area, of the track.
+ toptrack(target_destination) : "Top track"
+ // bottomtrack is the Name (targetname) of the first path_corner-track in the lower area, or next area, of the track
+ bottomtrack(target_destination) : "Bottom track"
+ // speed is the speed in units per second that the track platform will move downward.
+ // (If the #16 Rotate Only flag is set, this is just the speed of rotation).
+ speed(integer) : "Move/Rotate speed" : 0
+//
+// The first path_track-corner should not have a Next stop target (target). Instead, where it says Fire on
+// dead end (netname), enter a value equal to the Name (targetname) of the func_trackautochange. Now, when
+// the train reaches the path_track-corner, it will stop, then activate the func_trackautochange.
+// When the it gets to the bottom, the train will continue on to the next path_track-corner defined
+// by Bottom track (bottomtrack) in the func_trackautochange properties.
+//
+]
+
+@BaseClass base(Targetname, Master, Target) = Trigger
+[
+ delay(string) : "Delay before trigger" : "0"
+ killtarget(target_destination) : "Kill target"
+ netname(target_destination) : "Target Path"
+// style commented out, seems to serve no purpose besides adding
+// to the lightdata load.
+// style(integer) : "Style" : 32
+ sounds(choices) : "Sound style" : 0 =
+ [
+ 0: "No Sound, None"
+ // the rest of these may or may not work, copied from button
+ 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"
+ ]
+ message(string) : "Message (set sound too)"
+ spawnflags(flags) =
+ [
+ 1: "Monsters" : 0
+ 2: "No Players, entity only" : 0
+ 4: "Pushables" : 0
+ 64: "No reset on New Round"
+ ]
+]
+
+@BaseClass size(-16 -16 0, 16 16 32) color(0 0 200) base(Targetname, Appearflags, Angles) = Weapon []
+
+@BaseClass = ZHLT
+[
+ zhlt_lightflags(choices) :"Light Flags (Zhlt 2.2+)" : 0 =
+ [
+ 0: "Normal"
+ 1: "Embedded Fix"
+ 2: "Opaque (Blocks Light)"
+ 3: "Opaque + Embedded Fix"
+ 6: "Opaque + Concave Fix"
+ ]
+ light_origin(string) : "Light Origin (Zhlt 2.2+)"
+ zhlt_noclip(choices) :"Noclip Object (Zhlt 2.5+)" : 0 =
+ [
+ 0: "No"
+ 1: "Yes"
+ ]
+]
+
+@PointClass base(Targetname) iconsprite("sprites/CS/ambient_generic.spr") = ambient_generic : "Universal sound 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
+// main pitch frequency
+ pitch(integer) : "Pitch (> 100 = higher)" : 100
+// begin pitch
+ pitchstart(integer) : "Start Pitch" : 100
+// how fast to change from begin pitch to main pitch.
+ spinup(integer) : "Spin up time (0-100)" : 0
+// how fast to go back down from main pitch to nothing.
+ spindown(integer) : "Spin down time (0-100)" : 0
+// LFO = low frequency oscillator.
+// type of sound wave, sqr will jump back and forth between low and high pitch, tri has sharp transitions, and rnd has smooth transitions.
+ lfotype(integer) : "LFO type 0)off 1)sqr 2)tri 3)rnd" : 0
+// rate is the frequency (how often the LFO effect repeats itself).
+ lforate(integer) : "LFO rate (0-1000)" : 0
+// how much pitch change, This effect is commonly called "vibrato" in music and song.
+ lfomodpitch(integer) : "LFO mod pitch (0-100)" : 0
+// how strong a "pulse" of volume rather than a wavering pitch.
+ lfomodvol(integer) : "LFO mod vol (0-100)" : 0
+// cspinup is unknown to me.
+ cspinup(integer) : "Incremental spinup count" : 0
+ spawnflags(flags) =
+ [
+ 1: "Play Everywhere" : 0 // small is <~800 units range
+ 2: "Small Radius" : 0 // Medium is the default radius, so ticking this does nothing. <~1250 units
+ 4: "Medium Radius" : 1 // large is <~2000 units range
+ 8: "Large Radius" : 0
+ 16:"Start Silent":0
+ 32:"Not Toggled":0
+ ]
+]
+
+@PointClass iconsprite("sprites/CS/armoury_entity.spr") size(-16 -16 0, 16 16 16) = armoury_entity : "Items in the armoury"
+[
+ item(choices) : "Item" : 0 =
+ [
+ 0: "weapon_mp5navy"
+ 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"
+ ]
+// note: count always resets to only one item after first round
+ count(integer) : "Count" : 1
+]
+
+// line below edited by Dmitrich! -->
+// was: @PointClass base(Targetname, Angles, RenderFields) size(-16 -16 0, 16 16 72) iconsprite("sprites/CS/cycler.spr") = cycler : "Monster Cycler"
+@PointClass base(Targetname, Angles, Sequence) size(-16 -16 0, 16 16 72) studio() = cycler : "Monster Cycler"
+[
+ model(studio) : "Model"
+]
+
+// line below edited by Dmitrich! -->
+// was: @PointClass base(Targetname, Angles, RenderFields) iconsprite("sprites/CS/cycler_sprite.spr") = cycler_sprite : "Sprite Cycler"
+@PointClass base(Targetname, Angles, Sequence) size(-16 -16 0, 16 16 72) studio() = cycler_sprite : "Sprite Cycler"
+[
+ model(sprite) : "Sprite/model path/name"
+ sequence(string) : "model only sequence # of animation" : ""
+ framerate(integer) : "Frames per second" : 10
+]
+
+@PointClass sprite() base(Targetname, Angles, RenderFields) size(-4 -4 -4, 4 4 4) iconsprite("sprites/CS/cycler_wreckage.spr") = cycler_wreckage : "Wreckage"
+[
+ framerate(string) : "Framerate" : "10.0"
+ model(sprite) : "Sprite Name" : "sprites/dot.spr"
+ scale(string) : "Scale" : "1.0"
+ spawnflags(flags) =
+ [
+ 32: "Toggle" : 0
+ 64: "Start ON" : 0
+ ]
+]
+
+// Environmental effects
+// the beam can lead to network lag due to continous changing animation.
+@PointClass base(Targetname, BeamStartEnd, RenderFxChoices) size(-16 -16 -16, 16 16 16) iconsprite("sprites/CS/env_beam.spr") = env_beam : "Energy Beam Effect"
+[
+ renderamt(integer) : "Brightness (1 - 255)" : 100
+ rendercolor(color255) : "Beam Color (R G B)" : "0 0 0"
+ // If you only give the beam one endpoint, then radius will specifies how
+ // far away the other endpoint should be (randomly) placed.
+ 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) =
+ [
+ // This is the default unless you specify a name.
+ 1 : "Start On" : 0
+ 2 : "Toggle" : 0
+ 4 : "Random Strike" : 0
+
+ // Makes the beam form a circle, with a diameter that stretches between the two endpoints.
+ // For some unknown reason, both endpoints must have a model.
+ // NB: because the beam will stretch between the origins of the two entities, you'll
+ // need to give each endpoint an origin brush.
+ 8 : "Ring" : 0
+ 16: "StartSparks" : 0
+ 32: "EndSparks" : 0
+ 64: "Decal End" : 0
+ // The beam fades in from nothing, like a tracer bullet.
+ 128: "Fade Start" : 0
+ 256: "Fade 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) iconsprite("sprites/CS/env_blood.spr") = env_blood : "Blood Effects"
+[
+ color(choices) : "Blood Color" : 0 =
+ [
+ 0 : "Black/White blood with yellow decals"
+ 1 : "Yellow blood with yellow decals"
+ 2 : "Red blood with red decals"
+ ]
+ 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
+ ]
+]
+
+// Bubbles cannot drift sideways with this entity; use an env_model and
+// "valve/models/pipe_bubbles.mdl" instead.
+@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) iconsprite("sprites/CS/env_explosion.spr") = 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) size(-16 -16 -16, 16 16 16) = env_funnel : "Large Portal Funnel"
+[
+ spawnflags(flags) =
+ [
+ 1: "Reverse" : 0
+ ]
+]
+
+@PointClass base(Targetname) iconsprite("sprites/CS/env_global.spr") 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) iconsprite("sprites/CS/env_glow.spr") = env_glow : "Light Glow/Haze"
+[
+ model(sprite) : "model" : "sprites/glow01.spr"
+ scale(integer) : "Sprite Scale" : 1
+]
+
+@PointClass base(Targetname) iconsprite("sprites/CS/env_fade.spr") = 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) = env_fog : "Global Fog Properties"
+[
+ fadein(integer) : "Fade in time" : 0
+ holdtime(string) : "Hold time (0 = permanent)" : "0"
+ fadeout(integer) : "Fade out time" : 0
+ startdist(integer) : "Fog start position" : 0
+ enddist(integer) : "Fog end position" : 1000
+ rendercolor(color255) : "Fog Color (R G B)" : "255 255 255"
+ spawnflags(flags) =
+ [
+ 1 : "Start active" : 0
+ ]
+]
+
+@PointClass base(Targetname) iconsprite("sprites/CS/env_rain.spr") = env_rain : "rain Properties"
+[
+ fadein(integer) : "Fade in time" : 0
+ holdtime(string) : "Hold time (0 = permanent)" : "0"
+ fadeout(integer) : "Fade out time" : 0
+ startdist(integer) : "snow start position" : 0
+ enddist(integer) : "rain end position" : 1000
+ rendercolor(color255) : "rain Color (R G B)" : "255 255 255"
+ spawnflags(flags) =
+ [
+ 1 : "Start active" : 0
+ ]
+]
+
+@PointClass base(Targetname) = env_snow : "snow Properties"
+[
+ fadein(integer) : "Fade in time" : 0
+ holdtime(string) : "Hold time (0 = permanent)" : "0"
+ fadeout(integer) : "Fade out time" : 0
+ startdist(integer) : "snow start position" : 0
+ enddist(integer) : "snow end position" : 1000
+ rendercolor(color255) : "snow Color (R G B)" : "255 255 255"
+ spawnflags(flags) =
+ [
+ 1 : "Start active" : 0
+ ]
+]
+
+@PointClass base(Targetname) = env_lighting : "lightning Properties"
+[
+ fadein(integer) : "Fade in time" : 0
+ holdtime(string) : "Hold time (0 = permanent)" : "0"
+ fadeout(integer) : "Fade out time" : 0
+ startdist(integer) : "lightning start position" : 0
+ enddist(integer) : "lighting end position" : 1000
+ rendercolor(color255) : "lightning Color (R G B)" : "255 255 255"
+ spawnflags(flags) =
+ [
+ 1 : "Start active" : 0
+ ]
+]
+
+// may cause network lag due to changing animation.
+@PointClass base(Targetname, RenderFxChoices, Angles) size(-16 -16 -16, 16 16 16) iconsprite("sprites/CS/env_laser.spr") = 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) iconsprite("sprites/CS/env_message.spr") = 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" // small is <~800 units range
+ 1 : "Medium Radius" // medium is <~1250 units range
+ 2 : "Large Radius" // large is <~2000 units range
+ 3 : "Play Everywhere"
+ ]
+]
+
+@PointClass base(Targetname, Target, RenderFields) size(-16 -16 -16, 16 16 16) color(100 100 0) iconsprite("sprites/CS/env_render.spr") = 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" // debris/glass1-4.wav
+ 1: "Wood" // debris/wood1-4.wav
+ 2: "Metal" // debris/metal1-6.wav
+ 3: "Flesh" // debris/flesh1-7.wav
+ 4: "Concrete" // debris/concrete1-3.wav
+ ]
+ scale(string) : "Gib Scale" : ""
+ skin(integer) : "Gib Skin" : 0
+]
+
+@PointClass base(Targetname) size(-4 -4 -4, 4 4 4) color(30 100 0) iconsprite("sprites/CS/env_smoker.spr") = env_smoker : "Smoke"
+[
+ health(integer) : "Strength" : 1
+ scale(integer) : "Smoke Scale" : 1
+]
+
+// this changes sound for the player UNTIL IT IS RESET by another env sound. make sure you reset it!
+@PointClass iconsprite("sprites/CS/env_sound.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) iconsprite("sprites/CS/env_spark.spr") = env_spark : "Spark"
+[
+ MaxDelay(string) : "Max Delay" : "0"
+ spawnflags(flags) =
+ [
+ 32: "Toggle" : 0
+ 64: "Start ON" : 0
+ ]
+]
+
+@PointClass sprite() base(Targetname, Angles, RenderFields) size(-4 -4 -4, 4 4 4) = env_sprite : "Still 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
+ ]
+]
+
+// game entities (requires Half-Life 1.0.0.9)
+@PointClass base(Targetname, Master, Targetx) iconsprite("sprites/CS/game_counter.spr") = game_counter : "Fires when it hits limit"
+[
+ spawnflags(flags) =
+ [
+ 1: "Remove On fire" : 0
+ 2: "Reset On fire" : 1
+ ]
+ frags(integer) : "Initial Value" : 0
+ health(integer) : "Limit Value" : 10
+]
+
+@PointClass base(Targetname, Master, Target) iconsprite("sprites/CS/game_counter_set.spr") = game_counter_set : "Sets a game_counter"
+[
+ spawnflags(flags) =
+ [
+ 1: "Remove On fire" : 0
+ ]
+ frags(integer) : "New Value" : 10
+]
+
+@PointClass base(Targetname) iconsprite("sprites/CS/game_end.spr") = game_end : "End this multiplayer game"
+[
+ master(string) : "Master"
+]
+
+// buggy entity, must use with weapon strip to avoid giving duplicate
+// weapons to a player and causing a crash.
+@PointClass base(Targetname) iconsprite("sprites/CS/game_player_equip.spr") = game_player_equip : "Initial player equipment"
+[
+ master(string) : "Team Master"
+ spawnflags(flags) =
+ [
+ 1: "Use Only" : 0
+ ]
+ weapon_briefcase (choices) : "Give Nightvision" : 0 =
+ [
+ 0: "No"
+ 1: "Yes"
+ ]
+ weapon_knife (choices) : "Give Knife" : 0 =
+ [
+ 0: "No"
+ 1: "Yes"
+ ]
+ weapon_usp (choices) : "Give USP45 (45acp Calibre)" : 0 =
+ [
+ 0: "No"
+ 1: "Yes"
+ ]
+ weapon_glock18 (choices) : "Give Glock 18 (9mm Calibre)" : 0 =
+ [
+ 0: "No"
+ 1: "Yes"
+ ]
+ weapon_deagle (choices) : "Give Desert Eagle (50ae Calibre)" : 0 =
+ [
+ 0: "No"
+ 1: "Yes"
+ ]
+ weapon_p228 (choices) : "Give P-228 (357sig Calibre)" : 0 =
+ [
+ 0: "No"
+ 1: "Yes"
+ ]
+ weapon_elite (choices) : "Give Beretta Elites (9mm Calibre)" : 0 =
+ [
+ 0: "No"
+ 1: "Yes"
+ ]
+ weapon_fiveseven (choices) : "Give Five-Seven (57mm Calibre)" : 0 =
+ [
+ 0: "No"
+ 1: "Yes"
+ ]
+ weapon_m3 (choices) : "Give Benelli M3 (12 Gauge)" : 0 =
+ [
+ 0: "No"
+ 1: "Yes"
+ ]
+ weapon_xm1014 (choices) : "Give Benelli XM1014 (12 Gauge)" : 0 =
+ [
+ 0: "No"
+ 1: "Yes"
+ ]
+ weapon_mp5navy (choices) : "Give MP5/Navy (9mm Calibre)" : 0 =
+ [
+ 0: "No"
+ 1: "Yes"
+ ]
+ weapon_tmp (choices) : "Give TMP (9mm Calibre)" : 0 =
+ [
+ 0: "No"
+ 1: "Yes"
+ ]
+ weapon_p90 (choices) : "Give FN P90 (57mm Calibre)" : 0 =
+ [
+ 0: "No"
+ 1: "Yes"
+ ]
+ weapon_mac10 (choices) : "Give Mac-10 (45acp Calibre)" : 0 =
+ [
+ 0: "No"
+ 1: "Yes"
+ ]
+ weapon_ump45 (choices) : "Give UMP 45 (45acp Calibre)" : 0 =
+ [
+ 0: "No"
+ 1: "Yes"
+ ]
+ weapon_ak47 (choices) : "Give AK-47 (762nato Calibre)" : 0 =
+ [
+ 0: "No"
+ 1: "Yes"
+ ]
+ weapon_sg552 (choices) : "Give SG552 (556nato Calibre)" : 0 =
+ [
+ 0: "No"
+ 1: "Yes"
+ ]
+ weapon_m4a1 (choices) : "Give M4A1 (556nato Calibre)" : 0 =
+ [
+ 0: "No"
+ 1: "Yes"
+ ]
+ weapon_aug (choices) : "Give Aug (556nato Calibre)" : 0 =
+ [
+ 0: "No"
+ 1: "Yes"
+ ]
+ weapon_scout (choices) : "Give Scout (762nato Calibre)" : 0 =
+ [
+ 0: "No"
+ 1: "Yes"
+ ]
+ weapon_awp (choices) : "Give AWP (338magnum Calibre)" : 0 =
+ [
+ 0: "No"
+ 1: "Yes"
+ ]
+ weapon_g3sg1 (choices) : "Give G3/SG-1 (762nato Calibre)" : 0 =
+ [
+ 0: "No"
+ 1: "Yes"
+ ]
+ weapon_sg550 (choices) : "Give SG550 (556nato Calibre)" : 0 =
+ [
+ 0: "No"
+ 1: "Yes"
+ ]
+ weapon_m249 (choices) : "Give M249 (556natobox Calibre)" : 0 =
+ [
+ 0: "No"
+ 1: "Yes"
+ ]
+ weapon_famas (choices) : "CS 1.6 Famas (762nato)" : 0 =
+ [
+ 0: "No"
+ 1: "Yes"
+ ]
+ weapon_galil (choices) : "CS 1.6 Galil (556natobox)" : 0 =
+ [
+ 0: "No"
+ 1: "Yes"
+ ]
+ weapon_shieldgun (choices) : "CS 1.6 Police Riot Shield" : 0 =
+ [
+ 0: "No"
+ 1: "Yes"
+ ]
+ item_kevlar (choices) : "Give Kevlar Vest" : 0 =
+ [
+ 0: "No"
+ 1: "Yes"
+ ]
+ item_assaultsuit (choices) : "Give Kevlar Vest+Ballistic Helmet" : 0 =
+ [
+ 0: "No"
+ 1: "Yes"
+ ]
+ weapon_flashbang (choices) : "Give Flash Bang" : 0 =
+ [
+ 0: "No"
+ 1: "1"
+ 2: "2"
+ ]
+ weapon_hegrenade (choices) : "Give High-Explosive Grenade" : 0 =
+ [
+ 0: "No"
+ 1: "Yes"
+ ]
+ weapon_smokegrenade (choices) : "Give Smoke Grenade" : 0 =
+ [
+ 0: "No"
+ 1: "Yes"
+ ]
+ item_thighpack (choices) : "Give Defuse Kit" : 0 =
+ [
+ 0: "No"
+ 1: "Yes"
+ ]
+ weapon_c4 (choices) : "Give C4 Plastique Bomb" : 0 =
+ [
+ 0: "No"
+ 1: "Yes"
+ ]
+ ammo_9mm (choices) : "Give 9mm Parabellum Ammo" : 0 =
+ [
+ 0: "No"
+ 1: "1 Clip (30 Bullets Per Clip)"
+ 2: "2 Clips"
+ 3: "3 Clips (Fill Glock 18)"
+ 4: "4 Clips (Fill Elites, MP5 & TMP)"
+ ]
+ ammo_45acp (choices) : "Give .45 ACP Ammo" : 0 =
+ [
+ 0: "No"
+ 1: "1 Clip (12 Bullets Per Clip)"
+ 2: "2 Clips"
+ 3: "3 Clips"
+ 4: "4 Clips (Fill USP45)"
+ 5: "5 Clips"
+ 6: "6 Clips"
+ 7: "7 Clips"
+ 8: "8 Clips (Fill Mac-10)"
+ 9: "9 Clips (Fill UMP 45)"
+ ]
+ ammo_50ae (choices) : "Give .50 Deagle Ammo" : 0 =
+ [
+ 0: "No"
+ 1: "1 Clip (7 Bullets Per Clip)"
+ 2: "2 Clips"
+ 3: "3 Clips"
+ 4: "4 Clips"
+ 5: "5 Clips (Fill Desert Eagle)"
+ ]
+ ammo_57mm (choices) : "Give 5.7mm Ammo" : 0 =
+ [
+ 0: "No"
+ 1: "1 Clip (50 Bullets Per Clip)"
+ 2: "2 Clips (Fill Five-Seven & P90)"
+ ]
+ ammo_357sig (choices) : "Give .357 SIG Ammo" : 0 =
+ [
+ 0: "No"
+ 1: "1 Clip (13 Bullets Per Clip)"
+ 2: "2 Clips"
+ 3: "3 Clips"
+ 4: "4 Clips (Fill P-228)"
+ ]
+ ammo_buckshot (choices) : "Give 12 Gauge Ammo" : 0 =
+ [
+ 0: "No"
+ 1: "1 Clip (8 Shells Per Clip)"
+ 2: "2 Clips"
+ 3: "3 Clips"
+ 4: "4 Clips (Fill Benelli M3, XM1014)"
+ ]
+ ammo_762nato (choices) : "Give 7.62mm NATO Ammo" : 0 =
+ [
+ 0: "No"
+ 1: "1 Clip (30 Bullets Per Clip)"
+ 2: "2 Clips (Fill Scout & G3/S-G1)"
+ 3: "3 Clips (Fill AK-47)"
+ ]
+ ammo_556nato (choices) : "Give 5.56mm NATO Ammo" : 0 =
+ [
+ 0: "No"
+ 1: "1 Clip (30 Bullets Per Clip)"
+ 2: "2 Clips"
+ 3: "3 Fill SG552 M4A1 Aug SG550"
+ ]
+ ammo_556natobox (choices) : "Give 5.56mm NATO Box Ammo" : 0 =
+ [
+ 0: "No"
+ 1: "1 Clip (30 Bullets Per Clip)"
+ 2: "2 Clips"
+ 3: "3 Clips"
+ 4: "4 Clips"
+ 5: "5 Clips"
+ 6: "6 Clips"
+ 7: "7 Clips (Fill FN M249 Para)"
+
+ ]
+ ammo_338magnum (choices) : "Give .338 AWP Ammo" : 0 =
+ [
+ 0: "No"
+ 1: "1 Clip (10 Bullets Per Clip)"
+ 2: "2 Clips"
+ 3: "3 Clips (Fill AWP)"
+ ]
+ item_healthkit (choices) : "Give Health Kit" : 0 =
+ [
+ 0: "No"
+ 1: "1 Healthkit = 15 Health Points"
+ 2: "2 Healthkits = 30 Health Points"
+ 3: "3 Healthkits = 45 Health Points"
+ 4: "4 Healthkits = 60 Health Points"
+ 5: "5 Healthkits = 75 Health Points"
+ 6: "6 Healthkits = 90 Health Points"
+ 7: "7 Healthkits = 100 Health Points"
+ ]
+ item_battery (choices) : "Give HL HEV Battery" : 0 =
+ [
+ 0: "No"
+ 1: "1 Battery = 15 Kevlar Points"
+ 2: "2 Batteries = 30 Kevlar Points"
+ 3: "3 Batteries = 45 Kevlar Points"
+ 4: "4 Batteries = 60 Kevlar Points"
+ 5: "5 Batteries = 75 Kevlar Points"
+ 6: "6 Batteries = 90 Kevlar Points"
+ 7: "7 Batteries = 100 Kevlar Points"
+ ]
+ item_longjump (choices) : "Give HL Long Jump Module" : 0 =
+ [
+ 0: "No"
+ 1: "Yes (An Unrealistic Item)"
+ ]
+]
+
+@PointClass base(Targetname) iconsprite("sprites/CS/game_player_hurt.spr") = game_player_hurt : "Hurts player who fires"
+[
+ master(string) : "Master"
+ dmg(string) : "Damage To Apply" : "999"
+ spawnflags(flags) =
+ [
+ 1: "Remove On fire" : 0
+ ]
+]
+
+@PointClass base(Targetname) iconsprite("sprites/CS/game_player_team.spr") = game_player_team : "Allows player to change teams"
+[
+ master(string) : "Master"
+ spawnflags(flags) =
+ [
+ 1 : "Remove On fire" : 0
+ 2 : "Kill Player" : 0
+ 4 : "Gib Player" : 0
+ ]
+ target(string) : "game_team_master to use"
+]
+
+@PointClass base(Targetname) iconsprite("sprites/CS/game_score.spr") = game_score : "Award/Deduct Points"
+[
+ master(string) : "Master"
+ spawnflags(flags) =
+ [
+ 1: "Allow Negative" : 0
+ 2: "Team Points" : 0
+ ]
+
+ points(integer) : "Points to add (+/-)" : 1
+]
+
+@PointClass base(Targetname, Master, Targetx) iconsprite("sprites/CS/game_team_master.spr") = 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
+]
+
+@PointClass base(Targetname, Master, Targetx) iconsprite("sprites/CS/game_team_set.spr") = game_team_set : "Sets team of team_master"
+[
+ spawnflags(flags) =
+ [
+ 1: "Remove On fire" : 0
+ ]
+]
+
+@PointClass base(Targetname, Master, Target) iconsprite("sprites/CS/game_text.spr") = game_text : "HUD Text Message"
+[
+ spawnflags(flags) =
+ [
+ 1: "All Players" : 0
+ ]
+ message(string) : "Message Text (79 Char. Limit)"
+ 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"
+ ]
+]
+
+@SolidClass base(Targetname) iconsprite("sprites/CS/game_zone_player.spr") = game_zone_player : "Player Zone brush"
+[
+ master(string) : "Master"
+ 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"
+]
+
+@PointClass base(gibshooterbase) iconsprite("sprites/CS/gibshooter.spr") = gibshooter : "Gib Shooter" []
+
+@PointClass iconsprite("sprites/CS/hostage_entity.spr") base(PlayerClass, RenderFields) = hostage_entity : "Hostage"
+[
+ model(string) : "Model" : "models/hostage.mdl"
+ skin(choices) : "Skin" : 0 =
+ [
+ 0: "Orange Suit Worker"
+ 1: "Shirt & Tie"
+ ]
+ body(choices) : "Body type if scientist model" : 0 =
+ [
+ -1: "random"
+ 0: "default none"
+ 1: "einstien"
+ 2: "negro"
+ 3: "caucasian"
+ 4: "glasses"
+ ]
+]
+
+// Info entities
+
+@PointClass iconsprite("sprites/CS/info_bomb_target.spr") = info_bomb_target : "Bomb target point" []
+
+// Here was Dmitrich! 21-02-2004 :-)
+@PointClass size(-8 -8 0, 8 8 32) = info_compile_parameters : "Compile Options"
+[
+ hlcsg(choices) : "HLCSG" : 1 =
+ [
+ 1 : "Normal"
+ 2 : "Onlyents"
+ 0 : "Off"
+ ]
+ hlbsp(choices) : "HLBSP" : 1 =
+ [
+ 0 : "Off"
+ 1 : "Normal"
+ 2 : "Leakonly"
+ ]
+ hlvis(choices) : "HLVIS" : 2 =
+ [
+ 0 : "Off"
+ 1 : "Fast"
+ 2 : "Normal"
+ 3 : "Full"
+ ]
+ hlrad(choices) : "HLRAD" : 1 =
+ [
+ 0 : "Off"
+ 1 : "Normal"
+ 2 : "Extra"
+ ]
+ texdata(string) : "Texture Data Memory (in KB)" : "4096"
+ estimate(choices) : "Estimate Compile Times?" : 0 =
+ [
+ 0: "Yes"
+ 1: "No"
+ ]
+ bounce(integer) : "Number of radiosity bounces" : 0
+ ambient(string) : "Ambient world light (0.0 to 1.0, R G B)" : "0 0 0"
+ smooth(integer) : "Smoothing threshold (in degrees)" : 0
+ dscale(integer) : "Direct Lighting Scale" : 1
+ chop(integer) : "Chop Size" : 64
+ texchop(integer) : "Texture Light Chop Size" : 32
+ hullfile(string) : "Custom Hullfile"
+ priority(choices) : "Priority Level" : 0 =
+ [
+ 0 : "Normal"
+ 1 : "High"
+ -1 : "Low"
+ ]
+ wadautodetect(choices) : "Wad Auto Detect" : 0 =
+ [
+ 0 : "Off"
+ 1 : "On"
+ ]
+ wadconfig(string) : "Custom Wad Configuration" : ""
+ verbose(choices) : "Verbose compile messages" : 0 =
+ [
+ 0 : "Off"
+ 1 : "On"
+ ]
+ noclipeconomy(choices) : "Strip Uneeded Clipnodes?" : 1 =
+ [
+ 1 : "Yes"
+ 0 : "No"
+ ]
+ nocliphull(choices) : "Generate clipping hulls" : 0 =
+ [
+ 0 : "Yes"
+ 1 : "No"
+ ]
+ noskyclip(choices) : "No Sky Clip" : 0 =
+ [
+ 1 : "On"
+ 0 : "Off"
+ ]
+ sparse(choices) : "Vismatrix Method" : 2 =
+ [
+ 0 : "No Vismatrix"
+ 1 : "Sparse Vismatrix"
+ 2 : "Normal"
+ ]
+ circus(choices) : "Circus RAD lighting" : 0 =
+ [
+ 0 : "Off"
+ 1 : "On"
+ ]
+]
+
+@PointClass iconsprite("sprites/CS/info_hostage_rescue.spr") = info_hostage_rescue : "Hostage rescue point" []
+
+// NOT YET SUPPORTED BY ZHLT OR ANY COMPILER FRONTEND, AS OF 01/05/2001
+@PointClass = info_lights_rad : "Lights RAD Override"
+[
+ spawnflags(flags) =
+ [
+ 1 : "Override?" : 1
+ ]
+]
+
+@PointClass iconsprite("sprites/CS/info_map_parameters.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
+]
+
+@PointClass base(Targetname) iconsprite("sprites/CS/info_target.spr") = info_null : "info_null (spotlight target)" []
+@PointClass iconsprite("sprites/CS/info_player_deathmatch.spr") base(PlayerClass) = info_player_deathmatch : "Terrorist start" []
+@PointClass iconsprite("sprites/CS/info_player_start.spr") base(PlayerClass) = info_player_start : "Counter-terrorist start" []
+@PointClass base(Targetname) size(-4 -4 -4, 4 4 4) color(200 100 50) iconsprite("sprites/CS/info_target.spr") = info_target : "Beam Target" []
+@PointClass size(-8 -8 0, 8 8 16) base(Targetname, PlayerClass) = info_teleport_destination : "Teleport destination" []
+@PointClass iconsprite("sprites/CS/info_vip_start.spr") base(PlayerClass) = info_vip_start : "VIP start" []
+
+@PointClass decal() base(Targetname, Appearflags) = infodecal : "Decal"
+[
+ texture(decal)
+]
+
+// items
+@PointClass size(-16 -16 0, 16 16 36) base(Weapon, Targetx, RenderFields) = item_battery : "HEV battery" []
+@PointClass size(-16 -16 0, 16 16 36) base(Weapon, Targetx, RenderFields) = item_healthkit : "Small Health Kit" []
+@PointClass size(-16 -16 0, 16 16 36) base(Weapon, Targetx, RenderFields) = item_longjump : "Longjump Module" []
+@PointClass size(-16 -16 0, 16 16 36) base(Weapon, Targetx, RenderFields) = item_nvgs : "NightVision" []
+
+// Light entities
+@PointClass iconsprite("sprites/CS/light.spr") base(Targetname, Target, Light) = light : "Invisible lightsource" []
+
+@PointClass base(Targetname, Target, Light) iconsprite("sprites/CS/light_environment.spr") = light_environment : "Environment"
+[
+ angles(string) : "Pitch Yaw Roll (Y Z X)" : "0 270 0"
+ pitch(integer) : "Pitch" : -90
+// Shade is used only by Adam Foster's hack of HLRAD to vary the color of shade.
+ _diffuse_light(color255) : "Shade" : "255 255 128 200"
+]
+
+@PointClass base(Targetname, Target, Angles, Light) iconsprite("sprites/CS/light_spot.spr") = light_spot : "Spotlight"
+[
+ pitch(integer) : "Pitch" : -90
+ _cone(integer) : "Inner (bright) angle" : 30
+ _cone2(integer) : "Outer (fading) angle" : 45
+ _sky(Choices) : "Is Sky" : 0 =
+ [
+ 0 : "No"
+ 1 : "Yes"
+ ]
+]
+
+// Triggers a sequence of up to 16 entities, at various time offsets.
+// To specify the list of entities for it to trigger, turn off Worldcraft's "smart edit" mode
+// and add fields manually. The name of the field is the targetname of the entity to trigger,
+// and the contents of the field are the time (in seconds) to wait before triggering it.
+//
+// Beware: the seconds countdown will continue thru round ends causing some events to happen into the next round.
+
+@PointClass base(Targetname) color(255 128 0) iconsprite("sprites/CS/multi_manager.spr") = multi_manager : "MultiTarget Manager"
+[
+ spawnflags(Flags) =
+ [
+ // By default, a manager will ignore all inputs while it's performing a sequence.
+ // Tick this to allow more than one sequence to run at a time.
+ 1 : "multithreaded" : 0
+ ]
+]
+
+// multiple inputs to one switch, the AND gate
+@PointClass base(Targetname, Target) color(128 255 128) iconsprite("sprites/CS/multisource.spr") = multisource : "Multisource"
+[
+ globalstate(string) : "Global State Master"
+]
+
+@PointClass base(Targetname, Angles) size(16 16 16) color(247 181 82) iconsprite("sprites/CS/path.spr") = path_corner : "Moving platform stop"
+[
+ spawnflags(Flags) =
+ [
+ 1: "Wait for retrigger" : 0
+ 2: "Teleport to next corner" : 0
+ 4: "Fire once" : 0
+ ]
+ target(target_destination) : "Next stop target"
+ message(target_destination) : "Fire On Pass"
+ wait(integer) : "Wait here (secs)" : 0
+// if speed more than 2000 problems may result
+ speed(integer) : "New Train Speed" : 0
+ yaw_speed(integer) : "New Train rot. Speed" : 0
+]
+
+@PointClass base(Targetname) size(16 16 16) iconsprite("sprites/CS/path.spr") = path_track : "Train Track Path"
+[
+ target(target_destination) : "Next stop target"
+ spawnflags(Flags) =
+ [
+ 1: "Disabled" : 0
+ 2: "Fire once" : 0
+ 4: "Branch Reverse" : 0
+ 8: "Disable train" : 0
+ ]
+ message(target_destination) : "Fire On Pass"
+ altpath(target_destination) : "Branch Path"
+ netname(target_destination) : "Fire on dead end"
+// if speed more than 2000 problems may result
+ speed(integer) : "New Train Speed" : 0
+]
+
+@PointClass base(Targetname) size(-16 -16 -16, 16 16 16) iconsprite("sprites/CS/player_weaponstrip.spr") = player_weaponstrip : "Strips player's weapons" []
+
+// Monsters
+@PointClass iconsprite("sprites/CS/hostage_entity.spr") base(PlayerClass, RenderFields) size(-16 -16 0, 16 16 72) = monster_scientist : "Scientist Hostage"
+[
+ body(Choices) : "Body" : -1 =
+ [
+ -1 : "Random"
+ 0 : "Glasses"
+ 1 : "Einstein"
+ 2 : "Luther"
+ 3 : "Slick"
+ ]
+]
+
+// Trigger entities
+// will only trigger ONCE per MAP, will not reset or retrigger for a new round!
+@PointClass base(Targetx) iconsprite("sprites/CS/trigger_auto.spr") = trigger_auto : "AutoTrigger"
+[
+ spawnflags(Flags) =
+ [
+ 1 : "Remove On fire" : 1
+ 2 : "No reset on New Round" : 0
+ ]
+ globalstate(string) : "Global State to Read"
+ triggerstate(choices) : "Trigger State" : 0 =
+ [
+ 0 : "Off"
+ 1 : "On"
+ 2 : "Toggle"
+ ]
+]
+
+// before team selection, engine will cycle thru all camera views whether usable or not to show views of level.
+@PointClass base(Targetname, Targetx) iconsprite("sprites/CS/trigger_camera.spr") = 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
+ ]
+// note: max speed is 2000 or things go wrong
+ speed(string) : "Initial Speed" : "0"
+ acceleration(string) : "Acceleration units/sec^2" : "500"
+ deceleration(string) : "Stop Deceleration units/sec^2" : "500"
+]
+
+// makes another trigger point to something different.
+@PointClass base(Targetname, Targetx) iconsprite("sprites/CS/trigger_changetarget.spr") = trigger_changetarget : "Trigger Change Target"
+[
+ m_iszNewTarget(string) : "New Target"
+]
+
+@SolidClass base(Trigger) = trigger_counter : "Trigger counter"
+[
+ spawnflags(flags) =
+ [
+ 1 : "No Message" : 0
+ ]
+ count(integer) : "Count before activation" : 2
+]
+
+// gravity changes player state, will have to be reset to normal as player leaves low friction area.
+@SolidClass base(Trigger) = trigger_gravity : "Trigger Gravity"
+[
+ gravity(integer) : "Gravity (0.0-1)" : 1
+]
+
+@SolidClass base(Targetname, Master, Target) = trigger_hurt : "Trigger player hurt"
+[
+ delay(string) : "Delay before trigger" : "0"
+ spawnflags(flags) =
+ [
+ 1: "Target Once" : 0
+ 2: "Start Off" : 0
+ 16: "FireClientOnly" : 0
+ 32: "TouchClientOnly" : 0
+ ]
+ dmg(integer) : "Damage" : 10
+ damagetype(choices) : "Damage Type" : 0 =
+ [
+ 0 : "GENERIC"
+ 1 : "CRUSH"
+ 2 : "BULLET"
+ 4 : "SLASH"
+ 8 : "BURN"
+ 16 : "FREEZE"
+ 32 : "FALL"
+ 64 : "BLAST"
+ 128 : "CLUB"
+ 256 : "SHOCK"
+ 512 : "SONIC"
+ 1024 : "ENERGYBEAM"
+ 16384: "DROWN"
+ 32768 : "PARALYSE"
+ 65536 : "NERVEGAS"
+ 131072 : "POISON"
+ 262144 : "RADIATION"
+ 524288 : "DROWNRECOVER"
+ 1048576 : "CHEMICAL"
+ 2097152 : "SLOWBURN"
+ 4194304 : "SLOWFREEZE"
+ ]
+]
+
+@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 of ~1000 needed to go up.
+ speed(integer) : "Speed of push" : 40
+]
+
+@PointClass base(Targetname, Targetx) iconsprite("sprites/CS/trigger_relay.spr") = 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" []
+
+// Function entities
+@SolidClass = func_bomb_target : "Bomb target zone"
+[
+ target(target_destination) : "Target (when bomb blows)"
+]
+
+@SolidClass base(Breakable, RenderFields, ZHLT, TexLightType) = func_breakable : "Breakable Object"
+[
+ spawnflags(flags) =
+ [
+ 1 : "Only Trigger" : 0
+ 2 : "Touch" : 0
+ 4 : "Stand on Pressure is buggy" : 0
+ 256: "Instant Crowbar" : 1
+ ]
+ _minlight(string) : "Minimum light level" : "0"
+]
+
+@SolidClass base(Targetname, Global, Master, Target, RenderFields, Angles, ZHLT, TexLightType) = func_button : "Button"
+[
+ speed(integer) : "Speed" : 5
+ netname(target_destination) : "Target Path"
+ // Path Target overrides Targetted Object
+ health(integer) : "Health (shootable if > 0)" : 0
+ lip(integer) : "Lip" : 0
+ // The number against each sound (except Lightswitch) corresponds to the wav file
+ // played. e.g. Buzz (10) plays "buttons/button10.wav".
+ 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
+ ]
+// see baseclass door sound notes
+ 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" : "0"
+]
+
+@SolidClass = func_buyzone : "Buy zone"
+[
+ team(choices) : "Team" : 0 =
+ [
+ 0: "All teams (unassigned)"
+ 1: "Terrorist"
+ 2: "Counter-terrorist"
+ ]
+]
+
+@SolidClass base(Targetname, Global, RenderFields, Angles, ZHLT, TexLightType) = func_conveyor : "Conveyor Belt"
+[
+ spawnflags(flags) =
+ [
+ 1 : "No Push" : 0
+ 2 : "Not Solid" : 0
+ ]
+ speed(string) : "Conveyor Speed" : "100"
+ _minlight(string) : "Minimum light level" : "0"
+]
+
+@SolidClass base(Door, ZHLT, TexLightType) = func_door : "Basic sliding door" []
+
+@SolidClass base(Door, Angles, ZHLT, TexLightType) = 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
+]
+// may not work in LINUX system servers.
+@SolidClass = func_escapezone : "Terrorist escape zone" []
+
+// friction changes player state, will have to be reset to normal as player leaves low friction area.
+// 0% = No friction, 100% = Normal Friction
+@SolidClass base(RenderFields, ZHLT, Appearflags, TexLightType) = func_friction : "Surface with a change in friction"
+[
+ modifier(integer) : "Percentage of standard (0 - 100)" : 15
+]
+
+@SolidClass base(Targetname, Global, RenderFields, ZHLT, TexLightType) = func_guntarget : "Moving platform"
+[
+ target(target_source) : "First stop target"
+ speed(integer) : "Speed (units per second)" : 100
+ message(target_source) : "Fire on damage"
+ health(integer) : "Damage to Take" : 0
+ _minlight(string) : "Minimum light level" : "0"
+]
+
+@SolidClass base(Global, RenderFields, ZHLT, TexLightType) = func_healthcharger: "Wall health recharger"
+[
+ // dmdelay may not work in CS
+ dmdelay(integer) : "Deathmatch recharge delay" : 0
+ _minlight(string) : "Minimum light level" : "0"
+]
+
+@SolidClass = func_hostage_rescue : "Hostage rescue zone" []
+
+@SolidClass base(Targetname, RenderFields, ZHLT, TexLightType) = func_illusionary : "Fake Wall/Light"
+[
+ skin(choices) : "Contents" : -1 =
+ [
+ -1: "Empty"
+ -3: "water"
+ -4: "slime touch drown"
+ -5: "lava touch fire death"
+ -7: "Volumetric Light"
+ -16: "make ladder"
+ ]
+ _minlight(string) : "Minimum light level" : "0"
+]
+
+// Creates an invisible, climbable field.
+@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"
+]
+
+// Only partially implemented, some keys don't work properly.
+// NOTE: the continous changing animation can lead to lag.
+@SolidClass base(Targetname, Global, Angles, RenderFields, ZHLT, Appearflags, TexLightType) = 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(string) : "Minimum light level" : "0"
+// _minlight(integer) : "_minlight" : 0
+]
+
+@SolidClass base(Targetname, Global, RenderFields, PlatSounds, ZHLT, TexLightType) = 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" : "0"
+]
+
+@SolidClass base(Targetname, Global, Angles, RenderFields, ZHLT, TexLightType, PlatSounds) = 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" : "0"
+]
+
+@SolidClass base(Breakable, RenderFields, ZHLT, TexLightType) = func_pushable : "Pushable object"
+[
+ size(choices) : "Hull Size" : 0 =
+ [
+ 0: "Point size"
+ 1: "Player size"
+ 2: "Big Size"
+ 3: "Player duck"
+ ]
+ spawnflags(flags) =
+ [
+ 1 : "Only Trigger" : 0
+ 2 : "Broken on touch is buggy" : 0
+ 4 : "Pressure is buggy" : 0
+ 128: "Breakable" : 1
+ 256: "Instant Crowbar" : 1
+ ]
+ friction(integer) : "Friction (0-400)" : 50
+ buoyancy(integer) : "Buoyancy" : 20
+ _minlight(string) : "Minimum light level" : "0"
+]
+
+@SolidClass base(Global, RenderFields, ZHLT, TexLightType) = func_recharge: "Battery recharger"
+[
+ dmdelay(integer) : "Deathmatch recharge delay" : 0
+ _minlight(string) : "Minimum light level" : "0"
+]
+
+// Like func_button, except it rotates.
+@SolidClass base(Targetname, Global, Master, Target, Angles, RenderFields, ZHLT, TexLightType) = func_rot_button : "RotatingButton"
+[
+ delay(string) : "Delay before trigger" : "0"
+ // changetarget will change the button's target's TARGET field to the button's changetarget when button is pressed.
+ changetarget(target_destination) : "ChangeTarget Name"
+ speed(integer) : "Speed" : 50
+ health(integer) : "Health (shootable if > 0)" : 0
+ // The number against each sound corresponds to the wav file
+ // played. e.g. Squeaky (1) plays "buttons/lever1.wav".
+ 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"
+ 3: "3 sec default"
+ ]
+ 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(string) : "Minimum light level" : "0"
+]
+
+@SolidClass base(Targetname, Global, Angles, RenderFields, ZHLT, TexLightType) = func_rotating : "Rotating Object"
+[
+ speed(integer) : "Rotation Speed" : 0
+ volume(integer) : "Volume (10 = loudest)" : 10
+ fanfriction(integer) : "Friction (0 - 100%)" : 20
+ // The number against each sound corresponds to the wav file
+ // played. e.g. Slow Rush (2) plays "fans/fan2.wav".
+ sounds(choices) : "Fan Sounds" : 0 =
+ [
+ 0 : "No Sound"
+ 1 : "Fast Whine"
+ 2 : "Slow Rush"
+ 3 : "Medium Rickety"
+ 4 : "Fast Beating"
+ 5 : "Slow Smooth"
+ ]
+ // The sound to play while active. This will only be used if "Fan Sounds" is set to "No Sound".
+ 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
+ // This, and the other "radius" settings, only affect the
+ // way the Fan Sounds are played; if you set a small radius,
+ // the sounds will only be audible near to the fan.
+ 128: "Small Radius" : 0
+ 256: "Medium Radius" : 0
+ 512: "Large Radius" : 1
+ ]
+ _minlight(string) : "Minimum light level" : "0"
+// _minlight(integer) : "_minlight" : 0
+ spawnorigin(string) : "X Y Z - Move here after lighting" : "0 0 0"
+ dmg(integer) : "Damage inflicted when blocked" : 0
+]
+
+@SolidClass base(BaseTank, ZHLT, TexLightType) = func_tank : "Brush MG 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, TexLightType) = func_tanklaser : "Brush Laser Turret"
+[
+ laserentity(target_source) : "env_laser Entity"
+]
+
+@SolidClass base(BaseTank, ZHLT, TexLightType) = func_tankmortar : "Brush Mortar Turret"
+[
+ iMagnitude(Integer) : "Explosion Magnitude" : 100
+]
+
+@SolidClass base(Trackchange) = func_trackautochange : "Automatic track changing platform"
+[
+ _minlight(string) : "Minimum light level" : "0"
+]
+
+@SolidClass base(Trackchange, ZHLT, TexLightType) = func_trackchange : "Train track changing platform"
+[
+ _minlight(string) : "Minimum light level" : "0"
+]
+
+@SolidClass base(Targetname, Global, Angles, RenderFields, ZHLT, TexLightType) = 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"
+
+// if startspeed is not 0, then maybe no train sounds
+//
+ // The number against each sound corresponds to the wav file
+ // played. e.g. Rail 1 plays "plats/ttrain1.wav".
+ sounds(choices) : "Sound" : 0 =
+ [
+ 0: "None"
+ 1: "Rail 1"
+ 2: "Rail 2"
+ 3: "Rail 3"
+ 4: "Rail 4"
+ 5: "Rail 6"
+ 6: "Rail 7"
+ ]
+
+// distance between wheels relates to stability in turns
+ wheels(integer) : "Distance between the wheels" : 50
+
+// relates to how high above track ORIGIN brush for train runs.
+ height(integer) : "Height above track" : 4
+
+// note: max speed is >2000 or things go wrong
+// and if startspeed is not 0, then maybe no train sounds
+
+ startspeed(integer) : "Initial speed" : 0
+ speed(integer) : "Speed (units per second)" : 64
+ dmg(integer) : "Damage on crush" : 0
+ volume(integer) : "Volume (10 = loudest)" : 10
+
+// stabilty of turn Banking depends on distance between wheels
+ bank(string) : "Bank angle on turns" : "0"
+ _minlight(string) : "Minimum light level" : "0"
+]
+
+// A func_train will not be rendered correctly once it has gone about
+// 4096 units from its spawn position (ie where it sits in worldcraft
+// space). An invisible func_train will still be correctly moving
+// around your train path, it is only the visible piece of the train
+// that gets 'stuck'.
+// So try having your train sitting in the middle of worldcraft's
+// space when you compile the level.
+// (note- a func_train gets its lighting info from where it sits when compiled)
+@SolidClass base(Targetname, Global, RenderFields, ZHLT, TexLightType) = func_train : "Moving platform"
+[
+ target(target_source) : "First stop target"
+ movesnd(choices) : "Move Sound" : 0 =
+ [
+ 0: "No Sound"
+ 1: "big elev 1" // plats/bigmove1.wav
+ 2: "big elev 2" // plats/bigmove2.wav
+ 3: "tech elev 1" // plats/elevmove1.wav
+ 4: "tech elev 2" // plats/elevmove2.wav
+ 5: "tech elev 3" // plats/elevmove3.wav
+ 6: "freight elev 1" // plats/freightmove1.wav
+ 7: "freight elev 2" // plats/freightmove2.wav
+ 8: "heavy elev" // plats/heavymove1.wav
+ 9: "rack elev" // plats/rackmove1.wav
+ 10: "rail elev" // plats/railmove1.wav
+ 11: "squeek elev" // plats/squeekmove1.wav
+ 12: "odd elev 1" // plats/talkmove1.wav
+ 13: "odd elev 2" // plats/talkmove2.wav
+ ]
+ stopsnd(choices) : "Stop Sound" : 0 =
+ [
+ 0: "No Sound"
+ 1: "big elev stop1" // plats/bigstop1.wav
+ 2: "big elev stop2" // plats/bigstop2.wav
+ 3: "freight elev stop" // plats/freightstop1.wav
+ 4: "heavy elev stop" // plats/heavystop2.wav
+ 5: "rack stop" // plats/rackstop1.wav
+ 6: "rail stop" // plats/railstop1.wav
+ 7: "squeek stop" // plats/squeekstop1.wav
+ 8: "quick stop" // plats/talkstop1.wav
+ ]
+
+// note: max speed is 2000 or things go wrong
+ speed(integer) : "Speed (units per second)" : 64
+
+// avelocity is fixed speed of tumbling, cannot be changed in play
+ avelocity(string) : "Angular velocity (Y Z X)" : "0 0 0"
+ dmg(integer) : "Damage on crush" : 0
+ skin(choices) : "Contents (if not solid)" : 0 =
+ [
+ 0: "default"
+ -1: "if non solid Empty"
+ -3: "if non solid swimable water"
+
+// odd slime, lava and ladder can be used, but do not behave as other slime,lava,ladders.
+ -4: "if non solid odd slime"
+ -5: "if non solid odd lava"
+ -7: "if non solid Volumetric Light"
+ -16: "if non solid odd ladder"
+ ]
+ volume(string) : "Sound Volume 0.0 - 1.0" : "0.85"
+ spawnflags(flags) =
+ [
+ 8 : "Not solid" : 0
+ ]
+ _minlight(string) : "Minimum light level" : "0"
+]
+
+@SolidClass = func_traincontrols : "Train Controls"
+[
+ target(target_destination) : "Train Name"
+]
+
+@SolidClass base(Targetname, Angles, RenderFields, ZHLT, TexLightType) = 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" : 0 =
+ [
+ 0: "None"
+ 1: "Vehicle 1"
+ 2: "Vehicle 2"
+ 3: "Vehicle 3"
+ 4: "Vehicle 4"
+ 5: "Vehicle 6"
+ 6: "Vehicle 7"
+ ]
+ length(integer) : "Length of the vehicle" : 256
+ width(integer) : "Width of the vehicle" : 128
+ height(integer) : "Height above track" : 4
+// note: max speed is 2000 or things go wrong
+ 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" : "0"
+]
+
+@SolidClass = func_vehiclecontrols : "Vehicle Controls"
+[
+ target(target_destination) : "Vehicle Name"
+]
+
+@SolidClass = func_vip_safetyzone : "VIP safety zone" []
+
+// style parameter added by Dmitrich! (ZHLT 2.5.3-1.7 supports it now).
+@SolidClass base(Targetname, Global, RenderFields, ZHLT, TexLightType, Appearflags) = func_wall : "Wall"
+[
+ _minlight(string) : "Minimum light level" : "0"
+ style(choices) : "Texlight style" : 0 =
+ [
+ 0 : "Normal"
+ -3: "Grouped"
+ 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"
+ 12: "Underwater"
+ ]
+]
+
+@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 =
+ [
+ -1: "Empty"
+ -3: "Water"
+ -4: "Slime"
+ -5: "Lava"
+ -16: "ladder (only with non ! texture)"
+ ]
+ WaveHeight(string) : "Wave Height" : "0"
+]
+
+// Miscellaneous entities
+@SolidClass base(Master, Target, Angles, RenderFields, ZHLT) = button_target : "Target Button"
+[
+ spawnflags(flags) =
+ [
+ 1: "Use Activates" : 1
+ 2: "Start On" : 0
+ ]
+]
+
+@SolidClass base(Door, ZHLT) = momentary_door : "Momentary/Continuous door"
+[
+ spawnflags(flags) =
+ [
+ 1 : "Starts Open" : 0
+ ]
+]
+
+@SolidClass base(Targetname, Master, Angles, RenderFields, ZHLT) = momentary_rot_button : "Direct wheel control"
+[
+ target(target_destination) : "Targetted object"
+ speed(integer) : "Speed" : 50
+ 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(string) : "Minimum light level" : "0"
+// _minlight(integer) : "_minlight" : "0"
+]
+
+// added by Dmitrich! - February 21, 2004 ;-)
+@PointClass color(255 128 0) = info_texlights : "Texture Light Config" []
diff --git a/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/ambient_generic.spr b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/ambient_generic.spr
new file mode 100644
index 00000000..8da9b215
Binary files /dev/null and b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/ambient_generic.spr differ
diff --git a/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/armoury_entity.spr b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/armoury_entity.spr
new file mode 100644
index 00000000..c457731b
Binary files /dev/null and b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/armoury_entity.spr differ
diff --git a/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/cycler.spr b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/cycler.spr
new file mode 100644
index 00000000..b6f1be27
Binary files /dev/null and b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/cycler.spr differ
diff --git a/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/cycler_sprite.spr b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/cycler_sprite.spr
new file mode 100644
index 00000000..e52026c3
Binary files /dev/null and b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/cycler_sprite.spr differ
diff --git a/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/cycler_wreckage.spr b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/cycler_wreckage.spr
new file mode 100644
index 00000000..d4ccca58
Binary files /dev/null and b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/cycler_wreckage.spr differ
diff --git a/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/env_beam.spr b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/env_beam.spr
new file mode 100644
index 00000000..a5644594
Binary files /dev/null and b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/env_beam.spr differ
diff --git a/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/env_blood.spr b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/env_blood.spr
new file mode 100644
index 00000000..9df04c73
Binary files /dev/null and b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/env_blood.spr differ
diff --git a/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/env_explosion.spr b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/env_explosion.spr
new file mode 100644
index 00000000..8ce32e65
Binary files /dev/null and b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/env_explosion.spr differ
diff --git a/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/env_fade.spr b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/env_fade.spr
new file mode 100644
index 00000000..4baa2bc2
Binary files /dev/null and b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/env_fade.spr differ
diff --git a/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/env_global.spr b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/env_global.spr
new file mode 100644
index 00000000..f9233426
Binary files /dev/null and b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/env_global.spr differ
diff --git a/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/env_glow.spr b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/env_glow.spr
new file mode 100644
index 00000000..de51b584
Binary files /dev/null and b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/env_glow.spr differ
diff --git a/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/env_laser.spr b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/env_laser.spr
new file mode 100644
index 00000000..c637173f
Binary files /dev/null and b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/env_laser.spr differ
diff --git a/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/env_message.spr b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/env_message.spr
new file mode 100644
index 00000000..67521abb
Binary files /dev/null and b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/env_message.spr differ
diff --git a/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/env_rain.spr b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/env_rain.spr
new file mode 100644
index 00000000..0ec16aa2
Binary files /dev/null and b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/env_rain.spr differ
diff --git a/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/env_render.spr b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/env_render.spr
new file mode 100644
index 00000000..e92f5a54
Binary files /dev/null and b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/env_render.spr differ
diff --git a/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/env_smoker.spr b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/env_smoker.spr
new file mode 100644
index 00000000..eebef1d0
Binary files /dev/null and b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/env_smoker.spr differ
diff --git a/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/env_sound.spr b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/env_sound.spr
new file mode 100644
index 00000000..b4caeab5
Binary files /dev/null and b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/env_sound.spr differ
diff --git a/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/env_spark.spr b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/env_spark.spr
new file mode 100644
index 00000000..3bbb595b
Binary files /dev/null and b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/env_spark.spr differ
diff --git a/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/game_counter.spr b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/game_counter.spr
new file mode 100644
index 00000000..e1693ea8
Binary files /dev/null and b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/game_counter.spr differ
diff --git a/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/game_counter_set.spr b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/game_counter_set.spr
new file mode 100644
index 00000000..0568f7a3
Binary files /dev/null and b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/game_counter_set.spr differ
diff --git a/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/game_end.spr b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/game_end.spr
new file mode 100644
index 00000000..fd29a854
Binary files /dev/null and b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/game_end.spr differ
diff --git a/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/game_player_equip.spr b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/game_player_equip.spr
new file mode 100644
index 00000000..2101396e
Binary files /dev/null and b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/game_player_equip.spr differ
diff --git a/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/game_player_hurt.spr b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/game_player_hurt.spr
new file mode 100644
index 00000000..a908cda8
Binary files /dev/null and b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/game_player_hurt.spr differ
diff --git a/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/game_player_team.spr b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/game_player_team.spr
new file mode 100644
index 00000000..caeddf8c
Binary files /dev/null and b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/game_player_team.spr differ
diff --git a/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/game_score.spr b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/game_score.spr
new file mode 100644
index 00000000..c7e940fc
Binary files /dev/null and b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/game_score.spr differ
diff --git a/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/game_team_master.spr b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/game_team_master.spr
new file mode 100644
index 00000000..26d2da0f
Binary files /dev/null and b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/game_team_master.spr differ
diff --git a/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/game_team_set.spr b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/game_team_set.spr
new file mode 100644
index 00000000..4eb7d3ff
Binary files /dev/null and b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/game_team_set.spr differ
diff --git a/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/game_text.spr b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/game_text.spr
new file mode 100644
index 00000000..f6580e71
Binary files /dev/null and b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/game_text.spr differ
diff --git a/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/game_zone_player.spr b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/game_zone_player.spr
new file mode 100644
index 00000000..f97cfda4
Binary files /dev/null and b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/game_zone_player.spr differ
diff --git a/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/gibshooter.spr b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/gibshooter.spr
new file mode 100644
index 00000000..9d61812e
Binary files /dev/null and b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/gibshooter.spr differ
diff --git a/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/hostage_entity.spr b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/hostage_entity.spr
new file mode 100644
index 00000000..be84215d
Binary files /dev/null and b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/hostage_entity.spr differ
diff --git a/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/info_bomb_target.spr b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/info_bomb_target.spr
new file mode 100644
index 00000000..83b4b184
Binary files /dev/null and b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/info_bomb_target.spr differ
diff --git a/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/info_hostage_rescue.spr b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/info_hostage_rescue.spr
new file mode 100644
index 00000000..911a5a0c
Binary files /dev/null and b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/info_hostage_rescue.spr differ
diff --git a/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/info_map_parameters.spr b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/info_map_parameters.spr
new file mode 100644
index 00000000..379ccdb5
Binary files /dev/null and b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/info_map_parameters.spr differ
diff --git a/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/info_player_deathmatch.spr b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/info_player_deathmatch.spr
new file mode 100644
index 00000000..f3f9fe0f
Binary files /dev/null and b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/info_player_deathmatch.spr differ
diff --git a/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/info_player_start.spr b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/info_player_start.spr
new file mode 100644
index 00000000..3aa4143f
Binary files /dev/null and b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/info_player_start.spr differ
diff --git a/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/info_target.spr b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/info_target.spr
new file mode 100644
index 00000000..30f0958a
Binary files /dev/null and b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/info_target.spr differ
diff --git a/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/info_vip_start.spr b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/info_vip_start.spr
new file mode 100644
index 00000000..fac9f6d1
Binary files /dev/null and b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/info_vip_start.spr differ
diff --git a/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/light.spr b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/light.spr
new file mode 100644
index 00000000..3a55a38a
Binary files /dev/null and b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/light.spr differ
diff --git a/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/light_environment.spr b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/light_environment.spr
new file mode 100644
index 00000000..30118da0
Binary files /dev/null and b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/light_environment.spr differ
diff --git a/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/light_spot.spr b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/light_spot.spr
new file mode 100644
index 00000000..81859223
Binary files /dev/null and b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/light_spot.spr differ
diff --git a/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/multi_manager.spr b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/multi_manager.spr
new file mode 100644
index 00000000..c13e0635
Binary files /dev/null and b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/multi_manager.spr differ
diff --git a/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/multisource.spr b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/multisource.spr
new file mode 100644
index 00000000..d692724b
Binary files /dev/null and b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/multisource.spr differ
diff --git a/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/path.spr b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/path.spr
new file mode 100644
index 00000000..261dde99
Binary files /dev/null and b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/path.spr differ
diff --git a/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/player_weaponstrip.spr b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/player_weaponstrip.spr
new file mode 100644
index 00000000..622ace99
Binary files /dev/null and b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/player_weaponstrip.spr differ
diff --git a/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/trigger_auto.spr b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/trigger_auto.spr
new file mode 100644
index 00000000..bb14ca39
Binary files /dev/null and b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/trigger_auto.spr differ
diff --git a/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/trigger_camera.spr b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/trigger_camera.spr
new file mode 100644
index 00000000..37ed514d
Binary files /dev/null and b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/trigger_camera.spr differ
diff --git a/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/trigger_changetarget.spr b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/trigger_changetarget.spr
new file mode 100644
index 00000000..0445e4b2
Binary files /dev/null and b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/trigger_changetarget.spr differ
diff --git a/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/trigger_relay.spr b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/trigger_relay.spr
new file mode 100644
index 00000000..a8795d27
Binary files /dev/null and b/regamedll/extra/Toolkit/GameDefinitionFile/sprites/CS/trigger_relay.spr differ