Counter-Strike: Condition Zero Deleted Scenes FGD

From Valve Developer Community
Jump to: navigation, search

This FGD is considered to be a work-in-progress, while it does have all the functionality to make maps to the same quality of the main game, there might be some wonky stuff, mistakes or non-complete information about entities. There are still keys that are not fully understood and might not be understood until more experimentation is done.

Important

Here are some things to remember when choosing to use this FGD. Alternatively, you can pick this FGD up from TWHL vault.

  • Hammer 3.5 only supports entity classnames with up to 32 characters. Therefore, This version of the CS:CZDS FGD file is not compatible with the default Hammer Editor that is provided with HL1. In this case, It is suggested to use J.A.C.K. J.A.C.K., an alternative to Hammer for GoldSource. The program supports Windows and Linux and adds a number of features for level editing and modding. If you still want to use Hammer, you should refer to this page and just add in the missing content.
  • This is the most up-to-date FGD for CS:CZDS. It is an ongoing effort to bring users the best version of this FGD. If there are any bugs or things missing, please contact me and I will do my best to update it in a timely manner.
  • There are fixes provided in the FGD for the most common bugs in the game.
  • If you are using J.A.C.K, the help button has a lot of information on usage of the entities.
  • There is a section of the FGD dedicated to things that are slightly janky. This space is a space to document oddities within the game.

FGD

This is a text file used internally by a Valve Valve Software technology, such as Source Source and GoldSrc GoldSrc Engine.
To open this file, copy the following text into a text editor such as Notepad++ Notepad++, and save it with "save as type" being "all files" and .FGD appended to the file name. Then open the file in the appropriate tool.
czds_full.fgd
Forge Game Data
//////////////////////////////////////////////////////////////////////////////// // // :INTRODUCTION AND IMPORTANT THINGS: // // Finally, the FGD is done! I'd like to thank all those that have helped me get this FGD into a more complete state. I am planning on updating this // When I have more information or something to fix. So please check back as there might be an update waiting for you! // There are most likely a lot of missing things and undocumented stuff. I've tried to include as much information on the entities in the help section of JACK. // If anyone who was a dev of CS:CZDS and has any knowledge of any data or insights into the specifics of it, please contact me ('I have a plan') at the TWHL forum/discord. // // // :A WORD FROM CASTLE: FORMER LD FOR RITUAL ENTERTAINMENT: // // A few days ago I had the honour of talking with CASTLE, the former LD for many of the levels in CS:CZDS, here is a snippet of what he said about CS:CZ. // // 'When we got the Gearbox build, they had practically finished the game and just that would have been great, but we went at it with a machete and cut a lot of the content. // Valve told us to make a HL1 experience in the Counter-Strike world and what we delivered was very far from it. There was no connection // to the previous levels, no 'Show, don't tell' theories in the levels, characters constantly spewing lore and there was always an objective to do. So it // was never really a HL1 experience. It was a super linear, mostly scripted game with annoying sections that didn't need to be there. // // At the time, we had too much power and we were way too ambitious when it came to CZ. For example, The AI was over scripted, the first time a dude falls down the stairs is cool, // but the hundreth time is just frustrating. We didn't need to have a .SEQ file system or anything like that, Mutimanagers would have worked for everything. // The same thing can be said about the annoying stealth sections, we didn't need those and the game would had probably done better without them. // If you do remake or port the levels, make sure to get rid of the fail state stealth parts for good. // After CZ got taken out of our hands, they released our work as 'Deleted Scenes'. Till this day I have no idea why they decided to do that, it is what it is, but I would have liked it to be under a different name.' // //////////////////////////////////////////////////////////////////////////////// // // :DETAILS AND NOTES: // // Release version: 1.1.6 'Another One' Edition // Release date: 16/7/2023 // Authors: cs_expert-tom793 : 小冬冬 / Dong : I have a plan : Castle // // This FGD is for Counter-Strike: Condition Zero Deleted Scenes. // !Please use either J.A.C.K or equivlent modern goldsource level editor. There is a rather large limitation in Hammer 3.5! // !Regarding this FGD and it is quite hard to fix without running 3rd party code at buildtime! // // // :MISSING/UNKNOWN KEYS, VALUES AND SPAWNFLAGS: // // Unfortunatly, I am not an expert in reading decompiled code. Some keys, values and spawnflags will be missing or have no 'Help' information. // I would need the old UberRadiant .def that Ritual Entertainment used. But, we will never fully know what they were/ or do until the .def or SDK is found/given to us by Valve. // I'm very sorry if there are missing keys, values or spawnflags. I'll continue trying to find the contacts I need to speak to in order to complete this. // List of keys that are used in the game files! // //!NOTE! CBaseTrigger Still trying to work out what they do!! //> CBaseTrigger (Things like trigger_once, trigger_multiple, etc...) >> QUEARY TARGET NEEDS TO BE SET FOR THESE TO WORK!!!! // - isdead > ??? something about a deadflag, could be a normal trigger condition ??? // - hasclassname > if classname is 'xyz', trigger this (this one is a bit tricky. >> SEEMS TO WORK SOMETIMES WITH Terrorist_xyz) // - usingweapon > Takes the weapon model (v/w/p_m4a1.mdl) AS the input value??? > Could seems to be related to the Monster `weapon` KV. // - takingdamage > Seems to be under the normal trigger condtions of the monster. // - hearcombat > Seems to be under the normal trigger condtions of the monster. // - enemyisplayer > Seems to be under the normal trigger condtions of the monster. // - hearplayer > Seems to be under the normal trigger condtions of the monster. // // >monster_T/CT // - poisoned (Causes Crash on level load IF not paired with healthModifier) // - pumped // ??? // - blastradius //m_blastRadius// > seems the code is gimped // - blastdamage //m_blastDamage// > seeems the code is gimped // // // > monster_hostage // - rescueanim (code suggests it should work, if the string corresponds to an animation.) // // > func_healthcharger + func_recharge // - dmdelay (code suggests that func_recharge is supported, but not func_healthcharger.) // // // :SKILLS.CFG: // // The skills.cfg can be used in a custom mod to define certain properties within CS:CZDS. Some entites in this FGD are tagged with a 'help' // dialog that can be accessed in JACK that will let you know. But, here is a quick reference list. // - sk_hgrunt_health (CT/T health) // - sk_turret_health (Turret health) // - sk_miniturret_health (Turret health) // - sk_sentry_health (Turret health) // - sk_suitcharger (Armor charger amount) // - sk_battery1 (Armor pickup amount) // - sk_healthkit (Healthkit pickup amount) // - sk_scientist_heal (Scientist 'syringe boost' amount) // - sk_plr_buckshot (Player shotgun) // // :CONVERTING BRUSH ENTITIES TO POINT ENTITIES: // // Make a point entity where you would like. // Write down the origin of the entity. // Change the name of the entity to the func_* one you would like. // Add the corresponding model to the model key field. // Treat "body" and "skin" how you would with a normal studiomodel entity. // Make sure you add the "origin" of your point // entity to this one as they don't get saved by default. // :WARNING: // You will not be able to see the entity next time you // load it on Hammer. Next time you save, the origin will be erased. // // :INFO_TEXLIGHTS: // // This entity can act as a replacement for a lights.rad file, in that it simply resides within the map as a point based entity. // The usefulness of this is that each map can have its own unique ambient lighting applied to it, and those settings will travel with the map and not affect any other maps. // Usage of the entity is much like that of the multimanager. // To add an entry (take smart-edit off if you are using the Valve Hammer Editor/Worldcraft) and add key-value pairs in manually; // The key should contain the name of the texture to apply lighting to, and the value a set of numbers representing the red green blue lumionsity(brightness) of the texture. // Just as you would in the lights.rad file. // // :PVS: // // For a better understanding of what PVS is or might do in the case of NPCs, read this article from the Valve Developer Wiki: https://developer.valvesoftware.com/wiki/PVS // Most of the time, the key should always be set to 'Yes'. No need to change it. // Strangely enough, it would seem that the PVS on the monstermaker entity may not have implemented PVS (Due to a 'NoImpl' not left on the original FGD). // // 'the 'nopvs' keyvalue seems to be used in conjunction with the fiber optic camera so npcs are still visible when they're in an area that the player can't see // since there's a bug where cameras still use the player position for visibility testing this is used to get things to still render // if an entity isn't including in visibility testing it always gets added to the list of visible entities' -SOLOKILLER // // :TRIGGER_ZIPLINE (AKA FANCY TELEPORTER): // // The zipline is too broken and is pretty much a fancy teleporter. But here is how to use it. // 1. Make a brushentity and set to trigger_zipline, Start = 1, End = 0 to set the start of the zipline anim. // // 2. Make a second trigger_zipline and Start = 0, End = 1 to set the end. (doesnt matter where this is and give it a name) // // 3. Make an info_target entity and set its name to something. Go back to the 1st zipline and make the Zipline Targets name to the Info_targets name. // // 4. Make some sort of trigger with a delay (eg, Trigger_relay: target the name of the 2nd trigger_zipline and give it x delay). // // 5. Try it out in the game! Big thanks to SoloKiller and Shepard for the assist! // // :TRIGGER_OBJECTIVE: // // Here is a quick guide to make a set of objectives if you are making a mod: // 1. Make the objective sentence group in the 'czeror_eng file'. for example: // Aidev objective text //"OBJ1_AIDEV_NEW" "NEW OBJECTIVE: Proceed to elevator for training" //"OBJ1_AIDEV" "[ ] OBJECTIVE: Proceed to elevator for training" //"OBJ1_AIDEV_COMPLETE" "[X] OBJECTIVE: Proceed to elevator for training" // // 2. Make a .SEQ file for your map. Set the sequence block to look like this: //%objseq //{ // @ObjectiveStyle // #text = "#OBJ1_AIDEV_NEW" //#text = "NEW OBJECTIVE: Proceed to elevator for training" // #firetargets = "obj1" //adds objective to objectives list //} // // 3. Make a trigger_sequence and fill in the name, sequence file name (should be 'YOURMAPNAMEHERE.seq') and the sequence name (should be 'objseq'). // Then make an trigger_objective, fill in the Name key as 'obj1' and the Objective key as '#OBJ1_AIDEV'. This selects the objective group to travel though. // Then make a trigger_once and target the trigger_sequence. When the player walks through the trigger, it will alert the player to a new objective and will add it to the GUI. // 4. To complete the objective, we need to retrigger the trigger_objective. Make a new trigger_once and put it somewhere and make it target the trigger_objective. When the player moves // through this trigger_once, it will retrigger the trigger_objective, making it complete. // // :TRIGGER_SEQUENCE: // // I would recommended reading up about how .SEQ files work, and how to script them here: https://twhl.info/wiki/page/Tutorial%3A_Scripting_with_sequence_files // // :'SUIT OF ARMOR' BUG: // The 'Suit Of Armor' bug refers to the player picking up a battery and not having his armor count deplete when receiving damage. This is because of old HEV suit code. // The fix for this is to always give or place armor at the start of the game/level/mod. This 'enables' the 'HEV suit' and makes batteries work as intended. // // :MAPTIER KEY: // // This is an interesting key. The code suggests that, depending on the number given, enemy behavior and schedules are changed. // // :ENV_PARTICLE CRASH: // // Potential fix : Load into a different map that doesn't have an env_particle entity, prior to loading into a map with env_particle. // Perma fix isn't going to be availible until I get an SDK from Valve. // // :ITEM_GENERIC FOG FIX: // // Here is how to fix item_generic not interacting with fog properly. Go into the entity properties and give it these settings. // > Target Name : all_level_models // > Render Mode : Color // > FX Amount : 255 // > Light Multiplier : 1 // > Model : (whatever model you want) // // :BULLETPROOF GLASS FIX: // // There seems to be a bug with func_breakable that deletes certain entities (in this case, a live grenade) from interacting with it. Go into the entity properties and give it these settings. // THESE NEED TO BE SET IN KEYVALUE MODE (No smart-edit) // > grenadetouch : 0 // > renderamt : (Whatever you want) // > rendermode : 2 // > material : 7 // //////////////////////////////////////////////////////////////////////////////// // // :RESOURCES: // // For all your mapping needs, I recommended these sites for getting started! // // : https://twhl.info/wiki // : http://www.the303.org/tutorials/ // : https://developer.valvesoftware.com/wiki/Main_Page // //////////////////////////////////////////////////////////////////////////////// // // :UPDATES: // // !NOTE! > is used to tag important things! Feel free to add your own! // // > 16/7/2023 1.1.6 'Another One' Edition // // - !!NOTE!! For the sake of parity between the original game maps and user maps. monster_terrorist will remain. One can manually change it to monster_t for a shorter list in JACK. // Hammer will have to be monster_t due to 32 bit limits on ent names. // - Added all weapon_ tools and ambient_generic to game_player_equip // - Added "killtarget" KV to "trigger_usetool" // - Added all music tracks to "Trigger_cdaudio" // - Rewrote "Viewcone Degree" KV description in the "Trigger" baseclass to more accurately discribe how to use it. // - Fixed and added more info to Func_mortar_zone. // - Added model selections for Monster_apache to better align with the ingame decompiles. // - Changed "Clips" from ammo entites to either magazines or boxes respectively. // // > 20/4/2022 1.1.5 'A lil update' Edition // // - Added in 'ammo_bomb'. The ammo that the RCbomb tool uses. // - Added in all of the custom gibs list from Czero for easy access. // - Added test_effect > Leftover from early builds of the HL1 SDK. // - Added `weaponbox`. // - Added in "healthvalue" for func_door_rotating. Functions as an HL1 Beta wallkit health dispenser that can be set by the level designer. // - Added in a choices section in "game_player_equip". Should make it easier to access every dispenser-able item in the game. // - Implemented `Item_xxx` into func_breakables so they can be spawned. // - Updated some information with the :DETAILS AND NOTES: section. // - Fixed MonsterMaker spawnflag discription. Thanks WINDAWZ! // - Fixed monster NPC. default value should have had quotes around it. Thanks PENGUINBOY! // // > 18/12/2021 1.1.4 'Fixin' stuff' fix // // - Added flavor text and other specifications (Ammo, uses etc...) to WEAPON ENTITIES, ITEM ENTITIES and AMMO ENTITIES. // - Added Lever sounds to 'func_button'. // - Added zhlt_copylight to ZHLT baseclass. // - Added a fix description for bugged bullet-proof glass within func_breakable. // - Added and tested all trigger modes. Opens up a few useful features. // - Added choices to 'numclip' key for all Ammo_xyz variants, includes info for what gun the ammo goes to and how many mags to fill x gun. // - Added and new trigger modes (querytarget, viewtarget, viewconedegrees, globalstate). // - Added zhlt_copylight to ZHLT baseclass. Because it is handy. // - Added trigger_autosave 'use only' flag. // - Added monster_apache 'No Wreckage' flag (Not sure if this one works though). // - Reverted extended JACK FGD feature 'flags (Light)'. // - Re-wrote the discription for 'weaponaccuracy' key in BaseClass 'Monster'. // - Rewrote the descriptions for what 'lightmultiplier' does on Item_generic and Worldspawn. // - Re-wrote the discription for 'weaponaccuracy' key in BaseClass 'Monster'. // - Removed the rest of the 'lightmultiplier' keys from everything but item_generic and worldspawn. // - Fixed flags 1 'monsters', 2 'no clients' on 'trigger_teleport'. // - Fixed 'trigger_once' from having 2 'master' keys. // - Fixed 'monster_generic' from having 2 render FX arrays. // - Fixed 'language' key in BaseClass 'Monster' to have choices. // - Fixed 'env_sprite' from having 0.0 on the 'scale' key. // - Fixed 'lightmultiplier' keyvalue discription in 'Worldspawn' // - Fixed 'env_liveammoshooter' help info showing in value spot. // - Fixed item_generic KV load order... (argh) // - Fixed the mdl error for the tripmine. // - Fixed 'env_explosion' help info showing in value spot. // - Fixed env_render dupe keys. // - Set 'FX amount' key to a default '255' for convenience. // - Switched default monster_npc model to npc_scientest model. // - Partially renamed the door/button sounds to a non-HL1 description. // > 30/06/2021 1.1.2 'CASTLE was here' Edition // - Added item_generic Fog fix to the :DETAILS AND NOTES: section. // - Added some Comments from one of the LD of Ritual Entertainment, CASTLE, on BaseClase Monster keys 'Behavior' and 'Weapons' and a few other entities. As well as in the introduction. // - Added missing materials 'None' and 'Last Material' to BaseClase 'Breakable'. // - Added iconsprite compatibility for all point entities in the FGD (Thanks Kenny.NL for the 1-bit Pack of tiles!) // - Added a custom version of ZHLT.FGD that includes compatibility with its own sprites to show in editor. // - Added all items to 'item' key on 'player_weaponstrip' for easy access. // - Added a fully working version of 'func_model_brush' into the FGD. // - Re-added BaseClase Monster keys 'Behavior' and 'Weapons'. Having a better understanding of them. // - Re-added the 'rescueanim' key to 'monster_hostage'. Try it out and see if you can get it to work. :) // - Removed unwanted notes from the 1.1.1 HF release. // - Removed 'dot_product_weight','spherical_ambient','angle_hotspot','falloff_curvature','angle_penumbra', 'falloff_start_dist' and 'falloff_end_dist'. They were from Ritual Entertainments build of Ubertools, most likely they used a custom ZHLT build tool too. // - Removed 'env_particle', it seems too broken to work at the moment. // - Rewrote discription for 'MaxRange' in entity 'worldspawn'. // - Rewrote trigger_zipline description. // - Rewrote some of the discriptions for BaseClase Worldspawn. // - Rewrote the descriptions for the Path Entities. // - Fixed a lot of format issues to do with sprites and models. On some entities, it removes the ability to see the models in editor for monstermaker and the cycler entities. // - Fixed BaseClass 'Monster' keyvalues 'Pumped/Wander/etc' choices. // - Fixed the Cycler entity set from showing it's help info in a a keyvalue area. // - Moved 'fleeondanger', 'cower', 'provoke' keys from BaseClass Monster to 'monster_npc' (Checked and these seem to be NPC exclusive). // // > 30/03/2021 V1.1.1 HOTFIX EDITION // - General cleanup of .FGD // - Added monster_terrorist_jungle_xyz to monster_counter_terrorist_repel and monstermaker entities. // - Added 'zhlt_embedlightmap' and 'zhlt_embedlightmapresolution' to BaseClass 'ZHLT'. // - Added discription to monstermaker entity. // - Added 'grenadetouch' key description to BaseClase Breakable (Wonky key but useful for realistic glass.) // - Added spawnflag 2 and 4 to func_tank. (not sure what they actually do yet.) // - Removed the 'preset' key from speaker entity. // - Removed spawnflag 8 from monster_apache. // - Removed 'UseSentence' and 'UnUseSentence' keys from BaseClass Monster // // > 30/03/2021 V1.1 // - Added in weapon options for 'onlydamagedby' and 'notdamagedby' keyvalue in func_breakable. // - Added 'notdamagedby' and 'grenadetouch' key to BaseClass Breakable. // - Added choices into 'classtype' key for monsters. // - Added 'Target X' baseclass to func_button. // - Added 'model' key to monster_hostage. // - Added 'idlesound', 'deathsound', 'quiet', 'firesound' and 'health' keys to monster_apache. // - Added choices to 'particle_type' key to env_particle. // - Added 'item' key to player_weaponstrip. // - Added choices to monstermaker 'monster_type'. // - Added spawnflag 16 to 'scripted_sequence'. // - Added 'healthUpdateRate', 'healthModifier', 'UseSentence' and 'UnUseSentence' to Baseclass Monster. // - Added 'silent' key to func_pushable. // - Added key 'classtype' to BaseClass BaseTank. // - Added BaseClass Targetname to trigger_usetool. // - Added 'spawnawake' to BaseClass Monster. // - Added all presets from CS:CZDS sentence.txt to 'speaker' entity. // - Added description to 'deathtrigger' key for BaseClass Monster. // - Added 'sequencename' key to item_generic. // - Added choices to 'maptier' key in worldspawn. // - Added 'bodygroup' key to BaseClass gibshooterbase. // - Added 'immediate' key to trigger_camera. // - Added 'gagged' key to monstermaker. // - Rewrote descriptions for func_breakable to include the above mentions in 'onlydamagedby' and 'notdamagedby' keyvalue. // - Rewrote descriptions for 'tooltarget' key to include how target_info is used to get proper angle. // - Rewrote descriptions for env_particle 'vis point' to mention that it takes a target_info. // - Rewrote descriptions for worldspawn's 'maptier' key to mention AI changes. // - Fixed aiscripted_sequence 'm_iszPlay' and 'm_iszEntity' key from showing its help info. // - Fixed ambient_generic 'message' from showing help its info. // - Fixed trigger_endsection 'section' key from showing its help info. // - Fixed cycler 'model' key from showing help info. // - Fixed 'explosion' values. 'directed' now displays proper behaviour. // - Fixed 'target' keyvalue dupes on trigger_changekeyvalue. // - Fixed func_button dupe 'target' keys. // - Fixed 'spawn' on func_breakable from showing '0' instead of 'none'. // - Fixed env_glow display name mistake. // - Fixed item_generic not have a target or targetname. // - Removed a '!NOTE!' tag from something that did not need it. // - Removed func_hostage_rescue (doesnt exist in this game). // - Removed 'default' key from BaseClass Monster (Im just dumb). // - Removed 'toolset' key on trigger_usetool (Obsolete). // // > 27/02/2021 V1.0 // - Intial release // // :ISSUES: // // - Monster_flyer uses 'boid' sounds from HL1. Has pigeon sounds in CZEROR /Sounds. // - JACK problem manager reports that some things have dupe keys. > Still don't understand why JACK complains of key-value double ups... // - func_recharge uses HEV sounds. // - Monster_sentry doesn't precache it's firing sound properly. > Dodgy fix is to make 3 ambient_generics with the hks1/2/3 sounds in them !!!Can't fix unless Valve gives the CZEROR SDK!!! // - env_particle throws this error on map load sometimes > 'Tried to create message with bogus message type (0)'. !!!Can't fix unless Valve gives the CZEROR SDK!!! // - env_particle disappears when in players view, no fix as of yet. // - Unlocked sounds on doors and buttons seem to be broken. > !!!Can't fix unless Valve gives the CZEROR SDK!!! // - player_weaponstrip: some things [weapon_blowtorch/weapon_camera/] dont seem to work and crash the game. // - Item_soda needs to have a can.mdl in the active directory. Easy fix, move the can.mdl from HL1 into the mod directory // // :1.1.x 'x' x : Candidate Release version list: // // > KEY: {x = Completed} {r = Remove} {f = Future} {? = Unknown} {P = Partial} // // - [] trigger_endmission might have a use only spawnflag > check line 124343 // - [] Still working on `weapons` > 64 is no weps and no ammo // // // :FUTURE: // // This is for things that will take awhile or are not really urgent. // // - [?] Figure out what spawnflag 1 does on env_liveammoshooter. // - [f] Find a place for 'globalstate' to go on because it relates to CBaseToggle ents. // - [?] Find out what spawnflag 1 does on trigger_endmission. // - [f] Make pigeon sounds for monster_flyer. < Pigeon sounds may already exist in the base game, just need to change the file names to 'boidxyz'. // - [?] Figure out what flag 2 does on trigger_sequence. // - [?] Fix 'weapon' and 'behavior' key choices on BaseClass Monster to properly reflect code. < I don't know if this works at all... // - [] BASECLASS Monster is overriding the monstermaker "cyclic" discription. Need to seperate. // - [] Find the differences between the Trigger_tool > info_camera > info_landmark. If this functions as a waypoint to store the player location in reletive to whatever sight line thing in the trigger_once "look at key" // //////////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////////// // :BASECLASSES: //////////////////////////////////////////////////////////////////////////////// @SolidClass = worldspawn : "World entity" [ maptier(choices) : "Map Tier" : "" : "Apparently, This is may control what the enemy AI does in game. Not much information on this. CASTLE: This could have been for the Multiplayer section of the game, maybe nothing, its hard to say." = [ "": "None" : "Nothing." 1 : "1" 2 : "2" 3 : "3" 4 : "4" 5 : "5" 6 : "6" 7 : "7" 8 : "8" 9 : "9" 10 : "10" ] message(string) : "Map Description / Title" : : "Not working, this is a SP game afterall." gametitle(choices) : "Game Title" : 0 : "show the game title sprite when the map loads." = [ 0 : "No" 1 : "Yes" ] skyname(sky) : "Environment map (cl_skyname)" : : "Choose what sky image you want.'" sounds(integer) : "CD track to play" : : "CD track to play when the level begins. Not working." light(integer) : "Default light level" : : "" WaveHeight(integer) : "Default Wave Height" : : "Set the default wave height here. A func_water will overide what is set here." MaxRange(integer) : "Max viewable distance" : 8192 : "Maximum distance the world is rendered at. Can be changed for better performance." chaptertitle(string) : "Chapter Title Message" : : "Text displayed when entering the level." lightmultiplier(integer) : "Light multiplier" : : "Sets a global illumination on items, ammo and weapons. Pretty much anything that is a model." radfile(string) : "Radfile" : : "Specifies a xyz.RAD file to use." mapversion(integer) : "Map Version" : 220 : "Not sure what this does. Could be something to do with the way map versions were compiled from UBERRadiant." startdark(choices) : "Level Fade In" : 0 : "If Yes, then the level will start black and fade into normal light." = [ 0 : "No" 1 : "Yes" ] newunit(choices) : "New Level Unit" : 0 : "Used to clear out env_global data of previous levels to keep the savegame size as small as possible. Only set it to Yes if the player cannot return to any previous levels." = [ 0 : "No, keep current" 1 : "Yes, clear previous levels" ] minTime(integer) : "Minimum wind time delay" : : "Not sure what this does. Not enough information." minWindX(integer) : "Minimum x axis wind" : : "Not sure what this does. Not enough information." minWindY(integer) : "Minimum Y axis wind" : : "Not sure what this does. Not enough information." maxTime(integer) : "Maximum wind time delay" : : "Not sure what this does. Not enough information." maxWindX(integer) : "Maximum x axis wind" : : "Not sure what this does. Not enough information." maxWindY(integer) : "Maximum Y axis wind" : : "Not sure what this does. Not enough information." grassSprite(sprite) : "Grass Sprite" : : "Select a grass sprite to be used on the map." grassFadeDist(integer) : "Grass Fade Distance" : : "Distance that the grass sprites get faded at." grassMinHeight(integer) : "Minimum Grass Height" : : "Define the minimum height for the grass sprites." grassMaxHeight(integer) : "Maximum Grass Height" : : "Define the maximum height for the grass sprites." grassDensity(integer) : "Grass Density" : : "Define the density of the grass sprites." ] @BaseClass studio() = FuncAddition [ model(studio) : "Model (if not brush)" : "" : "Refer to the 'COVERTING BRUSH ENTITIES' section of this FGD." body(integer) : "Body (if not brush)" : "" : "Refer to the 'COVERTING BRUSH ENTITIES' section of this FGD." origin(string) : "Origin (XYZ) (if not brush)" : "" : "Refer to the 'COVERTING BRUSH ENTITIES' section of this FGD." zhlt_usemodel(string) : "Model Stealer" : "" : "Input the name of an item_generic that has a model, and it should steal the model from it to be used. Can also be used with brush entities." style(choices) : "Texlight style" : 0 : "Set a style of lighting for the texlight. Can be applied to any brush based entity." = [ 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" ] ] @BaseClass base(FuncAddition) = Func2 [ skin(integer) : "Skin (if not brush)" : "" : "Refer to the 'COVERTING BRUSH ENTITIES' section of this FGD." ] @BaseClass = BeamStartEnd [ LightningStart(target_destination) : "Start Entity" : "" : "The name of an entity to be used as the starting point for the beam. If undefined, the beam will choose a surface within the Radius to use as the starting point. (Note that if the Start Entity is undefined, the Ending Entity must also be undefined.)" LightningEnd(target_destination) : "Ending Entity" : "" : "The name of an entity to be used as the end point for the beam. If undefined, the beam will choose a surface within the Radius to use as the end point." ] @BaseClass = Global [ globalname(string) : "Global Entity Name" : "" : "Global name of an entity, allows to have one entity in multiple maps (e.g. elevator in map1 and map2 have the same Global Entity Name which tells the engine to treat those entities as one single entity, so all elevator settings, positions, actions e.t.c. are copied to another map in map transitions)." ] @BaseClass studio() = ModelFile [ model(studio) : "Model" : "" : "Select an Model file to use." body(integer) : "Body" : "" : "Input the value for the bodygroup to use. (Use SOLOKILLERS HLMV for the value)." skin(integer) : "Skin" : "" : "Input the value for the skin to use. (Use SOLOKILLERS HLMV for the value)." head(integer) : "Head" : "" : "Input the value for the head to use. (Use SOLOKILLERS HLMV for the value)." ] @BaseClass = ZHLT [ zhlt_lightflags(choices) :"Light Flags (Zhlt 2.2+)" : 0 : "Brush entities only. Changes how light casts or receives on an object. Options are:" = [ 0 : "Normal" : "Let the entity decide about lighting setting." 1 : "Embedded Fix" : "The 'EmbeddedFix' is for telling HLRAD to not used the complex light bleed fix on the entity, as sometimes when creating a brush entity that sticks through a wall, it will be lit incorrectly from the other side of the wall due to the bleed correction." 2 : "Opaque (Blocks Light)" : "Blocks light. Useful for most func_wall's, some func_illusionary's, the occasional func_door, and possibly others for some effect." 3 : "Opaque + Embedded Fix" : "Combines 'Opaque' and 'Embedded Fix' functions together. " 6 : "Opaque + Concave Fix" : "The 'ConcaveFix' is needed for curved func_wall's, notably arch shapes. When they are set to opaque, the inner curve (the concave porition) will frequently have black fringes at the joins where brushes touch up. Setting the ConcaveFix flag fixes the black seams in these cases, but then the entity cannot have the EmbeddedFix set." ] zhlt_customshadow(integer) : "Shadow Transparency" : "" : "Defines the transparency and colouring of brush based entities for the purposes of the shadows that those brushes cast. Can be applied to any brush based entity." zhlt_embedlightmap(choices) : "Embed Light Map" : "" : "Transparent brush entities only. Set it to 'Yes' and this transparent entity will take light from the environment, making it look much more natural. This effect is pretty expensive so be careful with it." = [ 0 : "No" 1 : "Yes" ] zhlt_embedlightmapresolution(integer) : "Embed Light Map Resolution" : "" : "Set to a power of 2 number. Controls the resolution of embedded lightmaps on transparent textures (see keyvalue above). Higher value for better optimization. Default and recommended value is 4." light_origin(string) : "Light Origin (Zhlt 2.2+)" : "" : "Set optional light placement. Can be applied to any brush based entity. light_origin can be used to place a brush based entity to a new location for the purposes of lighting. Typical use requires placing an info_target at the relevant location, and then setting the light_origin to point the info_target's name. If the entity is opaque, it will also cast shadows from that location in addition to being lit as if it were there." zhlt_copylight(string) : "Copy Light Information" : "" : "You can specify a name of an entity to copy it's lightning values. It can be a model-based entity, Brush entity or a simply info_target" ] @BaseClass = RenderFxChoices [ renderfx(choices) : "Render FX" : 0 : "Gives objects special render effects. Think of it as modifying whatever the Render Mode puts out. The options are as follows:" = [ 0 : "Normal" 1 : "Slow Pulse" 2 : "Fast Pulse" 3 : "Slow Wide Pulse" 4 : "Fast Wide Pulse" 9 : "Slow Strobe" 10 : "Fast Strobe" 11 : "Faster Strobe" 12 : "Slow Flicker" 13 : "Fast Flicker" 5 : "Slow Fade Away" 6 : "Fast Fade Away" 7 : "Slow Become Solid" 8 : "Fast Become Solid" 14 : "Constant Glow" 15 : "Distort" 16 : "Hologram (Distort + fade)" 21 : "Light Multiplier" ] ] @BaseClass base(RenderFxChoices) = RenderFields [ rendermode(choices) : "Render Mode" : 0 : "Controls the type of rendering that is used for an object. Options are:" = [ 0 : "Normal" : "Default render mode." 1 : "Color" : "Replaces the texture with the choosen colour in 'FX Colour'." 2 : "Texture" : "Applies transparency to a brush. The transparency is controlled by the FX Amount." 3 : "Glow" : "Removes the black background from sprites. Colour can be applied and resizes as the player approaches. Not used on solid entities." 4 : "Solid" : "Removes the blue colour from textures tagged with '{'." 5 : "Additive" : "Adds the texture colours to the background. Darker colours become less visible - black is removed. Glows in the dark." ] renderamt(integer) : "FX Amount (1 - 255)" : 255 : "Input how visible the object is. (Depending on the render mode, this could change the outcome of visibility.)" rendercolor(color255) : "FX Color (R G B)" : "0 0 0" : "Input 3 values (R G B) that determine a colour." ] @BaseClass = Master [ master(target_destination) : "Master" : "" : "The name of a multisource (or game_team_master) entity. A master must usually be active in order for the entity to work. Thus they act almost like an on/off switch, in their simplest form, and like an AND gate in the case of the multisource." ] @BaseClass = Target [ target(target_destination) : "Target" : "" : "When an entity is activated, it triggers the entity with the name specified by Target." ] @BaseClass = Targetname [ targetname(target_source) : "Name" : "" : "Property used to identify entities." ] @BaseClass = Classtype [ classtype(choices) : "Class type" : "" : "This is for selecting the faction that the monster or NPC is on. Great for infighting monsters. Classes are: TS1/TS2/CTS1/CTS2/TH/CTH/TVIP/CTVIP/CIV." = [ "" : "No classtype" TS1 : "TS1" TS2 : "TS2" CTS1 : "CTS1" CTS2 : "CTS2" TH : "TH" CTH : "CTH" TVIP : "TVIP" CTVIP : "CTVIP" CIV : "CIV" ] ] @BaseClass base(Target) = Targetx [ delay(string) : "Delay before trigger" : "" : "Usually the time in seconds before an entity should trigger its target (after being triggered itself). Under other SmartEdit names, delay might also be the time to wait before performing some other action." killtarget(target_destination) : "KillTarget" : "" : "When an entity is triggered, it will remove from the game the entity specified by this property." ] @BaseClass = Angles [ Angles(string) : "Pitch Yaw Roll (Y Z X)" : "0 0 0" : "Sets the pitch (up / down), yaw (left / right) and roll (bank) respectively. The compass in Jackhammer corresponds to Yaw. The settings are not always (or not all) used." ] @BaseClass base(Target, Targetname, RenderFields, Angles) color(0 200 200) = Monster [ forcedtarget(target_destination) : "Forced Target" : "" : "Forces the monster to aggressively persue and kill what ever target name is input." TriggerTarget(target_destination) : "TriggerTarget" : "" : "The event to trigger when the TriggerCondition is met. Used by monsters." TriggerCondition(Choices) : "Trigger Condition" : "" : "This controls the condition under which a monster will trigger its TriggerTarget. The options are:" = [ 0 : "No Trigger" 1 : "See Player, Mad at Player" 2 : "Take Damage" 3 : "50% Health Remaining" 4 : "Death" 7 : "Hear World" 8 : "Hear Player" 9 : "Hear Combat" 10 : "See Player Unconditional" 11 : "See Player, Not In Combat" ] spawnflags(flags) = [ 1 : "WaitTillSeen" : 0 : "If enabled, The monster will have it's AI disabled until it sees player (even if something starts attacking monster)." 2 : "Gag" : 0 : "If enabled, the monster will have no idle sounds until angry." 4 : "MonsterClip" : 0 : "If enabled, The monster is affected by func_monsterclip." 16 : "Prisoner" : 0 : "If enabled, the monster won't attack anyone, and no one will attack him." 32 : "SquadLeader" : 0 : "If enabled, the monster will become a leader of the squad typed in 'Squad name'." 128 : "WaitForScript" : 0 : "If enabled, the monster won't react to anything after being spawned until it enters a scripted sequence." 256 : "Pre-Disaster" : 0 : "If enabled, Prevents player from using monster as his follower. Used for NPCs and CTs." 512 : "Fade Corpse" : 0 : "If enabled, fade the monsters corpse after death." ] deathangle(integer) : "Death Angle" : "" : "The angle at which the monster will face on death." deathanim(string) : "Death animation name" : "" : "Choose a specific animation that will play on death." deathtrigger(target_destination) : "Death Trigger" : "" : "Choose a target to trigger on death." language(choices) : "language (AM, SP, JA)" : "" : "Choose a language that the monster or NPC will speak. Can also accept a custom suffix defined in a .SEQ file." = [ "" : "Default" AM : "American" BR : "British" FR : "French" GE : "German" JA : "Japanese" RU : "Russian" AR : "Arabic" SP : "Spanish" ] cantmove(choices) : "Movement" : "" : "Define the type of movement that the monster or NPC will use." = [ 0 : "Normal" 1 : "Sniper/No Movement" 2 : "Turret" ] weaponaccuracy(integer) : "Weapon accuracy" : "" : "The accuracy of the monster or NPC weapons. Higher the number, the less accuracy the monster has." healthmult(integer) : "Health Multiplier" : "" : "The multiplier that is added to the enemy health pool." healthUpdateRate(integer) : "Health recharge rate" : "" : "Rate that, in seconds, health is recharged at." healthModifier(integer) : "Health modifier" : "" : "Amount of health that is restored after every second. Use 'Health recharge rate' with this." netname(target_destination) : "Squad Name" : "" : "In a monster or NPC case, this would be used as a squad identifier. Any monster with the same input will join the same squad." unkillable(choices) : "Unkillable" : "" : "Choose if the monster or NPC is unable to be killed." = [ 0 : "No" 1 : "Yes" ] invulnerable(choices) : "Invulnerable" : "" : "Choose if the monster or NPC is impervious to all damage." = [ 0 : "No" 1 : "Yes" ] spawnawake(choices) : "Spawn awake" : "" : "Spawns a monster that is 'awake', meaning that the AI is active. Not sure if this key is working properly." = [ 0 : "No" 1 : "Yes" ] idleanim(string) : "Idle Animation Name" : "" : "input the idle animation for the monster or NPC to use. (Use SOLOKILLERS HLMV for the value)" usetarget(target_destination) : "Use Target" : "" : "If left blank, the Monster or NPC will can be a follower. If not, It will trigger the entity with the same name as what is filled in." alertable(choices) : "Alertable" : "" : "Choose if the enemy is immediatly alerted or not." = [ 0 : "No" 1 : "Yes" ] weapons(choices) : "Weapons" : "" : "CASTLE> This was used to override the monsters defined weapon attributes. Still not sure if this is sound." = [ 1 : "1" 2 : "2" 4 : "4" 8 : "8" 16 : "16" 32 : "32" 64 : "No weapons" : "Makes the monster hold nothing. When aggro, they constantly reload due to having 0 ammo at all times." 128 : "128" : "s" 256 : "256" ] silentdeath(choices) : "Silent Death" : "" : "Not sure what this does." = [ 0 : "No" 1 : "Yes" ] alertradius(integer) : "Alert Radius" : "" : "Supposedly, Sets the alert radius for the Terrorists. Not sure if working" behavior(choices) : "Behavior" : "" : "CASTLE> This was used to override the behavior of the set monster_T/CT_xyz class, making them adopt different movement and schedules, regardless of the weapon they have." = [ 0 : "PISTOL" 1 : "SHOTGUN" 2 : "ASSAULTRIFLE" 3 : "MACHINEGUN" 4 : "SNIPERRIFLE" 5 : "LAW" 6 : "SMG" 7 : "GRENADER" 8 : "MP5" ] //count(integer) : "Count" : : "Not sure what this does. Could be a count to activate something." sequence(integer) : "Sequence Number (Editor)" : : "Sequence to display in JACK. This does not affect gameplay." nopvs(choices) : "Include in Potentially Visible Set (PVS)" : 0 : "Potentially Visible Sets are used to accelerate the rendering of 3D environments. It is also related to NPCs. Refer to the notes section of this FGD." = [ 0 : "Yes" 1 : "No" ] dontfall(integer) : "Don't Fall to Floor" : "" : "Suspends the monster in the air." dropchance(integer) : "Chance of Drop" : "" : "Item drop chance. Put a value between 0.0 and 1.0." dropitem(choices) : "Drop" : "" : "Define the item that drops from the NPC or monster. Make sure the item you spawn is actually in the map first, some items WILL cause an error and throw you back to the menu." = [ "" : "Nothing" : "Drops nothing" "weapon_knife" : "Knife" : "Spawn a Knife." "weapon_p228" : "P228" : "Spawn a P228 pistol." "weapon_glock18" : "Glock 18" : "Spawn a Glock 18 pistol." "weapon_usp" : "USP" : "Spawn a USP pistol." "weapon_fiveseven" : "Five-Seven" : "Spawn a Five-Seven pistol." "weapon_elite" : "Elite Dual Pistols" : "Spawn a set of Elite pistols." "weapon_deagle" : "Desert Eagle" : "Spawn a Desert Eagle pistol." "weapon_ak47" : "AK47" : "Spawn an AK47 assault rifle." "weapon_aug" : "AUG" : "Spawn an AUG assault rifle." "weapon_m4a1" : "M4A1" : "Spawn an M4A1 assault rifle." "weapon_sg552" : "SG552" : "Spawn an SG552 assault rifle." "weapon_galil" : "Galil" : "Spawn an Galil assault rifle." "weapon_famas" : "Famas" : "Spawn an Famas assault rifle." "weapon_mac10" : "Mac-10" : "Spawn a Mac-10 submachine gun." "weapon_p90" : "P90" : "Spawn a P90 submachine gun." "weapon_tmp" : "TMP" : "Spawn a TMP submachine gun." "weapon_ump45" : "UMP45" : "Spawn a UMP45 submachine gun." "weapon_mp5navy" : "MP5" : "Spawn a MP5 submachine gun." "weapon_scout" : "Scout" : "Spawn a Scout sniper rifle." "weapon_awp" : "AWP" : "Spawn an AWP sniper rifle." "weapon_g3sg1" : "G3SG1" : "Spawn a G3SG1 auto-rifle." "weapon_sg550" : "SG550" : "Spawn a SG550 auto-rifle." "weapon_flashbang" : "Flash Grenade" : "Spawn a Flash Grenade." "weapon_smokegrenade" : "Smoke Grenade" : "Spawn a Smoke Grenade." "weapon_hegrenade" : "HE Grenade" : "Spawn a HE Grenade." "weapon_laws" : "LAW" : "Spawn a LAW rocket launcher." "weapon_m60" : "M60" : "Spawn a M60 heavy machine gun." "weapon_m249" : "M249" : "Spawn a M249 heavy machine gun." "weapon_xm1014" : "XM1014" : "Spawn a XM1014 shotgun" "weapon_m3" : "M3" : "Spawn a M3 shotgun" "weapon_shieldgun" : "Shield" : "Spawn a Shield." "weapon_blowtorch" : "Blowtorch Tool" : "Spawn the Blowtorch Tool." "weapon_briefcase" : "Briefcase Tool" : "Spawn the Briefcase Tool." "weapon_camera" : "Camera Tool" : "Spawn the Camera Tool." "weapon_fiberopticcamera" : "Fiber-Optic Camera Tool" : "Spawn the Fiber-Optic Camera Tool." "weapon_radiocontrolledbomb" : "Radio Bomb Tool" : "Spawn the Radio Bomb Tool." "weapon_radio" : "Radio Tool" : "Spawn the Radio Tool" "ammo_338magnum" : "338 Magnum Ammo" : "Spawn 338 Magnum ammo. For the AWP." "ammo_357sig" : "357 Sig Ammo" : "Spawn 357 Sig ammo. For the P228." "ammo_45acp" : "45ACP Ammo" : "Spawn 45ACP ammo. For the USP, UMP45 and MAC-10." "ammo_50ae" : "50AE Ammo" : "Spawn 50AE ammo. For the Desert Eagle." "ammo_556nato" : "556 Nato Ammo" : "Spawn 556 Nato ammo. For the AUG, Famas, Galil, SG550, SG552 and M4A1." "ammo_556natobox" : "556 Nato Box Ammo" : "Spawn a 556 Nato Box. For the M249." "ammo_762natobox" : "762 Nato Box Ammo" : "Spawn a 762 Nato Box. For the M60." "ammo_762nato" : "762 Nato Ammo" : "Spawn 762 Nato ammo. For the AK47, Scout, and G3SG1." "ammo_57mm" : "57MM Ammo" : "Spawn 57MM ammo. For the P90 and Five-Seven." "ammo_9mm" : "9MM ammo" : "Spawn 9MM ammo. For the Glock 18, Elites, MP5 and TMP." "ammo_buckshot" : "12 Gauge Ammo" : "Spawn 12 Gauge ammo. For the M3 and XM1014." "ammo_generic" : "Generic Ammo" : "Spawn Generic ammo. Every ammo type at max is given." "item_armor" : "Armor Vest" : "Spawn a normal armor vest. 100 AP on pickup." "item_battery" : "Moddable Armor" : "Spawn a moddable armor pickup. Set to whatever the battery is set to in skill.cfg." "item_healthkit" : "Normal Healthkit" : "Spawn a normal healthkit. 50 HP on pickup." "item_healthkitold" : "Moddable Healthkit" : "Spawn a moddable healthkit. Set to whatever the Healthkit is set to in skill.cfg." "item_antidote" : "Antidote" : "Spawn an antidote. Leftover code from HL1. Not sure if it functions." ] weaponrange(integer) : "Weapon Range" : "" : "Defines the range (in units) that the Monster or NPC will attack the player at." // poisoned(integer) : "Poisoned (?)" !WARNING! > CAUSES CRASH ON LEVEL LOAD pumped(choices) : "Pumped" : "" : "Not sure what this does. The code suggests it changes how the monster's health works." = [ 0 : "No" 1 : "Yes" ] wander(choices) : "Wander" : "" : "Makes the NPC move randomly around the area. Just wandering around with no goal." = [ 0 : "No" 1 : "Yes" ] fadespeed(integer) : "Fade Speed" : "" : "Speed at which bodies will fade out at. Higher number means faster fade.." deathfadedelay(integer) : "Death Fade Delay" : "" : "Delay (in seconds) at which bodies will begin to fade at." deathfade(choices) : "Death Fade" : 0 : "Choose if the body fades after death." = [ 0 : "No" 1 : "Yes" ] ] @BaseClass base(Targetname, Classtype, Global, Target, RenderFields, Angles) = BaseTank [ master(target_destination) : "(Team) Master" : "" : "This version of the master keyvalue is mainly for use with 1009 team settings (game_team_master)." spawnflags(flags) = [ 1 : "Active" : 0 : "If enabled, this func_tank will be active on level load, which means it will try to kill every enemies in it's view distance." 16 : "Only Direct" : 0 : "If enabled, the automatic func_tank will fire it's target only when they are in it's line of sight." 32 : "Controllable" : 0 : "If enabled, the player can control this turret. Keep in mind that func_tankcontrols is required for this." ] yawrate(string) : "Yaw rate" : "30.0" : "Speed of the left/right movement of the gun." yawrange(string) : "Yaw range" : "180.0" : "Range of the left/right movement in degrees." yawtolerance(string) : "Yaw tolerance" : "15.0" : "Not sure what this does." pitchrate(string) : "Pitch rate" : "0.0" : "Speed of the up/down movement of the gun." pitchrange(string) : "Pitch range" : "0.0" : "Range of the up/down movement in degrees." pitchtolerance(string) : "Pitch tolerance" : "5.0" : "Not sure what this does." barrel(string) : "Barrel Length" : "0.0" : "Distance from the center of the origin brush to the tip of the barrel." barrely(string) : "Barrel Horizontal" : "0.0" : "Horizontal distance from the center of the origin brush to the center of the barrel." barrelz(string) : "Barrel Vertical" : "0.0" : "Vertical distance from the center of the origin brush to the center of the barrel." spritesmoke(sprite) : "Smoke Sprite" : "" : "Sprite that will be shown at the end of the barrel when the gun is fired." spriteflash(sprite) : "Flash Sprite" : "" : "Sprite that will be shown at the end of the barrel when the gun is fired." spritescale(string) : "Sprite scale" : "1.0" : "Scale of the sprites that appear at the end of the barrel. 1 is normal, 0.5 is half, etc." rotatesound(sound) : "Rotate Sound" : : "Choose a sound to use when the turret is moving." firerate(string) : "Rate of Fire" : "1.0" : "Number of bullets fired per second." bullet_damage(integer) : "Damage Per Bullet" : 0 : "Default is 0, so if you want it to kill things you must enter something." persistence(string) : "Firing persistence" : "1.0" : "Used by non-player-controlled guns to determine for how long the gun carries on firing after the player has left its range." firespread(choices) : "Bullet accuracy" : 0 : "How accurate the gun is. Options are:" = [ 0 : "Perfect Shot" 1 : "Small cone" 2 : "Medium cone" 3 : "Large cone" 4 : "Extra-large cone" ] minRange(string) : "Minimum target range" : "" : "Minimum range the target can be at for a non-player-controlled gun to fire." maxRange(string) : "Maximum target range" : "" : "Maximum range the target can be at for a non-player-controlled gun to fire." _minlight(integer) : "Minimum light level" : "" : "Brush entities only. Sets the minimum light level. Useful for when textures should always appear bright e.g. computer screens or holograms. Default is 0, max 1." ] @BaseClass base(Targetname, Targetx, Global, Master, RenderFields, Angles, ZHLT) = Door [ speed(integer) : "Speed" : 100 : "Speed that the door moves at." movesnd(choices) : "Move Sound" : 0 : "Choose a moving sound for the door. Options are:" = [ 0 : "No Sound" 1 : "Pneumatic door" : "A door that sounds futuristic." 2 : "Sliding door - Wood" : "Small sliding wood door." 3 : "Sliding door - Metal" : "Smaller, lightweight sliding metal door." 4 : "Sliding door - Metal 2" : "Larger, heavy sliding metal door." 5 : "Normal door - Metal" : "Normal metal door sound." 6 : "Rising water" : "Used for water rising." 7 : "Vault door" : "Large vault door. Sounds similar to 'Pneumatic door' but with more ambient sounds." 8 : "Normal door - Metal 2" : "A slightly more cartoony sounding metal door." 9 : "Normal door - Wood" : "Normal sounding wooden door." 10 : "Normal door - Wood 2" : "Normal sounding wooden door. Slightly longer." 11 : "Electric gate" : "A very garage door like sound." ] stopsnd(choices) : "Stop Sound" : 0 : "Choose a stop sound for the door. Options are:" = [ 0 : "No Sound" 1 : "Pneumatic door - Stop" : "A Pneumatic stopping sound." 2 : "Pneumatic door - Stop 2" : "A Pneumatic stopping sound. More steam and reverb." 3 : "Sliding door - Metal" : "Sounds like a normal sliding door, rather than a stop sound." 4 : "Metal clunk" : "A metal clunk sound." 5 : "Metal clunk 2" : "A metal clunk sound. More reverb." 6 : "Clanging Pneumatic" : "A clang, then a Pneumatic stopping sound." 7 : "Clanging Pneumatic 2" : "A clanging, Pneumatic stopping sound. Mixed at roughly the same time." 8 : "Electric gate" : "Sounds like an electric gate locking." 11 : "Electric gate 2" : "Shorter, more muted electric gate locking sound." ] wait(integer) : "delay before close" : "" : "Time to wait before the door closes after opening (-1 or 0 makes it stay open, or else use >0.1)" lip(integer) : "Lip" : "" : "Number of units left after move (the lip value is subtracted from the move distance)." dmg(integer) : "Damage inflicted when blocked" : "" : "Set the damage given to something if it blocks a door." message(string) : "Message if triggered" : "" : "Set if the door fires a message. This key might not work." netname(target_destination) : "Fire on Close" : "" : "Input a entity name that will be triggered when the door is closed. This key might not work." health(integer) : "Health (shoot open)" : "" : "With a non-zero value here, the door will have to be damaged to this extent to open. This key might not work." spawnflags(flags) = [ 1 : "Starts Open" : 0 : "If enabled, the entity starts in its 'open' position." 4 : "Don't link" : 0 : "If enabled, restricts the entity from being linked to a door with the same name (preventing it from opening as part of a pair)." 8 : "Not Solid" : 0 : "If enabled, a non-solid door." 32 : "Toggle" : 0 : "If enabled, makes the entity toggleable" 256 : "Use Only" : 0 : "If enabled, this entity can be triggered by using it but not by touching it anymore. This does not outrule activation by triggering, though." 512 : "Monsters can't" : 0 : "If enabled, monsters with arms can't use this entity." ] locked_sound(choices) : "Locked Sound" : 0 : "Choose a lock sound for the door. Options are:" = [ 0 : "No Sound" 1 : "Normal door knob - Wood" : "Normal wooden door. Door knob sound." 2 : "Normal door lock - Wood" : "Normal wooden door. Locked sound." 3 : "Normal door shake - Wood" : "Normal wooden door. Shaking sound" 4 : "Normal door latch - Metal" : "Normal metal door. Latch sound." 5 : "Normal door shake - Metal" : "Normal metal door. Shaking sound." 6 : "Gate shake - Metal 2" : "Metal gate. Shaking sound." 7 : "Normal door lock - Metal" : "Normal metal door. Locked sound." 8 : "Normal door hit - Metal" : "Normal metal door. Hitting sound." 9 : "Pneumatic door lock" : "Lock sound, then a beep." 10 : "Pneumatic door buzz" : "An electirc buzzing sound." ] unlocked_sound(choices) : "Unlocked Sound" : 0 : "Choose an unlock sound for the door. This is broken for some reason in the game. Options are:" = [ 0 : "No Sound" 1 : "Old button" : "Sounds like an old button." 2 : "Digital - Chirping" : "Digital chirping sound." 3 : "Digital - Chirping 2" : "An alternative digital chirping sound." 4 : "Digital - Old button" : "Deep button press with a digital chirp at the end." 5 : "2-tone with digital chirp" : "A 2-tone alert with a digital chirp sound." 6 : "Digital - Old button 2" : "Digital chirping with a old button press at the end." 7 : "Digital - Old button 3" : "An old button with an alternative digital chirping sound." 8 : "Old button 2" : "Industrial button sound." 9 : "Digital - old button 4" : "Another old button sound with a digital chirping sound." 10 : "Buzzer" : "A buzzer sound." 11 : "Buzzer - Off" : "A buzzer. Has a lower tone to " 13 : "Latchunlocked1 (HL1)" ] locked_sentence(choices) : "Locked Sentence" : 0 : "Choose a locked sentence for VOX to say for the door. Refer to the notes section of this FGD. Options are:" = [ 0 : "No Sound" 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" 10 : "Buzz" 11 : "Buzz Off" 12 : "Latch Locked" ] unlocked_sentence(choices) : "Unlocked Sentence" : 0 : "Choose an unlocked sentence for VOX to say for the door. Refer to the notes section of this FGD. Options are:" = [ 0 : "No Sound" 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(integer) : "Minimum light level" : "" : "Brush entities only. Sets the minimum light level. Useful for when textures should always appear bright e.g. computer screens or holograms. Default is 0, max 1." skin(choices) : "Contents" : 0 = [ 0 : "Normal" -1 : "Empty" -2 : "Solid" -3 : "Water" -4 : "Slime" -5 : "Lava" -16 : "Ladder" ] //explodemagnitude(integer) : "Explosion Magnitude" : : "Not sure what this does." ] @BaseClass size(-16 -16 -16, 16 16 16) base(Targetname, Angles) = gibshooterbase [ m_iGibs(integer) : "Number of Gibs" : "" : "How many gibs to make." delay(string) : "Delay between shots" : "" : "Delay (in seconds) between shots. If 0, all gibs shoot at once." m_flVelocity(string) : "Gib Velocity" : "" : "How fast the gibs are fired." m_flVariance(string) : "Course Variance" : "" : "How much spread is added to the gibs." m_flGibLife(string) : "Gib Life" : "" : "Time in seconds before the gibs disappear." bodygroup(integer) : "Bodygroup" : "" : "allows a specific bodygroup to be selected." spawnflags(flags) = [ 1 : "Repeatable" : 0 : "If enabled, the sequence can be repeated more than once. Otherwise the entity will be removed once the sequence is complete." ] ] @BaseClass = Light [ _light(color255) : "Brightness" : "255 255 255 200" : "First three integer numbers are the color (RGB). The fourth number is the brightness." style(choices) : "Texlight style" : 0 : "Light appearance. Options are:" = [ 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" ] pattern(string) : "Custom Appearance" : "" : "Use a string of letters to provide a custom light style. The property allows you to enter a string of letters from a to z, representing brightness. If you entered 'abcdefghihgfedcba' then the light would go from bright to dim and back again and then repeat. Complicating things, to use this feature, you must name the light. However, if you then use a trigger to activate it, then it will behave as a normal light." _fade(integer) : "Fade (ZHLT Only)" : 1 : "In the simplest words, it customizes light fading. '1.0' for normal fade, larger values for 'shorter' lights." _falloff(Choices) : "Falloff (ZHLT Only)" : 0 : "Changes the way that light is calculated. Inverse square is default. Linear creates collimated lighting, similar to that of a projector." = [ 0 : "Default" 1 : "Inverse Linear" 2 : "Inverse Square" ] spawnflags(flags) = [ 1 : "Initially dark" : 0 : "If enabled, the entity will need to be triggered to work." ] ] @BaseClass = PlatSounds [ movesnd(choices) : "Move Sound" : 0 = [ 0 : "No Sound" 1 : "big elev 1" 2 : "big elev 2" 3 : "tech elev 1" 4 : "tech elev 2" 5 : "tech elev 3" 6 : "freight elev 1" 7 : "freight elev 2" 8 : "heavy elev" 9 : "rack elev" 10 : "rail elev" 11 : "squeek elev" 12 : "odd elev 1" 13 : "odd elev 2" ] stopsnd(choices) : "Stop Sound" : 0 = [ 0 : "No Sound" 1 : "big elev stop1" 2 : "big elev stop2" 3 : "freight elev stop" 4 : "heavy elev stop" 5 : "rack stop" 6 : "rail stop" 7 : "squeek stop" 8 : "quick stop" ] volume(string) : "Sound Volume 0.0 - 1.0" : 0 : "Sets the volume of the sound. Scales from 0 (completely silent) to 10 (maximum, default)." ] @BaseClass size(-16 -16 -36, 16 16 36) color(0 255 0) base(Angles) = PlayerClass [] @BaseClass base(Classtype, Targetname, Global, RenderFields, PlatSounds) = Trackchange [ height(integer) : "Travel altitude" : 0 : "Altitude to ascend or descend (use negative values for the latter, or 0 to disable altitude change)." spawnflags(flags) = [ 1 : "Auto Activate train" : 0 : "If enabled, the train won't be paused at the top/bottom of the path after func_trackchange finish it's movement. Instead, it will continue moving forward." 2 : "Relink track" : 0 : "The functionality of this flag is unknown. However, this entity seems to work fine whenever this flag is selected or not." 8 : "Start at Bottom" : 0 : "If enabled, The platform starts at the bottom instead at the top path_track." 16 : "Rotate Only" : 0 : "If enabled, the platform only rotates in place of it's origin without travelling to the specified altitude. The top and the bottom path_tracks should have their origin positioned in at the coordinates." 64 : "X Axis" : 0 : "If enabled, the train will rotate around the X axis instead of the Z axis. Can be combined with 'Y Axis' flag." 128 : "Y Axis" : 0 : "If enabled, the train will rotate around the Y axis instead of the Z axis. Can be combined with 'X Axis' flag." ] rotation(integer) : "Spin amount" : 0 : "This is the amount in degrees the track will turn on its way up / down." train(target_destination) : "Train to switch" : "" : "The Name of the train that is using the track." toptrack(target_destination) : "Top track" : "" : "This is the Name of the last path_corner in the upper track." bottomtrack(target_destination) : "Bottom track" : "" : "The Name of the first path_corner in the lower track." speed(integer) : "Move/Rotate speed" : 0 : "The speed in units/sec that the track platform will move. If the Rotate Only flag is set this will be the speed of rotation only." ] @BaseClass base(Targetname, Master, Target) = Trigger [ delay(string) : "Delay before trigger" : "" : "Time delay before triggering the target" killtarget(target_destination) : "Kill target" : "" : "Removes the targeted entity from the game." netname(target_destination) : "Target path" : "" : "If a trigger has a netname, that netname will become the target of the triggered object." querytarget(string) : "Query target" : "" : "Used to query a target. It can be set to a variety of entities. can be set to 'player'." viewtarget(string) : "View target" : "" : "Define a view target. Commonly used to define a spot that the player must be looking at in order to trigger something. Can be an info_target." viewconedegrees(integer) : "Viewcone angle" : "" : "Used with 'View target'. Define the angle that the target must be seen from in order to trigger something. Value can be set between '1' > '360'. Use the compass in JACK to get an accurate angle." healthover(string) : "Health over" : "" : "Used with 'Query target'. Tigger X when health is over Y amount." healthunder(string) : "Health under" : "" : "Used with 'Query target'. Tigger X when health is under Y amount." healthequal(string) : "Health equal" : "" : "Used with 'Query target'. Tigger X when health is equal to Y amount." globalstate(string) : "Global state" : "" : "Queries a global state to make sure it is active before triggering something, kinda like a second master key but for the view target." //style(integer) : "Style" : 32 : "Not sure what this does." sounds(choices) : "Sound style" : "" : "This use to be the secret sounds found in Quake. It seems to not work anymore." = [ 0 : "No Sound" ] message(string) : "Message" : "" : "A message to display when triggered." spawnflags(flags) = [ 4 : "Pushables" : 0 : "If enabled, func_pushable entities can trigger this entity." ] ] //////////////////////////////////////////////////////////////////////////////// // AISCRIPTED ENTITIES //////////////////////////////////////////////////////////////////////////////// @PointClass base(Targetname, Targetx, Angles) size(-16 -16 0, 16 16 72) color(255 0 255) flags (angle) = aiscripted_sequence : "AI Scripted Sequence: Like the scripted_sequence entity, the aiscripted_sequence entity allows you to make a monster entity move to a specific location and/or perform a given animation. Unlike scripted_sequence, aiscripted_sequence completely overrides the targeted monster's AI. Regardless of what you do to the monster, it will follow this sequence." [ m_iszEntity(target_destination) : "Target Monster" : "" : "The name of the monster entity that this sequence affects. You can also input a monster type (monster_scientist, for example. But, only one monster will be chosen to follow the sequence.)" m_iszPlay(string) : "Action Animation" : "" : "The name of the animation that will be performed by Target Monster." m_flRadius(string) : "Search Radius" : "512.0" : "If you input a monster type into Target Monster, the entity will pick a monster within this radius of the entity to follow the sequence. If none are within the radius, the first monster to enter the radius will follow the sequence." m_flRepeat(string) : "Repeat Rate ms" : "" : "Seems to not work." m_fMoveTo(Choices) : "Move to Position" : 0 : "Sets how (or if) the monster moves before performing the animation. Choices are:" = [ 0 : "No" : "The monster will not move or turn. It will perform the animation wherever it is." 1 : "Walk" : "The monster will walk to the aiscripted_sequence, then perform the animation." 2 : "Run" : "The monster will run to the aiscripted_sequence, then perform the animation." 4 : "Instantaneous" : "The monster will instantly warp to the location of the aiscripted_sequence and perform the animation." 5 : "No - Turn to Face" : "The monster will not move, but will turn to the aiscripted_sequence's angle before performing the animation." ] m_iFinishSchedule(Choices) : "AI Schedule when done" : "" : "Allows you to have the monster's AI schedule change to 'Ambush' when the sequence is done, which means that the monster will be in an attentive state and encounter enemies more actively. This key might not work." = [ 0 : "Default AI" 1 : "Ambush" ] spawnflags(flags) = [ 4 : "Repeatable" : 0 : "If enabled, the sequence can be repeated more than once. Otherwise the entity will be removed once the sequence is complete." 8 : "Leave Corpse" : 0 : "If enabled, if the action animation is a death animation, causing the monster to die, the corpse will not fade out." 32 : "No Interruptions" : 0 : "If enabled, the sequence cannot be interrupted. The monster will ignore damage until the sequence is complete, as with the aiscripted_sequence entity." 128 : "No Script Movement" : 0 : "If enabled, when the sequence is completed, the monster will be placed back where the Action Animation started (if the animation would cause the monster to move)." ] ] //////////////////////////////////////////////////////////////////////////////// // AMBIENT ENTITIES //////////////////////////////////////////////////////////////////////////////// @PointClass iconsprite("sprites/Hammer/AmbientGeneric.spr") base(Targetname, Angles) = ambient_generic : "Universal Ambient" [ message(sound) : "Path/filename.wav of WAV" : "" : "This defines which sound file will be played by the entity. This accepts an input of the form: path/filename.wav (starting from the sound folder). (Example: ambience/drips.wav). The name of a sentence defined in sentences.txt will also be accepted with the form: !SENTENCENAME. (Example: !HG_ALERT1)" health(integer) : "Volume (10 = loudest)" : 10 : "Sets the volume of the sound. Scales from 0 (completely silent) to 10 (maximum, default). (If using dynamics attributes below, this is the maximum volume the sound will reach)." preset(choices) :"Dynamic Presets" : 0 : "Sets the ambient_generic to use a predefined set of dynamics. If set to anything other than :None:, this will override every other attribute apart from Name and WAV Name." = [ 0 : "None" : "Does not use a preset, and will not override any other entity attributes." 1 : "Huge Machine" : "Very long spin up, starting slow and getting fast. Very long spin down." 2 : "Big Machine" : "Medium spin up, starting normal and getting fast. Long spin down." 3 : "Machine" : "Quick spin up, starting normal and getting fast. Quick spin down." 4 : "Slow Fade in" : "Slow fade in/out." 5 : "Fade in" : "Medium fade in/out." 6 : "Quick Fade in" : "Quick fade in/out." 7 : "Slow Pulse" : "Slow pulsing speed. Quick fade out." 8 : "Pulse" : "Pulsing speed. Quick fade out." 9 : "Quick pulse" : "Quick pulsing speed. Quick fade out." 10 : "Slow Oscillator" : "Slow oscillation between normal and slow speed. Quick fade out." 11 : "Oscillator" : "Medium oscillation between normal and slow speed. Quick fade out." 12 : "Quick Oscillator" : "Fast oscillation between normal and slow speed. Quick fade out." 13 : "Grunge pitch" : "Extremely slow. Quick fade out." 14 : "Very low pitch" : "Very slow. Quick fade out." 15 : "Low pitch" : "Slow. Quick fade out." 16 : "High pitch" : "Fast. Quick fade out." 17 : "Very high pitch" : "Very fast. Quick fade out." 18 : "Screaming pitch" : "Extremely fast. Quick fade out." 19 : "Oscillate spinup/down" : "Medium oscillation, with long spin up from slow to fast. Long spin down." 20 : "Pulse spinup/down" : "Slow pulse, with long spin up from slow to fast. Long spin down." 21 : "Random pitch" : "Occasionally switches speed, tending towards slower speeds. Quick fade out." 22 : "Random pitch fast" : "Rapidly switches speed, tending towards faster speeds. Quick fade out." 23 : "Incremental Spinup" : "Quick spin up. Subsequent triggers will not toggle, but will spin up from existing speed, up to five times. Cannot be turned off." 24 : "Alien" : "Unusual pulsing and switching speed. Quick fade out." 25 : "Bizzare" : "Fast oscillation between fast and slow/silent. Quick fade out." 26 : "Planet X" : "Medium switching between slower speeds, similar to :Random pitch:. Quick fade out." 27 : "Haunted" : "Slow switch between normal and slow speed. Quick fade out." ] volstart(integer) : "Start Volume" : "" : "Sets the volume that the sound should start at when fading in, and that it should stop at when fading out. Scales from 0 (completely silent) to 10 (maximum). (Should be lower than Volume.)." fadein(integer) : "Fade in time (0-100)" : "" : "Sets how long the sound should take to fade in from Start Volume to Volume. Scales from 0 (instant) to 100 (very long)." fadeout(integer) : "Fade out time (0-100)" : "" : "Sets how long the sound should take to fade out from Volume to Start Volume. Scales from 0 (instant) to 100 (very long)." pitch(integer) : "Pitch (> 100 = higher)" : "" : "Sets the pitch of the sound. Scales from 100 (default), with lower values meaning lower pitch and higher values meaning higher pitch." pitchstart(integer) : "Start Pitch" : "" : "Sets the pitch that the sound should start at when spinning up, and that it should stop at when spinning down. Scales from 100 (default), with lower values meaning lower pitch and higher values meaning higher pitch. (Should be lower than Pitch.)" spinup(integer) : "Spin up time (0-100)" : "" : "Sets how long the sound should take to spin up from Start Pitch to Pitch. Scales from 0 (instant) to 100 (very long)." spindown(integer) : "Spin down time (0-100)" : "" : "Sets how long the sound should take to spin down from Pitch to Start Pitch. Scales from 0 (instant) to 100 (very long)." lfotype(choices) : "LFO type" : 0 : "Allows the sound to have certain oscillating effects applied to its pitch." = [ 0 : "Off" : "Disables the LFO effects." 1 : "SQR" : "Switches between a low and high pitch." 2 : "TRI" : "Oscillates between a low and high pitch." 3 : "RND" : "Randomly switches pitches." ] lforate(integer) : "LFO rate (0-1000)" : "" : "Sets how quickly the pitch changes with the LFO effects. Scales between 0 (does not change) and 1000 (changes extremely quickly)." lfomodpitch(integer) : "LFO mod pitch (0-100)" : "" : "Sets how much the pitch should change with the LFO effects. Scales between 0 (does not change) and 100 (very large changes)." lfomodvol(integer) : "LFO mod vol (0-100)" : "" : "Sets how much the volume should change with the LFO effects. Seems to coincide with lower pitches. Scales between 0 (does not change) and 100 (silent)." cspinup(integer) : "Incremental spinup count" : "" : "Sets how many times the ambient_generic can be triggered to have the pitch spin up on top of the pitch it was already playing at. Setting this to a value other than 0 will disable toggling the sound, and will prevent the sound from being turned off even it has been triggered that many times." spawnflags(flags) = [ 1 : "Play Everywhere" : 0 : "If enabled, the sound will be heard throughout the entire map." 2 : "Small Radius" : 0 : "If enabled, the sound will be at maximum volume within a roughly 256 unit radius, fading out completely at around 512 units away." 4 : "Medium Radius" : 1 : "If enabled, the sound will be at maximum volume within a roughly 512 unit radius, fading out completely at around 768 units away." 8 : "Large Radius" : 0 : "If enabled, the sound will be at maximum volume within a roughly 768 unit radius, fading out completely at around 1280 units away." 16 : "Start Silent" : 0 : "If enabled, the sound will not play at the start of the map, and will need to be triggered to play. Otherwise, the sound will play at the start of the map whether it is a looping sound or not." 32 : "Not Toggled" : 0 : "If enabled, Tells the entity whether or not it is dealing with a looping sound. The sound will play whenever the entity is triggered (intended for non-looping sounds). (Looping sounds will still play, but will not turn off when triggered.) If not enabled, the sound will toggle on or off when triggered (intended for looping sounds). (Non-looping sounds will still play, but every second trigger will turn the sound off regardless of whether the sound is actually playing anything.) See notes for more information about looping sounds." ] ] //////////////////////////////////////////////////////////////////////////////// // AMMO ENTITIES //////////////////////////////////////////////////////////////////////////////// @PointClass base(RenderFields, Angles) studio("models/w_338magnum.mdl") = ammo_338magnum : ".338 Lapua Magnum Ammo: For the AWP." [ numclips(choices) : "Number of magazines" : 1 : "This defines the number of magazines in the ammo entity. If the value is more than 1, it will change the model(Example: 9mmBig.mdl)." = [ 1 : "1 Magazine (10 Bullets Per Magazine)" 2 : "2 Magazines" 3 : "3 Magazines (Fill AWP)" ] ] @PointClass base(RenderFields, Angles) studio("models/w_357sig.mdl") = ammo_357sig : ".357 SIG Ammo: For the P228." [ numclips(choices) : "Number of magazines" : 1 : "This defines the number of magazines in the ammo entity. If the value is more than 1, it will change the model(Example: 9mmBig.mdl)." = [ 1 : "1 Magazine (13 Bullets Per Magazine)" 2 : "2 Magazines" 3 : "3 Magazines" 4 : "4 Magazines (Fill P-228)" ] ] @PointClass base(RenderFields, Angles) studio("models/w_45acp.mdl") = ammo_45acp : ".45 ACP Ammo: For the USP, UMP45 and MAC-10." [ numclips(choices) : "Number of magazines" : 1 : "This defines the number of magazines in the ammo entity. If the value is more than 1, it will change the model(Example: 9mmBig.mdl)." = [ 1 : "1 Magazine (12 Bullets Per Magazine)" 2 : "2 Magazines" 3 : "3 Magazines" 4 : "4 Magazines (Fill USP45)" 5 : "5 Magazines" 6 : "6 Magazines" 7 : "7 Magazines" 8 : "8 Magazines (Fill Mac-10)" 9 : "9 Magazines (Fill UMP 45)" ] ] @PointClass base(RenderFields, Angles) studio("models/w_50ae.mdl") = ammo_50ae : ".50 Action Express Ammo: For the Desert Eagle." [ numclips(choices) : "Number of magazines" : 1 : "This defines the number of magazines in the ammo entity. If the value is more than 1, it will change the model(Example: 9mmBig.mdl)." = [ 1 : "1 Magazine (7 Bullets Per Magazine)" 2 : "2 Magazines" 3 : "3 Magazines" 4 : "4 Magazines" 5 : "5 Magazines (Fill Desert Eagle)" ] ] @PointClass base(RenderFields, Angles) studio("models/w_556nato.mdl") = ammo_556nato : "5.56mm NATO Ammo: For the AUG, Famas, Galil, SG550, SG552 and M4A1." [ numclips(choices) : "Number of magazines" : 1 : "This defines the number of magazines in the ammo entity. If the value is more than 1, it will change the model(Example: 9mmBig.mdl)." = [ 1 : "1 Magazine (30 Bullets Per Magazine)" 2 : "2 Magazines" 3 : "3 Magazines (Fill SG552, M4A1, Aug and SG550)" ] ] @PointClass base(RenderFields, Angles) studio("models/w_556natobox.mdl") = ammo_556natobox : "5.56mm NATO Box Ammo: For the M249." [ numclips(choices) : "Number of magazines" : 1 : "This defines the number of magazines in the ammo entity. If the value is more than 1, it will change the model(Example: 9mmBig.mdl)." = [ 1 : "1 Magazine (30 Bullets Per Magazine)" 2 : "2 Magazines" 3 : "3 Magazines" 4 : "4 Magazines" 5 : "5 Magazines" 6 : "6 Magazines" 7 : "7 Magazines (Fill FN M249 Para)" ] ] @PointClass base(RenderFields, Angles) studio("models/w_762natobox.mdl") = ammo_762natobox : "7.62 NATO Box Ammo: For the M60." [ numclips(choices) : "Number of magazines" : 1 : "This defines the number of magazines in the ammo entity. If the value is more than 1, it will change the model(Example: 9mmBig.mdl)." = [ 1 : "1 Magazine (60 Bullets Per Magazine)" 2 : "2 Magazines" 3 : "3 Magazines" 4 : "4 Magazines (Fill M60)" ] ] @PointClass base(RenderFields, Angles) studio("models/w_57mm.mdl") = ammo_57mm : "5.7mm Ammo: For the P90 and Five-Seven." [ numclips(choices) : "Number of magazines" : 1 : "This defines the number of magazines in the ammo entity. If the value is more than 1, it will change the model(Example: 9mmBig.mdl)." = [ 1 : "1 Magazine (50 Bullets Per Magazine)" 2 : "2 Magazines (Fill Five-Seven & P90)" ] ] @PointClass base(RenderFields, Angles) studio("models/w_762nato.mdl") = ammo_762nato : "7.62mm NATO Ammo: For the AK47, Scout, and G3SG1." [ numclips(choices) : "Number of magazines" : 1 : "This defines the number of magazines in the ammo entity. If the value is more than 1, it will change the model(Example: 9mmBig.mdl)." = [ 1 : "1 Magazine (30 Bullets Per Magazine)" 2 : "2 Magazines (Fill Scout & G3/S-G1)" 3 : "3 Magazines (Fill AK-47)" ] ] @PointClass base(RenderFields, Angles) studio("models/w_9mmclip.mdl") = ammo_9mm : "9mm Parabellum Ammo: For the Glock 18, Elites, MP5 and TMP." [ numclips(choices) : "Number of magazines" : 1 : "This defines the number of magazines in the ammo entity. If the value is more than 1, it will change the model(Example: 9mmBig.mdl)." = [ 1 : "1 Magazine (30 Bullets Per Magazine)" 2 : "2 Magazines" 3 : "3 Magazines (Fill Glock 18)" 4 : "4 Magazines (Fill Elites, MP5 & TMP)" ] ] @PointClass base(RenderFields, Angles) studio("models/w_shotbox.mdl") = ammo_buckshot : "12 Gauge Ammo: For the M3 and XM1014." [ numclips(choices) : "Number of shells" : 1 : "This defines the number of magazines in the ammo entity. If the value is more than 1, it will change the model(Example: 9mmBig.mdl)." = [ 1 : "1 Box (8 Shells Per Magazine)" 2 : "2 Boxes" 3 : "3 Boxes" 4 : "4 Boxes (Fill Benelli M3, XM1014)" ] ] @PointClass base(RenderFields, Angles) studio("models/w_weaponbox.mdl") = ammo_generic : "Generic Ammo: Every ammo type at max is given." [] @PointClass size(-16 -16 0, 16 16 64) color(0 128 0) studio("models/w_weaponbox.mdl") = weaponbox : "Ammo Container: Can specify a specific amount of ammo to give the player. 1 = 1 unit of ammo." [ 357SIG : "357SIG Amount" : "" : "Amount of 357SIG to give the player." 9mm : "9mm Amount" : "" : "Amount of 9mm to give the player." 45acp : "45acp Amount" : "" : "Amount of 45acp to give the player." 50AE : "50AE Amount" : "" : "Amount of 50AE to give the player." 57mm : "57mm Amount" : "" : "Amount of 57mm to give the player." 556Nato : "556Nato Amount" : "" : "Amount of 556Nato to give the player." 762Nato : "762Nato Amount" : "" : "Amount of 762Nato to give the player." 556NatoBox : "556NatoBox Amount" : "" : "Amount of 556NatoBox to give the player." 762NatoBox : "762NatoBox Amount" : "" : "Amount of 762NatoBox to give the player." 338Magnum : "338Magnum Amount" : "" : "Amount of 338Magnum to give the player." buckshot : "Buckshot Amount" : "" : "Amount of buckshot to give the player." bomb : "Bomb Amount" : "" : "Amount of bombs to give the player." skin(integer) : "Skin" : "" : "Input the value for the skin to use. (Use SOLOKILLERS HLMV for the value)" body(choices) : "Body" : "1" : "Input the value for the bodygroup to use. (Use SOLOKILLERS HLMV for the value)" = [ 1 : "Bomb pack" 2 : "Supply pack" ] ] @PointClass base(RenderFields, Angles) studio("models/w_357sig.mdl") = ammo_bomb : "RC Bomb ammo. Gives 5 bombs. Functions like any other ammo, only issue is the spawned model is a 9mm box. Best to use a ent setup with game_player_equip." [] //////////////////////////////////////////////////////////////////////////////// // BUTTON ENTITIES //////////////////////////////////////////////////////////////////////////////// @SolidClass base(Master, Target, Angles, RenderFields, ZHLT) = button_target : "Target Button" [ spawnflags(flags) = [ 1 : "Use Activates" : 1 : "If enabled, the button_target can also be activated by a player using it. This is enabled by default!" 2 : "Start On" : 0 : "If enabled, the button_target will send it's first output as 'Off', the second activation will be 'On' and next one 'Off' again e.t.c. Leave it empty to make first signal send on activation as 'On', second one 'Off' e.t.c." ] ] //////////////////////////////////////////////////////////////////////////////// // CYCLER ENTITIES //////////////////////////////////////////////////////////////////////////////// @PointClass iconsprite("sprites/Hammer/Cycler.spr") base(Targetname, Angles, RenderFields) = cycler : "Monster Cycler: The cycler entity is a model viewer of sorts. It places a model within the map which, when attacked, will cycle its animation. Given the way this entity behaves, there is little practical use for this entity beyond viewing animations (for which there are programs that are far more convenient)." [ model(studio) : "Model" : : "This defines which model file will be displayed by the entity." skin(integer) : "Skin" : 0 : "Input the value for the skin to use. (Use SOLOKILLERS HLMV for the value)" body(integer) : "Body" : 0 : "Input the value for the bodygroup to use. (Use SOLOKILLERS HLMV for the value)" head(integer) : "Head" : 0 : "Input the value for the head to use. (Use SOLOKILLERS HLMV for the value)" sequence(integer) : "Animation #" : 0 : "Sets the animation the model should start in. Setting this to anything other than 0 seems to place the cycler into its triggered mode." ] @PointClass iconsprite("sprites/Hammer/CyclerSprite.spr") base(Targetname, Angles, RenderFields) = cycler_sprite : "Sprite Cycler: Kinda of obsolete in CS:CZDS due to item_generic. The cycler_sprite entity is a sprite viewer of sorts. It places a sprite within the map which, when attacked, will step through its animation. Although it seems strange, this entity is one of the better entities for placing a decorative model into a map. It will not stop players nor bullets. Simply place a model into the Sprite attribute." [ model(studio) : "Model / Sprite" : : "This defines which sprite/model file will be displayed by the entity." framerate(string) : "Framerate(SPRITE ONLY)" : "1.0" : "Sets how many frames the sprite will automatically step through per second." sequence(integer) : "Animation # (MODELS ONLY)" : 0 : "Sets the animation the model should start in. Setting this to anything other than 0 seems to place the cycler into its triggered mode." controller(string) : "Controllers 0-255" : "0 0 0 0" : "Not sure what this does." ] @PointClass iconsprite("sprites/Hammer/CyclerWeapon.spr") base(Targetname) = cycler_weapon : "cycler_weapon: The cycler entity is a weapon model viewer of sorts. It places a model within the map that acts as a weapon pickup. When picked up, the model will be placed in front of the player as a viewmodel. Secondary attack will cycle animations of the model, while primary attack will restart the current animation." [ model(studio) : "Model" : : "This defines which model file will be used by the entity." ] @PointClass iconsprite("sprites/Hammer/CyclerWreckage.spr") base(Targetname, Angles, RenderFxChoices) size(-4 -4 -4, 4 4 4) = cycler_wreckage : "Wreckage" [ rendermode(choices) : "Render Mode" : 2 : "Controls the type of rendering that is used for an object. Options are:" = [ 0 : "Normal" 1 : "Color" 2 : "Texture" 3 : "Glow" 4 : "Solid" 5 : "Additive" ] renderamt(integer) : "FX Amount (1 - 255)" : 0 : "Input how visible the object is. (Depending on the render mode, this could change the outcome of visibility.)" rendercolor(color255) : "FX Color (R G B)" : "0 0 0" : "Input 3 values (R G B) that determine a colour." framerate(integer) : "Framerate" : 10 : "Sets how many frames the sprite will automatically step through per second." model(sprite) : "Sprite Name" : "sprites/dot.spr" : "This defines which sprite/model file will be displayed by the entity." scale(string) : "Scale" : "1.0" : "Set the size that the sprite is rendered at." spawnflags(flags) = [ 32 : "Toggle" : 0 : "If enabled, makes the entity toggleable." 64 : "Start On" : 0 : "If enabled, and set along with the 'Toggle'-flag, the cycler_wreckage will be consecutively emitting smoke from the start of the map onwards." ] ] //////////////////////////////////////////////////////////////////////////////// // ENV ENTITIES //////////////////////////////////////////////////////////////////////////////// @PointClass iconsprite("sprites/Hammer/EnvSnow.spr") base(Targetname, RenderFields) size(-16 -16 -16, 16 16 16) = env_snow : "env_snow: Point class version of the entity of the same name." [ spawnflags(flags) = [ 1 : "Start On" : 0 : "If enabled, This entity will start at level load." ] ] @PointClass iconsprite("sprites/Hammer/EnvRain.spr") base(Targetname, RenderFields) size(-16 -16 -16, 16 16 16) = env_rain : "env_rain: Point class version of the entity of the same name." [] @PointClass iconsprite("sprites/Hammer/EnvBeam.spr") base(Targetname, RenderFields) size(-16 -16 -16, 16 16 16) = test_effect : "test_effect: A strange sprite based entity that looks like a HL1 vortigaunt spawn." [] @PointClass iconsprite("sprites/Hammer/EnvBeam.spr") base(Targetname, BeamStartEnd, RenderFields) size(-16 -16 -16, 16 16 16) = env_beam : "Energy Beam Effect: The env_beam entity creates a line composed of a loop of sprites with various effects. It is often used to create lasers or electricity." [ Radius(integer) : "Radius" : 256 : "If the beam has undefined start/end points, this attribute defines how far away the beam can choose to use as its start/end points." life(string) : "Life (0 = infinite)" : "0.0" : "Sets how many seconds the beam will stay on before deactivating. It will reactivate through Strike again time. Setting this to 0 will make the beam never deactivate automatically." BoltWidth(integer) : "Width of beam (pixels*0.1 0-255)" : 20 : "Sets the width of the beam. Measured in tenths of a unit. This attribute works like a radius; the beam will actually be twice as wide as the defined value." NoiseAmplitude(integer) : "Amount of noise (0-255)" : 0 : "Sets how erratic the beam will be. The beam will always start and end at the usual points, but the path of the beam will move randomly to a degree defined by this attribute. Scales from 0 (perfectly straight beam) to 255 (wildly moving beam)." texture(sprite) : "Sprite Name" : "sprites/laserbeam.spr" : "This defines which sprite file the entity will use to form the beam." TextureScroll(integer) : "Texture Scroll Rate (0-100)" : 0 : "Sets how fast the sprites move along the beam. Scales from 0 (no movement) to 100 (extremely fast)." framerate(string) : "Frames per 10 seconds" : 0 : "Sets how many frames the sprite will automatically step through per second. This might not work." framestart(integer) : "Starting Frame" : 0 : "Sets which frame of animation that the sprite should use." StrikeTime(string) : "Strike again time (secs)" : "0.0" : "Sets how long many seconds before the beam reactivates (after the beam deactivates after being on for the time defined in Life). If the beam has undefined start/end points, the beam will choose new points for the reactivation." damage(string) : "Damage / second" : "0.0" : "Sets how much damage the beam should do when you walk through it. Note that the damage is only dealt in a straight line between start and end point, regardless of any fluctuation in the beam from the Amount of Noise attribute." spawnflags(flags) = [ 1 : "Start On" : 0 : "If enabled, the beam will be turned on upon map start. Otherwise you will need to trigger the env_beam to turn it on." 2 : "Toggle" : 0 : "If enabled, the beam can be retriggered to stop the beam from reactivating automatically. Otherwise, the beam seems to loop indefinitely regardless of further triggerings." 4 : "Random Strike" : 0 : "If enabled, the beam will vary its activation and deactivation times. These times will be scaled somewhat around the times you provide in Life and Strike Again Time." 8 : "Ring" : 0 : "If enabled, the beam will form a ring between its two points rather than a straight line. The ring will tend towards being horizontal, and may malform if the two points are in a perfectly vertical line." 16 : "StartSparks" : 0 : "If enabled, the start of the beam will spark when it is activated." 32 : "EndSparks" : 0 : "If enabled, the end of the beam will spark when it is activated." 64 : "Decal End" : 0 : "If enabled, a bullethole decal will be created whenever the beam hits a surface." 128 : "Shade Start" : 0 : "If enabled, the beam will fade towards the start." 256 : "Shade End" : 0 : "If enabled, the beam will fade towards the end. Will not function if :Shade Start: is enabled." ] ] @PointClass iconsprite("sprites/Hammer/EnvBeverage.spr") base(Targetname, Angles) size(-4 -4 -4, 4 4 4) = env_beverage : "Beverage Dispenser: When triggered, spawns a soft drink can that will give the player 1 health when picked up. The spawn will make a clunking sound." [ health(integer) : "Capacity" : 10 : "The number of times the entity can be triggered. Once this number of cans has been spawned, further triggers will do nothing." skin(choices) : "Beverage Type" : 0 : "Sets the texture of the cans. Options are:" = [ 0 : "Coca-Cola" : "A lime green can with what appears to be half a kiwifruit pictured, labelled 'HAI!' in white." 1 : "Sprite" : "A brown can with yellow droplets pictured, labelled 'GLUB' in yellow." 2 : "Diet Coke" : "A red/blue can with red berries pictured, labelled 'GRAPE' in white." 3 : "Orange" : "A blue and green can with a lighter blue face pictured, and a label that is too pixellated to read clearly." 4 : "Surge" : "A dark green can with darker coloured ends, labelled 'YUCK' in white." 5 : "Moxie" : "A yellow/orange can with a fiery effect, labelled 'DANTE' in dark red." 6 : "Random" : "Picks a random texture for each spawn." ] ] @PointClass iconsprite("sprites/Hammer/EnvBlood.spr") base(Targetname, Angles, RenderFields) size(-16 -16 -16, 16 16 16) color(255 0 0) = env_blood : "Blood Effects: When triggered, an env_blood entity will spawn a spray of blood, similar to the blood effect generated when one attacks an enemy." [ color(choices) : "Blood Color" : "" : "Sets the colour of the blood." = [ "" : "Grey" 1 : "Yellow (Alien)" 2 : "Red" ] amount(integer) : "Amount of blood (damage to simulate)" : 100 : "Sets the scale of the blood spray. Defaults to 100. Smaller values will create a smaller spray and higher values will create a bigger spray." spawnflags(flags) = [ 1 : "Random Direction" : 0 : "If enabled, the spray will pick a random direction rather than use Pitch Yaw Roll." 2 : "Blood Stream" : 0 : "If enabled, the spray will be a stream of blood that shoots out in the direction specified in Pitch Yaw Roll. The distance of the spray is affected by the Amount of blood attribute. If not enabled, the spray will be a directionless splash." 4 : "On Player" : 0 : "If enabled, the blood spray will be created on the player (as though the player is being hurt)." 8 : "Spray decals" : 0 : "If enabled, the spray will also create a blood decal in the direction specified in Pitch Yaw Roll when the spray is triggered." ] ] @SolidClass base(Targetname) = env_bubbles : "Bubble Volume: Creates a rising stream of bubbles within the area covered by the brush." [ density(integer) : "Bubble density" : 2 : "The number of bubbles produced." frequency(integer) : "Bubble frequency" : 2 : "The higher the value, the shorter the delay between each set of bubbles being produced." current(integer) : "Speed of Current" : 0 : "The amount the bubbles move in the direction specified by the angle." spawnflags(flags) = [ 1 : "Start Off" : 0 : "If enabled, the env_bubbles entity will start off." ] ] @PointClass iconsprite("sprites/Hammer/EnvExplosion.spr") base(Targetname) = env_explosion : "Explosion" [ iMagnitude(Integer) : "Magnitude (iMagnitude)" : 0 : "Sets the power of the explosion. Smaller values are less powerful, larger values are more powerful." spawnflags(flags) = [ 1 : "No Damage" : 0 : "If enabled, the explosion will not do any damage." 2 : "Repeatable" : 0 : "If enabled, the sequence can be repeated more than once. Otherwise the entity will be removed once the sequence is complete." 4 : "No Fireball" : 0 : "If enabled, the explosion will have no fireball sprite." 8 : "No Smoke" : 0 : "If enabled, the explosion will have no smoke." 16 : "No Decal" : 0 : "If enabled, the explosion will not create a scorch decal." 32 : "No Sparks" : 0 : "If enabled, the explosion will have no sparks." ] firesprite(sprite) : "Fire sprite" : : "The fire ball sprite that will appear when the env_explosion is triggered." smokesprite(sprite) : "Smoke sprite" : : "The smoke ball sprite that will appear after the env_explosion is triggered." spritescale(integer) : "Sprite scale" : 1.0 : "Set the size that the sprite is rendered at." poisongas(choices) : "Poison explosion" : "" : "Choose if poison gas FX replaces the explosion(Poison gas has no damage.)" = [ "" : "No" 1 : "Yes" ] nosound(choices) : "No sound" : "" : "TESTING: Turns the explosion sound off." = [ "" : "No" 1 : "Yes" ] ] @PointClass iconsprite("sprites/Hammer/EnvFade.spr") base(Targetname) = env_fade : "Screen Fade: The env_fade entity, when triggered, gradually covers the screen with a single-colour overlay. Typically used for fading a scene in or out." [ spawnflags(flags) = [ 1 : "Fade From" : 0 : "If enabled, the overlay starts at the maximum alpha value and goes in reverse. (Essentially changes it from a fade out to a fade in.)" 2 : "Modulate" : 0 : "If enabled, the env_fade will use an alternative rendering mode for the overlay. Multiplies the color of the overlay against the game scene. (Essentially recolours the scene rather than covering it with a solid colour.)" 4 : "Activator Only" : 0 : "If enabled, the fade will only affect the player who activated it." ] duration(string) : "Duration (seconds)" : "2.0" : "Sets how long the overlay should take to fade into its full effect." holdtime(string) : "Hold Fade (seconds)" : "0.0" : "Sets how long the overlay should stay on the screen at its full effect before turning itself off." renderamt(integer) : "Fade Alpha" : 255 : "The maximum alpha value (opacity) of the overlay. Scales from 0 (transparent) to 255 (opaque)." rendercolor(color255) : "Fade Color (R G B)" : "0 0 0" : "Sets the color of the overlay." ] @PointClass iconsprite("sprites/Hammer/EnvMissionFail.spr") base(Targetname) = env_missionfailure : "Failure Management: Will cause objective failure and checkpoint reload when triggered. In most cases, this is coupled with a trigger_sequence." [ message(string) : "Message in MAPNAME.seq" : : "Name the message that should be linked from 'czeror_english' or .SEQ. For example: '#aidev_failure01'." //messagevolume(integer) : "Volume" : : "Doesnt seem to work." music(string) : "MP3" : "sound/music/MP3NAME" : "Input an MP3 track to play. Use this format: 'sound/music/xyz'." rendercolor(color255) : "Fade Color (R G B)" : "0 0 0" : "Sets the color of the overlay." fade_red(integer) : "Red" : : "The red colour out of 'RGB'. Mix this with the other inputs to achieve a colour. Input a number between 0 - 255" fade_green(integer) : "Green" : : "The green colour out of 'RGB'. Mix this with the other inputs to achieve a colour. Input a number between 0 - 255" fade_blue(integer) : "Blue" : : "The blue colour out of 'RGB'. Mix this with the other inputs to achieve a colour. Input a number between 0 - 255" fade_alpha(integer) : "Screen Fade Opacity" : 255 : "The maximum alpha value (opacity) of the overlay. Scales from 0 (transparent) to 255 (opaque)." loadtime(string) : "Load time" : : "Time that it takes to load the latest autosave." holdtime(string) : "Hold time" : : "Sets how long the overlay should stay on the screen at its full effect before turning itself off." duration(string) : "Duration" : : "Sets how long the overlay should take to fade into its full effect." ] @PointClass iconsprite("sprites/Hammer/EnvFog.spr") base(Targetname) = env_fog : "Global Fog Properties" [ rendercolor(color255) : "Fog color (R G B)" : "128 128 128" : "Fog colour." density(integer):"Density" : ".25" : "Density of the fog. Takes a value for 0.0 to 1.0." fogStartDistance(integer):"Fog start position" : : "Distance, in units, at which the fog starts to be visible. This needs to be greater than zero. Not sure if this works." fogStopDistance(integer):"Fog end position" : : "Distance, in units, at which the fog appears opaque. This needs to be greater than the start distance. Not sure if this works." spawnflags(flags)= [ 1: "Start On" : 1 : "If enabled, creates fog on level load. Always have this to set." ] ] @PointClass iconsprite("sprites/Hammer/EnvFunnel.spr") base(Targetname) = env_funnel : "Large Portal Funnel: When triggered, this entity produces a cone of sprites that get sucked into a point, as seen in the Half-Life disaster sequence. Suffers from limited options." [ spawnflags(flags) = [ 1 : "Reverse" : 0 : "If enabled, the motion of the sprites will change to be a puff of sprites that expands outwards. (This effect is also seen in the disaster sequence.)" ] ] @PointClass iconsprite("sprites/Hammer/EnvGlobal.spr") base(Targetname) = env_global : "Global State: The env_global entity provides a way to store global variables — that is, values that can be retrieved and used across level changes. For example, you could use an env_global to have a switch in one level unlock a door in another." [ globalstate(string) : "Global State to Set" : : "The name of the global variable you want to set the value of. This name is what you need to reference in other entities to be able to read the value." triggermode(choices) : "Trigger Mode" : 0 : "This is the value that the global variable is set to when the env_global is triggered." = [ 0 : "Off" : "Sets the value to Off." 1 : "On" : "Sets the value to On." 2 : "Dead" : "Clears the value of the global variable." 3 : "Toggle" : "Toggles the value between Off and On." ] initialstate(choices) : "Initial State" : 0 : "If the Set Initial State flag is enabled, the env_global will set the variable to the given value when it first loads." = [ 0 : "Off" : "Sets the value to Off." 1 : "On" : "Sets the value to On." 2 : "Dead" : "Clears the value of the global variable." ] spawnflags(flags) = [ 1 : "Set Initial State" : 0 : "If enabled, the value of the global variable will be set by the env_global when it is first loaded." ] ] @PointClass iconsprite("sprites/Hammer/EnvSprite.spr") sprite() base(Targetname, RenderFields, Angles) size(-4 -4 -4, 4 4 4) color(30 100 0) = env_glow : "Light Glow/Haze: The env_glow entity is much like the env_sprite in that it places a sprite within the map. The only differences seem to be that the env_glow does not animate its sprite, it cannot be triggered, and that it lacks some of the options that the env_sprite has." [ model(sprite) : "Sprite" : "sprites/3dmflaora.spr" : "Defines which sprite file will be displayed by the entity." scale(string) : "Sprite Scale" : "1.0" : "Sets the scale of the sprite, in the form of a size multiplier." ] @PointClass iconsprite("sprites/Hammer/EnvLaser.spr") base(Targetname, RenderFxChoices, Angles) = env_laser : "Laser Beam Effect: The env_laser entity creates a damaging line composed of a loop of sprites with various effects. It is a derivative of the env_beam entity." [ LaserTarget(target_destination) : "Target of Laser" : "Sets the entity that marks the end of the laser. The laser will start at the env_laser entity and end at the entity named here." renderamt(integer) : "Brightness (1 - 255)" : 100 : "Sets the transparency of the beam. Scales from 1 (invisible) to 255 (solid)." rendercolor(color255) : "Beam Color (R G B)" : "0 0 0" : "Sets the colour of the beam." width(integer) : "Width of beam (pixels*0.1 0-255)" : 20 : "Sets the width of the beam. Measured in tenths of a unit. This attribute works like a radius; the beam will actually be twice as wide as the defined value." NoiseAmplitude(integer) : "Amount of noise (0-255)" : 0 : "Sets how erratic the beam will be. The beam will always start and end at the usual points, but the path of the beam will move randomly to a degree defined by this attribute. Scales from 0 (perfectly straight beam) to 255 (wildly moving beam)." texture(sprite) : "Sprite Name" : "sprites/laserbeam.spr" : "This defines which sprite file the entity will use to form the beam." EndSprite(sprite) : "End Sprite" : "sprites/laserdot.spr" : "This defines a sprite that will be placed at the end of the beam. The sprite will have the same colour as the beam, and seems to use a render mode of Glow. The size of sprite seems to be locked to the default, regardless of the size of the beam." TextureScroll(integer) : "Texture Scroll Rate (0-100)" : 0 : "Sets how fast the sprites move along the beam. Scales from 0 (no movement) to 100 (extremely fast)." framestart(integer) : "Starting Frame" : 0 : "Sets which frame of animation that the sprite should use." damage(integer) : "Damage / second" : 100 : "Sets how much damage the beam should do when you walk through it. Note that the damage is only dealt in a straight line between start and end point, regardless of any fluctuation in the beam from the Amount of Noise attribute." spawnflags(flags) = [ 1 : "Start On" : 0 : "If enabled, the beam will be turned on upon map start. Otherwise you will need to trigger the env_beam to turn it on." 16 : "StartSparks" : 0 : "If enabled, the start of the beam will spark when it is activated." 32 : "EndSparks" : 0 : "If enabled, the end of the beam will spark when it is activated." 64 : "Decal End" : 0 : "If enabled, the beam will draw a scorch decal on a surface it hits." ] ] @PointClass iconsprite("sprites/Hammer/EnvLiveAmmoShooter.spr") base(Targetname, Target, Angles) = env_liveammoshooter : "Live Ammo Shooter: Shoots active explosives at its target. This one has to have a 'target' otherwise it does nothing. Very amusing to use the type 'player' as a target." [ type(choices) : "Ammo Type" : "" : "Choose the type of ammo that this entity fires. Options are:" = [ "hegrenade" : "HE Grenade" "smokegrenade" : "Smoke Grenade" "flashgrenade" : "Flashbang" "lawrocket" : "M72 LAW Rocket" ] //shootsounds(integer) : "Shoot sound" : 0 : "Sound the entity makes when triggered." velmod(string) : "Velocity" : "1.0" : "Changes the velocity of the explosive being fired." spawnflags(flags) = [ 1 : "???" : 0 : "Not sure what this does." ] ] @PointClass iconsprite("sprites/Hammer/EnvMessage.spr") base(Targetname, Target) = env_message : "HUD Text Message: The env_message entity allows you to display predefined text messages on the screen. The messages it can display are defined in the titles.txt file. Due to the titles.txt file being a generic file (not map specific), editing this file is not recommended unless you are creating a custom mod. You should use a game_text entity if you require custom messages outside of a custom mod." [ message(string) : "Message Name" : "" : "This should specify the name of the message that will be displayed, as defined in the titles.txt file." messagesound(sound) : "Sound effect" : : "This allows you to specify a sound that should play when the message is shown to the player." messagevolume(integer) : "Volume 0-10" : 10 : "Sets the volume of the sound. Scales from 0 (completely silent) to 10 (maximum, default)." messageattenuation(Choices) : "Sound Radius" : 0 : "Sets how far away from the env_message entity the sound can be heard." = [ 0 : "Small Radius" : "The sound will be at maximum volume within a roughly 256 unit radius, fading out completely at around 512 units away." 1 : "Default" : "The sound will be at maximum volume within a roughly 512 unit radius, fading out completely at around 768 units away." 2 : "Large Radius" : "The sound will be at maximum volume within a roughly 768 unit radius, fading out completely at around 1280 units away." 3 : "Play Everywhere" : "The sound will be heard throughout the entire map." ] spawnflags(flags) = [ 1 : "Play Once" : 0 : "If enabled, the env_message can only be triggered once." 2 : "All Clients" : 0 : "If enabled, the message will display for all players rather than only the player that caused the env_message to be triggered." ] ] @SolidClass base(Targetname, RenderFields) = env_rain : "Rain Entity"[] @PointClass iconsprite("sprites/Hammer/EnvRender.spr") base(Targetname, RenderFields, Targetx, Angles) = env_render : "Render Controls: This entity can be used to alter render properties on the fly. Among other uses, this can allow you to create the illusion of complex-moving objects that would be impossible to create with a single entity." [ spawnflags(flags) = [ 1 : "No Renderfx" : 0 : "If enabled, the Render FX attribute will not be copied to the target entity." 2 : "No Renderamt" : 0 : "If enabled, the FX Amount attribute will not be copied to the target entity." 4 : "No Rendermode" : 0 : "If enabled, the Render Mode attribute will not be copied to the target entity." 8 : "No Rendercolor" : 0 : "If enabled, the FX Color attribute will not be copied to the target entity." ] removeonuse(choices) : "Remove on use" : 0 : "Remove this entity from the game after activation." = [ 0 : "No" 1 : "Yes" ] skin(integer) : "Skin" : : "???" head(integer) : "Head" : : "???" ] @PointClass iconsprite("sprites/Hammer/EnvShake.spr") base(Targetname) = env_shake : "Screen Shake: The env_shake entity creates a shake effect that jostles the player's view around. Used to emphasize explosions, quakes, large footsteps and the like." [ spawnflags(flags) = [ 1 : "GlobalShake" : 0 : "If enabled, the shake will occur everywhere regardless of the Effect Radius attribute." ] amplitude(string) : "Amplitude 0-16" : "4.0" : "Sets the general power of the shake. Scales from 0 (no shake) to 16 (very powerful shake)." radius(string) : "Effect radius" : "500.0" : "Sets the radius around the env_shake entity that the effect will be felt. Note that this is purely for whether or not there is a shake; distance will not effect the power of the shake in any way, and if the player is outside of this radius, no shake will occur at all." duration(string) : "Duration (seconds)" : "1.0" : "Sets how long the shake lasts. The effect will gradually fade out towards the end of the shake." frequency(string) : "0.1 = jerk, 255.0 = rumble" : 0 : "Sets how erratic the shake will be. Scales from 0.1 (a mere jolt) to 255 (an earthquake-like rumble)." ] @PointClass iconsprite("sprites/Hammer/EnvShooter.spr") base(RenderFields ,gibshooterbase) size(-16 -16 -16, 16 16 16) = env_shooter : "Model Shooter: The env_shooter entity, when triggered, shoots out a number of models or sprites, often used to create a spilling or bursting effect." [ shootmodel(studio) : "Model" : "" : "This defines which model or sprite file will be shot by the entity." shootsounds(choices) :"Material Sound" : -1 : "Sets which sounds the particles will produce when they impact on surfaces." = [ -1 : "None" 0 : "Glass" 1 : "Wood" 2 : "Metal" 3 : "Flesh" 4 : "Concrete" ] scale(string) : "Gib Scale" : "1.0" : "Sets the scale of sprites, in the form of a size multiplier." skin(integer) : "Gib Skin" : 0 : "Sets which skin of models the entity will use, if the model has more than one." ] @PointClass iconsprite("sprites/Hammer/EnvSmoker.spr") base(Targetname) size(-4 -4 -4, 4 4 4) color(30 100 0) = env_smoker : "Smoke: Emits a particle smoke trail similar to the one produced by smoke grenades." [ health(integer) : "Strength" : 1 : "Defines how long the entity will emit smoke (-1 for an infinite smoke trail)" scale(string) : "Smoke Scale" : "1.0" : "Scale of smoke sprites in trail (1 is 1:1)." ] @SolidClass base(Targetname, RenderFields) = env_snow : "Environmental snow" [ spawnflags(flags) = [ 1 : "Start On" : 0 ] ] @PointClass iconsprite("sprites/Hammer/EnvSound.spr") = env_sound : "DSP Sound: The env_sound entity is a trigger of sorts that alters the processing done on sounds heard by the player. For example, the env_sound can alter sounds to have a strong echo as though the player is in a large enclosed area. This entity is used to assist in creating a particular atmosphere in an area. Don't forget that the sound style, once applied, is permanent until another env_sound changes it." [ radius(integer) : "Radius" : 128 : "Sets the radius around the area to use as the trigger area. When the player enters this radius, the sound style will be turned on until it is altered by another env_sound." roomtype(Choices) : "Room Type" : 0 : "Sets which sound style to use. Options are:" = [ 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 iconsprite("sprites/Hammer/EnvSpark.spr") base(Targetname, Angles) size(-16 -16 -16, 16 16 16) = env_spark : "Spark: The env_spark entity produces an electrical spark effect, consisting of an intermittent sprite, a small spray of particles and a sound effect." [ MaxDelay(string) : "Max Delay" : "0.0" : "Sets the maximum delay in seconds between sparks." spawnflags(flags) = [ 32 : "Toggle" : 0 : "If enabled, If enabled, makes the entity toggleable" 64 : "Start On" : 0 : "In enabled, the sparks will start on. (Only relevant if Toggle is also enabled.)" ] ] @PointClass iconsprite("sprites/Hammer/EnvSprite.spr") sprite() base(Targetname, Angles, RenderFields) size(-4 -4 -4, 4 4 4) = env_sprite : "Sprite Effect: The env_sprite entity places a sprite within the map." [ framerate(string) : "Framerate" : "1.0" : "Sets how many frames per second the sprite will animate at." model(sprite) : "Sprite Name" : "sprites/3dmflared.spr" : "This defines which sprite file will be displayed by the entity." scale(string) : "Scale" : "1.0" : "Sets the scale of the sprite, in the form of a size multiplier." spawnflags(flags) = [ 1 : "Start On" : 0 : "If enabled, the sprite will be turned on at the start of the map." 2 : "Play Once" : 0 : "If not enabled, the sprite will be treated as toggled, and triggering the env_sprite will toggle the sprite between visible and invisible. The sprite will repeat its animation indefinitely. If enabled, the sprite will play through its animation once when triggered and then stay invisible until it is triggered again. (If the env_sprite is triggered while this single animation is playing, it will become invisible immediately.)" ] ] //////////////////////////////////////////////////////////////////////////////// // FUNC ENTITIES //////////////////////////////////////////////////////////////////////////////// @SolidClass base(Target, RenderFields) = func_model_brush : "Renders whatever model that it targets infront of the skybox. The model does NOT have to be in the skybox to render but the ORIGIN of the model does, otherwise it won't receive correct lighting. Super useful for building the illusion of a bigger world out side of the map. CASTLE: Could be a quick vis fix for FPS too." [] @BaseClass base () = Breakable [ //gibentityvelocity(integer) : "Gib velocity" : "" : "Not sure what this does." delay(string) : "Delay before fire" : "0.0" : "Delay before Target on Break is triggered after being broken." health(integer) : "Durability" : 15 : "The amount of damage the entity will take before breaking." material(choices) : "Material" : "" : "The type of material that a func_breakable or func_pushable should act as. Options are:" = [ 0: "Glass" 1: "Wood" 2: "Metal" 3: "Flesh" 4: "Brick" 5: "Tile" 6: "Computer" 7: "Bulletproof glass" 8: "Stone" 9: "None" 10: "Vine" 11: "Last material" ] explosion(choices) : "Direction of gib emission" : 0 : "Direction the gibs will go on break." = [ 0 : "Random" directed : "Attack direction" ] gibmodel(choices) : "Custom gib model" : "" : "Model to use for gibs (overrides default specified by Material Type)." = [ "models/gibs_null.mdl" : "No model" : "Null. Nothing. Zip. Nill." "models/gibs_woodplank.mdl" : "Wooden Planks" : "Wooden Plank. For all your wood needs." "models/gibs_vent1.mdl" : "Big Vent" : "Big Vent. Looks kinda new." "models/gibs_vent2.mdl" : "Rusty Vent" : "Rusty Vent. Nothing more, nothing less." "models/gibs_vent3.mdl" : "Office Vent" : "Office Vent. The kind you'd find in your local office job." "models/gibs_wallbrown.mdl" : "Brown Wall" : "Brown Brick wall." "models/gibs_wallgrey.mdl" : "Grey Wall" : "Grey Concrete wall. Less brick, more concrete." "models/gibs_wallorange.mdl" : "Orange Wall" : "Orange Brick Wall. Brown Bricks with orange insides." "models/gibs_twig.mdl" : "Twigs" : "Twig and Leaves. Cutting down a tree? Use this one." "models/gibs_stairsmetal.mdl" : "Metal Stairs" : "Metal Stairs. Specific use case, but handy to have." "models/gibs_anime.mdl" : "Manga" : "Manga. Straight up Japanese manga." "models/gibs_brickred.mdl" : "Red Brick" : "Red Brick wall. Pretty nice Brick wall." "models/gibs_brickyellow.mdl" : "Yellow Brick" : "Yellow Brick. Looks more like a sandstone wall texture." "models/gibs_bars.mdl" : "Metal Bars" : "Metal Bars. Not much to say for this one." "models/gibs_food.mdl" : "Food" : "Food. That is all it is." "models/gibs_crate.mdl" : "Crate" : "Wooden Crate. Uses a generic crate texture, looks nice." "models/gibs_barrel.mdl" : "Explosive Barrel" : "Explosive Barrel. Good for cool entity set ups with a boom element." ] spawnobject(choices) : "Spawn when broken" : "" : "Used by func_breakable and func_pushable. Determines what item is spawned when the entity is broken. Options are:" = [ "": "None, No drop" : "Nothing." "weapon_knife" : "Knife" : "Spawn a Knife." "weapon_p228" : "P228" : "Spawn a P228 pistol." "weapon_glock18" : "Glock 18" : "Spawn a Glock 18 pistol." "weapon_usp" : "USP" : "Spawn a USP pistol." "weapon_fiveseven" : "Five-Seven" : "Spawn a Five-Seven pistol." "weapon_elite" : "Elite Dual Pistols" : "Spawn a set of Elite pistols." "weapon_deagle" : "Desert Eagle" : "Spawn a Desert Eagle pistol." "weapon_ak47" : "AK47" : "Spawn an AK47 assault rifle." "weapon_aug" : "AUG" : "Spawn an AUG assault rifle." "weapon_m4a1" : "M4A1" : "Spawn an M4A1 assault rifle." "weapon_sg552" : "SG552" : "Spawn an SG552 assault rifle." "weapon_galil" : "Galil" : "Spawn an Galil assault rifle." "weapon_famas" : "Famas" : "Spawn an Famas assault rifle." "weapon_mac10" : "Mac-10" : "Spawn a Mac-10 submachine gun." "weapon_p90" : "P90" : "Spawn a P90 submachine gun." "weapon_tmp" : "TMP" : "Spawn a TMP submachine gun." "weapon_ump45" : "UMP45" : "Spawn a UMP45 submachine gun." "weapon_mp5navy" : "MP5" : "Spawn a MP5 submachine gun." "weapon_scout" : "Scout" : "Spawn a Scout sniper rifle." "weapon_awp" : "AWP" : "Spawn an AWP sniper rifle." "weapon_g3sg1" : "G3SG1" : "Spawn a G3SG1 auto-rifle." "weapon_sg550" : "SG550" : "Spawn a SG550 auto-rifle." "weapon_flashbang" : "Flash Grenade" : "Spawn a Flash Grenade." "weapon_smokegrenade" : "Smoke Grenade" : "Spawn a Smoke Grenade." "weapon_hegrenade" : "HE Grenade" : "Spawn a HE Grenade." "weapon_laws" : "LAW" : "Spawn a LAW rocket launcher." "weapon_m60" : "M60" : "Spawn a M60 heavy machine gun." "weapon_m249" : "M249" : "Spawn a M249 heavy machine gun." "weapon_xm1014" : "XM1014" : "Spawn a XM1014 shotgun" "weapon_m3" : "M3" : "Spawn a M3 shotgun" "weapon_shieldgun" : "Shield" : "Spawn a Shield." "weapon_blowtorch" : "Blowtorch Tool" : "Spawn the Blowtorch Tool." "weapon_briefcase" : "Briefcase Tool" : "Spawn the Briefcase Tool." "weapon_camera" : "Camera Tool" : "Spawn the Camera Tool." "weapon_fiberopticcamera" : "Fiber-Optic Camera Tool" : "Spawn the Fiber-Optic Camera Tool." "weapon_radiocontrolledbomb" : "Radio Bomb Tool" : "Spawn the Radio Bomb Tool." "weapon_radio" : "Radio Tool" : "Spawn the Radio Tool" "ammo_338magnum" : "338 Magnum Ammo" : "Spawn 338 Magnum ammo. For the AWP." "ammo_357sig" : "357 Sig Ammo" : "Spawn 357 Sig ammo. For the P228." "ammo_45acp" : "45ACP Ammo" : "Spawn 45ACP ammo. For the USP, UMP45 and MAC-10." "ammo_50ae" : "50AE Ammo" : "Spawn 50AE ammo. For the Desert Eagle." "ammo_556nato" : "556 Nato Ammo" : "Spawn 556 Nato ammo. For the AUG, Famas, Galil, SG550, SG552 and M4A1." "ammo_556natobox" : "556 Nato Box Ammo" : "Spawn a 556 Nato Box. For the M249. " "ammo_762natobox" : "762 Nato Box Ammo" : "Spawn a 762 Nato Box. For the M60" "ammo_762nato" : "762 Nato Ammo" : "Spawn 762 Nato ammo. For the AK47, Scout, and G3SG1." "ammo_57mm" : "57MM Ammo" : "Spawn 57MM ammo. For the P90 and Five-Seven." "ammo_9mm" : "9MM ammo" : "Spawn 9MM ammo. For the Glock 18, Elites, MP5 and TMP." "ammo_buckshot" : "12 Gauge Ammo" : "Spawn 12 Gauge ammo. For the M3 and XM1014." "ammo_generic" : "Generic Ammo" : "Spawn Generic ammo. Every ammo type at max is given." "item_armor" : "Armor Vest" : "Spawn a normal armor vest. 100 AP on pickup." "item_battery" : "Moddable Armor" : "Spawn a moddable armor pickup. Set to whatever the battery is set to in skill.cfg." "item_healthkit" : "Normal Healthkit" : "Spawn a normal healthkit. 50 HP on pickup." "item_healthkitold" : "Moddable Healthkit" : "Spawn a moddable healthkit. Set to whatever the Healthkit is set to in skill.cfg." "item_antidote" : "Antidote" : "Spawn an antidote. Leftover code from HL1. Not sure if it functions." "item_longjump" : "Long Jump Module" : "Spawn a Long Jump Module. Functions the same way as HL1." ] explodemagnitude(integer) : "Explosion range" : "" : "This will determine the size of the explosion that occurs when the brush breaks." explodespritescale(integer) : "Explosion sprite scale" : "" : "Size of the sprite that spawns form the explosion range." onlydamagedby(choices) : "Only damaged by" : "" : "Choose what weapon or tool can damage this breakable." = [ "" : "None" : "None" "weapon_knife" : "Knife" : "A Knife." "weapon_p228" : "P228" : "P228 pistol." "weapon_glock18" : "Glock 18" : "Glock 18 pistol." "weapon_usp" : "USP" : "USP pistol." "weapon_fiveseven" : "Five-Seven" : "Five-Seven pistol." "weapon_elite" : "Elite Dual Pistols" : "Elite pistols." "weapon_deagle" : "Desert Eagle" : "Desert Eagle pistol." "weapon_ak47" : "AK47" : "AK47 assault rifle." "weapon_aug" : "AUG" : "AUG assault rifle." "weapon_m4a1" : "M4A1" : "M4A1 assault rifle." "weapon_sg552" : "SG552" : "SG552 assault rifle." "weapon_galil" : "Galil" : "Galil assault rifle." "weapon_famas" : "Famas" : "Famas assault rifle." "weapon_mac10" : "Mac-10" : "Mac-10 submachine gun." "weapon_p90" : "P90" : "P90 submachine gun." "weapon_tmp" : "TMP" : "TMP submachine gun." "weapon_ump45" : "UMP45" : "UMP45 submachine gun." "weapon_mp5navy" : "MP5" : "MP5 submachine gun." "weapon_scout" : "Scout" : "Scout sniper rifle." "weapon_awp" : "AWP" : "AWP sniper rifle." "weapon_g3sg1" : "G3SG1" : "G3SG1 auto-rifle." "weapon_sg550" : "SG550" : "SG550 auto-rifle." "weapon_hegrenade" : "HE Grenade" : "Spawn a HE Grenade." "weapon_laws" : "LAW" : "LAW rocket launcher." "weapon_m60" : "M60" : "M60 heavy machine gun." "weapon_m249" : "M249" : "M249 heavy machine gun." "weapon_xm1014" : "XM1014" : "XM1014 shotgun" "weapon_m3" : "M3" : "M3 shotgun" "weapon_shieldgun" : "Shield" : "Shield." "weapon_blowtorch" : "Blowtorch Tool" : "Blowtorch Tool." "weapon_briefcase" : "Briefcase Tool" : "Briefcase Tool." "weapon_radiocontrolledbomb" : "Radio Bomb Tool" : "Radio Bomb Tool." "laws_rocket" : "Rocket from the LAW." "bomb" : "Bomb" : "Bomb, such as the RC bomb explosion." ] notdamagedby(choices) : "Not damaged by" : "" : "Specify what item the breakable is not damaged by. Disables the 'onlydamagedby' key." = [ "" : "None" : "None" "weapon_knife" : "Knife" : "A Knife." "weapon_p228" : "P228" : "P228 pistol." "weapon_glock18" : "Glock 18" : "Glock 18 pistol." "weapon_usp" : "USP" : "USP pistol." "weapon_fiveseven" : "Five-Seven" : "Five-Seven pistol." "weapon_elite" : "Elite Dual Pistols" : "Elite pistols." "weapon_deagle" : "Desert Eagle" : "Desert Eagle pistol." "weapon_ak47" : "AK47" : "AK47 assault rifle." "weapon_aug" : "AUG" : "AUG assault rifle." "weapon_m4a1" : "M4A1" : "M4A1 assault rifle." "weapon_sg552" : "SG552" : "SG552 assault rifle." "weapon_galil" : "Galil" : "Galil assault rifle." "weapon_famas" : "Famas" : "Famas assault rifle." "weapon_mac10" : "Mac-10" : "Mac-10 submachine gun." "weapon_p90" : "P90" : "P90 submachine gun." "weapon_tmp" : "TMP" : "TMP submachine gun." "weapon_ump45" : "UMP45" : "UMP45 submachine gun." "weapon_mp5navy" : "MP5" : "MP5 submachine gun." "weapon_scout" : "Scout" : "Scout sniper rifle." "weapon_awp" : "AWP" : "AWP sniper rifle." "weapon_g3sg1" : "G3SG1" : "G3SG1 auto-rifle." "weapon_sg550" : "SG550" : "SG550 auto-rifle." "weapon_hegrenade" : "HE Grenade" : "Spawn a HE Grenade." "weapon_laws" : "LAW" : "LAW rocket launcher." "weapon_m60" : "M60" : "M60 heavy machine gun." "weapon_m249" : "M249" : "M249 heavy machine gun." "weapon_xm1014" : "XM1014" : "XM1014 shotgun" "weapon_m3" : "M3" : "M3 shotgun" "weapon_shieldgun" : "Shield" : "Shield." "weapon_blowtorch" : "Blowtorch Tool" : "Blowtorch Tool." "weapon_briefcase" : "Briefcase Tool" : "Briefcase Tool." "weapon_radiocontrolledbomb" : "Radio Bomb Tool" : "Spawn the Radio Bomb Tool." "laws_rocket" : "Rocket from the LAW." "bomb" : "Bomb" : "Bomb, such as the RC bomb explosion." ] grenadetouch(choices) : "Grenade touch" : "" : "This is a weird key to use, it is pretty good for realistic glass though, here is how to use it. Case 1: If spawnflag 2 (Touch) or 4 (Pressure) is on, and grenadetouch key is set to 'Yes', it will break on contact. Case 2: If the rendermode for the breakable is set to something other than 'normal', and the key is set to 'yes' it will break on touch." = [ "" : "No" 1 : "Yes" ] skin(choices) : "Contents" : 0 : "Skin for brush entities is used to manually override the contents of the brush. The content of a volume determines things like if it's solid, if it's empty, if it's see-through, if it's water, if it's a water current, if it's a ladder, if it's lava, if it's slime, etc." = [ 0 : "Normal" -1 : "Empty" -2 : "Solid" -3 : "Water" -4 : "Slime" -5 : "Lava" -16 : "Ladder" ] ] @SolidClass base(Targetname, Target, Global, Master, RenderFields, Breakable, Angles, ZHLT) = func_breakable : "Breakable Object: The func_breakable entity allows you to create a breakable brush." [ spawnflags(flags) = [ 1 : "Only Trigger" : 0 : "If enabled, the entity can only be activated (broken) by being triggered." 2 : "Touch" : 0 : "If enabled, the brush will break on touch." 4 : "Pressure" : 0 : "If enabled, Brush will break when pressured (e.g. player walking on it)." 8 : "Fancy Glass" : 0 : "If enabled, will creates sprite based gibs (Glass only)." 256: "Instant Crowbar" : 0 : "If enabled, Whack it with a knife and it will break instantly (regardless of strength)." ] _minlight(string) : "Minimum light level" : : "Brush entities only. Sets the minimum light level. Useful for when textures should always appear bright e.g. computer screens or holograms. Default is 0, max 1." ] @SolidClass base(Targetname, Global, Master, Targetx, RenderFields, Angles) = func_button : "Button: This entity allows you to create various types of buttons, such as: switches, plungers, touch plates, push buttons, etc., that will trigger an event when activated. Works almost like a func_door." [ speed(integer) : "Speed" : 5 : "The speed a moving button will move from its resting state to its activated state." //health(integer) : "Health (shootable if > 0)" : : "If the button has to be shot, rather than pressed, specify a value greater than 0 here. When this amount of damage occurs, the button will activate." lip(integer) : "Lip" : : "Number of units left after move (the lip value is subtracted from the move distance)." changetarget(target_destination) : "Change Target Name" : : "changetarget will change the button's target's TARGET field to the button's changetarget." sounds(choices) : "Sounds" : 0 : "The sound made by the button on activation. The sound is played at the same time as the Unlocked Sound. Choices are:" = [ 0 : "No Sound" 1 : "Old button" : "Sounds like an old button." 2 : "Digital - Chirping" : "Digital chirping sound." 3 : "Digital - Chirping 2" : "An alternative digital chirping sound." 4 : "Digital - Old button" : "Deep button press with a digital chirp at the end." 5 : "2-tone with digital chirp" : "A 2-tone alert with a digital chirp sound." 6 : "Digital - Old button 2" : "Digital chirping with a old button press at the end." 7 : "Digital - Old button 3" : "An old button with an alternative digital chirping sound." 8 : "Old button 2" : "Industrial button sound." 9 : "Digital - old button 4" : "Another old button sound with a digital chirping sound." 10 : "Buzzer" : "A buzzer sound." 11 : "Buzzer - Off" : "A buzzer. Has a lower tone to " 13 : "Latchunlocked1" 14 : "Lightswitch" 21 : "Lever1" 22 : "Lever2" 23 : "Lever3" 24 : "Lever4" 25 : "Lever5" ] wait(integer) : "delay before reset (-1 stay)" : 3 : "Time in seconds before the button pops back out or becomes reuseable (-1 = Never)." spawnflags(flags) = [ 1 : "Don't move" : 0 : "If this is enabled, the button will not move (oriented by angles) when triggered." 32 : "Toggle" : 0 : "If enabled, makes the entity toggleable." 64 : "Sparks" : 0 : "Makes button spark randomly when in the off position." 256 : "Touch Activates" : 0 : "Button can only be activated by the player bumping into it (or by being damaged, if Health is specified)." ] locked_sound(choices) : "Locked Sound" : 0 : "Sounds to play when the entity is 'locked'. Options are:" = [ 0 : "No Sound" 1 : "Old button" : "Sounds like an old button." 2 : "Digital - Chirping" : "Digital chirping sound." 3 : "Digital - Chirping 2" : "An alternative digital chirping sound." 4 : "Digital - Old button" : "Deep button press with a digital chirp at the end." 5 : "2-tone with digital chirp" : "A 2-tone alert with a digital chirp sound." 6 : "Digital - Old button 2" : "Digital chirping with a old button press at the end." 7 : "Digital - Old button 3" : "An old button with an alternative digital chirping sound." 8 : "Old button 2" : "Industrial button sound." 9 : "Digital - old button 4" : "Another old button sound with a digital chirping sound." 10 : "Buzzer" : "A buzzer sound." 11 : "Buzzer - Off" : "A buzzer. Has a lower tone to " 13 : "Latchunlocked1" 14 : "Lightswitch" 21 : "Lever1" 22 : "Lever2" 23 : "Lever3" 24 : "Lever4" 25 : "Lever5" ] unlocked_sound(choices) : "Unlocked Sound" : 0 : "Sound to play when entity is 'unlocked'. This is not working in the current build of the game for some reason. Options are:" = [ 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 : "Sentence that is spoken when entity is 'locked'. Refer to the notes section of this FGD. Options are:" = [ 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 : "Sentence that is spoken when entity is 'unlocked'. Refer to the notes section of this FGD. Options are:" = [ 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 : "Brush entities only. Sets the minimum light level. Useful for when textures should always appear bright e.g. computer screens or holograms. Default is 0, max 1." ] @SolidClass base(Targetname, Global, RenderFields, Angles, ZHLT, Func2) = func_conveyor : "Conveyor Belt: This entity creates a 'moving' conveyor belt. It can push things and simulate streams of water." [ spawnflags(flags) = [ 1 : "No Push" : 0 : "Enable this to prevent the entity from pushing things." 2 : "Not Solid" : 0 : "With Not Solid enabled, there will be no push." ] speed(string) : "Conveyor Speed" : "100" _minlight(integer) : "Minimum light level" : 0 : "Brush entities only. Sets the minimum light level. Useful for when textures should always appear bright e.g. computer screens or holograms. Default is 0, max 1." ] //base(Targetname, Targetx, Global, Master, RenderFields, Angles, ZHLT) @SolidClass base(Door, Func2) = func_door : "Basic door: A very useful entity that can make door/gate, piston, elevator, forming press, etc. Can be made to act very much like a func_button." [] @SolidClass base(Door, Func2) = func_door_rotating : "Rotating door: " [ spawnflags(flags) = [ 2 : "Reverse Dir" : 0 : "Reverse direction of rotation." 16 : "One-way" : 0 : "Door only opens in one direction." 64 : "X Axis" : 0 : "Door will rotate on its X axis." 128 : "Y Axis" : 0 : "Door will rotate on its Y axis." ] distance(integer) : "Distance (deg)" : 90 : "Distance in degrees to rotate." health(integer) : "Health on touch" : "" : "When the player touches this door, it will give the specified health amount." ] @SolidClass base(RenderFields, ZHLT, Func2) = func_friction : "Surface w/ Friction Change: This entity allows you to create an area of low friction, to simulate wet or oily or icy surfaces." [ modifier(integer) : "Percentage of standard (0 - 100)" : 15 : "The percentage of friction between 0 and 100 (where 100% is normal friction)." ] @SolidClass base(Targetname, Global, RenderFields, ZHLT, Func2) = func_guntarget : "Moving Platform: This creates a moving target that stops and fires its target when shot. Basically a shootable func_train switch." [ target(target_source) : "First stop target" : : "The name of the first path_corner to follow." speed(integer) : "Speed (units per second)" : 100 : "Speed that the guntarget travels at in units per second." message(target_source) : "Fire on damage" : : "When damaged, this event will be triggered." health(integer) : "Damage to Take" : 0 : "The amount of damage that must be taken before halting movement and activating the target." _minlight(integer) : "Minimum light level" : 0 : "Brush entities only. Sets the minimum light level. Useful for when textures should always appear bright e.g. computer screens or holograms. Default is 0, max 1." ] @SolidClass base(Global, RenderFields, ZHLT, Func2) = func_healthcharger : "Wall Health Kit: This entity creates an area in which the player can recharge his health. Uses Charges. Can be changed using skill.cfg." [ _minlight(integer) : "Minimum light level" : 0 : "Brush entities only. Sets the minimum light level. Useful for when textures should always appear bright e.g. computer screens or holograms. Default is 0, max 1." charges(integer) : "Health Charges(?)" : 0 : "Number of times the player can recieve health from this entity." ] @SolidClass base(Global, RenderFields, ZHLT, Func2) = func_recharge : "Battery recharger: Similar to the func_healthcharger, this entity specifies an area in which the player can recharge his armour. Can be changed using skill.cfg." [ _minlight(integer) : "Minimum light level" : 0 : "Brush entities only. Sets the minimum light level. Useful for when textures should always appear bright e.g. computer screens or holograms. Default is 0, max 1." ] @SolidClass base(Targetname, RenderFields, ZHLT, Angles, FuncAddition) = func_illusionary : "Fake Wall/Light: The func_illusionary has all the properties of a func_wall entity, except for the fact that it is non-solid." [ skin(choices) : "Contents" : "" : "Skin for brush entities is used to manually override the contents of the brush. The content of a volume determines things like if it's solid, if it's empty, if it's see-through, if it's water, if it's a water current, if it's a ladder, if it's lava, if it's slime, etc." = [ 0 : "Illusionary" -1 : "Empty" -2 : "Solid" -3 : "Water" -4 : "Slime" -5 : "Lava" -16 : "Ladder" ] _minlight(integer) : "Minimum light level" : "" : "Brush entities only. Sets the minimum light level. Useful for when textures should always appear bright e.g. computer screens or holograms. Default is 0, max 1." ] @SolidClass base(Targetname) = func_ladder : "Ladder: This creates an invisible area which, when entered by the player, allows to player to climb up or down." [] @SolidClass base(Targetname) = func_monsterclip : "Monster clip brush: This entity acts like the 'clip' brush, except it restricts monster movement, not the player's." [] @SolidClass base(Targetname) = func_mortar_field : "Mortar Field: FLASHBANGS ONLY!!! This entity is used to define an area that an airstrike is called on." [ m_flSpread(integer) : "Spread Radius" : 64 : "Defines the accuracy of the bombardment." m_iCount(integer) : "Repeat Count" : 1 : "Determines how many bombs will be dropped per strike." m_fControl(Choices) : "Targeting" : 0 : "Determines how the strike location is calculated. Options are:" = [ 0 : "Random" : "Random strike simulation" 1 : "Activator" : "Button activation" 2 : "Table" : "Special case. The X and Y controllers can be used in cases where a table is used to define the strike location (as seen in Half-Life)." ] m_iszXController(target_destination) : "X Controller" :"": "The name of a momentary_rot_button to provide a relative strike position on the X axis." m_iszYController(target_destination) : "Y Controller" :"": "The name of a momentary_rot_button to provide a relative strike position on the Y axis." ] @SolidClass base(Targetname, Global, Angles, RenderFields, ZHLT, FuncAddition) = func_pendulum : "Pendulum: This entity allows you to create an object that moves like a pendulum. Swings back and forth" [ speed(integer) : "Speed" : 100 : "Speed of movement of the pendulum." distance(integer) : "Distance (deg)" : 90 : "Distance in degrees the pendulum will swing. Negative values reverse the direction." damp(integer) : "Damping (0-1000)" : 0 : "If you specify a value here the pendulum will slowly narrow its movement until it stops moving. It will end in the middle of it's swing, so if you specified 90 degrees as its distance, it will stop at the 45 degree position." dmg(integer) : "Damage inflicted when blocked" : 0 : "When movement is blocked by the player, he will receive this amount of damage." spawnflags(flags) = [ 1 : "Start On" : 0 : "Start on." 8 : "Not Solid" : 0 : "Makes the pendulum non-soild." 16 : "Auto-return" : 0 : "If this is enabled it will cause the pendulum to return to its start position when triggered." 64 : "X Axis" : 0 : "If enabled, the swing will be in the X axis." 128 : "Y Axis" : 0 : "If enabled, the swing will be in the Y axis." ] _minlight(integer) : "_minlight" : 0 : "Brush entities only. Sets the minimum light level. Useful for when textures should always appear bright e.g. computer screens or holograms. Default is 0, max 1." skin(choices) : "Contents" : -1 : "Skin for brush entities is used to manually override the contents of the brush. The content of a volume determines things like if it's solid, if it's empty, if it's see-through, if it's water, if it's a water current, if it's a ladder, if it's lava, if it's slime, etc." = [ 0 : "default" -1 : "Empty" -3 : "water" -4 : "slime: touch drown" -5 : "lava: touch fire death" -7 : "Volumetric Light" -16 : "make ladder" ] ] @SolidClass base(Targetname, Global, RenderFields, PlatSounds, ZHLT, Func2) = func_plat : "Elevator: This entity lets you create a platform that will move to its raised position when the player walks onto it." [ spawnflags(flags) = [ 1 : "Toggle" : 0 : "If enabled, the platform can be triggered to toggle it between its raised and lowered positions." ] height(integer) : "Travel altitude" : 0 : "The distance the object will move. Can be negative." speed(integer) : "Speed" : 50 : "Speed of movement of the platform." _minlight(integer) : "Minimum light level" : 0 : "Brush entities only. Sets the minimum light level. Useful for when textures should always appear bright e.g. computer screens or holograms. Default is 0, max 1." ] @SolidClass base(Targetname, Global, Angles, RenderFields, ZHLT, PlatSounds, Func2) = func_platrot : "Moving Rotating platform" [ spawnflags(flags) = [ 1 : "Toggle" : 1 64 : "X Axis" : 0 128 : "Y Axis" : 0 ] speed(integer) : "Speed of rotation" : 50 : "Speed of movement of the rotating platform." height(integer) : "Travel altitude (can be negative)" : 0 : "The distance the object will move. Can be negative." rotation(integer) : "Spin amount" : 0 : "This is the distance, in degrees, the platform will rotate between its lowered and raised positions." _minlight(integer) : "Minimum light level" : 0 : "Brush entities only. Sets the minimum light level. Useful for when textures should always appear bright e.g. computer screens or holograms. Default is 0, max 1." ] @SolidClass base(Breakable, RenderFields, ZHLT, Func2) = func_pushable : "Pushable object: The only type of brush entity that can be pushed, pulled, lifted (not by the player) and fall, most commonly used with crates. It can also optionally be breakable." [ size(choices) : "Hull Size" : 0 : "Defines the size of entity hull. Could be obsolete. Sizes are in units (X, Y, Z). Options are:" = [ 0 : "Point size" : "16, 16, 16" 1 : "Player size" : "32, 32, 72" 2 : "Big Size" : "64, 64, 72" 3 : "Player duck" : "32, 32, 36" ] spawnflags(flags) = [ 128 : "Breakable" : 0 : "If this is enabled, the entity will act like a func_breakable." 256 : "Instant Crowbar" : 0 : "Whack it with a knife and it will break instantly (regardless of strength)." ] friction(integer) : "Friction" : 50 : "This determines the amount of resistance the brush will give when the player pushes it. Range is 0 to 400, where 400 is the most resistance." bouyancy(integer) : "Bouyancy" : 20 : "Determines how well the brush floats on water." silent(choices) : "Silent" : : "Disables sounds when pushing the func_pushable." = [ 0 : "No" 1 : "Yes" ] _minlight(integer) : "Minimum light level" : 0 : "Brush entities only. Sets the minimum light level. Useful for when textures should always appear bright e.g. computer screens or holograms. Default is 0, max 1." ] @SolidClass base(Targetname, Global, Master, Target, Angles, RenderFields, ZHLT, Func2) = func_rot_button : "Rotating button: This entity creates a button that rotates." [ delay(string) : "Delay before trigger" : "0" : "Usually the time in seconds before an entity should trigger its target (after being triggered itself). Under other SmartEdit names, delay might also be the time to wait before performing some other action." // changetarget will change the button's target's TARGET field to the button's changetarget. changetarget(target_destination) : "ChangeTarget Name" : : "UWU" speed(integer) : "Speed" : 50 : "How fast the button rotates when activated." health(integer) : "Health (shootable if > 0)" : "" : "If non-zero, the button must be damaged to this extent to activate it." sounds(choices) : "Sounds" : 21 : "Choose the sound the button makes when rotating. Options are:" = [ 21 : "Squeaky" 22 : "Squeaky Pneumatic" 23 : "Ratchet Groan" 24 : "Clean Ratchet" 25 : "Gas Clunk" ] wait(integer) : "Delay before reset" : 0 : "Time to wait before button resets itself. -1 makes it stay set." distance(integer) : "Distance" : 90 : "Distance in degrees the button will rotate before activating its target." spawnflags(flags) = [ 1 : "Not solid" : 0 : "Makes the button non-solid." 2 : "Reverse Dir" : 0 : "Reverses the rotation direction." 32 : "Toggle" : 0 : "If enabled, makes the entity toggleable" 64 : "X Axis" : 0 : "If enabled, the rotation will be on the X axis." 128 : "Y Axis" : 0 : "If enabled, the rotation will be on the Y axis." 256 : "Touch Activates" : 0 : "The button can only be activated by the player bumping into it (or by being shot, if Health is > 0)." ] _minlight(integer) : "Minimum light level" : 0 : "Brush entities only. Sets the minimum light level. Useful for when textures should always appear bright e.g. computer screens or holograms. Default is 0, max 1." ] @SolidClass base(Targetname, Global, Angles, RenderFields, ZHLT, Func2) = func_rotating : "Rotating Object: This entity lets you create a rotating object." [ speed(integer) : "Rotation Speed" : 0 : "This is the maximum speed the rotating object will achieve." volume(integer) : "Volume (10 = loudest)" : 10 : "Sets the volume of the sound. Scales from 0 (completely silent) to 10 (maximum, default)." fanfriction(integer) : "Friction (0 - 100%)" : 20 : "If the Acc/Dcc flag is enabled, this value determines the time it takes to reach full speed or to stop after being triggered." sounds(choices) : "Fan Sounds" : 0 : " The sound to make while moving. Options are:" = [ 0 : "No Sound" 1 : "Fast Whine" 2 : "Slow Rush" 3 : "Medium Rickety" 4 : "Fast Beating" 5 : "Slow Smooth" ] message(sound) : "WAV Name" : : "The path / filename of a custom movement sound to be played (overrides Fan Sounds)." spawnflags(flags) = [ 1 : "Start On" : 0 : "Start on." 2 : "Reverse Direction" : 0 : "Set this flag to make the brush turn in the opposite direction." 4 : "X Axis" : 0 : "If enabled, the rotation will be in the X axis." 8 : "Y Axis" : 0 : "If enabled, the rotation will be in the Y axis." 16 : "Acc/Dcc" : 0 : "If enabled, the entity will accelerate and decelerate from maximum speed based on the Friction property." 32 : "Fan Pain" : 0 : "With this enabled, the player will be hurt when coming into contact with the brush." 64 : "Not Solid" : 0 : "Makes the brush non-solid." 128 : "Small Radius" : 0 : "Sets sound range to low." 256 : "Medium Radius" : 0 : "Sets sound range to medium." 512 : "Large Radius" : 1 : "Sets sound range to high." ] _minlight(integer) : "Minimum light level" : 0 : "Brush entities only. Sets the minimum light level. Useful for when textures should always appear bright e.g. computer screens or holograms. Default is 0, max 1." spawnorigin(string) : "X Y Z - Move here after lighting" : "0 0 0" : "Moves the fan to this origin point after lighting." dmg(integer) : "Damage inflicted when blocked" : 0 : "If the player blocks the entity's movement, this amount of damage will be dealt." ] @SolidClass base(BaseTank, ZHLT, Func2) = func_tank : "Brush Gun Turret: This entity allows you to create a controllable or automatic gun turret. To make it controllable by the player, you'll need a func_tankcontrols entity associated with it." [ bullet(choices) : "Bullets" : 1 : "Set the bullet type to fire. The damage that these output can be changed in the skill.cfg file if needed for a custom mod." = [ 0 : "None" 1 : "9mm" 2 : "MP5" 3 : "12mm" ] spawnflags(flags) = [ 2 : "???" : "???" 4 : "???" : "???" ] ] @SolidClass = func_tankcontrols : "Tank controls: This entity defines an area in which a player can control a func_tank, func_tankmortar, func_tanklaser or func_tankrocket entity." [ target(target_destination) : "Tank entity name" : : "Set this to the name of the gun you want to control." ] @SolidClass base(BaseTank, ZHLT, Func2) = func_tanklaser : "Brush Laser Turret: This is a func_tank that fires laser beams instead of bullets. To make it controllable by the player, you'll need a func_tankcontrols entity associated with it." [ laserentity(target_source) : "env_laser Entity" : : "The name of the env_laser entity to use." ] @SolidClass base(BaseTank, ZHLT, Func2) = func_tankmortar : "Brush Mortar Turret: This is basically mortar-firing func_tank. Most commonly used for 'real' tanks. To make it controllable by the player, you'll need a func_tankcontrols entity associated with it." [ iMagnitude(Integer) : "Explosion Magnitude" : 100 : "Input the magnitude of the explosion. Be careful, if the magnitude is too high, you'll kill the player." ] @SolidClass base(BaseTank, ZHLT, Func2) = func_tankrocket : "Brush Rocket Turret: A func_tank that fires visible rockets (like the ones from the RPG). To make it controllable by the player, you'll need a func_tankcontrols entity associated with it." [] @SolidClass base(Trackchange) = func_trackautochange : "Automatic track changing platform: This entity lets you switch a train that is not being controlled by the player to a new track via a moving piece of track, either rotating, or ascending / decending, or both." [ _minlight(integer) : "Minimum light level" : 0 : "Brush entities only. Sets the minimum light level. Useful for when textures should always appear bright e.g. computer screens or holograms. Default is 0, max 1." ] @SolidClass base(Trackchange, ZHLT, Func2) = func_trackchange : "Train track changing platform: This entity allows you to create a rotating platform that will switch a func_tracktrain's path, used mainly with player-controllable trains." [ _minlight(integer) : "Minimum light level" : 0 : "Brush entities only. Sets the minimum light level. Useful for when textures should always appear bright e.g. computer screens or holograms. Default is 0, max 1." ] @SolidClass base(Targetname, Global, Angles, RenderFields, ZHLT, Func2) = func_tracktrain : "Track Train: This entity allows you to create a player-controllable train / platform etc. that follows a path consisting of path_tracks. Unlike func_trains, func_tracktrains will automatically face the next path_track, similar to how real-world vehicles behave." [ spawnflags(flags) = [ 1 : "No Pitch (X-rot)" : 0 : "Enabling this will make the train rotate on the Z axis only (yaw - left and right)" 2 : "No User Control" : 0 : "Removes the player's ability to control the train." 8 : "Not Solid" : 0 : "Makes the train not solid." ] target(target_destination) : "First stop target" : : "The name of the path_track to start at." sounds(choices) : "Sound" : 0 : "Sounds that play when the train is moving. Options are:" = [ 0 : "None" 1 : "Rail 1" 2 : "Rail 2" 3 : "Rail 3" 4 : "Rail 4" 5 : "Rail 6" 6 : "Rail 7" ] wheels(integer) : "Distance between the wheels" : 50 : "This determines how the train behaves when turning corners. Generally the length of the object works here." height(integer) : "Height above track" : 4 : "This is the height above the path_track that the train will ride, based on the location of the train's origin brush." startspeed(integer) : "Initial speed" : 0 : "The speed the train starts at, until overridden by player control or path_track settings." speed(integer) : "Speed (units per second)" : 64 : "The maximum speed the player can make a controllable train go in units/second." dmg(integer) : "Damage on crush" : 0 : "If train movement is blocked by the player, deal out this much damage." volume(integer) : "Volume (10 = loudest)" : 10 : "Sets the volume of the sound. Scales from 0 (completely silent) to 10 (maximum, default)." bank(string) : "Bank angle on turns" : "0.0" : "This is the angle the train will tilt when cornering." _minlight(integer) : "Minimum light level" : 0 : "Brush entities only. Sets the minimum light level. Useful for when textures should always appear bright e.g. computer screens or holograms. Default is 0, max 1." ] @SolidClass studio() size(-16 -16 -16, 16 16 16) base(Targetname, Global, RenderFields, ZHLT, FuncAddition) = func_train : "Moving platform: This entity creates an object that can move between multiple path_corners. Not just used for trains; in fact, the func_train is more commonly seen in elevators, platforms, laser targets etc. For a moving object that can be controlled by the player (such as the train in On A Rail), see func_tracktrain." [ target(target_source) : "First stop target" : : "he name of the path_corner that the func_train should start at. If not set, the func_train will be at 0 0 0." movesnd(choices) : "Move Sound" : 0 : "Sound that is played while moving. Options are:" = [ 0 : "No Sound" 1 : "big elev 1" 2 : "big elev 2" 3 : "tech elev 1" 4 : "tech elev 2" 5 : "tech elev 3" 6 : "freight elev 1" 7 : "freight elev 2" 8 : "heavy elev" 9 : "rack elev" 10 : "rail elev" 11 : "squeek elev" 12 : "odd elev 1" 13 : "odd elev 2" ] stopsnd(choices) : "Stop Sound" : 0 : "Sound played when coming to a stop. Options are:" = [ 0 : "No Sound" 1 : "big elev stop1" 2 : "big elev stop2" 3 : "freight elev stop" 4 : "heavy elev stop" 5 : "rack stop" 6 : "rail stop" 7 : "squeek stop" 8 : "quick stop" ] speed(integer) : "Speed (units per second)" : 64 : "The speed the func_train will move at in units/second." avelocity(string) : "Angular velocity (Y Z X)" : "0 0 0" : " Sets up axial rotation. Format: Y Z X." dmg(integer) : "Damage on crush" : 0 : "If the player is caught between the func_train and a solid brush, this is the amount of damage he will sustain." skin(choices) : "Contents (if not solid)" : 0 : "Skin for brush entities is used to manually override the contents of the brush. The content of a volume determines things like if it's solid, if it's empty, if it's see-through, if it's water, if it's a water current, if it's a ladder, if it's lava, if it's slime, etc." = [ 0 : "Default" -1 : "Empty" -3 : "Water, swimable train" -4 : "Odd slime: touch drowning death" -5 : "Odd lava: touch fire death" -7 : "Volumetric Light" -16 : "Make odd ladder" ] volume(integer) : "Sound Volume 0.0 - 1.0" : 0 : "Sets the volume of the sound. Scales from 0 (completely silent) to 1 (maximum)." spawnflags(flags) = [ 8 : "Not solid" : 0 : "Make the train non-solid." ] _minlight(integer) : "Minimum light level" : 0 : "Brush entities only. Sets the minimum light level. Useful for when textures should always appear bright e.g. computer screens or holograms. Default is 0, max 1." ] @SolidClass = func_traincontrols : "Train Controls: This entity defines the area in which the player can control a func_tracktrain, relative to the train (since they move). Similar to func_tankcontrols." [ target(target_destination) : "Train Name" : : "Set this to the Name of the func_tracktrain you want to control." ] //FuncAddition, ZHLT, RenderFields, Targetname @SolidClass base(Targetname, RenderFields, ZHLT) = func_wall : "Wall: This entity lets you create a stationary piece of geometry in your level which can then be modified (through its rendering properties) for a number of effects. Often used for things like unbreakable glass, masked textures (fences, ladders). In the past it was also used for performance reasons, but nowadays func_detail (introduced by Vluzacn's compile tools) is often a better choice." [ _minlight(integer) : "Minimum light level" : "" : "Brush entities only. Sets the minimum light level. Useful for when textures should always appear bright e.g. computer screens or holograms. Default is 0, max 1." style(choices) : "Texlight style" : 0 : "Set a style of lighting for the texlight. Can be applied to any brush based entity." = [ 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" ] skin(choices) : "Contents" : "" : "Skin for brush entities is used to manually override the contents of the brush. The content of a volume determines things like if it's solid, if it's empty, if it's see-through, if it's water, if it's a water current, if it's a ladder, if it's lava, if it's slime, etc." = [ 0 : "Normal" -1 : "Empty" -2 : "Solid" -3 : "Water" -4 : "Slime" -5 : "Lava" -16 : "Ladder" ] ] @SolidClass base(func_wall) = func_wall_toggle : "Toggleable geometry: The func_wall_toggle is a func_wall that is made invisible when triggered." [ spawnflags(flags) = [ 1 : "Starts Invisible" : 0 : "Starts in an invisible state." ] ] @SolidClass base(Door, FuncAddition) = func_water : "Liquid: A water texture (one prefixed with '!') will act as water, but binding it to an entity gives added advantages. This entity looks a lot like func_door, because it's designed to be able to move (flooding etc.)" [ spawnflags(flags) = [ 1 : "Starts Open" : 0 : "If enabled, the water will treat its predetermined open- and close-position as swapped, meaning it will start in its open position, and move to its closed position. This is useful when you want your water to start open and still receive proper lighting, or the node-graph to generate properly before closing the water manually (if it is a toggleable water)." 256 : "Use Only" : 0 : "If enabled, The water cannot be triggered by the player walking into it, but must be triggered by another entity." ] skin(choices) : "Contents" : -3 : "Skin for brush entities is used to manually override the contents of the brush. The content of a volume determines things like if it's solid, if it's empty, if it's see-through, if it's water, if it's a water current, if it's a ladder, if it's lava, if it's slime, etc." = [ 0 : "Default" -1 : "Empty" -3 : "Water" -4 : "Slime" -5 : "Lava" -16 : "Ladder (only with non-! texture)" ] WaveHeight(integer) : "Wave Height" : : "Sets wave height. Overrides the height set in worldspawn." ] //////////////////////////////////////////////////////////////////////////////// // GAME PLAYER ENTITIES //////////////////////////////////////////////////////////////////////////////// @PointClass iconsprite("sprites/Hammer/GameCounter.spr") base(Targetname, Targetx, Master) = game_counter : "Counter: The game_counter entity keeps an internal value of how many times it has been triggered, and when it reaches a specified value, it will trigger another entity." [ spawnflags(flags) = [ 1 : "Remove On fire" : 0 : "If enabled, the game_counter will be removed once it has triggered its Target." 2 : "Reset On fire" : 0 : "If enabled, once the game_counter has triggered its Target, it will reset its value back to the Initial Value. This will allow it to be used repeatedly, and will trigger its Target each time it reaches the Limit Value." ] frags(integer) : "Initial Value" : 0 : "Sets the value that the game_counter should start at." health(integer) : "Limit Value" : 10 : "Sets the value that the game_counter must reach before triggering its Target." ] @PointClass iconsprite("sprites/Hammer/GameCounterSet.spr") base(Targetname, Target, Master) = game_counter_set : "Sets a game_counter: The game_counter_set entity will, when triggered, set the value of a game_counter to a specified value. " [ spawnflags(flags) = [ 1 : "Remove On fire" : 0 : "If enabled, the game_counter_set will be removed once it has triggered its Target." ] frags(integer) : "New Value" : 10 : "Specifies the value that the game_counter should be set to." ] //!NOTE! Remove this //@PointClass iconsprite("sprites/Hammer/GamePlayerEquip.spr") base(Targetname) = game_player_equip : "Initial player equipment: The game_player_equip entity allows you to provide the player with specific items when it is triggered. To add weapons and ammo, use this format: 'weapon_xyz' or 'item_xyz'." //[ // master(string) : "Team Master" : : "This can be used to limit which team (in a deathmatch game) can receive the items. Takes the name of a game_team_master." // playerhealth(integer) : "# HP" : : "Sets the players health to the amount specified." // silent(choices) : "Disable pickup noise" : "" : "Turns the equipment sound on or off." = // [ // 0 : "No" // 1 : "Yes" // ] // nightvision(choices) : "Nightvision" : "" : "Gives the player nightvision goggles." = // [ // 0 : "No" // 1 : "Yes" // ] // spawnflags(flags) = // [ // 1 : "Use Only" : 0 : "If enabled, The entity cannot be triggered by the player walking into it, but must be triggered by another entity." // ] // //] @PointClass base(Targetname) iconsprite("sprites/Hammer/GamePlayerEquip.spr") = game_player_equip : "Initial player equipment: The game_player_equip entity allows you to provide the player with specific items when it is triggered. To add weapons and ammo, use this format: 'weapon_xyz' or 'item_xyz'." [ master(string) : "Team Master" silent(choices) : "Disable pickup noise" : "" : "Turns the equipment sound on or off." = [ "" : "No" 1 : "Yes" ] nightvision(choices) : "Nightvision" : "" : "Gives the player nightvision goggles." = [ "" : "No" 1 : "Yes" ] spawnflags(flags) = [ 1: "Use Only" : 0 ] weapon_knife (choices) : "Give Knife" : "" = [ "": "No" 1: "Yes" ] weapon_usp (choices) : "Give USP45 (45acp Calibre)" : "" = [ "": "No" 1: "Yes" ] weapon_glock18 (choices) : "Give Glock 18 (9mm Calibre)" : "" = [ "": "No" 1: "Yes" ] weapon_deagle (choices) : "Give Desert Eagle (50ae Calibre)" : "" = [ "": "No" 1: "Yes" ] weapon_p228 (choices) : "Give P-228 (357sig Calibre)" : "" = [ "": "No" 1: "Yes" ] weapon_elite (choices) : "Give Beretta Elites (9mm Calibre)" : "" = [ "": "No" 1: "Yes" ] weapon_fiveseven (choices) : "Give Five-Seven (57mm Calibre)" : "" = [ "": "No" 1: "Yes" ] weapon_m3 (choices) : "Give Benelli M3 (12 Gauge)" : "" = [ "": "No" 1: "Yes" ] weapon_xm1014 (choices) : "Give Benelli XM1014 (12 Gauge)" : "" = [ "": "No" 1: "Yes" ] weapon_mp5navy (choices) : "Give MP5/Navy (9mm Calibre)" : "" = [ "": "No" 1: "Yes" ] weapon_tmp (choices) : "Give TMP (9mm Calibre)" : "" = [ "": "No" 1: "Yes" ] weapon_p90 (choices) : "Give FN P90 (57mm Calibre)" : "" = [ "": "No" 1: "Yes" ] weapon_mac10 (choices) : "Give Mac-10 (45acp Calibre)" : "" = [ "": "No" 1: "Yes" ] weapon_ump45 (choices) : "Give UMP 45 (45acp Calibre)" : "" = [ "": "No" 1: "Yes" ] weapon_ak47 (choices) : "Give AK-47 (762nato Calibre)" : "" = [ "": "No" 1: "Yes" ] weapon_sg552 (choices) : "Give SG552 (556nato Calibre)" : "" = [ "": "No" 1: "Yes" ] weapon_m4a1 (choices) : "Give M4A1 (556nato Calibre)" : "" = [ "": "No" 1: "Yes" ] weapon_aug (choices) : "Give Aug (556nato Calibre)" : "" = [ "": "No" 1: "Yes" ] weapon_scout (choices) : "Give Scout (762nato Calibre)" : "" = [ "": "No" 1: "Yes" ] weapon_awp (choices) : "Give AWP (338magnum Calibre)" : "" = [ "": "No" 1: "Yes" ] weapon_g3sg1 (choices) : "Give G3/SG-1 (762nato Calibre)" : "" = [ "": "No" 1: "Yes" ] weapon_sg550 (choices) : "Give SG550 (556nato Calibre)" : "" = [ "": "No" 1: "Yes" ] weapon_m249 (choices) : "Give M249 (556natobox Calibre)" : "" = [ "": "No" 1: "Yes" ] weapon_famas (choices) : "Give Famas (762nato)" : "" = [ "": "No" 1: "Yes" ] weapon_galil (choices) : "Give Galil (556natobox)" : "" = [ "": "No" 1: "Yes" ] weapon_shield (choices) : "Give Police Riot Shield" : "" = [ "": "No" 1: "Yes" ] weapon_flashbang (choices) : "Give Flash Bang" : "" = [ "": "No" 1: "1" 2: "2" ] weapon_blowtorch (choices) : "Blowtorch Tool" : "" = [ "": "No" 1: "Yes" ] weapon_briefcase (choices) : "Briefcase Tool" : "" = [ "": "No" 1: "Yes" ] weapon_camera (choices) : "Camera Tool" : "" = [ "": "No" 1: "Yes" ] weapon_fiberopticcamera (choices) : "Fiber-Optic Camera Tool" : "" = [ "": "No" 1: "Yes" ] weapon_radiocontrolledbomb (choices) : "Radio Bomb Tool" : "" = [ "": "No" 1: "Yes" ] weapon_radio (choices) : "Radio Tool" : "" = [ "": "No" 1: "Yes" ] weapon_hegrenade (choices) : "Give High-Explosive Grenade" : "" = [ "": "No" 1: "Yes" ] weapon_smokegrenade (choices) : "Give Smoke Grenade" : "" = [ "": "No" 1: "Yes" ] ammo_generic (choices) : "Give Smoke Grenade" : "" = [ "": "No" 1: "Yes" ] ammo_9mm (choices) : "Give 9mm Parabellum Ammo" : "" = [ "": "No" 1: "1 Magazine (30 Bullets Per Magazine)" 2: "2 Magazines" 3: "3 Magazines (Fill Glock 18)" 4: "4 Magazines (Fill Elites, MP5 & TMP)" ] ammo_45acp (choices) : "Give .45 ACP Ammo" : "" = [ "": "No" 1: "1 Magazine (12 Bullets Per Magazine)" 2: "2 Magazines" 3: "3 Magazines" 4: "4 Magazines (Fill USP45)" 5: "5 Magazines" 6: "6 Magazines" 7: "7 Magazines" 8: "8 Magazines (Fill Mac-10)" 9: "9 Magazines (Fill UMP 45)" ] ammo_50ae (choices) : "Give .50 Deagle Ammo" : "" = [ "": "No" 1: "1 Magazine (7 Bullets Per Magazine)" 2: "2 Magazines" 3: "3 Magazines" 4: "4 Magazines" 5: "5 Magazines (Fill Desert Eagle)" ] ammo_57mm (choices) : "Give 5.7mm Ammo" : "" = [ "": "No" 1: "1 Magazine (50 Bullets Per Magazine)" 2: "2 Magazines (Fill Five-Seven & P90)" ] ammo_357sig (choices) : "Give .357 SIG Ammo" : "" = [ "": "No" 1: "1 Magazine (13 Bullets Per Magazine)" 2: "2 Magazines" 3: "3 Magazines" 4: "4 Magazines (Fill P-228)" ] ammo_buckshot (choices) : "Give 12 Gauge Ammo" : "" = [ "": "No" 1: "1 Box (8 Shells Per Magazine)" 2: "2 Boxes" 3: "3 Boxes" 4: "4 Boxes (Fill Benelli M3, XM1014)" ] ammo_762nato (choices) : "Give 7.62mm NATO Ammo" : "" = [ "": "No" 1: "1 Magazine (30 Bullets Per Magazine)" 2: "2 Magazines (Fill Scout & G3/S-G1)" 3: "3 Magazines (Fill AK-47)" ] ammo_556nato (choices) : "Give 5.56mm NATO Ammo" : "" = [ "": "No" 1: "1 Magazine (30 Bullets Per Magazine)" 2: "2 Magazines" 3: "3 (Fill SG552 M4A1 Aug SG550)" ] ammo_556natobox (choices) : "Give 5.56mm NATO Box Ammo" : "" = [ "": "No" 1: "1 Magazine (30 Bullets Per Magazine)" 2: "2 Magazines" 3: "3 Magazines" 4: "4 Magazines" 5: "5 Magazines" 6: "6 Magazines" 7: "7 Magazines (Fill FN M249 Para)" ] ammo_338magnum (choices) : "Give .338 AWP Ammo" : "" = [ "": "No" 1: "1 Magazine (10 Bullets Per Magazine)" 2: "2 Magazines" 3: "3 Magazines (Fill AWP)" ] item_armor (choices) : "Give Kevlar Vest" : "" = [ "": "No" 1: "Yes" ] item_healthkitold (choices) : "Give Moddable Health Kit" : "" = [ "": "No" 1: "1 Healthkit" 2: "2 Healthkits" 3: "3 Healthkits" 4: "4 Healthkits" 5: "5 Healthkits" 6: "6 Healthkits" 7: "7 Healthkits" ] item_healthkit (choices) : "Give Health Kit" : "" = [ "": "No" 1: "1 Healthkit = 25 Health Points" 2: "2 Healthkits = 50 Health Points" 3: "3 Healthkits = 75 Health Points" 4: "4 Healthkits = 100 Health Points" ] item_battery (choices) : "Give Moddable Armor" : "" = [ "": "No" 1: "1 Battery" 2: "2 Batteries" 3: "3 Batteries" 4: "4 Batteries" 5: "5 Batteries" 6: "6 Batteries" 7: "7 Batteries" ] item_longjump (choices) : "Give HL Long Jump Module" : "" = [ "": "No" 1: "Yes" ] spark_shower (choices) : "Make sparks" : "" = [ "": "No" 1: "Yes" ] ] @PointClass iconsprite("sprites/Hammer/GamePlayerHurt.spr") base(Targetname, Master) = game_player_hurt : "Hurt/Heal player: The game_player_hurt entity can be used to inflict a set amount of damage to a player. Similar to a trigger_hurt, however this entity does not require the player to be in a particular location to take the damage. It also lacks some of the more specific options that a trigger_hurt has." [ dmg(string) : "Damage To Apply" : : "Sets the amount of damage to apply to the player that activated the entity. A negative value will heal the player." spawnflags(flags) = [ 1 : "Remove On fire" : 0 : "If enabled, the entity will be removed after being triggered." ] ] @PointClass iconsprite("sprites/Hammer/GameEnd.spr") base(Targetname, Master) = game_end : "End this MP game: The game_end entity is used to end a deathmatch map." [] @PointClass iconsprite("sprites/Hammer/GamePlayerTeam.spr") base(Targetname, Master) = game_player_team : "Allows player to change teams: " [ spawnflags(flags) = [ 1 : "Remove On fire" : 0 : "After firing, this entity will be removed." 2 : "Kill Player" : 0 : "The player will be killed when the entity is activated." 4 : "Gib Player" : 0 : "The player will be pulled apart when the entity is activated." ] target(target_destination) : "game_team_master to use" : : "The player that activates this entity will have his team changed to the team index of the game_team_master entity specified here." ] @PointClass iconsprite("sprites/Hammer/GameScore.spr") base(Targetname) = game_score : "Award/Deduct Points: The game_score entity gives or takes points from a player or their team." [ spawnflags(flags) = [ 1: "Allow Negative" : 0 : "If enabled, the game_score is able to make scores negative." 2: "Team Points" : 0 : "If enabled, the entity will affect the activating player's whole team." ] points(integer) : "Points to add (+/-)" : 1 master(string) : "Master" ] @PointClass iconsprite("sprites/Hammer/GameTeamMaster.spr") base(Targetname, Target, Targetx, Master) = game_team_master : "Team based master/relay: This entity acts like a combination of the multisource and trigger_relay entities, but is based on teams. The game_team_master can replace the multisource as the master for any entity. It will only be active when the activating team matches the team index value." [ spawnflags(flags) = [ 1 : "Remove On fire" : 0 : "The entity will be removed after firing." ] triggerstate(choices) : "Trigger State" : "" : "Activate the target with this trigger state" = [ 0 : "Off" 1 : "On" 2 : "Toggle" ] teamindex(integer) : "Team Index (-1 = no team)" : -1 : "The team number that is valid for this entity. -1 allows all teams." ] @PointClass iconsprite("sprites/Hammer/GameTeamSet.spr") base(Targetname, Target, Targetx, Master) = game_team_set : "Sets team of team_master: " [ spawnflags(flags) = [ 1 : "Remove On fire" : 0 : "The entity will be removed after firing." ] ] @PointClass iconsprite("sprites/Hammer/GameText.spr") base(Targetname, Target, Master) = game_text : "HUD Text Message: This entity is used to display messages on-screen. It is used instead of env_message because it doesn't need to a file full of message strings to be distributed with the map. Do not use an automatic trigger like trigger_auto to activate this entity if 'All Players' flag is disabled, otherwise the game will crash." [ spawnflags(flags) = [ 1 : "All Players" : 0 : "Show the text to all players. If not set, only the player who activated the game_text will see the message." ] message(string) : "Message Text" : : "The text to be displayed. Message text longer than 79 (or 127?) characters in a single line will make the game crash, instead, use line break before it exceeds. Line breaks can be added with by inserting a \n after each sentence where you want a new line." x(integer) : "X position on screen" : -1 : "X position of text (across screen). (0 - 1.0 = left to right, -1 = center)" y(integer) : "Y position on screen" : -1 : "Y position of text (up/down screen). (0 - 1.0 = top to bottom, -1 = center)" effect(Choices) : "Text Effect" : "" : " Effect to apply to the text. Options are:" = [ 0 : "Fade In/Out" 1 : "Credits" 2 : "Scan Out" ] color(color255) : "Color1" : "100 100 100" : "The main colour of the text." color2(color255) : "Color2" : "240 110 0" : "The highlight colour of the text." fadein(string) : "Fade in Time (or character scan time)" : "1.5" : "Time taken to fade in each character." fadeout(string) : "Fade Out Time" : "0.5" : "Time taken to fade out message." holdtime(string) : "Hold Time" : "1.2" : "Length of time to hold message on screen after fading in." fxtime(string) : "Scan time (scan effect only)" : "0.25" : "The amount of time the highlight lags behind the leading edge of the text." channel(choices) : "Text Channel" : 1 : "Any of four channels can be used by this entity. If while one channel is being used another entity on the same channel is triggered, the old text will be cleared from the screen." = [ 1 : "Channel 1" 2 : "Channel 2" 3 : "Channel 3" 4 : "Channel 4" ] ] @SolidClass base(Targetname) = game_zone_player : "Player Zone: This entity is used to trigger targets based on player locations." [ intarget(target_destination) : "Target for IN players" : : "All players inside the area covered by the brush fire this target." outtarget(target_destination) : "Target for OUT players" : : "All players outside the area covered by the brush fire this target." incount(target_destination) : "Counter for IN players" : : "This game_counter's value will be set to the number of players inside the area." outcount(target_destination) : "Counter for OUT players" : : "This game_counter's value will be set to the number of players outside the area." ] @PointClass iconsprite("sprites/Hammer/Gibshooter.spr") base(gibshooterbase) = gibshooter : "Gib Shooter: An env_shooter that just shoots bodyparts. Handy >:)." [] //////////////////////////////////////////////////////////////////////////////// // INFO ENTITIES //////////////////////////////////////////////////////////////////////////////// @PointClass iconsprite("sprites/Hammer/HostageRescue.spr") = info_hostage_rescue : "Hostage rescue point: This entity creates a 'node' for the hostage rescue point. An area about 128 units around the entity is considered to be a hostage rescue area." [ hidden(choices) : "Show hud icon" : "" : "Choose if the icon is displayed on the HUD in-game." = [ 0 : "No" 1 : "Yes" ] quiet(choices) : "Quiet Hostage" : "" : "Choose if the hostage says a sentence on rescue." = [ 0 : "No" 1 : "Yes" ] ] @PointClass iconsprite("sprites/Hammer/InfoLandmark.spr") base(Targetname, Angles) = info_landmark : "Transition Landmark: In a level transition, this entity defines the same point in both maps, so that the transition appears seamless." [] @PointClass iconsprite("sprites/Hammer/EnvTarget.spr") base(Targetname) = info_null : "Info_null: This entity's only purpose is to define the target of one or more light_spot entities. It is only used at compile time by RAD for this sole purpose. At runtime (during gameplay), it removes itself during its spawning process making it unreliable as 'reference/target' for other entities like paths for trains, targets for camera etc." [] @PointClass base(Angles) size(-24 -24 -4, 24 24 4) color(255 255 0) = info_node : "Ai node: nfo_nodes are essential for monsters who need to move under AI control. The engine draws a 'node graph' based on the positions of info_nodes in a map, and monsters can then find the quickest route from point A to point B via the nodes." [ nodetype(choices) : "Node type" : "" : "Type of node. The type decides how the monster interacts with the node. Options are:" = [ 0 : "Default" : "Default kind of node. Nothing special." 1 : "Duck node" : "Makes the AI seek this node for defense or a hiding spot." 2 : "Corner node" : "Makes the AI pop out around corners for a quick shot." ] nodeindex(integer) : "Node index" : : "Not sure what this does." hinttype(integer) : "Hint type" : : "Not sure what this does, or if it even works." ] @PointClass base(info_node) size(-32 -32 0, 32 32 64) color(255 255 0) = info_node_air : "Ai air node: Similar to info_node, this entity is specifically for flying monsters like monster_apache." [] @PointClass base(PlayerClass) flags (Angle) size(-32 -32 0, 32 32 64) offset(0 0 36) sequence(0) studio("models/gordo_new.mdl") = info_player_start : "Player start: This entity defines the player starting point in single-player maps. Try to place near the ground, as the player will drop from the entity origin to the floor. Also, make sure the info_player_start is clear of any obstacles, or the player may be stuck at the start. " [] @PointClass iconsprite("sprites/Hammer/InfoCamera.spr") base(Targetname, Target) = info_camera : "Info Camera: Used to define the point that the fiber-optic camera view will be placed. One can also place a info_target as its target to futher define where the info_camera will look at." [] @PointClass iconsprite("sprites/Hammer/InfoTarget.spr") base(Targetname, Angles) size(-4 -4 -4, 4 4 4) color(200 100 50) = info_target : "Static Target: An info_target is used to provide static (non-moving) targets for entities like trigger_camera and env_beam." [] @PointClass iconsprite("sprites/Hammer/InfoTeleport.spr") size(-8 -8 0, 8 8 16) base(Targetname, PlayerClass) = info_teleport_destination : "Teleport destination: Works in conjunction with trigger_teleport. This entity provides the exit point of the teleporter." [] @PointClass iconsprite("sprites/Hammer/InfoTexlight.spr") color(255 128 0) = info_texlights : "Texture Light Config: Special lighting entity. See the notes section of this FGD." [] @PointClass decal() base(Targetname, Angles) = infodecal : "Decal: This entity lets you place special textures in your map, on top of solid brushes. Things like scorch marks, cracks, oil, lettering, etc. can be applied. The Decal Tool in Hammer/JACK is an easier way to apply them. Triggering it will cause it to appear. Triggering it again will not cause it to disappear." [ texture(decal) : : "Choose a decal from the decals.wad to put on a surface. It only works with that .wad" ] //////////////////////////////////////////////////////////////////////////////// // ITEM ENTITIES //////////////////////////////////////////////////////////////////////////////// @PointClass base(Angles, Targetx, ModelFile) studio("models/w_armor.mdl") = item_armor : "Armor: Gives the player 100 points of armor." [] @PointClass base (Angles, Targetx, ModelFile) studio("models/can.mdl") = item_sodacan : "Soda: The item_sodacan entity is usually only ever seen when being spawned by an env_beverage entity. Gives the player 1 health point." [] @PointClass base(Angles, Targetx, ModelFile) = item_security : "Security card: Spawns a security card. This entity has no 'game related behavior' besides storing in the player's inventory but its pickup ability is often used as a way to unlock other kinds of entities (For example, by targeting a multisource which is the master of a door)." [] @PointClass base(Angles, Targetx, ModelFile) studio("models/w_longjump.mdl") = item_longjump : "Longjump module: Spawns a long jump module that grants the ability to the player that picks it up to perform long jumps." [] @PointClass base(Angles, Targetx, ModelFile) = item_antidote : "Poison antidote: Spawns an antidote to cure nerve gas and poison damage. The antidote shot is administered automatically during the timed damage. There is no HUD element telling how many antidote shots the player has." [] @PointClass base(Angles, Targetx, ModelFile) studio("models/w_battery.mdl") = item_battery : "HEV battery (Armor plates): Spawns a battery which gives player armor. Can be modified with SKILLS.CFG." [] @PointClass base(Targetname, Target, Angles, ModelFile, RenderFields) = item_generic : "Model entity: Widely used as a reliable way to display prop models in the map." [ removeonuse(choices) : "Remove on use" : "" : "The entity will be removed after firing." = [ 0 : "No" 1 : "Yes" ] sequencename(string) : "Animation" : : "Defines the animation to use." lightmultiplier(integer) : "Light Multiplier" : : "Has code relating to an addtional renderfx (25?)." sequence(integer) : "Sequence (Editor)" : : "Sequence to display in JACK. This does not affect gameplay." nopvs(choices) : "Include in Potentially Visible Set(PVS)" : 0 : "Potentially Visible Sets are used to accelerate the rendering of 3D environments. It is also related to NPCs. Refer to the notes section of this FGD." = [ 0 : "Yes" 1 : "No" ] ] @PointClass base (Angles, Targetx, ModelFile) studio("models/healthkit.mdl") = item_healthkit : "Healthkit: Spawns an health kit to heal players for 25 health points." [] @SolidClass base (Angles, Targetx, ModelFile) = item_worldmap : "Worldmap: This entity activate the 'World Map' GUI from the original CS:CZDS in game. Could be useful for an easter egg or a mod." [ junk(integer) : "Junk (?)" : : "Not sure what this does. most likely nothing." ] @PointClass base (Angles, Targetx, ModelFile) studio("models/w_medkit.mdl") = item_healthkitold : "Moddable Healthkit: Spawns an health kit to heal players. The amount of hit points given can be changed with the SKILLS.CFG." [] //////////////////////////////////////////////////////////////////////////////// // LIGHT ENTITIES //////////////////////////////////////////////////////////////////////////////// @PointClass iconsprite("sprites/Hammer/lightsrc.spr") flags(Light) base(Targetname, Target, Light) = light : "Invisible lightsource: Point-based light. It can also be toggled on/off and pulse in a variety of pre-defined styles (as well as custom ones) in a limited fashion." [] @PointClass iconsprite("sprites/Hammer/LightEnvironment.spr") flags(Light) base(Targetname, Target, Light) flags (angle) = light_environment : "Environment light: This entity makes the map's sky emit light. The only practical way of lighting outdoor maps. Sky brushes must have the 'SKY' texture on all faces or they won't emit light. The logic for this is a bit tricky." [ angles(string) : "Pitch Yaw Roll (Y Z X)" : "0 270 0" : "Use Pitch to shift the sun (or moon) vertically (similar to daytime/hours) and Yaw to shift it horizontally (cardinal direction or obliquity)." pitch(integer) : "Pitch" : -90 : "A negative number will give downward pitch (which is normally what you want)." _diffuse_light(color255) : "Diffuse Light" : "0 0 0 0" : "Gives the colour and intensity of the diffuse lighting. This allows a different colour for the diffuse light from a light_environment, more accurately mimicking real-world lighting (yellow sun, blue sky)." ] @PointClass iconsprite("sprites/Hammer/LightSpot.spr") base(Targetname, Target, Angles, Light) flags (angle) = light_spot : "Spotlight: The light_spot entity allows you to create direct beams of light (like from a flashlight, spotlight, projector, and beacon) rather than spreading light within a radius of 360." [ pitch(integer) : "Pitch" : -90 : "The pitch of the light (-90 is straight down, 90 is straight up)." _cone(integer) : "Inner angle" : 30 : "Define the size of the inner, bright part of the spotlight." _cone2(integer) : "Outer angle" : 45 : "Define the size of the outer, fading part of the spotlight." _sky(choices) : "Is Sky" : 0 : "Choose if this spotlight is should act as the sky (It's better to use light_environment)." = [ 0 : "No" 1 : "Yes" ] ] //////////////////////////////////////////////////////////////////////////////// // MOMENTARY ENTITIES //////////////////////////////////////////////////////////////////////////////// @SolidClass base(Door) = momentary_door : "Momentary/Continuous door: This creates a sliding door that opens or closes in coordination with a momentary_rot_button. Set up is the same as a func_door, but it needs a name and to be targeted by a momentary_rot_button." [ spawnflags(flags) = [ 1 : "Starts Open" : 0 : "Door starts in its 'open' position." ] ] @SolidClass base(Targetname, Master, Angles, RenderFields, ZHLT) = momentary_rot_button : "Direct wheel control: The momentary_rot_button was designed to control the momentary_door, or, thanks to the Door Hack, another momentary_rot_button. The door (or door-hack button) moves relative to the position of the momentary_rot_button controlling it. i.e., if the player lets go of the button, the door begins to close." [ target(target_destination) : "Targeted object" : : "Normally, the momentary_door you want to control." speed(integer) : "Speed" : 50 : "Speed the button will turn." sounds(choices) : "Sounds" : 0 : "Choose the sound the button makes when rotating. Options are:" = [ 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" 13 : "Latch Unlocked" 21 : "Squeaky" 22 : "Squeaky Pneumatic" 23 : "Ratchet Groan" 24 : "Clean Ratchet" 25 : "Gas Clunk" ] distance(integer) : "Distance (deg)" : 90 : "Distance in degrees the button will rotate." returnspeed(integer) : "Auto-return speed" : 0 : "Speed at which the button will return to its starting position after being used." spawnflags(flags) = [ 1 : "Door Hack" : 0 : "With this flag enabled, multiple momentary_rot_buttons can have the same Target value, and they will all move when one is used." 2 : "Not usable" : 0 : "Button must be triggered to work." 16 : "Auto Return" : 0 : "Button returns to its starting position automatically." 64 : "X Axis" : 0 : "If enabled, the rotation will be on the X axis." 128 : "Y Axis" : 0 : "If enabled, the rotation will be on the Y axis." ] _minlight(integer) : "Minimum light level" : 0 : "Brush entities only. Sets the minimum light level. Useful for when textures should always appear bright e.g. computer screens or holograms. Default is 0, max 1." ] //////////////////////////////////////////////////////////////////////////////// // MONSTER ENTITIES //////////////////////////////////////////////////////////////////////////////// @BaseClass = Grenadier [ hegrenadeonly(choices) : "HE Grenade Only" : "" : "Choose if this monster throws HE grenades." = [ 0 : "No" 1 : "Yes" ] flashbangonly(choices) : "Flash Grenade Only" : "" : "Choose if this monster throws flash grenades." = [ 0 : "No" 1 : "Yes" ] ] @PointClass base(Monster, Angles, Classtype, ModelFile) = monster_apache : "Apache: An attack helicopter. It can actually be turned into a HIND or HARRIER, with the use of the models from CZEROR." [ health(integer) : "Health" : : "Changes the default health of the monster_apache." idlesound(sound) : "Idle sound" : : "Changes the idle sound of the monster_apache." deathsound(sound) : "Death sound" : : "Changes the death sound of the monster_apache." firesound(sound) : "Fire sound" : : "Changes the fire sound of the monster_apache." quiet(choices) : "No sound" : "" : "Disables sounds from the monster_apache" = [ 0 : "No" 1 : "Yes" ] model(Choices) : "Model" : models/props/blackhawk_gunship.mdl = [ models/props/blackhawk_gunship.mdl : "Blackhawk" models/props/harrier_gunship.mdl : "Harrier" models/props/hind_gunship.mdl : "Hind" ] body(integer) : "Body" : : "Input the value for the bodygroup to use. (Use SOLOKILLERS HLMV for the value)." skin(integer) : "Skin" : : "Input the value for the skin to use. (Use SOLOKILLERS HLMV for the value)." head(integer) : "Head" : : "Input the value for the head to use. (Use SOLOKILLERS HLMV for the value)." spawnflags(flags) = [ 8 : "No Wreckage???" : 0 : "Code suggests something to do with m_flNextRocket" ] ] @PointClass base(Monster, Angles, Classtype, ModelFile) size(-16 -16 0, 16 16 16) studio("models/pigeon.mdl") = monster_flyer : "Flyers: Creates a pigeon. It can only fly around. The player can't interact with it at all." [] @PointClass base(Monster, Angles, Classtype, ModelFile) size(-16 -16 0, 16 16 16) studio("models/pigeon.mdl") = monster_flyer_flock : "Flyers: Creates a group of pigeons. It can only fly around. The player can't interact with it at all." [] [ iflocksize(integer) : "Flock size" : "" : "How many pigeons you want to spawn." flflockradius(integer) : "Flock radius" : "" : "The higher the value is, the more distance will be kept between flyers" ] @PointClass base(Monster, Angles, Classtype, ModelFile) = monster_counter_terrorist_repel : "Repel: Spawns a monster that drops down a rope to the nearest surface. The monster can be specified under 'Monster type'. Terrorist monster can also be spawned!." [ repelskin(integer) : "Repel skin" : : "Choose the skin for the monster to use." repelhead(integer) : "Repel head" : : "Choose a head for the monster to use." monstertype(choices) : "Monster type" : "" : "Define the monster type to spawn. Options are:" = [ "" : "None" : "No spawn." "monster_ct_gign_assaultrifle" : "CT - GIGN - Assault rifle" : "Spawns a GIGN officer with an assault rifle." "monster_ct_gign_grenader" : "CT - GIGN - Grenade" : "Spawns a GIGN officer with a grenade." "monster_ct_gign_law" : "CT - GIGN - LAW" : "Spawns a GIGN officer with a LAW." "monster_ct_gign_machinegun" : "CT - GIGN - M60" : "Spawns a GIGN officer with a M60." "monster_ct_gign_mp5" : "CT - GIGN - MP5" : "Spawns a GIGN officer with a MP5." "monster_ct_gign_pistol" : "CT - GIGN - Pistol" : "Spawns a GIGN officer with a pistol." "monster_ct_gign_shotgun" : "CT - GIGN - Shotgun" : "Spawns a GIGN officer with a shotgun." "monster_ct_gign_smg" : "CT - GIGN - MAC-10" : "Spawns a GIGN officer with a MAC-10." "monster_ct_gign_sniperrifle" : "CT - GIGN - Sniper" : "Spawns a GIGN officer with a sniper rifle." "monster_ct_gsg9_assaultrifle" : "CT - GSG9 - Assault rifle" : "Spawns a GSG9 officer with an assault rifle." "monster_ct_gsg9_grenader" : "CT - GSG9 - Grenade" : "Spawns a GSG9 officer with a grenade." "monster_ct_gsg9_law" : "CT - GSG9 - LAW" : "Spawns a GSG9 officer with a LAW." "monster_ct_gsg9_machinegun" : "CT - GSG9 - M60" : "Spawns a GSG9 officer with a M60." "monster_ct_gsg9_mp5" : "CT - GSG9 - MP5" : "Spawns a GSG9 officer with a MP5." "monster_ct_gsg9_pistol" : "CT - GSG9 - Pistol" : "Spawns a GSG9 officer with a pistol." "monster_ct_gsg9_shotgun" : "CT - GSG9 - Shotgun" : "Spawns a GSG9 officer with a shotgun." "monster_ct_gsg9_smg" : "CT - GSG9 - MAC-10" : "Spawns a GSG9 officer with a MAC-10." "monster_ct_gsg9_sniperrifle" : "CT - GSG9 - Sniper" : "Spawns a GSG9 officer with a sniper rifle." "monster_ct_spetsnaz_assaultrifle" : "CT - Spetsnaz - Assault rifle" : "Spawns a Spetsnaz officer with an assault rifle." "monster_ct_spetsnaz_grenader" : "CT - Spetsnaz - Grenade" : "Spawns a Spetsnaz officer with a grenade." "monster_ct_spetsnaz_law" : "CT - Spetsnaz - LAW" : "Spawns a Spetsnaz officer with a LAW." "monster_ct_spetsnaz_machinegun" : "CT - Spetsnaz - M60" : "Spawns a Spetsnaz officer with a M60." "monster_ct_spetsnaz_mp5" : "CT - Spetsnaz - MP5" : "Spawns a Spetsnaz officer with a MP5." "monster_ct_spetsnaz_pistol" : "CT - Spetsnaz - Pistol" : "Spawns a Spetsnaz officer with a pistol." "monster_ct_spetsnaz_shotgun" : "CT - Spetsnaz - Shotgun" : "Spawns a Spetsnaz officer with a shotgun." "monster_ct_spetsnaz_smg" : "CT - Spetsnaz - MAC-10" : "Spawns a Spetsnaz officer with a MAC-10." "monster_ct_spetsnaz_sniperrifle" : "CT - Spetsnaz - Sniper" : "Spawns a Spetsnaz officer with a sniper rifle." "monster_ct_swat_assaultrifle" : "CT - SWAT - Assault rifle" : "Spawns a SWAT officer with an assault rifle." "monster_ct_swat_grenader" : "CT - SWAT - Grenade" : "Spawns a SWAT officer with a grenade." "monster_ct_swat_law" : "CT - SWAT - LAW" : "Spawns a SWAT officer with a LAW." "monster_ct_swat_machinegun" : "CT - SWAT - M60" : "Spawns a SWAT officer with a M60." "monster_ct_swat_mp5" : "CT - SWAT - MP5" : "Spawns a SWAT officer with a MP5." "monster_ct_swat_pistol" : "CT - SWAT - Pistol" : "Spawns a SWAT officer with a pistol." "monster_ct_swat_shotgun" : "CT - SWAT - Shotgun" : "Spawns a SWAT officer with a shotgun." "monster_ct_swat_smg" : "CT - SWAT - MAC-10" : "Spawns a SWAT officer with a MAC-10." "monster_ct_swat_sniperrifle" : "CT - SWAT - Sniper" : "Spawns a SWAT officer with a sniper rifle." "monster_ct_sas_assaultrifle" : "CT - SAS - Assault rifle" : "Spawns a SAS officer with an assault rifle." "monster_ct_sas_grenader" : "CT - SAS - Grenade" : "Spawns a SAS officer with a grenade." "monster_ct_sas_law" : "CT - SAS - LAW" : "Spawns a SAS officer with a LAW." "monster_ct_sas_machinegun" : "CT - SAS - M60" : "Spawns a SAS officer with a M60." "monster_ct_sas_mp5" : "CT - SAS - MP5" : "Spawns a SAS officer with a MP5." "monster_ct_sas_pistol" : "CT - SAS - Pistol" : "Spawns a SAS officer with a pistol." "monster_ct_sas_shotgun" : "CT - SAS - Shotgun" : "Spawns a SAS officer with a shotgun." "monster_ct_sas_smg" : "CT - SAS - MAC-10" : "Spawns a SAS officer with a MAC-10." "monster_ct_sas_sniperrifle" : "CT - SAS - Sniper" : "Spawns a SAS officer with a sniper rifle." "monster_terrorist_arctic_assaultrifle" : "T - Arctic - Assault rifle" : "Spawns a Arctic Terrorist with an assault rifle." "monster_terrorist_arctic_grenader" : "T - Arctic - Grenade" : "Spawns a Arctic Terrorist with a grenade." "monster_terrorist_arctic_kamakazi" : "T - Arctic - Kamakazi" : "Spawns a Arctic Terrorist with a bomb strapped to his chest." "monster_terrorist_arctic_law" : "T - Arctic - LAW" : "Spawns a Arctic Terrorist with a LAW." "monster_terrorist_arctic_machinegun" : "T - Arctic - M60" : "Spawns a Arctic Terrorist with a M60." "monster_terrorist_arctic_melee" : "T - Arctic - Melee" : "Spawns a Arctic Terrorist with a machete." "monster_terrorist_arctic_mp5" : "T - Arctic - MP5" : "Spawns a Arctic Terrorist with a MP5." "monster_terrorist_arctic_pistol" : "T - Arctic - Pistol" : "Spawns a Arctic Terrorist with a pistol." "monster_terrorist_arctic_shotgun" : "T - Arctic - Shotgun" : "Spawns a Arctic Terrorist with a shotgun." "monster_terrorist_arctic_smg" : "T - Arctic - TMP" : "Spawns a Arctic Terrorist with a TMP." "monster_terrorist_arctic_sniperrifle" : "T - Arctic - Sniper" : "Spawns a Arctic Terrorist with a sniper rifle." "monster_terrorist_desert_assaultrifle" : "T - Desert - Assault rifle" : "Spawns a Desert Terrorist with an assault rifle." "monster_terrorist_desert_grenader" : "T - Desert - Grenade" : "Spawns a Desert Terrorist with a grenade." "monster_terrorist_desert_kamakazi" : "T - Desert - Kamakazi" : "Spawns a Desert Terrorist with a bomb strapped to his chest." "monster_terrorist_desert_law" : "T - Desert - LAW" : "Spawns a Desert Terrorist with a LAW." "monster_terrorist_desert_machinegun" : "T - Desert - M60" : "Spawns a Desert Terrorist with a M60." "monster_terrorist_desert_melee" : "T - Desert - Melee" : "Spawns a Desert Terrorist with a machete." "monster_terrorist_desert_mp5" : "T - Desert - MP5" : "Spawns a Desert Terrorist with a MP5." "monster_terrorist_desert_pistol" : "T - Desert - Pistol" : "Spawns a Desert Terrorist with a pistol." "monster_terrorist_desert_shotgun" : "T - Desert - Shotgun" : "Spawns a Desert Terrorist with a shotgun." "monster_terrorist_desert_smg" : "T - Desert - TMP" : "Spawns a Desert Terrorist with a TMP." "monster_terrorist_desert_sniperrifle" : "T - Desert - Sniper" : "Spawns a Desert Terrorist with a sniper rifle." "monster_terrorist_russian_assaultrifle" : "T - Russian - Assault rifle" : "Spawns a Russian Terrorist with an assault rifle." "monster_terrorist_russian_grenader" : "T - Russian - Grenade" : "Spawns a Russian Terrorist with a grenade." "monster_terrorist_russian_kamakazi" : "T - Russian - Kamakazi" : "Spawns a Russian Terrorist with a bomb strapped to his chest." "monster_terrorist_russian_law" : "T - Russian - LAW" : "Spawns a Russian Terrorist with a LAW." "monster_terrorist_russian_machinegun" : "T - Russian - M60" : "Spawns a Russian Terrorist with a M60." "monster_terrorist_russian_melee" : "T - Russian - Melee" : "Spawns a Russian Terrorist with a machete." "monster_terrorist_russian_mp5" : "T - Russian - MP5" : "Spawns a Russian Terrorist with a MP5." "monster_terrorist_russian_pistol" : "T - Russian - Pistol" : "Spawns a Russian Terrorist with a pistol." "monster_terrorist_russian_shotgun" : "T - Russian - Shotgun" : "Spawns a Russian Terrorist with a shotgun." "monster_terrorist_russian_smg" : "T - Russian - TMP" : "Spawns a Russian Terrorist with a TMP." "monster_terrorist_russian_sniperrifle" : "T - Russian - Sniper" : "Spawns a Russian Terrorist with a sniper rifle." "monster_terrorist_asian_assaultrifle" : "T - Asian - Assault rifle" : "Spawns an Asian Terrorist with an assault rifle." "monster_terrorist_asian_grenader" : "T - Asian - Grenade" : "Spawns an Asian Terrorist with a grenade." "monster_terrorist_asian_kamakazi" : "T - Asian - Kamakazi" : "Spawns an Asian Terrorist with a bomb strapped to his chest." "monster_terrorist_asian_law" : "T - Asian - LAW" : "Spawns an Asian Terrorist with a LAW." "monster_terrorist_asian_machinegun" : "T - Asian - M60" : "Spawns an Asian Terrorist with a M60." "monster_terrorist_asian_melee" : "T - Asian - Melee" : "Spawns an Asian Terrorist with a machete." "monster_terrorist_asian_mp5" : "T - Asian - MP5" : "Spawns an Asian Terrorist with a MP5." "monster_terrorist_asian_pistol" : "T - Asian - Pistol" : "Spawns an Asian Terrorist with a pistol." "monster_terrorist_asian_shotgun" : "T - Asian - Shotgun" : "Spawns an Asian Terrorist with a shotgun." "monster_terrorist_asian_smg" : "T - Asian - TMP" : "Spawns an Asian Terrorist with a TMP." "monster_terrorist_asian_sniperrifle" : "T - Asian - Sniper" : "Spawns an Asian Terrorist with a sniper rifle." "monster_terrorist_urban_assaultrifle" : "T - Urban - Assault rifle" : "Spawns a Urban Terrorist with an assault rifle." "monster_terrorist_urban_grenader" : "T - Urban - Grenade" : "Spawns a Urban Terrorist with a grenade." "monster_terrorist_urban_kamakazi" : "T - Urban - Kamakazi" : "Spawns a Urban Terrorist with a bomb strapped to his chest." "monster_terrorist_urban_law" : "T - Urban - LAW" : "Spawns a Urban Terrorist with a LAW." "monster_terrorist_urban_machinegun" : "T - Urban - M60" : "Spawns a Urban Terrorist with a M60." "monster_terrorist_urban_melee" : "T - Urban - Melee" : "Spawns a Urban Terrorist with a machete." "monster_terrorist_urban_mp5" : "T - Urban - MP5" : "Spawns a Urban Terrorist with a MP5." "monster_terrorist_urban_pistol" : "T - Urban - Pistol" : "Spawns a Urban Terrorist with a pistol." "monster_terrorist_urban_shotgun" : "T - Urban - Shotgun" : "Spawns a Urban Terrorist with a shotgun." "monster_terrorist_urban_smg" : "T - Urban - TMP" : "Spawns a Urban Terrorist with a TMP." "monster_terrorist_urban_sniperrifle" : "T - Urban - Sniper" : "Spawns a Urban Terrorist with a sniper rifle." "monster_terrorist_jungle_assaultrifle" : "T - Jungle - Assault rifle" : "Spawns a Jungle Terrorist with an assault rifle." "monster_terrorist_jungle_grenader" : "T - Jungle - Grenade" : "Spawns a Jungle Terrorist with a grenade." "monster_terrorist_jungle_kamakazi" : "T - Jungle - Kamakazi" : "Spawns a Jungle Terrorist with a bomb strapped to his chest." "monster_terrorist_jungle_law" : "T - Jungle - LAW" : "Spawns a Jungle Terrorist with a LAW." "monster_terrorist_jungle_machinegun" : "T - Jungle - M60" : "Spawns a Jungle Terrorist with a M60." "monster_terrorist_jungle_melee" : "T - Jungle - Melee" : "Spawns a Jungle Terrorist with a machete." "monster_terrorist_jungle_mp5" : "T - Jungle - MP5" : "Spawns a Jungle Terrorist with a MP5." "monster_terrorist_jungle_pistol" : "T - Jungle - Pistol" : "Spawns a Jungle Terrorist with a pistol." "monster_terrorist_jungle_shotgun" : "T - Jungle - Shotgun" : "Spawns a Jungle Terrorist with a shotgun." "monster_terrorist_jungle_smg" : "T - Jungle - TMP" : "Spawns a Jungle Terrorist with a TMP." "monster_terrorist_jungle_sniperrifle" : "T - Jungle - Sniper" : "Spawns a Jungle Terrorist with a sniper rifle." ] ] @PointClass studio() base(Monster, Classtype, ModelFile) size(-16 -16 -36, 16 16 36) = monster_generic : "Generic Script Monster: Used to spawn models for use with scripted sequences." [ spawnflags(flags) = [ 4 : "Not solid" : 0 : "Make the monster non-solid." ] health(integer) : "Health" : : "Input the amount of health this entity should have. Useful if you have this monster_generic as an objective and want to 'kill' it." sequencename(string) : "Animation" : : "Defines the animation to use." deathanim(string) : "Death Animation Name" : : "input the death animation that this entity should have. It will play this animation upon death (Use SOLOKILLERS HLMV for the name of the animation you want to use)." ] @PointClass base(Monster) = monster_tripmine : "Active Tripmine: Creates a tripmine. Tripmines explode when someone or something crosses their laser beam. To place it correctly, the entity's origin (center) must be between 8 to 31 units from the surface, at an angle opposite its surface." [ spawnflags(flags) = [ 1 : "Instant On" : 1 : "The laser beam is on from level start." ] ] @BaseClass = Turrets [ maxsleep(integer) : "Time Before Deactivating" : : "Time to auto-deactivation when no enemies are tracked." searchspeed(integer) : "Search Speed" : : "Rate of speed that the turret rotates at when navigating to enemies." turnrate(integer) : "Turn Rate" : : "The rate which the turret turns to target the player." orientation(Choices) : "Orientation" : 0 : "Choose the orientation of the turret. Options are:" = [ 0 : "Floor Mount" : "A floor mounted version. Use this on floors." 1 : "Ceiling Mount" : "A ceiling mounted version. Use this on ceilings." ] spawnflags(flags) = [ 32 : "Autostart" : 0 : "The turret is active and deployed from level start." 64 : "Start Inactive" : 0 : "The turret starts in a inactive state from level start." ] ] @PointClass base(Monster, Turrets) studio("models/miniturret.mdl") = monster_miniturret : "Mini Auto Turret: The smaller brother of the monster_turret. Fires 9mm rounds." [] @PointClass base(Monster, Turrets) studio("models/turret.mdl") = monster_turret : "Turret: The big brother of the monster_miniturret. Fires 12mm rounds." [] @PointClass base(Monster, Turrets) studio("models/sentry.mdl") = monster_sentry : "Sentry: A small, portable sentry gun. For some reason the sounds for this aren't precached properly." [] @PointClass base(Monster, Angles) studio("models/roach.mdl") = monster_cockroach : "Cockroach: Cockroaches scurry around in the dark, looking for things to eat. They are easily scared. Stepping on them will kill them. A useful entity to make a place feel more... alive." [] @PointClass base(Monster, Angles) studio("models/bigrat.mdl") = monster_rat : "Rat: Spawns a rat. Doesnt do much at all." [] @PointClass base(Monster, Angles, ModelFile) size(-16 -16 0, 16 16 72) studio() = monster_furniture : "Monster Furniture" [] @PointClass base(PlayerClass, Monster, ModelFile) = monster_hostage : "Hostage: Spawns in a hostage." [ rescuetarget(target_destination) : "Rescue Target" : : "Set a target to trigger when the hostage is rescued. If there is more than 1 hostage in the map then set the countdown for the trigger_counter to the amount of hostages needed to be rescued before the trigger will happen" //rescueanim(string) : "Rescue animation" : : "Code suggests this works, but it seems to not trigger on rescue." noautoremove(choices) : "Auto Remove on Rescue" : 0 : "Removes the hostage from the game on rescue (disappears completely)." = [ 0 : "Remove" 1 : "Don't remove" ] spawnflags(flags) = [ 4 : "(?)" : 0 : "Not sure what this does." ] ] @PointClass studio() base(Monster, Classtype, ModelFile) = monster_npc : "NPC: Spawns a generic NPC that can follow and give you a one time health shot. Very similar to a monster_scientist from HL1. Model can be changed." [ model(studio) : "Model" : "models/npc-scientist.mdl" : "Select an Model file to use." fleeondanger(choices) : "Flee On Danger" : : "Tells the monster to flee when danger is around. This might just be for monster_npc" = [ 0 : "No" 1 : "Yes" ] cower(choices) : "Cower" : : "Tells the monster that it can cower. This might just be for monster_npc" = [ 0 : "No" 1 : "Yes" ] provoke(choices) : "Provoke" : : "This might just be for monster_npc. Could also provoke CT or T into killing the player." = [ 0 : "No" 1 : "Yes" ] ] @PointClass studio() base(Monster, Classtype, ModelFile) = monster_sitting_npc : "Sitting NPC: Spawns a sitting NPC. Similar to the monster_sitting_scientist from HL1. Model can't be changed. " [] @PointClass studio() size(-16 -16 0, 16 16 72) color(255 255 255) base(ModelFile) = monster_npc_dead : "Dead NPC: Spawns a dead NPC. Bleeds when shot but doesn't do much. Model can be changed." [ pose(Choices) : "Pose" : "" : "Choose a basic pose for the model to take." = [ 0 : "On back" 1 : "Seated" 2 : "On stomach" 3 : "On Table" ] deadanim(integer) : "Custom death animation pose" : "" : "Input the name of a custom animation to use. It's recommended that the animation be in a dead pose on the 1st frame." ] //////////////////////////////////////////////////////////////////////////////// // CT ENTITIES //////////////////////////////////////////////////////////////////////////////// // CT has less entities // This is because you could just change both the LANGAUGE value and the MODEL value to Kidotai //////////////////////////////////////////////////////////////////////////////// @PointClass studio("models/gsg9.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_gsg9 [] @PointClass studio("models/gsg9.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_gsg9_assaultrifle : "CT - GSG9 - Assault Rifle" [] @PointClass studio("models/gsg9.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_gsg9_grenader : "CT - GSG9 - Grenadier" [] @PointClass studio("models/gsg9.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_gsg9_law : "CT - GSG9 - M72 LAW" [] @PointClass studio("models/gsg9.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_gsg9_machinegun : "CT - GSG9 - Machine Gun" [] @PointClass studio("models/gsg9.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_gsg9_mp5 : "CT - GSG9 - MP5" [] @PointClass studio("models/gsg9.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_gsg9_pistol : "CT - GSG9 - Pistol" [] @PointClass studio("models/gsg9.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_gsg9_shotgun : "CT - GSG9 - Shotgun" [] @PointClass studio("models/gsg9.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_gsg9_smg : "CT - GSG9 - SMG" [] @PointClass studio("models/gsg9.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_gsg9_sniperrifle : "CT - GSG9 - Sniper Rifle" [] @PointClass studio("models/gign.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_gign [] @PointClass studio("models/gign.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_gign_assaultrifle : "CT - GIGN - Assault Rifle" [] @PointClass studio("models/gign.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_gign_grenader : "CT - GIGN - Grenadier" [] @PointClass studio("models/gign.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_gign_law : "CT - GIGN - M72 LAW" [] @PointClass studio("models/gign.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_gign_machinegun : "CT - GIGN - Machine Gun" [] @PointClass studio("models/gign.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_gign_mp5 : "CT - GIGN - MP5" [] @PointClass studio("models/gign.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_gign_pistol : "CT - GIGN - Pistol" [] @PointClass studio("models/gign.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_gign_shotgun : "CT - GIGN - Shotgun" [] @PointClass studio("models/gign.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_gign_smg : "CT - GIGN - SMG" [] @PointClass studio("models/gign.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_gign_sniperrifle : "CT - GIGN - Sniper Rifle" [] @PointClass studio("models/spetsnaz.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_spetsnaz [] @PointClass studio("models/spetsnaz.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_spetsnaz_assaultrifle : "CT - Spetsnaz - Assault Rifle" [] @PointClass studio("models/spetsnaz.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_spetsnaz_grenader : "CT - Spetsnaz - Grenadier" [] @PointClass studio("models/spetsnaz.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_spetsnaz_law : "CT - Spetsnaz - M72 LAW" [] @PointClass studio("models/spetsnaz.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_spetsnaz_machinegun : "CT - Spetsnaz - Machine Gun" [] @PointClass studio("models/spetsnaz.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_spetsnaz_mp5 : "CT - Spetsnaz - MP5" [] @PointClass studio("models/spetsnaz.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_spetsnaz_pistol : "CT - Spetsnaz - Pistol" [] @PointClass studio("models/spetsnaz.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_spetsnaz_shotgun : "CT - Spetsnaz - Shotgun" [] @PointClass studio("models/spetsnaz.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_spetsnaz_smg : "CT - Spetsnaz - SMG" [] @PointClass studio("models/spetsnaz.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_spetsnaz_sniperrifle : "CT - Spetsnaz - Sniper Rifle" [] @PointClass studio("models/seal.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_swat [] @PointClass studio("models/seal.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_swat_assaultrifle : "CT - SWAT - Assault Rifle" [] @PointClass studio("models/seal.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_swat_grenader : "CT - SWAT - Grenadier" [] @PointClass studio("models/seal.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_swat_law : "CT - SWAT - M72 LAW"[ ] @PointClass studio("models/seal.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_swat_machinegun : "CT - SWAT - Machine Gun" [] @PointClass studio("models/seal.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_swat_mp5 : "CT - SWAT - MP5" [] @PointClass studio("models/seal.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_swat_pistol : "CT - SWAT - Pistol" [] @PointClass studio("models/seal.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_swat_shotgun : "CT - SWAT - Shotgun" [] @PointClass studio("models/seal.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_swat_smg : "CT - SWAT - SMG" [] @PointClass studio("models/seal.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_swat_sniperrifle : "CT - SWAT - Sniper Rifle" [] @PointClass studio("models/sas.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_counter_terrorist_sas [] @PointClass studio("models/sas.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_sas_assaultrifle : "CT - SAS - Assault Rifle" [] @PointClass studio("models/sas.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_sas_grenader : "CT - SAS - Grenadier" [] @PointClass studio("models/sas.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_sas_law : "CT - SAS - M72 LAW"[ ] @PointClass studio("models/sas.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_sas_machinegun : "CT - SAS - Machine Gun" [] @PointClass studio("models/sas.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_sas_mp5 : "CT - SAS - MP5" [] @PointClass studio("models/sas.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_sas_pistol : "CT - SAS - Pistol" [] @PointClass studio("models/sas.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_sas_shotgun : "CT - SAS - Shotgun" [] @PointClass studio("models/sas.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_sas_smg : "CT - SAS - SMG" [] @PointClass studio("models/sas.mdl") size(-16 -16 0, 16 16 72) color(0 0 255) base(Monster, Classtype, ModelFile) = monster_ct_sas_sniperrifle : "CT - SAS - Sniper Rifle" [] //////////////////////////////////////////////////////////////////////////////// // T ENTITIES //////////////////////////////////////////////////////////////////////////////// (Target, Targetname, RenderFields, Angles) @PointClass studio("models/arctic.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_arctic_assaultrifle : "Terrorist - Arctic - Assault Rifle" [] @PointClass studio("models/arctic.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile, Grenadier) = monster_terrorist_arctic_grenader : "Terrorist - Arctic - Grenadier" [] @PointClass studio("models/arctic.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_arctic_kamakazi : "Terrorist - Arctic - Kamakazi" [] @PointClass studio("models/arctic.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_arctic_law : "Terrorist - Arctic - M72 LAW" [] @PointClass studio("models/arctic.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_arctic_machinegun : "Terrorist - Arctic - Machine Gun" [] @PointClass studio("models/arctic.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_arctic_melee : "Terrorist - Arctic - Melee" [] @PointClass studio("models/arctic.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_arctic_mp5 : "Terrorist - Arctic - MP5" [] @PointClass studio("models/arctic.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_arctic_pistol : "Terrorist - Arctic - Pistol" [] @PointClass studio("models/arctic.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_arctic_shotgun : "Terrorist - Arctic - Shotgun" [] @PointClass studio("models/arctic.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_arctic_smg : "Terrorist - Arctic - SMG" [] @PointClass studio("models/arctic.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_arctic_sniperrifle : "Terrorist - Arctic - Sniper Rifle" [] @PointClass studio("models/leet.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_desert_assaultrifle : "Terrorist - Desert - Assault Rifle" [] @PointClass studio("models/leet.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile, Grenadier) = monster_terrorist_desert_grenader : "Terrorist - Desert - Grenadier" [] @PointClass studio("models/leet.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_desert_kamakazi : "Terrorist - Desert - Kamakazi" [] @PointClass studio("models/leet.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_desert_law : "Terrorist - Desert - M72 LAW" [] @PointClass studio("models/leet.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_desert_machinegun : "Terrorist - Desert - Machine Gun" [] @PointClass studio("models/leet.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_desert_melee : "Terrorist - Desert - Melee" [] @PointClass studio("models/leet.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_desert_mp5 : "Terrorist - Desert - MP5" [] @PointClass studio("models/leet.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_desert_pistol : "Terrorist - Desert - Pistol" [] @PointClass studio("models/leet.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_desert_shotgun : "Terrorist - Desert - Shotgun" [] @PointClass studio("models/leet.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_desert_smg : "Terrorist - Desert - SMG" [] @PointClass studio("models/leet.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_desert_sniperrifle : "Terrorist - Desert - Sniper Rifle" [] @PointClass studio("models/guerilla.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_jungle_assaultrifle : "Terrorist - Jungle - Assault Rifle" [] @PointClass studio("models/guerilla.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile, Grenadier) = monster_terrorist_jungle_grenader : "Terrorist - Jungle - Grenadier" [] @PointClass studio("models/guerilla.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_jungle_kamakazi : "Terrorist - Jungle - Kamakazi" [] @PointClass studio("models/guerilla.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_jungle_law : "Terrorist - Jungle - M72 LAW" [] @PointClass studio("models/guerilla.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_jungle_machinegun : "Terrorist - Jungle - Machine Gun" [] @PointClass studio("models/guerilla.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_jungle_melee : "Terrorist - Jungle - Melee" [] @PointClass studio("models/guerilla.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_jungle_mp5 : "Terrorist - Jungle - MP5" [] @PointClass studio("models/guerilla.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_jungle_pistol : "Terrorist - Jungle - Pistol" [] @PointClass studio("models/guerilla.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_jungle_shotgun : "Terrorist - Jungle - Shotgun" [] @PointClass studio("models/guerilla.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_jungle_smg : "Terrorist - Jungle - SMG" [] @PointClass studio("models/guerilla.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_jungle_sniperrifle : "Terrorist - Jungle - Sniper Rifle" [] @PointClass studio("models/terror.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_russian_assaultrifle : "Terrorist - Russian - Assault Rifle" [] @PointClass studio("models/terror.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile, Grenadier) = monster_terrorist_russian_grenader : "Terrorist - Russian - Grenadier" [] @PointClass studio("models/terror.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_russian_kamakazi : "Terrorist - Russian - Kamakazi" [] @PointClass studio("models/terror.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_russian_law : "Terrorist - Russian - M72 LAW" [] @PointClass studio("models/terror.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_russian_machinegun : "Terrorist - Russian - Machine Gun" [] @PointClass studio("models/terror.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_russian_melee : "Terrorist - Russian - Melee" [] @PointClass studio("models/terror.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_russian_mp5 : "Terrorist - Russian - MP5" [] @PointClass studio("models/terror.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_russian_pistol : "Terrorist - Russian - Pistol" [] @PointClass studio("models/terror.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_russian_shotgun : "Terrorist - Russian - Shotgun" [] @PointClass studio("models/terror.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_russian_smg : "Terrorist - Russian - SMG" [] @PointClass studio("models/terror.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_russian_sniperrifle : "Terrorist - Russian - Sniper Rifle" [] @PointClass studio("models/asian.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_asian_assaultrifle : "Terrorist - Asian - Assault Rifle" [] @PointClass studio("models/asian.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile, Grenadier) = monster_terrorist_asian_grenader : "Terrorist - Asian - Grenadier" [] @PointClass studio("models/asian.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_asian_kamakazi : "Terrorist - Asian - Kamakazi" [] @PointClass studio("models/asian.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_asian_law : "Terrorist - Asian - M72 LAW" [] @PointClass studio("models/asian.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_asian_machinegun : "Terrorist - Asian - Machine Gun" [] @PointClass studio("models/asian.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_asian_melee : "Terrorist - Asian - Melee" [] @PointClass studio("models/asian.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_asian_mp5 : "Terrorist - Asian - MP5" [] @PointClass studio("models/asian.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_asian_pistol : "Terrorist - Asian - Pistol" [] @PointClass studio("models/asian.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_asian_shotgun : "Terrorist - Asian - Shotgun" [] @PointClass studio("models/asian.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_asian_smg : "Terrorist - Asian - SMG" [] @PointClass studio("models/asian.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_asian_sniperrifle : "Terrorist - Asian - Sniper Rifle" [] @PointClass studio("models/militia.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_urban_assaultrifle : "Terrorist - Urban - Assault Rifle" [] @PointClass studio("models/militia.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile, Grenadier) = monster_terrorist_urban_grenader : "Terrorist - Urban - Grenadier" [] @PointClass studio("models/militia.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_urban_kamakazi : "Terrorist - Urban - Kamakazi" [] @PointClass studio("models/militia.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_urban_law : "Terrorist - Urban - M72 LAW" [] @PointClass studio("models/militia.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_urban_machinegun : "Terrorist - Urban - Machine Gun" [] @PointClass studio("models/militia.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_urban_melee : "Terrorist - Urban - Melee" [] @PointClass studio("models/militia.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_urban_mp5 : "Terrorist - Urban - MP5" [] @PointClass studio("models/militia.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_urban_pistol : "Terrorist - Urban - Pistol" [] @PointClass studio("models/militia.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_urban_shotgun : "Terrorist - Urban - Shotgun" [] @PointClass studio("models/militia.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_urban_smg : "Terrorist - Urban - SMG" [] @PointClass studio("models/militia.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_urban_sniperrifle : "Terrorist - Urban - Sniper Rifle" [] @PointClass iconsprite("sprites/Hammer/MonsterMaker.spr") color(255 0 0) base(Monster, Classtype, Angles) size(-16 -16 -16, 16 16 16) = monstermaker : "Monster Maker: Makes monster or anything that can be spawned. From enemies to weapons." [ target(target_destination) : "Target On Release" : : "Event to trigger when a monster is spawned." monstertype(choices) : "Monster Type" : "" : "The entity name of the monster to be spawned. For example, 'monster_ct_swat' would spawn a CT with the swat faction. Things like 'item_xyz', 'weapon_xyz' and 'ammo_xyz' will also work." = [ "" : "None" : "Nothing." "monster_ct_gign_assaultrifle" : "CT - GIGN - Assault rifle" : "Spawns a GIGN officer with an assault rifle." "monster_ct_gign_grenader" : "CT - GIGN - Grenade" : "Spawns a GIGN officer with a grenade." "monster_ct_gign_law" : "CT - GIGN - LAW" : "Spawns a GIGN officer with a LAW." "monster_ct_gign_machinegun" : "CT - GIGN - M60" : "Spawns a GIGN officer with a M60." "monster_ct_gign_mp5" : "CT - GIGN - MP5" : "Spawns a GIGN officer with a MP5." "monster_ct_gign_pistol" : "CT - GIGN - Pistol" : "Spawns a GIGN officer with a pistol." "monster_ct_gign_shotgun" : "CT - GIGN - Shotgun" : "Spawns a GIGN officer with a shotgun." "monster_ct_gign_smg" : "CT - GIGN - MAC-10" : "Spawns a GIGN officer with a MAC-10." "monster_ct_gign_sniperrifle" : "CT - GIGN - Sniper" : "Spawns a GIGN officer with a sniper rifle." "monster_ct_gsg9_assaultrifle" : "CT - GSG9 - Assault rifle" : "Spawns a GSG9 officer with an assault rifle." "monster_ct_gsg9_grenader" : "CT - GSG9 - Grenade" : "Spawns a GSG9 officer with a grenade." "monster_ct_gsg9_law" : "CT - GSG9 - LAW" : "Spawns a GSG9 officer with a LAW." "monster_ct_gsg9_machinegun" : "CT - GSG9 - M60" : "Spawns a GSG9 officer with a M60." "monster_ct_gsg9_mp5" : "CT - GSG9 - MP5" : "Spawns a GSG9 officer with a MP5." "monster_ct_gsg9_pistol" : "CT - GSG9 - Pistol" : "Spawns a GSG9 officer with a pistol." "monster_ct_gsg9_shotgun" : "CT - GSG9 - Shotgun" : "Spawns a GSG9 officer with a shotgun." "monster_ct_gsg9_smg" : "CT - GSG9 - MAC-10" : "Spawns a GSG9 officer with a MAC-10." "monster_ct_gsg9_sniperrifle" : "CT - GSG9 - Sniper" : "Spawns a GSG9 officer with a sniper rifle." "monster_ct_spetsnaz_assaultrifle" : "CT - Spetsnaz - Assault rifle" : "Spawns a Spetsnaz officer with an assault rifle." "monster_ct_spetsnaz_grenader" : "CT - Spetsnaz - Grenade" : "Spawns a Spetsnaz officer with a grenade." "monster_ct_spetsnaz_law" : "CT - Spetsnaz - LAW" : "Spawns a Spetsnaz officer with a LAW." "monster_ct_spetsnaz_machinegun" : "CT - Spetsnaz - M60" : "Spawns a Spetsnaz officer with a M60." "monster_ct_spetsnaz_mp5" : "CT - Spetsnaz - MP5" : "Spawns a Spetsnaz officer with a MP5." "monster_ct_spetsnaz_pistol" : "CT - Spetsnaz - Pistol" : "Spawns a Spetsnaz officer with a pistol." "monster_ct_spetsnaz_shotgun" : "CT - Spetsnaz - Shotgun" : "Spawns a Spetsnaz officer with a shotgun." "monster_ct_spetsnaz_smg" : "CT - Spetsnaz - MAC-10" : "Spawns a Spetsnaz officer with a MAC-10." "monster_ct_spetsnaz_sniperrifle" : "CT - Spetsnaz - Sniper" : "Spawns a Spetsnaz officer with a sniper rifle." "monster_ct_swat_assaultrifle" : "CT - SWAT - Assault rifle" : "Spawns a SWAT officer with an assault rifle." "monster_ct_swat_grenader" : "CT - SWAT - Grenade" : "Spawns a SWAT officer with a grenade." "monster_ct_swat_law" : "CT - SWAT - LAW" : "Spawns a SWAT officer with a LAW." "monster_ct_swat_machinegun" : "CT - SWAT - M60" : "Spawns a SWAT officer with a M60." "monster_ct_swat_mp5" : "CT - SWAT - MP5" : "Spawns a SWAT officer with a MP5." "monster_ct_swat_pistol" : "CT - SWAT - Pistol" : "Spawns a SWAT officer with a pistol." "monster_ct_swat_shotgun" : "CT - SWAT - Shotgun" : "Spawns a SWAT officer with a shotgun." "monster_ct_swat_smg" : "CT - SWAT - MAC-10" : "Spawns a SWAT officer with a MAC-10." "monster_ct_swat_sniperrifle" : "CT - SWAT - Sniper" : "Spawns a SWAT officer with a sniper rifle." "monster_ct_sas_assaultrifle" : "CT - SAS - Assault rifle" : "Spawns a SAS officer with an assault rifle." "monster_ct_sas_grenader" : "CT - SAS - Grenade" : "Spawns a SAS officer with a grenade." "monster_ct_sas_law" : "CT - SAS - LAW" : "Spawns a SAS officer with a LAW." "monster_ct_sas_machinegun" : "CT - SAS - M60" : "Spawns a SAS officer with a M60." "monster_ct_sas_mp5" : "CT - SAS - MP5" : "Spawns a SAS officer with a MP5." "monster_ct_sas_pistol" : "CT - SAS - Pistol" : "Spawns a SAS officer with a pistol." "monster_ct_sas_shotgun" : "CT - SAS - Shotgun" : "Spawns a SAS officer with a shotgun." "monster_ct_sas_smg" : "CT - SAS - MAC-10" : "Spawns a SAS officer with a MAC-10." "monster_ct_sas_sniperrifle" : "CT - SAS - Sniper" : "Spawns a SAS officer with a sniper rifle." "monster_terrorist_arctic_assaultrifle" : "T - Arctic - Assault rifle" : "Spawns a Arctic Terrorist with an assault rifle." "monster_terrorist_arctic_grenader" : "T - Arctic - Grenade" : "Spawns a Arctic Terrorist with a grenade." "monster_terrorist_arctic_kamakazi" : "T - Arctic - Kamakazi" : "Spawns a Arctic Terrorist with a bomb strapped to his chest." "monster_terrorist_arctic_law" : "T - Arctic - LAW" : "Spawns a Arctic Terrorist with a LAW." "monster_terrorist_arctic_machinegun" : "T - Arctic - M60" : "Spawns a Arctic Terrorist with a M60." "monster_terrorist_arctic_melee" : "T - Arctic - Melee" : "Spawns a Arctic Terrorist with a machete." "monster_terrorist_arctic_mp5" : "T - Arctic - MP5" : "Spawns a Arctic Terrorist with a MP5." "monster_terrorist_arctic_pistol" : "T - Arctic - Pistol" : "Spawns a Arctic Terrorist with a pistol." "monster_terrorist_arctic_shotgun" : "T - Arctic - Shotgun" : "Spawns a Arctic Terrorist with a shotgun." "monster_terrorist_arctic_smg" : "T - Arctic - TMP" : "Spawns a Arctic Terrorist with a TMP." "monster_terrorist_arctic_sniperrifle" : "T - Arctic - Sniper" : "Spawns a Arctic Terrorist with a sniper rifle." "monster_terrorist_desert_assaultrifle" : "T - Desert - Assault rifle" : "Spawns a Desert Terrorist with an assault rifle." "monster_terrorist_desert_grenader" : "T - Desert - Grenade" : "Spawns a Desert Terrorist with a grenade." "monster_terrorist_desert_kamakazi" : "T - Desert - Kamakazi" : "Spawns a Desert Terrorist with a bomb strapped to his chest." "monster_terrorist_desert_law" : "T - Desert - LAW" : "Spawns a Desert Terrorist with a LAW." "monster_terrorist_desert_machinegun" : "T - Desert - M60" : "Spawns a Desert Terrorist with a M60." "monster_terrorist_desert_melee" : "T - Desert - Melee" : "Spawns a Desert Terrorist with a machete." "monster_terrorist_desert_mp5" : "T - Desert - MP5" : "Spawns a Desert Terrorist with a MP5." "monster_terrorist_desert_pistol" : "T - Desert - Pistol" : "Spawns a Desert Terrorist with a pistol." "monster_terrorist_desert_shotgun" : "T - Desert - Shotgun" : "Spawns a Desert Terrorist with a shotgun." "monster_terrorist_desert_smg" : "T - Desert - TMP" : "Spawns a Desert Terrorist with a TMP." "monster_terrorist_desert_sniperrifle" : "T - Desert - Sniper" : "Spawns a Desert Terrorist with a sniper rifle." "monster_terrorist_russian_assaultrifle" : "T - Russian - Assault rifle" : "Spawns a Russian Terrorist with an assault rifle." "monster_terrorist_russian_grenader" : "T - Russian - Grenade" : "Spawns a Russian Terrorist with a grenade." "monster_terrorist_russian_kamakazi" : "T - Russian - Kamakazi" : "Spawns a Russian Terrorist with a bomb strapped to his chest." "monster_terrorist_russian_law" : "T - Russian - LAW" : "Spawns a Russian Terrorist with a LAW." "monster_terrorist_russian_machinegun" : "T - Russian - M60" : "Spawns a Russian Terrorist with a M60." "monster_terrorist_russian_melee" : "T - Russian - Melee" : "Spawns a Russian Terrorist with a machete." "monster_terrorist_russian_mp5" : "T - Russian - MP5" : "Spawns a Russian Terrorist with a MP5." "monster_terrorist_russian_pistol" : "T - Russian - Pistol" : "Spawns a Russian Terrorist with a pistol." "monster_terrorist_russian_shotgun" : "T - Russian - Shotgun" : "Spawns a Russian Terrorist with a shotgun." "monster_terrorist_russian_smg" : "T - Russian - TMP" : "Spawns a Russian Terrorist with a TMP." "monster_terrorist_russian_sniperrifle" : "T - Russian - Sniper" : "Spawns a Russian Terrorist with a sniper rifle." "monster_terrorist_asian_assaultrifle" : "T - Asian - Assault rifle" : "Spawns an Asian Terrorist with an assault rifle." "monster_terrorist_asian_grenader" : "T - Asian - Grenade" : "Spawns an Asian Terrorist with a grenade." "monster_terrorist_asian_kamakazi" : "T - Asian - Kamakazi" : "Spawns an Asian Terrorist with a bomb strapped to his chest." "monster_terrorist_asian_law" : "T - Asian - LAW" : "Spawns an Asian Terrorist with a LAW." "monster_terrorist_asian_machinegun" : "T - Asian - M60" : "Spawns an Asian Terrorist with a M60." "monster_terrorist_asian_melee" : "T - Asian - Melee" : "Spawns an Asian Terrorist with a machete." "monster_terrorist_asian_mp5" : "T - Asian - MP5" : "Spawns an Asian Terrorist with a MP5." "monster_terrorist_asian_pistol" : "T - Asian - Pistol" : "Spawns an Asian Terrorist with a pistol." "monster_terrorist_asian_shotgun" : "T - Asian - Shotgun" : "Spawns an Asian Terrorist with a shotgun." "monster_terrorist_asian_smg" : "T - Asian - TMP" : "Spawns an Asian Terrorist with a TMP." "monster_terrorist_asian_sniperrifle" : "T - Asian - Sniper" : "Spawns an Asian Terrorist with a sniper rifle." "monster_terrorist_urban_assaultrifle" : "T - Urban - Assault rifle" : "Spawns a Urban Terrorist with an assault rifle." "monster_terrorist_urban_grenader" : "T - Urban - Grenade" : "Spawns a Urban Terrorist with a grenade." "monster_terrorist_urban_kamakazi" : "T - Urban - Kamakazi" : "Spawns a Urban Terrorist with a bomb strapped to his chest." "monster_terrorist_urban_law" : "T - Urban - LAW" : "Spawns a Urban Terrorist with a LAW." "monster_terrorist_urban_machinegun" : "T - Urban - M60" : "Spawns a Urban Terrorist with a M60." "monster_terrorist_urban_melee" : "T - Urban - Melee" : "Spawns a Urban Terrorist with a machete." "monster_terrorist_urban_mp5" : "T - Urban - MP5" : "Spawns a Urban Terrorist with a MP5." "monster_terrorist_urban_pistol" : "T - Urban - Pistol" : "Spawns a Urban Terrorist with a pistol." "monster_terrorist_urban_shotgun" : "T - Urban - Shotgun" : "Spawns a Urban Terrorist with a shotgun." "monster_terrorist_urban_smg" : "T - Urban - TMP" : "Spawns a Urban Terrorist with a TMP." "monster_terrorist_urban_sniperrifle" : "T - Urban - Sniper" : "Spawns a Urban Terrorist with a sniper rifle." "monster_terrorist_jungle_assaultrifle" : "T - Jungle - Assault rifle" : "Spawns a Jungle Terrorist with an assault rifle." "monster_terrorist_jungle_grenader" : "T - Jungle - Grenade" : "Spawns a Jungle Terrorist with a grenade." "monster_terrorist_jungle_kamakazi" : "T - Jungle - Kamakazi" : "Spawns a Jungle Terrorist with a bomb strapped to his chest." "monster_terrorist_jungle_law" : "T - Jungle - LAW" : "Spawns a Jungle Terrorist with a LAW." "monster_terrorist_jungle_machinegun" : "T - Jungle - M60" : "Spawns a Jungle Terrorist with a M60." "monster_terrorist_jungle_melee" : "T - Jungle - Melee" : "Spawns a Jungle Terrorist with a machete." "monster_terrorist_jungle_mp5" : "T - Jungle - MP5" : "Spawns a Jungle Terrorist with a MP5." "monster_terrorist_jungle_pistol" : "T - Jungle - Pistol" : "Spawns a Jungle Terrorist with a pistol." "monster_terrorist_jungle_shotgun" : "T - Jungle - Shotgun" : "Spawns a Jungle Terrorist with a shotgun." "monster_terrorist_jungle_smg" : "T - Jungle - TMP" : "Spawns a Jungle Terrorist with a TMP." "monster_terrorist_jungle_sniperrifle" : "T - Jungle - Sniper" : "Spawns a Jungle Terrorist with a sniper rifle." ] netname(target_destination) : "Childrens' Name" : : "When the monster or NPC is spawned, whatever name is in this key will be given to the spawned monster or NPC." forcedtarget(target_destination) : "Forced Target" : : "Forces the monster to aggressively persue and kill what ever target name is input." spawnflags(flags) = [ 1 : "Start On" : 0 : "If this is enabled, the monstermaker will start on and start spawning as soon as the map loads." 2 : "PVS On/Off (NoImpl)" : 0 : "Potentially Visible Sets are used to accelerate the rendering of 3D environments. It is also related to NPCs. Refer to the notes section of this FGD" 4 : "Cyclic" : 0 : "HMM." 8 : "MonsterClip" : 0 : "If this is enabled, spawned monsters will not be able to pass through func_monsterclip brushes." ] monstercount(integer) : "Number of Monsters" : 1 : "The maximum number of entities to spawn (-1 = unlimited)." delay(integer) : "Frequency (-1 = on child death)" : 5 : "Delay, in seconds, between each monster being spawned. If 0, a new monster will only be spawned after the previous has been killed." m_imaxlivechildren(integer) : "Max live children (-1 = unlimited)" : 5 : "Maximum number of live children allowed at one time. Spawnings will be suspended until a monster dies. A value of 0 means infinite (obviously not recommended if delay is too low and monstercount is infinite)." spawnawake(choices) : "Spawn awake" : "" : "Spawns a monster that is 'awake', meaning that the AI is active. Not sure if this key is working properly." = [ 0 : "No" 1 : "Yes" ] dontspawninview(choices) : "Spawn in view" : 0 : "Choose if the monster can spawn inside the players view." = [ 0 : "Yes" 1 : "No" ] monstermodel(studio) : "Monster model" : "" : "The model that the monster spawned from the monstermaker will use." gagged(choices) : "Gagged" : "" : "Gags the idle sounds of the monster until angered." = [ 0 : "No" 1 : "Yes" ] fadespeed(integer) : "Fade Speed" : "" : "The speed at which bodies will fade out at. Higher number means faster fade." deathfadedelay(integer) : "Death Fade Delay" : "" : "The delay (in seconds) at which bodies will begin to fade at." deathfade(choices) : "Death Fade" : "" : "Choose if the body fades after death." = [ 0 : "No" 1 : "Yes" ] //model(studio) : "Model" : "" : "Select an Model file to use." body(integer) : "Body" : "" : "Input the value for the bodygroup to use. (Use SOLOKILLERS HLMV for the value)." skin(integer) : "Skin" : "" : "Input the value for the skin to use. (Use SOLOKILLERS HLMV for the value)." head(integer) : "Head" : "" : "Input the value for the head to use. (Use SOLOKILLERS HLMV for the value)." ] //////////////////////////////////////////////////////////////////////////////// // MULTI ENTITIES //////////////////////////////////////////////////////////////////////////////// @PointClass base(Targetname) color(255 128 0) iconsprite("sprites/Hammer/multi_manager.spr") = multi_manager : "MultiTarget Manager: This entity can activate several different events (including itself) at specific times. It can only be used when the SmartEdit option in the multi_manager's properties is disabled. To add targets, click 'Add' and enter the name of your first target entity in the 'Key' dialog, and a delay of activation in seconds as the 'Value', then click OK. Refer to the notes section of this FGD." [ spawnflags(flags) = [ 1 : "multithreaded" : 0 : "Refer to the notes section of this FGD." ] ] @PointClass base(Targetname, Target) color(128 255 128) iconsprite("sprites/Hammer/MultiSource.spr") = multisource : "Multisource: Refer to the notes section of this FGD." [ globalstate(string) : "Global State Master" : : "This is the name of the global variable (set by an env_global) that can be used to control the state of the multisource." ] //////////////////////////////////////////////////////////////////////////////// // PATH ENTITIES //////////////////////////////////////////////////////////////////////////////// @PointClass iconsprite("sprites/Hammer/PathCorner.spr") base(Targetname, Angles) size(16 16 16) color(247 181 82) = path_corner : "Pathing: Multiple path_corners form a path that can be followed by various moving entities, including some monsters and the func_train. The corresponding entity for func_tracktrain is path_track." [ spawnflags(flags) = [ 1 : "Wait for retrigger" : 0 : "If enabled, Moving entity will wait and will only continue when triggered." 2 : "Teleport" : 0 : "If enabled, makes a func_train entity teleport to the current path_corner." 4 : "Fire once" : 0 : "If enabled, will only fire its 'Fire On Pass' target once." ] target(target_destination) : "Next stop target" : : "Name of the next path_corner in the path." message(target_destination) : "Fire On Pass" : : "Trigger this event when this path_corner is passed by the entity using the path. May not work correctly." wait(integer) : "Wait here" : 0 : "Wait for this number of seconds before moving to next corner." speed(integer) : "New Train Speed" : 0 : "Speed of the train once it passes this path_corner." yaw_speed(integer) : "New Train rot. Speed" : 0 : "Overrides train rotation speed after reaching this point (degrees per seconds)." ] @PointClass iconsprite("sprites/Hammer/PathTrack.spr") base(Targetname) size(16 16 16) = path_track : "Train Track Path: " [ target(target_destination) : "Next stop target" : : "The name of the next path_track in the path." spawnflags(flags) = [ 1 : "Disabled" : 0 : "If enabled, train starts disabled. Trigger the path to enable it. The Branch Path key can't be used with this flag." 2 : "Fire once" : 0 : "If enabled, fires it's 'fire on pass' target once." 4 : "Branch Reverse" : 0 : "If enabled, swap the 'branch path' and the 'next target' key on level load." 8 : "Disable train" : 0 : "If enabled, disables the func_tracktrain when this point is reached." ] message(target_destination) : "Fire On Pass" : : "When a train passes this path_track it will trigger this event." altpath(target_destination) : "Branch Path" : : "The name of a secondary path_track. When a path_track is triggered, its Next Stop Target is replaced by its Branch Path value." netname(target_destination) : "Fire on dead end" : : "If this path_track is a dead-end, activate this event on reaching. If a path_track's Next Stop target is not defined, or if it has been triggered but has no branch path, it is considered a dead end." speed(integer) : "New Train Speed" : 0 : "As the train passes this point, this speed will be assigned to it." ] //////////////////////////////////////////////////////////////////////////////// // PLAYER ENTITIES //////////////////////////////////////////////////////////////////////////////// @PointClass iconsprite("sprites/Hammer/PlayerLoadSaved.spr") base(Targetname) = player_loadsaved : "Load Auto-Saved game: This entity triggers the game to load the last autosave (created with a trigger_autosave). Use this entity for when the player does something really naughty, preventing the game from continuing." [ duration(string) : "Fade Duration (seconds)" : "2" : "Sets how long the overlay should take to fade into its full effect." holdtime(string) : "Hold Fade (seconds)" : "0" : "Sets how long the overlay should stay on the screen at its full effect before turning itself off." renderamt(integer) : "Fade Alpha" : 255 : "he maximum alpha value (opacity) of the overlay. Scales from 0 (transparent) to 255 (opaque)." rendercolor(color255) : "Fade Color (R G B)" : "0 0 0" : "Sets the color of the overlay." messagetime(string) : "Show Message delay" : "0" : "The delay (in seconds) until the message is shown." message(string) : "Message To Display" : "When triggered, this message will be shown on screen." loadtime(string) : "Reload delay" : "0" : "The delay (in seconds) until the game reloads the last known autosave." ] @PointClass iconsprite("sprites/Hammer/PlayerWeaponStrip.spr") base(Targetname) size(-16 -16 -16, 16 16 16) = player_weaponstrip : "Strips player's weapons: When activated, this entity removes all the weapons that the player is carrying." [ item(Choices) : "Item to strip" : : "Specifies the item to strip from the players inventory" = [ "weapon_knife" : "Knife" "weapon_p228" : "P228" "weapon_glock18" : "Glock 18" "weapon_usp" : "USP" "weapon_fiveseven" : "Five-Seven" "weapon_elite" : "Elite Dual Pistols" "weapon_deagle" : "Desert Eagle" "weapon_ak47" : "AK47" "weapon_aug" : "AUG" "weapon_m4a1" : "M4A1" "weapon_sg552" : "SG552" "weapon_galil" : "Galil" "weapon_famas" : "Famas" "weapon_mac10" : "Mac-10" "weapon_p90" : "P90" "weapon_tmp" : "TMP" "weapon_ump45" : "UMP45" "weapon_mp5navy" : "MP5" "weapon_scout" : "Scout" "weapon_awp" : "AWP" "weapon_g3sg1" : "G3SG1" "weapon_sg550" : "SG550" "weapon_flashbang" : "Flash Grenade" "weapon_smokegrenade" : "Smoke Grenade" "weapon_hegrenade" : "HE Grenade" "weapon_laws" : "LAW" "weapon_m60" : "M60" "weapon_m249" : "M249" "weapon_xm1014" : "XM1014" "weapon_m3" : "M3" "weapon_shieldgun" : "Shield" "weapon_blowtorch" : "Blowtorch Tool" "weapon_briefcase" : "Briefcase Tool" "weapon_camera" : "Camera Tool" "weapon_fiberopticcamera" : "Fiber-Optic Camera Tool" "weapon_radiocontrolledbomb" : "Radio Bomb Tool" "weapon_radio" : "Radio Tool" ] ] //////////////////////////////////////////////////////////////////////////////// // SCRIPTED ENTITIES //////////////////////////////////////////////////////////////////////////////// @PointClass base(Targetname, Targetx) size(-16 -16 0, 16 16 72) color(255 0 255) = scripted_sentence : "Scripted Sentence: A scripted_sentence allows you to make a monster say something. Available sentence names can be found in the sound\sentences.txt file, or they can be scripted into a .SEQ file." [ spawnflags(flags) = [ 1 : "Fire Once" : 1 : "If enabled, the sentence can only be activated once." 2 : "Followers Only" : 0 : "If enabled, only monsters who follow the player can speak this dialog." 4 : "Interrupt Speech" : 1 : "If enabled, Override current speech on affected monster (including default lines)." 8 : "Concurrent" : 0 : "If enabled, allow other people to keep talking around the monster" ] sentence(string) : "Sentence Name" : "" : "Sentence to play. Make sure you preface the sentence with '!', For example !CT_MAD_AM0" entity(string) : "Speaker Type" : : "This is the name of the entity that says the sentence." duration(string) : "Sentence Time" : "3" : "How long the sentence lasts (in seconds)." radius(integer) : "Search Radius" : 512 : "If nothing is defined in the speaker type, it will search for an availible mouth to say the sentence." refire(string) : "Delay Before Refire" : "3" : "Time interval between sentence refiring." listener(string) : "Listener Type" : : "The name of entity the monster will look at when 'speaking' a sentence." volume(string) : "Volume 0-10" : "10" : "Sets the volume of the sound. Scales from 0 (completely silent) to 10 (maximum, default)." attenuation(Choices) : "Sound Radius" : 0 = [ 0 : "Small Radius" : "If enabled, the sound will be at maximum volume within a roughly 256 unit radius, fading out completely at around 512 units away." 1 : "Medium Radius" : "If enabled, the sound will be at maximum volume within a roughly 512 unit radius, fading out completely at around 768 units away." 2 : "Large Radius" : "If enabled, the sound will be at maximum volume within a roughly 768 unit radius, fading out completely at around 1280 units away." 3 : "Play Everywhere" : "If enabled, the sound will be heard throughout the entire map." ] ] @PointClass base(Targetname, Targetx, Angles) size(-16 -16 0, 16 16 72) color(255 0 255) flags (angle) = scripted_sequence : "Scripted Sequence: " [ m_iszEntity(string) : "Target Monster" : : "The name of the monster entity that this sequence affects. You can also input a monster type (monster_scientist, for example, but only one monster will be chosen to follow the sequence.)" m_iszPlay(string) : "Action Animation" : "" : "The name of the animation that will be performed by Target Monster." m_iszIdle(string) : "Idle Animation" : "" : "The name of an animation you want Target Monster to perform on a loop until the scripted_sequence is triggered. However, making use of the Idle Animation field will change the function of the entity. The monster will move at the start of the level ('Walk' and 'Run' movement types will not function as intended) and then perform their idle animation on a loop. When the scripted_sequence is triggered, the monster will perform their action animation." m_flRadius(integer) : "Search Radius" : 512 : "If you input a monster type into Target Monster, the entity will pick a monster within this radius of the entity to follow the sequence. If none are within the radius, the first monster to enter the radius will follow the sequence." m_flRepeat(integer) : "Repeat Rate ms (m_flRepeat)" : 0 : "Not sure what this does. Might not work." m_fMoveTo(choices) : "Move to Position" : 0 : "Sets how (or if) the monster moves before performing the animation. Options are:" = [ 0 : "No" : "The monster will not move or turn. It will perform the animation wherever it is." 1 : "Walk" : "The monster will walk to the scripted_sequence, then perform the animation." 2 : "Run" : "The monster will run to the scripted_sequence, then perform the animation." 4 : "Instantaneous" : "The monster will instantly warp to the location of the scripted_sequence and perform the animation." 5 : "No - Turn to Face" : "The monster will not move, but will turn to the scripted_sequence's angle before performing the animation." ] spawnflags(flags) = [ 4 : "Repeatable" : 0 : "If enabled, the sequence can be repeated more than once. Otherwise the entity will be removed once the sequence is complete." 8 : "Leave Corpse" : 0 : "If enabled, if the action animation is a death animation, causing the monster to die, the corpse will not fade out. Might not work." 16 : "Cancel on Alert" : 0 : "If enabled, if alerted, the monster will cancel all further scripted_sequences and attack the player." 32 : "No Interruptions" : 0 : "If enabled, the sequence cannot be interrupted. The monster will ignore damage until the sequence is complete, as with the aiscripted_sequence entity." 64 : "Override AI" : 0 : "If enabled, Forces the monster to start the sequence regardless of its state. With this set, the sequence will start even when the monster is under attack by something. Might not work." 128 : "No Script Movement" : 0 : "If enabled, when the sequence is completed, the monster will be placed back where the Action Animation started (if the animation would cause the monster to move)." ] ] //////////////////////////////////////////////////////////////////////////////// // SPEAKER ENTITY //////////////////////////////////////////////////////////////////////////////// @PointClass iconsprite("sprites/Hammer/speaker.spr") base(Targetname) = speaker : "Announcement Speaker: Creates a public announcement system or an ambient sound system that randomly plays sounds from the sentences.txt file, or they can be scripted into a .SEQ file." [ // e.g. ARAB_OUTSIDE_YELL message(choices) : "Sentence Group Name" :"": "The sentence group to randomly select sentences from. Use the choices or enter your own. For example: ARAB_OUTSIDE_YELL." = [ "COOM" : "Silly" : "Silly Announcements" "OFFICE_SFX" : "Office SFX" : "Typical office sounds." "arcticwind_gust" : "Arctic wind SFX" : "Wind sounds for windy places." "WILD" : "Wilderness SFX" : "Wind, birds and bees." "JUNGLE" : "Jungle SFX" : "Jungle and thunder." "ROCKET" : "Rocket SFX" : "Steam bursts." "FAR_WAR" : "Far warzone SFX" : "Far away shooting, exploding and jet sounds." "NEAR_WAR" : "Near warzone SFX" : "Near by shooting, exploding and jet sounds." "ARAB_OUTSIDE_YELL" : "Arabic yelling SFX" : "An arabic man yelling into a speaker." "ARAB_OUTSIDE_WAR" : "Arabic warzone SFX" : "Arabic warzone sounds, lots of shooting." "ARAB_HOUSE" : "Arabic house SFX" : "Kinda spooky. Has footsteps and a baby cry." "WIND_METALCREAK" : "Creaking metal SFX" : "Metal and wind, together." "FASTLINE_SPEAKER" : "English train announcer" : "Announcer that speaks english. Used in FASTLINE." "EURONITECITY_SPEAKER" : "European city SFX" : "Generic European town sounds. Bells and dogs." "WOODSTEPS" : "Wood steps SFX" : "Spooky reverberant footsteps on wood." "DESERT" : "Desert SFX" : "Desert sounds- wind, birds, sand etc." "CITYSLUM" : "City slum SFX" : "Traffic, gunshots, sirens etc." "WOODCREAK" : "Wood creak SFX" : "Spooky reverberant wood creaks." "LOST_JUNGLE" : "LOST Jungle SFX" : "More jungle birds." ] health(integer) : "Volume (10 = loudest)" : 5 : "Sets the volume of the sound. Scales from 0 (completely silent) to 10 (maximum)." spawnflags(flags) = [ 1 : "Start Silent" : 0 : "If enabled, the entity will have to be triggered to work." ] ] //////////////////////////////////////////////////////////////////////////////// // TRIGGER ENTITIES //////////////////////////////////////////////////////////////////////////////// @PointClass iconsprite("sprites/Hammer/TriggerAuto.spr") base(Targetx) = trigger_auto : "Trigger Auto: This entity fires its target the moment the map has loaded. Setting 'Delay before trigger' to something like 0.2 is a good idea, because it's possible for the trigger_auto to fire before the entity it targets has even been spawned." [ spawnflags(flags) = [ 1 : "Remove On fire" : 1 : "If this is set, the trigger_auto will be removed from the game after firing." ] globalstate(string) : "Global State to Read" : : "The name of a global variable (set by an env_global). This variable sets the state of the trigger_auto." triggerstate(choices) : "Trigger State" : 0 : "Sets the type of trigger the trigger_auto sends. Options are:" = [ 0 : "Off" 1 : "On" 2 : "Toggle" ] ] @SolidClass base(Targetname, Master) = trigger_autosave : "Trigger Auto-Save: When the player moves through the area covered by this entity, the game will be autosaved. This trigger only works once: it is removed when the auto-save occurs." [ spawnflags(flags) = [ 1 : "Use Only" : 0 : "If enabled, The entity cannot be triggered by the player walking into it, but must be triggered by another entity." ] ] //!TEST! @SolidClass base(Targetname, Target, Master) = trigger_zipline : "Trigger Zipline: Tiggers an animation and then teleports the player to the selected location. CASTLE> This one bugged out alot and stopped the flow of gameplay. We ended up scrapping the use of it in 1st level of High Rise and replaced it with a bridge. It was never fixed." [ // start(choices) : "Is start" : : "Start point of the zipline." = // [ // 0 : "No" // 1 : "Yes" // ] start(integer) : "Is start" : : "Start point of the zipline." end(integer) : "Is end" : : "End point of the zipline." // end(choices) : "Is end" : : "End point of the zipline." = // [ // 0 : "No" // 1 : "Yes" // ] ziplinetarget(target_destination) : "Zipline Target" : : "Point where the player will be teleported to." spawnflags(flags) = [ 1 : "Fire once" : 0 : "If enabled, the entity can only be activated once. " ] ] @PointClass iconsprite("sprites/Hammer/TriggerCamera.spr") base(Targetname, Targetx) = trigger_camera : "Trigger Camera: This entity allows you to place moving cameras in your maps that take control away from the player for a time." [ wait(integer) : "Hold time" : 0 : "How many seconds camera controls player view. Player recovers his view and all camera effects are exterminated after that." moveto(string) : "Path Corner" : : "The first path_corner to aim for. For a static camera leave this empty. Supports path_track as well" spawnflags(flags) = [ 1 : "Start At Player" : 0 : "If enabled, The camera starts at players position, after that it will gradually switch to a path_corner route. If no path_corner is specified, the camera will move at the direction the player was looking at and won't stop until the 'Hold time' is finished." 2 : "Follow Player" : 0 : "If enabled, Uses the player as the focal point." 4 : "Freeze Player" : 0 : "If enabled, Stops the player from moving while camera is in action." //8 : "???" : 0 : "Not sure if this exists." 16 : "Instant move" : 0 : "If enabled, The camera will move from path to path without any movement smoothing." //32 : "???" : 0 : "Not sure if this exists." //64 : "???" : 0 : "Not sure if this exists." ] speed(string) : "Initial Speed" : "0" : "Starting speed of camera when camera is moving." acceleration(string) : "Acceleration units/sec^2" : "500" : "Amount of units the camera accelerates each second (if it's moving). Doesn't work when 'Instant Move' is selected." deceleration(string) : "Stop Deceleration units/sec^2" : "500" : "Amount of units the camera accelerates each second (if it's moving). Might not work correctly." immediate(integer) : "Immediate" : : "Not sure if this is working correctly." useoverlay(integer) : "Use Overlay" : 0 : "Use a special security-like overlay on the camera." ] @PointClass iconsprite("sprites/Hammer/TriggerCDAudio.spr") base(Targetname) = trigger_cdaudio : "Trigger CD Audio: When the player passes through this entity, the selected CD audio track will be played. Serves the same purpose as the radius-based target_cdaudio." [ trackname(string) : "Track Name" : "sound/music/TITLE" : "Input a track to play. Use this format: 'sound/music/xyz'." trackname(choices) : "Track Name" : "" : "Input a track to play. Use this format for custom music: 'sound/music/xyz'." = [ "" : "None" sound/music/alamo_battle : "Alamo - Battle" sound/music/alamo_found : "Alamo - Found" sound/music/alamo_intro : "Alamo - Intro" sound/music/alamo_success : "Alamo - Success" sound/music/brecon_airstrike : "Building Recon - Airstrike" sound/music/brecon_intro : "Building Recon - Intro" sound/music/brecon_seenuke : "Building Recon - See Nuke" sound/music/brecon_showdown : "Building Recon - Showdown" sound/music/brecon_success : "Building Recon - Success" sound/music/downed_blow : "Downed - Blow" sound/music/downed_gassed : "Downed - Gassed" sound/music/downed_intro : "Downed - Intro" sound/music/downed_package : "Downed - Package" sound/music/downed_success : "Downed - Success" sound/music/downed_wakeup : "Downed - Wakeup" sound/music/fastline_begin : "Fastline - Begin" sound/music/fastline_bomb : "Fastline - Bomb" sound/music/fastline_flashed : "Fastline - Flashed" sound/music/fastline_intro : "Fastline - Intro" sound/music/fastline_transcop : "Fastline - Transit Cop" sound/music/hank_final : "Hankagai - Final" sound/music/hank_intro : "Hankagai - Intro" sound/music/hank_success : "Hankagai - Success" sound/music/hank_toshdown : "Hankagai - Toshi Down" sound/music/hank_toshyell : "Hankagai - Toshi Yell" sound/music/hr_bossplat" : "High Rise - Boss Platform" sound/music/hr_groundass" : "High Rise - Gound Assault" sound/music/hr_hithead" : "High Rise - Hit Head" sound/music/hr_intro" : "High Rise - Intro" sound/music/hr_miniboss" : "High Rise - Mini Boss" sound/music/hr_missioncue" : "High Rise - Mission Cue" sound/music/hr_nukes" : "High Rise - Nukes" sound/music/hr_success" : "High Rise - Success" sound/music/hr_failure" : "High Rise - Failure" sound/music/hr_toolate" : "High Rise - Too Late" sound/music/jungle_intro : "Druglab - Intro" sound/music/jungle_start : "Druglab - Start" sound/music/jungle_success : "Druglab - Success" sound/music/lost_end : "Lost Cause - End" sound/music/lost_intro : "Lost Cause - Intro" sound/music/lost_success : "Lost Cause - Success" sound/music/lost_team : "Lost Cause - Team" sound/music/miami_intro : "Miami - Intro" sound/music/miami_success : "Miami - Success" sound/music/miami_threat : "Miami - Threat" sound/music/motor_intro : "Motorcade Assault - Intro" sound/music/motor_success : "Motorcade Assault - Success" sound/music/pipe_bomb : "Pipe Dream - Bomb" sound/music/pipe_getover : "Pipe Dream - Get Over" sound/music/pipe_intro : "Pipe Dream - Intro" sound/music/pipe_success : "Pipe Dream - Success" sound/music/recoil_intro : "Recoil - Intro" sound/music/recoil_meetsnip : "Recoil - Meet Sniper" sound/music/recoil_rescuesnip : "Recoil - Rescue Sniper" sound/music/recoil_success : "Recoil - Success" sound/music/run_cue : "Run! - Cue" sound/music/run_helidown : "Run! - Heli Down" sound/music/run_intro : "Run! - Intro" sound/music/run_success : "Run! - Success" sound/music/run_truckover: "Run! - Truck" sound/music/sand_intro : "Sandstorm - Intro" sound/music/sand_scud : "Sandstorm - Scud" sound/music/sand_spotted : "Sandstorm - Spotted" sound/music/sand_success : "Sandstorm - Success" sound/music/secret_war : "Secret War - Secret War" sound/music/silo_attack : "Secret War - Attack" sound/music/silo_escape : "Secret War - Escape" sound/music/silo_explochase : "Secret War - Explosion" sound/music/silo_finalbattle : "Secret War - Final Battle" sound/music/silo_intro : "Secret War - Intro" sound/music/silo_success : "Secret War - Success" sound/music/thinice_boss : "Thin Ice - Boss" sound/music/thinice_intro : "Thin Ice - Intro" sound/music/thinice_ship : "Thin Ice - Ship" sound/music/thinice_success : "Thin Ice - Success" sound/music/train_failure : "CT Training - Failure" sound/music/train_intro : "CT Training - Intro" sound/music/train_success : "CT Training - Success" sound/music/train_work1 : "CT Training - Work" sound/music/train_work2 : "CT Training - Working Again" sound/music/truth_intro : "Truth - Intro" sound/music/truth_success : "Truth - Success" sound/music/truth_vx : "Truth - VX Gas" sound/music/turncrank_boss : "Turn Crank - Boss" sound/music/turncrank_flash : "Turn Crank - Flash" sound/music/turncrank_intro : "Turn Crank - Intro" sound/music/turncrank_success : "Turn Crank - Success" sound/music/turncrank_taunt : "Turn Crank - Taunt" sound/music/end : "End" sound/music/failure1 : "Failure 1" sound/music/failure2 : "Failure 2" sound/music/failure3 : "Failure 3" sound/music/failure4 : "Failure 4" sound/music/launcher_loop : "Launcher Loop" sound/music/menu_loop : "Menu Loop" ] loop(choices) : "Loop" : 0 : "Select if the track loops." = [ 0 : "No" 1 : "Yes" ] ] @PointClass iconsprite("sprites/Hammer/TriggerChangeKeyValue.spr") base(Targetname, Global, Master, Targetx) = trigger_changekeyvalue : "Trigger Change Key Value: It's easier to add keys and values to change the targetted entity manually. Very similar to how you would with a MultiManager. Key is the keyvalue name and the value is what to change it too when it is trigger." [] @SolidClass = trigger_changelevel : "Change Level: This entity causes a level transition, where a new map is loaded and the player is placed in it." [ targetname(string) : "Name" : : "Property used to identify entities." map(string) : "New map name" : : "The name of the new map to load. It's recommended to keep your map names short with no capital letters, spaces, or special characters. Instead of 'Chapter 3 Level 5', try c3l5 or ch3_lvl5." landmark(string) : "Landmark name" : : "The name of the info_landmark that defines the same point in space in both maps. It's recommended to follow the same naming conventions for landmarks - no capital letters or spaces/special characters." changetarget(target_destination) : "Change Target" : : "The entity name to be triggered in the next map. Works similar to a trigger_auto." changedelay(string) : "Delay before change target" : "0" : "Self-explanatory." spawnflags(flags) = [ 1 : "No Intermission" : 0 : "Not sure what this does. No explanation exist at the moment." 2 : "USE Only" : 0 : "If enabled, Entity cannot be triggered by the player walking into it, but must be triggered by another entity." ] ] @PointClass iconsprite("sprites/Hammer/TriggerChangeTarget.spr") base(Targetname, Targetx) = trigger_changetarget : "Trigger Change Target: This entity can change the 'Target' value of any entity." [ m_iszNewTarget(string) : "New Target" : : "Change the target entity's 'target' value to this." ] @PointClass iconsprite("sprites/Hammer/TriggerCounter.spr") base(Trigger) = trigger_counter : "Trigger Counter: This entity counts the number of times it is triggered and activates its target when it reaches a specified number." [ spawnflags(flags) = [ 1 : "No Message" : 0 : "If enabled, the message key will be deactivated." ] count(integer) : "Count before activation" : 1 : "The number that the counter must reach before activating its targets." ] @PointClass iconsprite("sprites/Hammer/TriggerEndMission.spr") base(Targetname) = trigger_endmission : "Trigger End Mission: This entity functions as a self contained displacement-type level change. Very useful for changing locales for story purposes. Also includes env_fade functions." [ music(string) : "MP3" : "sound/music/MP3NAME" : "Input an MP3 track to play. Use this format: 'sound/music/xyz'." nextmap(string) : "Next map" : : "The name of the new map to load." fade_red(integer) : "Red" : : "The red colour out of 'RGB'. Mix this with the other inputs to achieve a colour. Input a number between 0 - 255" fade_green(integer) : "Green" : : "The green colour out of 'RGB'. Mix this with the other inputs to achieve a colour. Input a number between 0 - 255" fade_blue(integer) : "Blue" : : "The blue colour out of 'RGB'. Mix this with the other inputs to achieve a colour. Input a number between 0 - 255" fade_alpha(integer) : "Screen Fade Opacity" : 255 : "The maximum alpha value (opacity) of the overlay. Scales from 0 (transparent) to 255 (opaque)." duration(string) : "Duration (seconds)" : "2.0" : "Sets how long the overlay should take to fade into its full effect." holdtime(string) : "Hold Fade (seconds)" : "0.0" : "Sets how long the overlay should stay on the screen at its full effect before turning itself off." ] @SolidClass base(Targetname) = trigger_endsection : "Trigger EndSection: This entity ends the current game and returns the player to the main menu." [ section(choices) : "Section" : : "Only one choice, Takes the player back to the menu." = [ "_oem_end_training" : "Return to main menu" : "Takes the player back to the main menu." ] spawnflags(flags) = [ 1 : "USE Only" : 0 : "If enabled, the entity cannot be triggered by the player walking into it, but must be triggered by another entity." ] ] @PointClass iconsprite("sprites/Hammer/TriggerFreezePlayer.spr") base(Targetname) = trigger_freezeplayer : "Trigger Freeze Player: This entity freezes the player on activation. It has a toggle type behavior. To unfreeze the player, just retrigger the entity." [] @SolidClass base(Trigger) = trigger_gravity : "Trigger Gravity: This entity sets the effect of gravity from low to normal. Level of gravity stays set after being put into effect - use two brushes, one with the new gravity, one with the old, to make sure the player returns to normal gravity in situations where that is necessary." [ gravity(string) : "Gravity" : "1.0" : "Any value between 0 and 1, 1 being normal gravity." ] @PointClass iconsprite("sprites/Hammer/TriggerHud.spr") base(Targetname) = trigger_hud : "Trigger HUD Switcher: This entity switches the players HUD on or off." [ display(choices) : "HUD Display" : "" : "Choose if the HUD is visible or not. Options are:" = [ 0 : "Off" 1 : "On" ] ] @PointClass iconsprite("sprites/Hammer/TriggerIncognito.spr") base(Targetname) = trigger_incognito : "Incognito Mode: This entity makes the player 'undercover', meaning the enemies won't try and kill you. This was used at the start of the mission 'Turn of the Crank'." [ undercover(choices) : "Undercover?" : 0 : "Choose if the player is undercover or not. Options are:" = [ 0 : "No" 1 : "Yes" ] ] @SolidClass base(Targetname, Master, Targetx) = trigger_hurt : "Trigger Hurt Player: This entity hurts anyone in its area." [ spawnflags(flags) = [ 1 : "Target Once" : 0 : "Normally the trigger_hurt will trigger its target every time it hurts something. If enabled, it will do this only once." 2 : "Start Off" : 0 : "If enabled, the entity needs to be activated to work." 8 : "No clients" : 0 : "If enabled, The entity won't affect players." 16 : "Fire Client Only" : 0 : "If enabled, the entity will hurt anyone, but will only fire its target when it hurts a player." 32 : "Touch Client Only" : 0 : "If enabled, only the player will be hurt." ] dmg(integer) : "Damage" : 10 : "The amount of damage to deal out." damagetype(choices) : "Damage Type" : 0 : "Type of damage. Options are:" = [ 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" ] ] @PointClass iconsprite("sprites/Hammer/TriggerKillTarget.spr") base(Targetname, Target) = trigger_killtarget : "Trigger Kill Target: As the name implies, it kills its targetted entity." [ spawnflags(flags) = [ 1 : "Death Gib" : 0 : "If enabled, kills the targeted entity through exploding the body." 2 : "Remove on use" : 0 : "If enabled, removes this entity from the game after activation." ] ] @SolidClass base(Angles, Master) = trigger_monsterjump : "Trigger Monster Jump: Any monster that walks into the area covered by this entity will be made to jump in the specified direction, height and speed." [ speed(integer) : "Jump Speed" : 40 : "Speed of the jump in units per second." height(integer) : "Jump Height" : 128 : "The height of the jump in units." ] @SolidClass base(Trigger) = trigger_multiple : "Trigger Activate Multiple: This entity triggers a specified target every time its area is entered by players, monsters or pushables." [ wait(integer) : "Delay before reset" : 0 : "Usually the time in seconds before an entity should trigger its target (after being triggered itself). Under other SmartEdit names, delay might also be the time to wait before performing some other action." spawnflags(flags) = [ 1 : "Monsters Allowed" : 0 : "If enabled, allow monsters to activate this entity." 2 : "No Clients" : 0 : "If enabled, players cannot activate this entity." ] ] @PointClass iconsprite("sprites/Hammer/TriggerObjective.spr") base(Targetname) = trigger_objective : "Trigger Objective: Writes text to a 'Objective GUI' type area. Refer to the notes section of this FGD for a proper explaination." [ objective(string) : "Objective" : : "Name the objective that should be linked from 'czeror_english' or .SEQ. For example: '#OBJ01_AIDEV'." notransition(choices) : "Transition" : : "This might mean that the OBJ HUD transfers to the next level. Functions as a bool." = [ 0 : "Off" 1 : "On" ] state(choices) : "State" : "" : "Changes what 'state' the objective starts in. Options are:" = [ 0 : "Linear" : "The Objective is not active on level load. Instead toggles the value to 'Active' on first trigger, and 'Completed' on second." 1 : "Active" : "The objective is active on level load." 2 : "Completed" : "The objective is completed." ] ] @SolidClass base(Trigger) = trigger_once : "Trigger Activate Once: When this entity's area is entered by players, pushable objects or monsters, it triggers its target, but only once." [ style(integer) : "Style" : 0 : "Not sure what this does." spawnflags(flags) = [ 1 : "Monsters Allowed" : 0 : "If enabled, allow monsters to activate this entity." 2 : "No Clients" : 0 : "If enabled, players cannot activate this entity." ] ] @SolidClass base(Trigger, Angles) = trigger_push : "Trigger Push Player: When a player, monster or pushable object enters this entity's area, it is pushed in the specified direction and speed." [ spawnflags(flags) = [ 1 : "Once Only" : 0 : "If enabled, Makes the entity have activate only once." 2 : "Start Off" : 0 : "If enabled, the entity needs to be triggered in order to start." ] speed(integer) : "Speed of push" : 40 : "The speed to push at in units per second." ] @PointClass iconsprite("sprites/Hammer/TriggerRelay.spr") base(Targetname, Targetx, Angles) = trigger_relay : "Trigger Relay: This entity acts as a relay between an event and its target. Its main advantage is that it can send a specific trigger state to its target (only turn it on, or only turn it off, as opposed to the toggling experienced with typical triggering)." [ spawnflags(flags) = [ 1 : "Remove On fire" : 0 : "If enabled, this entity will be removed after triggering its targets." ] triggerstate(choices) : "Trigger State" : 0 : "Sets the type of trigger this entity sends. Options are:" = [ 0 : "Off" 1 : "On" 2 : "Toggle" ] ] @PointClass iconsprite("sprites/Hammer/TriggerSequence.spr") base(Targetname) = trigger_sequence : "Trigger Sequence File: Useful entity for bypassing limits of the engine. Refer to the notes section of this FGD." [ sequence_file(string) : "Sequence File" : "SEQUENCE.seq" : "Usually, this is the 'MAPNAME.seq'. You have to create this file and store it in the '/sequences' for it to work." sequence_id(string) : "Sequence Name" : "" : "Sequence name to use. Usable sequences are marked with % and a name after. If the sequence you want it %obj1, input 'obj1' into this field." spawnflags(flags) = [ 1 : "Use Once?" : 0 : "If enabled, only triggers once and then gets removed." ] ] @SolidClass base(Targetname) = trigger_stealth: "Trigger Stealth: When the player enters this entity, it hides the player in relation to how much 'cover' is specified." [ showicon(choices) : "Show hud icon" : "" : "Choose if the stealth icon is displayed on the HUD in-game." = [ 0 : "No" 1 : "Yes" ] cover(integer) : "Cover" : : "Define how much 'cover' the player receives when entering the entity. Input a value between 0 (Still visible) to 100 (Invisible)." ] @SolidClass base(Trigger) = trigger_teleport : "Trigger Teleport: This entity will teleport things in its area, used with info_teleport_destination." [ spawnflags(flags) = [ 1 : "Monsters" : 0 : "If enabled, allows monsters to activate this entity." 2 : "No Clients" : 0 : "If enabled, Players cannot activate this entity." ] ] @SolidClass base(Targetname, Target, Master) = trigger_usetool : "Trigger Tool Use Zone: This entity defines where and what tools should be used. Have this entity target something when a tool is used in the zone." [ target(target_destination) : "Target" : : "Have this entity target something when a tool is used in the zone." killtarget(target_destination) : "KillTarget" : : "When an entity is triggered, it will remove from the game the entity specified by this property." rcbombtarget(target_destination) : "RC Bomb target" : : "Area where the RC bomb will be placed. Kind of like a guide." toolname(choices) : "Tool Name" : "" : "Tool to be used in this area. Options are:" = [ "" : "None" : "Nothing." bomb_defuse : "Bomb defuse" weapon_blowtorch : "Blowtorch" weapon_briefcase : "Briefcase" weapon_camera : "Camera" weapon_fiberopticcamera : "Fiber-Optic Camera" weapon_radio : "Radio" weapon_radiocontrolledbomb : "RC Bomb" ] tooltarget(string) : "Tool Target" : : "Where the player needs to be looking to activate the tool, the best way to get this to work is to target an info_target thats in the general area that should be looked in." spawnflags(flags) = [ 1 : "Remove on use" : 0 : "If enabled, removes this entity from the game after activation. Causes issues with things like the fiber-optic camera." ] bombdefusetime(integer) : "Bomb defuse time" : : "Bomb defusal time, in seconds." ] @SolidClass base(Targetname) = trigger_transition : "Trigger Select Transition Area: This entity creates an area in which the player must be for an associated trigger_changelevel to work. The trigger_transition targetname must share the same name as the info_landmark, otherwise it won't work." [] //////////////////////////////////////////////////////////////////////////////// // WEAPON ENTITIES //////////////////////////////////////////////////////////////////////////////// @PointClass iconsprite("sprites/Hammer/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) studio("models/w_p228.mdl") = weapon_p228 : "P-228: Takes 357sig rounds."[] @PointClass iconsprite("sprites/Hammer/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) studio("models/w_glock18.mdl") = weapon_glock18 : "Glock 18: Takes 9MM rounds."[] @PointClass iconsprite("sprites/Hammer/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) studio("models/w_ak47.mdl") = weapon_ak47 : "AK47: Takes 762 Nato rounds."[] @PointClass iconsprite("sprites/Hammer/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) studio("models/w_awp.mdl") = weapon_awp : "AWP/AWM: Takes 338 Magnum rounds."[] @PointClass iconsprite("sprites/Hammer/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) studio("models/w_fiveseven.mdl") = weapon_fiveseven : "Fiveseven: Takes 57MM rounds."[] @PointClass iconsprite("sprites/Hammer/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) studio("models/w_m3.mdl") = weapon_m3 :"M3: Takes Buckshot shells."[] @PointClass iconsprite("sprites/Hammer/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) studio("models/w_mac10.mdl") = weapon_mac10 : "MAC10: Takes 45ACP rounds."[] @PointClass iconsprite("sprites/Hammer/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) studio("models/w_p90.mdl") = weapon_p90 : "P90: Takes 57MM rounds."[] @PointClass iconsprite("sprites/Hammer/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) studio("models/w_tmp.mdl") = weapon_tmp : "TMP: Takes 9MM rounds."[] @PointClass iconsprite("sprites/Hammer/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) studio("models/w_aug.mdl") = weapon_aug : "AUG: Takes 556 Nato rounds." [] @PointClass iconsprite("sprites/Hammer/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) studio("models/w_btorch.mdl") = weapon_blowtorch : "Blow Torch: A tool. Used with a trigger_usetool brush." [] @PointClass iconsprite("sprites/Hammer/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) studio("models/w_briefcase.mdl") = weapon_briefcase : "Briefcase: A tool. Used with a trigger_usetool brush." [] @PointClass iconsprite("sprites/Hammer/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) studio("models/w_camera.mdl") = weapon_camera : "Camera: A tool. Used with a trigger_usetool brush." [] @PointClass iconsprite("sprites/Hammer/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) studio("models/w_deagle.mdl") = weapon_deagle : "Deagle pistol: Takes 50AE rounds." [] @PointClass iconsprite("sprites/Hammer/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) studio("models/w_elite.mdl") = weapon_elite : "Elite pistol: Takes 9MM rounds." [] @PointClass iconsprite("sprites/Hammer/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) studio("models/w_focamera.mdl") = weapon_fiberopticcamera : "Fiber-Optic Camera: A tool. Used with a trigger_usetool brush." [] @PointClass iconsprite("sprites/Hammer/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) studio("models/w_flashbang.mdl") = weapon_flashbang : "Flashbang: A flash grenade. Good for blinding enemies for a short time." [] @PointClass iconsprite("sprites/Hammer/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) studio("models/w_g3sg1.mdl") = weapon_g3sg1 : "G3SG1: Takes 762 Nato rounds." [] @PointClass iconsprite("sprites/Hammer/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) studio("models/w_hegrenade.mdl") = weapon_hegrenade : "HE Grenade: A High-Explosive grenade: Good for clearing out rooms of enemies." [] @PointClass iconsprite("sprites/Hammer/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) studio("models/w_knife.mdl") = weapon_knife : "Knife: A sharp, pointy stick. Nice to have as a backup." [] @PointClass iconsprite("sprites/Hammer/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) studio("models/w_law-closed.mdl") = weapon_laws : "M72 LAW: Light Anti-Tank Weapon. One time use weapon." [] @PointClass iconsprite("sprites/Hammer/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) studio("models/w_mp5.mdl") = weapon_mp5navy : "MP5: Takes 9MM rounds." [] @PointClass iconsprite("sprites/Hammer/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) studio("models/w_m60.mdl") = weapon_m60 : "M60: Takes 556 Nato Boxes." [] @PointClass iconsprite("sprites/Hammer/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) studio("models/w_m4a1.mdl") = weapon_m4a1 : "M4A1 Colt: Takes 556 Nato rounds." [] @PointClass iconsprite("sprites/Hammer/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) studio("models/w_radio.mdl") = weapon_radio : "Radio: A tool. Used with a trigger_usetool brush." [] @PointClass iconsprite("sprites/Hammer/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) studio("models/w_rcontrolbomb.mdl") = weapon_radiocontrolledbomb : "RC Bomb: A tool. Used with a trigger_usetool brush." [] @PointClass iconsprite("sprites/Hammer/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) studio("models/w_scout.mdl") = weapon_scout : "Scout: Takes 762 Nato rounds." [] @PointClass iconsprite("sprites/Hammer/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) studio("models/w_sg552.mdl") = weapon_sg552 : "G552: Takes 556 Nato rounds." [] @PointClass iconsprite("sprites/Hammer/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) studio("models/w_smokegrenade.mdl") = weapon_smokegrenade : "Smoke Grenade: Makes smoke. Handy for distracting an enemy." [] @PointClass iconsprite("sprites/Hammer/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) studio("models/w_ump45.mdl") = weapon_ump45 : "UMP45: Takes 45ACP rounds." [] @PointClass iconsprite("sprites/Hammer/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) studio("models/w_usp.mdl") = weapon_usp : "USP: Takes 45ACP rounds." [] @PointClass iconsprite("sprites/Hammer/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) studio("models/w_xm1014.mdl") = weapon_xm1014 : "XM1014: Takes Buckshot shells." [] @PointClass iconsprite("sprites/Hammer/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) studio("models/w_shield.mdl") = weapon_shieldgun : "Shield: Comes with a gun too. Handy when the enemy has overwhelming firepower." [] @PointClass iconsprite("sprites/Hammer/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) studio("models/w_sg550.mdl") = weapon_sg550 : "G550: Takes 556 Nato rounds." [] @PointClass iconsprite("sprites/Hammer/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) studio("models/w_galil.mdl") = weapon_galil : "Galil: Takes 556 Nato rounds." [] @PointClass iconsprite("sprites/Hammer/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) studio("models/w_famas.mdl") = weapon_famas : "FAMAS: Takes 556 Nato rounds." [] @PointClass iconsprite("sprites/Hammer/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) studio("models/w_m249.mdl") = weapon_m249 : "M249: Takes 556 Nato Boxes." [] //////////////////////////////////////////////////////////////////////////////// // CUT/BROKEN SECTION (Needs Valve to release CZDS SDK) //////////////////////////////////////////////////////////////////////////////// //CUT GEAR @PointClass iconsprite("sprites/Hammer/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) studio("models/w_gasgrenade.mdl") = weapon_gasgrenade : "Gas Grenade" [] //CUT GEAR @PointClass iconsprite("sprites/Hammer/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) studio("models/w_syringegun.mdl") = weapon_syringegun : "Syringe Gun" [] //CUT GEAR @PointClass iconsprite("sprites/Hammer/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) studio("models/w_holster.mdl") = weapon_holster : "Holster" [] //CUT GEAR @PointClass iconsprite("sprites/Hammer/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) studio("models/w_zipline.mdl") = weapon_zipline : "Zipline" [] //BROKEN GEAR @PointClass iconsprite("sprites/Hammer/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields, C4Base, ModelFile) studio("models/w_c4.mdl") = weapon_c4 : "C4 Plastique Bomb" [] //CUT GEAR @PointClass iconsprite("sprites/Hammer/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) studio("models/w_medkit.mdl") = weapon_medkit : "medkit" [] //CUT AMMO @PointClass studio("models/w_weaponbox.mdl") = ammo_66mm : "66mm?"[] //CUT AMMO @PointClass studio("models/w_weaponbox.mdl") = ammo_syringe : "syringe?"[] //////////////////////////////////////////////////////////////////////////////// // JANKY SECTION (The Jank area) //////////////////////////////////////////////////////////////////////////////// //This most likely was the basis for the snow, rain and updated .MAT system. It's exposed and can be used in maps but it's super janky and not much is known about it. //@PointClass iconsprite("sprites/Hammer/Armoury.spr") base(Targetname, Angles, Targetx, RenderFields) studio("models/w_holster.mdl") = weapon_holster : "Holster" : "What does this do?" [] //@PointClass iconsprite("sprites/Hammer/EnvParticleEmitter.spr") base(Targetname, Angles, RenderFields) = env_particle : "Particle Emitter: Not much information on this entity, the current settings act like smoke. It emits sprites and you can adjust different properties to get it to function with gravity and such. Super janky and is in the JANKY SECTION of this FGD." //[ // rendermode(choices) : "Render Mode" : 4 : "Controls the type of rendering that is used for an object. Options are:" = // [ // 0 : "Normal" : "Default render mode." // 1 : "Color" : "Replaces the texture with the choosen colour in 'FX Colour'." // 2 : "Texture" : "Applies transparency to a brush. The transparency is controlled by the FX Amount." // 3 : "Glow" : "Removes the black background from sprites. Colour can be applied and resizes as the player approaches. Not used on solid entities." // 4 : "Solid" : "Removes the blue colour from textures tagged with '{'." // 5 : "Additive" : "Adds the texture colours to the background. Darker colours become less visible - black is removed. Glows in the dark." // ] // renderamt(integer) : "FX Amount (1 - 255)" : 150 : "Input how visible the object is. (Depending on the render mode, this could change the outcome of visibility.)" // rendercolor(color255) : "FX Color (R G B)" : "65 65 65" : "Input 3 values (R G B) that determine a colour." // vis_point(string) : "Vis Point" : "player" : "Not sure what this does, takes an info_target(resulting in a directed particle stream)." // target_direction(string) : "Target Direction" : "none" : "Not sure what this does" // scale_speed(integer) : "Scale Speed" : 10 : "The speed that the particle scales at." // spawnflags(flags) = // [ // 1 : "Short 2" : 0 : "Makes the sprite short?? AGAIN." // 8 : "Short" : 0 : "Makes the sprite short?" // 16 : "No frames" : 0 : "Stops sprite from playing any frames." // 32 : "Toggleable?" : 0 : "If enabled, spawns the particle system at the start of the map." // 64 : "Wavy" : 0 : "If enabled, makes the particles move in a wave pattern." // 128 : "wavy 2" : 0 : "If enabled, makes the particles move in a wave pattern." // ] // fade_speed(integer) : "Fade Speed" : 1 : "Speed that the particles dissappear at." // frequency(integer) : "Frequency" : 3 : "Frequency that the particles spawn in at." // particle_texture(sprite) : "Particle Sprite" : sprites/black_smoke1.spr : "Sprite to use for the emitter." // particle_avelocity(string) : "Angular Velocity" : "0 0 0" : "Not sure what this does." // particle_life(integer) : "Particle Life" : 50 : "How long the particles will stay around after spawning." // particle_scale(integer) : "Particle Scale" : 450 : "The size of the particle." // particle_gravity(integer) : "Particle Gravity 1.0 - 0.0" : 0 : "How much gravity affects the particle." // particle_count(integer) : "Particle Count" : 2 : "How many particles will spawn." // particle_noise(integer) : "Particle Noise" : 20 : "How much randomness to add to the emitter" // particle_speed(integer) : "Particle Speed" : 14 : "How fast the particle travels." // particle_brightness(integer) : "Particle Brightness" : 200 : "The brightness of the particle. Make sure this is set so the particle does not render completely black." // splash_particles(integer) : "Splash particles" : : "Not sure what this does." // rnd_count(integer) : "Random particle amount" : : "Varies up the timeing of the particles." // target_origin(string) : "Target Origin" : "none" : "Not sure what this does." // attach_point(string) : "Attach Point" : "none" : "Used to 'attach' the particle to things. Can be attached to the player using 'player'." // particle_type(choices): "Particle type" : : "Type of particle." = // [ // 0 : "Sprite" // 1 : "Plane" // 2 : "sphere" // 3 : "cylinder" // 4 : "disk" // 5 : "Cone" // 6 : "Water drops" // ] //] //Doesnt seem to be working. Looks for env_snow and env_rain. //@PointClass base(Targetname, Targetx) size(-16 -16 -16, 16 16 16) = env_randomweather : "Env_randomweather: Seems to not work. Is in the JANKY SECTION of theis FGD." [] //////////////////////////////////////////////////////////////////////////////// // CUSTOM MONSTER SECTION //////////////////////////////////////////////////////////////////////////////// //this is an example of custom monsters being written in, a bit wonky, but it works well. this is a grenade launcher/dropper fella. //unfortunatly, he doesnt want to protect his life. so sometimes he will kill himself trying to kill you. //Im not sure what else can be made through event editing in anims, wep key and behavior key. skills.cfg sgrenade needs to be pretty high to work. around 1000 //@PointClass studio() size(-16 -16 0, 16 16 72) color(0 0 255) base(Angles) = monster_terrorist_arctic : "Custom monster: Unfortunatly, this is implemented with some whacky key/value combination and a custom model with animation events changed, so its not quite normal. But can serve as an example." [ //behave to 7 body(integer) : "Body" : 0 : "Bodygroup" skin(integer) : "Skin" : 0 : "Skin group" model(studio) : "Model" : "models/terrormodded.mdl" : "Model" behavior(integer) : "Behavior" : 5 : "Behavior" weapons(integer) : "Weapons" : 4 : "Weapon characteristics?. Put 4 for a rpg 'doesnt miss' man" invulnerable(integer) : "Invulnerable" : 1 : "no damage" ] @PointClass studio("models/leet.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_desert [] @PointClass studio("models/terror.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_russian [] @PointClass studio("models/militia.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_urban [] @PointClass studio("models/asian.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_asian [] @PointClass studio("models/guerilla.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_jungle [] @PointClass studio("models/arctic.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) base(Monster, Classtype, ModelFile) = monster_terrorist_arctic [] @PointClass studio("models/gordo_new.mdl") size(-16 -16 0, 16 16 72) color(255 0 0) = env_scale : "Gordon for size. Personal entity for scale when building in hammer" []