<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.svencoop.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Outerbeast</id>
	<title>Sven Co-op - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.svencoop.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Outerbeast"/>
	<link rel="alternate" type="text/html" href="https://wiki.svencoop.com/Special:Contributions/Outerbeast"/>
	<updated>2026-04-04T06:04:47Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.svencoop.com/index.php?title=Hooks&amp;diff=1406</id>
		<title>Hooks</title>
		<link rel="alternate" type="text/html" href="https://wiki.svencoop.com/index.php?title=Hooks&amp;diff=1406"/>
		<updated>2026-02-04T16:44:29Z</updated>

		<summary type="html">&lt;p&gt;Outerbeast: /* Player Hooks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hooks are a form of events that scripts can hook into. When you register a hook, the function you’ve registered will be called whenever the associated event occurs.&lt;br /&gt;
&lt;br /&gt;
Multiple scripts can hook into the same hook, and the same script can hook the same hook multiple times. Map scripts will always come first when hooks that both map scripts and plugins can use are executed.&lt;br /&gt;
&lt;br /&gt;
== Hook return code ==&lt;br /&gt;
&lt;br /&gt;
All hooks have to return a code to indicate whether they’ve handled the event or not.&lt;br /&gt;
&lt;br /&gt;
If a hook has handled the event, it should return &amp;lt;code&amp;gt;HOOK_HANDLED&amp;lt;/code&amp;gt;. Otherwise, it should return &amp;lt;code&amp;gt;HOOK_CONTINUE&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;hook-definition-and-usage&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Hook definition and usage ==&lt;br /&gt;
&lt;br /&gt;
All hooks are defined in the namespace “Hooks”.&lt;br /&gt;
&lt;br /&gt;
All hooks have funcdefs defined for them that have the syntax &amp;lt;name&amp;gt;Hook, where &amp;lt;name&amp;gt; is the name of the constant without any namespaces prepended. For example, the &amp;lt;code&amp;gt;Hooks::Game::MapChange&amp;lt;/code&amp;gt; hook has the funcdef &amp;lt;code&amp;gt;MapChangeHook&amp;lt;/code&amp;gt;. This can be used to register object methods as hooks.&lt;br /&gt;
&lt;br /&gt;
You can get an up to date list of hook by typing as_dumphooks &amp;lt;filename&amp;gt; in the console. You must be the server admin to be able to do this. The filename should not have an extension. The file extension is .txt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;registering-hooks&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Registering hooks ===&lt;br /&gt;
&lt;br /&gt;
To register a hook, you must use the g_Hooks global object. This object is defined as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;CModuleHookManager g_Hooks;&amp;lt;/pre&amp;gt;&lt;br /&gt;
(The actual definition uses a global property accessor, but it behaves like a variable as shown above)&lt;br /&gt;
&lt;br /&gt;
Registering a hook is done as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;HookReturnCode MapChange( const string&amp;amp;amp; in szNextMap )&lt;br /&gt;
{&lt;br /&gt;
    // Handle map change&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
g_Hooks.RegisterHook( Hooks::Game::MapChange, MapChange );&amp;lt;/pre&amp;gt;&lt;br /&gt;
Removing a hook is done much like registering it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;g_Hooks.RemoveHook( Hooks::Game::MapChange, MapChange );&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are trying to register a method to a hook, you need to pass the method handle in via a delegate, this is done as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;g_Hooks.RegisterHook( Hooks::Game::MapChange, MapChangeHook( obj.MapChange ) )&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is also possible to remove all of the hook functions registered for a particular hook in the current script by calling RemoveHook with just the hook ID parameter:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;g_Hooks.RemoveHook( Hooks::Game::MapChange );&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Stop Modes ===&lt;br /&gt;
&lt;br /&gt;
Hooks can have one of a few stop modes. This mode defines when hook execution should stop.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name&lt;br /&gt;
! Action&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ON_HANDLED&lt;br /&gt;
| As soon as a hook has returned HOOK_HANDLED, stop execution.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;MODULE_HANDLED&lt;br /&gt;
| As soon as a single script has return HOOK_HANDLED from any of its hooks, stop execution.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;CALL_ALL&lt;br /&gt;
| Regardless of the return code, execute all hooks.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;available-hooks&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Available hooks ==&lt;br /&gt;
=== Game Hooks ===&lt;br /&gt;
&amp;lt;code&amp;gt;Hooks::Game::&amp;lt;/code&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- style=&amp;quot;font-weight:bold; text-align:center; vertical-align:middle;&amp;quot;&lt;br /&gt;
! Constant&lt;br /&gt;
! Signature&lt;br /&gt;
! style=&amp;quot;border-color:inherit;&amp;quot; | Description&lt;br /&gt;
! style=&amp;quot;border-color:inherit;&amp;quot; | Stop Mode&lt;br /&gt;
! style=&amp;quot;border-color:inherit;&amp;quot; | Availability&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;MapChange&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;HookReturnCode Function( const string&amp;amp;amp; in szNextMap )&amp;lt;/code&amp;gt;&lt;br /&gt;
| When the map changes, this hook is called. Note that this happens when the world is destroyed. There may still be entities that exist at this point. This is caused by engine limitations.&lt;br /&gt;
| &amp;lt;code&amp;gt;CALL_ALL&amp;lt;/code&amp;gt;&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;EntityCreated&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;HookReturnCode Function( CBaseEntity@ pEntity )&amp;lt;/code&amp;gt;&lt;br /&gt;
| Called when a new entity is created. At this point the entity is not spawned yet and may not be fully initialized.&lt;br /&gt;
| &amp;lt;code&amp;gt;ON_HANDLED&amp;lt;/code&amp;gt;&lt;br /&gt;
| All&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Player Hooks ===&lt;br /&gt;
&amp;lt;code&amp;gt;Hooks::Player::&amp;lt;/code&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- style=&amp;quot;font-weight:bold; text-align:center; vertical-align:middle;&amp;quot;&lt;br /&gt;
! Constant&lt;br /&gt;
! Signature&lt;br /&gt;
! style=&amp;quot;border-color:inherit;&amp;quot; | Description&lt;br /&gt;
! style=&amp;quot;border-color:inherit;&amp;quot; | Stop Mode&lt;br /&gt;
! style=&amp;quot;border-color:inherit;&amp;quot; | Availability&lt;br /&gt;
|- style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color:#F8F9FA; color:#202122;&amp;quot; | &amp;lt;code&amp;gt;CanPlayerUseReservedSlot&lt;br /&gt;
| style=&amp;quot;background-color:#F8F9FA; color:#202122;&amp;quot; | &amp;lt;code&amp;gt;HookReturnCode Function( edict_t@ pEntity, const string&amp;amp; in szPlayerName, const string&amp;amp; in szIPAddress, bool&amp;amp; out bAllowJoin )&lt;br /&gt;
| style=&amp;quot;background-color:#F8F9FA; color:#202122; border-color:inherit;&amp;quot; | Called when a player connects to the server, and the number of slots left on the server is &amp;lt;= the number of reserved slots. Set bAllowJoin to true to allow the player to join (default false).&amp;lt;br /&amp;gt;Note: At this point in time the player’s CBasePlayer instance does not yet exist. Do not try to use it, as it will not work.&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | &amp;lt;code&amp;gt;ON_HANDLED&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | Plugins only&lt;br /&gt;
|- style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color:#F8F9FA; color:#202122;&amp;quot; | &amp;lt;code&amp;gt;ClientConnected&lt;br /&gt;
| style=&amp;quot;background-color:#F8F9FA; color:#202122;&amp;quot; | &amp;lt;code&amp;gt;HookReturnCode Function( edict_t@ pEntity, const string&amp;amp; in szPlayerName, const string&amp;amp; in szIPAddress, bool&amp;amp; out bDisallowJoin, string&amp;amp; out szRejectReason )&lt;br /&gt;
| style=&amp;quot;background-color:#F8F9FA; color:#202122; border-color:inherit;&amp;quot; | Called when a player connects to the server. if bDisallowJoin is set to false, the player is disconnected. szRejectReason is shown to the player if disconnected. the maximum length of the reject reason string is 127 characters.&amp;lt;br /&amp;gt;Note: At this point in time the player’s CBasePlayer instance does not yet exist. Do not try to use it, as it will not work.&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | &amp;lt;code&amp;gt;CALL_ALL&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | Plugins only&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; background-color:#F8F9FA; color:#202122;&amp;quot; | &amp;lt;code&amp;gt;ClientPutInServer&lt;br /&gt;
| style=&amp;quot;background-color:#F8F9FA; color:#202122;&amp;quot; | &amp;lt;code&amp;gt;HookReturnCode Function( CBasePlayer@ pPlayer )&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; background-color:#F8F9FA; color:#202122; border-color:inherit;&amp;quot; | Called when a player has finished connecting and is put into the world. It is safe to send network messages to the player at this point.&amp;lt;br /&amp;gt;The player’s CBasePlayer instance is created right before this hook is executed.&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; border-color:inherit;&amp;quot; | &amp;lt;code&amp;gt;CALL_ALL&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; border-color:inherit;&amp;quot; | All&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ClientDisconnect&lt;br /&gt;
| &amp;lt;code&amp;gt;HookReturnCode Function( CBasePlayer@ pPlayer )&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | Called when a player disconnects. Note that this is only called if the player was fully connected, meaning the player went through ClientPutInServer. This is never called for the local host, since it can’t disconnect before shutting the server itself down.&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | &amp;lt;code&amp;gt;CALL_ALL&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | All&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ClientSay&lt;br /&gt;
| &amp;lt;code&amp;gt;HookReturnCode Function( SayParameters@ pParams )&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | Called when a player says something in game chat. The SayParameters class can be used to manipulate input and veto the message.&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | &amp;lt;code&amp;gt;ON_HANDLED&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | All&lt;br /&gt;
|- style=&amp;quot;border-color:inherit;&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;GetPlayerSpawnSpot&lt;br /&gt;
| &amp;lt;code&amp;gt;HookReturnCode Function( CBasePlayer@ pPlayer, CBaseEntity@&amp;amp; out ppEntSpawnSpot )&lt;br /&gt;
| Called when the game is trying to find a spawn spot for a player. To specify a spawn spot (or no spawn spot), set ppEntSpawnSpot to the spot you wish to use, and return HOOK_HANDLED. Setting null will cause the game to spawn the player dead.&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|- style=&amp;quot;border-color:inherit;&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PlayerSpawn&lt;br /&gt;
| &amp;lt;code&amp;gt;HookReturnCode Function( CBasePlayer@ pPlayer )&lt;br /&gt;
| Called when a player (re)spawns. Player render settings and equipment changes are unavailable at this point.&lt;br /&gt;
| &amp;lt;code&amp;gt;CALL_ALL&lt;br /&gt;
| All&lt;br /&gt;
|- style=&amp;quot;border-color:inherit;&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PlayerCanRespawn&lt;br /&gt;
| &amp;lt;code&amp;gt;HookReturnCode Function( CBasePlayer@ pPlayer, bool&amp;amp; out bCanRespawn )&lt;br /&gt;
| Called when the game wants to know if the player should be able to respawn or not. Set bCanRespawn to false to disallow, default true.&lt;br /&gt;
| &amp;lt;code&amp;gt;ON_HANDLED&lt;br /&gt;
| All&lt;br /&gt;
|- style=&amp;quot;border-color:inherit;&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PlayerTakeDamage&lt;br /&gt;
| &amp;lt;code&amp;gt;HookReturnCode PlayerTakeDamageHook( DamageInfo@ pDamageInfo )&lt;br /&gt;
| Called when a player takes damage. Note that the victim entity can’t be changed at this point.&lt;br /&gt;
| &lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | &amp;lt;code&amp;gt;PlayerKilled&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | &amp;lt;code&amp;gt;HookReturnCode Function( CBasePlayer@ pPlayer, CBaseEntity@ pAttacker, int iGib )&lt;br /&gt;
| Called when a player is killed. pAttacker is the entity responsible for killing the player, and may be null. iGib is one of the GIB enum values, indicating whether or not the player should be gibbed or not.&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | All&lt;br /&gt;
|- style=&amp;quot;border-color:inherit;&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PlayerRevived&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;HookReturnCode Function( CBasePlayer@ pPlayer )&amp;lt;/code&amp;gt;&lt;br /&gt;
| Called when a player is revived. At this point all the revival process is finished.&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | &amp;lt;code&amp;gt;CALL_ALL&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | All&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PlayerUse&lt;br /&gt;
| &amp;lt;code&amp;gt;HookReturnCode Function( CBasePlayer@ pPlayer, uint&amp;amp; out uiFlags )&lt;br /&gt;
| Called when the game is processing player button input. Note that this occurs even if the player has not pressed any keys. uiFlags is used to skip player use processing after the hook returns. Setting the flag PlrHook_SkipUse will skip processing.&lt;br /&gt;
| &lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | &amp;lt;code&amp;gt;PlayerPreThink&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | &amp;lt;code&amp;gt;HookReturnCode Function( CBasePlayer@ pPlayer, uint&amp;amp; out uiFlags )&lt;br /&gt;
| Called when the player is processing pre think events. uiFlags is used to skip pre think processing after the hook returns. Setting the flag PlrHook_SkipVehicles will skip vehicle processing.&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | All&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | &amp;lt;code&amp;gt;PlayerPostThink&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | &amp;lt;code&amp;gt;HookReturnCode Function( CBasePlayer@ pPlayer )&lt;br /&gt;
| Called when the player is processing post think events.&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | All&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PlayerPreDecal&lt;br /&gt;
| &amp;lt;code&amp;gt;HookReturnCode Function( CBasePlayer@, const TraceResult&amp;amp; in, bool&amp;amp; out bResult)&lt;br /&gt;
| Called when a player attempts to spraypaint a decal onto a surface. The given trace result contains the surface information. Set bResult to false if the player shouldn’t be able to spray.&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | Plugins only&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PlayerDecal&lt;br /&gt;
| &amp;lt;code&amp;gt;HookReturnCode Function( CBasePlayer@ pPlayer, const TraceResult&amp;amp; in trace )&lt;br /&gt;
| Called when a player is spraypainting a decal onto a surface. The given trace result contains the surface information.&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | Plugins only&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PlayerEnteredObserver&lt;br /&gt;
| &amp;lt;code&amp;gt;HookReturnCode Function( CBasePlayer@ pPlayer )&lt;br /&gt;
| Called when a player enters observer mode.&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | All&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PlayerLeftObserver&lt;br /&gt;
| &amp;lt;code&amp;gt;HookReturnCode Function( CBasePlayer@ pPlayer )&lt;br /&gt;
| Called when a player leaves observer mode.&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | All&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Monster Hooks ===&lt;br /&gt;
&amp;lt;code&amp;gt;Hooks::Monster::&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Players are technically CBaseMonster instances, so player TakeDamage and Killed events will also be hooked. Ensure the function code accommodates for this.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Constant&lt;br /&gt;
! Signature&lt;br /&gt;
! Description&lt;br /&gt;
! Stop Mode&lt;br /&gt;
! Availability&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;MonsterKilledHook&lt;br /&gt;
| &amp;lt;code&amp;gt;HookReturnCode Function( CBaseMonster@ pMonster, CBaseEntity@ pAttacker, int iGib )&lt;br /&gt;
| Called when a monster is killed (This hook isn’t called for grenade entities/monster_sentry/monster_barnacle).&amp;lt;br /&amp;gt;This hook may have spam issues.&lt;br /&gt;
| &amp;lt;code&amp;gt;ON_HANDLED&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;MonsterTakeDamage&lt;br /&gt;
| &amp;lt;code&amp;gt;HookReturnCode Function( DamageInfo@ pDamageInfo )&lt;br /&gt;
| Called when a monster takes damage.&lt;br /&gt;
| &amp;lt;code&amp;gt;ON_HANDLED&lt;br /&gt;
| All&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Weapon Hooks ===&lt;br /&gt;
&amp;lt;code&amp;gt;Hooks::Weapon::&amp;lt;/code&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Constant&lt;br /&gt;
! Signature&lt;br /&gt;
! Description&lt;br /&gt;
! Stop Mode&lt;br /&gt;
! Availability&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;WeaponPrimaryAttack&lt;br /&gt;
| &amp;lt;code&amp;gt;HookReturnCode Function( CBasePlayer@ pPlayer, CBasePlayerWeapon@ pWeapon )&lt;br /&gt;
| Called when a player fires a weapon&#039;s primary attack.&lt;br /&gt;
| &amp;lt;code&amp;gt;ON_HANDLED&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;WeaponSecondaryAttack&lt;br /&gt;
| &amp;lt;code&amp;gt;HookReturnCode Function( CBasePlayer@ pPlayer, CBasePlayerWeapon@ pWeapon )&lt;br /&gt;
| Called when a player fires a weapon&#039;s secondary attack.&lt;br /&gt;
| &amp;lt;code&amp;gt;ON_HANDLED&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;WeaponTertiaryAttack&lt;br /&gt;
| &amp;lt;code&amp;gt;HookReturnCode Function( CBasePlayer@ pPlayer, CBasePlayerWeapon@ pWeapon )&lt;br /&gt;
| Called when a player fires a weapon&#039;s tertiary attack.&lt;br /&gt;
| &amp;lt;code&amp;gt;ON_HANDLED&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;WeaponReload&lt;br /&gt;
| &amp;lt;code&amp;gt;HookReturnCode Function( CBasePlayer@ pPlayer, CBasePlayerWeapon@ pWeapon )&lt;br /&gt;
| Called a player reloads a weapon (or calls BaseClass::Reload()).&lt;br /&gt;
| &amp;lt;code&amp;gt;CALL_ALL&lt;br /&gt;
| All&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Pickup Hooks ===&lt;br /&gt;
&amp;lt;code&amp;gt;Hooks::PickupObject::&amp;lt;/code&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Constant&lt;br /&gt;
! Signature&lt;br /&gt;
! Description&lt;br /&gt;
! Stop Mode&lt;br /&gt;
! Availability&lt;br /&gt;
|- style=&amp;quot;border-color:inherit;&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;Materialize&lt;br /&gt;
| &amp;lt;code&amp;gt;HookReturnCode Function( CBaseEntity@ pPickup )&lt;br /&gt;
| Called when a pickup object materializes.&lt;br /&gt;
| &amp;lt;code&amp;gt;CALL_ALL&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | &amp;lt;code&amp;gt;CanCollect&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | &amp;lt;code&amp;gt;HookReturnCode Function( CBaseEntity@ pPickup, CBaseEntity@ pOther, bool&amp;amp; out bResult )&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | Called when a pickup object is about to be collected by a player. Note that basic checks are done before this hook is called. Set bResult to false if the player shouldn’t be able to pick up the object.&lt;br /&gt;
| &amp;lt;code&amp;gt;ON_HANDLED&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | All&lt;br /&gt;
|- style=&amp;quot;border-color:inherit;&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;Collected&lt;br /&gt;
| &amp;lt;code&amp;gt;HookReturnCode Function( CBaseEntity@ pPickup, CBaseEntity@ pOther )&lt;br /&gt;
| Called when a pickup object is collected by a player.&lt;br /&gt;
| &amp;lt;code&amp;gt;CALL_ALL&lt;br /&gt;
| All&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Outerbeast</name></author>
	</entry>
	<entry>
		<id>https://wiki.svencoop.com/index.php?title=EHandle&amp;diff=1405</id>
		<title>EHandle</title>
		<link rel="alternate" type="text/html" href="https://wiki.svencoop.com/index.php?title=EHandle&amp;diff=1405"/>
		<updated>2026-02-01T19:03:23Z</updated>

		<summary type="html">&lt;p&gt;Outerbeast: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This type is used to store a handle to an entity across multiple frames: either in global state, or shared state as passed around in scheduled functions or in class fields.&lt;br /&gt;
&lt;br /&gt;
If the entity is removed, EHandle will return null instead. Using EHandle is very easy:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
EHandle g_hHandle;&lt;br /&gt;
&lt;br /&gt;
void StoreEntity( CBaseEntity@ pEntity )&lt;br /&gt;
{&lt;br /&gt;
    g_hHandle = pEntity; // CBaseEntity@ (and child types) instances implicitly cast to EHandle&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void DoSomethingWithStoredEntity()&lt;br /&gt;
{&lt;br /&gt;
    if( g_hHandle ) // Check if the EHandle is valid first before using it.&lt;br /&gt;
    {&lt;br /&gt;
        CBaseEntity@ pEntity = g_hHandle.GetEntity();&lt;br /&gt;
&lt;br /&gt;
        //Do something with &amp;quot;pEntity&amp;quot;&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You should always check if the handle is valid before using it, otherwise, Angelscript will stop executing and raise an error.&lt;br /&gt;
&lt;br /&gt;
You should always use EHandle when storing entity handles, unless you know that it will only be used in current frame. Even then, it is safer to use EHandle to avoid problems.&lt;br /&gt;
&lt;br /&gt;
Never declare a CBase* handle as a global or member variable, always use EHandle.&lt;br /&gt;
&lt;br /&gt;
For the same reason, avoid passing CBase* handles through scheduled function/method parameters. In situations where you have to pass an entity through a scheduled function, its recommended to overload the scheduled function changing the CBase* parameter to EHandle and scheduling that overload:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
void ScheduleEntity( CBaseEntity@ pEntity )&lt;br /&gt;
{&lt;br /&gt;
    // This will schedule &amp;quot;DoSomethingWithEntity( CBaseEntity@ pEntity )&amp;quot; - unsafe, avoid doing this&lt;br /&gt;
    // g_Scheduler.SetTimeout( &amp;quot;DoSomethingWithEntity&amp;quot;, 0.0f, pEntity );&lt;br /&gt;
    &lt;br /&gt;
    // This will schedule &amp;quot;DoSomethingWithEntity( EHandle hEntity )&amp;quot; - safe&lt;br /&gt;
    g_Scheduler.SetTimeout( &amp;quot;DoSomethingWithEntity&amp;quot;, 0.0f, EHandle( pEntity ) );&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void DoSomethingWithEntity( CBaseEntity@ pEntity ) // Original function&lt;br /&gt;
{&lt;br /&gt;
    pEntity.DoSomething();&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void DoSomethingWithEntity( EHandle hEntity ) // Overload&lt;br /&gt;
{&lt;br /&gt;
    if( hEntity )&lt;br /&gt;
        DoSomethingWithEntity( hEntity.GetEntity() );&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Methods ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- style=&amp;quot;font-weight:bold; text-align:center; vertical-align:middle;&amp;quot;&lt;br /&gt;
! Declaration&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;void EHandle()&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | Default constructs this handle.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;void EHandle(const EHandle&amp;amp; in other)&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | Copy constructs this handle.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;void EHandle(CBaseEntity@ pEntity)&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | Constructs this handle with a reference to the given entity.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;bool IsValid() const&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | Returns whether this handle is valid.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;bool opImplConv() const&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | Returns whether this handle is valid.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;CBaseEntity@ GetEntity() const&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | Gets the Entity this handle refers to.&amp;lt;br /&amp;gt;Returns null if invalid.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;CBaseEntity@ opImplCast() const&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | Gets the Entity this handle refers to.&amp;lt;br /&amp;gt;Returns null if invalid.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;CBaseEntity@ opAssign(CBaseEntity@ pEntity)&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | Assigns the given entity to this handle.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;EHandle&amp;amp; opAssign(const EHandle&amp;amp; in other)&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | Makes this handle refer to the same entity as the given handle.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;int GetSerialNumber() const&lt;br /&gt;
| CBaseEntity serial number. Used to determine if the entity is still valid.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Outerbeast</name></author>
	</entry>
	<entry>
		<id>https://wiki.svencoop.com/index.php?title=SayParameters&amp;diff=1404</id>
		<title>SayParameters</title>
		<link rel="alternate" type="text/html" href="https://wiki.svencoop.com/index.php?title=SayParameters&amp;diff=1404"/>
		<updated>2026-01-30T15:51:39Z</updated>

		<summary type="html">&lt;p&gt;Outerbeast: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The SayParameters class contains a player&#039;s text data when they say something in game chat. It can be used to interpret the text as though it were a command, and its visibility can be controlled.&lt;br /&gt;
This is used for ClientSay hook.&lt;br /&gt;
&lt;br /&gt;
It has a single property &amp;lt;code&amp;gt;bool ShouldHide&amp;lt;/code&amp;gt;: Controls whether this text will be hidden or not. This is implemented as a property accessor and mutator. Default false.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold; text-align:center;&amp;quot;&lt;br /&gt;
! Function&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;CBasePlayer@ GetPlayer() const&lt;br /&gt;
| Gets the player that is saying something.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ClientSayType GetSayType() const&lt;br /&gt;
| Gets the say type of this text:&amp;lt;br/&amp;gt; &lt;br /&gt;
* &amp;lt;code&amp;gt;CLIENTSAY_SAY&amp;lt;/code&amp;gt;	0	Say&lt;br /&gt;
* &amp;lt;code&amp;gt;CLIENTSAY_SAYTEAM&amp;lt;/code&amp;gt;	1	Say team&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;const string&amp;amp; GetCommand() const&lt;br /&gt;
| Gets the entire command string.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;const CCommand@ GetArguments() const&lt;br /&gt;
| Gets the arguments in this command.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Outerbeast</name></author>
	</entry>
	<entry>
		<id>https://wiki.svencoop.com/index.php?title=Tracing&amp;diff=1403</id>
		<title>Tracing</title>
		<link rel="alternate" type="text/html" href="https://wiki.svencoop.com/index.php?title=Tracing&amp;diff=1403"/>
		<updated>2026-01-30T15:48:04Z</updated>

		<summary type="html">&lt;p&gt;Outerbeast: /* Trace methods */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Traces are used to perform hit detection, which is handled by the engine. It is one of the primary means of handling navigation and hit detection in the game.&lt;br /&gt;
&lt;br /&gt;
== TraceResult ==&lt;br /&gt;
The &amp;lt;code&amp;gt;TraceResult&amp;lt;/code&amp;gt; class stores trace results that are performed by trace methods. Passing in a TraceResult object into a given trace method will modify the object, and so the results from the trace method can be accessed. Not all trace operations require the use of a &amp;lt;code&amp;gt;TraceResult&amp;lt;/code&amp;gt; object.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold; text-align:center;&amp;quot;&lt;br /&gt;
! Variable&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;int fAllSolid&lt;br /&gt;
| Flag telling whether the trace started and ended in a solid area. If true, the plane is not valid.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;int fStartSolid&lt;br /&gt;
| Flag telling whether the trace started in a solid area.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;int fInOpen&lt;br /&gt;
| Flag telling whether the trace ended in empty space.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;int fInWater&lt;br /&gt;
| Flag telling whether the trace ended in water.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;float flFraction&lt;br /&gt;
| How much of the trace&#039;s total distance was covered. 1.0 means it didn&#039;t hit anything.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Vector vecEndPos&lt;br /&gt;
| End position. If flFraction is 1.0, this is invalid.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;float flPlaneDist&lt;br /&gt;
| Brush plane distance. This appears to be the dot product between the first plane point and the normal. Its purpose is unknown, and there are no known uses. If flFraction is 1.0, this is invalid. If the hit object is not a brush, this is invalid.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Vector vecPlaneNormal&lt;br /&gt;
| Brush plane normal. If flFraction is 1.0, this is invalid. If the hit object is not a brush, this is invalid.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;edict_t@ pHit&lt;br /&gt;
| Hit entity. If flFraction is 1.0, this is null.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;int iHitgroup&lt;br /&gt;
| Studio model hit group. if flFraction is 1.0, this is invalid. If the hit object is not a studio model, this is invalid.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Trace methods ==&lt;br /&gt;
Supported trace operations are listed below and are accessible via the [[CUtility#Tracing_methods|CUtility]] class.&lt;br /&gt;
A global instance exists:&lt;br /&gt;
&amp;lt;code&amp;gt;CUtility g_Utility;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: The method &amp;lt;code&amp;gt;TankTrace&amp;lt;/code&amp;gt; belongs to the CBaseTank class.&lt;br /&gt;
&lt;br /&gt;
There are a number of traces that can be performed:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold; text-align:center;&amp;quot;&lt;br /&gt;
! Method&lt;br /&gt;
! Description&lt;br /&gt;
! Bounds&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;void TraceLine(const Vector&amp;amp; in vecStart, const Vector&amp;amp; in vecEnd, IGNORE_MONSTERS igmon, edict_t@ pEntIgnore, TraceResult&amp;amp; out ptr)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Calculates a trace along the given line, storing the results in ptr. If &amp;lt;code&amp;gt;igmon&amp;lt;/code&amp;gt; is ignore_monsters, entities with a solid setting other than SOLID_BSP and a movetype other than MOVETYPE_PUSHSTEP (pushables) are ignored. If &amp;lt;code&amp;gt;pEntIgnore&amp;lt;/code&amp;gt; is set, the entity will not be considered in traceline calculations.&lt;br /&gt;
| Uses point based bounds (zeroed out mins and maxs)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;void TraceLine(const Vector&amp;amp; in vecStart, const Vector&amp;amp; in vecEnd, IGNORE_MONSTERS igmon, IGNORE_GLASS ignoreGlass, edict_t@ pEntIgnore, TraceResult&amp;amp; out ptr)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Same as the above function, but also allows you to specify whether or not to ignore glass. If ignore_glass is specified, brush entities with a render mode other than normal and that don&#039;t have the &amp;lt;code&amp;gt;FL_WORLDBRUSH&amp;lt;/code&amp;gt; flag set are ignored.&lt;br /&gt;
| Uses point based bounds (zeroed out mins and maxs)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;void TraceHull(const Vector&amp;amp; in vecStart, const Vector&amp;amp; in vecEnd, IGNORE_MONSTERS igmon, HULL_NUMBER hullNumber, edict_t@ pEntIgnore, TraceResult&amp;amp; out ptr)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Similar to TraceLine, but will use the specified hull&#039;s bounds instead of point based bounds.&lt;br /&gt;
| Uses the specified hull&#039;s bounds. Maps can specify these bounds in newer compilers, so avoid assuming a particular value is in use.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;void TraceToss(edict_t@ pEntity, edict_t@ pEntityToIgnore, TraceResult&amp;amp; out traceResult)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Traces a toss. This simulates tossing the entity using its current origin, velocity, angular velocity, angles and gravity. Note that this does not use the same code as MOVETYPE_TOSS, and may return different results.&lt;br /&gt;
| Uses the given entity&#039;s bounds.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;bool TraceMonsterHull(edict_t@ pEntity, const Vector&amp;amp; in vecStart, const Vector&amp;amp; in vecEnd, IGNORE_MONSTERS igmon, edict_t@ pEntityToIgnore, TraceResult&amp;amp; out ptr)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Performs a trace using the given entity&#039;s mins and maxs. This can be any entity, not just monsters. Returns true if the trace was entirely in a solid object, or if it hit something.&lt;br /&gt;
| Uses the given entity&#039;s bounds.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;void TraceModel(const Vector&amp;amp; in vecStart, const Vector&amp;amp; in vecEnd, int iHullNumber, edict_t@ pEntityToIgnore, TraceResult&amp;amp; out ptr)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Similar to TraceHull, but will instead perform a trace in the given world hull using the given entity&#039;s model&#039;s hulls. For studio models this will use the model&#039;s hitboxes.&lt;br /&gt;
| If the given entity&#039;s model is a studio model, uses its hitboxes. If it&#039;s a brush model, the brush model&#039;s hull for the given hull number is used (this may differ if custom brush hull sizes are in use). Otherwise, the entity bounds are converted into a hull.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;string TraceTexture(edict_t@ pEntity, const Vector&amp;amp; in vecStart, const Vector&amp;amp; in vecEnd)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Used to get the name of a texture. The given entity must have a brush model set. If the traceline intersects the model, the name of the texture of the surface it intersected is returned. Otherwise, returns an empty string.&lt;br /&gt;
| Uses point based bounds (zeroed out mins and maxs). CUtility::GetGlobalTrace() can be used to obtain this trace.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;void FindHullIntersection(const Vector&amp;amp; in vecSrc, TraceResult&amp;amp; in inTr, TraceResult&amp;amp; out outTr, const Vector&amp;amp; in vecMins, const Vector&amp;amp; in vecMaxs, edict_t@ pEntity, float flDistance = 1e6f)&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | Finds the hull intersection from a traceline in a given set of bounds.&amp;lt;br /&amp;gt;The given entity is the entity performing the traceline.&lt;br /&gt;
| The bounds are relative to the input traceline&#039;s endpoint.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;void TankTrace(const Vector&amp;amp; in vecStart, const Vector&amp;amp; in vecForward, const Vector&amp;amp; in vecSpread, TraceResult&amp;amp; out tr)&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | Performs a traceline using a random spread based on the given spread amount.&amp;lt;br&amp;gt;This is a CBaseTank method.&lt;br /&gt;
| Uses point based bounds (zeroed out mins and maxs)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;TraceResult GetGlobalTrace()&amp;lt;code&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | Gets the global trace data stored in g_Engine as a TraceResult object.&amp;lt;br/&amp;gt;Results from entity Touch methods are obtained from this&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Enums ==&lt;br /&gt;
===== IGNORE_MONSTERS =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold; text-align:center;&amp;quot;&lt;br /&gt;
! Constant&lt;br /&gt;
! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| dont_ignore_monsters&lt;br /&gt;
| Don&#039;t ignore monsters.&lt;br /&gt;
|-&lt;br /&gt;
| ignore_monsters&lt;br /&gt;
| Ignore monsters.&lt;br /&gt;
|-&lt;br /&gt;
| missile&lt;br /&gt;
| The trace bounds are set to mins -15, -15, -15 and maxs 15, 15, 15. Otherwise, the bounds are specified by the traceline operation.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== IGNORE_GLASS =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold; text-align:center;&amp;quot;&lt;br /&gt;
! Constant&lt;br /&gt;
! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| dont_ignore_glass&lt;br /&gt;
| Don&#039;t ignore glass.&lt;br /&gt;
|-&lt;br /&gt;
| ignore_glass&lt;br /&gt;
| Ignore glass.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== HULL_NUMBER =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold; text-align:center;&amp;quot;&lt;br /&gt;
! Constant&lt;br /&gt;
! Hull #&lt;br /&gt;
! Default Mins&lt;br /&gt;
! Default Maxs&lt;br /&gt;
! Default Size&lt;br /&gt;
|-&lt;br /&gt;
| point_hull&lt;br /&gt;
| 0&lt;br /&gt;
| 0, 0, 0&lt;br /&gt;
| 0, 0, 0&lt;br /&gt;
| 0x0x0&lt;br /&gt;
|-&lt;br /&gt;
| human_hull&lt;br /&gt;
| 1&lt;br /&gt;
| -16, -16, -36&lt;br /&gt;
| 16, 16, 36&lt;br /&gt;
| 32x32x72&lt;br /&gt;
|-&lt;br /&gt;
| large_hull&lt;br /&gt;
| 2&lt;br /&gt;
| -32, -32, -32&lt;br /&gt;
| 32, 32, 32&lt;br /&gt;
| 64x64x64&lt;br /&gt;
|-&lt;br /&gt;
| head_hull&lt;br /&gt;
| 3&lt;br /&gt;
| -16, -16, -18&lt;br /&gt;
| 16, 16, 18&lt;br /&gt;
| 32x32x36&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Outerbeast</name></author>
	</entry>
	<entry>
		<id>https://wiki.svencoop.com/index.php?title=Running_Scripts&amp;diff=1402</id>
		<title>Running Scripts</title>
		<link rel="alternate" type="text/html" href="https://wiki.svencoop.com/index.php?title=Running_Scripts&amp;diff=1402"/>
		<updated>2025-11-28T17:44:46Z</updated>

		<summary type="html">&lt;p&gt;Outerbeast: /* Plugin List File */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Sven Co-op allows you to install scripts into the game through two main ways: map scripts and plugins.&lt;br /&gt;
&lt;br /&gt;
* Map scripts run when a map is launched and terminate when a map ends&lt;br /&gt;
* Plugins run when the server is launched and continues to run until the server closes&lt;br /&gt;
&lt;br /&gt;
Some API methods are exclusive to map scripts and some are exclusive to plugins.&lt;br /&gt;
&lt;br /&gt;
== Execution ==&lt;br /&gt;
&lt;br /&gt;
Scripts that are executed by the game have a few standard hooks in it that let you react to state changes in the game. These state changes cover the loading of maps, not gameplay state changes.&lt;br /&gt;
&lt;br /&gt;
Note: These methods can not be used inside a class or namespace.&lt;br /&gt;
&lt;br /&gt;
===== MapInit =====&lt;br /&gt;
When a new map is started, all scripts are initialized by calling their MapInit function.&lt;br /&gt;
&lt;br /&gt;
It has the following signature:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
void MapInit()&lt;br /&gt;
{&lt;br /&gt;
	// Code here&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
MapInit is called after all entities in the map have been created and spawned, but before they are activated. The sound list isn&#039;t written until after activation, which allows MapInit to precache sounds.&lt;br /&gt;
&lt;br /&gt;
You cannot trigger entities in MapInit: not all entities created by other entities have been spawned yet. After MapInit has executed, the engine runs 2 frames of game logic and physics to start things up properly.&lt;br /&gt;
&lt;br /&gt;
For this reason, if you want to trigger entities, either use MapStart, or use the scheduler to schedule a function for execution after the required amount of time. In this function you can trigger any entities you want.&lt;br /&gt;
&lt;br /&gt;
If you&#039;re writing a map script and have any hooks you want to register, MapInit is where you should do it. It isn&#039;t required, but it&#039;s guaranteed to happen before any hooks are called.&lt;br /&gt;
&lt;br /&gt;
If you have any custom entities to register or content to precache, it should be done in MapInit.&lt;br /&gt;
&lt;br /&gt;
===== MapActivate =====&lt;br /&gt;
Like MapInit, only called after all mapper placed entities have been activated and the sound list has been written.&lt;br /&gt;
It has the following signature:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
void MapActivate()&lt;br /&gt;
{&lt;br /&gt;
	// Code here&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From this point onwards you are unable to register entities, or precache anything else as the sound list and resource list are already written and are ready to be sent to the player as soon as they connect.&lt;br /&gt;
&lt;br /&gt;
===== MapStart =====&lt;br /&gt;
Called after 0.1 seconds of game activity, this is used to simplify the triggering on map start.&lt;br /&gt;
Think of it as trigger_auto, only as a script function.&lt;br /&gt;
It has the following signature:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
void MapStart()&lt;br /&gt;
{&lt;br /&gt;
	// Code here&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Map Scripts ==&lt;br /&gt;
Sven Co-op allows maps to use scripts. A map script is active as long as the map itself is active, and can manipulate just about everything in the map.&lt;br /&gt;
&lt;br /&gt;
===== A Simple Map Script =====&lt;br /&gt;
The simplest map script is an empty script, since there are no required parts to it. As covered by the Script fundamentals documentation, there are a few functions that are automatically called. Here&#039;s a script that will output &amp;quot;Hello World!&amp;quot; without quotes to the console when the script is initialized:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
void MapInit()&lt;br /&gt;
{&lt;br /&gt;
	g_Game.AlertMessage( at_console, &amp;quot;Hello World!\n&amp;quot; );&lt;br /&gt;
}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Where to place map scripts&lt;br /&gt;
Map scripts must be placed in the scripts/maps directory. You can place them in a subdirectory if you want, but be aware that using long paths can cause issues, so avoid using deeply nested paths and long directory names.&lt;br /&gt;
&lt;br /&gt;
It is recommended that you use directories to group scripts together to avoid cluttering the main directory, and to avoid using the same name as other scripts. Using the name of the map or map series you&#039;re making the script(s) for will usually suffice.&lt;br /&gt;
&lt;br /&gt;
How to load map scripts&lt;br /&gt;
There are 2 ways to load map scripts: by specifying it in the map cfg, or in a trigger_script entity. The starting directory is scripts/maps.&lt;br /&gt;
&lt;br /&gt;
When using a map cfg to specify it, you must use the map_script command. You can use this command multiple times to specify multiple scripts.&lt;br /&gt;
&lt;br /&gt;
For example:&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;map_script HLSP&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When using a trigger_script, specifying a script name in &amp;quot;Script to load&amp;quot; (m_iszScriptFile) will load it as though it were specified in the map cfg.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Console commands&lt;br /&gt;
There are a few console commands that apply to map scripts:&lt;br /&gt;
&lt;br /&gt;
Command name	Purpose	Admin only?&lt;br /&gt;
as_listmapscriptinfo	Outputs map script information	No&lt;br /&gt;
as_scriptbaseclasses	Shows the custom entity base class implementations (Warning: creates a substantial amount of console output!)	Yes&lt;br /&gt;
API availability&lt;br /&gt;
Most of the API is available for map scripts to use, but there are a few things that are exclusive to them:&lt;br /&gt;
&lt;br /&gt;
Entity user data: only map scripts can use this to avoid plugins altering the behavior of map scripts.&lt;br /&gt;
Custom entities: both map scripts and plugins can define and use custom entities. In the past this used to be available only for map scripts to avoid plugins from altering the gameplay of a map, and to avoid creating problems when plugins are (re)loaded while a map is active, this is no longer the case.&lt;br /&gt;
Entity loader: since this behaves like the map loading process, only map scripts can access it to prevent plugins from altering gameplay.&lt;br /&gt;
map and map temp directories in the filesystem: Ability to read/write files in these directories is restricted to map scripts.&lt;br /&gt;
* trigger_script&lt;br /&gt;
&#039;&#039;&#039;Hooks:&#039;&#039;&#039;&lt;br /&gt;
* PrimaryAttack&lt;br /&gt;
* SecondaryAttack&lt;br /&gt;
* TertiaryAttack&lt;br /&gt;
* PlayerUse&lt;br /&gt;
* PlayerPreThink&lt;br /&gt;
* PlayerPostThink&lt;br /&gt;
* GetPlayerSpawnSpot&lt;br /&gt;
Consult the documentation for the respective features for more information. For information on which parts of the API are exclusive to other script types, consult their documentation.&lt;br /&gt;
&lt;br /&gt;
== Plugins ==&lt;br /&gt;
Sven Co-op supports the use of plugins for servers. This allows you to write scripts that run as long as the server is active, allowing you to do almost as much you can do in a map script.&lt;br /&gt;
&lt;br /&gt;
=== A Simple Plugin ===&lt;br /&gt;
The minimum requirements for a plugin are that it provides a PluginInit function, and properly sets up the author and contact info fields. This is to prevent plugins with no known source from existing.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void PluginInit()&lt;br /&gt;
{&lt;br /&gt;
	g_Module.ScriptInfo.SetAuthor( &amp;quot;Sven Co-op Development Team&amp;quot; );&lt;br /&gt;
	g_Module.ScriptInfo.SetContactInfo( &amp;quot;www.svencoop.com&amp;quot; );&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In order to prevent malicious scripts from altering this information, you can only set this information from PluginInit itself. It should be the first thing you do in PluginInit, to avoid any confusion.&lt;br /&gt;
&lt;br /&gt;
=== Where to place plugins ===&lt;br /&gt;
Plugins must be placed in the scripts/plugins directory. You can place them in a subdirectory if you want, but be aware that using long paths can cause issues, so avoid using deeply nested paths and long directory names.&lt;br /&gt;
&lt;br /&gt;
It is recommended that you use directories to group scripts together to avoid cluttering the main directory, and to avoid using the same name as other scripts.&lt;br /&gt;
&lt;br /&gt;
=== Plugin List File ===&lt;br /&gt;
The plugin list file is a text file, using the Keyvalues format, that contains a list of all plugins that the server will load.&lt;br /&gt;
&lt;br /&gt;
The list uses the following format:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;quot;plugins&amp;quot;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;plugin&amp;quot;&lt;br /&gt;
	{&lt;br /&gt;
		&amp;quot;name&amp;quot; &amp;quot;PluginName&amp;quot;&lt;br /&gt;
		&amp;quot;script&amp;quot; &amp;quot;PluginScriptName&amp;quot;&lt;br /&gt;
		&amp;quot;adminlevel&amp;quot; &amp;quot;&amp;lt;admin level&amp;gt;&amp;quot;&lt;br /&gt;
		&amp;quot;concommandns&amp;quot; &amp;quot;pluginns&amp;quot;&lt;br /&gt;
                &amp;quot;included_maps&amp;quot; &amp;quot;list;of;bsp;names;seperated;by;semicolons&amp;quot;&lt;br /&gt;
                &amp;quot;excluded_maps&amp;quot; &amp;quot;list;of;bsp;names;seperated;by;semicolons&amp;quot;&lt;br /&gt;
	}&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
Each plugin has its own plugin block, which contains 2 required keyvalues: name and script. These define the name of the plugin (case insensitive, no duplicates allowed) and the main script file to include.&lt;br /&gt;
&lt;br /&gt;
The adminlevel keyvalue is optional, and defines the minimum admin level required for players to use console commands and hooks that have the admin flag set, such as the ClientSay hook. You must choose one of these possible values:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold; text-align:center;&amp;quot;&lt;br /&gt;
! Name&lt;br /&gt;
! Who can use commands&lt;br /&gt;
|-&lt;br /&gt;
| ADMIN_NO&lt;br /&gt;
| All players&lt;br /&gt;
|-&lt;br /&gt;
| ADMIN_YES&lt;br /&gt;
| Only admins and the server owner&lt;br /&gt;
|-&lt;br /&gt;
| ADMIN_OWNER&lt;br /&gt;
| Only the server owner&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The concommandns keyvalue is also optional, and defines the console command namespace used for plugin console commands (see console command system documentation).&lt;br /&gt;
&lt;br /&gt;
The list file also allows the use of single line commands that start with &amp;quot;//&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Note: if your plugin is located in a subdirectory of the main plugin directory, you must also include that subdirectory in the script path. For instance, if your script is named &amp;quot;myplugin.as&amp;quot; and is located in &amp;quot;scripts/plugins/wip/&amp;quot;, you will need to write the script name as wip/myplugin.&lt;br /&gt;
&lt;br /&gt;
=== Console commands ===&lt;br /&gt;
There are a few console commands that apply to plugins:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold; text-align:center;&amp;quot;&lt;br /&gt;
! Command name&lt;br /&gt;
! Purpose&lt;br /&gt;
! Admin only?&lt;br /&gt;
|-&lt;br /&gt;
| as_listplugins&lt;br /&gt;
| Shows a list of all plugins currently active on this server&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| as_reloadplugin&lt;br /&gt;
| Reloads a plugin that is in the list of plugins&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| as_reloadplugins&lt;br /&gt;
| Reloads all plugins from the plugin list file&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| as_removeplugin&lt;br /&gt;
| Removes a plugin from the plugin list&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| as_removeplugins&lt;br /&gt;
| Removes all plugins&lt;br /&gt;
| Yes&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== API availability ===&lt;br /&gt;
Most of the API is available for plugins to use, but there are a few things that are exclusive to them:&lt;br /&gt;
&lt;br /&gt;
* CAdminControl: administrative control for actions such as penalizing, killing, kicking, and banning players.&lt;br /&gt;
* Plugin and plugin temp directories in the filesystem: Ability to read/write files in these directories is restricted to plugins.&lt;br /&gt;
&#039;&#039;&#039;Hooks:&#039;&#039;&#039;&lt;br /&gt;
* CanPlayerUseReservedSlot&lt;br /&gt;
* ClientConnected&lt;br /&gt;
Consult the documentation for the respective features for more information. For information on which parts of the API are exclusive to other script types, consult their documentation.&lt;br /&gt;
== Importing scripts ==&lt;br /&gt;
&lt;br /&gt;
Other script files can be imported if you wish to use components from them via the #include directive:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;&lt;br /&gt;
#include &amp;quot;path/to/another/script&amp;quot;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This is inserted to the top of the script file above any code.&lt;br /&gt;
&lt;br /&gt;
The path is relative to &#039;&#039;this&#039;&#039; script file, so if the script file you wish to import is in the same folder simply specify the filename. Otherwise you must set the path to the subfolder that the script file exists in.&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Outerbeast</name></author>
	</entry>
	<entry>
		<id>https://wiki.svencoop.com/index.php?title=Squadmaker&amp;diff=1401</id>
		<title>Squadmaker</title>
		<link rel="alternate" type="text/html" href="https://wiki.svencoop.com/index.php?title=Squadmaker&amp;diff=1401"/>
		<updated>2025-10-21T14:27:32Z</updated>

		<summary type="html">&lt;p&gt;Outerbeast: /* Keyvalues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Entity_Infobox&lt;br /&gt;
| title=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
A point entity, which, in the creator&#039;s sense, allows you to spawn any amount of a specific monster type. This can also be used to spawn other entities as well, though only partially supported. It can be toggled on and off or spawn one monster every time it is triggered and allows many options to be set for the spawned monster(s).&lt;br /&gt;
&lt;br /&gt;
== Keyvalues ==&lt;br /&gt;
&lt;br /&gt;
{{Entity_keyvalue|Classification|classify|Set the class of the spawned monster. Think of how even though zombies and human grunts, by default, both are the players&#039; enemies, yet have a dislike for and attack each other as well. This relation is created through the respective classes of the two monster types. For a complete table of how different classes react to each other, see [[Class Relationship Table|monster class relation table]].}}&lt;br /&gt;
{{Entity_keyvalue|Is not revivable|is_not_revivable|If set to &#039;Yes&#039;, monster cannot be revived (by allied players and monsters).}}&lt;br /&gt;
{{Entity_keyvalue|Target On Release|target|Targets which are fired whenever a monster is spawned.}}&lt;br /&gt;
{{Entity_keyvalue|Monster Type|monstertype|Set the classname of the monster, weapon, item, ammunition or whatever else may be spawned by squadmaker&#039;s without working incorrectly here. Click HERE for the list of monsters.}}&lt;br /&gt;
{{Entity_keyvalue|Childrens&#039; Name|netname|If set, everything that is spawned by this squadmaker will receive this as its targetname.}}&lt;br /&gt;
{{Entity_keyvalue|Monster count|monstercount|Total amount of monsters which can be spawned by this squadmaker. If this value runs, the squadmaker won&#039;t spawn anything anymore. Setting this to &#039;-1&#039; means an endless supply.}}&lt;br /&gt;
{{Entity_keyvalue|Delay between spawns|delay|Delay, in seconds, between spawns.}}&lt;br /&gt;
{{Entity_keyvalue|Max live children|m_imaxlivechildren|Maximum amount of spawns by this squadmaker which may exist at a time. Note that for monsters, they will be counted as a live child till their corpse has faded out.}}&lt;br /&gt;
{{Entity_keyvalue|Blocked Spawn Handling|spawn_mode|By default, the next monster will spawn as soon as the delay between spawns is over and the spawn area is free. &#039;Block, spawn as soon as clear&#039; does what it says, which is to ignore the delay between spawns and spawn as soon as the spawn area is clear. Not recommendable for spawning multiple monsters. &#039;Force spawn, never block&#039; causes a monster to spawn every instant the delay between spawns is over, ignoring whether the spawn area is free or not. If the squadmaker is cyclic, this will be used as well.}}&lt;br /&gt;
{{Entity_keyvalue|Amount of Telefrag Damage|dmg|Amount of damage to apply to entities that are blocking this spawner. If the entity dies by this a new monster is spawned.}}&lt;br /&gt;
{{Entity_keyvalue|Trigger Condition|trigger_condition|Choose trigger condition for this monster. When condition is met, the &amp;quot;Trigger Target&amp;quot; is fired (e.g. &#039;Death&#039; condition fires target when monster dies, &#039;hear player&#039; fires target when monster hears player e.t.c.).}}&lt;br /&gt;
{{Entity_keyvalue|Trigger Target|trigger_target|Entity to fire when the above condition becomes true.}}&lt;br /&gt;
{{Entity_keyvalue|Body|new_body|This will set which body to use. Body&#039;s are different submodels/appearances in model files. Think of the different scientists. Not all models do have multiple body&#039;s. &#039;-1&#039; means random.}}&lt;br /&gt;
{{Entity_keyvalue|Is Player Ally|is_player_ally|Set whether the spawned monster is an ally or a foe of the players.}}&lt;br /&gt;
{{Entity_keyvalue|Override render mode|change_rendermode|If set to &#039;Yes&#039;, the rendermode of the spawned entity will be changed to the one set in this squadmaker.}}&lt;br /&gt;
{{Entity_keyvalue|Xenmaker template name|xenmaker|If you set the name of an [[env_xenmaker]] here, its effects will appear every time the squadmaker spawns something.}}&lt;br /&gt;
{{Entity_keyvalue|Not solid|notsolid|Set whether the spawned monsters will appear solid to each other and the players or not.}}&lt;br /&gt;
{{Entity_keyvalue|Gag|gag|Allows you to mute the spawned monsters.}}&lt;br /&gt;
{{Entity_keyvalue|Weapons (Grunt/Massn/etc)|weapons|Set which weapons the spawned monster will receive, depending on whether it is a grunt or an assassin.}}&lt;br /&gt;
{{Entity_keyvalue|Squad Name|squadname|Name of a squad for this monster to be part of. Monsters which share the same squadname/are in the same squad, will attempt to stay together and follow their squad&#039;s leader (monster with &amp;quot;SquadLeader&amp;quot; flag).}}&lt;br /&gt;
{{Entity_keyvalue|Squad leader|is_squad_leader|Set whether the spawned monsters will be leaders of their squad or not.}}&lt;br /&gt;
{{Entity_keyvalue|In-game Name|displayname|If set, this will overwrite the monster&#039;s default in-game name, which appears in the HUD monsterinfo, which can be enabled/disabled using the CVar &#039;mp_allowmonsterinfo&#039;. You can use &#039;\n&#039; here to perform a line-break.}}&lt;br /&gt;
{{Entity_keyvalue|Blood Color|bloodcolor|Allows you to customize the monster&#039;s blood color (or disable it).}}&lt;br /&gt;
{{Entity_keyvalue|Custom Health|health|If set, this will overwrite the monster&#039;s default health value managed by the skill configuration.}}&lt;br /&gt;
{{Entity_keyvalue|Custom Model|new_model|If set, this will overwrite the monster&#039;s default model. This needs to be precached using a custom_precache point entity.}}&lt;br /&gt;
{{Entity_keyvalue|Custom Min Hullsize (X Y Z)|minhullsize|If set, this will overwrite the monster&#039;s default minimum hullsize. Minimum and maximum hullsize form a solid cuboid which define the monster&#039;s collision hull. Think of them as two span-vectors originating from the monster&#039;s origin.}}&lt;br /&gt;
{{Entity_keyvalue|Custom Max Hullsize (X Y Z)|maxhullsize|If set, this will overwrite the monster&#039;s default maximum hullsize. Minimum and maximum hullsize form a solid cuboid which define the monster&#039;s collision hull. Think of them as two span-vectors originating from the monster&#039;s origin.}}&lt;br /&gt;
{{Entity_keyvalue|Sound Replacement File|soundlist|Set the path to a sound replacement file for the spawned monsters. The path begins in &#039;svencoop/sound/mapname&#039;, whereas &#039;mapname&#039; would be your map&#039;s name. You can go to the parent directory using &#039;../&#039;. A valid sound replacement file contains one or more lines with two sound-paths, which are seperated by a space and wrapped into quotes. The first sound is the sound to be replaced. The second sound is the new sound. Sound-paths start in the sound directory. You cannot go to the parent directory using &#039;../&#039; in that case. These sounds do not need to be precached using a custom_precache point entity.}}&lt;br /&gt;
{{Entity_keyvalue|Monster Roaming (nodes)|freeroam|Set whether monsters spawned by this squadmaker use nodes to freeroam and find their way or don&#039;t use nodes at all.}}&lt;br /&gt;
{{Entity_keyvalue|Path Name|path_name|Name of first path_waypoint to go to.}}&lt;br /&gt;
{{Entity_keyvalue|Entity To Guard|guard_ent|If set, the monster will try to follow and protect (attack its attackers) the given entity.}}&lt;br /&gt;
{{Entity_keyvalue|V_model (Weapons Only)|wpn_v_model|If spawning a weapon, this will replace its view model. (The weapon as seen in first person view).}}&lt;br /&gt;
{{Entity_keyvalue|W_model (Weapons Only)|wpn_w_model|If spawning a weapon, this will replace its world model. (The weapon as seen when lying somewhere).}}&lt;br /&gt;
{{Entity_keyvalue|P_model (Weapons Only)|wpn_p_model|If spawning a weapon, this will replace its player model. (The model as seen held by other players).}}&lt;br /&gt;
{{Entity_keyvalue|Angelscript function name|function_name|Name of the function to use from already parsed .as script files. When specified, the function will be called every time the squadmaker spawns a new monster.&amp;lt;br&amp;gt;The function signature is as follows:&amp;lt;br&amp;gt;&amp;lt;code&amp;gt;void Function(CBaseMonster@ pSquadmaker, CBaseEntity@ pMonster)&amp;lt;/code&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
== Flags ==&lt;br /&gt;
&lt;br /&gt;
{{Entity_flag|1|Start on|The squadmaker will start on and start spawning as soon as the map loads.}}&lt;br /&gt;
{{Entity_flag|4|Cyclic|Changes the squadmaker&#039;s toggle-behaviour to a single-fire-behaviour. With this flag set, the entity will spawn one time every time it is fired.}}&lt;br /&gt;
{{Entity_flag|8|Monster clip|Monsters spawned by a squadmaker with this flag set will be blocked by the func_monsterclip brush entity.}}&lt;br /&gt;
{{Entity_flag|16|Prisoner|Causes the spawned monster to be an enemy regardless of the ally setting, but it won&#039;t attack or harm you in any way.}}&lt;br /&gt;
{{Entity_flag|32|Auto size BBox|When trying to spawn something, the squadmaker checks whether the spawn area is free or not. If it is not free, it won&#039;t spawn. By default, the checked area is way larger than the average monster. Checking this flag will resize the checked area depending on what you set the squadmaker to spawn. Setting this flag is highly recommended.}}&lt;br /&gt;
{{Entity_flag|64|Cyclic backlog|In case a monster was not spawned although the squadmaker is cyclic and was triggered, e.g. because the spawn was blocked, this will keep track of that and spawn the monster as soon as the spawn is free. This works for multiple monsters and makes a sort of spawn queue. This is useful when a game_counter of yours is triggered by monster death events and thus expects a minimum amount of monsters to be spawned, so the trigger can ever fire.}}&lt;br /&gt;
{{Entity_flag|128|Wait for script|If set, a spawned monster won&#039;t react to anything after being spawned until it enters a scripted sequence.}}&lt;br /&gt;
{{Entity_flag|1024|No respawn (Collectibles)|If the spawned entity is a weapon, an item or ammunition, it won&#039;t respawn after being collected when this flag is set.}}&lt;br /&gt;
== Issues ==&lt;br /&gt;
Not Solid key does not work.&lt;br /&gt;
== Changes ==&lt;br /&gt;
&lt;br /&gt;
5.0 Steam Release: Added &#039;Is not revivable&#039;, &#039;Path Name&#039; and &#039;Angelscript function name&#039; keyvalues.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{entity_title}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Entities]]&lt;br /&gt;
[[Category:Point entities]]&lt;/div&gt;</summary>
		<author><name>Outerbeast</name></author>
	</entry>
	<entry>
		<id>https://wiki.svencoop.com/index.php?title=TE_PLAYERDECAL&amp;diff=1400</id>
		<title>TE PLAYERDECAL</title>
		<link rel="alternate" type="text/html" href="https://wiki.svencoop.com/index.php?title=TE_PLAYERDECAL&amp;diff=1400"/>
		<updated>2025-10-21T14:14:00Z</updated>

		<summary type="html">&lt;p&gt;Outerbeast: Created page with &amp;quot;TE_PLAYERDECAL Applies a player&amp;#039;s custom spray to a world or entity surface.  &amp;lt;code&amp;gt;CUtility&amp;lt;/code&amp;gt; method: &amp;lt;code&amp;gt;void PlayerDecalTrace(Trace...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:TE PLAYERDECAL.gif|frame|TE_PLAYERDECAL]]&lt;br /&gt;
Applies a player&#039;s custom spray to a world or entity surface.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CUtility&amp;lt;/code&amp;gt; method:&lt;br /&gt;
&amp;lt;code&amp;gt;void PlayerDecalTrace(TraceResult&amp;amp; in trace, int iPlayerNum, int iDecalNumber, const bool bIsCustom)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void te_playerdecal(Vector pos, CBasePlayer@ plr, CBaseEntity@ brushEnt=null, NetworkMessageDest msgType=MSG_BROADCAST, edict_t@ dest=null)&lt;br /&gt;
{&lt;br /&gt;
	NetworkMessage m(msgType, NetworkMessages::SVC_TEMPENTITY, dest);&lt;br /&gt;
	m.WriteByte(TE_DECAL);&lt;br /&gt;
	m.WriteByte(plr.entindex());&lt;br /&gt;
	m.WriteCoord(pos.x);&lt;br /&gt;
	m.WriteCoord(pos.y);&lt;br /&gt;
	m.WriteCoord(pos.z);&lt;br /&gt;
	m.WriteShort(brushEnt is null ? 0 : brushEnt.entindex());&lt;br /&gt;
	m.WriteByte(0); // decal index does not apply here but it&#039;s still required&lt;br /&gt;
	m.End();&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vector	pos	Center location of the decal. It needs to be witnin a few units of a surface.&lt;br /&gt;
CBasePlayer@	plr	Player to load spray from&lt;br /&gt;
CBaseEntity@	brushEnt	Brush entity to apply the decal to. If null, the decal is applied to the world instead.&lt;/div&gt;</summary>
		<author><name>Outerbeast</name></author>
	</entry>
	<entry>
		<id>https://wiki.svencoop.com/index.php?title=TE_MULTIGUNSHOT&amp;diff=1399</id>
		<title>TE MULTIGUNSHOT</title>
		<link rel="alternate" type="text/html" href="https://wiki.svencoop.com/index.php?title=TE_MULTIGUNSHOT&amp;diff=1399"/>
		<updated>2025-10-21T14:10:08Z</updated>

		<summary type="html">&lt;p&gt;Outerbeast: Created page with &amp;quot;TE_MULTIGUNSHOT Applies multiple decals on the targgeted surface (brush entity or world). A ricochet sound effect is played if count is &amp;gt;= 3...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:TE MULTIGUNSHOT.gif|frame|TE_MULTIGUNSHOT]]&lt;br /&gt;
Applies multiple decals on the targgeted surface (brush entity or world). A ricochet sound effect is played if count is &amp;gt;= 3. No tracers are shown and monsters are ignored.&lt;br /&gt;
&lt;br /&gt;
Unlike the other decal methods, the position of a decal is determined by the intersection of a shoot vector and a wall.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void te_multigunshot(Vector pos, Vector dir, float spreadX=512.0f, &lt;br /&gt;
	float spreadY=512.0f, uint8 count=8, string decal=&amp;quot;{shot4&amp;quot;,&lt;br /&gt;
	NetworkMessageDest msgType=MSG_BROADCAST, edict_t@ dest=null)&lt;br /&gt;
{   &lt;br /&gt;
	NetworkMessage m(msgType, NetworkMessages::SVC_TEMPENTITY, dest);&lt;br /&gt;
	m.WriteByte(TE_MULTIGUNSHOT);&lt;br /&gt;
	m.WriteCoord(pos.x);&lt;br /&gt;
	m.WriteCoord(pos.y);&lt;br /&gt;
	m.WriteCoord(pos.z);&lt;br /&gt;
	m.WriteCoord(dir.x);&lt;br /&gt;
	m.WriteCoord(dir.y);&lt;br /&gt;
	m.WriteCoord(dir.z);&lt;br /&gt;
	m.WriteCoord(spreadX);&lt;br /&gt;
	m.WriteCoord(spreadY);&lt;br /&gt;
	m.WriteByte(count);&lt;br /&gt;
	m.WriteByte(g_EngineFuncs.DecalIndex(decal));&lt;br /&gt;
	m.End();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Vector	pos	Location to shoot from&lt;br /&gt;
* Vector	dir	Shoot direction&lt;br /&gt;
* float	spreadX	Amount to randomize direction for each trace/decal (horizontal)&lt;br /&gt;
* float	spreadY	Amount to randomize direction for each trace/decal (vertical)&lt;br /&gt;
* uint8	count	Number of bullets to shoot / decals to apply&lt;br /&gt;
* string	decal	Texture name from decals.wad&lt;/div&gt;</summary>
		<author><name>Outerbeast</name></author>
	</entry>
	<entry>
		<id>https://wiki.svencoop.com/index.php?title=SayParameters&amp;diff=1398</id>
		<title>SayParameters</title>
		<link rel="alternate" type="text/html" href="https://wiki.svencoop.com/index.php?title=SayParameters&amp;diff=1398"/>
		<updated>2025-10-21T14:05:21Z</updated>

		<summary type="html">&lt;p&gt;Outerbeast: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The SayParameters class contains a player&#039;s text data when they say something in game chat. It can be used to interpret the text as though it were a command, and its visibility can be controlled.&lt;br /&gt;
This is used for ClientSay hook.&lt;br /&gt;
&lt;br /&gt;
It has a single property &amp;lt;code&amp;gt;bool ShouldHide&amp;lt;/code&amp;gt;: Controls whether this text will be hidden or not. This is implemented as a property accessor and mutator. Default false.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold; text-align:center;&amp;quot;&lt;br /&gt;
! Function&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;CBasePlayer@ GetPlayer() const&lt;br /&gt;
| Gets the player that is saying something.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ClientSayType GetSayType() const&lt;br /&gt;
| Gets the say type of this text.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;const string&amp;amp; GetCommand() const&lt;br /&gt;
| Gets the entire command string.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;const CCommand@ GetArguments() const&lt;br /&gt;
| Gets the arguments in this command.&lt;br /&gt;
|}&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Outerbeast</name></author>
	</entry>
	<entry>
		<id>https://wiki.svencoop.com/index.php?title=CSoundEngine&amp;diff=1397</id>
		<title>CSoundEngine</title>
		<link rel="alternate" type="text/html" href="https://wiki.svencoop.com/index.php?title=CSoundEngine&amp;diff=1397"/>
		<updated>2025-10-21T14:00:20Z</updated>

		<summary type="html">&lt;p&gt;Outerbeast: /* Methods */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The sound system allows you to play sounds, sentences and sentence groups, complete with sound replacement.&lt;br /&gt;
&lt;br /&gt;
HTML documentation can be found [http://baso88.github.io/SC_AngelScript/docs/CSoundEngine.htm here].&lt;br /&gt;
&lt;br /&gt;
Implemented in the CSoundEngine class.&lt;br /&gt;
&lt;br /&gt;
A single global instance exists: &amp;lt;code&amp;gt;CSoundEngine g_SoundSystem;&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;constants&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Constants ==&lt;br /&gt;
All these constants exist in global scope.&lt;br /&gt;
&amp;lt;span id=&amp;quot;sound_channel&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== SOUND_CHANNEL ====&lt;br /&gt;
Sound channels represent a number of audio channels that can simultaneously play sounds for any given entity. Note that despite what the name of some channels might imply, none of them are intended for any particular type of sound, with the exception of CHAN_STATIC due to its special behavior in networking code.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Channel&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;CHAN_AUTO&lt;br /&gt;
| Automatically selects a channel for use. You cannot stop sounds while using this channel with StopSound, or in conjunction with the SND_STOP flag.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;CHAN_WEAPON&lt;br /&gt;
| Sound channel recommended for weapons.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;CHAN_VOICE&lt;br /&gt;
| Sound channel recommended for voice (speaking).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;CHAN_ITEM&lt;br /&gt;
| Sound channel recommended for items (pickup sounds, etc).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;CHAN_BODY&lt;br /&gt;
| Sound channel recommended for body events (footsteps, clothes, etc).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;CHAN_STREAM&lt;br /&gt;
| General purpose channel.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;CHAN_STATIC&lt;br /&gt;
| Channel used for sounds that loop, or sounds that play for a long time (e.g. music). Is always sent to players, even if they are not within the Potentially Audible Set (i.e. outside of the audible range).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;CHAN_NETWORKVOICE_BASE&lt;br /&gt;
| Reserved for player voice data. Do not use.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;CHAN_NETWORKVOICE_END&lt;br /&gt;
| Reserved for player voice data. Do not use.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;sound-flags&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Sound flags ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Constant&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SND_VOLUME&lt;br /&gt;
| If set, a volume other than 1 is used. Do not use directly, automatically set.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SND_PITCH&lt;br /&gt;
| If set, a pitch other than 100 is used. Do not use directly, automatically set.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SND_ATTENUATION&lt;br /&gt;
| If set, an attenuation other than ATTN_NORM is used. Do not use directly, automatically set.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SND_ORIGIN&lt;br /&gt;
| If set, an origin is sent instead of using the entity origin. Do not use directly, automatically set.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SND_ENT&lt;br /&gt;
| If set, the sound is being played for an entity and its origin should be used. Do not use directly, automatically set.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SND_STOP&lt;br /&gt;
| Tells the client to stop playing a sound.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SND_CHANGE_VOL&lt;br /&gt;
| If set, instead of restarting the sound, just changes its volume.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SND_CHANGE_PITCH&lt;br /&gt;
| If set, instead of restarting the sound, just changes its pitch.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SND_SENTENCE&lt;br /&gt;
| If set, this is a sentence. Do not use directly, automatically set.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SND_REFRESH&lt;br /&gt;
| If set, the sound is refreshed so clients that previously did not receive the sound due to not being in the Potentially Audible Set (for all channels except CHAN_STATIC) or not on the server when the sound started (all channels) will still hear it.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SND_FORCE_SINGLE&lt;br /&gt;
| If set, the sound will not loop even if it normally would, e.g. if it has a cue point.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SND_FORCE_LOOP&lt;br /&gt;
| If set, the sound will loop even if it normally wouldn’t, e.g. if it does not have a cue point.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SND_LINEAR&lt;br /&gt;
| If set, the given attenuation has linear falloff. See [[CSoundEngine#Attenuation|Attenuation]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SND_SKIP_ORIGIN_USE_ENT&lt;br /&gt;
| Don’t send the sound’s origin, instead, rely on entity index to re-create origin on client dll.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;attenuation&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Attenuation ====&lt;br /&gt;
&lt;br /&gt;
Attenuation affects sound falloff.&lt;br /&gt;
&lt;br /&gt;
Falloff normally occurs between 64 and ( 4 / attenuation ) * 256. The flag SND_LINEAR can override this to provide a custom falloff range. When SND_LINEAR is used, the attenuation value is defined as follows: The lower 4 bits are minimum falloff, the higher 4 bits are maximum falloff. Minimum is multiplied by 256, maximum is multiplied by 256 and added to 32.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Constant&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;const float ATTN_NONE&lt;br /&gt;
| No attenuation is applied. Falloff is defined as minimum and maximum 10000. Equivalent to ambient_generic “play everywhere” flag.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;const float ATTN_NORM&lt;br /&gt;
| Normal attenuation. Equivalent to ambient_generic “large radius” flag.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;const float ATTN_IDLE&lt;br /&gt;
| Idle attenuation. Equivalent to ambient_generic “small radius” flag.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;const float ATTN_STATIC&lt;br /&gt;
| Static attenuation. Equivalent to ambient_generic “medium radius” flag.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;pitch&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Pitch ====&lt;br /&gt;
&lt;br /&gt;
Pitch affects playback speed and can be used to simulate different voice depths.&lt;br /&gt;
&lt;br /&gt;
Values are possible in the range [0, 255], where 255 is very high.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Constant&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PITCH_NORM&lt;br /&gt;
| 100&lt;br /&gt;
| Non-pitch shifted.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PITCH_LOW&lt;br /&gt;
| 95&lt;br /&gt;
| Low pitch. Can be used for deep voices.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PITCH_HIGH&lt;br /&gt;
| 120&lt;br /&gt;
| High pitch. Can be used for high voices (helium, children, etc).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;other&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Other ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Constant&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;const float VOL_NORM&lt;br /&gt;
| Normal volume level.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;methods&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Methods ==&lt;br /&gt;
Note: For the methods that support &amp;lt;code&amp;gt;edict_t@ entity&amp;lt;/code&amp;gt; paramater to set an entity to emit the sound-&lt;br /&gt;
* &#039;&#039;&#039;The entity must have a model&#039;&#039;&#039;, otherwise the sound position does not get networked to clients. This is because the server knows where it is and can thus play the sound from there but clients won&#039;t know if/when the entity&#039;s position changes.&lt;br /&gt;
* Sounds emitted from an entity will not play if &amp;lt;code&amp;gt;EF_NODRAW&amp;lt;/code&amp;gt; is set for the entity&lt;br /&gt;
&amp;lt;span id=&amp;quot;precachesound&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== PrecacheSound ====&lt;br /&gt;
&amp;lt;pre&amp;gt;void PrecacheSound(const string&amp;amp;amp; in szFilename)&amp;lt;/pre&amp;gt;&lt;br /&gt;
This method allows you to precache a sound for use. Sounds must be precached in MapInit or an entity’s Precache method.&lt;br /&gt;
&lt;br /&gt;
The file path starts in sound/.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Argument&lt;br /&gt;
! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;szFilename&lt;br /&gt;
| Name of the file to precache.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;findsoundreplacementsample&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== FindSoundReplacementSample ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;string FindSoundReplacementSample(CBaseEntity@ pEntity, const string&amp;amp;amp; in szSample) const&amp;lt;/pre&amp;gt;&lt;br /&gt;
Finds the sound replacement sample for the given entity and sample. If the sample is replaced, it will return the sample that is used instead. Otherwise, szSample is returned.&lt;br /&gt;
&lt;br /&gt;
Both the entity’s sound replacement file as well as the global file will be checked.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Argument&lt;br /&gt;
! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;pEntity&lt;br /&gt;
| Entity whose sound replacement file will be checked. Must be valid.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;szSample&lt;br /&gt;
| Sample to look up.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;playsound&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== PlaySound ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;void PlaySound(edict_t@ entity, SOUND_CHANNEL channel, const string&amp;amp;amp; in sample, float volume, float attenuation, int flags = 0, int pitch = PITCH_NORM, int target_ent_unreliable = 0, bool setOrigin = false, const Vector&amp;amp;amp; in vecOrigin = g_vecZero)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Plays a sound. The sound is not considered for sound replacement.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Argument&lt;br /&gt;
! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;entity&lt;br /&gt;
| Entity that the sound will be attached to. Sounds are played at the entity’s origin.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;channel&lt;br /&gt;
| Sound channel to use. An entity can have a sound playing on every channel it has at the same time. See [[CSoundEngine#SOUND_CHANNEL|SOUND_CHANNEL]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;sample&lt;br /&gt;
| Name of the sound to play.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;volume&lt;br /&gt;
| Volume to play the sound at. This value has a range of [0, 1], where 0 is muted, and 1 is maximum volume.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;attenuation&lt;br /&gt;
| Attenuation. Values lie in the range [0, 4]. Higher values decrease the falloff range. See [[CSoundEngine#Attenuation|Attenuation]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;flags&lt;br /&gt;
| Bit vector containing a number of flags. See [[CSoundEngine#sound-flags|Sound flags]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;pitch&lt;br /&gt;
| Pitch to use. See [[CSoundEngine#Pitch|Pitch]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;target_ent_unreliable&lt;br /&gt;
| If not zero, this is the entity index of a player to send this sound to unreliably. Useful for non-critical sounds.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;setOrigin&lt;br /&gt;
| If true, use the given origin to play the sound, instead of the entity origin.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;vecOrigin&lt;br /&gt;
| If setOrigin is true, this is the origin in the world to play the sound at.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;stopsound&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== StopSound ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;void StopSound(edict_t@ entity, SOUND_CHANNEL channel, const string&amp;amp;amp; in szSample, const bool fUseSoundReplacement = true)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Stops a sound that is playing on the given entity’s channel.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Argument&lt;br /&gt;
! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;entity&lt;br /&gt;
| Entity whose sound will be stopped.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;channel&lt;br /&gt;
| Sound channel to stop.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;sample&lt;br /&gt;
| Name of the sound to stop.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;fUseSoundReplacement&lt;br /&gt;
| Whether to use sound replacement to find the actual sample or not.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;emitsounddyn&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== EmitSoundDyn ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;void EmitSoundDyn(edict_t@ entity, SOUND_CHANNEL channel, const string&amp;amp;amp; in szSample, float flVolume, float flAttenuation, int iFlags = 0, int iPitch = PITCH_NORM, int target_ent_unreliable = 0)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Plays a sound on the given entity’s channel. The sound may be sound replaced if there is a replacement sample provided by a replacement file.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Argument&lt;br /&gt;
! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;entity&lt;br /&gt;
| Entity that the sound will be attached to. Sounds are played at the entity’s origin.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;channel&lt;br /&gt;
| Sound channel to use. An entity can have a sound playing on every channel it has at the same time. See [[SoundSystem#SOUND_CHANNEL|SOUND_CHANNEL]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;szSample&lt;br /&gt;
| Name of the sound to play.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;flVolume&lt;br /&gt;
| Volume to play the sound at. This value has a range of [0, 1], where 0 is muted, and 1 is maximum volume.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;flAttenuation&lt;br /&gt;
| Attenuation. Values lie in the range [0, 4]. Higher values decrease the falloff range. See [[SoundSystem#Attenuation|Attenuation]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;iFlags&lt;br /&gt;
| Bit vector containing a number of flags. See [[SoundSystem#Sound-flags|Sound flags]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;iPitch&lt;br /&gt;
| Pitch to use. See [[SoundSystem#Pitch|Pitch]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;target_ent_unreliable&lt;br /&gt;
| If not zero, this is the entity index of a player to send this sound to unreliably. Useful for non-critical sounds.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;emitsound&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== EmitSound ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;void EmitSound(edict_t@ entity, SOUND_CHANNEL channel, const string&amp;amp;amp; in szSample, float flVolume, float flAttenuation)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Identical to EmitSoundDyn, but provides default values for omitted arguments.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;emitsoundsuit&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== EmitSoundSuit ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;void EmitSoundSuit(edict_t@ entity, const string&amp;amp;amp; in szSample)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Play a specific sentence over the HEV suit speaker - just pass player entity, and !sentencename. Pitch is randomly calculated to fall around PITCH_NORM, volume is determined by the suitvolume cvar. Attenuation is ATTN_NORM.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Argument&lt;br /&gt;
! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;entity&lt;br /&gt;
| Entity where the suit sound will be played. Can be any entity, not just a player.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;szSample&lt;br /&gt;
| Sentence to play.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;emitgroupidsuit&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== EmitGroupIdSuit ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;void EmitGroupIdSuit(edict_t@ entity, int isentencereg)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Play a sentence, randomly selected from the passed in group id, over the HEV suit speaker.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Argument&lt;br /&gt;
! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;entity&lt;br /&gt;
| Entity where the suit sound will be played. Can be any entity, not just a player.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;isentencereg&lt;br /&gt;
| Sentence group to play. Must be a sentence group id retrieved using the sound system’s sentence methods.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== EmitGroupNameSuit ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;void EmitGroupNameSuit(edict_t@ entity, const string&amp;amp;amp; in szSample)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Play a sentence, randomly selected from the passed in groupname.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Argument&lt;br /&gt;
! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;entity&lt;br /&gt;
| Entity where the suit sound will be played. Can be any entity, not just a player.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;szSample&lt;br /&gt;
| Sentence group to select a sentence from.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== LookupSentenceIndex ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;int LookupSentenceIndex(const string&amp;amp;amp; in sentenceName)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Looks up the sentence index of the given sentence.&amp;lt;code&amp;gt;sentenceName&amp;lt;/code&amp;gt; is the name of the sentence to find.&lt;br /&gt;
&lt;br /&gt;
Return value: Sentence index if it was found, 0 otherwise.&lt;br /&gt;
&lt;br /&gt;
==== LookupSentenceGroupIndex ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;int LookupSentenceGroupIndex(const string&amp;amp;amp; in szGroup)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Looks up the sentence group index of the given sentence.&lt;br /&gt;
&amp;lt;code&amp;gt;szGroup&amp;lt;/code&amp;gt; is the name of the sentence group to find.&lt;br /&gt;
&lt;br /&gt;
Return value: Sentence group index if it was found, 0 otherwise.&lt;br /&gt;
&lt;br /&gt;
==== PlaySentenceGroup ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;int PlaySentenceGroup(edict_t@ entity, const string&amp;amp;amp; in szGroupName, float volume, float attenuation, int flags, int pitch)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Plays a sentence from a sentence group. The sentence is randomly selected.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Argument&lt;br /&gt;
! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;entity&lt;br /&gt;
| Entity where the sentence will be played.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;szGroupName&lt;br /&gt;
| Group to select a sentence from.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;volume&lt;br /&gt;
| Volume.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;attenuation&lt;br /&gt;
| Attenuation.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;flags&lt;br /&gt;
| Sound flags.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;pitch&lt;br /&gt;
| Pitch.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Return value: Index of the sentence that was played, or -1 if no such sentence group exists.&lt;br /&gt;
&lt;br /&gt;
==== PlaySentenceGroup ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;int PlaySentenceGroup(edict_t@ entity, int iGroupIndex, float volume, float attenuation, int flags, int pitch)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Plays a sentence from a sentence group. The sentence is randomly selected.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Argument&lt;br /&gt;
! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;entity&lt;br /&gt;
| Entity where the sentence will be played.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;iGroupIndex&lt;br /&gt;
| Group index to select a sentence from.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;volume&lt;br /&gt;
| Volume.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;attenuation&lt;br /&gt;
| Attenuation.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;flags&lt;br /&gt;
| Sound flags.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;pitch&lt;br /&gt;
| Pitch.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Return value:&lt;br /&gt;
&lt;br /&gt;
Index of the sentence that was played.&lt;br /&gt;
&lt;br /&gt;
==== PlaySentenceGroupSequential ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;int PlaySentenceGroupSequential(edict_t@ entity, const string&amp;amp;amp; in szGroupName, float volume, float attenuation, int flags, int pitch, int ipick, const bool bReset)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Plays a sentence group sequentially.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Argument&lt;br /&gt;
! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;entity&lt;br /&gt;
| Entity where the sentence will be played.&lt;br /&gt;
|-&lt;br /&gt;
| szGroupName&lt;br /&gt;
| Name of the group to get the next sentence from.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;volume&lt;br /&gt;
| Volume.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;attenuation&lt;br /&gt;
| Attenuation.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;flags&lt;br /&gt;
| Sound flags.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;pitch&lt;br /&gt;
| Pitch.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ipick&lt;br /&gt;
| Sentence to pick.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;bReset&lt;br /&gt;
| If true, the first sentence in the group will be used instead of ipick.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Return value:&lt;br /&gt;
&lt;br /&gt;
Index of the sentence after the sentence that was played.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;emitambientsound&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== EmitAmbientSound ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;void EmitAmbientSound(edict_t@ entity, const Vector&amp;amp;amp; in vecOrigin, const string&amp;amp;amp; in szSample, float flVolume, float flAttenuation, int fFlags, int iPitch)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Plays an ambient sound. Ambient sounds use CHAN_STATIC.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Argument&lt;br /&gt;
! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;entity&lt;br /&gt;
| Entity that the sound will be attached to. Sounds are played at the entity’s origin.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;vecOrigin&lt;br /&gt;
| Origin to play the sound at.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;szSample&lt;br /&gt;
| Name of the sound to play.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;flVolume&lt;br /&gt;
| Volume to play the sound at. This value has a range of [0, 1], where 0 is muted, and 1 is maximum volume.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;flAttenuation&lt;br /&gt;
| Attenuation. Values lie in the range [0, 4]. Higher values decrease the falloff range. See [[SoundSystem#Attenuation|Attenuation]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;iFlags&lt;br /&gt;
| Bit vector containing a number of flags. See [[SoundSystem#Sound-flags|Sound flags]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;iPitch&lt;br /&gt;
| Pitch to use. See [[SoundSystem#Pitch|Pitch]].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;playhitsound&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== PlayHitSound ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;float PlayHitSound(TraceResult&amp;amp;amp; in tr, const Vector&amp;amp;amp; in vecSrc, const Vector&amp;amp;amp; in vecEnd, int iBulletType)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Plays a hit sound based on the trace result’s hit target. Returns the volume at which the hit is being played.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Argument&lt;br /&gt;
! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;tr&lt;br /&gt;
| Traceline to use.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;vecSrc&lt;br /&gt;
| Starting point for texture trace. Typically the location where a bullet is being fired from, or where a melee weapon starts its trace from.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;vecEnd&lt;br /&gt;
| End point for texture trace. Typically the location that defines the end position that a bullet traceline goes to, or where a melee weapon ends its trace at.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;iBulletType&lt;br /&gt;
| See the [[Bullet]] enum.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Outerbeast</name></author>
	</entry>
	<entry>
		<id>https://wiki.svencoop.com/index.php?title=CSoundEngine&amp;diff=1396</id>
		<title>CSoundEngine</title>
		<link rel="alternate" type="text/html" href="https://wiki.svencoop.com/index.php?title=CSoundEngine&amp;diff=1396"/>
		<updated>2025-10-21T13:59:38Z</updated>

		<summary type="html">&lt;p&gt;Outerbeast: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The sound system allows you to play sounds, sentences and sentence groups, complete with sound replacement.&lt;br /&gt;
&lt;br /&gt;
HTML documentation can be found [http://baso88.github.io/SC_AngelScript/docs/CSoundEngine.htm here].&lt;br /&gt;
&lt;br /&gt;
Implemented in the CSoundEngine class.&lt;br /&gt;
&lt;br /&gt;
A single global instance exists: &amp;lt;code&amp;gt;CSoundEngine g_SoundSystem;&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;span id=&amp;quot;constants&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Constants ==&lt;br /&gt;
All these constants exist in global scope.&lt;br /&gt;
&amp;lt;span id=&amp;quot;sound_channel&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== SOUND_CHANNEL ====&lt;br /&gt;
Sound channels represent a number of audio channels that can simultaneously play sounds for any given entity. Note that despite what the name of some channels might imply, none of them are intended for any particular type of sound, with the exception of CHAN_STATIC due to its special behavior in networking code.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Channel&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;CHAN_AUTO&lt;br /&gt;
| Automatically selects a channel for use. You cannot stop sounds while using this channel with StopSound, or in conjunction with the SND_STOP flag.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;CHAN_WEAPON&lt;br /&gt;
| Sound channel recommended for weapons.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;CHAN_VOICE&lt;br /&gt;
| Sound channel recommended for voice (speaking).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;CHAN_ITEM&lt;br /&gt;
| Sound channel recommended for items (pickup sounds, etc).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;CHAN_BODY&lt;br /&gt;
| Sound channel recommended for body events (footsteps, clothes, etc).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;CHAN_STREAM&lt;br /&gt;
| General purpose channel.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;CHAN_STATIC&lt;br /&gt;
| Channel used for sounds that loop, or sounds that play for a long time (e.g. music). Is always sent to players, even if they are not within the Potentially Audible Set (i.e. outside of the audible range).&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;CHAN_NETWORKVOICE_BASE&lt;br /&gt;
| Reserved for player voice data. Do not use.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;CHAN_NETWORKVOICE_END&lt;br /&gt;
| Reserved for player voice data. Do not use.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;sound-flags&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Sound flags ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Constant&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SND_VOLUME&lt;br /&gt;
| If set, a volume other than 1 is used. Do not use directly, automatically set.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SND_PITCH&lt;br /&gt;
| If set, a pitch other than 100 is used. Do not use directly, automatically set.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SND_ATTENUATION&lt;br /&gt;
| If set, an attenuation other than ATTN_NORM is used. Do not use directly, automatically set.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SND_ORIGIN&lt;br /&gt;
| If set, an origin is sent instead of using the entity origin. Do not use directly, automatically set.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SND_ENT&lt;br /&gt;
| If set, the sound is being played for an entity and its origin should be used. Do not use directly, automatically set.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SND_STOP&lt;br /&gt;
| Tells the client to stop playing a sound.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SND_CHANGE_VOL&lt;br /&gt;
| If set, instead of restarting the sound, just changes its volume.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SND_CHANGE_PITCH&lt;br /&gt;
| If set, instead of restarting the sound, just changes its pitch.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SND_SENTENCE&lt;br /&gt;
| If set, this is a sentence. Do not use directly, automatically set.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SND_REFRESH&lt;br /&gt;
| If set, the sound is refreshed so clients that previously did not receive the sound due to not being in the Potentially Audible Set (for all channels except CHAN_STATIC) or not on the server when the sound started (all channels) will still hear it.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SND_FORCE_SINGLE&lt;br /&gt;
| If set, the sound will not loop even if it normally would, e.g. if it has a cue point.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SND_FORCE_LOOP&lt;br /&gt;
| If set, the sound will loop even if it normally wouldn’t, e.g. if it does not have a cue point.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SND_LINEAR&lt;br /&gt;
| If set, the given attenuation has linear falloff. See [[CSoundEngine#Attenuation|Attenuation]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;SND_SKIP_ORIGIN_USE_ENT&lt;br /&gt;
| Don’t send the sound’s origin, instead, rely on entity index to re-create origin on client dll.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;attenuation&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Attenuation ====&lt;br /&gt;
&lt;br /&gt;
Attenuation affects sound falloff.&lt;br /&gt;
&lt;br /&gt;
Falloff normally occurs between 64 and ( 4 / attenuation ) * 256. The flag SND_LINEAR can override this to provide a custom falloff range. When SND_LINEAR is used, the attenuation value is defined as follows: The lower 4 bits are minimum falloff, the higher 4 bits are maximum falloff. Minimum is multiplied by 256, maximum is multiplied by 256 and added to 32.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Constant&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;const float ATTN_NONE&lt;br /&gt;
| No attenuation is applied. Falloff is defined as minimum and maximum 10000. Equivalent to ambient_generic “play everywhere” flag.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;const float ATTN_NORM&lt;br /&gt;
| Normal attenuation. Equivalent to ambient_generic “large radius” flag.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;const float ATTN_IDLE&lt;br /&gt;
| Idle attenuation. Equivalent to ambient_generic “small radius” flag.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;const float ATTN_STATIC&lt;br /&gt;
| Static attenuation. Equivalent to ambient_generic “medium radius” flag.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;pitch&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Pitch ====&lt;br /&gt;
&lt;br /&gt;
Pitch affects playback speed and can be used to simulate different voice depths.&lt;br /&gt;
&lt;br /&gt;
Values are possible in the range [0, 255], where 255 is very high.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Constant&lt;br /&gt;
! Value&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PITCH_NORM&lt;br /&gt;
| 100&lt;br /&gt;
| Non-pitch shifted.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PITCH_LOW&lt;br /&gt;
| 95&lt;br /&gt;
| Low pitch. Can be used for deep voices.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PITCH_HIGH&lt;br /&gt;
| 120&lt;br /&gt;
| High pitch. Can be used for high voices (helium, children, etc).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;other&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== Other ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Constant&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;const float VOL_NORM&lt;br /&gt;
| Normal volume level.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;methods&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Methods ==&lt;br /&gt;
Note: For the methods that support &amp;lt;code&amp;gt;edict_t@ entity&amp;lt;/code&amp;gt; paramater to set an entity to emit the sound&lt;br /&gt;
* &#039;&#039;&#039;The entity must have a model&#039;&#039;&#039;, otherwise the sound position does not get networked to clients. This is because the server knows where it is and can thus play the sound from there but clients won&#039;t know if/when the entity&#039;s position changes.&lt;br /&gt;
* Sounds emitted from an entity will not play if &amp;lt;code&amp;gt;EF_NODRAW&amp;lt;/code&amp;gt; is set for the entity&lt;br /&gt;
&amp;lt;span id=&amp;quot;precachesound&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== PrecacheSound ====&lt;br /&gt;
&amp;lt;pre&amp;gt;void PrecacheSound(const string&amp;amp;amp; in szFilename)&amp;lt;/pre&amp;gt;&lt;br /&gt;
This method allows you to precache a sound for use. Sounds must be precached in MapInit or an entity’s Precache method.&lt;br /&gt;
&lt;br /&gt;
The file path starts in sound/.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Argument&lt;br /&gt;
! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;szFilename&lt;br /&gt;
| Name of the file to precache.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;findsoundreplacementsample&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== FindSoundReplacementSample ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;string FindSoundReplacementSample(CBaseEntity@ pEntity, const string&amp;amp;amp; in szSample) const&amp;lt;/pre&amp;gt;&lt;br /&gt;
Finds the sound replacement sample for the given entity and sample. If the sample is replaced, it will return the sample that is used instead. Otherwise, szSample is returned.&lt;br /&gt;
&lt;br /&gt;
Both the entity’s sound replacement file as well as the global file will be checked.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Argument&lt;br /&gt;
! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;pEntity&lt;br /&gt;
| Entity whose sound replacement file will be checked. Must be valid.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;szSample&lt;br /&gt;
| Sample to look up.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;playsound&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== PlaySound ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;void PlaySound(edict_t@ entity, SOUND_CHANNEL channel, const string&amp;amp;amp; in sample, float volume, float attenuation, int flags = 0, int pitch = PITCH_NORM, int target_ent_unreliable = 0, bool setOrigin = false, const Vector&amp;amp;amp; in vecOrigin = g_vecZero)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Plays a sound. The sound is not considered for sound replacement.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Argument&lt;br /&gt;
! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;entity&lt;br /&gt;
| Entity that the sound will be attached to. Sounds are played at the entity’s origin.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;channel&lt;br /&gt;
| Sound channel to use. An entity can have a sound playing on every channel it has at the same time. See [[CSoundEngine#SOUND_CHANNEL|SOUND_CHANNEL]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;sample&lt;br /&gt;
| Name of the sound to play.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;volume&lt;br /&gt;
| Volume to play the sound at. This value has a range of [0, 1], where 0 is muted, and 1 is maximum volume.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;attenuation&lt;br /&gt;
| Attenuation. Values lie in the range [0, 4]. Higher values decrease the falloff range. See [[CSoundEngine#Attenuation|Attenuation]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;flags&lt;br /&gt;
| Bit vector containing a number of flags. See [[CSoundEngine#sound-flags|Sound flags]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;pitch&lt;br /&gt;
| Pitch to use. See [[CSoundEngine#Pitch|Pitch]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;target_ent_unreliable&lt;br /&gt;
| If not zero, this is the entity index of a player to send this sound to unreliably. Useful for non-critical sounds.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;setOrigin&lt;br /&gt;
| If true, use the given origin to play the sound, instead of the entity origin.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;vecOrigin&lt;br /&gt;
| If setOrigin is true, this is the origin in the world to play the sound at.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;stopsound&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== StopSound ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;void StopSound(edict_t@ entity, SOUND_CHANNEL channel, const string&amp;amp;amp; in szSample, const bool fUseSoundReplacement = true)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Stops a sound that is playing on the given entity’s channel.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Argument&lt;br /&gt;
! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;entity&lt;br /&gt;
| Entity whose sound will be stopped.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;channel&lt;br /&gt;
| Sound channel to stop.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;sample&lt;br /&gt;
| Name of the sound to stop.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;fUseSoundReplacement&lt;br /&gt;
| Whether to use sound replacement to find the actual sample or not.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;emitsounddyn&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== EmitSoundDyn ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;void EmitSoundDyn(edict_t@ entity, SOUND_CHANNEL channel, const string&amp;amp;amp; in szSample, float flVolume, float flAttenuation, int iFlags = 0, int iPitch = PITCH_NORM, int target_ent_unreliable = 0)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Plays a sound on the given entity’s channel. The sound may be sound replaced if there is a replacement sample provided by a replacement file.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Argument&lt;br /&gt;
! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;entity&lt;br /&gt;
| Entity that the sound will be attached to. Sounds are played at the entity’s origin.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;channel&lt;br /&gt;
| Sound channel to use. An entity can have a sound playing on every channel it has at the same time. See [[SoundSystem#SOUND_CHANNEL|SOUND_CHANNEL]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;szSample&lt;br /&gt;
| Name of the sound to play.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;flVolume&lt;br /&gt;
| Volume to play the sound at. This value has a range of [0, 1], where 0 is muted, and 1 is maximum volume.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;flAttenuation&lt;br /&gt;
| Attenuation. Values lie in the range [0, 4]. Higher values decrease the falloff range. See [[SoundSystem#Attenuation|Attenuation]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;iFlags&lt;br /&gt;
| Bit vector containing a number of flags. See [[SoundSystem#Sound-flags|Sound flags]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;iPitch&lt;br /&gt;
| Pitch to use. See [[SoundSystem#Pitch|Pitch]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;target_ent_unreliable&lt;br /&gt;
| If not zero, this is the entity index of a player to send this sound to unreliably. Useful for non-critical sounds.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;emitsound&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== EmitSound ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;void EmitSound(edict_t@ entity, SOUND_CHANNEL channel, const string&amp;amp;amp; in szSample, float flVolume, float flAttenuation)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Identical to EmitSoundDyn, but provides default values for omitted arguments.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;emitsoundsuit&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== EmitSoundSuit ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;void EmitSoundSuit(edict_t@ entity, const string&amp;amp;amp; in szSample)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Play a specific sentence over the HEV suit speaker - just pass player entity, and !sentencename. Pitch is randomly calculated to fall around PITCH_NORM, volume is determined by the suitvolume cvar. Attenuation is ATTN_NORM.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Argument&lt;br /&gt;
! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;entity&lt;br /&gt;
| Entity where the suit sound will be played. Can be any entity, not just a player.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;szSample&lt;br /&gt;
| Sentence to play.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;emitgroupidsuit&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== EmitGroupIdSuit ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;void EmitGroupIdSuit(edict_t@ entity, int isentencereg)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Play a sentence, randomly selected from the passed in group id, over the HEV suit speaker.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Argument&lt;br /&gt;
! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;entity&lt;br /&gt;
| Entity where the suit sound will be played. Can be any entity, not just a player.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;isentencereg&lt;br /&gt;
| Sentence group to play. Must be a sentence group id retrieved using the sound system’s sentence methods.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== EmitGroupNameSuit ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;void EmitGroupNameSuit(edict_t@ entity, const string&amp;amp;amp; in szSample)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Play a sentence, randomly selected from the passed in groupname.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Argument&lt;br /&gt;
! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;entity&lt;br /&gt;
| Entity where the suit sound will be played. Can be any entity, not just a player.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;szSample&lt;br /&gt;
| Sentence group to select a sentence from.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== LookupSentenceIndex ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;int LookupSentenceIndex(const string&amp;amp;amp; in sentenceName)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Looks up the sentence index of the given sentence.&amp;lt;code&amp;gt;sentenceName&amp;lt;/code&amp;gt; is the name of the sentence to find.&lt;br /&gt;
&lt;br /&gt;
Return value: Sentence index if it was found, 0 otherwise.&lt;br /&gt;
&lt;br /&gt;
==== LookupSentenceGroupIndex ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;int LookupSentenceGroupIndex(const string&amp;amp;amp; in szGroup)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Looks up the sentence group index of the given sentence.&lt;br /&gt;
&amp;lt;code&amp;gt;szGroup&amp;lt;/code&amp;gt; is the name of the sentence group to find.&lt;br /&gt;
&lt;br /&gt;
Return value: Sentence group index if it was found, 0 otherwise.&lt;br /&gt;
&lt;br /&gt;
==== PlaySentenceGroup ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;int PlaySentenceGroup(edict_t@ entity, const string&amp;amp;amp; in szGroupName, float volume, float attenuation, int flags, int pitch)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Plays a sentence from a sentence group. The sentence is randomly selected.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Argument&lt;br /&gt;
! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;entity&lt;br /&gt;
| Entity where the sentence will be played.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;szGroupName&lt;br /&gt;
| Group to select a sentence from.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;volume&lt;br /&gt;
| Volume.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;attenuation&lt;br /&gt;
| Attenuation.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;flags&lt;br /&gt;
| Sound flags.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;pitch&lt;br /&gt;
| Pitch.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Return value: Index of the sentence that was played, or -1 if no such sentence group exists.&lt;br /&gt;
&lt;br /&gt;
==== PlaySentenceGroup ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;int PlaySentenceGroup(edict_t@ entity, int iGroupIndex, float volume, float attenuation, int flags, int pitch)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Plays a sentence from a sentence group. The sentence is randomly selected.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Argument&lt;br /&gt;
! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;entity&lt;br /&gt;
| Entity where the sentence will be played.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;iGroupIndex&lt;br /&gt;
| Group index to select a sentence from.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;volume&lt;br /&gt;
| Volume.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;attenuation&lt;br /&gt;
| Attenuation.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;flags&lt;br /&gt;
| Sound flags.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;pitch&lt;br /&gt;
| Pitch.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Return value:&lt;br /&gt;
&lt;br /&gt;
Index of the sentence that was played.&lt;br /&gt;
&lt;br /&gt;
==== PlaySentenceGroupSequential ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;int PlaySentenceGroupSequential(edict_t@ entity, const string&amp;amp;amp; in szGroupName, float volume, float attenuation, int flags, int pitch, int ipick, const bool bReset)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Plays a sentence group sequentially.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Argument&lt;br /&gt;
! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;entity&lt;br /&gt;
| Entity where the sentence will be played.&lt;br /&gt;
|-&lt;br /&gt;
| szGroupName&lt;br /&gt;
| Name of the group to get the next sentence from.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;volume&lt;br /&gt;
| Volume.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;attenuation&lt;br /&gt;
| Attenuation.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;flags&lt;br /&gt;
| Sound flags.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;pitch&lt;br /&gt;
| Pitch.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ipick&lt;br /&gt;
| Sentence to pick.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;bReset&lt;br /&gt;
| If true, the first sentence in the group will be used instead of ipick.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Return value:&lt;br /&gt;
&lt;br /&gt;
Index of the sentence after the sentence that was played.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;emitambientsound&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== EmitAmbientSound ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;void EmitAmbientSound(edict_t@ entity, const Vector&amp;amp;amp; in vecOrigin, const string&amp;amp;amp; in szSample, float flVolume, float flAttenuation, int fFlags, int iPitch)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Plays an ambient sound. Ambient sounds use CHAN_STATIC.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Argument&lt;br /&gt;
! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;entity&lt;br /&gt;
| Entity that the sound will be attached to. Sounds are played at the entity’s origin.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;vecOrigin&lt;br /&gt;
| Origin to play the sound at.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;szSample&lt;br /&gt;
| Name of the sound to play.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;flVolume&lt;br /&gt;
| Volume to play the sound at. This value has a range of [0, 1], where 0 is muted, and 1 is maximum volume.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;flAttenuation&lt;br /&gt;
| Attenuation. Values lie in the range [0, 4]. Higher values decrease the falloff range. See [[SoundSystem#Attenuation|Attenuation]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;iFlags&lt;br /&gt;
| Bit vector containing a number of flags. See [[SoundSystem#Sound-flags|Sound flags]].&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;iPitch&lt;br /&gt;
| Pitch to use. See [[SoundSystem#Pitch|Pitch]].&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;playhitsound&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
==== PlayHitSound ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;float PlayHitSound(TraceResult&amp;amp;amp; in tr, const Vector&amp;amp;amp; in vecSrc, const Vector&amp;amp;amp; in vecEnd, int iBulletType)&amp;lt;/pre&amp;gt;&lt;br /&gt;
Plays a hit sound based on the trace result’s hit target. Returns the volume at which the hit is being played.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Argument&lt;br /&gt;
! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;tr&lt;br /&gt;
| Traceline to use.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;vecSrc&lt;br /&gt;
| Starting point for texture trace. Typically the location where a bullet is being fired from, or where a melee weapon starts its trace from.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;vecEnd&lt;br /&gt;
| End point for texture trace. Typically the location that defines the end position that a bullet traceline goes to, or where a melee weapon ends its trace at.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;iBulletType&lt;br /&gt;
| See the [[Bullet]] enum.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Outerbeast</name></author>
	</entry>
	<entry>
		<id>https://wiki.svencoop.com/index.php?title=Trigger_changevalue&amp;diff=1395</id>
		<title>Trigger changevalue</title>
		<link rel="alternate" type="text/html" href="https://wiki.svencoop.com/index.php?title=Trigger_changevalue&amp;diff=1395"/>
		<updated>2025-10-07T10:06:27Z</updated>

		<summary type="html">&lt;p&gt;Outerbeast: Remove /* Issues */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Entity_Infobox&lt;br /&gt;
| title=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Trigger_changevalue can perform arithmetic and logic operations on base-keyvalues of entities, as well as replace their private keyvalues. See [[trigger_copyvalue]] for a variant of this with more options. Supports custom keyvalues.&lt;br /&gt;
&lt;br /&gt;
== Keyvalues ==&lt;br /&gt;
&lt;br /&gt;
{{Entity_keyvalue|Destination Entity|target|Name of the entity which&#039;s keyvalue is to changed. This can refer to more than one.}}&lt;br /&gt;
{{Entity_keyvalue|Destination Keyvalue|m_iszValueName|Name of the key which&#039;s value is to be changed.}}&lt;br /&gt;
{{Entity_keyvalue|Static source-value|m_iszNewValue|Value to be applied to the destination keyvalue.}}&lt;br /&gt;
{{Entity_keyvalue|Operation|m_iszValueType|This specifies how destination keyvalue and static source-value correlate. What exactly happens also depends on the types &lt;br /&gt;
of the two. There are some academic things in here, so I shall explain some of them:Pow: Source value to the power of destination value. To keep things simple, zero to the power of zero magically equals one and taking a negative value to the power of a non-integer will cause the base to be treated as positive.Mod: Short for &amp;quot;Modulo&amp;quot;, this calculates the rest of a division. For example, 63 % 13 equals 11, because 63 - 13 = 50, 50 - 13 = 37, 37 - 13 = 24 and 24 - 13 = 11. Substracting a fifth time would deliver a negative result and is henceforth omitted. The actual computation of this value uses a smarter, fast method; this is just for presentiveness. Usage example: You have a value in seconds, e.g. 285, and want to know how many minutes and seconds that are, so you divide by 60 and get 4.75. Omitting the 0.75 you&#039;re left with 4. For the remaining seconds, you&#039;d calculate 285 % 60 = 45, which &lt;br /&gt;
is the same as 60 * 0.75. Then you&#039;d know that 285 seconds equals 4 minutes plus 45 seconds. Real numbers and negative values are supported.AND, OR, XOR, NAND, NOR, NXOR: These are logic operands which operate bitwise; the leading &#039;N&#039; indicates bitwise negation after the operation. Example: An entity&#039;s spawnflags are stored in an integer which consists of 32 bits. Say you want to set the 7th checkbox of an entity&#039;s spawnflags, you need to make sure the 7th bit is set to 1. You hence need the integer number where only the 7th bit is set, which is 2 ^ (7 - 1) = 2 ^ 6 = 64. However, you cannot simply add this &lt;br /&gt;
to the existing spawnflags, because if the 7th bit was already set to 1, you&#039;d cause it to be set to 0 and generate a carry which is sent to the 8th bit; the magic of positional notation systems - just as 500 + 500 equals 1000 in decimal, 100 + 100 equals 1000 in binary. You&#039;d need to perform a bitwise OR. If you&#039;d want only the 7th checkbox to be checked, you&#039;d use replace-operation as usual. XOR means &amp;quot;Exclusive OR&amp;quot;, as in &amp;quot;Either that or the other, but not both&amp;quot;. AND means that both bits need to be 1 for the resulting bit to remain 1. You can imagine the logic operators perform 32 simultaneous operations on the combined 64 bits of two integers. Append (String concatenation): Appends your source value to the destination keyvalue. The later must be a string; otherwise this cannot work.}}&lt;br /&gt;
{{Entity_keyvalue|Trigonometric funcs. I/O|m_trigonometricBehaviour|When using trigonometric or arc-functions as per the &amp;quot;Operation&amp;quot;-keyvalue, this is used to determine what your input/desired output measure is. You&#039;ll usually want to stick to degrees.}}&lt;br /&gt;
{{Entity_keyvalue|Append spaces (for strings)|m_iAppendSpaces|When the destination keyvalue is a string, this specifies how many spaces to append after the operations. You&#039;ll usually want to use this with either the &amp;quot;Replace&amp;quot;- or &amp;quot;Append&amp;quot;-operation. This was implemented because Valve Hammer Editor omits any trailing spaces in keyvalues (but not leading ones).}}&lt;br /&gt;
{{Entity_keyvalue|Trigger after operation|message|Set entity/entities to be triggered after the trigger_changevalue has set the new keyvalue, by targetname as usual. &lt;br /&gt;
This is very useful when you need a chain of operations to happen in a specific order and without any delay in between.}}&lt;br /&gt;
&lt;br /&gt;
== Flags ==&lt;br /&gt;
&lt;br /&gt;
{{Entity_flag|1|Don&#039;t use X|When using vectors/arrays, this will ignore the first array. E.g., when setting render-color, specifying this flag would ignore the &#039;Red&#039;-value.}}&lt;br /&gt;
{{Entity_flag|2|Don&#039;t use Y|When using vectors/arrays, this will ignore the second array. E.g., when setting angles, specifying this flag would ignore the &#039;Yaw&#039;-value.}}&lt;br /&gt;
{{Entity_flag|4|Don&#039;t use Z|When using vectors/arrays, this will ignore the third array. E.g., when setting velocity, specifying this flag would ignore the vertical velocity.}}&lt;br /&gt;
{{Entity_flag|32|Invert target value|The destination keyvalue will be multiplied with minus one before proceeding.}}&lt;br /&gt;
{{Entity_flag|64|Invert source value|The source-value will be multiplied with minus one before proceeding; this change is only temporary and this keyvalue is rather useless, as you can always prepend a minus-sign to the static source-value.}}&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
* Trigger_changevalue supports the use of &amp;quot;!activator&amp;quot; and &amp;quot;!caller&amp;quot; in the &amp;quot;Destination Entity&amp;quot; field.&lt;br /&gt;
* Trying to write a vector to a float or integer will cause the vector&#039;s length to be written. This is in respect to any ignored dimensions as per &amp;lt;code&amp;gt;spawnflags&amp;lt;/code&amp;gt;.&lt;br /&gt;
* When trying to change the value of a [[Custom Keyvalues|custom key]] for an entity but that custom key doesn&#039;t yet exist, it will initialise that key first before writing to it.&lt;br /&gt;
&lt;br /&gt;
{{entity_title}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Entities]]&lt;br /&gt;
[[Category:Point entities]]&lt;/div&gt;</summary>
		<author><name>Outerbeast</name></author>
	</entry>
	<entry>
		<id>https://wiki.svencoop.com/index.php?title=Trigger_changevalue&amp;diff=1394</id>
		<title>Trigger changevalue</title>
		<link rel="alternate" type="text/html" href="https://wiki.svencoop.com/index.php?title=Trigger_changevalue&amp;diff=1394"/>
		<updated>2025-10-07T10:05:53Z</updated>

		<summary type="html">&lt;p&gt;Outerbeast: /* Notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Entity_Infobox&lt;br /&gt;
| title=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
Trigger_changevalue can perform arithmetic and logic operations on base-keyvalues of entities, as well as replace their private keyvalues. See [[trigger_copyvalue]] for a variant of this with more options. Supports custom keyvalues.&lt;br /&gt;
&lt;br /&gt;
== Keyvalues ==&lt;br /&gt;
&lt;br /&gt;
{{Entity_keyvalue|Destination Entity|target|Name of the entity which&#039;s keyvalue is to changed. This can refer to more than one.}}&lt;br /&gt;
{{Entity_keyvalue|Destination Keyvalue|m_iszValueName|Name of the key which&#039;s value is to be changed.}}&lt;br /&gt;
{{Entity_keyvalue|Static source-value|m_iszNewValue|Value to be applied to the destination keyvalue.}}&lt;br /&gt;
{{Entity_keyvalue|Operation|m_iszValueType|This specifies how destination keyvalue and static source-value correlate. What exactly happens also depends on the types &lt;br /&gt;
of the two. There are some academic things in here, so I shall explain some of them:Pow: Source value to the power of destination value. To keep things simple, zero to the power of zero magically equals one and taking a negative value to the power of a non-integer will cause the base to be treated as positive.Mod: Short for &amp;quot;Modulo&amp;quot;, this calculates the rest of a division. For example, 63 % 13 equals 11, because 63 - 13 = 50, 50 - 13 = 37, 37 - 13 = 24 and 24 - 13 = 11. Substracting a fifth time would deliver a negative result and is henceforth omitted. The actual computation of this value uses a smarter, fast method; this is just for presentiveness. Usage example: You have a value in seconds, e.g. 285, and want to know how many minutes and seconds that are, so you divide by 60 and get 4.75. Omitting the 0.75 you&#039;re left with 4. For the remaining seconds, you&#039;d calculate 285 % 60 = 45, which &lt;br /&gt;
is the same as 60 * 0.75. Then you&#039;d know that 285 seconds equals 4 minutes plus 45 seconds. Real numbers and negative values are supported.AND, OR, XOR, NAND, NOR, NXOR: These are logic operands which operate bitwise; the leading &#039;N&#039; indicates bitwise negation after the operation. Example: An entity&#039;s spawnflags are stored in an integer which consists of 32 bits. Say you want to set the 7th checkbox of an entity&#039;s spawnflags, you need to make sure the 7th bit is set to 1. You hence need the integer number where only the 7th bit is set, which is 2 ^ (7 - 1) = 2 ^ 6 = 64. However, you cannot simply add this &lt;br /&gt;
to the existing spawnflags, because if the 7th bit was already set to 1, you&#039;d cause it to be set to 0 and generate a carry which is sent to the 8th bit; the magic of positional notation systems - just as 500 + 500 equals 1000 in decimal, 100 + 100 equals 1000 in binary. You&#039;d need to perform a bitwise OR. If you&#039;d want only the 7th checkbox to be checked, you&#039;d use replace-operation as usual. XOR means &amp;quot;Exclusive OR&amp;quot;, as in &amp;quot;Either that or the other, but not both&amp;quot;. AND means that both bits need to be 1 for the resulting bit to remain 1. You can imagine the logic operators perform 32 simultaneous operations on the combined 64 bits of two integers. Append (String concatenation): Appends your source value to the destination keyvalue. The later must be a string; otherwise this cannot work.}}&lt;br /&gt;
{{Entity_keyvalue|Trigonometric funcs. I/O|m_trigonometricBehaviour|When using trigonometric or arc-functions as per the &amp;quot;Operation&amp;quot;-keyvalue, this is used to determine what your input/desired output measure is. You&#039;ll usually want to stick to degrees.}}&lt;br /&gt;
{{Entity_keyvalue|Append spaces (for strings)|m_iAppendSpaces|When the destination keyvalue is a string, this specifies how many spaces to append after the operations. You&#039;ll usually want to use this with either the &amp;quot;Replace&amp;quot;- or &amp;quot;Append&amp;quot;-operation. This was implemented because Valve Hammer Editor omits any trailing spaces in keyvalues (but not leading ones).}}&lt;br /&gt;
{{Entity_keyvalue|Trigger after operation|message|Set entity/entities to be triggered after the trigger_changevalue has set the new keyvalue, by targetname as usual. &lt;br /&gt;
This is very useful when you need a chain of operations to happen in a specific order and without any delay in between.}}&lt;br /&gt;
&lt;br /&gt;
== Flags ==&lt;br /&gt;
&lt;br /&gt;
{{Entity_flag|1|Don&#039;t use X|When using vectors/arrays, this will ignore the first array. E.g., when setting render-color, specifying this flag would ignore the &#039;Red&#039;-value.}}&lt;br /&gt;
{{Entity_flag|2|Don&#039;t use Y|When using vectors/arrays, this will ignore the second array. E.g., when setting angles, specifying this flag would ignore the &#039;Yaw&#039;-value.}}&lt;br /&gt;
{{Entity_flag|4|Don&#039;t use Z|When using vectors/arrays, this will ignore the third array. E.g., when setting velocity, specifying this flag would ignore the vertical velocity.}}&lt;br /&gt;
{{Entity_flag|32|Invert target value|The destination keyvalue will be multiplied with minus one before proceeding.}}&lt;br /&gt;
{{Entity_flag|64|Invert source value|The source-value will be multiplied with minus one before proceeding; this change is only temporary and this keyvalue is rather useless, as you can always prepend a minus-sign to the static source-value.}}&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
* Trigger_changevalue supports the use of &amp;quot;!activator&amp;quot; and &amp;quot;!caller&amp;quot; in the &amp;quot;Destination Entity&amp;quot; field.&lt;br /&gt;
* Trying to write a vector to a float or integer will cause the vector&#039;s length to be written. This is in respect to any ignored dimensions as per &amp;lt;code&amp;gt;spawnflags&amp;lt;/code&amp;gt;.&lt;br /&gt;
* When trying to change the value of a [[Custom Keyvalues|custom key]] for an entity but that custom key doesn&#039;t yet exist, it will initialise that key first before writing to it.&lt;br /&gt;
&lt;br /&gt;
== Issues ==&lt;br /&gt;
trigger_changetarget only changes the target of one entity, the first one it can find, if there are several entities of the same name that the changetarget targets - trigger_changevalue can update multiple entities at the same time if they share the same name, so this can be used instead.&lt;br /&gt;
&amp;lt;br&amp;gt; This is fixed in 5.26.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{entity_title}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Entities]]&lt;br /&gt;
[[Category:Point entities]]&lt;/div&gt;</summary>
		<author><name>Outerbeast</name></author>
	</entry>
	<entry>
		<id>https://wiki.svencoop.com/index.php?title=TE_EXPLODEMODEL&amp;diff=1393</id>
		<title>TE EXPLODEMODEL</title>
		<link rel="alternate" type="text/html" href="https://wiki.svencoop.com/index.php?title=TE_EXPLODEMODEL&amp;diff=1393"/>
		<updated>2025-09-13T19:33:38Z</updated>

		<summary type="html">&lt;p&gt;Outerbeast: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Spawns multiple rotating models with gravity, collisions, particle trails, and flashing orange lights.&lt;br /&gt;
[[File:TE EXPLODEMODEL.gif|frame|TE_EXPLODEMODEL]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void te_explodemodel(Vector pos, float velocity, &lt;br /&gt;
	string model=&amp;quot;models/hgibs.mdl&amp;quot;, uint16 count=8, uint8 life=32,&lt;br /&gt;
	NetworkMessageDest msgType=MSG_BROADCAST, edict_t@ dest=null)&lt;br /&gt;
{&lt;br /&gt;
	NetworkMessage m(msgType, NetworkMessages::SVC_TEMPENTITY, dest);&lt;br /&gt;
	m.WriteByte(TE_EXPLODEMODEL);&lt;br /&gt;
	m.WriteCoord(pos.x);&lt;br /&gt;
	m.WriteCoord(pos.y);&lt;br /&gt;
	m.WriteCoord(pos.z);&lt;br /&gt;
	m.WriteCoord(velocity);&lt;br /&gt;
	m.WriteShort(g_EngineFuncs.ModelIndex(model));&lt;br /&gt;
	m.WriteShort(count);&lt;br /&gt;
	m.WriteByte(life);&lt;br /&gt;
	m.End();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;Vector	pos&amp;lt;/code&amp;gt;	Center point for the effect&lt;br /&gt;
* &amp;lt;code&amp;gt;float	velocity&amp;lt;/code&amp;gt;	Ejection speed for all models&lt;br /&gt;
* &amp;lt;code&amp;gt;string	model&amp;lt;/code&amp;gt;	Model to display&lt;br /&gt;
* &amp;lt;code&amp;gt;uint16	count&amp;lt;/code&amp;gt;	Number of models to spawn&lt;br /&gt;
* &amp;lt;code&amp;gt;uint8	life&amp;lt;/code&amp;gt;	Time to display all models (seconds * 0.1)&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Outerbeast</name></author>
	</entry>
	<entry>
		<id>https://wiki.svencoop.com/index.php?title=Ambient_music&amp;diff=1392</id>
		<title>Ambient music</title>
		<link rel="alternate" type="text/html" href="https://wiki.svencoop.com/index.php?title=Ambient_music&amp;diff=1392"/>
		<updated>2025-08-29T19:41:35Z</updated>

		<summary type="html">&lt;p&gt;Outerbeast: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Entity_Infobox&lt;br /&gt;
| title=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This entity is used to play music within a level. The difference from [[ambient_generic|Ambient Generic]] is the volume being controlled via the CVar &#039;mp3volume&#039; instead of &#039;volume&#039;.&lt;br /&gt;
Plays everywhere, is not affected by 3D positioning, reverberation, or filters.&lt;br /&gt;
Mappers can adjust volume of individual music tracks by &amp;quot;volume&amp;quot; key value, but the final volume is determined on the client-side based on a value of &amp;quot;MP3Volume&amp;quot; CVAR.&lt;br /&gt;
Music will play even for players that joined after the entity was triggered. Playback will start with an appropriate offset for them.&lt;br /&gt;
Music can be looped.&lt;br /&gt;
== Keyvalues ==&lt;br /&gt;
&lt;br /&gt;
{{Entity_keyvalue|Sound File|message|Name of the sound file to play. File Path starts in the &#039;sound&#039;-folder, example: &#039;mymap/musicfile.ogg&#039;.}}&lt;br /&gt;
{{Entity_keyvalue|Volume|volume|Set how loud the sound shall be in a range from 0 (not audible) to 10 (normal), but ultimately controlled by the player from the options menu.}}&lt;br /&gt;
&lt;br /&gt;
== Flags ==&lt;br /&gt;
&lt;br /&gt;
{{Entity_flag|1|Start Silent|Music starts once the entity is triggered.}}&lt;br /&gt;
{{Entity_flag|2|Loop|Replays the music until toggled off.}}&lt;br /&gt;
{{Entity_flag|4|Activator Only|Music can be played for an individual player (activator).}}&lt;br /&gt;
&lt;br /&gt;
{{entity_title}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Entities]]&lt;br /&gt;
[[Category:Point entities]]&lt;/div&gt;</summary>
		<author><name>Outerbeast</name></author>
	</entry>
	<entry>
		<id>https://wiki.svencoop.com/index.php?title=Ambient_music&amp;diff=1391</id>
		<title>Ambient music</title>
		<link rel="alternate" type="text/html" href="https://wiki.svencoop.com/index.php?title=Ambient_music&amp;diff=1391"/>
		<updated>2025-08-29T19:35:38Z</updated>

		<summary type="html">&lt;p&gt;Outerbeast: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Entity_Infobox&lt;br /&gt;
| title=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This entity is used to play music within a level. The difference from [[ambient_generic|Ambient Generic]] is the volume being controlled via the CVar &#039;mp3volume&#039; instead of &#039;volume&#039;.&lt;br /&gt;
Plays everywhere, is not affected by 3D positioning, reverberation, or filters.&lt;br /&gt;
Mappers can adjust volume of individual music tracks by &amp;quot;volume&amp;quot; key value, but the final volume is determined on the client-side based on a value of &amp;quot;MP3Volume&amp;quot; CVAR.&lt;br /&gt;
Music will play even for players that joined after the entity was triggered. Playback will start with an appropriate offset for them.&lt;br /&gt;
Music can be looped.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Keyvalues ==&lt;br /&gt;
&lt;br /&gt;
{{Entity_keyvalue|Sound File|message|Name of the sound file to play. File Path starts in the &#039;sound&#039;-folder, example: &#039;mymap/musicfile.ogg&#039;.}}&lt;br /&gt;
{{Entity_keyvalue|Volume|volume|Set how loud the sound shall be in a range from 0 (not audible) to 10 (normal), but ultimately controlled by the player from the options menu.}}&lt;br /&gt;
&lt;br /&gt;
== Flags ==&lt;br /&gt;
&lt;br /&gt;
{{Entity_flag|1|Start Silent|Music starts once the entity is triggered.}}&lt;br /&gt;
{{Entity_flag|2|Loop|Replays the music until toggled off.}}&lt;br /&gt;
{{Entity_flag|4|Activator Only|Music can be played for an individual player (activator).}}&lt;br /&gt;
&lt;br /&gt;
{{entity_title}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Entities]]&lt;br /&gt;
[[Category:Point entities]]&lt;/div&gt;</summary>
		<author><name>Outerbeast</name></author>
	</entry>
	<entry>
		<id>https://wiki.svencoop.com/index.php?title=Mapping/Game_Triggering_System&amp;diff=1390</id>
		<title>Mapping/Game Triggering System</title>
		<link rel="alternate" type="text/html" href="https://wiki.svencoop.com/index.php?title=Mapping/Game_Triggering_System&amp;diff=1390"/>
		<updated>2025-08-22T17:15:08Z</updated>

		<summary type="html">&lt;p&gt;Outerbeast: /* Special Targetnames */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Introduction ==&lt;br /&gt;
The game engine holds all entities in one chained list. Every entity has an internal unique entity id by which it can be referenced.&lt;br /&gt;
For every entity there is, one edict is required. An edict is a sort of entity slot. The default amount of edicts is 885 + (maxplayers* 15) and cannot be changed while a map is running on a server. The number &#039;885&#039; in that formula can be altered by using the command line parameter &#039;num_edicts #&#039;, whereas the hash has to be replaced with a number greater than 885. This is commonly set to &amp;lt;code&amp;gt;8192&amp;lt;/code&amp;gt; for Sven Co-op servers. If an entity has to be created, but no free edicts are available, the game will crash with the error &amp;lt;code&amp;gt;ED_Alloc: No free edicts.&amp;lt;/code&amp;gt;.&lt;br /&gt;
== Triggering ==&lt;br /&gt;
Entities can trigger each other with different inputs. The following is a list of these inputs. This guide may refer to these at some points in order to explain things better, so make sure you remember them.&lt;br /&gt;
* Activator: The first entity in a trigger chain. E.g.: A player pressing a [[func_button]], which then triggers further entities. Entities which make use of their activator, depending on their configuration, for example, are: [[game_text]], [[env_fade]] or [[game_player_hurt]]. For all entities where a delay between them being triggered and them triggering their target is expected, the activator they pass on to their targets is, by default, replaced by themselves. This is to prevent cases of entities which have already been removed from the game being referenced, resulting in unwanted behavior. An activator can, in some cases, be referenced to using the special string &amp;lt;code&amp;gt;!activator&amp;lt;/code&amp;gt;. This does not consistently apply everywhere. See the specific entity entries in this guide for whether a specific entity supports this or not.&lt;br /&gt;
* Caller: The previous entity in a trigger chain. E.g.: The aforementioned func_button triggers a [[multi_manager]], hence the multi_manager&#039;s caller would be the func_button. A caller can, in some cases, be referenced to using the special string &amp;lt;code&amp;gt;!caller&amp;lt;/code&amp;gt;. This does not consistently apply everywhere. See the specific entity entries in this guide for whether a specific entity supports this or not.&lt;br /&gt;
* Use-type: Tells the targeted entity what to do. This is not implemented consistently. An entity will only react according to the use-type if the exact behavior for the according use-type case has been explicitly written in the game&#039;s source code, which is not the case for every entity and use-type. The following explains all five use-types currently present in the game engine.&lt;br /&gt;
** Off: Turn the targeted entity off.&lt;br /&gt;
** On: Turn the targeted entity on.&lt;br /&gt;
** Set: A specific value of the target entity, if it supports it, is set and the targeted entity may react accordingly.&lt;br /&gt;
** Toggle: If the targeted entity is on, turn it off. If the targeted entity is off, turn it on.&lt;br /&gt;
** Kill: Remove the targeted entity from the game.&lt;br /&gt;
&lt;br /&gt;
* Value: A real number, which is used for different purposes, depending on triggering and targeted entity. E.g., a [[game_zone_player]], when triggered, will trigger its &#039;out-counter&#039; (which should be a game_counter entity) with use-type &#039;Set&#039; and set the transmitted value to the amount of players outside of its collision hull. The [[game_counter]] will recognize the use-type &#039;Set&#039; and set its current value to the one forwarded by the game_zone_player entity. Furthermore, the game_counter will then check if the new value matches its &amp;quot;Limit value&amp;quot; and trigger its target(s) in case that is true. A completely different usage, however, can, for example, be seen when a func_button triggers an entity. The func_button puts its delay before reset as the value, but does not allow use-type &#039;Set&#039;. You can see the effect of this when triggering a multisource entity with a func_button. The multisource entity&#039;s state will only be &#039;unlocked&#039; for as long as the func_button&#039;s delay before reset has not been reached. This is because the multisource entity knows the exact delay from when it was triggered by the func_button with its delay before reset being set as the transmitted value.&lt;br /&gt;
&lt;br /&gt;
== Wildcards ==&lt;br /&gt;
There is possibility to trigger multiple entities with same prefix at once, making it faster to target or killtarget them without using multi_manager or [[Trigger relay|relays]]. Just write an entity name in the target field and add asterisk (*) at the end of string. Any entity that begins with that string will be targeted. Example: func_door target is &amp;lt;code&amp;gt;action_*&amp;lt;/code&amp;gt;, so it will fire entities like &amp;lt;code&amp;gt;action_door&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;action_wall&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;action_grunts&amp;lt;/code&amp;gt; e.t.c. You can do the same with kill-targeting entities.&lt;br /&gt;
&lt;br /&gt;
== Expected Default Behavior ==&lt;br /&gt;
Some default behaviour is to be expected from most entities, in which cases this guide will not specifically explain the according keyvalue(s) and/or spawnflag(s). Whenever an entity can have a target, it will usually mean that all entities by the name specified&lt;br /&gt;
as the target will be fired. Same goes for kill-target, which will remove all targeted entities from the game. Whenever an entity&lt;br /&gt;
allows &#039;Trigger-state&#039; to be set, this guide should not be expected to explain what that means, as you should already have read about use-types above. This guide, for most of it, only explains things which work different from the normally to-be-expected default behaviour. I am not here to copy and paste the same basic keyvalues a thousand times for every entity, as this guide is written in pure HTML entirely, without any help from programs other than Notepad2. I also do not intend to make this a guide about mapping in general. It is mainly for reference on how specific entities work in Sven Co-op 4.5. Mapping experience withsome GoldSource mod is expected.&lt;br /&gt;
&lt;br /&gt;
== Special Targetnames ==&lt;br /&gt;
The game engine knows five special targetnames. Entities which are named with these are triggered with use-type &#039;Toggle&#039; whenever the according player-event occurs. Activator and caller are set to the player who causes the event.&lt;br /&gt;
* &amp;lt;code&amp;gt;game_playerkill&amp;lt;/code&amp;gt;: A player kills another player. Activator and caller are set to the player who killed.&lt;br /&gt;
* &amp;lt;code&amp;gt;game_playerdie&amp;lt;/code&amp;gt;: A player dies. Activator and caller are set to the player who died.&lt;br /&gt;
* &amp;lt;code&amp;gt;game_playerrevive&amp;lt;/code&amp;gt;: A player is revived. Activator and caller are set to the player who was revived.&lt;br /&gt;
* &amp;lt;code&amp;gt;game_playerjoin&amp;lt;/code&amp;gt;: A player joins the game. Activator and caller are set to the joining player.&lt;br /&gt;
* &amp;lt;code&amp;gt;game_playerleave&amp;lt;/code&amp;gt;: A player leaves the game. Activator and caller are set to the leaving player.&lt;br /&gt;
* &amp;lt;code&amp;gt;game_playerspawn&amp;lt;/code&amp;gt;: A player spawns or respawns. Activator and caller are set to the spawning/respawning player.&lt;br /&gt;
&lt;br /&gt;
On another note, entity names should never start with &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[Category:Mapping]]&lt;br /&gt;
[[Category:Tutorials]]&lt;/div&gt;</summary>
		<author><name>Outerbeast</name></author>
	</entry>
	<entry>
		<id>https://wiki.svencoop.com/index.php?title=Angelscript&amp;diff=1389</id>
		<title>Angelscript</title>
		<link rel="alternate" type="text/html" href="https://wiki.svencoop.com/index.php?title=Angelscript&amp;diff=1389"/>
		<updated>2025-08-21T19:47:27Z</updated>

		<summary type="html">&lt;p&gt;Outerbeast: /* Getting Started */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains basic coverage and tutorials for Sven Co-op&#039;s Angelscript API.&lt;br /&gt;
&lt;br /&gt;
[https://r4to0.github.io/asautodocs/nd_prerelease/index.html API auto-generated documentation is available here.]&lt;br /&gt;
For information on the AngelScript language, visit the [https://www.angelcode.com/angelscript/sdk/docs/manual/doc_script.html official AngelScript manual here]&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-decoration:underline;&amp;quot; | Tutorials&lt;br /&gt;
! style=&amp;quot;vertical-align:middle;&amp;quot; | Basics of building scripts&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[Running Scripts]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Covers how to import and execute script files, such as map scripts and plugins&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[Typecasting]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Covers how and when to use typecasts&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[Debugging]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Debugging scripts&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[Entity Basics]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Covers the basics of what entities are and how to use them.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[Entity Intermediate]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Covers intermediate topics regarding entities.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[Custom Entities]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Build your own custom entity&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [https://gist.github.com/anggaranothing/539db1684f33a1c371b5cacdf29af0e4 Class Inheritance Tree]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Class hierarchy diagram for CBaseEntity classes exposed to the API&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== API Features ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-decoration:underline;&amp;quot; | API Features&lt;br /&gt;
! style=&amp;quot;vertical-align:middle;&amp;quot; | Covers some fundamental aspects of writing scripts for Sven Co-op&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[CEntityFuncs|Entity Functions]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | How to use the various entity functions.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[CPlayerFuncs|Player Functions]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Various player related functions&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[CSoundEngine|Sound System]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | How to use the sound system.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[CEngineFuncs|Engine Functions]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | How to use engine functions.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[Mapping/Custom_Keyvalues#Custom_keyvalues_in_Angelscript|Custom Keyvalues]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Covers the usage of custom keyvalues in scripts.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[CEngine]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Covers the CEngine class. This class includes the current time and frametime, as well as engine configuration and the global trace.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[CGame]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Contains methods integral to the game&#039;s operation.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[Tracing]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Covers performing traces and usage of the TraceResult class, as well as related enumerations.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[CUtility|Utility Functions]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Covers various utility methods&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[Hooks]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Covers the purpose and use of hooks.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[Scheduler]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Covers the use of the scheduler.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[CMath|Math]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Covers the use of various math operations&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[HUD]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Covers the usage of various HUD elements&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[Temporary Effects]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Covers the use of temporary entities.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[File System]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Covers the use of the virtual file system&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[CConCommandSystem| Console Command System]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Covers the console command system. This is used to add console commands and variables.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[Trigger_script#Scripting|trigger_script]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Build a trigger_script entity function&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[squadmaker function]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Describes the usage of the squadmaker entity to call script functions.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[ondestroyfn]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Describes the usage of the &amp;quot;ondestroyfn&amp;quot; function&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Data Types ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-decoration:underline;&amp;quot; | Data Types&lt;br /&gt;
! style=&amp;quot;vertical-align:middle;&amp;quot; | Covers some common data types used in scripts&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline;&amp;quot; | [[Strings]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | Covers the basics of strings in scripts&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline;&amp;quot; | [[Vector|Vectors]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | Covers the basics of Vectors in scripts&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline;&amp;quot; | [[RGBA]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | Covers the basics of the RGBA structure&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline;&amp;quot; | [[EHandle]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | Covers the usage of EHandle structure for storing entity handles&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline;&amp;quot; | [[CCVar]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | Covers how to create and use custom CVars&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-decoration:underline;&amp;quot; | Page&lt;br /&gt;
! style=&amp;quot;vertical-align:middle;&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline;&amp;quot; | [[DateTime]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | Covers the basics of the date and time structure&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline;&amp;quot; | [[SayParameters]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | Stores data used by the ClientSay [[Hooks|hook]].&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline;&amp;quot; | [[Animation Extensions]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | Animation Extensions used by weapons for player models.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline;&amp;quot; | [[Default Ammo Types]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | Default Ammo Types used by the game.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline;&amp;quot; | [[Bullet]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | The Bullet enum contains bullet types used by the game.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline;&amp;quot; | [[KeyValueBuffer]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | Key Value Buffer&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Outerbeast</name></author>
	</entry>
	<entry>
		<id>https://wiki.svencoop.com/index.php?title=Angelscript&amp;diff=1388</id>
		<title>Angelscript</title>
		<link rel="alternate" type="text/html" href="https://wiki.svencoop.com/index.php?title=Angelscript&amp;diff=1388"/>
		<updated>2025-08-21T19:43:28Z</updated>

		<summary type="html">&lt;p&gt;Outerbeast: /* Getting Started */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains basic coverage and tutorials for Sven Co-op&#039;s Angelscript API.&lt;br /&gt;
&lt;br /&gt;
[https://r4to0.github.io/asautodocs/nd_prerelease/index.html API auto-generated documentation is available here.]&lt;br /&gt;
For information on the AngelScript language, visit the [https://www.angelcode.com/angelscript/sdk/docs/manual/doc_script.html official AngelScript manual here]&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-decoration:underline;&amp;quot; | Tutorials&lt;br /&gt;
! style=&amp;quot;vertical-align:middle;&amp;quot; | Basics of building scripts&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[Running Scripts]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Covers how to import and execute script files, such as map scripts and plugins&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[Typecasting]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Covers how and when to use typecasts&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[Debugging]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Debugging scripts&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[Entity Basics]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Covers the basics of what entities are and how to use them.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[Entity Intermediate]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Covers intermediate topics regarding entities.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[Custom Entities]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Build your own custom entity&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[Class Inheritance Tree]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Class hierarchy diagram for CBaseEntity classes exposed to the API&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== API Features ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-decoration:underline;&amp;quot; | API Features&lt;br /&gt;
! style=&amp;quot;vertical-align:middle;&amp;quot; | Covers some fundamental aspects of writing scripts for Sven Co-op&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[CEntityFuncs|Entity Functions]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | How to use the various entity functions.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[CPlayerFuncs|Player Functions]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Various player related functions&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[CSoundEngine|Sound System]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | How to use the sound system.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[CEngineFuncs|Engine Functions]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | How to use engine functions.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[Mapping/Custom_Keyvalues#Custom_keyvalues_in_Angelscript|Custom Keyvalues]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Covers the usage of custom keyvalues in scripts.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[CEngine]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Covers the CEngine class. This class includes the current time and frametime, as well as engine configuration and the global trace.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[CGame]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Contains methods integral to the game&#039;s operation.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[Tracing]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Covers performing traces and usage of the TraceResult class, as well as related enumerations.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[CUtility|Utility Functions]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Covers various utility methods&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[Hooks]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Covers the purpose and use of hooks.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[Scheduler]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Covers the use of the scheduler.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[CMath|Math]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Covers the use of various math operations&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[HUD]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Covers the usage of various HUD elements&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[Temporary Effects]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Covers the use of temporary entities.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[File System]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Covers the use of the virtual file system&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[CConCommandSystem| Console Command System]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Covers the console command system. This is used to add console commands and variables.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[Trigger_script#Scripting|trigger_script]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Build a trigger_script entity function&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[squadmaker function]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Describes the usage of the squadmaker entity to call script functions.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[ondestroyfn]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Describes the usage of the &amp;quot;ondestroyfn&amp;quot; function&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Data Types ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-decoration:underline;&amp;quot; | Data Types&lt;br /&gt;
! style=&amp;quot;vertical-align:middle;&amp;quot; | Covers some common data types used in scripts&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline;&amp;quot; | [[Strings]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | Covers the basics of strings in scripts&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline;&amp;quot; | [[Vector|Vectors]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | Covers the basics of Vectors in scripts&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline;&amp;quot; | [[RGBA]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | Covers the basics of the RGBA structure&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline;&amp;quot; | [[EHandle]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | Covers the usage of EHandle structure for storing entity handles&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline;&amp;quot; | [[CCVar]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | Covers how to create and use custom CVars&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-decoration:underline;&amp;quot; | Page&lt;br /&gt;
! style=&amp;quot;vertical-align:middle;&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline;&amp;quot; | [[DateTime]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | Covers the basics of the date and time structure&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline;&amp;quot; | [[SayParameters]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | Stores data used by the ClientSay [[Hooks|hook]].&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline;&amp;quot; | [[Animation Extensions]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | Animation Extensions used by weapons for player models.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline;&amp;quot; | [[Default Ammo Types]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | Default Ammo Types used by the game.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline;&amp;quot; | [[Bullet]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | The Bullet enum contains bullet types used by the game.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline;&amp;quot; | [[KeyValueBuffer]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | Key Value Buffer&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Outerbeast</name></author>
	</entry>
	<entry>
		<id>https://wiki.svencoop.com/index.php?title=Hooks&amp;diff=1387</id>
		<title>Hooks</title>
		<link rel="alternate" type="text/html" href="https://wiki.svencoop.com/index.php?title=Hooks&amp;diff=1387"/>
		<updated>2025-07-25T19:07:05Z</updated>

		<summary type="html">&lt;p&gt;Outerbeast: /* Monster Hooks */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hooks are a form of events that scripts can hook into. When you register a hook, the function you’ve registered will be called whenever the associated event occurs.&lt;br /&gt;
&lt;br /&gt;
Multiple scripts can hook into the same hook, and the same script can hook the same hook multiple times. Map scripts will always come first when hooks that both map scripts and plugins can use are executed.&lt;br /&gt;
&lt;br /&gt;
== Hook return code ==&lt;br /&gt;
&lt;br /&gt;
All hooks have to return a code to indicate whether they’ve handled the event or not.&lt;br /&gt;
&lt;br /&gt;
If a hook has handled the event, it should return &amp;lt;code&amp;gt;HOOK_HANDLED&amp;lt;/code&amp;gt;. Otherwise, it should return &amp;lt;code&amp;gt;HOOK_CONTINUE&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;hook-definition-and-usage&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
== Hook definition and usage ==&lt;br /&gt;
&lt;br /&gt;
All hooks are defined in the namespace “Hooks”.&lt;br /&gt;
&lt;br /&gt;
All hooks have funcdefs defined for them that have the syntax &amp;lt;name&amp;gt;Hook, where &amp;lt;name&amp;gt; is the name of the constant without any namespaces prepended. For example, the &amp;lt;code&amp;gt;Hooks::Game::MapChange&amp;lt;/code&amp;gt; hook has the funcdef &amp;lt;code&amp;gt;MapChangeHook&amp;lt;/code&amp;gt;. This can be used to register object methods as hooks.&lt;br /&gt;
&lt;br /&gt;
You can get an up to date list of hook by typing as_dumphooks &amp;lt;filename&amp;gt; in the console. You must be the server admin to be able to do this. The filename should not have an extension. The file extension is .txt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;registering-hooks&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
=== Registering hooks ===&lt;br /&gt;
&lt;br /&gt;
To register a hook, you must use the g_Hooks global object. This object is defined as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;CModuleHookManager g_Hooks;&amp;lt;/pre&amp;gt;&lt;br /&gt;
(The actual definition uses a global property accessor, but it behaves like a variable as shown above)&lt;br /&gt;
&lt;br /&gt;
Registering a hook is done as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;HookReturnCode MapChange( const string&amp;amp;amp; in szNextMap )&lt;br /&gt;
{&lt;br /&gt;
    // Handle map change&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
g_Hooks.RegisterHook( Hooks::Game::MapChange, MapChange );&amp;lt;/pre&amp;gt;&lt;br /&gt;
Removing a hook is done much like registering it:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;g_Hooks.RemoveHook( Hooks::Game::MapChange, MapChange );&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
If you are trying to register a method to a hook, you need to pass the method handle in via a delegate, this is done as follows:&lt;br /&gt;
&amp;lt;pre&amp;gt;g_Hooks.RegisterHook( Hooks::Game::MapChange, MapChangeHook( obj.MapChange ) )&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
It is also possible to remove all of the hook functions registered for a particular hook in the current script by calling RemoveHook with just the hook ID parameter:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;g_Hooks.RemoveHook( Hooks::Game::MapChange );&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Stop Modes ===&lt;br /&gt;
&lt;br /&gt;
Hooks can have one of a few stop modes. This mode defines when hook execution should stop.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Name&lt;br /&gt;
! Action&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ON_HANDLED&lt;br /&gt;
| As soon as a hook has returned HOOK_HANDLED, stop execution.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;MODULE_HANDLED&lt;br /&gt;
| As soon as a single script has return HOOK_HANDLED from any of its hooks, stop execution.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;CALL_ALL&lt;br /&gt;
| Regardless of the return code, execute all hooks.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;available-hooks&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Available hooks ==&lt;br /&gt;
=== Game Hooks ===&lt;br /&gt;
&amp;lt;code&amp;gt;Hooks::Game::&amp;lt;/code&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- style=&amp;quot;font-weight:bold; text-align:center; vertical-align:middle;&amp;quot;&lt;br /&gt;
! Constant&lt;br /&gt;
! Signature&lt;br /&gt;
! style=&amp;quot;border-color:inherit;&amp;quot; | Description&lt;br /&gt;
! style=&amp;quot;border-color:inherit;&amp;quot; | Stop Mode&lt;br /&gt;
! style=&amp;quot;border-color:inherit;&amp;quot; | Availability&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;MapChange&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;HookReturnCode Function( const string&amp;amp;amp; in szNextMap )&amp;lt;/code&amp;gt;&lt;br /&gt;
| When the map changes, this hook is called. Note that this happens when the world is destroyed. There may still be entities that exist at this point. This is caused by engine limitations.&lt;br /&gt;
| &amp;lt;code&amp;gt;CALL_ALL&amp;lt;/code&amp;gt;&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;EntityCreated&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;HookReturnCode Function( CBaseEntity@ pEntity )&amp;lt;/code&amp;gt;&lt;br /&gt;
| Called when a new entity is created. At this point the entity is not spawned yet and may not be fully initialized.&lt;br /&gt;
| &amp;lt;code&amp;gt;ON_HANDLED&amp;lt;/code&amp;gt;&lt;br /&gt;
| All&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Player Hooks ===&lt;br /&gt;
&amp;lt;code&amp;gt;Hooks::Player::&amp;lt;/code&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|- style=&amp;quot;font-weight:bold; text-align:center; vertical-align:middle;&amp;quot;&lt;br /&gt;
! Constant&lt;br /&gt;
! Signature&lt;br /&gt;
! style=&amp;quot;border-color:inherit;&amp;quot; | Description&lt;br /&gt;
! style=&amp;quot;border-color:inherit;&amp;quot; | Stop Mode&lt;br /&gt;
! style=&amp;quot;border-color:inherit;&amp;quot; | Availability&lt;br /&gt;
|- style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color:#F8F9FA; color:#202122;&amp;quot; | &amp;lt;code&amp;gt;CanPlayerUseReservedSlot&lt;br /&gt;
| style=&amp;quot;background-color:#F8F9FA; color:#202122;&amp;quot; | &amp;lt;code&amp;gt;HookReturnCode Function( edict_t@ pEntity, const string&amp;amp; in szPlayerName, const string&amp;amp; in szIPAddress, bool&amp;amp; out bAllowJoin )&lt;br /&gt;
| style=&amp;quot;background-color:#F8F9FA; color:#202122; border-color:inherit;&amp;quot; | Called when a player connects to the server, and the number of slots left on the server is &amp;lt;= the number of reserved slots. Set bAllowJoin to true to allow the player to join (default false).&amp;lt;br /&amp;gt;Note: At this point in time the player’s CBasePlayer instance does not yet exist. Do not try to use it, as it will not work.&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | &amp;lt;code&amp;gt;ON_HANDLED&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | Plugins only&lt;br /&gt;
|- style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background-color:#F8F9FA; color:#202122;&amp;quot; | &amp;lt;code&amp;gt;ClientConnected&lt;br /&gt;
| style=&amp;quot;background-color:#F8F9FA; color:#202122;&amp;quot; | &amp;lt;code&amp;gt;HookReturnCode Function( edict_t@ pEntity, const string&amp;amp; in szPlayerName, const string&amp;amp; in szIPAddress, bool&amp;amp; out bDisallowJoin, string&amp;amp; out szRejectReason )&lt;br /&gt;
| style=&amp;quot;background-color:#F8F9FA; color:#202122; border-color:inherit;&amp;quot; | Called when a player connects to the server. if bDisallowJoin is set to false, the player is disconnected. szRejectReason is shown to the player if disconnected. the maximum length of the reject reason string is 127 characters.&amp;lt;br /&amp;gt;Note: At this point in time the player’s CBasePlayer instance does not yet exist. Do not try to use it, as it will not work.&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | &amp;lt;code&amp;gt;CALL_ALL&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | Plugins only&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; background-color:#F8F9FA; color:#202122;&amp;quot; | &amp;lt;code&amp;gt;ClientPutInServer&lt;br /&gt;
| style=&amp;quot;background-color:#F8F9FA; color:#202122;&amp;quot; | &amp;lt;code&amp;gt;HookReturnCode Function( CBasePlayer@ pPlayer )&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; background-color:#F8F9FA; color:#202122; border-color:inherit;&amp;quot; | Called when a player has finished connecting and is put into the world. It is safe to send network messages to the player at this point.&amp;lt;br /&amp;gt;The player’s CBasePlayer instance is created right before this hook is executed.&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; border-color:inherit;&amp;quot; | &amp;lt;code&amp;gt;CALL_ALL&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; border-color:inherit;&amp;quot; | All&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ClientDisconnect&lt;br /&gt;
| &amp;lt;code&amp;gt;HookReturnCode Function( CBasePlayer@ pPlayer )&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | Called when a player disconnects. Note that this is only called if the player was fully connected, meaning the player went through ClientPutInServer. This is never called for the local host, since it can’t disconnect before shutting the server itself down.&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | &amp;lt;code&amp;gt;CALL_ALL&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | All&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;ClientSay&lt;br /&gt;
| &amp;lt;code&amp;gt;HookReturnCode Function( SayParameters@ pParams )&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | Called when a player says something in game chat. The SayParameters class can be used to manipulate input and veto the message.&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | &amp;lt;code&amp;gt;ON_HANDLED&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | All&lt;br /&gt;
|- style=&amp;quot;border-color:inherit;&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;GetPlayerSpawnSpot&lt;br /&gt;
| &amp;lt;code&amp;gt;HookReturnCode Function( CBasePlayer@ pPlayer, CBaseEntity@&amp;amp; out ppEntSpawnSpot )&lt;br /&gt;
| Called when the game is trying to find a spawn spot for a player. To specify a spawn spot (or no spawn spot), set ppEntSpawnSpot to the spot you wish to use, and return HOOK_HANDLED. Setting null will cause the game to spawn the player dead.&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
|- style=&amp;quot;border-color:inherit;&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PlayerSpawn&lt;br /&gt;
| &amp;lt;code&amp;gt;HookReturnCode Function( CBasePlayer@ pPlayer )&lt;br /&gt;
| Called when a player (re)spawns. Player render settings and equipment changes are unavailable at this point.&lt;br /&gt;
| &amp;lt;code&amp;gt;CALL_ALL&lt;br /&gt;
| All&lt;br /&gt;
|- style=&amp;quot;border-color:inherit;&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PlayerCanRespawn&lt;br /&gt;
| &amp;lt;code&amp;gt;HookReturnCode Function( CBasePlayer@ pPlayer, bool&amp;amp; out bCanRespawn )&lt;br /&gt;
| Called when the game wants to know if the player should be able to respawn or not. Set bCanRespawn to false to disallow, default true.&lt;br /&gt;
| &amp;lt;code&amp;gt;ON_HANDLED&lt;br /&gt;
| All&lt;br /&gt;
|- style=&amp;quot;border-color:inherit;&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PlayerTakeDamage&lt;br /&gt;
| &amp;lt;code&amp;gt;HookReturnCode PlayerTakeDamageHook( DamageInfo@ pDamageInfo )&lt;br /&gt;
| Called when a player takes damage. Note that the victim entity can’t be changed at this point.&lt;br /&gt;
| &lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | &amp;lt;code&amp;gt;PlayerKilled&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | &amp;lt;code&amp;gt;HookReturnCode Function( CBasePlayer@ pPlayer, CBaseEntity@ pAttacker, int iGib )&lt;br /&gt;
| Called when a player is killed. pAttacker is the entity responsible for killing the player, and may be null. iGib is one of the GIB enum values, indicating whether or not the player should be gibbed or not.&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | All&lt;br /&gt;
|- style=&amp;quot;border-color:inherit;&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;PlayerRevived&amp;lt;/code&amp;gt;&lt;br /&gt;
| &amp;lt;code&amp;gt;HookReturnCode Function( CBasePlayer@ pPlayer )&amp;lt;/code&amp;gt;&lt;br /&gt;
| Called when a player is revived. At this point all the revival process is finished.&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | &amp;lt;code&amp;gt;CALL_ALL&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | All&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PlayerUse&lt;br /&gt;
| &amp;lt;code&amp;gt;HookReturnCode Function( CBasePlayer@ pPlayer, uint&amp;amp; out uiFlags )&lt;br /&gt;
| Called when the game is processing player button input. Note that this occurs even if the player has not pressed any keys. uiFlags is used to skip player use processing after the hook returns. Setting the flag PlrHook_SkipUse will skip processing.&lt;br /&gt;
| &lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | &amp;lt;code&amp;gt;PlayerPreThink&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | &amp;lt;code&amp;gt;HookReturnCode Function( CBasePlayer@ pPlayer, uint&amp;amp; out uiFlags )&lt;br /&gt;
| Called when the player is processing pre think events. uiFlags is used to skip pre think processing after the hook returns. Setting the flag PlrHook_SkipVehicles will skip vehicle processing.&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | &amp;lt;code&amp;gt;PlayerPostThink&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | &amp;lt;code&amp;gt;HookReturnCode Function( CBasePlayer@ pPlayer )&lt;br /&gt;
| Called when the player is processing post think events.&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PlayerPreDecal&lt;br /&gt;
| &amp;lt;code&amp;gt;HookReturnCode Function( CBasePlayer@, const TraceResult&amp;amp; in, bool&amp;amp; out bResult)&lt;br /&gt;
| Called when a player attempts to spraypaint a decal onto a surface. The given trace result contains the surface information. Set bResult to false if the player shouldn’t be able to spray.&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PlayerDecal&lt;br /&gt;
| &amp;lt;code&amp;gt;HookReturnCode Function( CBasePlayer@ pPlayer, const TraceResult&amp;amp; in trace )&lt;br /&gt;
| Called when a player is spraypainting a decal onto a surface. The given trace result contains the surface information.&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PlayerEnteredObserver&lt;br /&gt;
| &amp;lt;code&amp;gt;HookReturnCode Function( CBasePlayer@ pPlayer )&lt;br /&gt;
| Called when a player enters observer mode.&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | &lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;PlayerLeftObserver&lt;br /&gt;
| &amp;lt;code&amp;gt;HookReturnCode Function( CBasePlayer@ pPlayer )&lt;br /&gt;
| Called when a player leaves observer mode.&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | &lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Monster Hooks ===&lt;br /&gt;
&amp;lt;code&amp;gt;Hooks::Monster::&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Players are technically CBaseMonster instances, so player TakeDamage and Killed events will also be hooked. Ensure the function code accommodates for this.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Constant&lt;br /&gt;
! Signature&lt;br /&gt;
! Description&lt;br /&gt;
! Stop Mode&lt;br /&gt;
! Availability&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;MonsterKilledHook&lt;br /&gt;
| &amp;lt;code&amp;gt;HookReturnCode Function( CBaseMonster@ pMonster, CBaseEntity@ pAttacker, int iGib )&lt;br /&gt;
| Called when a monster is killed (This hook isn’t called for grenade entities/monster_sentry/monster_barnacle).&amp;lt;br /&amp;gt;This hook may have spam issues.&lt;br /&gt;
| &amp;lt;code&amp;gt;ON_HANDLED&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;MonsterTakeDamage&lt;br /&gt;
| &amp;lt;code&amp;gt;HookReturnCode Function( DamageInfo@ pDamageInfo )&lt;br /&gt;
| Called when a monster takes damage.&lt;br /&gt;
| &amp;lt;code&amp;gt;ON_HANDLED&lt;br /&gt;
| All&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Weapon Hooks ===&lt;br /&gt;
&amp;lt;code&amp;gt;Hooks::Weapon::&amp;lt;/code&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Constant&lt;br /&gt;
! Signature&lt;br /&gt;
! Description&lt;br /&gt;
! Stop Mode&lt;br /&gt;
! Availability&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;WeaponPrimaryAttack&lt;br /&gt;
| &amp;lt;code&amp;gt;HookReturnCode Function( CBasePlayer@ pPlayer, CBasePlayerWeapon@ pWeapon )&lt;br /&gt;
| Called when a player fires a weapon&#039;s primary attack.&lt;br /&gt;
| &amp;lt;code&amp;gt;ON_HANDLED&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;WeaponSecondaryAttack&lt;br /&gt;
| &amp;lt;code&amp;gt;HookReturnCode Function( CBasePlayer@ pPlayer, CBasePlayerWeapon@ pWeapon )&lt;br /&gt;
| Called when a player fires a weapon&#039;s secondary attack.&lt;br /&gt;
| &amp;lt;code&amp;gt;ON_HANDLED&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;WeaponTertiaryAttack&lt;br /&gt;
| &amp;lt;code&amp;gt;HookReturnCode Function( CBasePlayer@ pPlayer, CBasePlayerWeapon@ pWeapon )&lt;br /&gt;
| Called when a player fires a weapon&#039;s tertiary attack.&lt;br /&gt;
| &amp;lt;code&amp;gt;ON_HANDLED&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;WeaponReload&lt;br /&gt;
| &amp;lt;code&amp;gt;HookReturnCode Function( CBasePlayer@ pPlayer, CBasePlayerWeapon@ pWeapon )&lt;br /&gt;
| Called a player reloads a weapon (or calls BaseClass::Reload()).&lt;br /&gt;
| &amp;lt;code&amp;gt;CALL_ALL&lt;br /&gt;
| All&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Pickup Hooks ===&lt;br /&gt;
&amp;lt;code&amp;gt;Hooks::PickupObject::&amp;lt;/code&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! Constant&lt;br /&gt;
! Signature&lt;br /&gt;
! Description&lt;br /&gt;
! Stop Mode&lt;br /&gt;
! Availability&lt;br /&gt;
|- style=&amp;quot;border-color:inherit;&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;Materialize&lt;br /&gt;
| &amp;lt;code&amp;gt;HookReturnCode Function( CBaseEntity@ pPickup )&lt;br /&gt;
| Called when a pickup object materializes.&lt;br /&gt;
| &amp;lt;code&amp;gt;CALL_ALL&lt;br /&gt;
| All&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | &amp;lt;code&amp;gt;CanCollect&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | &amp;lt;code&amp;gt;HookReturnCode Function( CBaseEntity@ pPickup, CBaseEntity@ pOther, bool&amp;amp; out bResult )&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | Called when a pickup object is about to be collected by a player. Note that basic checks are done before this hook is called. Set bResult to false if the player shouldn’t be able to pick up the object.&lt;br /&gt;
| &amp;lt;code&amp;gt;ON_HANDLED&lt;br /&gt;
| style=&amp;quot;border-color:inherit;&amp;quot; | All&lt;br /&gt;
|- style=&amp;quot;border-color:inherit;&amp;quot;&lt;br /&gt;
| &amp;lt;code&amp;gt;Collected&lt;br /&gt;
| &amp;lt;code&amp;gt;HookReturnCode Function( CBaseEntity@ pPickup, CBaseEntity@ pOther )&lt;br /&gt;
| Called when a pickup object is collected by a player.&lt;br /&gt;
| &amp;lt;code&amp;gt;CALL_ALL&lt;br /&gt;
| All&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Outerbeast</name></author>
	</entry>
	<entry>
		<id>https://wiki.svencoop.com/index.php?title=TE_FIREFIELD&amp;diff=1386</id>
		<title>TE FIREFIELD</title>
		<link rel="alternate" type="text/html" href="https://wiki.svencoop.com/index.php?title=TE_FIREFIELD&amp;diff=1386"/>
		<updated>2025-07-23T14:16:51Z</updated>

		<summary type="html">&lt;p&gt;Outerbeast: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:TE FIREFIELD.gif|frame|TE_FIREFIELD]]&lt;br /&gt;
Spawns randomly positioned sprites in a cube or on a square plane.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void te_firefield(Vector pos, uint16 radius=128, &lt;br /&gt;
	string sprite=&amp;quot;sprites/grenade.spr&amp;quot;, uint8 count=128, &lt;br /&gt;
	uint8 flags=30, uint8 life=5,&lt;br /&gt;
	NetworkMessageDest msgType=MSG_BROADCAST, edict_t@ dest=null) &lt;br /&gt;
{&lt;br /&gt;
	NetworkMessage m(msgType, NetworkMessages::SVC_TEMPENTITY, dest);&lt;br /&gt;
	m.WriteByte(TE_FIREFIELD);&lt;br /&gt;
	m.WriteCoord(pos.x);&lt;br /&gt;
	m.WriteCoord(pos.y);&lt;br /&gt;
	m.WriteCoord(pos.z);&lt;br /&gt;
	m.WriteShort(radius);&lt;br /&gt;
	m.WriteShort(g_EngineFuncs.ModelIndex(sprite));&lt;br /&gt;
	m.WriteByte(count);&lt;br /&gt;
	m.WriteByte(flags);&lt;br /&gt;
	m.WriteByte(life);&lt;br /&gt;
	m.End();&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;Vector	pos&amp;lt;/code&amp;gt;	Center point of the effect&lt;br /&gt;
* &amp;lt;code&amp;gt;uint16	radius&amp;lt;/code&amp;gt;	Size of the cube or square (distance from center point to a side)&lt;br /&gt;
* &amp;lt;code&amp;gt;string	sprite&amp;lt;/code&amp;gt;	Sprite to display (alpha transparency)&lt;br /&gt;
* &amp;lt;code&amp;gt;uint8	count&amp;lt;/code&amp;gt;	Number of sprites to spawn&lt;br /&gt;
* &amp;lt;code&amp;gt;uint8	flags&amp;lt;/code&amp;gt;	Combinable options:&lt;br /&gt;
1 : All sprites will drift upwards&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
2 : 50% of the sprites will drift upwards&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
4 : Loop sprites at 15fps instead of playing one cycle stretched to fit the &amp;quot;life&amp;quot; time&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
8 : Display sprites at 50% opacity&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
16 : Spawn sprites on a flat plane instead of in cube&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;uint8	life&amp;lt;/code&amp;gt;	Time to display sprites (seconds * 0.1 +/- some random amount)&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Outerbeast</name></author>
	</entry>
	<entry>
		<id>https://wiki.svencoop.com/index.php?title=TE_FIREFIELD&amp;diff=1385</id>
		<title>TE FIREFIELD</title>
		<link rel="alternate" type="text/html" href="https://wiki.svencoop.com/index.php?title=TE_FIREFIELD&amp;diff=1385"/>
		<updated>2025-07-22T18:42:49Z</updated>

		<summary type="html">&lt;p&gt;Outerbeast: Created page with &amp;quot;TE_FIREFIELD Spawns randomly positioned sprites in a cube or on a square plane. &amp;lt;pre&amp;gt; void te_firefield(Vector pos, uint16 radius=128,  	string...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:TE FIREFIELD.gif|frame|TE_FIREFIELD]]&lt;br /&gt;
Spawns randomly positioned sprites in a cube or on a square plane.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void te_firefield(Vector pos, uint16 radius=128, &lt;br /&gt;
	string sprite=&amp;quot;sprites/grenade.spr&amp;quot;, uint8 count=128, &lt;br /&gt;
	uint8 flags=30, uint8 life=5,&lt;br /&gt;
	NetworkMessageDest msgType=MSG_BROADCAST, edict_t@ dest=null) &lt;br /&gt;
{&lt;br /&gt;
	NetworkMessage m(msgType, NetworkMessages::SVC_TEMPENTITY, dest);&lt;br /&gt;
	m.WriteByte(TE_FIREFIELD);&lt;br /&gt;
	m.WriteCoord(pos.x);&lt;br /&gt;
	m.WriteCoord(pos.y);&lt;br /&gt;
	m.WriteCoord(pos.z);&lt;br /&gt;
	m.WriteShort(radius);&lt;br /&gt;
	m.WriteShort(g_EngineFuncs.ModelIndex(sprite));&lt;br /&gt;
	m.WriteByte(count);&lt;br /&gt;
	m.WriteByte(flags);&lt;br /&gt;
	m.WriteByte(life);&lt;br /&gt;
	m.End();&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;Vector	pos&amp;lt;/code&amp;gt;	Center point of the effect&lt;br /&gt;
* &amp;lt;code&amp;gt;uint16	radius&amp;lt;/code&amp;gt;	Size of the cube or square (distance from center point to a side)&lt;br /&gt;
* &amp;lt;code&amp;gt;string	sprite&amp;lt;/code&amp;gt;	Sprite to display (alpha transparency)&lt;br /&gt;
* &amp;lt;code&amp;gt;uint8	count&amp;lt;/code&amp;gt;	Number of sprites to spawn&lt;br /&gt;
* &amp;lt;code&amp;gt;uint8	flags&amp;lt;/code&amp;gt;	Combinable options:&lt;br /&gt;
1 : All sprites will drift upwards&lt;br /&gt;
2 : 50% of the sprites will drift upwards&lt;br /&gt;
4 : Loop sprites at 15fps instead of playing one cycle stretched to fit the &amp;quot;life&amp;quot; time&lt;br /&gt;
8 : Display sprites at 50% opacity&lt;br /&gt;
16 : Spawn sprites on a flat plane instead of in cube&lt;br /&gt;
* &amp;lt;code&amp;gt;uint8	life&amp;lt;/code&amp;gt;	Time to display sprites (seconds * 0.1 +/- some random amount)&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Outerbeast</name></author>
	</entry>
	<entry>
		<id>https://wiki.svencoop.com/index.php?title=Trigger_createentity&amp;diff=1384</id>
		<title>Trigger createentity</title>
		<link rel="alternate" type="text/html" href="https://wiki.svencoop.com/index.php?title=Trigger_createentity&amp;diff=1384"/>
		<updated>2025-07-13T15:53:40Z</updated>

		<summary type="html">&lt;p&gt;Outerbeast: activator/caller is supported&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Entity_Infobox&lt;br /&gt;
| title=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
This entity allows you to create any entity at runtime as you trigger it. Set the desired classname and new targetname, if wanted, then disable Valve Hammer Editor&#039;s smart edit-mode to set keyvalues to initialize the to-be-spawned entity with. For key, write a minus (&#039;-&#039;) followed by the key you want to set, and as value, set the value you want that key to be set to.&amp;lt;br&amp;gt;Alternatively, you can copy a keyvalue from another entity. To do this, prepend a plus (&#039;+&#039;) instead of a minus and write the name of the entity to copy from as the value instead of the value itself. You cannot copy from entity-specific keyvalues, as these cannot be read from the outside. Examples: Key &amp;quot;-health&amp;quot; with value &amp;quot;50.0&amp;quot; to set the health-keyvalue to a value of 50.0. Key &amp;quot;-message&amp;quot; with value &amp;quot;Hello world!&amp;quot; to set the message-keyvalue to &amp;quot;Hello world!&amp;quot;. Key &amp;quot;+model&amp;quot; with value &amp;quot;crate_6&amp;quot; to copy the model-keyvalue of the entity by the targetname &amp;quot;crate_6&amp;quot; to the model-keyvalue of the spawned entity. The name can also be the special targetnames &amp;lt;code&amp;gt;!activator&amp;lt;/code&amp;gt;/&amp;lt;code&amp;gt;!caller&amp;lt;/code&amp;gt; so that the keyvalue can be received from this trigger_createentity&#039;s activator/caller entity.&lt;br /&gt;
&lt;br /&gt;
== Keyvalues ==&lt;br /&gt;
&lt;br /&gt;
{{Entity_keyvalue|Child Classname|m_iszCrtEntChildClass|Name of an entity-class to determine what type of entity to spawn. This is required.}}&lt;br /&gt;
{{Entity_keyvalue|Child Targetname|m_iszCrtEntChildName|New targetname to set on the spawned entity. This is optional. You can also copy the targetname of another entity using the method explained above and leave this empty instead.}}&lt;br /&gt;
{{Entity_keyvalue|Trigger after spawn|m_iszTriggerAfter|Target to trigger after spawning the new entity. This will not be triggered if spawning failed for some reason.}}&lt;br /&gt;
&lt;br /&gt;
== Notes ==&lt;br /&gt;
&lt;br /&gt;
Spawnflags actually are a keyvalue called spawnflags, so you will have to use that instead of setting spawnflags on the trigger_createentity itself. Value of 1 means 1st checkbox is checked; value of 2 means 2nd checkbox is checked; value of 4 means 3rd checkbox is checked; value of 8 means 4th checkbox is checked. As you can see, the value doubles with every further checkbox. To combine spawnflags, add up the values. For example, a value of 5 would mean that the 1st and 3rd checkbox are checked, because it combines only of 1 (1st checkbox) plus 4 (3rd checkbox).If you try to create a brush-entity, make sure you have another brush-entity to copy its model from. Also make sure that that entity has an origin-brush tied to it then, or your new entity will be spawned with an offset from the center of the coordinate system to the entity which&#039;s model you copy.If you try to copy the model-keyvalue from another entity, but the other entity is not found, the trigger_createentity will refuse to spawn the entity, because spawning a brush-entity with an empty model is prone to crashing the game.Note that the call to finally spawn the created entity is done after all keyvalues have been set, as normally is the case in the game engine. Should the keyvalues you have set require for unprecached model-files to be precached, the game will shut down. This can, for example, happen when you spawn a func_breakable with a material which requires metal-gibs to be precached, but have not otherwise been detected to be required in the map. In that case you&#039;d have to precache them with a custom_precache entity, or make sure you&#039;d have at least one func_breakable which had material-type &amp;quot;metal&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{entity_title}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Entities]]&lt;br /&gt;
[[Category:Point entities]]&lt;/div&gt;</summary>
		<author><name>Outerbeast</name></author>
	</entry>
	<entry>
		<id>https://wiki.svencoop.com/index.php?title=TE_GUNSHOT&amp;diff=1383</id>
		<title>TE GUNSHOT</title>
		<link rel="alternate" type="text/html" href="https://wiki.svencoop.com/index.php?title=TE_GUNSHOT&amp;diff=1383"/>
		<updated>2025-07-07T18:22:45Z</updated>

		<summary type="html">&lt;p&gt;Outerbeast: Created page with &amp;quot;TE_GUNSHOT Small group of gray dots with a ricochet sound. &amp;lt;code&amp;gt;Vector pos&amp;lt;/code&amp;gt;	is the center point for the effect. &amp;lt;pre&amp;gt; void te_gunshot(Vect...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:TE GUNSHOT.gif|frame|TE_GUNSHOT]]&lt;br /&gt;
Small group of gray dots with a ricochet sound.&lt;br /&gt;
&amp;lt;code&amp;gt;Vector pos&amp;lt;/code&amp;gt;	is the center point for the effect.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void te_gunshot(Vector pos, &lt;br /&gt;
	NetworkMessageDest msgType=MSG_BROADCAST, edict_t@ dest=null)&lt;br /&gt;
{&lt;br /&gt;
	NetworkMessage m(msgType, NetworkMessages::SVC_TEMPENTITY, dest);&lt;br /&gt;
	m.WriteByte(TE_GUNSHOT);&lt;br /&gt;
	m.WriteCoord(pos.x);&lt;br /&gt;
	m.WriteCoord(pos.y);&lt;br /&gt;
	m.WriteCoord(pos.z);&lt;br /&gt;
	m.End();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Outerbeast</name></author>
	</entry>
	<entry>
		<id>https://wiki.svencoop.com/index.php?title=TE_LINE&amp;diff=1382</id>
		<title>TE LINE</title>
		<link rel="alternate" type="text/html" href="https://wiki.svencoop.com/index.php?title=TE_LINE&amp;diff=1382"/>
		<updated>2025-07-07T18:15:36Z</updated>

		<summary type="html">&lt;p&gt;Outerbeast: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:TE LINE.gif|frame|TE_LINE]]&lt;br /&gt;
Draws a dotted line between two points. Colors with green in them don&#039;t seem to work very well.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void te_line(Vector start, Vector end, uint16 life=32, RGBA c=RGBA_PURPLE,&lt;br /&gt;
	NetworkMessageDest msgType=MSG_BROADCAST, edict_t@ dest=null)&lt;br /&gt;
{&lt;br /&gt;
	NetworkMessage m(msgType, NetworkMessages::SVC_TEMPENTITY, dest);&lt;br /&gt;
	m.WriteByte(TE_LINE);&lt;br /&gt;
	m.WriteCoord(start.x);&lt;br /&gt;
	m.WriteCoord(start.y);&lt;br /&gt;
	m.WriteCoord(start.z);&lt;br /&gt;
	m.WriteCoord(end.x);&lt;br /&gt;
	m.WriteCoord(end.y);&lt;br /&gt;
	m.WriteCoord(end.z);&lt;br /&gt;
	m.WriteShort(life);&lt;br /&gt;
	m.WriteByte(c.r);&lt;br /&gt;
	m.WriteByte(c.g);&lt;br /&gt;
	m.WriteByte(c.b);&lt;br /&gt;
	m.End();&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Vector	start	Starting point for the line&lt;br /&gt;
* Vector	end	End point for the line&lt;br /&gt;
* uint16	life	Time to display the line (seconds * 0.1)&lt;br /&gt;
* RGBA	c	Line color&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Outerbeast</name></author>
	</entry>
	<entry>
		<id>https://wiki.svencoop.com/index.php?title=TE_LINE&amp;diff=1381</id>
		<title>TE LINE</title>
		<link rel="alternate" type="text/html" href="https://wiki.svencoop.com/index.php?title=TE_LINE&amp;diff=1381"/>
		<updated>2025-07-07T18:15:21Z</updated>

		<summary type="html">&lt;p&gt;Outerbeast: Created page with &amp;quot;TE_LINE Draws a dotted line between two points. Colors with green in them don&amp;#039;t seem to work very well. &amp;lt;pre&amp;gt; void te_line(Vector start, Vector end,...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:TE LINE.gif|frame|TE_LINE]]&lt;br /&gt;
Draws a dotted line between two points. Colors with green in them don&#039;t seem to work very well.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void te_line(Vector start, Vector end, uint16 life=32, RGBA c=RGBA_PURPLE,&lt;br /&gt;
	NetworkMessageDest msgType=MSG_BROADCAST, edict_t@ dest=null)&lt;br /&gt;
{&lt;br /&gt;
	NetworkMessage m(msgType, NetworkMessages::SVC_TEMPENTITY, dest);&lt;br /&gt;
	m.WriteByte(TE_LINE);&lt;br /&gt;
	m.WriteCoord(start.x);&lt;br /&gt;
	m.WriteCoord(start.y);&lt;br /&gt;
	m.WriteCoord(start.z);&lt;br /&gt;
	m.WriteCoord(end.x);&lt;br /&gt;
	m.WriteCoord(end.y);&lt;br /&gt;
	m.WriteCoord(end.z);&lt;br /&gt;
	m.WriteShort(life);&lt;br /&gt;
	m.WriteByte(c.r);&lt;br /&gt;
	m.WriteByte(c.g);&lt;br /&gt;
	m.WriteByte(c.b);&lt;br /&gt;
	m.End();&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Vector	start	Starting point for the line&lt;br /&gt;
Vector	end	End point for the line&lt;br /&gt;
uint16	life	Time to display the line (seconds * 0.1)&lt;br /&gt;
RGBA	c	Line color&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Outerbeast</name></author>
	</entry>
	<entry>
		<id>https://wiki.svencoop.com/index.php?title=TE_SHOWLINE&amp;diff=1380</id>
		<title>TE SHOWLINE</title>
		<link rel="alternate" type="text/html" href="https://wiki.svencoop.com/index.php?title=TE_SHOWLINE&amp;diff=1380"/>
		<updated>2025-07-07T18:09:50Z</updated>

		<summary type="html">&lt;p&gt;Outerbeast: Created page with &amp;quot;TE_SHOWLINE Draws a red dotted line between two points that disappears after 30 seconds. Uses fewer dots than TE_LINE. &amp;lt;pre&amp;gt; void te_showlin...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:TE SHOWLINE.gif|frame|TE_SHOWLINE]]&lt;br /&gt;
Draws a red dotted line between two points that disappears after 30 seconds. Uses fewer dots than [[TE_LINE]].&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void te_showline(Vector start, Vector end, Color c=PURPLE,&lt;br /&gt;
	NetworkMessageDest msgType=MSG_BROADCAST, edict_t@ dest=null)&lt;br /&gt;
{&lt;br /&gt;
	NetworkMessage m(msgType, NetworkMessages::SVC_TEMPENTITY, dest);&lt;br /&gt;
	m.WriteByte(TE_SHOWLINE);&lt;br /&gt;
	m.WriteCoord(start.x);&lt;br /&gt;
	m.WriteCoord(start.y);&lt;br /&gt;
	m.WriteCoord(start.z);&lt;br /&gt;
	m.WriteCoord(end.x);&lt;br /&gt;
	m.WriteCoord(end.y);&lt;br /&gt;
	m.WriteCoord(end.z);&lt;br /&gt;
	m.End();&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Vector	start	Starting point for the line&lt;br /&gt;
* Vector	end	End point for the line&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Outerbeast</name></author>
	</entry>
	<entry>
		<id>https://wiki.svencoop.com/index.php?title=TE_BOX&amp;diff=1379</id>
		<title>TE BOX</title>
		<link rel="alternate" type="text/html" href="https://wiki.svencoop.com/index.php?title=TE_BOX&amp;diff=1379"/>
		<updated>2025-07-07T18:08:01Z</updated>

		<summary type="html">&lt;p&gt;Outerbeast: Created page with &amp;quot;TE_BOX Draws an axis-aligned box made up of dotted lines. &amp;lt;pre&amp;gt; void te_box(Vector mins, Vector maxs, uint16 life=16, RGBA c=RGBA_PURPLE, 	NetworkMes...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:TE BOX.gif|frame|TE_BOX]]&lt;br /&gt;
Draws an axis-aligned box made up of dotted lines.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void te_box(Vector mins, Vector maxs, uint16 life=16, RGBA c=RGBA_PURPLE,&lt;br /&gt;
	NetworkMessageDest msgType=MSG_BROADCAST, edict_t@ dest=null)&lt;br /&gt;
{&lt;br /&gt;
	NetworkMessage m(msgType, NetworkMessages::SVC_TEMPENTITY, dest);&lt;br /&gt;
	m.WriteByte(TE_BOX);&lt;br /&gt;
	m.WriteCoord(mins.x);&lt;br /&gt;
	m.WriteCoord(mins.y);&lt;br /&gt;
	m.WriteCoord(mins.z);&lt;br /&gt;
	m.WriteCoord(maxs.x);&lt;br /&gt;
	m.WriteCoord(maxs.y);&lt;br /&gt;
	m.WriteCoord(maxs.z);&lt;br /&gt;
	m.WriteShort(life);&lt;br /&gt;
	m.WriteByte(c.r);&lt;br /&gt;
	m.WriteByte(c.g);&lt;br /&gt;
	m.WriteByte(c.b);&lt;br /&gt;
	m.End();&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Vector	mins	Bottom-left-back corner of the box&lt;br /&gt;
* Vector	maxs	Top-right-front corner of the box&lt;br /&gt;
* uint16	life	Time to display the box (seconds * 0.1)&lt;br /&gt;
* RGBA	c	Line color&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Outerbeast</name></author>
	</entry>
	<entry>
		<id>https://wiki.svencoop.com/index.php?title=TE_DLIGHT&amp;diff=1378</id>
		<title>TE DLIGHT</title>
		<link rel="alternate" type="text/html" href="https://wiki.svencoop.com/index.php?title=TE_DLIGHT&amp;diff=1378"/>
		<updated>2025-07-07T18:05:11Z</updated>

		<summary type="html">&lt;p&gt;Outerbeast: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:TE DLIGHT.gif|frame|TE_DLIGHT]]&lt;br /&gt;
A spherical dynamic light that fades over time.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void te_dlight(Vector pos, uint8 radius=32, Color c=PURPLE, &lt;br /&gt;
	uint8 life=255, uint8 decayRate=50,&lt;br /&gt;
	NetworkMessageDest msgType=MSG_BROADCAST, edict_t@ dest=null)&lt;br /&gt;
{&lt;br /&gt;
	NetworkMessage m(msgType, NetworkMessages::SVC_TEMPENTITY, dest);&lt;br /&gt;
	m.WriteByte(TE_DLIGHT);&lt;br /&gt;
	m.WriteCoord(pos.x);&lt;br /&gt;
	m.WriteCoord(pos.y);&lt;br /&gt;
	m.WriteCoord(pos.z);&lt;br /&gt;
	m.WriteByte(radius);&lt;br /&gt;
	m.WriteByte(c.r);&lt;br /&gt;
	m.WriteByte(c.g);&lt;br /&gt;
	m.WriteByte(c.b);&lt;br /&gt;
	m.WriteByte(life);&lt;br /&gt;
	m.WriteByte(decayRate);&lt;br /&gt;
	m.End();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;Vector	pos&amp;lt;/code&amp;gt;	Center point for the effect&lt;br /&gt;
* &amp;lt;code&amp;gt;float	radius&amp;lt;/code&amp;gt;	Radius of the light sphere&lt;br /&gt;
* &amp;lt;code&amp;gt;RGBA	c&amp;lt;/code&amp;gt;	Light color&lt;br /&gt;
* &amp;lt;code&amp;gt;uint8	life&amp;lt;/code&amp;gt;	Time to display the light (seconds * 0.1)&lt;br /&gt;
* &amp;lt;code&amp;gt;uint8	decayRate&amp;lt;/code&amp;gt;	Light fade speed&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Outerbeast</name></author>
	</entry>
	<entry>
		<id>https://wiki.svencoop.com/index.php?title=TE_ELIGHT&amp;diff=1377</id>
		<title>TE ELIGHT</title>
		<link rel="alternate" type="text/html" href="https://wiki.svencoop.com/index.php?title=TE_ELIGHT&amp;diff=1377"/>
		<updated>2025-07-07T18:03:53Z</updated>

		<summary type="html">&lt;p&gt;Outerbeast: Created page with &amp;quot;TE_ELIGHT A spherical dynamic light that fades over time and only affects point entities. This appears to be the same effect used with the EF_MUZZ...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:TE ELIGHT.gif|frame|TE_ELIGHT]]&lt;br /&gt;
A spherical dynamic light that fades over time and only affects point entities. This appears to be the same effect used with the EF_MUZZLEFLASH effect (seen with the gauss gun primary fire).&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void te_elight(CBaseEntity@ target, Vector pos, float radius=1024.0f, &lt;br /&gt;
	RGBA c=PURPLE, uint8 life=16, float decayRate=2000.0f, &lt;br /&gt;
	NetworkMessageDest msgType=MSG_BROADCAST, edict_t@ dest=null)&lt;br /&gt;
{&lt;br /&gt;
	NetworkMessage m(msgType, NetworkMessages::SVC_TEMPENTITY, dest);&lt;br /&gt;
	m.WriteByte(TE_ELIGHT);&lt;br /&gt;
	m.WriteShort(target.entindex());&lt;br /&gt;
	m.WriteCoord(pos.x);&lt;br /&gt;
	m.WriteCoord(pos.y);&lt;br /&gt;
	m.WriteCoord(pos.z);&lt;br /&gt;
	m.WriteCoord(radius);&lt;br /&gt;
	m.WriteByte(c.r);&lt;br /&gt;
	m.WriteByte(c.g);&lt;br /&gt;
	m.WriteByte(c.b);&lt;br /&gt;
	m.WriteByte(life);&lt;br /&gt;
	m.WriteCoord(decayRate);&lt;br /&gt;
	m.End();&lt;br /&gt;
}&amp;lt;/pre&amp;gt;&lt;br /&gt;
* Vector	pos	Center point for the effect&lt;br /&gt;
* float	radius	Radius of the light sphere&lt;br /&gt;
* RGBA	c	Light color&lt;br /&gt;
* uint8	life	Time to display the light (seconds * 0.1)&lt;br /&gt;
* uint8	decayRate	Light fade speed&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Outerbeast</name></author>
	</entry>
	<entry>
		<id>https://wiki.svencoop.com/index.php?title=TE_DLIGHT&amp;diff=1376</id>
		<title>TE DLIGHT</title>
		<link rel="alternate" type="text/html" href="https://wiki.svencoop.com/index.php?title=TE_DLIGHT&amp;diff=1376"/>
		<updated>2025-07-07T18:02:06Z</updated>

		<summary type="html">&lt;p&gt;Outerbeast: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:TE DLIGHT.gif|frame|TE_DLIGHT]]&lt;br /&gt;
A spherical dynamic light that fades over time and only affects point entities. This appears to be the same effect used with the EF_MUZZLEFLASH effect (seen with the gauss gun primary fire).&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void te_dlight(Vector pos, uint8 radius=32, RGBA c=RGBA_PURPLE, &lt;br /&gt;
	uint8 life=255, uint8 decayRate=50,&lt;br /&gt;
	NetworkMessageDest msgType=MSG_BROADCAST, edict_t@ dest=null)&lt;br /&gt;
{&lt;br /&gt;
	NetworkMessage m(msgType, NetworkMessages::SVC_TEMPENTITY, dest);&lt;br /&gt;
	m.WriteByte(TE_DLIGHT);&lt;br /&gt;
	m.WriteCoord(pos.x);&lt;br /&gt;
	m.WriteCoord(pos.y);&lt;br /&gt;
	m.WriteCoord(pos.z);&lt;br /&gt;
	m.WriteByte(radius);&lt;br /&gt;
	m.WriteByte(c.r);&lt;br /&gt;
	m.WriteByte(c.g);&lt;br /&gt;
	m.WriteByte(c.b);&lt;br /&gt;
	m.WriteByte(life);&lt;br /&gt;
	m.WriteByte(decayRate);&lt;br /&gt;
	m.End();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;Vector	pos&amp;lt;/code&amp;gt;	Center point for the effect&lt;br /&gt;
* &amp;lt;code&amp;gt;float	radius&amp;lt;/code&amp;gt;	Radius of the light sphere&lt;br /&gt;
* &amp;lt;code&amp;gt;RGBA	c&amp;lt;/code&amp;gt;	Light color&lt;br /&gt;
* &amp;lt;code&amp;gt;uint8	life&amp;lt;/code&amp;gt;	Time to display the light (seconds * 0.1)&lt;br /&gt;
* &amp;lt;code&amp;gt;uint8	decayRate&amp;lt;/code&amp;gt;	Light fade speed&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Outerbeast</name></author>
	</entry>
	<entry>
		<id>https://wiki.svencoop.com/index.php?title=TE_DLIGHT&amp;diff=1375</id>
		<title>TE DLIGHT</title>
		<link rel="alternate" type="text/html" href="https://wiki.svencoop.com/index.php?title=TE_DLIGHT&amp;diff=1375"/>
		<updated>2025-07-07T18:01:09Z</updated>

		<summary type="html">&lt;p&gt;Outerbeast: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:TE DLIGHT.gif|frame|TE_DLIGHT]]&lt;br /&gt;
A spherical dynamic light that fades over time and only affects point entities. This appears to be the same effect used with the EF_MUZZLEFLASH effect (seen with the gauss gun primary fire).&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void te_dlight(Vector pos, uint8 radius=32, RGBA c=RGBA_PURPLE, &lt;br /&gt;
	uint8 life=255, uint8 decayRate=50,&lt;br /&gt;
	NetworkMessageDest msgType=MSG_BROADCAST, edict_t@ dest=null)&lt;br /&gt;
{&lt;br /&gt;
	NetworkMessage m(msgType, NetworkMessages::SVC_TEMPENTITY, dest);&lt;br /&gt;
	m.WriteByte(TE_DLIGHT);&lt;br /&gt;
	m.WriteCoord(pos.x);&lt;br /&gt;
	m.WriteCoord(pos.y);&lt;br /&gt;
	m.WriteCoord(pos.z);&lt;br /&gt;
	m.WriteByte(radius);&lt;br /&gt;
	m.WriteByte(c.r);&lt;br /&gt;
	m.WriteByte(c.g);&lt;br /&gt;
	m.WriteByte(c.b);&lt;br /&gt;
	m.WriteByte(life);&lt;br /&gt;
	m.WriteByte(decayRate);&lt;br /&gt;
	m.End();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;Vector	pos&amp;lt;/code&amp;gt;	Center point for the effect&lt;br /&gt;
* &amp;lt;code&amp;gt;float	radius&amp;lt;/code&amp;gt;	Radius of the light sphere&lt;br /&gt;
* &amp;lt;code&amp;gt;RGBA	c&amp;lt;/code&amp;gt;	Light color&lt;br /&gt;
* &amp;lt;code&amp;gt;uint8	life&amp;lt;/code&amp;gt;	Time to display the light (seconds * 0.1)&lt;br /&gt;
* &amp;lt;code&amp;gt;uint8	decayRate&amp;lt;/code&amp;gt;	Light fade speed&lt;/div&gt;</summary>
		<author><name>Outerbeast</name></author>
	</entry>
	<entry>
		<id>https://wiki.svencoop.com/index.php?title=TE_DLIGHT&amp;diff=1374</id>
		<title>TE DLIGHT</title>
		<link rel="alternate" type="text/html" href="https://wiki.svencoop.com/index.php?title=TE_DLIGHT&amp;diff=1374"/>
		<updated>2025-07-07T18:01:02Z</updated>

		<summary type="html">&lt;p&gt;Outerbeast: Created page with &amp;quot;TE_DLIGHT A spherical dynamic light that fades over time and only affects point entities. This appears to be the same effect used with the EF_MUZZ...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:TE DLIGHT.gif|frame|TE_DLIGHT]]&lt;br /&gt;
A spherical dynamic light that fades over time and only affects point entities. This appears to be the same effect used with the EF_MUZZLEFLASH effect (seen with the gauss gun primary fire).&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void te_dlight(Vector pos, uint8 radius=32, RGBA c=RGBA_PURPLE, &lt;br /&gt;
	uint8 life=255, uint8 decayRate=50,&lt;br /&gt;
	NetworkMessageDest msgType=MSG_BROADCAST, edict_t@ dest=null)&lt;br /&gt;
{&lt;br /&gt;
	NetworkMessage m(msgType, NetworkMessages::SVC_TEMPENTITY, dest);&lt;br /&gt;
	m.WriteByte(TE_DLIGHT);&lt;br /&gt;
	m.WriteCoord(pos.x);&lt;br /&gt;
	m.WriteCoord(pos.y);&lt;br /&gt;
	m.WriteCoord(pos.z);&lt;br /&gt;
	m.WriteByte(radius);&lt;br /&gt;
	m.WriteByte(c.r);&lt;br /&gt;
	m.WriteByte(c.g);&lt;br /&gt;
	m.WriteByte(c.b);&lt;br /&gt;
	m.WriteByte(life);&lt;br /&gt;
	m.WriteByte(decayRate);&lt;br /&gt;
	m.End();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;Vector	pos&amp;lt;/code&amp;gt;	Center point for the effect&lt;br /&gt;
* &amp;lt;code&amp;gt;float	radius&amp;lt;/code&amp;gt;	Radius of the light sphere&lt;br /&gt;
* &amp;lt;code&amp;gt;RGBA	c&amp;lt;/code&amp;gt;	Light color&lt;br /&gt;
* &amp;lt;code&amp;gt;uint8	life&amp;lt;/code&amp;gt;	Time to display the light (seconds * 0.1)&lt;br /&gt;
* &amp;lt;code&amp;gt;uint8	decayRate&amp;lt;/code&amp;gt;	Light fade speed&lt;/div&gt;</summary>
		<author><name>Outerbeast</name></author>
	</entry>
	<entry>
		<id>https://wiki.svencoop.com/index.php?title=Mapping/Sven_Co-op_FGD&amp;diff=1373</id>
		<title>Mapping/Sven Co-op FGD</title>
		<link rel="alternate" type="text/html" href="https://wiki.svencoop.com/index.php?title=Mapping/Sven_Co-op_FGD&amp;diff=1373"/>
		<updated>2025-07-07T13:09:42Z</updated>

		<summary type="html">&lt;p&gt;Outerbeast: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
//&lt;br /&gt;
// Sven Co-op game definition file (*.FGD)&lt;br /&gt;
//&lt;br /&gt;
// Based on the Half-Life definition file &amp;quot;version 3.0.0.1&amp;quot; by Chris &amp;quot;Autolycus&amp;quot; Bokitch.&lt;br /&gt;
// Updated by Sniper and Protector to include the Sven Co-op 4.5 Entities.&lt;br /&gt;
// VHE 3.5b-ready by Puchi, JPolito, and AdamR. (Model support)&lt;br /&gt;
// Tidied up by AdamR because you all suck hard at white spacing.&lt;br /&gt;
// Guidelines below added by Silencer so this file stops becoming a mess.&lt;br /&gt;
// Sorted by Puchi and Silencer. Proper filter options added by Puchi.&lt;br /&gt;
&lt;br /&gt;
//&lt;br /&gt;
//   - FGD EDITING GUIDELINES - KEEP THIS FILE CLEAN -&lt;br /&gt;
//&lt;br /&gt;
//&lt;br /&gt;
//&lt;br /&gt;
// � Get unity into it. (Commenting, line breaks, use of BaseClasses)&lt;br /&gt;
//&lt;br /&gt;
//   � Cut explanations of entities, keys and values out of the file and store them elsewhere for&lt;br /&gt;
//     reference.&lt;br /&gt;
//&lt;br /&gt;
//   � When adding a necessary comment on some part in the file, isolate that part from everything&lt;br /&gt;
//     else with a blank line above and below of it, and add the comment in a new line directly&lt;br /&gt;
//     above the part you are commenting on. If the line is getting too long, (&amp;gt;100 chars) add a new&lt;br /&gt;
//     line to continue.&lt;br /&gt;
//&lt;br /&gt;
//   � One space (&#039; &#039;) directly after every &amp;quot;//&amp;quot;. An exception is when you comment actual entity&lt;br /&gt;
//     keys, predefined values (drop-down list) or spawnflags out.&lt;br /&gt;
//&lt;br /&gt;
//   � Indent comments.&lt;br /&gt;
//&lt;br /&gt;
//   � Indent with single tabs only. NO SPACES!&lt;br /&gt;
//     E.g. under Notepad 2: Go to Settings -&amp;gt; Tab Settings -&amp;gt; Uncheck &amp;quot;Insert tabs as spaces&amp;quot;.&lt;br /&gt;
//&lt;br /&gt;
//   � No unnecessary spaces. Sometimes there are two or more spaces between words or at the end of&lt;br /&gt;
//     lines to have a comment added, which looks ugly.&lt;br /&gt;
//&lt;br /&gt;
//   � Sort ALL entries by name, and KEEP THEM SORTED.&lt;br /&gt;
//&lt;br /&gt;
//&lt;br /&gt;
// � Allow for custom models/sprites to be displayed by entities specifically made for doing so.&lt;br /&gt;
//   (cycler/cycler_sprite/env_sprite/item_generic)&lt;br /&gt;
//&lt;br /&gt;
// � Make sure all entities are properly sized. Some used to have unreasonably sized hulls. E.g.&lt;br /&gt;
//   info_teleport_destination used to be a (-8 -8 0 8 8 16)-hullsized 16� cube, not really&lt;br /&gt;
//   revealing any information about the output-height of the teleported player/monster/object.&lt;br /&gt;
//&lt;br /&gt;
// � Give different entities colors! Anything that helps to differentiate between those vast amount&lt;br /&gt;
//   of purple blocks is welcome!&lt;br /&gt;
//&lt;br /&gt;
// � Make use of the iconsprite(sprite[]) parameter! We could have awesome sprites for many of the&lt;br /&gt;
//   point entities, which also helps differentiating. Having varying sizes and colors on top of&lt;br /&gt;
//   that also helps differentiating in the 2D views.&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
//&lt;br /&gt;
// All entities must have this baseclass&lt;br /&gt;
//&lt;br /&gt;
@BaseClass = Mandatory&lt;br /&gt;
[&lt;br /&gt;
	ondestroyfn(string) : &amp;quot;OnDestroy Function&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
//&lt;br /&gt;
// worldspawn&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Mandatory) = worldspawn : &amp;quot;World entity&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	message(string) : &amp;quot;Map description / title&amp;quot;&lt;br /&gt;
	skyname(string) : &amp;quot;Environment map (cl_skyname)&amp;quot;&lt;br /&gt;
	sounds(integer) : &amp;quot;CD track to play&amp;quot; : 1&lt;br /&gt;
	light(integer) : &amp;quot;Default light level&amp;quot;&lt;br /&gt;
	WaveHeight(string) : &amp;quot;Default wave height&amp;quot;&lt;br /&gt;
	MaxRange(string) : &amp;quot;Max viewable distance&amp;quot; : &amp;quot;32768&amp;quot;&lt;br /&gt;
	chaptertitle(string) : &amp;quot;Chapter title message&amp;quot;&lt;br /&gt;
	startdark(choices) : &amp;quot;Level fade in&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	gametitle(choices) : &amp;quot;Display game title&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	newunit(choices) : &amp;quot;New level unit&amp;quot; : 1 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No, keep current&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes, clear previous levels&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	mapteams(string) : &amp;quot;Map team List&amp;quot;&lt;br /&gt;
	defaultteam(choices) : &amp;quot;Default team&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Fewest Players&amp;quot;&lt;br /&gt;
		1 : &amp;quot;First Team&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	freeroam(choices) : &amp;quot;Roaming monsters (node graph)&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	sentence_file(string) : &amp;quot;Custom Sentences File&amp;quot;&lt;br /&gt;
	materials_file(string) : &amp;quot;Custom Materials File&amp;quot;&lt;br /&gt;
	globalsoundlist(string) : &amp;quot;Global Sound Replacement File&amp;quot;&lt;br /&gt;
	globalmodellist(string) : &amp;quot;Global Model Replacement File&amp;quot;&lt;br /&gt;
	forcepmodels(string) : &amp;quot;Force Player Models a;b;c etc&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	// If enabled, the map will use the player class settings file. &amp;quot;mapname_class.cfg&amp;quot;&lt;br /&gt;
	//enableclasses(choices) : &amp;quot;Enable Player Classes&amp;quot; : 0 =&lt;br /&gt;
	//[&lt;br /&gt;
	//	0 : &amp;quot;No&amp;quot;&lt;br /&gt;
	//	1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	//]&lt;br /&gt;
&lt;br /&gt;
	scversion2(choices) : &amp;quot;Minimum game version&amp;quot; : 526 =&lt;br /&gt;
	[&lt;br /&gt;
		526 : &amp;quot;5.26 Patch&amp;quot;&lt;br /&gt;
		525 : &amp;quot;5.25 Patch&amp;quot;&lt;br /&gt;
		524 : &amp;quot;5.24 Patch&amp;quot;&lt;br /&gt;
		523 : &amp;quot;5.23 Patch&amp;quot;&lt;br /&gt;
		522 : &amp;quot;5.22 Patch&amp;quot;&lt;br /&gt;
		521 : &amp;quot;5.21 Patch&amp;quot;&lt;br /&gt;
		520 : &amp;quot;5.20 Patch&amp;quot;&lt;br /&gt;
		519 : &amp;quot;5.19 Patch&amp;quot;&lt;br /&gt;
		518 : &amp;quot;5.18 Patch&amp;quot;&lt;br /&gt;
		517 : &amp;quot;5.17 Patch&amp;quot;&lt;br /&gt;
		516 : &amp;quot;5.16 Patch&amp;quot;&lt;br /&gt;
		515 : &amp;quot;5.15 Patch&amp;quot;&lt;br /&gt;
		514 : &amp;quot;5.14 Patch&amp;quot;&lt;br /&gt;
		513 : &amp;quot;5.13 Patch&amp;quot;&lt;br /&gt;
		512 : &amp;quot;5.12 Patch&amp;quot;&lt;br /&gt;
		511 : &amp;quot;5.11 Patch&amp;quot;&lt;br /&gt;
		510 : &amp;quot;5.10 Patch&amp;quot;&lt;br /&gt;
		509 : &amp;quot;5.09 Patch&amp;quot;&lt;br /&gt;
		508 : &amp;quot;5.08 Patch&amp;quot;&lt;br /&gt;
		507 : &amp;quot;5.07 Patch&amp;quot;&lt;br /&gt;
		506 : &amp;quot;5.06 Patch&amp;quot;&lt;br /&gt;
		505 : &amp;quot;5.05 Patch&amp;quot;&lt;br /&gt;
		504 : &amp;quot;5.04 Patch&amp;quot;&lt;br /&gt;
		503 : &amp;quot;5.03 Patch&amp;quot;&lt;br /&gt;
		502 : &amp;quot;5.02 Patch&amp;quot;&lt;br /&gt;
		501 : &amp;quot;5.01 Patch&amp;quot;&lt;br /&gt;
		500 : &amp;quot;5.0 Milestone&amp;quot;&lt;br /&gt;
		480 : &amp;quot;4.8 Update&amp;quot;&lt;br /&gt;
		470 : &amp;quot;4.7 Update&amp;quot;&lt;br /&gt;
		460 : &amp;quot;4.6 Update&amp;quot;&lt;br /&gt;
		450 : &amp;quot;4.5 Update&amp;quot;&lt;br /&gt;
		407 : &amp;quot;4.07 Hotfix&amp;quot;&lt;br /&gt;
		406 : &amp;quot;4.06 Hotfix&amp;quot;&lt;br /&gt;
		405 : &amp;quot;4.05 Hotfix&amp;quot;&lt;br /&gt;
		401 : &amp;quot;4.0b1 Milestone&amp;quot;&lt;br /&gt;
		400 : &amp;quot;4.0 Internal&amp;quot;&lt;br /&gt;
		300 : &amp;quot;3.0 (or earlier)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass = FilterIn&lt;br /&gt;
[&lt;br /&gt;
	tinfilter(string) : &amp;quot;Name In Filter&amp;quot;&lt;br /&gt;
	tinfiltertype(choices) : &amp;quot;Name In Filter Type&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Exclude&amp;quot;&lt;br /&gt;
		1: &amp;quot;Include&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	cinfilter(string) : &amp;quot;Class In Filter&amp;quot;&lt;br /&gt;
	cinfiltertype(choices) : &amp;quot;Class In Filter Type&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Exclude&amp;quot;&lt;br /&gt;
		1: &amp;quot;Include&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass = FilterOut&lt;br /&gt;
[&lt;br /&gt;
	toutfilter(string) : &amp;quot;Name Out Filter&amp;quot;&lt;br /&gt;
	toutfiltertype(choices) : &amp;quot;Name Out Filter Type&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Exclude&amp;quot;&lt;br /&gt;
		1: &amp;quot;Include&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	coutfilter(string) : &amp;quot;Class Out Filter&amp;quot;&lt;br /&gt;
	coutfiltertype(choices) : &amp;quot;Class Out Filter Type&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Exclude&amp;quot;&lt;br /&gt;
		1: &amp;quot;Include&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass = ZHLTbmodel&lt;br /&gt;
[&lt;br /&gt;
	zhlt_usemodel(string) : &amp;quot;ZHLT Template Model Target&amp;quot;&lt;br /&gt;
	zhlt_copylight(string) : &amp;quot;ZHLT Copy Lighting From Target&amp;quot;&lt;br /&gt;
	zhlt_noclip(choices) : &amp;quot;ZHLT Disable Clipping&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Default&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Always non-solid&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	zhlt_invisible(choices) : &amp;quot;ZHLT Invisible&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Visible (default)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Invisible&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	zhlt_customshadow(string) : &amp;quot;ZHLT Custom Shadow (when opaque)&amp;quot;&lt;br /&gt;
	zhlt_embedlightmap(choices) : &amp;quot;ZHLT Embed Light Map (when translucent)&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No (default)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	zhlt_embedlightmapresolution(integer) : &amp;quot;ZHLT Embed Light Map Resolution&amp;quot; : 4&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass base(ZHLTbmodel) = ZHLT&lt;br /&gt;
[&lt;br /&gt;
	zhlt_lightflags(choices) : &amp;quot;ZHLT Light Flags&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Default&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Embedded Fix&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Opaque (blocks light)&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Opaque + Embedded fix&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Opaque + Concave Fix&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	light_origin(string) : &amp;quot;ZHLT Light Origin Target&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass = ZHLTpoint&lt;br /&gt;
[&lt;br /&gt;
	_fade(string) : &amp;quot;ZHLT Light Fade&amp;quot; : &amp;quot;1.0&amp;quot;&lt;br /&gt;
	_falloff(choices) : &amp;quot;ZHLT Light Falloff&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Default&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Inverse Linear&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Inverse Square&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass = Appearflags&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		2048 : &amp;quot;Not in Deathmatch&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass = AttackObject&lt;br /&gt;
[&lt;br /&gt;
	classify(choices) : &amp;quot;Classification&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		-1 : &amp;quot;None&amp;quot;&lt;br /&gt;
		0 : &amp;quot;Object Default&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Machine&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Player&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Human Passive&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Human Military&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Alien Military&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Alien Passive&amp;quot;&lt;br /&gt;
		7 : &amp;quot;Alien Monster&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Alien Prey&amp;quot;&lt;br /&gt;
		9 : &amp;quot;Alien Predator&amp;quot;&lt;br /&gt;
		10 : &amp;quot;Insect&amp;quot;&lt;br /&gt;
		11 : &amp;quot;Player Ally&amp;quot;&lt;br /&gt;
		12 : &amp;quot;Player Hornet/Snark&amp;quot;&lt;br /&gt;
		13 : &amp;quot;Alien Hornet/Snark&amp;quot;&lt;br /&gt;
		14 : &amp;quot;X-Race&amp;quot;&lt;br /&gt;
		15 : &amp;quot;X-Race: Shocktrooper/Voltigore&amp;quot;&lt;br /&gt;
		16 : &amp;quot;Team 1&amp;quot;&lt;br /&gt;
		17 : &amp;quot;Team 2&amp;quot;&lt;br /&gt;
		18 : &amp;quot;Team 3&amp;quot;&lt;br /&gt;
		19 : &amp;quot;Team 4&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass = Angles&lt;br /&gt;
[&lt;br /&gt;
	angles(string) : &amp;quot;Pitch Yaw Roll (X Y Z)&amp;quot; : &amp;quot;0 0 0&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass base(Mandatory) = Targetname&lt;br /&gt;
[&lt;br /&gt;
	targetname(target_source) : &amp;quot;Name&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass = Target&lt;br /&gt;
[&lt;br /&gt;
	target(target_destination) : &amp;quot;Target&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass size(0 0 0, 32 32 32) color(80 0 200) base(Targetname, Appearflags, Angles) = Pickup&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		128 : &amp;quot;TOUCH Only&amp;quot; : 0&lt;br /&gt;
		256 : &amp;quot;USE Only&amp;quot; : 0&lt;br /&gt;
		512 : &amp;quot;Can Use w/o LoS&amp;quot; : 0&lt;br /&gt;
		1024: &amp;quot;Disable Respawn&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	renderfx(choices) : &amp;quot;Render FX&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Normal&amp;quot;&lt;br /&gt;
		1: &amp;quot;Slow Pulse&amp;quot;&lt;br /&gt;
		2: &amp;quot;Fast Pulse&amp;quot;&lt;br /&gt;
		3: &amp;quot;Slow Wide Pulse&amp;quot;&lt;br /&gt;
		4: &amp;quot;Fast Wide Pulse&amp;quot;&lt;br /&gt;
		9: &amp;quot;Slow Strobe&amp;quot;&lt;br /&gt;
		10: &amp;quot;Fast Strobe&amp;quot;&lt;br /&gt;
		11: &amp;quot;Faster Strobe&amp;quot;&lt;br /&gt;
		12: &amp;quot;Slow Flicker&amp;quot;&lt;br /&gt;
		13: &amp;quot;Fast Flicker&amp;quot;&lt;br /&gt;
		5: &amp;quot;Slow Fade Away&amp;quot;&lt;br /&gt;
		6: &amp;quot;Fast Fade Away&amp;quot;&lt;br /&gt;
		7: &amp;quot;Slow Become Solid&amp;quot;&lt;br /&gt;
		8: &amp;quot;Fast Become Solid&amp;quot;&lt;br /&gt;
		14: &amp;quot;Constant Glow&amp;quot;&lt;br /&gt;
		15: &amp;quot;Distort&amp;quot;&lt;br /&gt;
		16: &amp;quot;Hologram (Distort + fade)&amp;quot;&lt;br /&gt;
		19: &amp;quot;Glow Shell&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	rendermode(choices) : &amp;quot;Render Mode&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Normal&amp;quot;&lt;br /&gt;
		1: &amp;quot;Color&amp;quot;&lt;br /&gt;
		2: &amp;quot;Texture&amp;quot;&lt;br /&gt;
		3: &amp;quot;Glow&amp;quot;&lt;br /&gt;
		4: &amp;quot;Solid&amp;quot;&lt;br /&gt;
		5: &amp;quot;Additive&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	renderamt(integer) : &amp;quot;FX Amount (1 - 255)&amp;quot;&lt;br /&gt;
	rendercolor(color255) : &amp;quot;FX Color (R G B)&amp;quot; : &amp;quot;0 0 0&amp;quot;&lt;br /&gt;
	movetype(choices) : &amp;quot;Gravity Setting&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		-1: &amp;quot;Unmoveable&amp;quot;&lt;br /&gt;
		0: &amp;quot;Fall to the ground (default)&amp;quot;&lt;br /&gt;
		5: &amp;quot;Hover in the air&amp;quot;&lt;br /&gt;
		8: &amp;quot;Hover in the air, ignore brush collision&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass = ExclusiveHold&lt;br /&gt;
[&lt;br /&gt;
	exclusivehold(choices) : &amp;quot;Exclusive Hold&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass = CustomRespawnDelay&lt;br /&gt;
[&lt;br /&gt;
	m_flCustomRespawnTime(string) : &amp;quot;Custom respawn time&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass size(-16 -16 0, 16 16 32) color(2 64 240) base(Pickup, CustomRespawnDelay) = Weapon&lt;br /&gt;
[&lt;br /&gt;
	dmg(integer) : &amp;quot;Custom Damage&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
	wpn_v_model(studio) : &amp;quot;Custom V_Model&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	wpn_w_model(studio) : &amp;quot;Custom W_Model&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	wpn_p_model(studio) : &amp;quot;Custom P_Model&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	soundlist(string) : &amp;quot;Sound Replacement File&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	CustomSpriteDir(string) : &amp;quot;Custom sprite directory&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	IsNotAmmoItem(choices) : &amp;quot;Is Ammo Item&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
		1 : &amp;quot;No&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass size(-8 -8 0, 8 8 16) color(4 128 240) base(Pickup, CustomRespawnDelay) = Ammo&lt;br /&gt;
[&lt;br /&gt;
	model(studio) : &amp;quot;Custom Model&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass size(-8 -8 0, 8 8 16) color(0 0 200) base(Pickup, CustomRespawnDelay) = Item&lt;br /&gt;
[&lt;br /&gt;
	model(studio) : &amp;quot;Custom Model&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	skin(integer) : &amp;quot;Skin&amp;quot; : 0&lt;br /&gt;
	body(integer) : &amp;quot;Body&amp;quot; : 0&lt;br /&gt;
	sequencename(string) : &amp;quot;Sequence Name&amp;quot; : &amp;quot;idle&amp;quot;&lt;br /&gt;
	sequence(integer) : &amp;quot;Sequence Number (overrides name)&amp;quot; : 0&lt;br /&gt;
	scale(string) : &amp;quot;Scale Model&amp;quot; : &amp;quot;1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	minhullsize(string) : &amp;quot;Custom Min Hull Size (X Y Z)&amp;quot; : &amp;quot;0 0 0&amp;quot;&lt;br /&gt;
	maxhullsize(string) : &amp;quot;Custom Max Hull Size (X Y Z)&amp;quot; : &amp;quot;0 0 0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	soundlist(string) : &amp;quot;Sound Replacement File&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass size(-8 -8 0, 8 8 16) color(0 0 200) base(Pickup) = ItemWithDefaultModel&lt;br /&gt;
[&lt;br /&gt;
	solid(choices) : &amp;quot;Solid Setting&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		-1: &amp;quot;Hollow&amp;quot;&lt;br /&gt;
		0: &amp;quot;Touch on edge, non-blocking (default)&amp;quot;&lt;br /&gt;
		2: &amp;quot;Touch on edge, blocking (requires hull sizes!)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	model(studio) : &amp;quot;Custom Model&amp;quot; : &amp;quot;models/egg.mdl&amp;quot;&lt;br /&gt;
	skin(integer) : &amp;quot;Skin&amp;quot; : 0&lt;br /&gt;
	body(integer) : &amp;quot;Body&amp;quot; : 0&lt;br /&gt;
	sequencename(string) : &amp;quot;Sequence Name&amp;quot; : &amp;quot;idle&amp;quot;&lt;br /&gt;
	sequence(integer) : &amp;quot;Sequence Number (overrides name)&amp;quot; : 0&lt;br /&gt;
	scale(string) : &amp;quot;Scale Model&amp;quot; : &amp;quot;1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	minhullsize(string) : &amp;quot;Custom Min Hull Size (X Y Z)&amp;quot; : &amp;quot;0 0 0&amp;quot;&lt;br /&gt;
	maxhullsize(string) : &amp;quot;Custom Max Hull Size (X Y Z)&amp;quot; : &amp;quot;0 0 0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	soundlist(string) : &amp;quot;Sound Replacement File&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass = Global&lt;br /&gt;
[&lt;br /&gt;
	globalname(string) : &amp;quot;Global Entity Name&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass base(Target) = Targetx&lt;br /&gt;
[&lt;br /&gt;
	delay(string) : &amp;quot;Delay Before Trigger&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
	killtarget(target_destination) : &amp;quot;Kill Target&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass = InventoryRules&lt;br /&gt;
[&lt;br /&gt;
	item_name_required(string) : &amp;quot;Inventory: Need item(s)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	item_group_required(string) : &amp;quot;Inventory: Need item(s) from group(s)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	item_group_required_num(integer) : &amp;quot;Inventory: Item count in group need have (0 = all)&amp;quot; : 0&lt;br /&gt;
	item_name_canthave(string) : &amp;quot;Inventory: CAN&#039;T have item&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	item_group_canthave(string) : &amp;quot;Inventory: CAN&#039;T have item from group&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	item_group_canthave_num(integer) : &amp;quot;Inventory: Item count in group CAN&#039;T have (0 = all)&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
	pass_ignore_use_triggers(choices) : &amp;quot;On pass: Ignore item&#039;s on use triggers?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	pass_drop_item_name(string) : &amp;quot;On pass: Drop item(s)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	pass_drop_item_group(string) : &amp;quot;On pass: Drop item(s) from group(s)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	pass_ignore_drop_triggers(choices) : &amp;quot;On pass: Ignore item&#039;s on drop triggers?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	pass_return_item_name(string) : &amp;quot;On pass: Return item(s)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	pass_return_item_group(string) : &amp;quot;On pass: Return item(s) from group(s)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	pass_ignore_return_triggers(choices) : &amp;quot;On pass: Ignore item&#039;s on return triggers?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	pass_destroy_item_name(string) : &amp;quot;On pass: Destroy item(s)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	pass_destroy_item_group(string) : &amp;quot;On pass: Destroy item(s) from group(s)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	pass_ignore_destroy_triggers(choices) : &amp;quot;On pass: Ignore item&#039;s on destroy triggers?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	target_on_fail(string) : &amp;quot;Target: Inventory rules failed&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass = RenderFxChoices&lt;br /&gt;
[&lt;br /&gt;
	renderfx(choices) : &amp;quot;Render FX&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Normal&amp;quot;&lt;br /&gt;
		1: &amp;quot;Slow Pulse&amp;quot;&lt;br /&gt;
		2: &amp;quot;Fast Pulse&amp;quot;&lt;br /&gt;
		3: &amp;quot;Slow Wide Pulse&amp;quot;&lt;br /&gt;
		4: &amp;quot;Fast Wide Pulse&amp;quot;&lt;br /&gt;
		9: &amp;quot;Slow Strobe&amp;quot;&lt;br /&gt;
		10: &amp;quot;Fast Strobe&amp;quot;&lt;br /&gt;
		11: &amp;quot;Faster Strobe&amp;quot;&lt;br /&gt;
		12: &amp;quot;Slow Flicker&amp;quot;&lt;br /&gt;
		13: &amp;quot;Fast Flicker&amp;quot;&lt;br /&gt;
		5: &amp;quot;Slow Fade Away&amp;quot;&lt;br /&gt;
		6: &amp;quot;Fast Fade Away&amp;quot;&lt;br /&gt;
		7: &amp;quot;Slow Become Solid&amp;quot;&lt;br /&gt;
		8: &amp;quot;Fast Become Solid&amp;quot;&lt;br /&gt;
		14: &amp;quot;Constant Glow&amp;quot;&lt;br /&gt;
		15: &amp;quot;Distort&amp;quot;&lt;br /&gt;
		16: &amp;quot;Hologram (Distort + fade)&amp;quot;&lt;br /&gt;
		17: &amp;quot;Dead Player (DONT USE!)&amp;quot;&lt;br /&gt;
		18: &amp;quot;Explode (Garg Like)&amp;quot;&lt;br /&gt;
		19: &amp;quot;Glow Shell&amp;quot;&lt;br /&gt;
		20: &amp;quot;ClampMinScale (Sprites)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass base(RenderFxChoices, Appearflags) = RenderFields&lt;br /&gt;
[&lt;br /&gt;
	rendermode(choices) : &amp;quot;Render Mode&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Normal&amp;quot;&lt;br /&gt;
		1: &amp;quot;Color&amp;quot;&lt;br /&gt;
		2: &amp;quot;Texture&amp;quot;&lt;br /&gt;
		3: &amp;quot;Glow&amp;quot;&lt;br /&gt;
		4: &amp;quot;Solid&amp;quot;&lt;br /&gt;
		5: &amp;quot;Additive&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	renderamt(integer) : &amp;quot;FX Amount (1 - 255)&amp;quot;&lt;br /&gt;
	rendercolor(color255) : &amp;quot;FX Color (R G B)&amp;quot; : &amp;quot;0 0 0&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
@BaseClass base(Targetname, Target, Appearflags, Angles) size(-16 -16 -36, 16 16 36) color(0 255 0) = PlayerClass []&lt;br /&gt;
&lt;br /&gt;
@BaseClass base(Targetname, Target, Appearflags, Angles) size(-16 -16 -36, 16 16 36) color(0 255 0) = PlayerDmClass&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		// Disable this spawn point when the map starts&lt;br /&gt;
		2 : &amp;quot;Start Off&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
		// Player will spawn repeling down a rope (like repeling soldiers)&lt;br /&gt;
		4 : &amp;quot;Repel Spawn&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
		// Only spawn player if his targetname equals to message&lt;br /&gt;
		8 : &amp;quot;Filter player targetname&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
		// Invert player targetname filter (can use if DOESN&#039;T match) -- needs flag 8!&lt;br /&gt;
		16 : &amp;quot;Invert Filter&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
		// Fire target when player spawns here, rather than when the spawn point is toggled on/off&lt;br /&gt;
		32 : &amp;quot;Trigger on spawn&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	netname(string) : &amp;quot;New Player Targetname&amp;quot;&lt;br /&gt;
	// Use a semi-colon &#039;;&#039; to specify multiple targetnames&lt;br /&gt;
	message(string) : &amp;quot;Filter Player Targetname&amp;quot;&lt;br /&gt;
	master(string) : &amp;quot;Master&amp;quot;&lt;br /&gt;
	frags(string) : &amp;quot;Repel Speed&amp;quot;&lt;br /&gt;
	triggerstate(choices) : &amp;quot;Trigger State&amp;quot; : 2 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Off&amp;quot;&lt;br /&gt;
		1: &amp;quot;On&amp;quot;&lt;br /&gt;
		2: &amp;quot;Toggle&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass = NotRevivable&lt;br /&gt;
[&lt;br /&gt;
	//Whether the monster can be revived or not&lt;br /&gt;
	is_not_revivable(choices) : &amp;quot;Is not revivable&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass base(Targetname, Target, RenderFields, Angles, AttackObject, NotRevivable) color(0 200 200) = Monster&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;WaitTillSeen&amp;quot; : 0&lt;br /&gt;
		2 : &amp;quot;Gag&amp;quot; : 0&lt;br /&gt;
		4 : &amp;quot;MonsterClip&amp;quot; : 0&lt;br /&gt;
		16: &amp;quot;Prisoner&amp;quot; : 0&lt;br /&gt;
		128: &amp;quot;WaitForScript&amp;quot; : 0&lt;br /&gt;
		256: &amp;quot;Pre-Disaster&amp;quot; : 0&lt;br /&gt;
		512: &amp;quot;Don&#039;t Fade Corpse&amp;quot; : 0&lt;br /&gt;
		16384: &amp;quot;No Dyn Collision&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	TriggerCondition(Choices) : &amp;quot;Trigger Condition&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No Trigger&amp;quot;&lt;br /&gt;
		1 : &amp;quot;See Player, Mad at Player&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Take Damage&amp;quot;&lt;br /&gt;
		3 : &amp;quot;50% Health Remaining&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Death&amp;quot;&lt;br /&gt;
		7 : &amp;quot;Hear World&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Hear Player&amp;quot;&lt;br /&gt;
		9 : &amp;quot;Hear Combat&amp;quot;&lt;br /&gt;
		10: &amp;quot;See Player Unconditional&amp;quot;&lt;br /&gt;
		11: &amp;quot;See Player, Not In Combat&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	TriggerTarget(String) : &amp;quot;Trigger Condition Target&amp;quot;&lt;br /&gt;
	body(choices) : &amp;quot;Body&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;0&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	skin(choices) : &amp;quot;Skin&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;0&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	is_player_ally(Choices) : &amp;quot;Is Player Ally?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No (Default)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	displayname(string) : &amp;quot;In-game Name&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	bloodcolor(choices) : &amp;quot;Blood Color&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Monster Default&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No Blood&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Red&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Yellow&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	health(integer) : &amp;quot;Custom Health&amp;quot; : 0&lt;br /&gt;
	model(studio) : &amp;quot;Custom Model&amp;quot;&lt;br /&gt;
	minhullsize(string) : &amp;quot;Custom Min Hull Size (X Y Z)&amp;quot; : &amp;quot;0 0 0&amp;quot;&lt;br /&gt;
	maxhullsize(string) : &amp;quot;Custom Max Hull Size (X Y Z)&amp;quot; : &amp;quot;0 0 0&amp;quot;&lt;br /&gt;
	soundlist(string) : &amp;quot;Sound Replacement File&amp;quot;&lt;br /&gt;
	freeroam(Choices) : &amp;quot;Monster Roaming (nodes)&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Map Default&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Never&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Always&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	path_name(string) : &amp;quot;Path Name&amp;quot; //The name of the path_waypoint, path_condition, or path_condition_controller this monster will look to.&lt;br /&gt;
&lt;br /&gt;
	// This will make the monster follow/protect whoever is specified&lt;br /&gt;
	guard_ent(string): &amp;quot;Entity to Guard&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass = TalkMonster&lt;br /&gt;
[&lt;br /&gt;
	UseSentence(String) : &amp;quot;Use Sentence&amp;quot;&lt;br /&gt;
	UnUseSentence(String) : &amp;quot;Un-Use Sentence&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	is_player_ally(Choices) : &amp;quot;Is Player Ally?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Yes (Default)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;No&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass base(Targetname, Angles) size(-8 -8 -8, 8 8 8) = GibShooterBase&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Repeatable&amp;quot;  : 0&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	// how many pieces to create&lt;br /&gt;
	m_iGibs(integer) : &amp;quot;Number of Gibs&amp;quot; : 3&lt;br /&gt;
&lt;br /&gt;
	// delay (in seconds) between shots. If 0, all gibs shoot at once.&lt;br /&gt;
	delay(string) : &amp;quot;Delay between shots&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	// how fast the gibs are fired&lt;br /&gt;
	m_flVelocity(integer) : &amp;quot;Gib Velocity&amp;quot; : 200&lt;br /&gt;
&lt;br /&gt;
	// Course variance&lt;br /&gt;
	m_flVariance(string) : &amp;quot;Course Variance&amp;quot; : &amp;quot;0.15&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	// Time in seconds for gibs to live +/- 5%&lt;br /&gt;
	m_flGibLife(string) : &amp;quot;Gib Life&amp;quot; : &amp;quot;4&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass = Light&lt;br /&gt;
[&lt;br /&gt;
	_light(color255) : &amp;quot;Brightness&amp;quot; : &amp;quot;255 255 128 200&amp;quot;&lt;br /&gt;
	style(Choices) : &amp;quot;Appearance&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Normal&amp;quot;&lt;br /&gt;
		10: &amp;quot;Fluorescent flicker&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Slow, strong pulse&amp;quot;&lt;br /&gt;
		11: &amp;quot;Slow pulse, noblack&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Gentle pulse&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Flicker A&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Flicker B&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Candle A&amp;quot;&lt;br /&gt;
		7 : &amp;quot;Candle B&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Candle C&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Fast strobe&amp;quot;&lt;br /&gt;
		9 : &amp;quot;Slow strobe&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	pattern(string) : &amp;quot;Custom Appearance&amp;quot;&lt;br /&gt;
	spawnflags(Flags) = [ 2 : &amp;quot;Remove on Spawn&amp;quot; : 0 ]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass base(Targetname, Targetx, Global, AttackObject, RenderFields, ZHLT) = Breakable&lt;br /&gt;
[&lt;br /&gt;
	//target(target_destination) : &amp;quot;Target on break&amp;quot; //Duplicate, already defined by Target&lt;br /&gt;
	health(integer) : &amp;quot;Strength&amp;quot; : 1&lt;br /&gt;
	material(choices) : &amp;quot;Material type&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Glass&amp;quot;&lt;br /&gt;
		1: &amp;quot;Wood&amp;quot;&lt;br /&gt;
		2: &amp;quot;Metal&amp;quot;&lt;br /&gt;
		3: &amp;quot;Flesh&amp;quot;&lt;br /&gt;
		4: &amp;quot;Cinder Block&amp;quot;&lt;br /&gt;
		5: &amp;quot;Ceiling Tile&amp;quot;&lt;br /&gt;
		6: &amp;quot;Computer&amp;quot;&lt;br /&gt;
		7: &amp;quot;Unbreakable Glass&amp;quot;&lt;br /&gt;
		8: &amp;quot;Rocks&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	weapon(choices) : &amp;quot;Instant Break Weapon&amp;quot; : 1 =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Crowbar&amp;quot;&lt;br /&gt;
		19: &amp;quot;Crowbar (Electric Only)&amp;quot;&lt;br /&gt;
		20: &amp;quot;Pipe Wrench&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	explosion(choices) : &amp;quot;Gibs&#039; direction and velocity&amp;quot; : 1 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Random direction; no velocity&amp;quot;&lt;br /&gt;
		1: &amp;quot;Relative to attack/dmg./mat.&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	gibmodel(studio) : &amp;quot;Gib Model&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	spawnobject(choices) : &amp;quot;Spawn On Break&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0:  &amp;quot;Nothing&amp;quot;&lt;br /&gt;
		1:  &amp;quot;Battery&amp;quot;&lt;br /&gt;
		2:  &amp;quot;Healthkit&amp;quot;&lt;br /&gt;
		3:  &amp;quot;9mm Handgun&amp;quot;&lt;br /&gt;
		4:  &amp;quot;9mm Clip&amp;quot;&lt;br /&gt;
		5:  &amp;quot;Machine Gun&amp;quot;&lt;br /&gt;
		6:  &amp;quot;Machine Gun Clip&amp;quot;&lt;br /&gt;
		7:  &amp;quot;Machine Gun Grenades&amp;quot;&lt;br /&gt;
		8:  &amp;quot;Shotgun&amp;quot;&lt;br /&gt;
		9:  &amp;quot;Shotgun Shells&amp;quot;&lt;br /&gt;
		10: &amp;quot;Crossbow&amp;quot;&lt;br /&gt;
		11: &amp;quot;Crossbow Bolts&amp;quot;&lt;br /&gt;
		12: &amp;quot;357&amp;quot;&lt;br /&gt;
		13: &amp;quot;357 Clip&amp;quot;&lt;br /&gt;
		14: &amp;quot;RPG&amp;quot;&lt;br /&gt;
		15: &amp;quot;RPG Clip&amp;quot;&lt;br /&gt;
		16: &amp;quot;Gauss Clip&amp;quot;&lt;br /&gt;
		17: &amp;quot;Hand grenade&amp;quot;&lt;br /&gt;
		18: &amp;quot;Tripmine&amp;quot;&lt;br /&gt;
		19: &amp;quot;Satchel Charge&amp;quot;&lt;br /&gt;
		20: &amp;quot;Snark&amp;quot;&lt;br /&gt;
		21: &amp;quot;Hornet Gun&amp;quot;&lt;br /&gt;
		22: &amp;quot;Crowbar&amp;quot;&lt;br /&gt;
		23: &amp;quot;Pipewrench&amp;quot;&lt;br /&gt;
		24: &amp;quot;Sniperrifle&amp;quot;&lt;br /&gt;
		25: &amp;quot;Sniperrifle ammo&amp;quot;&lt;br /&gt;
		26: &amp;quot;M16 Rifle&amp;quot;&lt;br /&gt;
		27: &amp;quot;M249 Squad Automatic Weapon&amp;quot;&lt;br /&gt;
		28: &amp;quot;Minigun&amp;quot;&lt;br /&gt;
		29: &amp;quot;556 Ammo Box&amp;quot;&lt;br /&gt;
		30: &amp;quot;Sporelauncher&amp;quot;&lt;br /&gt;
		31: &amp;quot;Spore Clip&amp;quot;&lt;br /&gt;
		32: &amp;quot;9mm Box&amp;quot;&lt;br /&gt;
		33: &amp;quot;Uzi&amp;quot;&lt;br /&gt;
		34: &amp;quot;Uzi akimbo&amp;quot;&lt;br /&gt;
		35: &amp;quot;Desert Eagle&amp;quot;&lt;br /&gt;
		36: &amp;quot;Barnacle Grapple&amp;quot;&lt;br /&gt;
		37: &amp;quot;Medkit (portable)&amp;quot;&lt;br /&gt;
		38: &amp;quot;HEV Suit&amp;quot;&lt;br /&gt;
		39: &amp;quot;Antidote&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	explodemagnitude(integer) : &amp;quot;Explode Magnitude (0=none)&amp;quot; : 0&lt;br /&gt;
	soundlist(string) : &amp;quot;Sound Replacement File&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass = BaseLockable&lt;br /&gt;
[&lt;br /&gt;
	locked_sound(choices) : &amp;quot;Locked Sound&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;None&amp;quot;&lt;br /&gt;
		2: &amp;quot;Access Denied&amp;quot;&lt;br /&gt;
		8: &amp;quot;Small zap&amp;quot;&lt;br /&gt;
		10: &amp;quot;Buzz&amp;quot;&lt;br /&gt;
		11: &amp;quot;Buzz Off&amp;quot;&lt;br /&gt;
		12: &amp;quot;Latch Locked&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	unlocked_sound(choices) : &amp;quot;Unlocked Sound&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;None&amp;quot;&lt;br /&gt;
		1: &amp;quot;Big zap &amp;amp; Warmup&amp;quot;&lt;br /&gt;
		3: &amp;quot;Access Granted&amp;quot;&lt;br /&gt;
		4: &amp;quot;Quick Combolock&amp;quot;&lt;br /&gt;
		5: &amp;quot;Power Deadbolt 1&amp;quot;&lt;br /&gt;
		6: &amp;quot;Power Deadbolt 2&amp;quot;&lt;br /&gt;
		7: &amp;quot;Plunger&amp;quot;&lt;br /&gt;
		8: &amp;quot;Small zap&amp;quot;&lt;br /&gt;
		9: &amp;quot;Keycard Sound&amp;quot;&lt;br /&gt;
		10: &amp;quot;Buzz&amp;quot;&lt;br /&gt;
		13: &amp;quot;Latch Unlocked&amp;quot;&lt;br /&gt;
		14: &amp;quot;Lightswitch&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	locked_sentence(choices) : &amp;quot;Locked Sentence&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;None&amp;quot;&lt;br /&gt;
		1: &amp;quot;Gen. Access Denied&amp;quot;&lt;br /&gt;
		2: &amp;quot;Security Lockout&amp;quot;&lt;br /&gt;
		3: &amp;quot;Blast Door&amp;quot;&lt;br /&gt;
		4: &amp;quot;Fire Door&amp;quot;&lt;br /&gt;
		5: &amp;quot;Chemical Door&amp;quot;&lt;br /&gt;
		6: &amp;quot;Radiation Door&amp;quot;&lt;br /&gt;
		7: &amp;quot;Gen. Containment&amp;quot;&lt;br /&gt;
		8: &amp;quot;Maintenance Door&amp;quot;&lt;br /&gt;
		9: &amp;quot;Broken Shut Door&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	unlocked_sentence(choices) : &amp;quot;Unlocked Sentence&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;None&amp;quot;&lt;br /&gt;
		1: &amp;quot;Gen. Access Granted&amp;quot;&lt;br /&gt;
		2: &amp;quot;Security Disengaged&amp;quot;&lt;br /&gt;
		3: &amp;quot;Blast Door&amp;quot;&lt;br /&gt;
		4: &amp;quot;Fire Door&amp;quot;&lt;br /&gt;
		5: &amp;quot;Chemical Door&amp;quot;&lt;br /&gt;
		6: &amp;quot;Radiation Door&amp;quot;&lt;br /&gt;
		7: &amp;quot;Gen. Containment&amp;quot;&lt;br /&gt;
		8: &amp;quot;Maintenance area&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	locked_sound_override(sound) : &amp;quot;Locked Sound Override&amp;quot;&lt;br /&gt;
	unlocked_sound_override(sound) : &amp;quot;Unlocked Sound Override&amp;quot;&lt;br /&gt;
	locked_sentence_override(string) : &amp;quot;Locked Sentence Override&amp;quot;&lt;br /&gt;
	unlocked_sentence_override(string) : &amp;quot;Unlocked Sentence Override&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass = StartStopable&lt;br /&gt;
[&lt;br /&gt;
	fireonstart(string) : &amp;quot;Fire On Start&amp;quot;&lt;br /&gt;
	fireonstart_triggerstate(choices) : &amp;quot;Fire On Start Trigger State&amp;quot; : 2 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Off&amp;quot;&lt;br /&gt;
		1: &amp;quot;On&amp;quot;&lt;br /&gt;
		2: &amp;quot;Toggle&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	fireonstop(string) : &amp;quot;Fire On Stop&amp;quot;&lt;br /&gt;
	fireonstop_triggerstate(choices) : &amp;quot;Fire On Stop Trigger State&amp;quot; : 2 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Off&amp;quot;&lt;br /&gt;
		1: &amp;quot;On&amp;quot;&lt;br /&gt;
		2: &amp;quot;Toggle&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass = OpenClosable&lt;br /&gt;
[&lt;br /&gt;
	fireonopening(string) : &amp;quot;Fire On Open Start&amp;quot;&lt;br /&gt;
	fireonopening_triggerstate(choices) : &amp;quot;Fire On Open Start Trigger State&amp;quot; : 2 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Off&amp;quot;&lt;br /&gt;
		1: &amp;quot;On&amp;quot;&lt;br /&gt;
		2: &amp;quot;Toggle&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	fireonclosing(string) : &amp;quot;Fire On Close Start&amp;quot;&lt;br /&gt;
	fireonclosing_triggerstate(choices) : &amp;quot;Fire On Close Start Trigger State&amp;quot; : 2 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Off&amp;quot;&lt;br /&gt;
		1: &amp;quot;On&amp;quot;&lt;br /&gt;
		2: &amp;quot;Toggle&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	// This can also be done with &amp;quot;fireonopen&amp;quot; (backward compatibility)&lt;br /&gt;
	fireonopened(string) : &amp;quot;Fire On Open End&amp;quot;&lt;br /&gt;
	fireonopened_triggerstate(choices) : &amp;quot;Fire On Open End Trigger State&amp;quot; : 2 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Off&amp;quot;&lt;br /&gt;
		1: &amp;quot;On&amp;quot;&lt;br /&gt;
		2: &amp;quot;Toggle&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	// This can also be done with &amp;quot;netname&amp;quot; (backward compatibility)&lt;br /&gt;
	fireonclosed(string) : &amp;quot;Fire On Close End&amp;quot;&lt;br /&gt;
	fireonclosed_triggerstate(choices) : &amp;quot;Fire On Close End Trigger State&amp;quot; : 2 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Off&amp;quot;&lt;br /&gt;
		1: &amp;quot;On&amp;quot;&lt;br /&gt;
		2: &amp;quot;Toggle&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass base(Appearflags, Global, Targetname, Targetx, FilterIn, FilterOut, InventoryRules, AttackObject, RenderFields, Angles, ZHLT, BaseLockable, StartStopable, OpenClosable) = Door&lt;br /&gt;
[&lt;br /&gt;
	speed(integer) : &amp;quot;Speed&amp;quot; : 100&lt;br /&gt;
	master(string) : &amp;quot;Master&amp;quot;&lt;br /&gt;
	movesnd(choices) : &amp;quot;Move Sound&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;No Sound&amp;quot;&lt;br /&gt;
		1: &amp;quot;Servo (Sliding)&amp;quot;&lt;br /&gt;
		2: &amp;quot;Pneumatic (Sliding)&amp;quot;&lt;br /&gt;
		3: &amp;quot;Pneumatic (Rolling)&amp;quot;&lt;br /&gt;
		4: &amp;quot;Vacuum&amp;quot;&lt;br /&gt;
		5: &amp;quot;Power Hydraulic&amp;quot;&lt;br /&gt;
		6: &amp;quot;Large Rollers&amp;quot;&lt;br /&gt;
		7: &amp;quot;Track Door&amp;quot;&lt;br /&gt;
		8: &amp;quot;Snappy Metal Door&amp;quot;&lt;br /&gt;
		9: &amp;quot;Squeaky 1&amp;quot;&lt;br /&gt;
		10: &amp;quot;Squeaky 2&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	movesnd_loop(choices) : &amp;quot;Move Sound Loops?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;No&amp;quot;&lt;br /&gt;
		1: &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	stopsnd(choices) : &amp;quot;Stop Sound&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;No Sound&amp;quot;&lt;br /&gt;
		1: &amp;quot;Clang with brake&amp;quot;&lt;br /&gt;
		2: &amp;quot;Clang reverb&amp;quot;&lt;br /&gt;
		3: &amp;quot;Ratchet Stop&amp;quot;&lt;br /&gt;
		4: &amp;quot;Chunk&amp;quot;&lt;br /&gt;
		5: &amp;quot;Light airbrake&amp;quot;&lt;br /&gt;
		6: &amp;quot;Metal Slide Stop&amp;quot;&lt;br /&gt;
		7: &amp;quot;Metal Lock Stop&amp;quot;&lt;br /&gt;
		8: &amp;quot;Snappy Metal Stop&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	noise1(sound) : &amp;quot;Move Sound Override&amp;quot;&lt;br /&gt;
	noise2(sound) : &amp;quot;Stop Sound Override&amp;quot;&lt;br /&gt;
	wait(integer) : &amp;quot;delay before close, -1 stay open &amp;quot; : 4&lt;br /&gt;
	lip(integer) : &amp;quot;Lip&amp;quot;&lt;br /&gt;
	dmg(integer) : &amp;quot;Damage inflicted when blocked&amp;quot; : 0&lt;br /&gt;
	message(string) : &amp;quot;Message if triggered&amp;quot;&lt;br /&gt;
	health(integer) : &amp;quot;Strength&amp;quot; : 0&lt;br /&gt;
	_minlight(string) : &amp;quot;Minimum light level&amp;quot;&lt;br /&gt;
	soundlist(string) : &amp;quot;Sound Replacement File&amp;quot;&lt;br /&gt;
	m_iOpenFlags(choices) : &amp;quot;Who can open this&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Default (0)&amp;quot;&lt;br /&gt;
		1: &amp;quot;Pushables (1)&amp;quot;&lt;br /&gt;
		2: &amp;quot;No clients (2)&amp;quot;&lt;br /&gt;
		3: &amp;quot;1 + 2&amp;quot;&lt;br /&gt;
		4: &amp;quot;Everything else (4)&amp;quot;&lt;br /&gt;
		5: &amp;quot;1 + 4&amp;quot;&lt;br /&gt;
		6: &amp;quot;2 + 4&amp;quot;&lt;br /&gt;
		7: &amp;quot;1 + 2 + 4&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	m_fIgnoreTargetname(choices) : &amp;quot;Ignore Targetname&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;No&amp;quot;&lt;br /&gt;
		1: &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	m_iObeyTriggerMode(choices) : &amp;quot;Obey Trigger Mode&amp;quot; : 2 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Yes, even when currently moving&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Starts Open&amp;quot; : 0&lt;br /&gt;
		4 : &amp;quot;Don&#039;t link&amp;quot; : 0&lt;br /&gt;
		8: &amp;quot;Passable&amp;quot; : 0&lt;br /&gt;
		32: &amp;quot;Toggle&amp;quot; : 0&lt;br /&gt;
		256: &amp;quot;USE Only&amp;quot; : 0&lt;br /&gt;
		512: &amp;quot;Monsters Can&#039;t&amp;quot; : 0&lt;br /&gt;
		1024: &amp;quot;No Link-Checking&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	breakable(choices) : &amp;quot;Breakable&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;No&amp;quot;&lt;br /&gt;
		1: &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	fireonbreak(target_destination) : &amp;quot;Fire on break&amp;quot;&lt;br /&gt;
	material(choices) : &amp;quot;Material type&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Glass&amp;quot;&lt;br /&gt;
		1: &amp;quot;Wood&amp;quot;&lt;br /&gt;
		2: &amp;quot;Metal&amp;quot;&lt;br /&gt;
		3: &amp;quot;Flesh&amp;quot;&lt;br /&gt;
		4: &amp;quot;Cinder Block&amp;quot;&lt;br /&gt;
		5: &amp;quot;Ceiling Tile&amp;quot;&lt;br /&gt;
		6: &amp;quot;Computer&amp;quot;&lt;br /&gt;
		7: &amp;quot;Unbreakable Glass&amp;quot;&lt;br /&gt;
		8: &amp;quot;Rocks&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	instantbreak(choices) : &amp;quot;Instant Break&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	weapon(choices) : &amp;quot;Instant Break Weapon&amp;quot; : 1 =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Crowbar&amp;quot;&lt;br /&gt;
		19: &amp;quot;Crowbar (Electric Only)&amp;quot;&lt;br /&gt;
		20: &amp;quot;Pipe Wrench&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	explosion(choices) : &amp;quot;Gibs&#039; direction and velocity&amp;quot; : 1 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Random direction; no velocity&amp;quot;&lt;br /&gt;
		1: &amp;quot;Relative to attack/dmg./mat.&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	gibmodel(studio) : &amp;quot;Gib Model&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	explodemagnitude(integer) : &amp;quot;Explode Magnitude (0=none)&amp;quot; : 0&lt;br /&gt;
	displayname(string) : &amp;quot;HUD Info name&amp;quot;&lt;br /&gt;
	onlytrigger(choices) : &amp;quot;Only Trigger&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	breakontrigger(choices) : &amp;quot;Break On Trigger&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	repairable(choices) : &amp;quot;Repairable&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	showhudinfo(choices) : &amp;quot;Show HUD Info&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	immunetoclients(choices) : &amp;quot;Immune To Clients&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	explosivesonly(choices) : &amp;quot;Explosives Only&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass base(Targetname, Target, RenderFields, Global, Angles) = BaseTank&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Active&amp;quot; : 0&lt;br /&gt;
		16: &amp;quot;Only Direct&amp;quot; : 0&lt;br /&gt;
		32: &amp;quot;Controllable&amp;quot; : 0&lt;br /&gt;
		512: &amp;quot;Use Relations&amp;quot; : 0&lt;br /&gt;
		1024: &amp;quot;Player can&#039;t fire&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	// Mainly for use with v.1.0.0.9&#039;s team settings (game_team_master)&lt;br /&gt;
	master(string) : &amp;quot;(Team) Master&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	yawrate(string) : &amp;quot;Yaw Rate&amp;quot; : &amp;quot;30&amp;quot;&lt;br /&gt;
	yawrange(string) : &amp;quot;Yaw Range&amp;quot; : &amp;quot;180&amp;quot;&lt;br /&gt;
	yawtolerance(string) : &amp;quot;Yaw Tolerance&amp;quot; : &amp;quot;15&amp;quot;&lt;br /&gt;
	pitchrate(string) : &amp;quot;Pitch Rate&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
	pitchrange(string) : &amp;quot;Pitch Range&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
	pitchtolerance(string) : &amp;quot;Pitch Tolerance&amp;quot; : &amp;quot;5&amp;quot;&lt;br /&gt;
	barrel(string) : &amp;quot;Barrel Length&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
	barrely(string) : &amp;quot;Barrel Horizontal&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
	barrelz(string) : &amp;quot;Barrel Vertical&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
	spritesmoke(string) : &amp;quot;Smoke Sprite&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	spriteflash(string) : &amp;quot;Flash Sprite&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	spritescale(string) : &amp;quot;Sprite Scale&amp;quot; : &amp;quot;1&amp;quot;&lt;br /&gt;
	rotatesound(sound) : &amp;quot;Rotate Sound&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	firerate(string) : &amp;quot;Rate of Fire&amp;quot; : &amp;quot;1&amp;quot;&lt;br /&gt;
	bullet_damage(string) : &amp;quot;Damage Per Bullet&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
	persistence(string) : &amp;quot;Firing Persistence&amp;quot; : &amp;quot;1&amp;quot;&lt;br /&gt;
	firespread(choices) : &amp;quot;Bullet Accuracy&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Perfect Shot&amp;quot;&lt;br /&gt;
		1: &amp;quot;Small cone&amp;quot;&lt;br /&gt;
		2: &amp;quot;Medium cone&amp;quot;&lt;br /&gt;
		3: &amp;quot;Large cone&amp;quot;&lt;br /&gt;
		4: &amp;quot;Extra-large cone&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	minRange(string) : &amp;quot;Minmum target range&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
	maxRange(string) : &amp;quot;Maximum target range&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
	_minlight(string) : &amp;quot;Minimum light level&amp;quot;&lt;br /&gt;
	relation_player(choices) : &amp;quot;R Player&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		-2: &amp;quot;Ally&amp;quot;&lt;br /&gt;
		-1: &amp;quot;Friend&amp;quot;&lt;br /&gt;
		0: &amp;quot;No Relation&amp;quot;&lt;br /&gt;
		1: &amp;quot;Dislike&amp;quot;&lt;br /&gt;
		2: &amp;quot;Hate&amp;quot;&lt;br /&gt;
		3: &amp;quot;Nemesis&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	relation_none(choices) : &amp;quot;R Unknown&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		-2: &amp;quot;Ally&amp;quot;&lt;br /&gt;
		-1: &amp;quot;Friend&amp;quot;&lt;br /&gt;
		0: &amp;quot;No Relation&amp;quot;&lt;br /&gt;
		1: &amp;quot;Dislike&amp;quot;&lt;br /&gt;
		2: &amp;quot;Hate&amp;quot;&lt;br /&gt;
		3: &amp;quot;Nemesis&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	relation_machine(choices) : &amp;quot;R Machine&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		-2: &amp;quot;Ally&amp;quot;&lt;br /&gt;
		-1: &amp;quot;Friend&amp;quot;&lt;br /&gt;
		0: &amp;quot;No Relation&amp;quot;&lt;br /&gt;
		1: &amp;quot;Dislike&amp;quot;&lt;br /&gt;
		2: &amp;quot;Hate&amp;quot;&lt;br /&gt;
		3: &amp;quot;Nemesis&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	relation_human_passive(choices) : &amp;quot;R Human Passive&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		-2: &amp;quot;Ally&amp;quot;&lt;br /&gt;
		-1: &amp;quot;Friend&amp;quot;&lt;br /&gt;
		0: &amp;quot;No Relation&amp;quot;&lt;br /&gt;
		1: &amp;quot;Dislike&amp;quot;&lt;br /&gt;
		2: &amp;quot;Hate&amp;quot;&lt;br /&gt;
		3: &amp;quot;Nemesis&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	relation_human_militar(choices) : &amp;quot;R Human Military&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		-2: &amp;quot;Ally&amp;quot;&lt;br /&gt;
		-1: &amp;quot;Friend&amp;quot;&lt;br /&gt;
		0: &amp;quot;No Relation&amp;quot;&lt;br /&gt;
		1: &amp;quot;Dislike&amp;quot;&lt;br /&gt;
		2: &amp;quot;Hate&amp;quot;&lt;br /&gt;
		3: &amp;quot;Nemesis&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	relation_alien_militar(choices) : &amp;quot;R Alien Military&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		-2: &amp;quot;Ally&amp;quot;&lt;br /&gt;
		-1: &amp;quot;Friend&amp;quot;&lt;br /&gt;
		0: &amp;quot;No Relation&amp;quot;&lt;br /&gt;
		1: &amp;quot;Dislike&amp;quot;&lt;br /&gt;
		2: &amp;quot;Hate&amp;quot;&lt;br /&gt;
		3: &amp;quot;Nemesis&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	relation_alien_passive(choices) : &amp;quot;R Alien Passive&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		-2: &amp;quot;Ally&amp;quot;&lt;br /&gt;
		-1: &amp;quot;Friend&amp;quot;&lt;br /&gt;
		0: &amp;quot;No Relation&amp;quot;&lt;br /&gt;
		1: &amp;quot;Dislike&amp;quot;&lt;br /&gt;
		2: &amp;quot;Hate&amp;quot;&lt;br /&gt;
		3: &amp;quot;Nemesis&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	relation_alien_monster(choices) : &amp;quot;R Alien Monster&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		-2: &amp;quot;Ally&amp;quot;&lt;br /&gt;
		-1: &amp;quot;Friend&amp;quot;&lt;br /&gt;
		0: &amp;quot;No Relation&amp;quot;&lt;br /&gt;
		1: &amp;quot;Dislike&amp;quot;&lt;br /&gt;
		2: &amp;quot;Hate&amp;quot;&lt;br /&gt;
		3: &amp;quot;Nemesis&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	relation_alien_prey(choices) : &amp;quot;R Alien Prey&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		-2: &amp;quot;Ally&amp;quot;&lt;br /&gt;
		-1: &amp;quot;Friend&amp;quot;&lt;br /&gt;
		0: &amp;quot;No Relation&amp;quot;&lt;br /&gt;
		1: &amp;quot;Dislike&amp;quot;&lt;br /&gt;
		2: &amp;quot;Hate&amp;quot;&lt;br /&gt;
		3: &amp;quot;Nemesis&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	relation_alien_predator(choices) : &amp;quot;R Alien Predator&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		-2: &amp;quot;Ally&amp;quot;&lt;br /&gt;
		-1: &amp;quot;Friend&amp;quot;&lt;br /&gt;
		0: &amp;quot;No Relation&amp;quot;&lt;br /&gt;
		1: &amp;quot;Dislike&amp;quot;&lt;br /&gt;
		2: &amp;quot;Hate&amp;quot;&lt;br /&gt;
		3: &amp;quot;Nemesis&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	relation_insect(choices) : &amp;quot;R Insect&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		-2: &amp;quot;Ally&amp;quot;&lt;br /&gt;
		-1: &amp;quot;Friend&amp;quot;&lt;br /&gt;
		0: &amp;quot;No Relation&amp;quot;&lt;br /&gt;
		1: &amp;quot;Dislike&amp;quot;&lt;br /&gt;
		2: &amp;quot;Hate&amp;quot;&lt;br /&gt;
		3: &amp;quot;Nemesis&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	relation_player_ally(choices) : &amp;quot;R Player Ally&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		-2: &amp;quot;Ally&amp;quot;&lt;br /&gt;
		-1: &amp;quot;Friend&amp;quot;&lt;br /&gt;
		0: &amp;quot;No Relation&amp;quot;&lt;br /&gt;
		1: &amp;quot;Dislike&amp;quot;&lt;br /&gt;
		2: &amp;quot;Hate&amp;quot;&lt;br /&gt;
		3: &amp;quot;Nemesis&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	relation_player_bioweapon(choices) : &amp;quot;R Player BioWeapon&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		-2: &amp;quot;Ally&amp;quot;&lt;br /&gt;
		-1: &amp;quot;Friend&amp;quot;&lt;br /&gt;
		0: &amp;quot;No Relation&amp;quot;&lt;br /&gt;
		1: &amp;quot;Dislike&amp;quot;&lt;br /&gt;
		2: &amp;quot;Hate&amp;quot;&lt;br /&gt;
		3: &amp;quot;Nemesis&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	relation_monster_bioweapon(choices) : &amp;quot;R Monster BioWeapon&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		-2: &amp;quot;Ally&amp;quot;&lt;br /&gt;
		-1: &amp;quot;Friend&amp;quot;&lt;br /&gt;
		0: &amp;quot;No Relation&amp;quot;&lt;br /&gt;
		1: &amp;quot;Dislike&amp;quot;&lt;br /&gt;
		2: &amp;quot;Hate&amp;quot;&lt;br /&gt;
		3: &amp;quot;Nemesis&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	relation_machine(choices) : &amp;quot;R Machine&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		-2: &amp;quot;Ally&amp;quot;&lt;br /&gt;
		-1: &amp;quot;Friend&amp;quot;&lt;br /&gt;
		0: &amp;quot;No Relation&amp;quot;&lt;br /&gt;
		1: &amp;quot;Dislike&amp;quot;&lt;br /&gt;
		2: &amp;quot;Hate&amp;quot;&lt;br /&gt;
		3: &amp;quot;Nemesis&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass = PlatSounds&lt;br /&gt;
[&lt;br /&gt;
	movesnd(choices) : &amp;quot;Move Sound&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;No Sound&amp;quot;&lt;br /&gt;
		1: &amp;quot;big elev 1&amp;quot;&lt;br /&gt;
		2: &amp;quot;big elev 2&amp;quot;&lt;br /&gt;
		3: &amp;quot;tech elev 1&amp;quot;&lt;br /&gt;
		4: &amp;quot;tech elev 2&amp;quot;&lt;br /&gt;
		5: &amp;quot;tech elev 3&amp;quot;&lt;br /&gt;
		6: &amp;quot;freight elev 1&amp;quot;&lt;br /&gt;
		7: &amp;quot;freight elev 2&amp;quot;&lt;br /&gt;
		8: &amp;quot;heavy elev&amp;quot;&lt;br /&gt;
		9: &amp;quot;rack elev&amp;quot;&lt;br /&gt;
		10: &amp;quot;rail elev&amp;quot;&lt;br /&gt;
		11: &amp;quot;squeek elev&amp;quot;&lt;br /&gt;
		12: &amp;quot;odd elev 1&amp;quot;&lt;br /&gt;
		13: &amp;quot;odd elev 2&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	movesnd_loop(choices) : &amp;quot;Move Sound Loops?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;No&amp;quot;&lt;br /&gt;
		1: &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	stopsnd(choices) : &amp;quot;Stop Sound&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;No Sound&amp;quot;&lt;br /&gt;
		1: &amp;quot;big elev stop1&amp;quot;&lt;br /&gt;
		2: &amp;quot;big elev stop2&amp;quot;&lt;br /&gt;
		3: &amp;quot;freight elev stop&amp;quot;&lt;br /&gt;
		4: &amp;quot;heavy elev stop&amp;quot;&lt;br /&gt;
		5: &amp;quot;rack stop&amp;quot;&lt;br /&gt;
		6: &amp;quot;rail stop&amp;quot;&lt;br /&gt;
		7: &amp;quot;squeek stop&amp;quot;&lt;br /&gt;
		8: &amp;quot;quick stop&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	noise(sound) : &amp;quot;Move Sound Override&amp;quot;&lt;br /&gt;
	noise1(sound) : &amp;quot;Stop Sound Override&amp;quot;&lt;br /&gt;
	volume(string) : &amp;quot;Sound Volume 0.0 - 1.0&amp;quot; : &amp;quot;0.85&amp;quot;&lt;br /&gt;
	soundlist(string) : &amp;quot;Sound Replacement File&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass base(Appearflags, StartStopable, OpenClosable) = BasePlat&lt;br /&gt;
[&lt;br /&gt;
	dmg(integer) : &amp;quot;Damage inflicted when blocked&amp;quot; : 0&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass base(Targetname, RenderFields, Global, PlatSounds, BasePlat) = Trackchange&lt;br /&gt;
[&lt;br /&gt;
	height(integer) : &amp;quot;Travel altitude&amp;quot; : 0&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Auto Activate train&amp;quot; : 0&lt;br /&gt;
		2: &amp;quot;Relink track&amp;quot; : 0&lt;br /&gt;
		8: &amp;quot;Start at Bottom&amp;quot; : 0&lt;br /&gt;
		16: &amp;quot;Rotate Only&amp;quot; : 0&lt;br /&gt;
		64: &amp;quot;X Axis&amp;quot; : 0&lt;br /&gt;
		128: &amp;quot;Y Axis&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	rotation(integer) : &amp;quot;Spin amount&amp;quot; : 0&lt;br /&gt;
	train(target_destination) : &amp;quot;Train to switch&amp;quot;&lt;br /&gt;
	toptrack(target_destination) : &amp;quot;Top track&amp;quot;&lt;br /&gt;
	bottomtrack(target_destination) : &amp;quot;Bottom track&amp;quot;&lt;br /&gt;
	speed(integer) : &amp;quot;Move/Rotate speed&amp;quot; : 0&lt;br /&gt;
	noise2(sound) : &amp;quot;Blocked Sound&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass base(Targetx, Targetname, FilterIn, FilterOut, InventoryRules, ZHLTbmodel, Appearflags) = Trigger&lt;br /&gt;
[&lt;br /&gt;
	netname(target_destination) : &amp;quot;Target Path&amp;quot;&lt;br /&gt;
	master(string) : &amp;quot;Master&amp;quot;&lt;br /&gt;
	sounds(choices) : &amp;quot;Sound style&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No Sound&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	message(string) : &amp;quot;Message (set sound too!)&amp;quot;&lt;br /&gt;
	tiny_monsters(Choices) : &amp;quot;Allow tiny monsters (insects/hornets)&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Monsters&amp;quot; : 0&lt;br /&gt;
		2: &amp;quot;No Clients&amp;quot; : 0&lt;br /&gt;
		4: &amp;quot;Pushables&amp;quot;: 0&lt;br /&gt;
		8: &amp;quot;Everything else&amp;quot;: 0&lt;br /&gt;
		16: &amp;quot;Fire On Enter&amp;quot;: 0&lt;br /&gt;
		32: &amp;quot;Fire On Exit&amp;quot;: 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass base(Targetname, Target, Angles) = PortalBase&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Solid&amp;quot;			: 1&lt;br /&gt;
		2: &amp;quot;Start Disabled&amp;quot;	: 0&lt;br /&gt;
		16: &amp;quot;Render only every 2nd frame&amp;quot;: 0&lt;br /&gt;
	]&lt;br /&gt;
	zoom(integer) : &amp;quot;Zoom&amp;quot; : 1&lt;br /&gt;
	fps(integer) : &amp;quot;Max FPS&amp;quot; : 0&lt;br /&gt;
	mindist(integer) : &amp;quot;Min Render Distance&amp;quot; : 0&lt;br /&gt;
	maxdist(integer) : &amp;quot;Max Render Distance&amp;quot; : 0&lt;br /&gt;
	textureMode(choices) : &amp;quot;Texture Mode&amp;quot; : 1 =&lt;br /&gt;
	[&lt;br /&gt;
		0  : &amp;quot;{ Textures&amp;quot;&lt;br /&gt;
		1  : &amp;quot;All Textures&amp;quot;&lt;br /&gt;
		2  : &amp;quot;Named Texture&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	textureName(string) : &amp;quot;Texture Name&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
//&lt;br /&gt;
// Entities start here. Sorted by Name just like Hammer displays them.&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Targetx, Angles) size(-16 -16 0, 16 16 72) color(164 0 255) = aiscripted_sequence : &amp;quot;AI Scripted Sequence&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	m_iszEntity(string) : &amp;quot;Target Monster&amp;quot;&lt;br /&gt;
	m_iszPlay(string) : &amp;quot;Action Animation&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	m_flRadius(integer) : &amp;quot;Search Radius&amp;quot; : 512&lt;br /&gt;
	m_flRepeat(integer) : &amp;quot;Repeat Rate ms&amp;quot; : 0&lt;br /&gt;
	m_fMoveTo(Choices) : &amp;quot;Move to Position&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Walk&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Run&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Instantaneous&amp;quot;&lt;br /&gt;
		5 : &amp;quot;No - Turn to Face&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	moveto_radius(integer) : &amp;quot;Move to Radius&amp;quot; : 0&lt;br /&gt;
	m_iFinishSchedule(Choices) : &amp;quot;AI Schedule when done&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Default AI&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Ambush&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		4 : &amp;quot;Repeatable&amp;quot;		: 0&lt;br /&gt;
		8 : &amp;quot;Leave Corpse&amp;quot;	: 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass iconsprite(&amp;quot;sprites/vhe-iconsprites/ambient_generic.spr&amp;quot;) base(Targetname) color(220 220 220) = ambient_generic : &amp;quot;Universal Ambient&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	message(sound) : &amp;quot;Sound File&amp;quot;&lt;br /&gt;
	health(integer) : &amp;quot;Volume (10 = loudest)&amp;quot; : 10&lt;br /&gt;
	playmode(choices) : &amp;quot;Play Mode&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Default&amp;quot;&lt;br /&gt;
		1: &amp;quot;Play Once&amp;quot;&lt;br /&gt;
		2: &amp;quot;Loop&amp;quot;&lt;br /&gt;
		5: &amp;quot;Linear / Play Once&amp;quot;&lt;br /&gt;
		6: &amp;quot;Linear / Loop&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	preset(choices) : &amp;quot;Dynamic Presets&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;None&amp;quot;&lt;br /&gt;
		1: &amp;quot;Huge Machine&amp;quot;&lt;br /&gt;
		2: &amp;quot;Big Machine&amp;quot;&lt;br /&gt;
		3: &amp;quot;Machine&amp;quot;&lt;br /&gt;
		4: &amp;quot;Slow Fade in&amp;quot;&lt;br /&gt;
		5: &amp;quot;Fade in&amp;quot;&lt;br /&gt;
		6: &amp;quot;Quick Fade in&amp;quot;&lt;br /&gt;
		7: &amp;quot;Slow Pulse&amp;quot;&lt;br /&gt;
		8: &amp;quot;Pulse&amp;quot;&lt;br /&gt;
		9: &amp;quot;Quick pulse&amp;quot;&lt;br /&gt;
		10: &amp;quot;Slow Oscillator&amp;quot;&lt;br /&gt;
		11: &amp;quot;Oscillator&amp;quot;&lt;br /&gt;
		12: &amp;quot;Quick Oscillator&amp;quot;&lt;br /&gt;
		13: &amp;quot;Grunge pitch&amp;quot;&lt;br /&gt;
		14: &amp;quot;Very low pitch&amp;quot;&lt;br /&gt;
		15: &amp;quot;Low pitch&amp;quot;&lt;br /&gt;
		16: &amp;quot;High pitch&amp;quot;&lt;br /&gt;
		17: &amp;quot;Very high pitch&amp;quot;&lt;br /&gt;
		18: &amp;quot;Screaming pitch&amp;quot;&lt;br /&gt;
		19: &amp;quot;Oscillate spinup/down&amp;quot;&lt;br /&gt;
		20: &amp;quot;Pulse spinup/down&amp;quot;&lt;br /&gt;
		21: &amp;quot;Random pitch&amp;quot;&lt;br /&gt;
		22: &amp;quot;Random pitch fast&amp;quot;&lt;br /&gt;
		23: &amp;quot;Incremental Spinup&amp;quot;&lt;br /&gt;
		24: &amp;quot;Alien&amp;quot;&lt;br /&gt;
		25: &amp;quot;Bizzare&amp;quot;&lt;br /&gt;
		26: &amp;quot;Planet X&amp;quot;&lt;br /&gt;
		27: &amp;quot;Haunted&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	volstart(integer) : &amp;quot;Start Volume&amp;quot; : 0&lt;br /&gt;
	fadein(integer) : &amp;quot;Fade in time (0-100)&amp;quot; : 0&lt;br /&gt;
	fadeout(integer) : &amp;quot;Fade out time (0-100)&amp;quot; : 0&lt;br /&gt;
	pitch(integer) : &amp;quot;Pitch (&amp;gt; 100 = higher)&amp;quot; : 100&lt;br /&gt;
	pitchstart(integer) : &amp;quot;Start Pitch&amp;quot; : 100&lt;br /&gt;
	spinup(integer) : &amp;quot;Spin up time (0-100)&amp;quot; : 0&lt;br /&gt;
	spindown(integer) : &amp;quot;Spin down time (0-100)&amp;quot; : 0&lt;br /&gt;
	lfotype(choices) : &amp;quot;LFO type&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Off&amp;quot;&lt;br /&gt;
		1: &amp;quot;Square Wave&amp;quot;&lt;br /&gt;
		2: &amp;quot;Triangle Wave&amp;quot;&lt;br /&gt;
		3: &amp;quot;Random&amp;quot;&lt;br /&gt;
		4: &amp;quot;Saw Tooth Wave&amp;quot;&lt;br /&gt;
		5: &amp;quot;Sine Wave&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	lforate(integer) : &amp;quot;LFO rate (0-1000)&amp;quot; : 0&lt;br /&gt;
	lfomodpitch(integer) : &amp;quot;LFO mod pitch (0-100)&amp;quot; : 0&lt;br /&gt;
	lfomodvol(integer) : &amp;quot;LFO mod vol (0-100)&amp;quot; : 0&lt;br /&gt;
	cspinup(integer) : &amp;quot;Incremental spinup count&amp;quot; : 0&lt;br /&gt;
	linearmin(choices) : &amp;quot;Linear Min Radius&amp;quot; : 2 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;0 - 0 units&amp;quot;&lt;br /&gt;
		1: &amp;quot;1 - 256 units&amp;quot;&lt;br /&gt;
		2: &amp;quot;2 - 512 units&amp;quot;&lt;br /&gt;
		3: &amp;quot;3 - 768 units&amp;quot;&lt;br /&gt;
		4: &amp;quot;4 - 1,024 units&amp;quot;&lt;br /&gt;
		5: &amp;quot;5 - 1,280 units&amp;quot;&lt;br /&gt;
		6: &amp;quot;6 - 1,536 units&amp;quot;&lt;br /&gt;
		7: &amp;quot;7 - 1,792 units&amp;quot;&lt;br /&gt;
		8: &amp;quot;8 - 2,048 units&amp;quot;&lt;br /&gt;
		9: &amp;quot;9 - 2,304 units&amp;quot;&lt;br /&gt;
		10: &amp;quot;10 - 2,560 units&amp;quot;&lt;br /&gt;
		11: &amp;quot;11 - 2,816 units&amp;quot;&lt;br /&gt;
		12: &amp;quot;12 - 3,072 units&amp;quot;&lt;br /&gt;
		13: &amp;quot;13 - 3,328 units&amp;quot;&lt;br /&gt;
		14: &amp;quot;14 - 3,584 units&amp;quot;&lt;br /&gt;
		15: &amp;quot;15 - 3,840 units&amp;quot;&lt;br /&gt;
		16: &amp;quot;16 - 4,096 units&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	linearmax(choices) : &amp;quot;Linear End Radius&amp;quot; : 5 =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;1 - 256 units&amp;quot;&lt;br /&gt;
		2: &amp;quot;2 - 512 units&amp;quot;&lt;br /&gt;
		3: &amp;quot;3 - 768 units&amp;quot;&lt;br /&gt;
		4: &amp;quot;4 - 1,024 units&amp;quot;&lt;br /&gt;
		5: &amp;quot;5 - 1,280 units&amp;quot;&lt;br /&gt;
		6: &amp;quot;6 - 1,536 units&amp;quot;&lt;br /&gt;
		7: &amp;quot;7 - 1,792 units&amp;quot;&lt;br /&gt;
		8: &amp;quot;8 - 2,048 units&amp;quot;&lt;br /&gt;
		9: &amp;quot;9 - 2,304 units&amp;quot;&lt;br /&gt;
		10: &amp;quot;10 - 2,560 units&amp;quot;&lt;br /&gt;
		11: &amp;quot;11 - 2,816 units&amp;quot;&lt;br /&gt;
		12: &amp;quot;12 - 3,072 units&amp;quot;&lt;br /&gt;
		13: &amp;quot;13 - 3,328 units&amp;quot;&lt;br /&gt;
		14: &amp;quot;14 - 3,584 units&amp;quot;&lt;br /&gt;
		15: &amp;quot;15 - 3,840 units&amp;quot;&lt;br /&gt;
		16: &amp;quot;16 - 4,096 units&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Play Everywhere&amp;quot; : 0&lt;br /&gt;
		2 : &amp;quot;Small Radius (~384)&amp;quot; : 0&lt;br /&gt;
		4 : &amp;quot;Medium Radius (~768)&amp;quot; : 1&lt;br /&gt;
		8 : &amp;quot;Large Radius (~1536)&amp;quot; : 0&lt;br /&gt;
		16 : &amp;quot;Start Silent&amp;quot;: 0&lt;br /&gt;
		32 : &amp;quot;Un-looped|Cyclic&amp;quot;: 0&lt;br /&gt;
		64 : &amp;quot;User Only (+origin)&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass iconsprite(&amp;quot;sprites/vhe-iconsprites/ambient_generic.spr&amp;quot;) base(Targetname) color(220 220 220) = ambient_music : &amp;quot;Ambient Music&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	message(sound) : &amp;quot;Sound File&amp;quot;&lt;br /&gt;
	volume(integer) : &amp;quot;Volume (10 = loudest)&amp;quot; : 10&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Start Silent&amp;quot; : 1&lt;br /&gt;
		2 : &amp;quot;Loop&amp;quot; : 0&lt;br /&gt;
		4 : &amp;quot;Activator Only&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Ammo, Targetx) studio(&amp;quot;models/w_357ammobox.mdl&amp;quot;) = ammo_357 : &amp;quot;357 / desert eagle round box&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Ammo, Targetx) studio(&amp;quot;models/w_saw_clip.mdl&amp;quot;) = ammo_556 : &amp;quot;5.56mm round box&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Ammo, Targetx) studio(&amp;quot;models/w_9mmARclip.mdl&amp;quot;) = ammo_556clip : &amp;quot;5.56mm M16 rifle magazine&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Ammo, Targetx) studio(&amp;quot;models/w_m40a1clip.mdl&amp;quot;) = ammo_762 : &amp;quot;7.62mm sniper rifle magazine&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Ammo, Targetx) studio(&amp;quot;models/w_mp5_clip.mdl&amp;quot;) = ammo_9mmAR : &amp;quot;9mm assault rifle magazine&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Ammo, Targetx) studio(&amp;quot;models/w_chainammo.mdl&amp;quot;) = ammo_9mmbox : &amp;quot;9mm round box (big)&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Ammo, Targetx) studio(&amp;quot;models/w_9mmclip.mdl&amp;quot;) = ammo_9mmclip : &amp;quot;9mm pistol magazine&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Ammo, Targetx) studio(&amp;quot;models/w_argrenade.mdl&amp;quot;) = ammo_ARgrenades : &amp;quot;M16&#039;s M203 grenades (x2)&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Ammo, Targetx) studio(&amp;quot;models/w_shotbox.mdl&amp;quot;) = ammo_buckshot : &amp;quot;Shotgun shell box&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Ammo, Targetx) studio(&amp;quot;models/w_crossbow_clip.mdl&amp;quot;) = ammo_crossbow : &amp;quot;Crossbow bolt magazine&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Ammo, Targetx) studio(&amp;quot;models/w_gaussammo.mdl&amp;quot;) = ammo_gaussclip : &amp;quot;Gauss/Gluon gun battery&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Ammo, Targetx) studio(&amp;quot;models/w_rpgammo.mdl&amp;quot;) = ammo_rpgclip : &amp;quot;Rockets (x2)&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Ammo, Targetx) size(-16 -16 -16, 16 16 16) studio(&amp;quot;models/vhe-models/spore_ammo_hammer.mdl&amp;quot;) = ammo_spore : &amp;quot;Spore plant&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	movetype(choices) : &amp;quot;Gravity Setting&amp;quot; : 8 =&lt;br /&gt;
	[&lt;br /&gt;
		-1: &amp;quot;Unmoveable&amp;quot;&lt;br /&gt;
		0: &amp;quot;Fall to the ground (OP4 maps only)&amp;quot;&lt;br /&gt;
		5: &amp;quot;Hover in the air&amp;quot;&lt;br /&gt;
		8: &amp;quot;Hover in the air, ignore brush collision&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Ammo, Targetx) studio(&amp;quot;models/spore.mdl&amp;quot;) = ammo_sporeclip : &amp;quot;Spore&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Ammo, Targetx) studio(&amp;quot;models/w_uzi_clip.mdl&amp;quot;) = ammo_uziclip : &amp;quot;9mm Uzi magazine&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Target, ZHLT) = button_target : &amp;quot;Target Button&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Use Activates&amp;quot; : 1&lt;br /&gt;
		2: &amp;quot;Start On&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	master(string) : &amp;quot;Master&amp;quot;&lt;br /&gt;
	renderfx(choices) : &amp;quot;Render FX&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Normal&amp;quot;&lt;br /&gt;
		1: &amp;quot;Slow Pulse&amp;quot;&lt;br /&gt;
		2: &amp;quot;Fast Pulse&amp;quot;&lt;br /&gt;
		3: &amp;quot;Slow Wide Pulse&amp;quot;&lt;br /&gt;
		4: &amp;quot;Fast Wide Pulse&amp;quot;&lt;br /&gt;
		9: &amp;quot;Slow Strobe&amp;quot;&lt;br /&gt;
		10: &amp;quot;Fast Strobe&amp;quot;&lt;br /&gt;
		11: &amp;quot;Faster Strobe&amp;quot;&lt;br /&gt;
		12: &amp;quot;Slow Flicker&amp;quot;&lt;br /&gt;
		13: &amp;quot;Fast Flicker&amp;quot;&lt;br /&gt;
		5: &amp;quot;Slow Fade Away&amp;quot;&lt;br /&gt;
		6: &amp;quot;Fast Fade Away&amp;quot;&lt;br /&gt;
		7: &amp;quot;Slow Become Solid&amp;quot;&lt;br /&gt;
		8: &amp;quot;Fast Become Solid&amp;quot;&lt;br /&gt;
		14: &amp;quot;Constant Glow&amp;quot;&lt;br /&gt;
		15: &amp;quot;Distort&amp;quot;&lt;br /&gt;
		16: &amp;quot;Hologram (Distort + fade)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	rendermode(choices) : &amp;quot;Render Mode&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Normal&amp;quot;&lt;br /&gt;
		1: &amp;quot;Color&amp;quot;&lt;br /&gt;
		2: &amp;quot;Texture&amp;quot;&lt;br /&gt;
		3: &amp;quot;Glow&amp;quot;&lt;br /&gt;
		4: &amp;quot;Solid&amp;quot;&lt;br /&gt;
		5: &amp;quot;Additive&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	renderamt(integer) : &amp;quot;FX Amount (1 - 255)&amp;quot;&lt;br /&gt;
	rendercolor(color255) : &amp;quot;FX Color (R G B)&amp;quot; : &amp;quot;0 0 0&amp;quot;&lt;br /&gt;
	use_type(choices) : &amp;quot;Use Type&amp;quot; : 3 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Off&amp;quot;&lt;br /&gt;
		1: &amp;quot;On&amp;quot;&lt;br /&gt;
		2: &amp;quot;Set&amp;quot;&lt;br /&gt;
		3: &amp;quot;Toggle&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass color(165 185 160) = custom_precache : &amp;quot;Custom Precache&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	model_1(studio): &amp;quot;Model 1&amp;quot;&lt;br /&gt;
	model_2(studio): &amp;quot;Model 2&amp;quot;&lt;br /&gt;
	model_3(studio): &amp;quot;Model 3&amp;quot;&lt;br /&gt;
	model_4(studio): &amp;quot;Model 4&amp;quot;&lt;br /&gt;
	model_5(studio): &amp;quot;Model 5&amp;quot;&lt;br /&gt;
	model_6(studio): &amp;quot;Model 6&amp;quot;&lt;br /&gt;
	model_7(studio): &amp;quot;Model 7&amp;quot;&lt;br /&gt;
	model_8(studio): &amp;quot;Model 8&amp;quot;&lt;br /&gt;
	model_9(studio): &amp;quot;Model 9&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	sound_1(sound): &amp;quot;Sound 1&amp;quot;&lt;br /&gt;
	sound_2(sound): &amp;quot;Sound 2&amp;quot;&lt;br /&gt;
	sound_3(sound): &amp;quot;Sound 3&amp;quot;&lt;br /&gt;
	sound_4(sound): &amp;quot;Sound 4&amp;quot;&lt;br /&gt;
	sound_5(sound): &amp;quot;Sound 5&amp;quot;&lt;br /&gt;
	sound_6(sound): &amp;quot;Sound 6&amp;quot;&lt;br /&gt;
	sound_7(sound): &amp;quot;Sound 7&amp;quot;&lt;br /&gt;
	sound_8(sound): &amp;quot;Sound 8&amp;quot;&lt;br /&gt;
	sound_9(sound): &amp;quot;Sound 9&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	sky_1(string): &amp;quot;Sky map 1&amp;quot;&lt;br /&gt;
	sky_2(string): &amp;quot;Sky map 2&amp;quot;&lt;br /&gt;
	sky_3(string): &amp;quot;Sky map 3&amp;quot;&lt;br /&gt;
	sky_4(string): &amp;quot;Sky map 4&amp;quot;&lt;br /&gt;
	sky_5(string): &amp;quot;Sky map 5&amp;quot;&lt;br /&gt;
	sky_6(string): &amp;quot;Sky map 6&amp;quot;&lt;br /&gt;
	sky_7(string): &amp;quot;Sky map 7&amp;quot;&lt;br /&gt;
	sky_8(string): &amp;quot;Sky map 8&amp;quot;&lt;br /&gt;
	sky_9(string): &amp;quot;Sky map 9&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Angles) size(-16 -16 0, 16 16 72) studio() color(128 128 128) = cycler : &amp;quot;Monster Cycler&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	model(studio) : &amp;quot;Model&amp;quot;&lt;br /&gt;
	renderfx(choices) : &amp;quot;Render FX&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Normal&amp;quot;&lt;br /&gt;
		1: &amp;quot;Slow Pulse&amp;quot;&lt;br /&gt;
		2: &amp;quot;Fast Pulse&amp;quot;&lt;br /&gt;
		3: &amp;quot;Slow Wide Pulse&amp;quot;&lt;br /&gt;
		4: &amp;quot;Fast Wide Pulse&amp;quot;&lt;br /&gt;
		9: &amp;quot;Slow Strobe&amp;quot;&lt;br /&gt;
		10: &amp;quot;Fast Strobe&amp;quot;&lt;br /&gt;
		11: &amp;quot;Faster Strobe&amp;quot;&lt;br /&gt;
		12: &amp;quot;Slow Flicker&amp;quot;&lt;br /&gt;
		13: &amp;quot;Fast Flicker&amp;quot;&lt;br /&gt;
		5: &amp;quot;Slow Fade Away&amp;quot;&lt;br /&gt;
		6: &amp;quot;Fast Fade Away&amp;quot;&lt;br /&gt;
		7: &amp;quot;Slow Become Solid&amp;quot;&lt;br /&gt;
		8: &amp;quot;Fast Become Solid&amp;quot;&lt;br /&gt;
		14: &amp;quot;Constant Glow&amp;quot;&lt;br /&gt;
		15: &amp;quot;Distort&amp;quot;&lt;br /&gt;
		16: &amp;quot;Hologram (Distort + fade)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	rendermode(choices) : &amp;quot;Render Mode&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Normal&amp;quot;&lt;br /&gt;
		1: &amp;quot;Color&amp;quot;&lt;br /&gt;
		2: &amp;quot;Texture&amp;quot;&lt;br /&gt;
		3: &amp;quot;Glow&amp;quot;&lt;br /&gt;
		4: &amp;quot;Solid&amp;quot;&lt;br /&gt;
		5: &amp;quot;Additive&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	renderamt(integer) : &amp;quot;FX Amount (1 - 255)&amp;quot;&lt;br /&gt;
	rendercolor(color255) : &amp;quot;FX Color (R G B)&amp;quot; : &amp;quot;0 0 0&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Angles) sprite() color(128 128 128) = cycler_sprite : &amp;quot;Sprite Cycler&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	model(sprite) : &amp;quot;Sprite&amp;quot;&lt;br /&gt;
	framerate(integer) : &amp;quot;Frames per second&amp;quot; : 10&lt;br /&gt;
	renderfx(choices) : &amp;quot;Render FX&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Normal&amp;quot;&lt;br /&gt;
		1: &amp;quot;Slow Pulse&amp;quot;&lt;br /&gt;
		2: &amp;quot;Fast Pulse&amp;quot;&lt;br /&gt;
		3: &amp;quot;Slow Wide Pulse&amp;quot;&lt;br /&gt;
		4: &amp;quot;Fast Wide Pulse&amp;quot;&lt;br /&gt;
		9: &amp;quot;Slow Strobe&amp;quot;&lt;br /&gt;
		10: &amp;quot;Fast Strobe&amp;quot;&lt;br /&gt;
		11: &amp;quot;Faster Strobe&amp;quot;&lt;br /&gt;
		12: &amp;quot;Slow Flicker&amp;quot;&lt;br /&gt;
		13: &amp;quot;Fast Flicker&amp;quot;&lt;br /&gt;
		5: &amp;quot;Slow Fade Away&amp;quot;&lt;br /&gt;
		6: &amp;quot;Fast Fade Away&amp;quot;&lt;br /&gt;
		7: &amp;quot;Slow Become Solid&amp;quot;&lt;br /&gt;
		8: &amp;quot;Fast Become Solid&amp;quot;&lt;br /&gt;
		14: &amp;quot;Constant Glow&amp;quot;&lt;br /&gt;
		15: &amp;quot;Distort&amp;quot;&lt;br /&gt;
		16: &amp;quot;Hologram (Distort + fade)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	rendermode(choices) : &amp;quot;Render Mode&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Normal&amp;quot;&lt;br /&gt;
		1: &amp;quot;Color&amp;quot;&lt;br /&gt;
		2: &amp;quot;Texture&amp;quot;&lt;br /&gt;
		3: &amp;quot;Glow&amp;quot;&lt;br /&gt;
		4: &amp;quot;Solid&amp;quot;&lt;br /&gt;
		5: &amp;quot;Additive&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	renderamt(integer) : &amp;quot;FX Amount (1 - 255)&amp;quot;&lt;br /&gt;
	rendercolor(color255) : &amp;quot;FX Color (R G B)&amp;quot; : &amp;quot;0 0 0&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 -16, 16 16 16) studio() color(140 120 120)  = cycler_weapon : &amp;quot;Weapon Cycler&amp;quot;[]&lt;br /&gt;
&lt;br /&gt;
@PointClass sprite() base(Targetname, RenderFields, Angles) size(-4 -4 -4, 4 4 4) sprite() color(70 70 70) = cycler_wreckage : &amp;quot;Wreckage&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	framerate(string) : &amp;quot;Framerate&amp;quot; : &amp;quot;10.0&amp;quot;&lt;br /&gt;
	model(sprite) : &amp;quot;Sprite Name&amp;quot; : &amp;quot;sprites/fire.spr&amp;quot;&lt;br /&gt;
	scale(string) : &amp;quot;Scale&amp;quot; : &amp;quot;1&amp;quot;&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		32: &amp;quot;Toggle&amp;quot; : 0&lt;br /&gt;
		64: &amp;quot;Start ON&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass = BaseCustomEntity : &amp;quot;Custom entity base&amp;quot; // Use this baseclass for custom entities, since they all allow for script files to be defined&lt;br /&gt;
[&lt;br /&gt;
	m_iszScriptFile(string) : &amp;quot;Script file&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass base(Global, RenderFields, ZHLT) = BaseCharger : &amp;quot;Base Charger&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	// dmdelay(integer) : &amp;quot;Deathmatch recharge delay&amp;quot; : 0&lt;br /&gt;
	_minlight(string) : &amp;quot;Minimum light level&amp;quot;&lt;br /&gt;
	soundlist(string) : &amp;quot;Sound Replacement File&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	CustomJuice(integer) : &amp;quot;Custom Juice Amount&amp;quot; : 0&lt;br /&gt;
	CustomRechargeTime(integer) : &amp;quot;Custom Recharge Time&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
	TriggerOnEmpty(target_destination) : &amp;quot;Trigger On Empty&amp;quot;&lt;br /&gt;
	TriggerOnRecharged(target_destination) : &amp;quot;Trigger on Recharged&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	CustomDeniedSound(sound) : &amp;quot;Custom Denied Sound&amp;quot;&lt;br /&gt;
	CustomStartSound(sound) : &amp;quot;Custom Start Sound&amp;quot;&lt;br /&gt;
	CustomLoopSound(sound) : &amp;quot;Custom Loop Sound&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass = BeamStartEnd&lt;br /&gt;
[&lt;br /&gt;
	LightningStart(target_destination) : &amp;quot;Start Entity&amp;quot;&lt;br /&gt;
	LightningEnd(target_destination) : &amp;quot;Ending Entity&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, BeamStartEnd, RenderFxChoices) size(-12 -12 -12, 12 12 12) color(255 250 230) = env_beam : &amp;quot;Energy Beam Effect&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	renderamt(integer) : &amp;quot;Brightness (1 - 255)&amp;quot; : 100&lt;br /&gt;
	rendercolor(color255) : &amp;quot;Beam Color (R G B)&amp;quot; : &amp;quot;0 0 0&amp;quot;&lt;br /&gt;
	Radius(integer) : &amp;quot;Radius&amp;quot; : 256&lt;br /&gt;
	life(string) : &amp;quot;Life (seconds 0 = infinite)&amp;quot; : &amp;quot;1&amp;quot;&lt;br /&gt;
	BoltWidth(integer) : &amp;quot;Width of beam (pixels*0.1 0-255)&amp;quot; : 20&lt;br /&gt;
	NoiseAmplitude(integer) : &amp;quot;Amount of noise (0-255)&amp;quot; : 0&lt;br /&gt;
	texture(sprite) : &amp;quot;Sprite Name&amp;quot; : &amp;quot;sprites/laserbeam.spr&amp;quot;&lt;br /&gt;
	TextureScroll(integer) : &amp;quot;Texture Scroll Rate (0-100)&amp;quot; : 35&lt;br /&gt;
	framerate(integer) : &amp;quot;Frames per 10 seconds&amp;quot; : 0&lt;br /&gt;
	framestart(integer) : &amp;quot;Starting frame&amp;quot; : 0&lt;br /&gt;
	StrikeTime(string) : &amp;quot;Strike again time (secs)&amp;quot; : &amp;quot;1&amp;quot;&lt;br /&gt;
	damage(string) : &amp;quot;Damage / second&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Start On&amp;quot; : 0&lt;br /&gt;
		2 : &amp;quot;Toggle&amp;quot; : 0&lt;br /&gt;
		4 : &amp;quot;Random Strike&amp;quot; : 0&lt;br /&gt;
		8 : &amp;quot;Ring&amp;quot; : 0&lt;br /&gt;
		16: &amp;quot;StartSparks&amp;quot; : 0&lt;br /&gt;
		32: &amp;quot;EndSparks&amp;quot; : 0&lt;br /&gt;
		64: &amp;quot;Decal End&amp;quot; : 0&lt;br /&gt;
		128: &amp;quot;Shade Start&amp;quot; : 0&lt;br /&gt;
		256: &amp;quot;Shade End&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Angles) size(-4 -4 -4, 4 4 4) studio(&amp;quot;models/can.mdl&amp;quot;) color(128 64 2) = env_beverage : &amp;quot;Beverage Dispenser&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	health(integer) : &amp;quot;Capacity&amp;quot; : 10&lt;br /&gt;
	skin(choices) : &amp;quot;Beverage Type&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Coca-Cola&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Sprite&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Diet Coke&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Orange&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Surge&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Moxie&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Random&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	model(string) : &amp;quot;Custom Model&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	weapons(integer) : &amp;quot;Health for Pickup&amp;quot; : 1&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Angles) size(-8 -8 -8, 8 8 8) color(210 0 0) = env_blood : &amp;quot;Blood Effects&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	color(choices) : &amp;quot;Blood Color&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Red (Human)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yellow (Alien)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	amount(string) : &amp;quot;Amount of blood (damage to simulate)&amp;quot; : &amp;quot;100&amp;quot;&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Random Direction&amp;quot; : 0&lt;br /&gt;
		2: &amp;quot;Blood Stream&amp;quot; : 0&lt;br /&gt;
		4: &amp;quot;On Player&amp;quot; : 0&lt;br /&gt;
		8: &amp;quot;Spray decals&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Targetname, ZHLTbmodel) = env_bubbles : &amp;quot;Bubble Volume&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	density(integer) : &amp;quot;Bubble density&amp;quot; : 2&lt;br /&gt;
	frequency(integer) : &amp;quot;Bubble frequency&amp;quot; : 2&lt;br /&gt;
	current(integer) : &amp;quot;Speed of Current&amp;quot; : 0&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Start Off&amp;quot; 	: 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname) size(-12 -12 -12, 12 12 12) color(255 220 15) = env_explosion : &amp;quot;Explosion&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	iMagnitude(Integer) : &amp;quot;Magnitude&amp;quot; : 100&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;No Damage&amp;quot; : 0&lt;br /&gt;
		2: &amp;quot;Repeatable&amp;quot; : 0&lt;br /&gt;
		4: &amp;quot;No Fireball&amp;quot; : 0&lt;br /&gt;
		8: &amp;quot;No Smoke&amp;quot; : 0&lt;br /&gt;
		16: &amp;quot;No Decal&amp;quot; : 0&lt;br /&gt;
		32: &amp;quot;No Sparks&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname) color(100 150 100) = env_fade : &amp;quot;Screen Fade&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Fade From&amp;quot; : 0&lt;br /&gt;
		2: &amp;quot;Modulate&amp;quot; : 0&lt;br /&gt;
		4: &amp;quot;Activator Only&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	duration(string) : &amp;quot;Duration (seconds)&amp;quot; : &amp;quot;2&amp;quot;&lt;br /&gt;
	holdtime(string) : &amp;quot;Hold Fade (seconds)&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
	renderamt(integer) : &amp;quot;Fade Alpha&amp;quot; : 255&lt;br /&gt;
	rendercolor(color255) : &amp;quot;Fade Color (R G B)&amp;quot; : &amp;quot;0 0 0&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname) color(196 195 192) = env_fog : &amp;quot;Fog Field&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Start Off&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	rendercolor(color255) : &amp;quot;Fog Color (RGB)&amp;quot; : &amp;quot;0 0 0&amp;quot;&lt;br /&gt;
//	iuser1(integer) : &amp;quot;Fog Field Radius&amp;quot; : 8192&lt;br /&gt;
	iuser2(integer) : &amp;quot;Start Distance&amp;quot; : 128&lt;br /&gt;
	iuser3(integer) : &amp;quot;End Distance&amp;quot; : 1024&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname) size(-16 -16 -16, 16 16 16) color(128 255 32) = env_funnel : &amp;quot;Large Portal Funnel&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	sprite(sprite) : &amp;quot;Custom sprite&amp;quot;&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Reverse&amp;quot; : 0&lt;br /&gt;
		2 : &amp;quot;Reusable&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname) color(255 255 128) color(4 32 250) = env_global : &amp;quot;Global State&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	globalstate(string) : &amp;quot;Global State to Set&amp;quot;&lt;br /&gt;
	triggermode(choices) : &amp;quot;Trigger Mode&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Off&amp;quot;&lt;br /&gt;
		1 : &amp;quot;On&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Dead&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Toggle&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	initialstate(choices) : &amp;quot;Initial State&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Off&amp;quot;&lt;br /&gt;
		1 : &amp;quot;On&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Dead&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Set Initial State&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass sprite() base(Targetname, RenderFields) size(-4 -4 -4, 4 4 4) color(60 200 5) = env_glow : &amp;quot;Light Glow/Haze&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	model(sprite) : &amp;quot;Sprite Name&amp;quot; : &amp;quot;sprites/glow01.spr&amp;quot;&lt;br /&gt;
	scale(string) : &amp;quot;Scale&amp;quot; : &amp;quot;1&amp;quot;&lt;br /&gt;
	framestart(integer) : &amp;quot;Starting frame&amp;quot; : 0&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, RenderFxChoices, Angles) size(-8 -8 -8, 8 8 8) color(255 64 2) = env_laser : &amp;quot;Laser Beam Effect&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	LaserTarget(target_destination) : &amp;quot;Target of Laser&amp;quot;&lt;br /&gt;
	renderamt(integer) : &amp;quot;Brightness (1 - 255)&amp;quot; : 100&lt;br /&gt;
	rendercolor(color255) : &amp;quot;Beam Color (R G B)&amp;quot; : &amp;quot;0 0 0&amp;quot;&lt;br /&gt;
	width(integer) : &amp;quot;Width of beam (pixels*0.1 0-255)&amp;quot; : 20&lt;br /&gt;
	NoiseAmplitude(integer) : &amp;quot;Amount of noise (0-255)&amp;quot; : 0&lt;br /&gt;
	texture(sprite) : &amp;quot;Sprite Name&amp;quot; : &amp;quot;sprites/laserbeam.spr&amp;quot;&lt;br /&gt;
	EndSprite(sprite) : &amp;quot;End Sprite&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	TextureScroll(integer) : &amp;quot;Texture Scroll Rate (0-100)&amp;quot; : 35&lt;br /&gt;
	framestart(integer) : &amp;quot;Starting frame&amp;quot; : 0&lt;br /&gt;
	damage(string) : &amp;quot;Damage / second&amp;quot; : &amp;quot;100&amp;quot;&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Start On&amp;quot; : 0&lt;br /&gt;
		16: &amp;quot;StartSparks&amp;quot; : 0&lt;br /&gt;
		32: &amp;quot;EndSparks&amp;quot; : 0&lt;br /&gt;
		64: &amp;quot;Decal End&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Target) color(255 0 255) = env_message : &amp;quot;HUD Text Message&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	message(string) : &amp;quot;Message Name&amp;quot;&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Play Once&amp;quot; : 0&lt;br /&gt;
		2: &amp;quot;All Clients&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	messagesound(sound) : &amp;quot;Sound Effect&amp;quot;&lt;br /&gt;
	messagevolume(string) : &amp;quot;Volume 0-10&amp;quot; : &amp;quot;10&amp;quot;&lt;br /&gt;
	messageattenuation(Choices) : &amp;quot;Sound Radius&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Small Radius (~384)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Medium Radius (~768)&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Large Radius (~1536)&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Play Everywhere&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Target, RenderFields) color(110 120 0) = env_render : &amp;quot;Render Controls&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;No Renderfx&amp;quot; : 0&lt;br /&gt;
		2: &amp;quot;No Renderamt&amp;quot; : 0&lt;br /&gt;
		4: &amp;quot;No Rendermode&amp;quot; : 0&lt;br /&gt;
		8: &amp;quot;No Rendercolor&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
		// Automatically change rendermode, do it by searching&lt;br /&gt;
		16: &amp;quot;Auto Apply&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
	]&lt;br /&gt;
	armorvalue(string): &amp;quot;radius (0 disables)&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, RenderFields) = env_render_individual : &amp;quot;Per-player render settings for entities&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;No Renderfx&amp;quot; : 0&lt;br /&gt;
		2: &amp;quot;No Renderamt&amp;quot; : 0&lt;br /&gt;
		4: &amp;quot;No Rendermode&amp;quot; : 0&lt;br /&gt;
		8: &amp;quot;No Rendercolor&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
		16: &amp;quot;Auto Apply&amp;quot; : 0&lt;br /&gt;
		32: &amp;quot;Start On&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
		64 : &amp;quot;Affect Activator (ignore netname)&amp;quot; : 0&lt;br /&gt;
		128 : &amp;quot;Use Entity to copy from&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	target(string) : &amp;quot;Entity to affect&amp;quot;&lt;br /&gt;
	netname(string) : &amp;quot;Player to affect&amp;quot;&lt;br /&gt;
	message(string) : &amp;quot;Entity to copy from&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Target, Targetname) size(-16 -16 -16, 16 16 16) iconsprite(&amp;quot;sprites/vhe-iconsprites/env_sentence.spr&amp;quot;) color(164 128 164) = env_sentence : &amp;quot;Announcement Sentence&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Activator Only&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	_text(string) : &amp;quot;Sentence&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname) color(188 180 172) = env_shake : &amp;quot;Screen Shake&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Global Shake&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	amplitude(string) : &amp;quot;Amplitude (degrees; 0-16)&amp;quot; : &amp;quot;4.0&amp;quot;&lt;br /&gt;
	radius(string) : &amp;quot;Effect radius (if not global)&amp;quot; : &amp;quot;500&amp;quot;&lt;br /&gt;
	duration(string) : &amp;quot;Duration (seconds; fades out)&amp;quot; : &amp;quot;1.0&amp;quot;&lt;br /&gt;
	frequency(string) : &amp;quot;Frequency (Hz; 0-255)&amp;quot; : &amp;quot;2.5&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(GibShooterBase, RenderFields) color(184 90 164) = env_shooter : &amp;quot;Model Shooter&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	shootmodel(studio) : &amp;quot;Model or Sprite name&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	shootsounds(choices) : &amp;quot;Material Sound&amp;quot; : -1 =&lt;br /&gt;
	[&lt;br /&gt;
		-1: &amp;quot;None&amp;quot;&lt;br /&gt;
		0: &amp;quot;Glass&amp;quot;&lt;br /&gt;
		1: &amp;quot;Wood&amp;quot;&lt;br /&gt;
		2: &amp;quot;Metal&amp;quot;&lt;br /&gt;
		3: &amp;quot;Flesh&amp;quot;&lt;br /&gt;
		4: &amp;quot;Concrete&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	scale(string) : &amp;quot;Gib Scale&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	skin(integer) : &amp;quot;Gib Skin&amp;quot; : 0&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname) iconsprite(&amp;quot;sprites/vhe-iconsprites/env_sound.spr&amp;quot;) color(150 150 150) = env_sound : &amp;quot;DSP Sound&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;USE Only&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	radius(integer) : &amp;quot;Radius&amp;quot; : 128&lt;br /&gt;
	roomtype(Choices) : &amp;quot;Room Type&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Normal (off)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Generic&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		2 : &amp;quot;Metal Small&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Metal Medium&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Metal Large&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		5 : &amp;quot;Tunnel Small&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Tunnel Medium&amp;quot;&lt;br /&gt;
		7 : &amp;quot;Tunnel Large&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		8 : &amp;quot;Chamber Small&amp;quot;&lt;br /&gt;
		9 : &amp;quot;Chamber Medium&amp;quot;&lt;br /&gt;
		10: &amp;quot;Chamber Large&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		11: &amp;quot;Bright Small&amp;quot;&lt;br /&gt;
		12: &amp;quot;Bright Medium&amp;quot;&lt;br /&gt;
		13: &amp;quot;Bright Large&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		14: &amp;quot;Water Small&amp;quot;&lt;br /&gt;
		15: &amp;quot;Water Medium&amp;quot;&lt;br /&gt;
		16: &amp;quot;Water Large&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		17: &amp;quot;Concrete Small&amp;quot;&lt;br /&gt;
		18: &amp;quot;Concrete Medium&amp;quot;&lt;br /&gt;
		19: &amp;quot;Concrete Large&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		20: &amp;quot;Big Room&amp;quot;&lt;br /&gt;
		21: &amp;quot;Bigger Room&amp;quot;&lt;br /&gt;
		22: &amp;quot;Biggest Room&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		23: &amp;quot;Cavern Small&amp;quot;&lt;br /&gt;
		24: &amp;quot;Cavern Medium&amp;quot;&lt;br /&gt;
		25: &amp;quot;Cavern Large&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		26: &amp;quot;Weirdo - Drugged&amp;quot;&lt;br /&gt;
		27: &amp;quot;Weirdo - Dizzy&amp;quot;&lt;br /&gt;
		28: &amp;quot;Weirdo - Psychotic&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Angles) size(-8 -8 -8, 8 8 8) color(255 220 15) = env_spark : &amp;quot;Spark&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	MaxDelay(string) : &amp;quot;Max Delay&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		32: &amp;quot;Toggle&amp;quot; : 0&lt;br /&gt;
		64: &amp;quot;Start ON&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass sprite() base(Targetname, RenderFields, Angles) size(-4 -4 -4, 4 4 4) color(190 200 180) = env_sprite : &amp;quot;Sprite Effect&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	framerate(string) : &amp;quot;Framerate&amp;quot; : &amp;quot;10.0&amp;quot;&lt;br /&gt;
	framestart(integer) : &amp;quot;Starting frame&amp;quot; : 0&lt;br /&gt;
	model(sprite) : &amp;quot;Sprite Name&amp;quot; : &amp;quot;sprites/glow01.spr&amp;quot;&lt;br /&gt;
	scale(string) : &amp;quot;Scale&amp;quot; : &amp;quot;1&amp;quot;&lt;br /&gt;
	vp_type(choices) : &amp;quot;Draw Type / Orientation&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Default&amp;quot;&lt;br /&gt;
		// These reflect the VP_ types in the sprite but are +1&#039;d, so 0 can mean default&lt;br /&gt;
		3: &amp;quot;Parallel&amp;quot;&lt;br /&gt;
		1: &amp;quot;Parallel Upright&amp;quot;&lt;br /&gt;
		5: &amp;quot;Parallel Orientated&amp;quot;&lt;br /&gt;
		2: &amp;quot;Facing Upright&amp;quot;&lt;br /&gt;
		4: &amp;quot;Orientated&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Start on&amp;quot; : 0&lt;br /&gt;
		2: &amp;quot;Play Once&amp;quot; : 0&lt;br /&gt;
		4: &amp;quot;Once + Remove&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass base(Targetname, Global, RenderFields, PlatSounds) = BaseTrain&lt;br /&gt;
[&lt;br /&gt;
	target(target_source) : &amp;quot;First stop target&amp;quot;&lt;br /&gt;
	speed(integer) : &amp;quot;Speed (units per second)&amp;quot; : 64&lt;br /&gt;
	m_iObeyTriggerMode(choices) : &amp;quot;Obey Trigger Mode&amp;quot; : 1 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(BaseTrain) color(190 200 180) = env_spritetrain : &amp;quot;Sprite Train&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	model(sprite) : &amp;quot;Sprite Name&amp;quot; : &amp;quot;sprites/glow01.spr&amp;quot;&lt;br /&gt;
	scale(string) : &amp;quot;Sprite Scale&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Targetname, RenderFields, Angles, ZHLTbmodel) = env_weather : &amp;quot;Weather Effect&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Start On&amp;quot; : 1&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	drop_model(string) : &amp;quot;Sprite (or Model) name&amp;quot;&lt;br /&gt;
	drop_scale(string) : &amp;quot;Sprite Scale&amp;quot; : &amp;quot;1&amp;quot;&lt;br /&gt;
	drop_vp_type(choices) : &amp;quot;Sprite Draw Type / Orientation&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Default&amp;quot;&lt;br /&gt;
		// These reflect the VP_ types in the sprite but are +1&#039;d, so 0 can mean default&lt;br /&gt;
		3: &amp;quot;Parallel&amp;quot;&lt;br /&gt;
		1: &amp;quot;Parallel Upright&amp;quot;&lt;br /&gt;
		5: &amp;quot;Parallel Orientated&amp;quot;&lt;br /&gt;
		2: &amp;quot;Facing Upright&amp;quot;&lt;br /&gt;
		4: &amp;quot;Orientated&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	splash_model(string) : &amp;quot;Splash Sprite (or Model) name&amp;quot;&lt;br /&gt;
	splash_scale(string) : &amp;quot;Splash Sprite Scale&amp;quot; : &amp;quot;1&amp;quot;&lt;br /&gt;
	splash_vp_type(choices) : &amp;quot;Splash Sprite Draw Type / Orientation&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Default&amp;quot;&lt;br /&gt;
		// These reflect the VP_ types in the sprite but are +1&#039;d, so 0 can mean default&lt;br /&gt;
		3: &amp;quot;Parallel&amp;quot;&lt;br /&gt;
		1: &amp;quot;Parallel Upright&amp;quot;&lt;br /&gt;
		5: &amp;quot;Parallel Orientated&amp;quot;&lt;br /&gt;
		2: &amp;quot;Facing Upright&amp;quot;&lt;br /&gt;
		4: &amp;quot;Orientated&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	speed(integer) : &amp;quot;Speed&amp;quot; : 50&lt;br /&gt;
	density(integer) : &amp;quot;Density&amp;quot; : 30&lt;br /&gt;
	angle_variance(integer) : &amp;quot;Angle Variance&amp;quot; : 10&lt;br /&gt;
	speed_variance(integer) : &amp;quot;Speed Variance&amp;quot; : 10&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Target, Angles) size(-16 -16 -16, 16 16 56) color(80 220 110) = env_xenmaker : &amp;quot;Xen Portal&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Try Once&amp;quot; : 0&lt;br /&gt;
		2: &amp;quot;No Spawn&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	monstertype(string) : &amp;quot;Monster Type&amp;quot; : &amp;quot;monster_headcrab&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	m_flBeamRadius(integer)			: &amp;quot;Beam Radius (max)&amp;quot;	: 255&lt;br /&gt;
	m_iBeamAlpha(integer)			: &amp;quot;Beam Alpha&amp;quot;		: 128&lt;br /&gt;
	m_iBeamCount(integer)			: &amp;quot;Beam Count&amp;quot;		: 8&lt;br /&gt;
	m_vBeamColor(color255)			: &amp;quot;Beam Color&amp;quot;		: &amp;quot;217 226 146&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	m_flLightRadius(integer)		: &amp;quot;Light Radius&amp;quot;	: 160&lt;br /&gt;
	m_vLightColor(color255)			: &amp;quot;Light Color&amp;quot;		: &amp;quot;39 209 137&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	m_flStartSpriteFramerate(integer)	: &amp;quot;Sprite1 Framerate&amp;quot;	: 12&lt;br /&gt;
	m_flStartSpriteScale(string)		: &amp;quot;Sprite1 Scale&amp;quot; 	: &amp;quot;1.0&amp;quot;&lt;br /&gt;
	m_iStartSpriteAlpha(integer)		: &amp;quot;Sprite1 Alpha&amp;quot; 	: 255&lt;br /&gt;
	m_vStartSpriteColor(color255)		: &amp;quot;Sprite1 Color&amp;quot; 	: &amp;quot;65 209 61&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	m_flEndSpriteFramerate(integer)		: &amp;quot;Sprite2 Framerate&amp;quot;	: 12&lt;br /&gt;
	m_flEndSpriteScale(string)		: &amp;quot;Sprite2 Scale&amp;quot; 	: &amp;quot;1.0&amp;quot;&lt;br /&gt;
	m_iEndSpriteAlpha(integer)		: &amp;quot;Sprite2 Alpha&amp;quot; 	: 255&lt;br /&gt;
	m_vEndSpriteColor(color255)		: &amp;quot;Sprite2 Color&amp;quot; 	: &amp;quot;159 240 214&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Breakable) = func_breakable : &amp;quot;Breakable Object&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Only Trigger&amp;quot;		: 0&lt;br /&gt;
		2 : &amp;quot;Touch&amp;quot;				: 0&lt;br /&gt;
		4 : &amp;quot;Pressure&amp;quot;			: 0&lt;br /&gt;
		8: &amp;quot;Repairable&amp;quot;			: 0&lt;br /&gt;
		32: &amp;quot;Show HUD Info&amp;quot;		: 0&lt;br /&gt;
		64: &amp;quot;Immune To Clients&amp;quot;	: 0&lt;br /&gt;
		256: &amp;quot;Instant Break&amp;quot;	: 0&lt;br /&gt;
		512: &amp;quot;Explosives Only&amp;quot;	: 0&lt;br /&gt;
	]&lt;br /&gt;
	displayname(string) : &amp;quot;HUD Info name&amp;quot;&lt;br /&gt;
	_minlight(string) : &amp;quot;Minimum light level&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Global, Targetname, Targetx, InventoryRules, AttackObject, RenderFields, Angles, ZHLT, BaseLockable) = func_button : &amp;quot;Button&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	speed(integer) : &amp;quot;Speed&amp;quot; : 5&lt;br /&gt;
	health(integer) : &amp;quot;Health (shootable if &amp;gt; 0)&amp;quot; : 0&lt;br /&gt;
	lip(integer) : &amp;quot;Lip&amp;quot;&lt;br /&gt;
	master(string) : &amp;quot;Master&amp;quot;&lt;br /&gt;
	sounds(choices) : &amp;quot;Sounds&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;None&amp;quot;&lt;br /&gt;
		1: &amp;quot;Big zap &amp;amp; Warmup&amp;quot;&lt;br /&gt;
		2: &amp;quot;Access Denied&amp;quot;&lt;br /&gt;
		3: &amp;quot;Access Granted&amp;quot;&lt;br /&gt;
		4: &amp;quot;Quick Combolock&amp;quot;&lt;br /&gt;
		5: &amp;quot;Power Deadbolt 1&amp;quot;&lt;br /&gt;
		6: &amp;quot;Power Deadbolt 2&amp;quot;&lt;br /&gt;
		7: &amp;quot;Plunger&amp;quot;&lt;br /&gt;
		8: &amp;quot;Small zap&amp;quot;&lt;br /&gt;
		9: &amp;quot;Keycard Sound&amp;quot;&lt;br /&gt;
		10: &amp;quot;Buzz&amp;quot;&lt;br /&gt;
		11: &amp;quot;Buzz Off&amp;quot;&lt;br /&gt;
		14: &amp;quot;Lightswitch&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	noise(sound) : &amp;quot;Sound Override&amp;quot;&lt;br /&gt;
	wait(integer) : &amp;quot;delay before reset (-1 stay)&amp;quot; : 3&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Don&#039;t move&amp;quot; : 0&lt;br /&gt;
		32: &amp;quot;Toggle&amp;quot; : 0&lt;br /&gt;
		64: &amp;quot;Sparks&amp;quot; : 0&lt;br /&gt;
		256: &amp;quot;Touch Activates&amp;quot;: 0&lt;br /&gt;
	]&lt;br /&gt;
	_minlight(string) : &amp;quot;Minimum light level&amp;quot;&lt;br /&gt;
	use_type(choices) : &amp;quot;Use Type&amp;quot; : 3 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Off&amp;quot;&lt;br /&gt;
		1: &amp;quot;On&amp;quot;&lt;br /&gt;
		2: &amp;quot;Set&amp;quot;&lt;br /&gt;
		3: &amp;quot;Toggle&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Targetname, Angles, ZHLTbmodel) = func_clip : &amp;quot;Clip&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Start Off&amp;quot; : 1&lt;br /&gt;
		2 : &amp;quot;Directional (Angles)&amp;quot; : 0&lt;br /&gt;
		4 : &amp;quot;No Clients&amp;quot; : 0&lt;br /&gt;
		8 : &amp;quot;Monsters&amp;quot; : 0&lt;br /&gt;
		16 : &amp;quot;Pushables&amp;quot; : 0&lt;br /&gt;
		32 : &amp;quot;Everything else&amp;quot; : 0&lt;br /&gt;
		64 : &amp;quot;item_inv (thrown)&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	frags(String) : &amp;quot;Direction Tolerance&amp;quot; : &amp;quot;90&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Global, RenderFields, Targetname, Angles, ZHLT) = func_conveyor : &amp;quot;Conveyor Belt&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;No Push&amp;quot; : 0&lt;br /&gt;
		2 : &amp;quot;Not Solid&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	speed(string) : &amp;quot;Conveyor Speed&amp;quot; : &amp;quot;100&amp;quot;&lt;br /&gt;
	_minlight(string) : &amp;quot;Minimum light level&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass = func_detail : &amp;quot;Detail Brushes&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	zhlt_detaillevel(integer) : &amp;quot;Detail level&amp;quot; : 1&lt;br /&gt;
	zhlt_chopdown(integer) : &amp;quot;Lower its level to chop others&amp;quot; : 0&lt;br /&gt;
	zhlt_chopup(integer) : &amp;quot;Raise its level to get chopped&amp;quot; : 0&lt;br /&gt;
	zhlt_coplanarpriority(integer) : &amp;quot;Priority when faces overlap&amp;quot; : 0&lt;br /&gt;
	zhlt_clipnodedetaillevel(integer) : &amp;quot;Detail level of clip hulls&amp;quot; : 1&lt;br /&gt;
	zhlt_noclip(choices) : &amp;quot;Disable clipping&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Default&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Always non-solid&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Door) = func_door : &amp;quot;Basic door&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Door) = func_door_rotating : &amp;quot;Rotating door&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		2 : &amp;quot;Reverse Dir&amp;quot; : 0&lt;br /&gt;
		16: &amp;quot;One-way&amp;quot; : 0&lt;br /&gt;
		64: &amp;quot;X Axis&amp;quot; : 0&lt;br /&gt;
		128: &amp;quot;Y Axis&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	distance(integer) : &amp;quot;Distance (deg)&amp;quot; : 90&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Appearflags, RenderFields, ZHLT) = func_friction : &amp;quot;Surface with a change in friction&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	modifier(integer) : &amp;quot;Percentage of standard (0 - 100)&amp;quot; : 15&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass = func_group : &amp;quot;Non-entity solid brush group&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	zhlt_coplanarpriority(integer) : &amp;quot;Priority when faces overlap&amp;quot; : 0&lt;br /&gt;
	zhlt_noclip(choices) : &amp;quot;Disable clipping&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Default&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Always non-solid&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Targetname, RenderFields, AttackObject, Global, ZHLT) = func_guntarget : &amp;quot;Moving platform&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Start On&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	speed(integer) : &amp;quot;Speed (units per second)&amp;quot; : 100&lt;br /&gt;
	target(target_source) : &amp;quot;First stop target&amp;quot;&lt;br /&gt;
	message(target_source) : &amp;quot;Fire on damage&amp;quot;&lt;br /&gt;
	health(integer) : &amp;quot;Damage to Take&amp;quot; : 0&lt;br /&gt;
	_minlight(string) : &amp;quot;Minimum light level&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(BaseCharger) = func_healthcharger: &amp;quot;Wall health recharger&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Targetname, RenderFields, ZHLT) = func_illusionary : &amp;quot;Fake Wall/Light&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	style(choices) : &amp;quot;Texlight style&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Normal&amp;quot;&lt;br /&gt;
		-3: &amp;quot;Grouped&amp;quot;&lt;br /&gt;
		10: &amp;quot;Fluorescent flicker&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Slow, strong pulse&amp;quot;&lt;br /&gt;
		11: &amp;quot;Slow pulse, noblack&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Gentle pulse&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Flicker A&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Flicker B&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Candle A&amp;quot;&lt;br /&gt;
		7 : &amp;quot;Candle B&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Candle C&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Fast strobe&amp;quot;&lt;br /&gt;
		9 : &amp;quot;Slow strobe&amp;quot;&lt;br /&gt;
		12: &amp;quot;Underwater&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	skin(choices) : &amp;quot;Contents&amp;quot; : -1 =&lt;br /&gt;
	[&lt;br /&gt;
		-1: &amp;quot;Empty&amp;quot;&lt;br /&gt;
		-7: &amp;quot;Volumetric Light&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		2 : &amp;quot;Use Angles&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	_minlight(string) : &amp;quot;Minimum light level&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Targetname, ZHLTbmodel) = func_ladder : &amp;quot;Ladder&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
  spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Start Off&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(PortalBase) = func_mirror : &amp;quot;Mirror&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(PortalBase) = func_monitor : &amp;quot;Monitor&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	width(integer) : &amp;quot;Width (Resolution)&amp;quot; : 512&lt;br /&gt;
	height(integer) : &amp;quot;Height (Resolution)&amp;quot; : 512&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Targetname, ZHLTbmodel) = func_monsterclip : &amp;quot;Monster clip brush&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Start Off&amp;quot; : 1&lt;br /&gt;
		2 : &amp;quot;Directional (Angles)&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	frags(String) : &amp;quot;Direction Tolerance&amp;quot; : &amp;quot;90&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Targetname, ZHLTbmodel) = func_mortar_field : &amp;quot;Mortar Field&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	m_flSpread(integer) : &amp;quot;Spread Radius&amp;quot; : 64&lt;br /&gt;
	m_iCount(integer) : &amp;quot;Repeat Count&amp;quot; : 1&lt;br /&gt;
	m_fControl(Choices) : &amp;quot;Targeting&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Random&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Activator&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Table&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	m_iszXController(target_destination) : &amp;quot;X Controller&amp;quot;&lt;br /&gt;
	m_iszYController(target_destination) : &amp;quot;Y Controller&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Target, ZHLTbmodel) = func_op4mortarcontroller : &amp;quot;Op4 Mortar Controller&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	mortar_axis(Choices) : &amp;quot;Axis&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Vertical&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Horizontal&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Global, Appearflags, Targetname, RenderFields, Angles, ZHLT) = func_pendulum : &amp;quot;Swings back and forth&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	speed(integer) : &amp;quot;Speed&amp;quot; : 100&lt;br /&gt;
	distance(integer) : &amp;quot;Distance (deg)&amp;quot; : 90&lt;br /&gt;
	damp(integer) : &amp;quot;Damping (0-1000)&amp;quot; : 0&lt;br /&gt;
	dmg(integer) : &amp;quot;Damage inflicted when blocked&amp;quot; : 0&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Start ON&amp;quot; : 0&lt;br /&gt;
		8: &amp;quot;Passable&amp;quot; : 0&lt;br /&gt;
		16: &amp;quot;Auto-return&amp;quot; : 0&lt;br /&gt;
		64: &amp;quot;X Axis&amp;quot; : 0&lt;br /&gt;
		128: &amp;quot;Y Axis&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	_minlight(integer) : &amp;quot;_minlight&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Targetname, Global, RenderFields, PlatSounds, BasePlat, ZHLT) = func_plat : &amp;quot;Elevator&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Toggle&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	height(integer) : &amp;quot;Travel altitude (can be negative)&amp;quot; : 0&lt;br /&gt;
	speed(integer) : &amp;quot;Speed&amp;quot; : 50&lt;br /&gt;
	_minlight(string) : &amp;quot;Minimum light level&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Targetname, Global, RenderFields, PlatSounds, BasePlat, Angles, ZHLT) = func_platrot : &amp;quot;Moving Rotating platform&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Toggle&amp;quot; : 1&lt;br /&gt;
		64: &amp;quot;X Axis&amp;quot; : 0&lt;br /&gt;
		128: &amp;quot;Y Axis&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	speed(integer) : &amp;quot;Speed of rotation&amp;quot; : 50&lt;br /&gt;
	height(integer) : &amp;quot;Travel altitude (can be negative)&amp;quot; : 0&lt;br /&gt;
	rotation(integer) : &amp;quot;Spin amount&amp;quot; : 0&lt;br /&gt;
	_minlight(string) : &amp;quot;Minimum light level&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(PortalBase) = func_portal : &amp;quot;Portal&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		4: &amp;quot;Teleport&amp;quot;		: 0&lt;br /&gt;
		8: &amp;quot;No GL ClipPlanes&amp;quot;: 0&lt;br /&gt;
		32: &amp;quot;Shoot through&amp;quot;: 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Breakable, RenderFields, ZHLT) = func_pushable : &amp;quot;Pushable object&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		8: &amp;quot;Repairable&amp;quot;			: 0&lt;br /&gt;
		16: &amp;quot;Monsters Ignore?&amp;quot;		: 0&lt;br /&gt;
		32: &amp;quot;Show HUD Info&amp;quot;		: 0&lt;br /&gt;
		128: &amp;quot;Breakable&amp;quot;		: 0&lt;br /&gt;
		256: &amp;quot;1-Hit Break&amp;quot;		: 0&lt;br /&gt;
		512: &amp;quot;Explosives Only&amp;quot;		: 0&lt;br /&gt;
		1024: &amp;quot;Liftable&amp;quot;		: 1&lt;br /&gt;
	]&lt;br /&gt;
	minhullsize(string) : &amp;quot;Custom Min Hull Size (X Y Z)&amp;quot; : &amp;quot;0 0 0&amp;quot;&lt;br /&gt;
	maxhullsize(string) : &amp;quot;Custom Max Hull Size (X Y Z)&amp;quot; : &amp;quot;0 0 0&amp;quot;&lt;br /&gt;
	friction(integer) : &amp;quot;Friction (0-400)&amp;quot; : 50&lt;br /&gt;
	buoyancy(integer) : &amp;quot;Buoyancy&amp;quot; : 20&lt;br /&gt;
	displayname(string) : &amp;quot;HUD Info name&amp;quot;&lt;br /&gt;
	_minlight(string) : &amp;quot;Minimum light level&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(BaseCharger) = func_recharge: &amp;quot;Battery recharger&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Targetname, Target, Global, InventoryRules, RenderFields, Angles, ZHLT, BaseLockable) = func_rot_button : &amp;quot;RotatingButton&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	// changetarget will change the button&#039;s target&#039;s TARGET field to the button&#039;s changetarget.&lt;br /&gt;
	changetarget(target_destination) : &amp;quot;ChangeTarget Name&amp;quot;&lt;br /&gt;
	master(string) : &amp;quot;Master&amp;quot;&lt;br /&gt;
	speed(integer) : &amp;quot;Speed&amp;quot; : 50&lt;br /&gt;
	health(integer) : &amp;quot;Health (shootable if &amp;gt; 0)&amp;quot;&lt;br /&gt;
	sounds(choices) : &amp;quot;Sounds&amp;quot; : 21 =&lt;br /&gt;
	[&lt;br /&gt;
		21: &amp;quot;Squeaky&amp;quot;&lt;br /&gt;
		22: &amp;quot;Squeaky Pneumatic&amp;quot;&lt;br /&gt;
		23: &amp;quot;Ratchet Groan&amp;quot;&lt;br /&gt;
		24: &amp;quot;Clean Ratchet&amp;quot;&lt;br /&gt;
		25: &amp;quot;Gas Clunk&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	noise(sound) : &amp;quot;Sound Override&amp;quot;&lt;br /&gt;
	wait(choices) : &amp;quot;Delay before reset&amp;quot; : 3 =&lt;br /&gt;
	[&lt;br /&gt;
		-1: &amp;quot;Stays pressed&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	delay(string) : &amp;quot;Delay before trigger&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
	distance(integer) : &amp;quot;Distance (deg)&amp;quot; : 90&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Not solid&amp;quot; : 0&lt;br /&gt;
		2 : &amp;quot;Reverse Dir&amp;quot; : 0&lt;br /&gt;
		32: &amp;quot;Toggle&amp;quot; : 0&lt;br /&gt;
		64: &amp;quot;X Axis&amp;quot; : 0&lt;br /&gt;
		128: &amp;quot;Y Axis&amp;quot; : 0&lt;br /&gt;
		256: &amp;quot;Touch Activates&amp;quot;: 0&lt;br /&gt;
	]&lt;br /&gt;
	_minlight(integer) : &amp;quot;_minlight&amp;quot;&lt;br /&gt;
	use_type(choices) : &amp;quot;Use Type&amp;quot; : 3 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Off&amp;quot;&lt;br /&gt;
		1: &amp;quot;On&amp;quot;&lt;br /&gt;
		2: &amp;quot;Set&amp;quot;&lt;br /&gt;
		3: &amp;quot;Toggle&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Targetname, Global, RenderFields, Angles, ZHLT) = func_rotating : &amp;quot;Rotating Object&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	speed(integer)	: &amp;quot;Rotation Speed&amp;quot; : 0&lt;br /&gt;
	volume(integer) : &amp;quot;Volume (10 = loudest)&amp;quot; : 10&lt;br /&gt;
	fanfriction(integer) : &amp;quot;Friction (0 - 100%)&amp;quot; : 20&lt;br /&gt;
	sounds(choices) : &amp;quot;Fan Sounds&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No Sound&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Fast Whine&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Slow Rush&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Medium Rickety&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Fast Beating&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Slow Smooth&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	message(sound) : &amp;quot;WAV Name&amp;quot;&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Start ON&amp;quot; : 0&lt;br /&gt;
		2 : &amp;quot;Reverse Direction&amp;quot; : 0&lt;br /&gt;
		4 : &amp;quot;X Axis&amp;quot; : 0&lt;br /&gt;
		8 : &amp;quot;Y Axis&amp;quot; : 0&lt;br /&gt;
		16: &amp;quot;Acc/Dcc&amp;quot; : 0&lt;br /&gt;
		32: &amp;quot;Fan Pain&amp;quot; : 0&lt;br /&gt;
		64: &amp;quot;Not Solid&amp;quot; : 0&lt;br /&gt;
		128: &amp;quot;Small Radius (~384)&amp;quot; : 0&lt;br /&gt;
		256: &amp;quot;Medium Radius (~768)&amp;quot; : 0&lt;br /&gt;
		512: &amp;quot;Large Radius (~1536)&amp;quot; : 1&lt;br /&gt;
	]&lt;br /&gt;
	m_iObeyTriggerMode(choices) : &amp;quot;Obey Trigger Mode&amp;quot; : 1 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	_minlight(integer) : &amp;quot;_minlight&amp;quot;&lt;br /&gt;
	spawnorigin(string) : &amp;quot;X Y Z - Move here after lighting&amp;quot; : &amp;quot;0 0 0&amp;quot;&lt;br /&gt;
	dmg(integer) : &amp;quot;Damage inflicted when blocked&amp;quot; : 0&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(BaseTank, ZHLT) = func_tank : &amp;quot;Brush Gun Turret&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	bullet(choices) : &amp;quot;Bullets&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;None&amp;quot;&lt;br /&gt;
		1: &amp;quot;9mm&amp;quot;&lt;br /&gt;
		2: &amp;quot;MP5&amp;quot;&lt;br /&gt;
		3: &amp;quot;12mm&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(ZHLTbmodel, InventoryRules) = func_tankcontrols : &amp;quot;Tank controls&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	target(target_destination) : &amp;quot;Tank entity name&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(BaseTank, ZHLT) = func_tanklaser : &amp;quot;Brush Laser Turret&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	laserentity(target_source) : &amp;quot;env_laser Entity&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(BaseTank, ZHLT) = func_tankrocket : &amp;quot;Brush Rocket Turret&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(BaseTank, ZHLT) = func_tankmortar : &amp;quot;Brush Mortar Turret&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	iMagnitude(Integer) : &amp;quot;Explosion Magnitude&amp;quot; : 100&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Trackchange, ZHLT) = func_trackautochange : &amp;quot;Automatic track changing platform&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	_minlight(string) : &amp;quot;Minimum light level&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Trackchange, ZHLT) = func_trackchange : &amp;quot;Train track changing platform&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	_minlight(string) : &amp;quot;Minimum light level&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
//&amp;quot;Forward Only&amp;quot; flag added - prevents the train from moving backwards.&lt;br /&gt;
//This is an original half-life feature; it existed in the code base but apparently was left out of the FGD by mistake.&lt;br /&gt;
//&lt;br /&gt;
//&amp;quot;No YAW (Y-rot)&amp;quot; flag added - Similar to the  &amp;quot;No Pitch (X-rot)&amp;quot; flag, enabling this will force the train to skip updates of its facing angle as it moves.&lt;br /&gt;
@SolidClass base(Targetname, Angles, Global, RenderFields, AttackObject, ZHLT) = func_tracktrain : &amp;quot;Track Train&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;No Pitch (X-rot)&amp;quot; : 0&lt;br /&gt;
		2 : &amp;quot;No User Control&amp;quot; : 0&lt;br /&gt;
		4 : &amp;quot;Forward Only&amp;quot; : 0&lt;br /&gt;
		8 : &amp;quot;Passable&amp;quot; : 0&lt;br /&gt;
		16 : &amp;quot;No YAW (Y-rot)&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	target(target_destination) : &amp;quot;First stop target&amp;quot;&lt;br /&gt;
	sounds(choices) : &amp;quot;Sound&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;None&amp;quot;&lt;br /&gt;
		1: &amp;quot;Rail 1&amp;quot;&lt;br /&gt;
		2: &amp;quot;Rail 2&amp;quot;&lt;br /&gt;
		3: &amp;quot;Rail 3&amp;quot;&lt;br /&gt;
		4: &amp;quot;Rail 4&amp;quot;&lt;br /&gt;
		5: &amp;quot;Rail 6&amp;quot;&lt;br /&gt;
		6: &amp;quot;Rail 7&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	noise(sound) : &amp;quot;Move Sound Override&amp;quot;&lt;br /&gt;
	noise1(sound) : &amp;quot;Brake Sound Override&amp;quot;&lt;br /&gt;
	noise2(sound) : &amp;quot;Start Sound Override&amp;quot;&lt;br /&gt;
	wheels(integer) : &amp;quot;Distance between the wheels&amp;quot; : 50&lt;br /&gt;
	height(integer) : &amp;quot;Height above track&amp;quot; : 4&lt;br /&gt;
	startspeed(integer) : &amp;quot;Initial speed&amp;quot; : 0&lt;br /&gt;
	speed(integer) : &amp;quot;Speed (units per second)&amp;quot; : 64&lt;br /&gt;
	dmg(integer) : &amp;quot;Damage on crush&amp;quot; : 0&lt;br /&gt;
	volume(integer) : &amp;quot;Volume (10 = loudest)&amp;quot; : 10&lt;br /&gt;
	bank(string) : &amp;quot;Bank angle on turns&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
	_minlight(string) : &amp;quot;Minimum light level&amp;quot;&lt;br /&gt;
	soundlist(string) : &amp;quot;Sound Replacement File&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(ZHLTbmodel, InventoryRules) = func_traincontrols : &amp;quot;Train Controls&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	target(target_destination) : &amp;quot;Train Name&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(BaseTrain, AttackObject, ZHLT, StartStopable) = func_train : &amp;quot;Moving platform&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	avelocity(string) : &amp;quot;Angular Velocity (X Y Z)&amp;quot;&lt;br /&gt;
	dmg(integer) : &amp;quot;Damage on crush&amp;quot; : 0&lt;br /&gt;
	skin(integer) : &amp;quot;Contents&amp;quot; : 0&lt;br /&gt;
	_minlight(string) : &amp;quot;Minimum light level&amp;quot;&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		8 : &amp;quot;Not solid&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Targetname, Angles, Appearflags, RenderFields, Global, ZHLT) = func_wall : &amp;quot;Wall&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	_minlight(string) : &amp;quot;Minimum light level&amp;quot;&lt;br /&gt;
	style(choices) : &amp;quot;Texlight style&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Normal&amp;quot;&lt;br /&gt;
		-3: &amp;quot;Grouped&amp;quot;&lt;br /&gt;
		10: &amp;quot;Fluorescent flicker&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Slow, strong pulse&amp;quot;&lt;br /&gt;
		11: &amp;quot;Slow pulse, noblack&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Gentle pulse&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Flicker A&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Flicker B&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Candle A&amp;quot;&lt;br /&gt;
		7 : &amp;quot;Candle B&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Candle C&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Fast strobe&amp;quot;&lt;br /&gt;
		9 : &amp;quot;Slow strobe&amp;quot;&lt;br /&gt;
		12: &amp;quot;Underwater&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		2 : &amp;quot;Use Angles&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(func_wall) = func_wall_toggle : &amp;quot;Toggleable geometry&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Starts Invisible&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Door, ZHLT) = func_water : &amp;quot;Liquid&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Starts Open&amp;quot; : 0&lt;br /&gt;
		256: &amp;quot;USE Only&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	skin(choices) : &amp;quot;Contents&amp;quot; : -3 =&lt;br /&gt;
	[&lt;br /&gt;
		-3: &amp;quot;Water&amp;quot;&lt;br /&gt;
		-4: &amp;quot;Slime&amp;quot;&lt;br /&gt;
		-5: &amp;quot;Lava&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		-9: &amp;quot;CURRENT_0&amp;quot;&lt;br /&gt;
		-10: &amp;quot;CURRENT_90&amp;quot;&lt;br /&gt;
		-11: &amp;quot;CURRENT_180&amp;quot;&lt;br /&gt;
		-12: &amp;quot;CURRENT_270&amp;quot;&lt;br /&gt;
		-13: &amp;quot;CURRENT_UP&amp;quot;&lt;br /&gt;
		-14: &amp;quot;CURRENT_DOWN&amp;quot;&lt;br /&gt;
		-15: &amp;quot;TRANSLUCENT&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	]&lt;br /&gt;
	WaveHeight(string) : &amp;quot;Wave Height&amp;quot; : &amp;quot;3.2&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Targetx) color(238 240 238) = game_counter : &amp;quot;Fires when it hits limit&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Remove On fire&amp;quot; : 0&lt;br /&gt;
		2: &amp;quot;Reset On fire&amp;quot; : 1&lt;br /&gt;
		4: &amp;quot;Fire if over limit&amp;quot;: 1&lt;br /&gt;
	]&lt;br /&gt;
	master(string) : &amp;quot;Master&amp;quot;&lt;br /&gt;
	frags(integer) : &amp;quot;Initial Value&amp;quot; : 0&lt;br /&gt;
	health(integer) : &amp;quot;Limit Value&amp;quot; : 10&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Targetx) color(238 240 200) = game_counter_set : &amp;quot;Sets a game_counter&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Remove On fire&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	master(string) : &amp;quot;Master&amp;quot;&lt;br /&gt;
	frags(integer) : &amp;quot;New Value&amp;quot; : 10&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname) color(80 80 0) = game_end : &amp;quot;End this multiplayer game&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	master(string) : &amp;quot;Master&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
// Counts number of clients on the server and triggers if it matches min or max value&lt;br /&gt;
@PointClass color(0 255 96) = game_player_counter : &amp;quot;Game Player Counter&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	frags(integer) : &amp;quot;Min Value&amp;quot; : 1&lt;br /&gt;
	health(integer) : &amp;quot;Max Value&amp;quot; : 32&lt;br /&gt;
	target(target_destination) : &amp;quot;Min Target&amp;quot;&lt;br /&gt;
	netname(target_destination) : &amp;quot;Max Target&amp;quot;&lt;br /&gt;
	message(String) : &amp;quot;Filter Player Targetname&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Targetx) color(200 100 0) = game_player_equip : &amp;quot;Initial player equipment&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;USE Only&amp;quot; : 0&lt;br /&gt;
		2: &amp;quot;Filter Playername&amp;quot; : 0&lt;br /&gt;
		4: &amp;quot;Re-Equip on Use&amp;quot; : 0&lt;br /&gt;
		8: &amp;quot;Append Map CFG&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	master(string) : &amp;quot;Team Master&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	equipmode(choices) : &amp;quot;Equip mode&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Give items&amp;quot;&lt;br /&gt;
		1: &amp;quot;Modify inventory&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	inventorymode(choices) : &amp;quot;Inventory mode&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Set items&amp;quot;&lt;br /&gt;
		1: &amp;quot;Add items&amp;quot;&lt;br /&gt;
		2: &amp;quot;Subtract items&amp;quot;&lt;br /&gt;
		3: &amp;quot;Remove items&amp;quot;&lt;br /&gt;
		4: &amp;quot;Restock items&amp;quot;&lt;br /&gt;
		5: &amp;quot;Limit items&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Targetx) color(255 2 0) = game_player_hurt : &amp;quot;Hurts player who fires&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	dmg(string) : &amp;quot;Damage To Apply&amp;quot; : &amp;quot;65535&amp;quot;&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Remove On fire&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	master(string) : &amp;quot;Master&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Targetx) color(255 205 0) = game_score : &amp;quot;Award/Deduct Points&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Allow Negative&amp;quot; : 0&lt;br /&gt;
		2: &amp;quot;Team Points&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	points(integer) : &amp;quot;Points to add (+/-)&amp;quot; : 1&lt;br /&gt;
	master(string) : &amp;quot;Master&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
// Counts number of slots on the server and triggers if it matches value&lt;br /&gt;
@PointClass base(Targetx) color(0 255 148) = game_slot_counter : &amp;quot;Game Slot Counter&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	frags(integer) : &amp;quot;Value&amp;quot; : 12&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Targetx) color(192 255 0) = game_text : &amp;quot;HUD Text Message&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;All Players&amp;quot; : 0&lt;br /&gt;
		2: &amp;quot;No console echo&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	message(string) : &amp;quot;Message Text&amp;quot;&lt;br /&gt;
	x(string) : &amp;quot;X (0 - 1.0 = left to right) (-1 centers)&amp;quot; : &amp;quot;-1&amp;quot;&lt;br /&gt;
	y(string) : &amp;quot;Y (0 - 1.0 = top to bottom) (-1 centers)&amp;quot; : &amp;quot;0.67&amp;quot;&lt;br /&gt;
	effect(Choices) : &amp;quot;Text Effect&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Fade In/Out&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Credits&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Scan Out&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	color(color255) : &amp;quot;Color 1 (Add 4th number &amp;gt;0 for opaque)&amp;quot; : &amp;quot;100 100 100&amp;quot;&lt;br /&gt;
	color2(color255) : &amp;quot;Color 2 (Add 4th number &amp;gt;0 for opaque)&amp;quot; : &amp;quot;240 110 0&amp;quot;&lt;br /&gt;
	fadein(string) : &amp;quot;Fade in Time (or character scan time)&amp;quot; : &amp;quot;1.5&amp;quot;&lt;br /&gt;
	fadeout(string) : &amp;quot;Fade Out Time&amp;quot; : &amp;quot;0.5&amp;quot;&lt;br /&gt;
	holdtime(string) : &amp;quot;Hold Time&amp;quot; : &amp;quot;1.2&amp;quot;&lt;br /&gt;
	fxtime(string) : &amp;quot;Scan time (scan effect only)&amp;quot; : &amp;quot;0.25&amp;quot;&lt;br /&gt;
	channel(choices) : &amp;quot;Text Channel&amp;quot; : 1 =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Channel 1&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Channel 2&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Channel 3&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Channel 4&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	master(string) : &amp;quot;Master&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Targetname, ZHLTbmodel) = game_zone_player : &amp;quot;Player Zone brush&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Ignore Dead Players&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	intarget(target_destination) : &amp;quot;Target for IN players&amp;quot;&lt;br /&gt;
	outtarget(target_destination) : &amp;quot;Target for OUT players&amp;quot;&lt;br /&gt;
	incount(target_destination) : &amp;quot;Counter for IN players&amp;quot;&lt;br /&gt;
	outcount(target_destination) : &amp;quot;Counter for OUT players&amp;quot;&lt;br /&gt;
	// master(string) : &amp;quot;Master&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
@PointClass base(GibShooterBase) color(180 2 0) = gibshooter : &amp;quot;Gib Shooter&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// Global_light_control&lt;br /&gt;
// Alters appearance of switchable lights or sun (light_environment).&lt;br /&gt;
// Set &amp;quot;Light Entity Name&amp;quot; field to target a light entity.&lt;br /&gt;
// On trigger or map load (if no targetname specified), it updates the&lt;br /&gt;
// light&#039;s style using the specified &amp;quot;Custom Appearance&amp;quot; pattern.&lt;br /&gt;
@PointClass iconsprite(&amp;quot;sprites/vhe-iconsprites/global_light_control.spr&amp;quot;) base(Targetname, Target) size(-24 -24 -24, 24 24 24) color(96 96 32) = global_light_control : &amp;quot;Global Light Pattern&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	target_entity(target_destination) : &amp;quot;Light Entity Name&amp;quot;&lt;br /&gt;
	pattern(string) : &amp;quot;Custom Appearance&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass decal() base(Targetname, Appearflags) = infodecal : &amp;quot;Decal&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	texture(decal)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass color(255 0 0) = info_angularfade : &amp;quot;Texture name : the speed at which light fade as its direction becomes parallel to the texture (default 1.0)&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname) size(-24 -24 0, 24 24 16) color(20 190 60) = info_bigmomma : &amp;quot;Big Mamma Node&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Run To Node&amp;quot; : 0&lt;br /&gt;
		2 : &amp;quot;Wait Indefinitely&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	target(target_destination) : &amp;quot;Next node&amp;quot;&lt;br /&gt;
	radius(string) : &amp;quot;Radius&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
	reachdelay(string) : &amp;quot;Wait after approach&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
	killtarget(target_destination) : &amp;quot;KillTarget&amp;quot;&lt;br /&gt;
	reachtarget(target_destination) : &amp;quot;Fire on approach&amp;quot;&lt;br /&gt;
	reachsequence(string) : &amp;quot;Sequence on approach&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	health(string) : &amp;quot;Health on approach&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	presequence(string) : &amp;quot;Sequence before approach&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass color(255 231 127) = info_compile_parameters : &amp;quot;Map Compile Parameters&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Ignore shared settings&amp;quot; : 0&lt;br /&gt;
		2 : &amp;quot;Ignore CSG settings&amp;quot; : 0&lt;br /&gt;
		4 : &amp;quot;Ignore BSP settings&amp;quot; : 0&lt;br /&gt;
		8 : &amp;quot;Ignore VIS settings&amp;quot; : 0&lt;br /&gt;
		16 : &amp;quot;Ignore RAD settings&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	// --- Shared options ---&lt;br /&gt;
	verbose(choices) : &amp;quot;Verbose messages?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	noinfo(choices) : &amp;quot;Don&#039;t show tool configuration information?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	nolog(choices) : &amp;quot;Don&#039;t generate compile log file?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	dev(choices) : &amp;quot;Developer message level&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;None&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Error&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Warning&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Info&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Fluff&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Spam&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Mega spam&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	estimate(choices) : &amp;quot;Estimate compile times?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		0 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	chart(choices) : &amp;quot;Display statistics charts?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	threads(integer) : &amp;quot;CPU thread count (0 for auto/max)&amp;quot; : 0&lt;br /&gt;
	priority(choices) : &amp;quot;CPU process priority&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Low&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Normal&amp;quot;&lt;br /&gt;
		3 : &amp;quot;High&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	texdata(integer) : &amp;quot;Texture data memory (KiB)&amp;quot; : 0&lt;br /&gt;
	lightdata(integer) : &amp;quot;Lighting data memory (KiB)&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
	// --- CSG options ---&lt;br /&gt;
	csg(choices) : &amp;quot;--- Perform CSG stage? ---&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Yes, entity updates only mode&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	csg_nowadtextures(choices) : &amp;quot;No WAD textures? (Embed textures into BSP.)&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	csg_noclip(choices) : &amp;quot;Disable clipping hull generation?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	csg_clipeconomy(choices) : &amp;quot;Strip redundant clip nodes? (Economy mode.)&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	csg_cliptype(choices) : &amp;quot;Clipping hull type&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;Smallest&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Normalized&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Simple (most compact)&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Precise (recommended)&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Legacy&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	csg_hullfile(string) : &amp;quot;Custom hull file&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	csg_noskyclip(choices) : &amp;quot;Disable sky clipping?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	csg_tiny(string) : &amp;quot;Minimum brush face surface area before it is discarded&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	csg_brushunion(string) : &amp;quot;Threshold to warn about overlapping brushes&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	csg_nullfile(string) : &amp;quot;NULL texture substitutions file&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	csg_wadcfgfile(string) : &amp;quot;WAD configuration file&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	csg_wadcfgname(string) : &amp;quot;WAD configuration name&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	csg_wadautodetect(choices) : &amp;quot;WAD auto detect?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	csg_nonulltex(choices) : &amp;quot;Don&#039;t strip null texture faces?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	csg_nullifytrigger(choices) : &amp;quot;Strip trigger texture faces?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	csg_nolightopt(choices) : &amp;quot;Don&#039;t optimize engine light entities?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	csg_notextconvert(choices) : &amp;quot;Don&#039;t convert game_text from ANSI to UTF-8 format?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	csg_scale(string) : &amp;quot;Scale the world (USE AT OWN RISK!)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	// --- BSP options ---&lt;br /&gt;
	bsp(choices) : &amp;quot;--- Perform BSP stage? ---&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Yes, leak only mode&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	bsp_subdivide(integer) : &amp;quot;Face subdivide size (64-528)&amp;quot; : 0&lt;br /&gt;
	bsp_maxnodesize(integer) : &amp;quot;Maximum portal node size (64-1024)&amp;quot; : 0&lt;br /&gt;
	bsp_notjunc(choices) : &amp;quot;Don&#039;t break edges on t-junctions?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes (not recommended)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	bsp_nobrink(choices) : &amp;quot;Don&#039;t smooth brinks?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes (not recommended)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	bsp_noclip(choices) : &amp;quot;Don&#039;t process the clipping hull?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes (not recommended)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	bsp_nofill(choices) : &amp;quot;Don&#039;t fill outside? (Leaks will be masked.)&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes (not recommended)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	bsp_noinsidefill(choices) : &amp;quot;Don&#039;t fill empty spaces?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	bsp_noopt(choices) : &amp;quot;Don&#039;t optimize planes?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes (not recommended)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	bsp_noclipnodemerge(choices) : &amp;quot;Don&#039;t optimize clip nodes?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes (not recommended)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	bsp_nonulltex(choices) : &amp;quot;Don&#039;t strip NULL textures?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes (not recommended)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	bsp_nohull2(choices) : &amp;quot;Don&#039;t generate hull 2? (Big monsters &amp;amp; pushable fall out map!)&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	bsp_viewportal(choices) : &amp;quot;Show portal boundaries in PTS file?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	// --- VIS options ---&lt;br /&gt;
	vis(choices) : &amp;quot;--- Perform VIS stage? ---&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Yes, fast mode&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Yes, full mode&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	// --- RAD options ---&lt;br /&gt;
	rad(choices) : &amp;quot;--- Perform RAD stage? ---&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Yes, fast mode&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Yes, extra mode&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	rad_waddir(string) : &amp;quot;WAD search directory&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	rad_vismatrix(choices) : &amp;quot;Use visibility matrix?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;Normal (65,536 patch limit)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Sparse&amp;quot;&lt;br /&gt;
		2 : &amp;quot;None (slowest but most accurate lighting)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	rad_bounce(integer) : &amp;quot;Bounces&amp;quot; : 0&lt;br /&gt;
	rad_ambient(string) : &amp;quot;Ambient world light (R G B)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	rad_limiter(string) : &amp;quot;Light clipping threshold (-1 for none)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	rad_circus(choices) : &amp;quot;Circus mode?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	rad_nospread(choices) : &amp;quot;Disable sunlight spread angles?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	rad_nopaque(choices) : &amp;quot;Disable opaque light flags?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	rad_smooth(string) : &amp;quot;Smoothing threshold for blending (In degrees)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	rad_smooth2(string) : &amp;quot;Smoothing threshold between different textures&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	rad_chop(string) : &amp;quot;Patch size for normal textures&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	rad_texchop(string) : &amp;quot;Patch size for texture light faces&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	rad_notexscale(choices) : &amp;quot;Scale patches with texture scale?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	rad_subdivide(choices) : &amp;quot;Patch subdivide?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	rad_coring(string) : &amp;quot;Lighting threshold before blackness&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	rad_dlight(string) : &amp;quot;Direct lighting threshold&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	rad_dscale(string) : &amp;quot;Direct lighting scale&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	rad_nolerp(choices) : &amp;quot;Disable interpolation? (Nearest point instead.)&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	rad_fade(string) : &amp;quot;Global fade (Larger values = shorter lights)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	rad_texlightgap(string) : &amp;quot;Global gap distance for texture lights&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	rad_scale(string) : &amp;quot;Global light scaling&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	rad_colourscale(string) : &amp;quot;Per-colour light scaling (R G B)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	rad_gamma(string) : &amp;quot;Global gamma&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	rad_colourgamma(string) : &amp;quot;Per-colour gamma (R G B)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	rad_sky(string) : &amp;quot;Ambient sunlight shade contribution&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	rad_lights(string) : &amp;quot;Light textures file&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	rad_noskyfix(choices) : &amp;quot;Disable sky light being global?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	rad_incremental(choices) : &amp;quot;Use/create an incremental transfer list file?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	rad_dump(choices) : &amp;quot;Dump light patches to a file for debugging?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	rad_colourjitter(string) : &amp;quot;Adds noise, independent colours, for dithering (R G B)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	rad_jitter(string) : &amp;quot;Adds noise, monochromatic, for dithering (R G B)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	rad_customshadowwithbounce(choices) : &amp;quot;Enables custom shadows with bounce light?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	rad_rgbtransfers(choices) : &amp;quot;Enable RGB transfers? (For custom shadows.)&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	rad_minlight(integer) : &amp;quot;Minimum final light (0-255)&amp;quot; : 0&lt;br /&gt;
	rad_compresstransfers(choices) : &amp;quot;Compress transfers?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;32-bit&amp;quot;&lt;br /&gt;
		1 : &amp;quot;16-bit&amp;quot;&lt;br /&gt;
		2 : &amp;quot;8-bit&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	rad_compressrgbtransfers(choices) : &amp;quot;Compress RGB transfers?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;96-bit&amp;quot;&lt;br /&gt;
		1 : &amp;quot;48-bit&amp;quot;&lt;br /&gt;
		2 : &amp;quot;32-bit&amp;quot;&lt;br /&gt;
		3 : &amp;quot;24-bit&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	rad_softsky(choices) : &amp;quot;Smooth skylight?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	rad_depth(string) : &amp;quot;Thickness of translucent faces&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	rad_blockopaque(choices) : &amp;quot;Remove the black areas around opaque entities?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	rad_notextures(choices) : &amp;quot;Don&#039;t load textures?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	rad_texreflectgamma(string) : &amp;quot;Reflection gamma&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	rad_texreflectscale(string) : &amp;quot;Reflection scale&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	rad_blur(string) : &amp;quot;Enlarge light map sample to blur the light map&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	rad_noemitterrange(choices) : &amp;quot;Don&#039;t fix pointy texture lights?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	rad_nobleedfix(choices) : &amp;quot;Don&#039;t fix wall bleeding problem for large blur value?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass = info_hullshape : &amp;quot;Hull shape definition&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	targetname(target_source) : &amp;quot;Name&amp;quot;&lt;br /&gt;
	defaulthulls(choices) : &amp;quot;Set as default shape&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;No&amp;quot;&lt;br /&gt;
		2: &amp;quot;Hull 1&amp;quot;&lt;br /&gt;
		4: &amp;quot;Hull 2&amp;quot;&lt;br /&gt;
		8: &amp;quot;Hull 3&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	disabled(choices) : &amp;quot;Disable&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;No&amp;quot;&lt;br /&gt;
		1: &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass = NodeBase&lt;br /&gt;
[&lt;br /&gt;
	hinttype(Choices) : &amp;quot;Hint type&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;None&amp;quot;&lt;br /&gt;
		4 : &amp;quot;World machinery&amp;quot;&lt;br /&gt;
		8 : &amp;quot;World blinking light&amp;quot;&lt;br /&gt;
		10 : &amp;quot;World human blood&amp;quot;&lt;br /&gt;
		11 : &amp;quot;World alien blood&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	activity(Choices) : &amp;quot;Hint activity&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		-1 : &amp;quot;None&amp;quot;&lt;br /&gt;
		0 : &amp;quot;Reset&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Idle&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Guard&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Walk&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Run&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Fly&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Swim&amp;quot;&lt;br /&gt;
		7 : &amp;quot;Hop&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Leap&amp;quot;&lt;br /&gt;
		9 : &amp;quot;Fall&amp;quot;&lt;br /&gt;
		10 : &amp;quot;Land&amp;quot;&lt;br /&gt;
		11 : &amp;quot;Strafe left&amp;quot;&lt;br /&gt;
		12 : &amp;quot;Strafe right&amp;quot;&lt;br /&gt;
		13 : &amp;quot;Roll left&amp;quot;&lt;br /&gt;
		14 : &amp;quot;Roll right&amp;quot;&lt;br /&gt;
		15 : &amp;quot;Turn left&amp;quot;&lt;br /&gt;
		16 : &amp;quot;Turn Right&amp;quot;&lt;br /&gt;
		17 : &amp;quot;Crouch&amp;quot;&lt;br /&gt;
		18 : &amp;quot;Crouch idle&amp;quot;&lt;br /&gt;
		19 : &amp;quot;Stand up from crouch&amp;quot;&lt;br /&gt;
		20 : &amp;quot;Use&amp;quot;&lt;br /&gt;
		21 : &amp;quot;Signal 1&amp;quot;&lt;br /&gt;
		22 : &amp;quot;Signal 2&amp;quot;&lt;br /&gt;
		23 : &amp;quot;Signal 3&amp;quot;&lt;br /&gt;
		24 : &amp;quot;Twitch&amp;quot;&lt;br /&gt;
		25 : &amp;quot;Cower&amp;quot;&lt;br /&gt;
		26 : &amp;quot;Small flinch&amp;quot;&lt;br /&gt;
		27 : &amp;quot;Big flinch&amp;quot;&lt;br /&gt;
		28 : &amp;quot;Range attack 1&amp;quot;&lt;br /&gt;
		29 : &amp;quot;Range attack 2&amp;quot;&lt;br /&gt;
		30 : &amp;quot;Melee attack 1&amp;quot;&lt;br /&gt;
		31 : &amp;quot;Melee attack 2&amp;quot;&lt;br /&gt;
		32 : &amp;quot;Reload&amp;quot;&lt;br /&gt;
		33 : &amp;quot;Arm&amp;quot;&lt;br /&gt;
		34 : &amp;quot;Disarm&amp;quot;&lt;br /&gt;
		35 : &amp;quot;Eat&amp;quot;&lt;br /&gt;
		36 : &amp;quot;Die simple&amp;quot;&lt;br /&gt;
		37 : &amp;quot;Die backward&amp;quot;&lt;br /&gt;
		38 : &amp;quot;Die forward&amp;quot;&lt;br /&gt;
		39 : &amp;quot;Die violent&amp;quot;&lt;br /&gt;
		40 : &amp;quot;Barnacle hit&amp;quot;&lt;br /&gt;
		41 : &amp;quot;Barnacle pull&amp;quot;&lt;br /&gt;
		42 : &amp;quot;Barnacle chomp&amp;quot;&lt;br /&gt;
		43 : &amp;quot;Barnacle chew&amp;quot;&lt;br /&gt;
		44 : &amp;quot;Sleep&amp;quot;&lt;br /&gt;
		45 : &amp;quot;Inspect floor&amp;quot;&lt;br /&gt;
		46 : &amp;quot;Inspect wall&amp;quot;&lt;br /&gt;
		47 : &amp;quot;Idle angry&amp;quot;&lt;br /&gt;
		48 : &amp;quot;Walk hurt&amp;quot;&lt;br /&gt;
		49 : &amp;quot;Run hurt&amp;quot;&lt;br /&gt;
		50 : &amp;quot;Hover&amp;quot;&lt;br /&gt;
		51 : &amp;quot;Glide&amp;quot;&lt;br /&gt;
		52 : &amp;quot;Fly left&amp;quot;&lt;br /&gt;
		53 : &amp;quot;Fly right&amp;quot;&lt;br /&gt;
		54 : &amp;quot;Detect scent&amp;quot;&lt;br /&gt;
		55 : &amp;quot;Sniff&amp;quot;&lt;br /&gt;
		56 : &amp;quot;Bite&amp;quot;&lt;br /&gt;
		57 : &amp;quot;Threat display&amp;quot;&lt;br /&gt;
		58 : &amp;quot;Fear display&amp;quot;&lt;br /&gt;
		59 : &amp;quot;Excited&amp;quot;&lt;br /&gt;
		60 : &amp;quot;Special attack 1&amp;quot;&lt;br /&gt;
		61 : &amp;quot;Special attack 2&amp;quot;&lt;br /&gt;
		62 : &amp;quot;Combat idle&amp;quot;&lt;br /&gt;
		63 : &amp;quot;Walk scared&amp;quot;&lt;br /&gt;
		64 : &amp;quot;Run scared&amp;quot;&lt;br /&gt;
		65 : &amp;quot;Victory dance&amp;quot;&lt;br /&gt;
		66 : &amp;quot;Die head shot&amp;quot;&lt;br /&gt;
		67 : &amp;quot;Die chest shot&amp;quot;&lt;br /&gt;
		68 : &amp;quot;Die gut shot&amp;quot;&lt;br /&gt;
		69 : &amp;quot;Die back shot&amp;quot;&lt;br /&gt;
		70 : &amp;quot;Flinch head&amp;quot;&lt;br /&gt;
		71 : &amp;quot;Flinch chest&amp;quot;&lt;br /&gt;
		72 : &amp;quot;Flinch stomach&amp;quot;&lt;br /&gt;
		73 : &amp;quot;Flinch left arm&amp;quot;&lt;br /&gt;
		74 : &amp;quot;Flinch right arm&amp;quot;&lt;br /&gt;
		75 : &amp;quot;Flinch left leg&amp;quot;&lt;br /&gt;
		76 : &amp;quot;Flinch right leg&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(NodeBase) size(-24 -24 -4, 24 24 4) color(225 227 0) = info_node : &amp;quot;ai node&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(NodeBase) size(-32 -32 0, 32 32 64) color(225 227 0) = info_node_air : &amp;quot;ai air node&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname) size(-4 -4 -4, 4 4 4) color(128 255 146) = info_null : &amp;quot;info_null (spotlight target)&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass size(-4 -4 -4, 4 4 4) color(255 0 0) = info_overview_point : &amp;quot;Disable VIS here for overview&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	reverse(choices) : &amp;quot;Reversed&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;No&amp;quot;&lt;br /&gt;
		1: &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(PlayerClass) studio(&amp;quot;models/player.mdl&amp;quot;) = info_player_coop : &amp;quot;Player co-operative start&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(PlayerDmClass) studio(&amp;quot;models/player.mdl&amp;quot;) = info_player_deathmatch : &amp;quot;Player deathmatch start&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(PlayerDmClass) studio(&amp;quot;models/player.mdl&amp;quot;) = info_player_dm2 : &amp;quot;Hidden deathmatch start (not visible in map list)&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(PlayerClass) studio(&amp;quot;models/player.mdl&amp;quot;) = info_player_start : &amp;quot;Single player start (and multi-player initial viewpoint)&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass size(-4 -4 -4, 4 4 4) color(255 0 0) = info_smoothvalue : &amp;quot;Texture name : Threshold of smooth angle&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass size(-4 -4 -4, 4 4 4) color(255 255 0) = info_sunlight : &amp;quot;light_environment information that affects model brightness&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	target(target_destination) : &amp;quot;Target&amp;quot;&lt;br /&gt;
	angles(string) : &amp;quot;Pitch Yaw Roll (Y Z X)&amp;quot; : &amp;quot;0 0 0&amp;quot;&lt;br /&gt;
	pitch(integer) : &amp;quot;Pitch&amp;quot; : -90&lt;br /&gt;
	_light(color255) : &amp;quot;Brightness&amp;quot; : &amp;quot;0 0 0 100&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname) size(-4 -4 -4, 4 4 4) color(200 100 50) = info_target : &amp;quot;Generic target&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass size(-16 -16 0, 16 16 72) base(PlayerClass)  color(255 128 240) = info_teleport_destination : &amp;quot;Teleport destination&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		32 : &amp;quot;Trigger on arrival&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	teleport_cooldown(string) : &amp;quot;Teleport Cooldown Delay&amp;quot; : &amp;quot;1&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass size(-4 -4 -4, 4 4 4) color(255 231 127) = info_texlights : &amp;quot;Texture Light Definitions&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass size(-4 -4 -4, 4 4 4) color(255 0 0) = info_translucent : &amp;quot;Texture name : translucent amount (0.0-1.0)&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass size(-16 -16 0, 16 16 24) base(Targetx, Item) studio(&amp;quot;models/w_oxygen.mdl&amp;quot;) = item_airtank : &amp;quot;Oxygen tank&amp;quot; [&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Do not explode&amp;quot; : 0&lt;br /&gt;
		2 : &amp;quot;Start empty&amp;quot; : 0&lt;br /&gt;
		128 : &amp;quot;TOUCH Only&amp;quot; : 0&lt;br /&gt;
		256 : &amp;quot;USE Only&amp;quot; : 0&lt;br /&gt;
		512 : &amp;quot;Can Use w/o LoS&amp;quot; : 0&lt;br /&gt;
		1024 : &amp;quot;&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	health(integer)			: &amp;quot;Strength&amp;quot;					: 0&lt;br /&gt;
	air_time_given(integer)		: &amp;quot;Extra Air Time Given (0 = default)&amp;quot;		: 0&lt;br /&gt;
	refill_delay(integer)		: &amp;quot;Refill Time (0 = default, -1 = never)&amp;quot;	: 0&lt;br /&gt;
&lt;br /&gt;
	target_on_consume(string)	: &amp;quot;Target: On consume&amp;quot;				: &amp;quot;&amp;quot;&lt;br /&gt;
	target_on_is_empty(string)	: &amp;quot;Target: On is empty&amp;quot;				: &amp;quot;&amp;quot;&lt;br /&gt;
	target_on_refill(string)	: &amp;quot;Target: On refill&amp;quot;				: &amp;quot;&amp;quot;&lt;br /&gt;
	target_on_destroy(string)	: &amp;quot;Target: On destroy&amp;quot;				: &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	sound_on_consume(sound)		: &amp;quot;Sound: On consume&amp;quot;				: &amp;quot;&amp;quot;&lt;br /&gt;
	sound_on_is_empty(sound)	: &amp;quot;Sound: On is empty&amp;quot;				: &amp;quot;&amp;quot;&lt;br /&gt;
	sound_on_refill(sound)		: &amp;quot;Sound: On refill&amp;quot;				: &amp;quot;&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass size(-4 -4 0, 4 4 16) base(Target, Item) studio(&amp;quot;models/w_antidote.mdl&amp;quot;) = item_antidote : &amp;quot;Poison antidote&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass size(-11 -11 0, 11 11 36) base(Target, Item) studio(&amp;quot;models/barney_vest.mdl&amp;quot;) = item_armorvest : &amp;quot;Armor vest&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass size(-4 -4 0, 4 4 16) base(Target, Item) studio(&amp;quot;models/w_battery.mdl&amp;quot;) = item_battery : &amp;quot;HEV battery&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	health(integer) : &amp;quot;Charge Supplied&amp;quot; : 0&lt;br /&gt;
	healthcap(integer) : &amp;quot;Charge Cap&amp;quot; : 0&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(ItemWithDefaultModel, Target) studio() = item_generic : &amp;quot;Generic scenery item&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass size(-12 -12 0, 12 12 8) base(Target, Item) studio(&amp;quot;models/w_medkit.mdl&amp;quot;) = item_healthkit : &amp;quot;Health kit&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	health(integer) : &amp;quot;Health Supplied&amp;quot; : 0&lt;br /&gt;
	healthcap(integer) : &amp;quot;Health Cap&amp;quot; : 0&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass size(-8 -8 0, 8 8 20) base(Target, Item) studio(&amp;quot;models/barney_helmet.mdl&amp;quot;) = item_helmet : &amp;quot;Helmet&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(ItemWithDefaultModel, Target, CustomRespawnDelay) studio() = item_inventory : &amp;quot;Inventory item&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	item_name(string) : &amp;quot;Item name&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	item_group(string) : &amp;quot;Item group name&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	display_name(string) : &amp;quot;Display name (HUD)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	description(string) : &amp;quot;Description (HUD)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	item_icon(string) : &amp;quot;Item icon (HUD)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	activate_limit(integer) : &amp;quot;Self-activation limit (0 = infinite)&amp;quot; : 0&lt;br /&gt;
	collect_limit(integer) : &amp;quot;Collection limit (0 = infinite)&amp;quot; : 0&lt;br /&gt;
	weight(string) : &amp;quot;Item weight (0-100)&amp;quot; : &amp;quot;1.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	filter_targetnames(string) : &amp;quot;Collect: Entity target names&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	filter_classnames(string) : &amp;quot;Collect: Entity class names&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	filter_teams(string) : &amp;quot;Collect: Teams&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	filter_npc_classifications(choices) : &amp;quot;Collect: NPC classifications&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No filter&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;None&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Machine&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Player&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Human Passive&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Human Military&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Alien Military&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Alien Passive&amp;quot;&lt;br /&gt;
		7 : &amp;quot;Alien Monster&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Alien Prey&amp;quot;&lt;br /&gt;
		9 : &amp;quot;Alien Predator&amp;quot;&lt;br /&gt;
		10 : &amp;quot;Insect&amp;quot;&lt;br /&gt;
		11 : &amp;quot;Player Ally&amp;quot;&lt;br /&gt;
		12 : &amp;quot;Player Hornet/Snark&amp;quot;&lt;br /&gt;
		13 : &amp;quot;Alien Hornet/Snark&amp;quot;&lt;br /&gt;
		14 : &amp;quot;X-Race&amp;quot;&lt;br /&gt;
		15 : &amp;quot;X-Race: Shocktrooper/Voltigore&amp;quot;&lt;br /&gt;
		16 : &amp;quot;Team 1&amp;quot;&lt;br /&gt;
		17 : &amp;quot;Team 2&amp;quot;&lt;br /&gt;
		18 : &amp;quot;Team 3&amp;quot;&lt;br /&gt;
		19 : &amp;quot;Team 4&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	item_name_required(string) : &amp;quot;Collect: Need item(s)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	item_group_required(string) : &amp;quot;Collect: Need item(s) from group(s)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	item_group_required_num(integer) : &amp;quot;Collect: Item count in group need have (0 = all)&amp;quot; : 0&lt;br /&gt;
	item_name_moved(string) : &amp;quot;Collect: Item(s) moved&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	item_name_canthave(string) : &amp;quot;Collect: CAN&#039;T have item&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	item_group_canthave(string) : &amp;quot;Collect: CAN&#039;T have item from group&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	item_group_canthave_num(integer) : &amp;quot;Collect: Item count in group CAN&#039;T have (0 = all)&amp;quot; : 0&lt;br /&gt;
	item_name_not_moved(string) : &amp;quot;Collect: Item(s) NOT moved&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	carried_hidden(choices) : &amp;quot;Carried: Hide item (3rd person)&amp;quot; : 1 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	carried_skin(integer) : &amp;quot;Carried: Skin&amp;quot; : 0&lt;br /&gt;
	carried_body(integer) : &amp;quot;Carried: Body&amp;quot; : 0&lt;br /&gt;
	carried_sequencename(string) : &amp;quot;Carried: Sequence Name&amp;quot; : &amp;quot;carried&amp;quot;&lt;br /&gt;
	carried_sequence(integer) : &amp;quot;Carried: Sequence Number (overrides name)&amp;quot; : 1&lt;br /&gt;
&lt;br /&gt;
	return_timelimit(string) : &amp;quot;Return: Wait (-1 = never)&amp;quot; : &amp;quot;60.0&amp;quot;&lt;br /&gt;
	return_delay_respawn(choices) : &amp;quot;Return: Delay respawn (materialisation)&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	holder_timelimit(string) : &amp;quot;Holder: Hold time limit (0 = never)&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
	holder_time_activate_wait(string) : &amp;quot;Holder: Delay between self-activations (0 = none)&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
	holder_time_wearout(string) : &amp;quot;Holder: Wearing out trigger time (0 = none)&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
	holder_can_activate(choices) : &amp;quot;Holder: Allowed to self-activate&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	holder_timelimit_wait_until_activated(choices) : &amp;quot;Holder: Hold time limit doesn&#039;t start until item activated&amp;quot; : 1 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	holder_can_drop(choices) : &amp;quot;Holder: Allowed to drop&amp;quot; : 1 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	holder_keep_on_death(choices) : &amp;quot;Holder: Keep item on death&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	holder_keep_on_respawn(choices) : &amp;quot;Holder: Keep item on respawn&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	target_on_collect(string)		: &amp;quot;Target: On collect (self)&amp;quot;			: &amp;quot;&amp;quot;&lt;br /&gt;
	target_on_collect_team(string)		: &amp;quot;Target: On collect (team)&amp;quot;			: &amp;quot;&amp;quot;&lt;br /&gt;
	target_on_collect_other(string)		: &amp;quot;Target: On collect (others)&amp;quot;			: &amp;quot;&amp;quot;&lt;br /&gt;
	target_cant_collect(string)		: &amp;quot;Target: On can&#039;t collect (self)&amp;quot;		: &amp;quot;&amp;quot;&lt;br /&gt;
	target_cant_collect_team(string)	: &amp;quot;Target: On can&#039;t collect (team)&amp;quot;		: &amp;quot;&amp;quot;&lt;br /&gt;
	target_cant_collect_other(string)	: &amp;quot;Target: On can&#039;t collect (others)&amp;quot;		: &amp;quot;&amp;quot;&lt;br /&gt;
	target_on_drop(string)			: &amp;quot;Target: On drop (self)&amp;quot;			: &amp;quot;&amp;quot;&lt;br /&gt;
	target_on_drop_team(string)		: &amp;quot;Target: On drop (team)&amp;quot;			: &amp;quot;&amp;quot;&lt;br /&gt;
	target_on_drop_other(string)		: &amp;quot;Target: On drop (others)&amp;quot;			: &amp;quot;&amp;quot;&lt;br /&gt;
	target_cant_drop(string)		: &amp;quot;Target: On can&#039;t drop (self)&amp;quot;		: &amp;quot;&amp;quot;&lt;br /&gt;
	target_cant_drop_team(string)		: &amp;quot;Target: On can&#039;t drop (team)&amp;quot;		: &amp;quot;&amp;quot;&lt;br /&gt;
	target_cant_drop_other(string)		: &amp;quot;Target: On can&#039;t drop (others)&amp;quot;		: &amp;quot;&amp;quot;&lt;br /&gt;
	target_on_activate(string)		: &amp;quot;Target: On self-activate (self)&amp;quot;		: &amp;quot;&amp;quot;&lt;br /&gt;
	target_on_activate_team(string)		: &amp;quot;Target: On self-activate (team)&amp;quot;		: &amp;quot;&amp;quot;&lt;br /&gt;
	target_on_activate_other(string)	: &amp;quot;Target: On self-activate (others)&amp;quot;		: &amp;quot;&amp;quot;&lt;br /&gt;
	target_cant_activate(string)		: &amp;quot;Target: On can&#039;t self-activate (self)&amp;quot;	: &amp;quot;&amp;quot;&lt;br /&gt;
	target_cant_activate_team(string)	: &amp;quot;Target: On can&#039;t self-activate (team)&amp;quot;	: &amp;quot;&amp;quot;&lt;br /&gt;
	target_cant_activate_other(string)	: &amp;quot;Target: On can&#039;t self-activate (others)&amp;quot;	: &amp;quot;&amp;quot;&lt;br /&gt;
	target_on_use(string)			: &amp;quot;Target: On use by trigger (self)&amp;quot;		: &amp;quot;&amp;quot;&lt;br /&gt;
	target_on_use_team(string)		: &amp;quot;Target: On use by trigger (team)&amp;quot;		: &amp;quot;&amp;quot;&lt;br /&gt;
	target_on_use_other(string)		: &amp;quot;Target: On use by trigger (others)&amp;quot;		: &amp;quot;&amp;quot;&lt;br /&gt;
	target_on_wearing_out(string)		: &amp;quot;Target: On wearing out (self)&amp;quot;		: &amp;quot;&amp;quot;&lt;br /&gt;
	target_on_wearing_out_team(string)	: &amp;quot;Target: On wearing out (team)&amp;quot;		: &amp;quot;&amp;quot;&lt;br /&gt;
	target_on_wearing_out_other(string)	: &amp;quot;Target: On wearing out (others)&amp;quot;		: &amp;quot;&amp;quot;&lt;br /&gt;
	target_on_return(string)		: &amp;quot;Target: On return (self)&amp;quot;			: &amp;quot;&amp;quot;&lt;br /&gt;
	target_on_return_team(string)		: &amp;quot;Target: On return (team)&amp;quot;			: &amp;quot;&amp;quot;&lt;br /&gt;
	target_on_return_other(string)		: &amp;quot;Target: On return (other)&amp;quot;			: &amp;quot;&amp;quot;&lt;br /&gt;
	target_on_materialise(string)		: &amp;quot;Target: On materialise after return&amp;quot;		: &amp;quot;&amp;quot;&lt;br /&gt;
	target_on_destroy(string)		: &amp;quot;Target: On destroy&amp;quot;				: &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	effects_wait_until_activated(choices) : &amp;quot;Effects: Wait until item is self-activated?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	effects_permanent(choices) : &amp;quot;Effects: Permanent? (Until respawn)&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	effect_glow(color255) : &amp;quot;Effects: Glow shell color (R G B)&amp;quot; : &amp;quot;0 0 0&amp;quot;&lt;br /&gt;
	effect_block_weapons(choices) : &amp;quot;Effects: Block weapons&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	effect_invulnerable(choices) : &amp;quot;Effects: Invulnerable&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	effect_invisible(choices) : &amp;quot;Effects: Invisible&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	effect_nonsolid(choices) : &amp;quot;Effects: Non-solid&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	effect_respiration(string) : &amp;quot;Effects: Time before drown (seconds)&amp;quot; : &amp;quot;0.0&amp;quot;&lt;br /&gt;
	effect_friction(string) : &amp;quot;Effects: Friction modifier (%)&amp;quot; : &amp;quot;100.0&amp;quot;&lt;br /&gt;
	effect_gravity(string) : &amp;quot;Effects: Gravity modifier (%)&amp;quot; : &amp;quot;100.0&amp;quot;&lt;br /&gt;
	effect_speed(string) : &amp;quot;Effects: Speed modifier (%)&amp;quot; : &amp;quot;100.0&amp;quot;&lt;br /&gt;
	effect_damage(string) : &amp;quot;Effects: Damage modifier (%)&amp;quot; : &amp;quot;100.0&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass size(-14 -14 0, 14 14 36) base(Target, Item) studio(&amp;quot;models/w_longjump.mdl&amp;quot;) = item_longjump : &amp;quot;Longjump module&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass size(-12 -12 0, 12 12 1) base(Target, Item) studio(&amp;quot;models/w_security.mdl&amp;quot;) = item_security : &amp;quot;Security card&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass size(-15 -15 0, 15 15 64) base(Target, Item) studio(&amp;quot;models/w_suit.mdl&amp;quot;) = item_suit : &amp;quot;HEV Suit&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Short Logon&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass iconsprite(&amp;quot;sprites/vhe-iconsprites/light.spr&amp;quot;) base(Target, Targetname, Light, ZHLTpoint) = light : &amp;quot;Invisible lightsource&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Initially dark&amp;quot; : 0&lt;br /&gt;
		2 : &amp;quot;Remove Entity&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass size(-4 -4 -4, 4 4 4) color(255 255 0) = light_bounce : &amp;quot;Bounce light control&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	target(target_destination) : &amp;quot;Target solid entity&amp;quot;&lt;br /&gt;
	targetname(target_source) : &amp;quot;Name&amp;quot;&lt;br /&gt;
	style(choices) : &amp;quot;Appearance (no name allowed)&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Normal&amp;quot;&lt;br /&gt;
		10: &amp;quot;Fluorescent flicker&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Slow, strong pulse&amp;quot;&lt;br /&gt;
		11: &amp;quot;Slow pulse, no black&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Gentle pulse&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Flicker A&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Flicker B&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Candle A&amp;quot;&lt;br /&gt;
		7 : &amp;quot;Candle B&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Candle C&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Fast strobe&amp;quot;&lt;br /&gt;
		9 : &amp;quot;Slow strobe&amp;quot;&lt;br /&gt;
		12 : &amp;quot;Underwater mutation&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	pattern(string) : &amp;quot;Custom Appearance&amp;quot;&lt;br /&gt;
	convertto(choices) : &amp;quot;Classname in game&amp;quot; : &amp;quot;light&amp;quot; =&lt;br /&gt;
	[&lt;br /&gt;
		&amp;quot;light&amp;quot; : &amp;quot;light&amp;quot;&lt;br /&gt;
		&amp;quot;light_spot&amp;quot; : &amp;quot;light_spot&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Initially dark&amp;quot; : 0&lt;br /&gt;
		2048 : &amp;quot;Not in Deathmatch&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Angles, ZHLTpoint) iconsprite(&amp;quot;sprites/vhe-iconsprites/light_environment.spr&amp;quot;) = light_environment : &amp;quot;Environment&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	pitch(integer) : &amp;quot;Pitch&amp;quot; : 0&lt;br /&gt;
	_light(color255) : &amp;quot;Brightness&amp;quot; : &amp;quot;255 255 128 200&amp;quot;&lt;br /&gt;
	_diffuse_light(color255) : &amp;quot;Ambient Color&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	_spread(string) : &amp;quot;Sun Spread&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass color(255 255 0) = light_shadow : &amp;quot;Dynamic shadow control&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	target(target_destination) : &amp;quot;Target solid entity&amp;quot;&lt;br /&gt;
	targetname(target_source) : &amp;quot;Name&amp;quot;&lt;br /&gt;
	style(choices) : &amp;quot;Appearance (no name allowed)&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Normal&amp;quot;&lt;br /&gt;
		10: &amp;quot;Fluorescent flicker&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Slow, strong pulse&amp;quot;&lt;br /&gt;
		11: &amp;quot;Slow pulse, no black&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Gentle pulse&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Flicker A&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Flicker B&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Candle A&amp;quot;&lt;br /&gt;
		7 : &amp;quot;Candle B&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Candle C&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Fast strobe&amp;quot;&lt;br /&gt;
		9 : &amp;quot;Slow strobe&amp;quot;&lt;br /&gt;
		12 : &amp;quot;Underwater mutation&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	pattern(string) : &amp;quot;Custom Appearance&amp;quot;&lt;br /&gt;
	convertto(choices) : &amp;quot;Classname in game&amp;quot; : &amp;quot;light&amp;quot; =&lt;br /&gt;
	[&lt;br /&gt;
		&amp;quot;light&amp;quot; : &amp;quot;light&amp;quot;&lt;br /&gt;
		&amp;quot;light_spot&amp;quot; : &amp;quot;light_spot&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Initially dark&amp;quot; : 0&lt;br /&gt;
		2048 : &amp;quot;Not in Deathmatch&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass iconsprite(&amp;quot;sprites/vhe-iconsprites/light_spot.spr&amp;quot;) base(Targetname, Target, Angles, ZHLTpoint) = light_spot : &amp;quot;Spotlight&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	_cone(integer) : &amp;quot;Inner (bright) angle&amp;quot; : 30&lt;br /&gt;
	_cone2(integer) : &amp;quot;Outer (fading) angle&amp;quot; : 45&lt;br /&gt;
	pitch(integer) : &amp;quot;Pitch&amp;quot; : -90&lt;br /&gt;
	_light(color255) : &amp;quot;Brightness&amp;quot; : &amp;quot;255 255 128 200&amp;quot;&lt;br /&gt;
	_sky(Choices) : &amp;quot;Is Sky&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	spawnflags(Flags) = [ 1 : &amp;quot;Initially dark&amp;quot; : 0 ]&lt;br /&gt;
	style(Choices) : &amp;quot;Appearance&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Normal&amp;quot;&lt;br /&gt;
		10: &amp;quot;Fluorescent flicker&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Slow, strong pulse&amp;quot;&lt;br /&gt;
		11: &amp;quot;Slow pulse, noblack&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Gentle pulse&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Flicker A&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Flicker B&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Candle A&amp;quot;&lt;br /&gt;
		7 : &amp;quot;Candle B&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Candle C&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Fast strobe&amp;quot;&lt;br /&gt;
		9 : &amp;quot;Slow strobe&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	pattern(string) : &amp;quot;Custom Appearance&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass size(-4 -4 -4, 4 4 4) color(255 255 0) = light_surface : &amp;quot;Advanced texture light&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	_tex(string) : &amp;quot;Texture name&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	_frange(string) : &amp;quot;Filter max distance&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	_fdist(string) : &amp;quot;Filter max dist to plane&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	_fclass(string) : &amp;quot;Filter entity classname&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	_fname(string) : &amp;quot;Filter entity name&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	_light(color255) : &amp;quot;Texture brightness&amp;quot; : &amp;quot;255 255 255 80&amp;quot;&lt;br /&gt;
	_texcolor(color255) : &amp;quot;Color(replace texture color)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	_cone(string) : &amp;quot;Inner(bright) angle(90default)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	_cone2(string) : &amp;quot;Outer(fading) angle(90default)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	_scale(string) : &amp;quot;Adjust emit scale(1.0default)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	_chop(string) : &amp;quot;Grid size of sampling&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	_texlightgap(choices) : &amp;quot;Dark gap in front of texlight&amp;quot; : &amp;quot;&amp;quot; =&lt;br /&gt;
	[&lt;br /&gt;
		&amp;quot;&amp;quot;: &amp;quot;Default (no gap)&amp;quot;&lt;br /&gt;
		&amp;quot;0.0&amp;quot;: &amp;quot;0.0 - no gap&amp;quot;&lt;br /&gt;
		&amp;quot;3.0&amp;quot;: &amp;quot;3.0 - small gap&amp;quot;&lt;br /&gt;
		&amp;quot;12.0&amp;quot;: &amp;quot;12.0 - large gap&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	_fast(choices) : &amp;quot;Fast&amp;quot; : &amp;quot;&amp;quot; =&lt;br /&gt;
	[&lt;br /&gt;
		&amp;quot;&amp;quot;: &amp;quot;Auto&amp;quot;&lt;br /&gt;
		1: &amp;quot;Yes&amp;quot;&lt;br /&gt;
		2: &amp;quot;No&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	convertto(choices) : &amp;quot;Classname in game&amp;quot; : &amp;quot;light&amp;quot; =&lt;br /&gt;
	[&lt;br /&gt;
		&amp;quot;light&amp;quot; : &amp;quot;light&amp;quot;&lt;br /&gt;
		&amp;quot;light_spot&amp;quot; : &amp;quot;light_spot&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	targetname(target_source) : &amp;quot;Name&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	style(choices) : &amp;quot;Appearance (no name allowed)&amp;quot; : &amp;quot;&amp;quot; =&lt;br /&gt;
	[&lt;br /&gt;
		&amp;quot;&amp;quot; : &amp;quot;Normal&amp;quot;&lt;br /&gt;
		10: &amp;quot;Fluorescent flicker&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Slow, strong pulse&amp;quot;&lt;br /&gt;
		11: &amp;quot;Slow pulse, no black&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Gentle pulse&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Flicker A&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Flicker B&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Candle A&amp;quot;&lt;br /&gt;
		7 : &amp;quot;Candle B&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Candle C&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Fast strobe&amp;quot;&lt;br /&gt;
		9 : &amp;quot;Slow strobe&amp;quot;&lt;br /&gt;
		12 : &amp;quot;Underwater mutation&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	pattern(string) : &amp;quot;Custom Appearance&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Initially dark&amp;quot; : 0&lt;br /&gt;
		2048 : &amp;quot;Not in Deathmatch&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Door, ZHLT) = momentary_door : &amp;quot;Momentary/Continuous door&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Starts Open&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Targetname, Target, Angles, RenderFields, ZHLT) = momentary_rot_button : &amp;quot;Direct wheel control&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	speed(integer) : &amp;quot;Speed&amp;quot; : 50&lt;br /&gt;
	master(string) : &amp;quot;Master&amp;quot;&lt;br /&gt;
	sounds(choices) : &amp;quot;Sounds&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;None&amp;quot;&lt;br /&gt;
		1: &amp;quot;Big zap &amp;amp; Warmup&amp;quot;&lt;br /&gt;
		2: &amp;quot;Access Denied&amp;quot;&lt;br /&gt;
		3: &amp;quot;Access Granted&amp;quot;&lt;br /&gt;
		4: &amp;quot;Quick Combolock&amp;quot;&lt;br /&gt;
		5: &amp;quot;Power Deadbolt 1&amp;quot;&lt;br /&gt;
		6: &amp;quot;Power Deadbolt 2&amp;quot;&lt;br /&gt;
		7: &amp;quot;Plunger&amp;quot;&lt;br /&gt;
		8: &amp;quot;Small zap&amp;quot;&lt;br /&gt;
		9: &amp;quot;Keycard Sound&amp;quot;&lt;br /&gt;
		21: &amp;quot;Squeaky&amp;quot;&lt;br /&gt;
		22: &amp;quot;Squeaky Pneumatic&amp;quot;&lt;br /&gt;
		23: &amp;quot;Ratchet Groan&amp;quot;&lt;br /&gt;
		24: &amp;quot;Clean Ratchet&amp;quot;&lt;br /&gt;
		25: &amp;quot;Gas Clunk&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	noise(sound) : &amp;quot;Sound Override&amp;quot;&lt;br /&gt;
	distance(integer) : &amp;quot;Distance (deg)&amp;quot; : 90&lt;br /&gt;
	returnspeed(integer) : &amp;quot;Auto-return speed&amp;quot; : 0&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Door Hack&amp;quot; : 0&lt;br /&gt;
		2: &amp;quot;Not useable&amp;quot; : 0&lt;br /&gt;
		16: &amp;quot;Auto Return&amp;quot; : 0&lt;br /&gt;
		64: &amp;quot;X Axis&amp;quot; : 0&lt;br /&gt;
		128: &amp;quot;Y Axis&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	_minlight(integer) : &amp;quot;_minlight&amp;quot;&lt;br /&gt;
	use_type(choices) : &amp;quot;Use Type&amp;quot; : 2 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Off&amp;quot;&lt;br /&gt;
		1: &amp;quot;On&amp;quot;&lt;br /&gt;
		2: &amp;quot;Set&amp;quot;&lt;br /&gt;
		3: &amp;quot;Toggle&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-40 -40 0, 40 40 64) studio(&amp;quot;models/baby_voltigore.mdl&amp;quot;) = monster_alien_babyvoltigore : &amp;quot;Baby Voltigore&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	netname(string) : &amp;quot;Squad Name&amp;quot;&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		32 : &amp;quot;SquadLeader&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/controller.mdl&amp;quot;) = monster_alien_controller : &amp;quot;Controller&amp;quot;  []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-32 -32 0, 32 32 64) studio(&amp;quot;models/agrunt.mdl&amp;quot;) = monster_alien_grunt : &amp;quot;Alien Grunt&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	weapons(Choices) : &amp;quot;Weapons&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Hivehand Only&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Hivehand + Snarks&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Melee-Only&amp;quot;&lt;br /&gt;
		10 : &amp;quot;Melee-Only + Snarks&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	netname(string) : &amp;quot;Squad Name&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		32 : &amp;quot;SquadLeader&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/islave.mdl&amp;quot;) = monster_alien_slave : &amp;quot;Vortigaunt&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	netname(string) : &amp;quot;Squad Name&amp;quot;&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		32 : &amp;quot;SquadLeader&amp;quot; : 0&lt;br /&gt;
		64 : &amp;quot;IgnorePlayer&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-32 -32 0, 32 32 64) studio(&amp;quot;models/Tor.mdl&amp;quot;) = monster_alien_tor : &amp;quot;Alien Tor&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	netname(string) : &amp;quot;Squad Name&amp;quot;&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		32 : &amp;quot;SquadLeader&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-80 -80 0, 80 80 90) studio(&amp;quot;models/voltigore.mdl&amp;quot;) = monster_alien_voltigore : &amp;quot;Voltigore&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	netname(string) : &amp;quot;Squad Name&amp;quot;&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		32 : &amp;quot;SquadLeader&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-360 -360 -172, 360 360 8) studio(&amp;quot;models/apache.mdl&amp;quot;) = monster_apache : &amp;quot;Apache&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		8 : &amp;quot;NoWreckage&amp;quot;	: 0&lt;br /&gt;
		64 : &amp;quot;Start Inactive&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/massn.mdl&amp;quot;) = monster_assassin_repel : &amp;quot;Male Assassin (Repel)&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	netname(string) : &amp;quot;Squad Name&amp;quot;&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		32 : &amp;quot;SquadLeader&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	weapons(Choices) : &amp;quot;Weapons&amp;quot; : 3 =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;MP5&amp;quot;&lt;br /&gt;
		3 : &amp;quot;MP5 + HG&amp;quot;&lt;br /&gt;
		5 : &amp;quot;M16 + GL&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Sniper Rifle&amp;quot;&lt;br /&gt;
		10 : &amp;quot;Sniper Rifle + HG&amp;quot;&lt;br /&gt;
		32 : &amp;quot;No Weapons&amp;quot;&lt;br /&gt;
		256 : &amp;quot;Sniper - No drop&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	sequence(Choices) : &amp;quot;Animation Sequence (editor)&amp;quot; : 47 =&lt;br /&gt;
	[&lt;br /&gt;
		47 : &amp;quot;repel_repel&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 36) studio(&amp;quot;models/baby_headcrab.mdl&amp;quot;) = monster_babycrab : &amp;quot;Baby Headcrab&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-32 -32 0, 32 32 128) studio(&amp;quot;models/babygarg.mdl&amp;quot;) = monster_babygarg : &amp;quot;Baby Gargantua&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 -36, 16 16 0) studio(&amp;quot;models/barnacle.mdl&amp;quot;) = monster_barnacle : &amp;quot;Barnacle Monster&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster, TalkMonster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/barney.mdl&amp;quot;) = monster_barney : &amp;quot;Barney&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	sequence(Choices) : &amp;quot;Animation Sequence (editor)&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;idle1&amp;quot;&lt;br /&gt;
		19 : &amp;quot;locked_door&amp;quot;&lt;br /&gt;
		21 : &amp;quot;barn_Wave&amp;quot;&lt;br /&gt;
		22 : &amp;quot;beat_grunt&amp;quot;&lt;br /&gt;
		23 : &amp;quot;beat_gruntidle&amp;quot;&lt;br /&gt;
		24 : &amp;quot;flashlight&amp;quot;&lt;br /&gt;
		38 : &amp;quot;stuffed_in_vent&amp;quot;&lt;br /&gt;
		40 : &amp;quot;cprbarney&amp;quot;&lt;br /&gt;
		41 : &amp;quot;cprbarneyrevive&amp;quot;&lt;br /&gt;
		42 : &amp;quot;barney_dragvent&amp;quot;&lt;br /&gt;
		43 : &amp;quot;dying_barney&amp;quot;&lt;br /&gt;
		44 : &amp;quot;dying_barneyidle&amp;quot;&lt;br /&gt;
		45 : &amp;quot;dying_friend&amp;quot;&lt;br /&gt;
		46 : &amp;quot;dying_friendidle&amp;quot;&lt;br /&gt;
		47 : &amp;quot;c1a3_bidle&amp;quot;&lt;br /&gt;
		48 : &amp;quot;c1a3_ventb&amp;quot;&lt;br /&gt;
		49 : &amp;quot;c1a3_emergeidle&amp;quot;&lt;br /&gt;
		50 : &amp;quot;c1a3_emerge&amp;quot;&lt;br /&gt;
		51 : &amp;quot;haulbarney&amp;quot;&lt;br /&gt;
		52 : &amp;quot;intropush&amp;quot;&lt;br /&gt;
		53 : &amp;quot;fence&amp;quot;&lt;br /&gt;
		54 : &amp;quot;sit1&amp;quot;&lt;br /&gt;
		55 : &amp;quot;almostidle&amp;quot;&lt;br /&gt;
		56 : &amp;quot;almost&amp;quot;&lt;br /&gt;
		57 : &amp;quot;laseridle&amp;quot;&lt;br /&gt;
		58 : &amp;quot;laser_top&amp;quot;&lt;br /&gt;
		59 : &amp;quot;laser_bottom&amp;quot;&lt;br /&gt;
		60 : &amp;quot;barneyfallidle&amp;quot;&lt;br /&gt;
		61 : &amp;quot;barneyfall&amp;quot;&lt;br /&gt;
		62 : &amp;quot;c3a2_draw&amp;quot;&lt;br /&gt;
		63 : &amp;quot;unlatch&amp;quot;&lt;br /&gt;
		64 : &amp;quot;retina&amp;quot;&lt;br /&gt;
		65 : &amp;quot;relaxstand&amp;quot;&lt;br /&gt;
		66 : &amp;quot;assassinated&amp;quot;&lt;br /&gt;
		67 : &amp;quot;trackswitch&amp;quot;&lt;br /&gt;
		68 : &amp;quot;pepsiswing&amp;quot;&lt;br /&gt;
		69 : &amp;quot;pepsipush&amp;quot;&lt;br /&gt;
		70 : &amp;quot;buttonpush&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(RenderFields, Appearflags, Angles) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/barney.mdl&amp;quot;) = monster_barney_dead : &amp;quot;Dead Barney&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	pose(Choices) : &amp;quot;Pose&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;On back&amp;quot;&lt;br /&gt;
		1 : &amp;quot;On side&amp;quot;&lt;br /&gt;
		2 : &amp;quot;On stomach&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	sequence(Choices) : &amp;quot;Animation Sequence (editor)&amp;quot; : 35 =&lt;br /&gt;
	[&lt;br /&gt;
		35 : &amp;quot;lying_on_back&amp;quot;&lt;br /&gt;
		36 : &amp;quot;lying_on_side&amp;quot;&lt;br /&gt;
		37 : &amp;quot;lying_on_stomach&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	model(studio) : &amp;quot;Custom Model&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-95 -95 0, 95 95 190) studio(&amp;quot;models/big_mom.mdl&amp;quot;) = monster_bigmomma : &amp;quot;Big Mamma&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	netname(string) : &amp;quot;First node&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1024: &amp;quot;No Babycrabs&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-480 -480 -112, 480 480 24) studio(&amp;quot;models/blkop_osprey.mdl&amp;quot;) = monster_blkop_osprey : &amp;quot;Black Ops Osprey&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		64 : &amp;quot;Start Inactive&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-360 -360 -172, 360 360 8) studio(&amp;quot;models/blkop_apache.mdl&amp;quot;) = monster_blkop_apache : &amp;quot;Black Ops Apache&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		8 : &amp;quot;NoWreckage&amp;quot;	: 0&lt;br /&gt;
		64 : &amp;quot;Start Inactive&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/floater.mdl&amp;quot;) = monster_bloater : &amp;quot;Bloater&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/bgman.mdl&amp;quot;) = monster_bodyguard : &amp;quot;Body Guard&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	weapons(Choices) : &amp;quot;Weapons&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Random&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Pistol&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Desert Eagle&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Shotgun&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Akimbo Uzis&amp;quot;&lt;br /&gt;
		5 : &amp;quot;MP5&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Sniper Rifle&amp;quot;&lt;br /&gt;
		7 : &amp;quot;Minigun&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-32 -32 0, 32 32 64) studio(&amp;quot;models/bullsquid.mdl&amp;quot;) = monster_bullchicken : &amp;quot;BullChicken&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 36) studio(&amp;quot;models/chubby.mdl&amp;quot;) = monster_chumtoad : &amp;quot;Chumtoad&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster, TalkMonster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/cleansuit_scientist.mdl&amp;quot;) = monster_cleansuit_scientist : &amp;quot;Cleansuit Scientist&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	body(Choices) : &amp;quot;Body&amp;quot; : -1 =&lt;br /&gt;
	[&lt;br /&gt;
		-1 : &amp;quot;Random&amp;quot;&lt;br /&gt;
		0 : &amp;quot;Glasses&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Einstein&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Luther&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Slick&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	sequence(Choices) : &amp;quot;Animation Sequence (editor)&amp;quot; : 13 =&lt;br /&gt;
	[&lt;br /&gt;
		13 : &amp;quot;idle1&amp;quot;&lt;br /&gt;
		27 : &amp;quot;eye_wipe&amp;quot;&lt;br /&gt;
		28 : &amp;quot;pull_needle&amp;quot;&lt;br /&gt;
		29 : &amp;quot;return_needle&amp;quot;&lt;br /&gt;
		30 : &amp;quot;give_shot&amp;quot;&lt;br /&gt;
		41 : &amp;quot;germandeath&amp;quot;&lt;br /&gt;
		48 : &amp;quot;console&amp;quot;&lt;br /&gt;
		49 : &amp;quot;dryhands&amp;quot;&lt;br /&gt;
		50 : &amp;quot;tieshoe&amp;quot;&lt;br /&gt;
		51 : &amp;quot;whiteboard&amp;quot;&lt;br /&gt;
		52 : &amp;quot;studycart&amp;quot;&lt;br /&gt;
		53 : &amp;quot;lean&amp;quot;&lt;br /&gt;
		54 : &amp;quot;pondering&amp;quot;&lt;br /&gt;
		55 : &amp;quot;pondering2&amp;quot;&lt;br /&gt;
		56 : &amp;quot;pondering3&amp;quot;&lt;br /&gt;
		57 : &amp;quot;buysoda&amp;quot;&lt;br /&gt;
		61 : &amp;quot;push_button&amp;quot;&lt;br /&gt;
		62 : &amp;quot;converse1&amp;quot;&lt;br /&gt;
		63 : &amp;quot;converse2&amp;quot;&lt;br /&gt;
		64 : &amp;quot;retina&amp;quot;&lt;br /&gt;
		65 : &amp;quot;talkleft&amp;quot;&lt;br /&gt;
		66 : &amp;quot;talkright&amp;quot;&lt;br /&gt;
		67 : &amp;quot;deskidle&amp;quot;&lt;br /&gt;
		68 : &amp;quot;coffee&amp;quot;&lt;br /&gt;
		69 : &amp;quot;franticbutton&amp;quot;&lt;br /&gt;
		71 : &amp;quot;scientist_throwna&amp;quot;&lt;br /&gt;
		72 : &amp;quot;scientist_thrownb&amp;quot;&lt;br /&gt;
		73 : &amp;quot;scientist_beatwindow&amp;quot;&lt;br /&gt;
		75 : &amp;quot;scientist_zombiefear&amp;quot;&lt;br /&gt;
		77 : &amp;quot;teleport_fidget&amp;quot;&lt;br /&gt;
		79 : &amp;quot;sitlookleft&amp;quot;&lt;br /&gt;
		80 : &amp;quot;sitlookright&amp;quot;&lt;br /&gt;
		81 : &amp;quot;sitscared&amp;quot;&lt;br /&gt;
		82 : &amp;quot;sitting2&amp;quot;&lt;br /&gt;
		83 : &amp;quot;sitting3&amp;quot;&lt;br /&gt;
		84 : &amp;quot;cprscientist&amp;quot;&lt;br /&gt;
		85 : &amp;quot;cprscientistrevive&amp;quot;&lt;br /&gt;
		86 : &amp;quot;cowering_in_corner&amp;quot;&lt;br /&gt;
		87 : &amp;quot;sstruggleidle&amp;quot;&lt;br /&gt;
		88 : &amp;quot;sstruggle&amp;quot;&lt;br /&gt;
		89 : &amp;quot;headcrabbed&amp;quot;&lt;br /&gt;
		90 : &amp;quot;c1a0_catwalkidle&amp;quot;&lt;br /&gt;
		91 : &amp;quot;c1a0_catwalk&amp;quot;&lt;br /&gt;
		92 : &amp;quot;ceiling_dangle&amp;quot;&lt;br /&gt;
		93 : &amp;quot;ventpull1&amp;quot;&lt;br /&gt;
		94 : &amp;quot;ventpull2&amp;quot;&lt;br /&gt;
		95 : &amp;quot;ventpullidle1&amp;quot;&lt;br /&gt;
		96 : &amp;quot;ventpullidle2&amp;quot;&lt;br /&gt;
		97 : &amp;quot;sitidle&amp;quot;&lt;br /&gt;
		98 : &amp;quot;sitstand&amp;quot;&lt;br /&gt;
		99 : &amp;quot;keypad&amp;quot;&lt;br /&gt;
		101 : &amp;quot;lookwindow&amp;quot;&lt;br /&gt;
		102 : &amp;quot;wave&amp;quot;&lt;br /&gt;
		103 : &amp;quot;pulldoor&amp;quot;&lt;br /&gt;
		104 : &amp;quot;beatdoor&amp;quot;&lt;br /&gt;
		105 : &amp;quot;fallingloop&amp;quot;&lt;br /&gt;
		106 : &amp;quot;crawlwindow&amp;quot;&lt;br /&gt;
		107 : &amp;quot;divewindow&amp;quot;&lt;br /&gt;
		108 : &amp;quot;locked_door&amp;quot;&lt;br /&gt;
		109 : &amp;quot;push_button2&amp;quot;&lt;br /&gt;
		110 : &amp;quot;unlock_door&amp;quot;&lt;br /&gt;
		112 : &amp;quot;handrailidle&amp;quot;&lt;br /&gt;
		113 : &amp;quot;handrail&amp;quot;&lt;br /&gt;
		114 : &amp;quot;hanging_idle&amp;quot;&lt;br /&gt;
		115 : &amp;quot;fall&amp;quot;&lt;br /&gt;
		116 : &amp;quot;scientist_get_pulled&amp;quot;&lt;br /&gt;
		117 : &amp;quot;hanging_idle2&amp;quot;&lt;br /&gt;
		118 : &amp;quot;fall_elevator&amp;quot;&lt;br /&gt;
		119 : &amp;quot;scientist_idlewall&amp;quot;&lt;br /&gt;
		120 : &amp;quot;ickyjump_sci&amp;quot;&lt;br /&gt;
		121 : &amp;quot;haulscientist&amp;quot;&lt;br /&gt;
		122 : &amp;quot;c1a4_wounded_idle&amp;quot;&lt;br /&gt;
		123 : &amp;quot;c1a4_dying_speech&amp;quot;&lt;br /&gt;
		124 : &amp;quot;tentacle_grab&amp;quot;&lt;br /&gt;
		125 : &amp;quot;helicack&amp;quot;&lt;br /&gt;
		126 : &amp;quot;windive&amp;quot;&lt;br /&gt;
		127 : &amp;quot;scicrashidle&amp;quot;&lt;br /&gt;
		128 : &amp;quot;scicrash&amp;quot;&lt;br /&gt;
		129 : &amp;quot;onguard&amp;quot;&lt;br /&gt;
		130 : &amp;quot;seeya&amp;quot;&lt;br /&gt;
		131 : &amp;quot;rocketcrawl&amp;quot;&lt;br /&gt;
		132 : &amp;quot;portal&amp;quot;&lt;br /&gt;
		133 : &amp;quot;gluonshow&amp;quot;&lt;br /&gt;
		135 : &amp;quot;kneel&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Appearflags, RenderFields, Angles) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/cleansuit_scientist.mdl&amp;quot;) = monster_cleansuit_scientist_dead : &amp;quot;Dead Cleansuit Scientist&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	body(Choices) : &amp;quot;Body&amp;quot; : -1 =&lt;br /&gt;
	[&lt;br /&gt;
		-1 : &amp;quot;Random&amp;quot;&lt;br /&gt;
		0 : &amp;quot;Glasses&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Einstein&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Luther&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Slick&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	pose(Choices) : &amp;quot;Pose&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;On back&amp;quot;&lt;br /&gt;
		1 : &amp;quot;On Stomach&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Sitting&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Hanging&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Table1&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Table2&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Table3&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	sequence(Choices) : &amp;quot;Animation Sequence (editor)&amp;quot; : 37 =&lt;br /&gt;
	[&lt;br /&gt;
		37 : &amp;quot;lying_on_back&amp;quot;&lt;br /&gt;
		38 : &amp;quot;lying_on_stomach&amp;quot;&lt;br /&gt;
		39 : &amp;quot;dead_sitting&amp;quot;&lt;br /&gt;
		40 : &amp;quot;dead_table1&amp;quot;&lt;br /&gt;
		41 : &amp;quot;dead_table2&amp;quot;&lt;br /&gt;
		42 : &amp;quot;dead_table3&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	model(studio) : &amp;quot;Custom Model&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-3 -3 0, 3 3 3) studio(&amp;quot;models/roach.mdl&amp;quot;) = monster_cockroach : &amp;quot;Cockroach&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 72) studio() = monster_furniture : &amp;quot;Monster Furniture&amp;quot; [&lt;br /&gt;
	sequence(string) : &amp;quot;Animation Sequence (Number)&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-32 -32 0, 32 32 128) studio(&amp;quot;models/garg.mdl&amp;quot;) = monster_gargantua : &amp;quot;Gargantua&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster, RenderFields) size(-16 -16 -36, 16 16 36) studio() = monster_generic : &amp;quot;Generic Script Monster&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	sequence(string) : &amp;quot;Animation Sequence (Number)&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		4 : &amp;quot;Not solid&amp;quot;	: 0&lt;br /&gt;
		8 : &amp;quot;Head Controller&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	disableai(choices) : &amp;quot;Disable AI&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/gman.mdl&amp;quot;) = monster_gman : &amp;quot;G-Man&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/gonome.mdl&amp;quot;) = monster_gonome : &amp;quot;Gonome&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(RenderFields, Appearflags, Angles) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/gonome.mdl&amp;quot;) = monster_gonome_dead : &amp;quot;Dead Gonome&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	pose(Choices) : &amp;quot;Pose&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;On stomach&amp;quot;&lt;br /&gt;
		1 : &amp;quot;On back&amp;quot;&lt;br /&gt;
		2 : &amp;quot;On side&amp;quot;&lt;br /&gt;
		3 : &amp;quot;On stomach&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	sequence(Choices) : &amp;quot;Animation Sequence (editor)&amp;quot; : 19 =&lt;br /&gt;
	[&lt;br /&gt;
		19 : &amp;quot;dead_on_stomach1_1&amp;quot;&lt;br /&gt;
		20 : &amp;quot;dead_on_back&amp;quot;&lt;br /&gt;
		21 : &amp;quot;dead_on_stomach1_2&amp;quot;&lt;br /&gt;
		22 : &amp;quot;dead_on_side&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	model(studio) : &amp;quot;Custom Model&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/hgrunt_opfor.mdl&amp;quot;) = monster_grunt_ally_repel : &amp;quot;Human Grunt Ally (Repel)&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	netname(string) : &amp;quot;Squad Name&amp;quot;&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		32 : &amp;quot;SquadLeader&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	weapons(Choices) : &amp;quot;Weapons&amp;quot; : 3 =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;MP5&amp;quot;&lt;br /&gt;
		3 : &amp;quot;MP5 + HG&amp;quot;&lt;br /&gt;
		5 : &amp;quot;M16 + GL&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Shotgun&amp;quot;&lt;br /&gt;
		10 : &amp;quot;Shotgun + HG&amp;quot;&lt;br /&gt;
		16 : &amp;quot;Saw&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	head(Choices) : &amp;quot;Heads&amp;quot; : -1 =&lt;br /&gt;
	[&lt;br /&gt;
		-1 : &amp;quot;Default&amp;quot;&lt;br /&gt;
		0 : &amp;quot;Gas Mask&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Beret&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Ops Mask&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Bandana White&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Bandana Black&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	sequence(Choices) : &amp;quot;Animation Sequence (editor)&amp;quot; : 51 =&lt;br /&gt;
	[&lt;br /&gt;
		51 : &amp;quot;repel_repel&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/hgrunt.mdl&amp;quot;) = monster_grunt_repel : &amp;quot;Human Grunt (Repel)&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	netname(string) : &amp;quot;Squad Name&amp;quot;&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		32 : &amp;quot;SquadLeader&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	weapons(Choices) : &amp;quot;Weapons&amp;quot; : 1 =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;MP5&amp;quot;&lt;br /&gt;
		3 : &amp;quot;MP5 + HG&amp;quot;&lt;br /&gt;
		5 : &amp;quot;M16 + GL&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Shotgun&amp;quot;&lt;br /&gt;
		10 : &amp;quot;Shotgun + HG&amp;quot;&lt;br /&gt;
		64 : &amp;quot;Rocket Launcher&amp;quot;&lt;br /&gt;
		66 : &amp;quot;Rocket Launcher + HG&amp;quot;&lt;br /&gt;
		128 : &amp;quot;Sniper Rifle&amp;quot;&lt;br /&gt;
		130 : &amp;quot;Sniper Rifle + HG&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	sequence(Choices) : &amp;quot;Animation Sequence (editor)&amp;quot; : 50 =&lt;br /&gt;
	[&lt;br /&gt;
		50 : &amp;quot;repel_repel&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(RenderFields, Appearflags, Angles) = monster_handgrenade : &amp;quot;Live Handgrenade&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	health(integer) : &amp;quot;Delay before explosion&amp;quot; : 0&lt;br /&gt;
	new_model(studio) : &amp;quot;Custom Model&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 36) studio(&amp;quot;models/headcrab.mdl&amp;quot;) = monster_headcrab : &amp;quot;Head Crab&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Appearflags, RenderFields, Angles) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/player.mdl&amp;quot;) = monster_hevsuit_dead : &amp;quot;Dead HEV Suit&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	pose(Choices) : &amp;quot;Pose&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;On back&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Seated&amp;quot;&lt;br /&gt;
		2 : &amp;quot;On stomach&amp;quot;&lt;br /&gt;
		3 : &amp;quot;On Table&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	sequence(Choices) : &amp;quot;Animation Sequence (editor)&amp;quot; : 177 =&lt;br /&gt;
	[&lt;br /&gt;
		177 : &amp;quot;deadback&amp;quot;&lt;br /&gt;
		178 : &amp;quot;deadsitting&amp;quot;&lt;br /&gt;
		179 : &amp;quot;deadstomach&amp;quot;&lt;br /&gt;
		180 : &amp;quot;deadtable&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	model(studio) : &amp;quot;Custom Model&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Appearflags, RenderFields, Angles) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/hgrunt.mdl&amp;quot;) = monster_hgrunt_dead : &amp;quot;Dead Human Grunt&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	pose(Choices) : &amp;quot;Pose&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;On stomach&amp;quot;&lt;br /&gt;
		1 : &amp;quot;On side&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Seated&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	sequence(Choices) : &amp;quot;Animation Sequence (editor)&amp;quot; : 46 =&lt;br /&gt;
	[&lt;br /&gt;
		46 : &amp;quot;On stomach&amp;quot;&lt;br /&gt;
		47 : &amp;quot;On side&amp;quot;&lt;br /&gt;
		48 : &amp;quot;Seated&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	body(Choices) : &amp;quot;Body&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Grunt with Gun&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Commander with Gun&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Grunt no Gun&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Commander no Gun&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	model(studio) : &amp;quot;Custom Model&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 36) studio(&amp;quot;models/houndeye.mdl&amp;quot;) = monster_houndeye : &amp;quot;Houndeye&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	netname(string) : &amp;quot;Squad Name&amp;quot;&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		32 : &amp;quot;SquadLeader&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/hassassin.mdl&amp;quot;) = monster_human_assassin : &amp;quot;Human Assassin&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/hgrunt.mdl&amp;quot;) = monster_human_grunt : &amp;quot;Human Grunt (camo)&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		32 : &amp;quot;SquadLeader&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	netname(string) : &amp;quot;Squad Name&amp;quot;&lt;br /&gt;
	weapons(Choices) : &amp;quot;Weapons&amp;quot; : 1 =&lt;br /&gt;
	[&lt;br /&gt;
		1  : &amp;quot;MP5&amp;quot;&lt;br /&gt;
		3  : &amp;quot;MP5 + HG&amp;quot;&lt;br /&gt;
		5  : &amp;quot;M16 + GL&amp;quot;&lt;br /&gt;
		8  : &amp;quot;Shotgun&amp;quot;&lt;br /&gt;
		10 : &amp;quot;Shotgun + HG&amp;quot;&lt;br /&gt;
		64 : &amp;quot;Rocket Launcher&amp;quot;&lt;br /&gt;
		66 : &amp;quot;Rocket Launcher + HG&amp;quot;&lt;br /&gt;
		128 : &amp;quot;Sniper Rifle&amp;quot;&lt;br /&gt;
		130 : &amp;quot;Sniper Rifle + HG&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster, TalkMonster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/hgruntf.mdl&amp;quot;) = monster_human_grunt_ally : &amp;quot;Human Grunt Ally (camo)&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	netname(string) : &amp;quot;Squad Name&amp;quot;&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		32 : &amp;quot;SquadLeader&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	weapons(Choices) : &amp;quot;Weapons&amp;quot; : 3 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Default&amp;quot;&lt;br /&gt;
		1 : &amp;quot;MP5&amp;quot;&lt;br /&gt;
		3 : &amp;quot;MP5 + HG&amp;quot;&lt;br /&gt;
		5 : &amp;quot;M16 + GL&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Shotgun&amp;quot;&lt;br /&gt;
		10 : &amp;quot;Shotgun + HG&amp;quot;&lt;br /&gt;
		16 : &amp;quot;Saw&amp;quot;&lt;br /&gt;
		32 : &amp;quot;None&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	head(Choices) : &amp;quot;Heads&amp;quot; : -1 =&lt;br /&gt;
	[&lt;br /&gt;
		-1 : &amp;quot;Default&amp;quot;&lt;br /&gt;
		0 : &amp;quot;Gas Mask&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Beret&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Ops Mask&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Bandana White&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Bandana Black&amp;quot;&lt;br /&gt;
		5 : &amp;quot;MP&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Major&amp;quot;&lt;br /&gt;
		7 : &amp;quot;Beret (Black)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Appearflags, RenderFields, Angles) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/hgruntf.mdl&amp;quot;) = monster_human_grunt_ally_dead : &amp;quot;Dead Human Grunt Ally&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	pose(Choices) : &amp;quot;Pose&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;On stomach&amp;quot;&lt;br /&gt;
		1 : &amp;quot;On side&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Seated&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Dead On Back&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Dead On Stomach&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Head Crabbed&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	sequence(Choices) : &amp;quot;Animation Sequence (editor)&amp;quot; : 44 =&lt;br /&gt;
	[&lt;br /&gt;
		44 : &amp;quot;On stomach&amp;quot;&lt;br /&gt;
		45 : &amp;quot;On side&amp;quot;&lt;br /&gt;
		46 : &amp;quot;Seated&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	weapons(Choices) : &amp;quot;Weapons&amp;quot; : 1 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;None&amp;quot;&lt;br /&gt;
		1 : &amp;quot;M16&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Shotgun&amp;quot;&lt;br /&gt;
		16 : &amp;quot;Saw&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	head(Choices) : &amp;quot;Heads&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Gas Mask&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Beret&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Ops Mask&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Bandana White&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Bandana Black&amp;quot;&lt;br /&gt;
		5 : &amp;quot;MP&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	model(studio) : &amp;quot;Custom Model&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster, TalkMonster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/hgrunt_medicf.mdl&amp;quot;) = monster_human_medic_ally : &amp;quot;Medic&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	netname(string) : &amp;quot;Squad Name&amp;quot;&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		32 : &amp;quot;SquadLeader&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	head(Choices) : &amp;quot;Heads&amp;quot; : -1 =&lt;br /&gt;
	[&lt;br /&gt;
		-1 : &amp;quot;Random&amp;quot;&lt;br /&gt;
		0 : &amp;quot;White&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Black&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	weapons(Choices) : &amp;quot;Weapons&amp;quot; : 2 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;None&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Desert Eagle&amp;quot;&lt;br /&gt;
		2 : &amp;quot;9mm Handgun&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Hypodermic Needle&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Appearflags, RenderFields, Angles) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/hgrunt_medicf.mdl&amp;quot;) = monster_human_medic_ally_dead : &amp;quot;Dead Medic&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	pose(Choices) : &amp;quot;Pose&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;On stomach&amp;quot;&lt;br /&gt;
		1 : &amp;quot;On side&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Seated&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Dead On Back&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Dead On Stomach&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Head Crabbed&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	sequence(Choices) : &amp;quot;Animation Sequence (editor)&amp;quot; : 44 =&lt;br /&gt;
	[&lt;br /&gt;
		44 : &amp;quot;On stomach&amp;quot;&lt;br /&gt;
		45 : &amp;quot;On side&amp;quot;&lt;br /&gt;
		46 : &amp;quot;Seated&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	weapons(Choices) : &amp;quot;Weapons&amp;quot; : 2 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;None&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Desert Eagle&amp;quot;&lt;br /&gt;
		2 : &amp;quot;9mm Handgun&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Hypodermic Needle&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	head(Choices) : &amp;quot;Heads&amp;quot; : -1 =&lt;br /&gt;
	[&lt;br /&gt;
		-1 : &amp;quot;Random&amp;quot;&lt;br /&gt;
		0 : &amp;quot;White&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Black&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	model(studio) : &amp;quot;Custom Model&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster, TalkMonster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/hgrunt_torchf.mdl&amp;quot;) = monster_human_torch_ally : &amp;quot;Torch&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	netname(string) : &amp;quot;Squad Name&amp;quot;&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		32 : &amp;quot;SquadLeader&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	weapons(Choices) : &amp;quot;Weapons&amp;quot; : 1 =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Desert Eagle&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Blow Torch&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/hwgrunt.mdl&amp;quot;) = monster_hwgrunt : &amp;quot;Heavy Weapons Grunt&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	netname(string) : &amp;quot;Squad Name&amp;quot;&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		32 : &amp;quot;SquadLeader&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	weapons(Choices) : &amp;quot;Secondary Weapon&amp;quot; : 1 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Random Pistol&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Glock&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Desert Eagle&amp;quot;&lt;br /&gt;
		3 : &amp;quot;357 Python&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	disable_minigun_drop(Choices) : &amp;quot;Disable Minigun Drop&amp;quot; : 1 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No (default)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/hwgrunt.mdl&amp;quot;) = monster_hwgrunt_repel : &amp;quot;Heavy Weapons Grunt (Repel)&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	netname(string) : &amp;quot;Squad Name&amp;quot;&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		32 : &amp;quot;SquadLeader&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	sequence(Choices) : &amp;quot;Animation Sequence (editor)&amp;quot; : 14 =&lt;br /&gt;
	[&lt;br /&gt;
		14 : &amp;quot;repel_repel&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	weapons(Choices) : &amp;quot;Drop Minigun&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Yes (on death)&amp;quot;&lt;br /&gt;
		256 : &amp;quot;No&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-32 -32 0, 32 32 64) studio(&amp;quot;models/icky.mdl&amp;quot;) = monster_ichthyosaur : &amp;quot;Ichthyosaur&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-24 -24 0, 24 24 112) studio(&amp;quot;models/kingpin.mdl&amp;quot;) = monster_kingpin : &amp;quot;Kingpin&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-6 -6 0, 6 6 6) studio(&amp;quot;models/leech.mdl&amp;quot;) = monster_leech : &amp;quot;Leech&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/massn.mdl&amp;quot;) = monster_male_assassin : &amp;quot;Male Assassin&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	netname(string) : &amp;quot;Squad Name&amp;quot;&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		32 : &amp;quot;SquadLeader&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	head(Choices) : &amp;quot;Heads&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		-1 : &amp;quot;Random&amp;quot;&lt;br /&gt;
		0 : &amp;quot;Ski Mask White&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Ski Mask Black&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Night Goggles&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	weapons(Choices) : &amp;quot;Weapons&amp;quot; : 3 =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;MP5&amp;quot;&lt;br /&gt;
		3 : &amp;quot;MP5 + HG&amp;quot;&lt;br /&gt;
		5 : &amp;quot;M16 + GL&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Sniper Rifle&amp;quot;&lt;br /&gt;
		10 : &amp;quot;Sniper Rifle + HG&amp;quot;&lt;br /&gt;
		32 : &amp;quot;No Weapons&amp;quot;&lt;br /&gt;
		256 : &amp;quot;Sniper - No drop&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/hgrunt_medicf.mdl&amp;quot;) = monster_medic_ally_repel : &amp;quot;Human Medic Ally (Repel)&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	netname(string) : &amp;quot;Squad Name&amp;quot;&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		32 : &amp;quot;SquadLeader&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	head(Choices) : &amp;quot;Heads&amp;quot; : -1 =&lt;br /&gt;
	[&lt;br /&gt;
		-1 : &amp;quot;Random&amp;quot;&lt;br /&gt;
		0 : &amp;quot;White&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Black&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	weapons(Choices) : &amp;quot;Weapons&amp;quot; : 2 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;None&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Desert Eagle&amp;quot;&lt;br /&gt;
		2 : &amp;quot;9mm Handgun&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Hypodermic Needle&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	sequence(Choices) : &amp;quot;Animation Sequence (editor)&amp;quot; : 41 =&lt;br /&gt;
	[&lt;br /&gt;
		41 : &amp;quot;repel_repel&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 -32, 16 16 32) studio(&amp;quot;models/miniturret.mdl&amp;quot;) = monster_miniturret : &amp;quot;Mini Auto Turret&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	orientation(Choices) : &amp;quot;Orientation&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Floor Mount&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Ceiling Mount&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		32 : &amp;quot;Autostart&amp;quot; : 0&lt;br /&gt;
		64 : &amp;quot;Start Inactive&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	maxsleep(string) : &amp;quot;Search Time (before deactivate)&amp;quot; : &amp;quot;15&amp;quot;&lt;br /&gt;
	turnrate(integer) : &amp;quot;Turn Rate&amp;quot; : 30&lt;br /&gt;
	attackrange(integer) : &amp;quot;Max Attack Range&amp;quot; : 1200&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-192 -192 0, 192 192 384) studio(&amp;quot;models/nihilanth.mdl&amp;quot;) = monster_nihilanth : &amp;quot;Nihilanth&amp;quot;  []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-480 -480 -112, 480 480 24) studio(&amp;quot;models/osprey.mdl&amp;quot;) = monster_osprey : &amp;quot;Osprey&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		64 : &amp;quot;Start Inactive&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	// If Random grunttype is set, osprey will look for NORMAL grunts.&lt;br /&gt;
	// Mapper can override number of grunts if desired, instead.&lt;br /&gt;
&lt;br /&gt;
	grunttype(Choices) : &amp;quot;Grunt Type&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Human Grunts (default)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Opposing Force Grunts&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		// Human Grunts and Opposing Force grunts will drop&lt;br /&gt;
		2 : &amp;quot;Random&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		// HWGrunt will have a small chance of appearing if set&lt;br /&gt;
		3 : &amp;quot;Random + HWGrunt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		// HWGrunt and Sniper will have a small chance of appearing if set&lt;br /&gt;
		4 : &amp;quot;Random + HWGrunt/Sniper&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	num(integer) : &amp;quot;(Override) Number of Grunts&amp;quot; : 0&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster, TalkMonster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/otis.mdl&amp;quot;) = monster_otis : &amp;quot;Otis&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	bodystate(Choices) : &amp;quot;bodystate&amp;quot; : -1 =&lt;br /&gt;
	[&lt;br /&gt;
		-1 : &amp;quot;Random&amp;quot;&lt;br /&gt;
		0 : &amp;quot;Gun Holstered&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Gun Drawn&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Donut&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	head(Choices) : &amp;quot;head&amp;quot; : -1 =&lt;br /&gt;
	[&lt;br /&gt;
		-1 : &amp;quot;Random&amp;quot;&lt;br /&gt;
		0 : &amp;quot;Bald Head&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Head with hair&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	sequence(Choices) : &amp;quot;Animation Sequence (editor)&amp;quot; : 0 =&lt;br /&gt;
		[&lt;br /&gt;
			0 : &amp;quot;idle1&amp;quot;&lt;br /&gt;
			19 : &amp;quot;locked_door&amp;quot;&lt;br /&gt;
			21 : &amp;quot;barn_Wave&amp;quot;&lt;br /&gt;
			22 : &amp;quot;beat_grunt&amp;quot;&lt;br /&gt;
			23 : &amp;quot;beat_gruntidle&amp;quot;&lt;br /&gt;
			24 : &amp;quot;flashlight&amp;quot;&lt;br /&gt;
			41 : &amp;quot;cprbarney&amp;quot;&lt;br /&gt;
			42 : &amp;quot;cprbarneyrevive&amp;quot;&lt;br /&gt;
			43 : &amp;quot;barney_dragvent&amp;quot;&lt;br /&gt;
			44 : &amp;quot;dying_barney&amp;quot;&lt;br /&gt;
			45 : &amp;quot;dying_barneyidle&amp;quot;&lt;br /&gt;
			46 : &amp;quot;dying_friend&amp;quot;&lt;br /&gt;
			47 : &amp;quot;dying_friendidle&amp;quot;&lt;br /&gt;
			48 : &amp;quot;c1a3_bidle&amp;quot;&lt;br /&gt;
			49 : &amp;quot;intropush&amp;quot;&lt;br /&gt;
			50 : &amp;quot;fence&amp;quot;&lt;br /&gt;
			51 : &amp;quot;wave&amp;quot;&lt;br /&gt;
			52 : &amp;quot;unlatch&amp;quot;&lt;br /&gt;
			53 : &amp;quot;retina&amp;quot;&lt;br /&gt;
			54 : &amp;quot;relaxstand&amp;quot;&lt;br /&gt;
			55 : &amp;quot;trackswitch&amp;quot;&lt;br /&gt;
			56 : &amp;quot;pepsiswing&amp;quot;&lt;br /&gt;
			57 : &amp;quot;pepsipush&amp;quot;&lt;br /&gt;
			58 : &amp;quot;buttonpush&amp;quot;&lt;br /&gt;
			59 : &amp;quot;cowering&amp;quot;&lt;br /&gt;
			60 : &amp;quot;candygrab&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(RenderFields, Appearflags, Angles) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/otis.mdl&amp;quot;) = monster_otis_dead : &amp;quot;Dead Otis&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	pose(Choices) : &amp;quot;Pose&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;On back&amp;quot;&lt;br /&gt;
		1 : &amp;quot;On side&amp;quot;&lt;br /&gt;
		2 : &amp;quot;On stomach&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Stuffed in Vent&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Dead Sitting&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	sequence(Choices) : &amp;quot;Animation Sequence (editor)&amp;quot; : 35 =&lt;br /&gt;
	[&lt;br /&gt;
		35 : &amp;quot;lying_on_back&amp;quot;&lt;br /&gt;
		36 : &amp;quot;lying_on_side&amp;quot;&lt;br /&gt;
		37 : &amp;quot;lying_on_stomach&amp;quot;&lt;br /&gt;
		38 : &amp;quot;stuffed_in_vent&amp;quot;&lt;br /&gt;
		39 : &amp;quot;dead_sitting&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	model(studio) : &amp;quot;Custom Model&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-24 -24 0, 24 24 32) studio(&amp;quot;models/pit_drone.mdl&amp;quot;) = monster_pitdrone : &amp;quot;Pit Drone&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		32 : &amp;quot;SquadLeader&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	netname(string) : &amp;quot;Squad Name&amp;quot;&lt;br /&gt;
	initammo(string) : &amp;quot;Initial Ammo&amp;quot; : &amp;quot;6&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-6 -6 0, 6 6 6) studio(&amp;quot;models/bigrat.mdl&amp;quot;) = monster_rat : &amp;quot;Rat&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/rgrunt.mdl&amp;quot;) = monster_robogrunt : &amp;quot;Robot Grunt&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		32 : &amp;quot;SquadLeader&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	netname(string) : &amp;quot;Squad Name&amp;quot;&lt;br /&gt;
	weapons(Choices) : &amp;quot;Weapons&amp;quot; : 1 =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;MP5&amp;quot;&lt;br /&gt;
		3 : &amp;quot;MP5 + HG&amp;quot;&lt;br /&gt;
		5 : &amp;quot;M16 + GL&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Shotgun&amp;quot;&lt;br /&gt;
		10 : &amp;quot;Shotgun + HG&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/rgrunt.mdl&amp;quot;) = monster_robogrunt_repel : &amp;quot;Robot Grunt&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	weapons(Choices) : &amp;quot;Weapons&amp;quot; : 1 =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;MP5&amp;quot;&lt;br /&gt;
		3 : &amp;quot;MP5 + HG&amp;quot;&lt;br /&gt;
		5 : &amp;quot;M16 + GL&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Shotgun&amp;quot;&lt;br /&gt;
		10 : &amp;quot;Shotgun + HG&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	sequence(Choices) : &amp;quot;Animation Sequence (editor)&amp;quot; : 48 =&lt;br /&gt;
	[&lt;br /&gt;
		48 : &amp;quot;repel_repel&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx, RenderFields) studio(&amp;quot;models/w_satchel.mdl&amp;quot;) = monster_satchel : &amp;quot;Live Satchel Charge&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster, TalkMonster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/scientist.mdl&amp;quot;) = monster_scientist : &amp;quot;Scared Scientist&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	body(Choices) : &amp;quot;Body&amp;quot; : -1 =&lt;br /&gt;
	[&lt;br /&gt;
		-1 : &amp;quot;Random&amp;quot;&lt;br /&gt;
		0 : &amp;quot;Glasses&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Einstein&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Luther&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Slick&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	sequence(Choices) : &amp;quot;Animation Sequence (editor)&amp;quot; : 13 =&lt;br /&gt;
	[&lt;br /&gt;
		13 : &amp;quot;idle1&amp;quot;&lt;br /&gt;
		27 : &amp;quot;eye_wipe&amp;quot;&lt;br /&gt;
		28 : &amp;quot;pull_needle&amp;quot;&lt;br /&gt;
		29 : &amp;quot;return_needle&amp;quot;&lt;br /&gt;
		30 : &amp;quot;give_shot&amp;quot;&lt;br /&gt;
		37 : &amp;quot;lying_on_back&amp;quot;&lt;br /&gt;
		38 : &amp;quot;lying_on_stomach&amp;quot;&lt;br /&gt;
		39 : &amp;quot;dead_sitting&amp;quot;&lt;br /&gt;
		40 : &amp;quot;dead_table1&amp;quot;&lt;br /&gt;
		41 : &amp;quot;dead_table2&amp;quot;&lt;br /&gt;
		42 : &amp;quot;dead_table3&amp;quot;&lt;br /&gt;
		47 : &amp;quot;console&amp;quot;&lt;br /&gt;
		48 : &amp;quot;checktie&amp;quot;&lt;br /&gt;
		49 : &amp;quot;dryhands&amp;quot;&lt;br /&gt;
		50 : &amp;quot;tieshoe&amp;quot;&lt;br /&gt;
		51 : &amp;quot;whiteboard&amp;quot;&lt;br /&gt;
		52 : &amp;quot;studycart&amp;quot;&lt;br /&gt;
		53 : &amp;quot;lean&amp;quot;&lt;br /&gt;
		54 : &amp;quot;pondering&amp;quot;&lt;br /&gt;
		55 : &amp;quot;pondering2&amp;quot;&lt;br /&gt;
		56 : &amp;quot;pondering3&amp;quot;&lt;br /&gt;
		57 : &amp;quot;buysoda&amp;quot;&lt;br /&gt;
		61 : &amp;quot;push_button&amp;quot;&lt;br /&gt;
		62 : &amp;quot;converse1&amp;quot;&lt;br /&gt;
		63 : &amp;quot;converse2&amp;quot;&lt;br /&gt;
		64 : &amp;quot;retina&amp;quot;&lt;br /&gt;
		65 : &amp;quot;talkleft&amp;quot;&lt;br /&gt;
		66 : &amp;quot;talkright&amp;quot;&lt;br /&gt;
		67 : &amp;quot;deskidle&amp;quot;&lt;br /&gt;
		68 : &amp;quot;coffee&amp;quot;&lt;br /&gt;
		69 : &amp;quot;franticbutton&amp;quot;&lt;br /&gt;
		71 : &amp;quot;sitlookleft&amp;quot;&lt;br /&gt;
		72 : &amp;quot;sitlookright&amp;quot;&lt;br /&gt;
		73 : &amp;quot;sitscared&amp;quot;&lt;br /&gt;
		74 : &amp;quot;sitting2&amp;quot;&lt;br /&gt;
		75 : &amp;quot;sitting3&amp;quot;&lt;br /&gt;
		76 : &amp;quot;cprscientist&amp;quot;&lt;br /&gt;
		77 : &amp;quot;cprscientistrevive&amp;quot;&lt;br /&gt;
		78 : &amp;quot;cowering_in_corner&amp;quot;&lt;br /&gt;
		79 : &amp;quot;sstruggleidle&amp;quot;&lt;br /&gt;
		80 : &amp;quot;sstruggle&amp;quot;&lt;br /&gt;
		81 : &amp;quot;headcrabbed&amp;quot;&lt;br /&gt;
		82 : &amp;quot;c1a0_catwalkidle&amp;quot;&lt;br /&gt;
		83 : &amp;quot;c1a0_catwalk&amp;quot;&lt;br /&gt;
		84 : &amp;quot;ceiling_dangle&amp;quot;&lt;br /&gt;
		85 : &amp;quot;ventpull1&amp;quot;&lt;br /&gt;
		86 : &amp;quot;ventpull2&amp;quot;&lt;br /&gt;
		87 : &amp;quot;ventpullidle1&amp;quot;&lt;br /&gt;
		88 : &amp;quot;ventpullidle2&amp;quot;&lt;br /&gt;
		89 : &amp;quot;sitidle&amp;quot;&lt;br /&gt;
		90 : &amp;quot;sitstand&amp;quot;&lt;br /&gt;
		91 : &amp;quot;keypad&amp;quot;&lt;br /&gt;
		93 : &amp;quot;lookwindow&amp;quot;&lt;br /&gt;
		94 : &amp;quot;wave&amp;quot;&lt;br /&gt;
		95 : &amp;quot;pulldoor&amp;quot;&lt;br /&gt;
		96 : &amp;quot;beatdoor&amp;quot;&lt;br /&gt;
		97 : &amp;quot;fallingloop&amp;quot;&lt;br /&gt;
		98 : &amp;quot;crawlwindow&amp;quot;&lt;br /&gt;
		99 : &amp;quot;divewindow&amp;quot;&lt;br /&gt;
		100 : &amp;quot;locked_door&amp;quot;&lt;br /&gt;
		101 : &amp;quot;push_button2&amp;quot;&lt;br /&gt;
		102 : &amp;quot;unlock_door&amp;quot;&lt;br /&gt;
		104 : &amp;quot;handrailidle&amp;quot;&lt;br /&gt;
		105 : &amp;quot;handrail&amp;quot;&lt;br /&gt;
		106 : &amp;quot;hanging_idle&amp;quot;&lt;br /&gt;
		107 : &amp;quot;fall&amp;quot;&lt;br /&gt;
		108 : &amp;quot;scientist_get_pulled&amp;quot;&lt;br /&gt;
		109 : &amp;quot;hanging_idle2&amp;quot;&lt;br /&gt;
		110 : &amp;quot;fall_elevator&amp;quot;&lt;br /&gt;
		111 : &amp;quot;scientist_idlewall&amp;quot;&lt;br /&gt;
		112 : &amp;quot;ickyjump_sci&amp;quot;&lt;br /&gt;
		113 : &amp;quot;haulscientist&amp;quot;&lt;br /&gt;
		114 : &amp;quot;c1a4_wounded_idle&amp;quot;&lt;br /&gt;
		115 : &amp;quot;c1a4_dying_speech&amp;quot;&lt;br /&gt;
		116 : &amp;quot;tentacle_grab&amp;quot;&lt;br /&gt;
		117 : &amp;quot;helicack&amp;quot;&lt;br /&gt;
		118 : &amp;quot;windive&amp;quot;&lt;br /&gt;
		119 : &amp;quot;scicrashidle&amp;quot;&lt;br /&gt;
		120 : &amp;quot;scicrash&amp;quot;&lt;br /&gt;
		121 : &amp;quot;onguard&amp;quot;&lt;br /&gt;
		122 : &amp;quot;seeya&amp;quot;&lt;br /&gt;
		123 : &amp;quot;rocketcrawl&amp;quot;&lt;br /&gt;
		124 : &amp;quot;portal&amp;quot;&lt;br /&gt;
		125 : &amp;quot;gluonshow&amp;quot;&lt;br /&gt;
		127 : &amp;quot;kneel&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Appearflags, RenderFields, Angles) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/scientist.mdl&amp;quot;) = monster_scientist_dead : &amp;quot;Dead Scientist&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	body(Choices) : &amp;quot;Body&amp;quot; : -1 =&lt;br /&gt;
	[&lt;br /&gt;
		-1 : &amp;quot;Random&amp;quot;&lt;br /&gt;
		0 : &amp;quot;Glasses&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Einstein&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Luther&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Slick&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	pose(Choices) : &amp;quot;Pose&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;On back&amp;quot;&lt;br /&gt;
		1 : &amp;quot;On Stomach&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Sitting&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Hanging&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Table1&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Table2&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Table3&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	sequence(Choices) : &amp;quot;Animation Sequence (editor)&amp;quot; : 37 =&lt;br /&gt;
	[&lt;br /&gt;
		37 : &amp;quot;lying_on_back&amp;quot;&lt;br /&gt;
		38 : &amp;quot;lying_on_stomach&amp;quot;&lt;br /&gt;
		39 : &amp;quot;dead_sitting&amp;quot;&lt;br /&gt;
		40 : &amp;quot;dead_table1&amp;quot;&lt;br /&gt;
		41 : &amp;quot;dead_table2&amp;quot;&lt;br /&gt;
		42 : &amp;quot;dead_table3&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	model(studio) : &amp;quot;Custom Model&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/sentry.mdl&amp;quot;) = monster_sentry : &amp;quot;Sentry Turret Gun&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		32 : &amp;quot;Autostart&amp;quot; : 0&lt;br /&gt;
		64 : &amp;quot;Start Inactive&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	attackrange(integer) : &amp;quot;Max Attack Range&amp;quot; : 1200&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 36) studio(&amp;quot;models/w_shock.mdl&amp;quot;) = monster_shockroach : &amp;quot;Shock Roach&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-24 -24 0, 24 24 32) studio(&amp;quot;models/strooper.mdl&amp;quot;) = monster_shocktrooper : &amp;quot;Shock Trooper&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	netname(string) : &amp;quot;Squad Name&amp;quot;&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		32 : &amp;quot;SquadLeader&amp;quot; : 0&lt;br /&gt;
		1024: &amp;quot;No Shockroach&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster, TalkMonster) size(-14 -14 22, 14 14 72) studio(&amp;quot;models/scientist.mdl&amp;quot;) = monster_sitting_scientist : &amp;quot;Sitting Scientist&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	body(Choices) : &amp;quot;Body&amp;quot; : -1 =&lt;br /&gt;
	[&lt;br /&gt;
		-1 : &amp;quot;Random&amp;quot;&lt;br /&gt;
		0 : &amp;quot;Glasses&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Einstein&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Luther&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Slick&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	sequence(Choices) : &amp;quot;Animation Sequence (editor)&amp;quot; : 73 =&lt;br /&gt;
	[&lt;br /&gt;
		71 : &amp;quot;sitlookleft&amp;quot;&lt;br /&gt;
		72 : &amp;quot;sitlookright&amp;quot;&lt;br /&gt;
		73 : &amp;quot;sitscared&amp;quot;&lt;br /&gt;
		74 : &amp;quot;sitting2&amp;quot;&lt;br /&gt;
		75 : &amp;quot;sitting3&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 36) studio(&amp;quot;models/w_squeak.mdl&amp;quot;) = monster_snark : &amp;quot;Armed Snark&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 36) studio(&amp;quot;models/w_sqknest.mdl&amp;quot;) = monster_sqknest : &amp;quot;Snark Nest&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-24 -24 0, 24 24 24) studio(&amp;quot;models/stukabat.mdl&amp;quot;) = monster_stukabat : &amp;quot;Stukabat&amp;quot;  []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-32 -32 0, 32 32 64) studio(&amp;quot;models/tentacle2.mdl&amp;quot;) = monster_tentacle : &amp;quot;Tentacle Arm&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	sweeparc(integer) : &amp;quot;Sweep Arc&amp;quot; : 130&lt;br /&gt;
	sound(Choices) : &amp;quot;Tap Sound&amp;quot; : -1 =&lt;br /&gt;
	[&lt;br /&gt;
		-1 : &amp;quot;None&amp;quot;&lt;br /&gt;
		0 : &amp;quot;Silo&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Dirt&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Water&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/hgrunt_torchf.mdl&amp;quot;) = monster_torch_ally_repel : &amp;quot;Human Torch Ally (Repel)&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	netname(string) : &amp;quot;Squad Name&amp;quot;&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		32 : &amp;quot;SquadLeader&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	weapons(Choices) : &amp;quot;Weapons&amp;quot; : 1 =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Desert Eagle&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Blow Torch&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	sequence(Choices) : &amp;quot;Animation Sequence (editor)&amp;quot; : 39 =&lt;br /&gt;
	[&lt;br /&gt;
		39 : &amp;quot;repel_repel&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) studio(&amp;quot;models/vhe-models/w_tripmine_hammer.mdl&amp;quot;) = monster_tripmine : &amp;quot;Active Tripmine&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Instant On&amp;quot; : 1&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-32 -32 -32, 32 32 32) studio(&amp;quot;models/turret.mdl&amp;quot;) = monster_turret : &amp;quot;Auto Turret&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	orientation(Choices) : &amp;quot;Orientation&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Floor Mount&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Ceiling Mount&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		32 : &amp;quot;Autostart&amp;quot; : 0&lt;br /&gt;
		64 : &amp;quot;Start Inactive&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	maxsleep(string) : &amp;quot;Search Time (before deactivate)&amp;quot; : &amp;quot;15&amp;quot;&lt;br /&gt;
	turnrate(integer) : &amp;quot;Turn Rate&amp;quot; : 30&lt;br /&gt;
	attackrange(integer) : &amp;quot;Max Attack Range&amp;quot; : 1200&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/zombie.mdl&amp;quot;) = monster_zombie : &amp;quot;Scientist Zombie&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	sequence(Choices) : &amp;quot;Animation Sequence (editor)&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0  : &amp;quot;idle1&amp;quot;&lt;br /&gt;
		19 : &amp;quot;getup&amp;quot;&lt;br /&gt;
		20 : &amp;quot;pause&amp;quot;&lt;br /&gt;
		21 : &amp;quot;busting_through_wall&amp;quot;&lt;br /&gt;
		22 : &amp;quot;kick_punch_wall&amp;quot;&lt;br /&gt;
		23 : &amp;quot;bust_window&amp;quot;&lt;br /&gt;
		24 : &amp;quot;soda&amp;quot;&lt;br /&gt;
		25 : &amp;quot;slideidle&amp;quot;&lt;br /&gt;
		26 : &amp;quot;slidewall&amp;quot;&lt;br /&gt;
		27 : &amp;quot;ventclimbidle&amp;quot;&lt;br /&gt;
		28 : &amp;quot;ventclimb&amp;quot;&lt;br /&gt;
		29 : &amp;quot;deadidle&amp;quot;&lt;br /&gt;
		30 : &amp;quot;deadwall&amp;quot;&lt;br /&gt;
		31 : &amp;quot;freakdie&amp;quot;&lt;br /&gt;
		32 : &amp;quot;freak&amp;quot;&lt;br /&gt;
		33 : &amp;quot;eatbodytable&amp;quot;&lt;br /&gt;
		34 : &amp;quot;eatbody&amp;quot;&lt;br /&gt;
		35 : &amp;quot;eatbodystand&amp;quot;&lt;br /&gt;
		36 : &amp;quot;ripdoor&amp;quot;&lt;br /&gt;
		37 : &amp;quot;zombie_pull_scientist&amp;quot;&lt;br /&gt;
		38 : &amp;quot;zombie_eating&amp;quot;&lt;br /&gt;
		39 : &amp;quot;eat_to_stand&amp;quot;&lt;br /&gt;
		40 : &amp;quot;vent_zidle&amp;quot;&lt;br /&gt;
		41 : &amp;quot;vent_c1a3&amp;quot;&lt;br /&gt;
		42 : &amp;quot;haulzombie&amp;quot;&lt;br /&gt;
		43 : &amp;quot;c2a3_snack_getup&amp;quot;&lt;br /&gt;
		44 : &amp;quot;zombie_fight&amp;quot;&lt;br /&gt;
		45 : &amp;quot;crush&amp;quot;&lt;br /&gt;
		48 : &amp;quot;crushed&amp;quot;&lt;br /&gt;
		46 : &amp;quot;spazhard&amp;quot;&lt;br /&gt;
		47 : &amp;quot;spaz&amp;quot;&lt;br /&gt;
		49 : &amp;quot;compthrow_idle&amp;quot;&lt;br /&gt;
		50 : &amp;quot;compthrow&amp;quot;&lt;br /&gt;
		51 : &amp;quot;iceslip&amp;quot;&lt;br /&gt;
		52 : &amp;quot;get_run_over&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/zombie_barney.mdl&amp;quot;) = monster_zombie_barney : &amp;quot;Barney Zombie&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/zombie_soldier.mdl&amp;quot;) = monster_zombie_soldier : &amp;quot;Soldier Zombie&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Angles) size(-16 -16 0, 16 16 72) color(245 128 96) = monstermaker : &amp;quot;Monster Maker&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	target(string) : &amp;quot;Target On Release&amp;quot;&lt;br /&gt;
	monstertype(string) : &amp;quot;Monster Type&amp;quot;&lt;br /&gt;
	netname(string) : &amp;quot;Childrens&#039; Name&amp;quot;&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Start ON&amp;quot; 	: 0&lt;br /&gt;
		//2 : &amp;quot;PVS On/Off&amp;quot; : 0&lt;br /&gt;
		4 : &amp;quot;Cyclic&amp;quot; : 0&lt;br /&gt;
		8 : &amp;quot;MonsterClip&amp;quot; : 0&lt;br /&gt;
		1024 : &amp;quot;No Respawn (Collectible)&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	// How many monsters the monstermaker can create (-1 = unlimited)&lt;br /&gt;
	monstercount(integer) : &amp;quot;Monster count &amp;quot; : -1&lt;br /&gt;
&lt;br /&gt;
	respawn_as_playerally(choices) : &amp;quot;Make Player Allys&amp;quot; :  0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Default (0)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Opposite (1)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	// If delay is -1, new monster will be made when last monster dies,&lt;br /&gt;
	// else, delay is the delay in seconds between spawns.&lt;br /&gt;
	delay(string) : &amp;quot;Frequency&amp;quot; : &amp;quot;5&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	// Maximum number of live children allowed at one time. (New ones will not be made until one dies) -1 means no limit.&lt;br /&gt;
	m_imaxlivechildren(integer) : &amp;quot;Max live children&amp;quot; : 5&lt;br /&gt;
&lt;br /&gt;
	health(integer) : &amp;quot;Custom Health&amp;quot; : 0&lt;br /&gt;
	path_name(string) : &amp;quot;Path Name&amp;quot; //The name of the path_waypoint, path_condition, or path_condition_controller this monster will look to.&lt;br /&gt;
&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname) color(255 128 0) = multi_manager : &amp;quot;MultiTarget Manager&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;multithreaded&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Target) color(168 255 168) = multisource : &amp;quot;Multisource&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	globalstate(string) : &amp;quot;Global State Master&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, AttackObject) studio(&amp;quot;models/mortar.mdl&amp;quot;) = op4mortar : &amp;quot;Op4 Mortar&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1  : &amp;quot;Active&amp;quot; : 0&lt;br /&gt;
		16 : &amp;quot;Line of Sight&amp;quot; : 1&lt;br /&gt;
		32 : &amp;quot;Can Control&amp;quot; : 1&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	mortar_velocity(integer) : &amp;quot;Velocity&amp;quot; : 800&lt;br /&gt;
	h_min(integer) : &amp;quot;Horiz MIN&amp;quot; : -90&lt;br /&gt;
	h_max(integer) : &amp;quot;Horiz MAX&amp;quot; : 90&lt;br /&gt;
	mindist(integer) : &amp;quot;Min Target Dist&amp;quot; : 256&lt;br /&gt;
	maxdist(integer) : &amp;quot;Max Target Dist&amp;quot; : 2048&lt;br /&gt;
	firedelay(integer) : &amp;quot;Delay between shots (seconds)&amp;quot; : 5&lt;br /&gt;
&lt;br /&gt;
	is_player_ally(Choices) : &amp;quot;Is Player Ally&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No (Default)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Angles) size(16 16 16) color(247 181 82) = path_corner : &amp;quot;Moving platform stop&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Wait for retrigger&amp;quot; : 0&lt;br /&gt;
		2: &amp;quot;Teleport to this&amp;quot; : 0&lt;br /&gt;
		4: &amp;quot;Fire once&amp;quot; : 0&lt;br /&gt;
		8: &amp;quot;Random targets&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	target(target_destination) : &amp;quot;Next stop target&amp;quot;&lt;br /&gt;
	message(target_destination) : &amp;quot;Fire On Arrive&amp;quot;&lt;br /&gt;
	wait(integer) : &amp;quot;Wait here (secs)&amp;quot; : 0&lt;br /&gt;
	speed(integer) : &amp;quot;New Train Speed&amp;quot; : 0&lt;br /&gt;
	yaw_speed(integer) : &amp;quot;New Train rot. Speed&amp;quot; : 0&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Processes and selects a path_condition for the NPC. Allows for multiple path_conditions to be used for a single NPC.&lt;br /&gt;
@PointClass base(Targetname) color(145 255 145) = path_condition_controller : &amp;quot;NPC Path Condition Controller&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Start Off&amp;quot; : 0 // If checked, this controller starts in-active and can not be used until triggered.&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	pathcondition_list(string) 	: &amp;quot;Path_condition List&amp;quot; 	//Comma separated list of path_condition names (Required).&lt;br /&gt;
&lt;br /&gt;
	selecttype(Choices) 		: &amp;quot;Selection Mode&amp;quot; 		: 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;First Found (Default)&amp;quot; // The first path_condition found (highest priority and active) will be picked.&lt;br /&gt;
		1 : &amp;quot;Random&amp;quot; 				// Any path_condition entities that [share the same priority level] and are [active] will be evaluated together and randomly chosen.&lt;br /&gt;
		2 : &amp;quot;Nearest to NPC&amp;quot; 		// The nearest path_condition found (to the NPC) will be picked. Distance based on path_waypoint to the NPC.&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Processes and selects a path_waypoint for the NPC or path_condition_controller.&lt;br /&gt;
@PointClass base(Targetname) color(225 148 32) = path_condition : &amp;quot;NPC Path Condition&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Start Off&amp;quot; : 0	 // If checked, this path_condition starts in-active and can not be used until triggered with USE_ON or USE_TOGGLE.&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	delay_interval(string)			: &amp;quot;Delay Interval&amp;quot;		: &amp;quot;0.1&amp;quot;	//Default time between checks. Minimum is 0.1.&lt;br /&gt;
&lt;br /&gt;
	conditions_reference(string)	: &amp;quot;Conditions (Definition Name)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	mindistance(integer) 			: &amp;quot;Min Distance&amp;quot; 		: 0 	// 0 = infinite. If not within specified range, path_condition isn&#039;t evaluated.&lt;br /&gt;
	maxdistance(integer) 			: &amp;quot;Max Distance&amp;quot; 		: 0 	// 0 = infinite. If not within specified range, path_condition isn&#039;t evaluated.&lt;br /&gt;
&lt;br /&gt;
	starttrigger(string) 			: &amp;quot;Trigger on Stop Condition&amp;quot; 	//Thing to trigger upon start&lt;br /&gt;
&lt;br /&gt;
	priority(integer) 				: &amp;quot;Priority Level&amp;quot; 		: 0 	// 0 would be the default priority, followed by 1, 2, 3, etc. Higher numbers take precedence over lower numbers.&lt;br /&gt;
	selecttype(Choices) 			: &amp;quot;Priority Override&amp;quot; 	: 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;None (Default)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Ignore Following&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Ignore Following and Guarding&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Ignore Following, Guarding, and Scripts&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	pre_location(Choices) 			: &amp;quot;Pre-Waypoint Destination&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;None (Default)&amp;quot;		// Don&#039;t use a pre-waypoint destination, go to the first path_waypoint.&lt;br /&gt;
		1 : &amp;quot;Use This Origin&amp;quot; 		// Use path_condition&#039;s origin.&lt;br /&gt;
		2 : &amp;quot;Enemy&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Dead Enemy&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Sound&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Scent&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Near Hiding Spot&amp;quot;		//Compute a nearby hiding spot, run to it.&lt;br /&gt;
		7 : &amp;quot;Far Hiding Spot&amp;quot;		//Compute a distant hiding spot, run to it.&lt;br /&gt;
		8 : &amp;quot;Named Entity&amp;quot; 			// Origin of a specific entity&lt;br /&gt;
		9 : &amp;quot;Entity by Key:Value&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	pre_location_values(string) 	: &amp;quot;Pre-Waypoint Parameters&amp;quot;&lt;br /&gt;
	//	1 : &amp;quot;Use This Origin&amp;quot; 				No options.&lt;br /&gt;
	//	2 : &amp;quot;Enemy&amp;quot;							No options.&lt;br /&gt;
	//	3 : &amp;quot;Dead Enemy&amp;quot; 	 				No options.&lt;br /&gt;
	//	4 : &amp;quot;Sound&amp;quot; 						Type sound-filter. E.g. (SOUND_DANGER)&lt;br /&gt;
	//	5 : &amp;quot;Scent&amp;quot;							Type scent-filter. E.g. (SCENT_FOOD OR SCENT_CARCASS)&lt;br /&gt;
	//	6 : &amp;quot;Near Hiding Spot&amp;quot;				Type minimum distance.&lt;br /&gt;
	//	7 : &amp;quot;Far Hiding Spot&amp;quot;				Type maximum distance.&lt;br /&gt;
	//	8 : &amp;quot;Named Entity&amp;quot; 					Type entity name.&lt;br /&gt;
	//	9 : &amp;quot;Entity by Key:Value&amp;quot;			Type in format: &amp;quot;keyname:keyvalue&amp;quot;, optional: Use ( parentheses ), ==, &amp;gt;, &amp;gt;=, &amp;lt;, &amp;lt;=, AND, OR operators.&lt;br /&gt;
&lt;br /&gt;
	//When this path_condition is picked, a waypoint must be picked to start the NPC off on. Select how the waypoint is picked.&lt;br /&gt;
	selecttype(Choices) 			: &amp;quot;Waypoint Selection&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Start Waypoint&amp;quot; 				// NOTE: The nearest waypoint will be selected if a starting waypoint is not specified when this option is selected.&lt;br /&gt;
		1 : &amp;quot;Nearest Waypoint to NPC&amp;quot; 		//The nearest group found (to the NPC) will be picked.&lt;br /&gt;
		2 : &amp;quot;Random Waypoint&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	path_start(string) 				: &amp;quot;Start Waypoint&amp;quot;							//Leave blank for none.&lt;br /&gt;
	waypoint_list(string)			: &amp;quot;Path_Waypoint List&amp;quot; 						//Required if not using Starting Waypoint for selection.&lt;br /&gt;
	key_filter(string)				: &amp;quot;NPC Keyvalue Filter&amp;quot;						//Type in format: &amp;quot;$keyname &amp;gt; 1 AND $keyname == 1&amp;quot;, optional: Use ( parentheses ), ==, &amp;gt;, &amp;gt;=, &amp;lt;, &amp;lt;=, AND, OR operators.&lt;br /&gt;
	npc_trigger_target(string)   	: &amp;quot;NPC Trigger Target&amp;quot;  					//NPC will trigger this entity when on this path&lt;br /&gt;
	npc_trigger_interval(integer)	: &amp;quot;NPC Trigger Interval&amp;quot; 					//NPC will trigger every N seconds&lt;br /&gt;
	m_szASConditionsName(string)	: &amp;quot;Angelscript condition name&amp;quot;				//Name of the Angelscript condition that was registered by a map script&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname) color(125 255 255) = path_waypoint : &amp;quot;NPC Path Waypoint&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	target(target_destination) 					: &amp;quot;Next Path_waypoint&amp;quot;&lt;br /&gt;
	alternate_target(target_destination) 		: &amp;quot;Alternate Next Path_waypoint&amp;quot; 	//Alternate Waypoint to use if we&#039;re toggled to use our alternate.&lt;br /&gt;
&lt;br /&gt;
	movementtype(Choices) 						: &amp;quot;Move to Position&amp;quot; : 0 =			// How the monster will move to this waypoint.&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Walk&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Run&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Teleport&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Turn to Face&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Don&#039;t Move&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	radius(integer) 							: &amp;quot;Move within Radius&amp;quot; 		: 0 	// When in radius, the NPC has finished moving to the waypoint.	Only works for Walk / Run.&lt;br /&gt;
&lt;br /&gt;
	useangles(choices)							: &amp;quot;Face Waypoint Direction&amp;quot; : 0 =   //Yes = Upon arrival, the NPC&#039;s YAW will change gradually to match the path_waypoint&#039;s YAW&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No (default)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	trigger_on_arrival(target_destination) 		: &amp;quot;Trigger on Arrival&amp;quot; 				// Target to fire before starting the arrival animation.&lt;br /&gt;
	arrival_animation(string)					: &amp;quot;Arrival Animation&amp;quot;				// Animation to play on arrival.&lt;br /&gt;
	trigger_after_arrival(target_destination)	: &amp;quot;Trigger after Arrival Animation&amp;quot;	// Target to fire upon completing the arrival animation. If no arrival animation, fired after Trigger on Reach is fired.&lt;br /&gt;
&lt;br /&gt;
	wait_activity(Choices) 						: &amp;quot;Wait Activity&amp;quot; 			: 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Play Wait Animation (default)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Look around&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Investigate Area&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Use AI&amp;quot; 							//Let the NPC&#039;s AI take over while waiting.&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	wait_animation(string)						: &amp;quot;Wait Animation&amp;quot;					// Animation to play when waiting at this waypoint. (Looped) If animation is blank, the monster will stand in place. If wait time is zero, this is not used.&lt;br /&gt;
	wait_time(integer)							: &amp;quot;Wait Time&amp;quot; 				: 0 	// After the position is reached, the monster must wait this long before moving to the next waypoint, and before any targets are fired.&lt;br /&gt;
	wait_master(string)							: &amp;quot;Wait Master&amp;quot;  					// Master entity to analyze - the multisource which, when activated, lets the path_waypoint know it can let the NPC continue.&lt;br /&gt;
&lt;br /&gt;
	waituntilfull(choices)						: &amp;quot;Wait Here Until Full&amp;quot; 	: 0 = 	// Force NPC to wait until this waypoint is full before proceeding to the next waypoint. If Maximum Occupants is 0, a level error message will occur.&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No (default)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	departure_animation(string)					: &amp;quot;Departure Animation&amp;quot;				// Animation to play before leaving waypoint. Target On Pass is fired after animation completes if animation is present.&lt;br /&gt;
	trigger_on_departure(target_destination) 	: &amp;quot;Trigger on Departure&amp;quot; 			// Target to fire when the NPC finishes the Departure Animation. If no Departure Animation, fired immediately after waiting.&lt;br /&gt;
&lt;br /&gt;
	//--------------------------------------------------------------------------------------------------&lt;br /&gt;
	// START OVERFLOW&lt;br /&gt;
	//--------------------------------------------------------------------------------------------------&lt;br /&gt;
	occupant_radius_check(integer)				: &amp;quot;Occupant Radius&amp;quot; 	: 0   		// If an NPC is within the radius of this path_waypoint, it takes up an occupant slot.&lt;br /&gt;
	occupant_limit(integer)						: &amp;quot;Maximum # Occupants&amp;quot; 	: 0 	// This point only accepts X number of NPCs at a time.&lt;br /&gt;
	// If this waypoint is full, monsters will go to the following waypoint specified instead.&lt;br /&gt;
	// If the provided overflow point is removed or not available, the NPC will remain at the previous waypoint or position until room is available.&lt;br /&gt;
	overflow_waypoint(string)					: &amp;quot;Overflow Waypoint&amp;quot;&lt;br /&gt;
	//--------------------------------------------------------------------------------------------------&lt;br /&gt;
	// END OVERFLOW&lt;br /&gt;
	//--------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	// Forces the NPC to finish this particular path_waypoint even if a higher priority path is found, provided that the stop conditions are not met.&lt;br /&gt;
	// NOTE: This disables path_condition / path_condition_controller evaluation during the extent of the trip and departure.&lt;br /&gt;
	force_complete(Choices) 					: &amp;quot;Force Waypoint Completion&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No (default)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	 //If this path_waypoint releases the NPC because of a stop condition, (e.g. a new enemy appears) something can be triggered.&lt;br /&gt;
	stop_trigger(string) 						: &amp;quot;Trigger on Stop Condition&amp;quot;&lt;br /&gt;
	restart_delay(integer) 						: &amp;quot;Delay before Return&amp;quot;		: 0 //If the NPC has stopped moving because of a stop condition (E.g. hearing a gunshot), the NPC will wait this long before continuing back to this path_waypoint.&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Angles) size(16 16 16)  color(255 148 0) = path_track : &amp;quot;Train Track Path&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Disabled&amp;quot; : 0&lt;br /&gt;
		2: &amp;quot;Fire once&amp;quot; : 0&lt;br /&gt;
		4: &amp;quot;Branch Reverse&amp;quot; : 0&lt;br /&gt;
		8: &amp;quot;Disable train&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	target(target_destination) : &amp;quot;Next stop target&amp;quot;&lt;br /&gt;
	message(target_destination) : &amp;quot;Fire On Pass&amp;quot;&lt;br /&gt;
	altpath(target_destination) : &amp;quot;Branch Path&amp;quot;&lt;br /&gt;
	netname(target_destination) : &amp;quot;Fire on dead end&amp;quot;&lt;br /&gt;
	newspeed(integer) : &amp;quot;New Train Speed&amp;quot; : -1&lt;br /&gt;
	maxspeed(integer) : &amp;quot;New Maximum Speed&amp;quot; : -1&lt;br /&gt;
	speed(integer) : &amp;quot;New Train Speed (Legacy)&amp;quot; : 0&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname) size(-16 -16 -16, 16 16 16) = player_loadsaved : &amp;quot;Load Auto-Saved game&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	duration(string) : &amp;quot;Fade Duration (seconds)&amp;quot; : &amp;quot;2&amp;quot;&lt;br /&gt;
	holdtime(string) : &amp;quot;Hold Fade (seconds)&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
	renderamt(integer) : &amp;quot;Fade Alpha&amp;quot; : 255&lt;br /&gt;
	rendercolor(color255) : &amp;quot;Fade Color (R G B)&amp;quot; : &amp;quot;0 0 0&amp;quot;&lt;br /&gt;
	messagetime(string) : &amp;quot;Show Message delay&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
	message(string) : &amp;quot;Message To Display&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	loadtime(string) : &amp;quot;Reload delay&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname) size(-16 -16 -16, 16 16 16) color(96 32 128) = player_weaponstrip : &amp;quot;Strips player&#039;s weapons&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Strip Suit&amp;quot; : 0&lt;br /&gt;
		2 : &amp;quot;Strip Long Jump&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	m_iAffected(choices) : &amp;quot;Players to strip from&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Activator only (default)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;All players&amp;quot;&lt;br /&gt;
		2 : &amp;quot;All players except activator&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	weapons_list(string) : &amp;quot;Weapons list to strip (none = all)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	weapons_list_mode(choices) : &amp;quot;Weapons list mode&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Inclusive (strip listed)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Exclusive (strip NOT listed)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Targetname, ZHLTbmodel) = player_respawn_zone : &amp;quot;Player Zone Respawn brush&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	zonetype(choices) : &amp;quot;Zone Type&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Respawn all outside&amp;quot;&lt;br /&gt;
		1: &amp;quot;Respawn all inside&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Targetx) size(-16 -16 0, 16 16 72) color(255 0 200) = scripted_sentence : &amp;quot;Scripted Sentence&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Fire Once&amp;quot; 	: 1&lt;br /&gt;
		2 : &amp;quot;Followers Only&amp;quot;	: 0&lt;br /&gt;
		4 : &amp;quot;Interrupt Speech&amp;quot;	: 1&lt;br /&gt;
		8 : &amp;quot;Concurrent&amp;quot;	: 0&lt;br /&gt;
	]&lt;br /&gt;
	sentence(string) : &amp;quot;Sentence Name&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	entity(string) : &amp;quot;Speaker Type&amp;quot;&lt;br /&gt;
	duration(string) : &amp;quot;Sentence Time&amp;quot; : &amp;quot;3&amp;quot;&lt;br /&gt;
	radius(integer) : &amp;quot;Search Radius&amp;quot; : 512&lt;br /&gt;
	refire(string) : &amp;quot;Delay Before Refire&amp;quot; : &amp;quot;3&amp;quot;&lt;br /&gt;
	listener(string) : &amp;quot;Listener Type&amp;quot;&lt;br /&gt;
	volume(string) : &amp;quot;Volume 0-10&amp;quot; : &amp;quot;10&amp;quot;&lt;br /&gt;
	attenuation(Choices) : &amp;quot;Sound Radius&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Small Radius (~384)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Medium Radius (~768)&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Large Radius (~1536)&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Play Everywhere&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Targetx, Angles) size(-16 -16 0, 16 16 72) color(164 128 255) = scripted_sequence : &amp;quot;Scripted Sequence&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	m_iszEntity(string) : &amp;quot;Target Monster&amp;quot;&lt;br /&gt;
	m_iszPlay(string) : &amp;quot;Action Animation&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	m_iszIdle(string) : &amp;quot;Idle Animation&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	m_flRadius(integer) : &amp;quot;Search Radius&amp;quot; : 512&lt;br /&gt;
	m_flRepeat(integer) : &amp;quot;Repeat Rate ms&amp;quot; : 0&lt;br /&gt;
	m_fMoveTo(choices) : &amp;quot;Move to Position&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Walk&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Run&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Instantaneous&amp;quot;&lt;br /&gt;
		5 : &amp;quot;No - Turn to Face&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	moveto_radius(integer) : &amp;quot;Move to Radius&amp;quot; : 0&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		4 : &amp;quot;Repeatable&amp;quot;	: 0&lt;br /&gt;
		8 : &amp;quot;Leave Corpse&amp;quot;	: 0&lt;br /&gt;
		32: &amp;quot;No Interruptions&amp;quot;	: 0&lt;br /&gt;
		64: &amp;quot;Override AI&amp;quot;	: 0&lt;br /&gt;
		128: &amp;quot;No Script Movement&amp;quot; : 0&lt;br /&gt;
		256: &amp;quot;No Reset Entity&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass iconsprite(&amp;quot;sprites/vhe-iconsprites/speaker.spr&amp;quot;) base(Targetname) color(225 200 210) = speaker : &amp;quot;Announcement Speaker&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	preset(choices) : &amp;quot;Announcement Presets&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;None&amp;quot;&lt;br /&gt;
		1: &amp;quot;C1A0 Announcer&amp;quot;&lt;br /&gt;
		2: &amp;quot;C1A1 Announcer&amp;quot;&lt;br /&gt;
		3: &amp;quot;C1A2 Announcer&amp;quot;&lt;br /&gt;
		4: &amp;quot;C1A3 Announcer&amp;quot;&lt;br /&gt;
		5: &amp;quot;C1A4 Announcer&amp;quot;&lt;br /&gt;
		6: &amp;quot;C2A1 Announcer&amp;quot;&lt;br /&gt;
		7: &amp;quot;C2A2 Announcer&amp;quot;&lt;br /&gt;
		//8: &amp;quot;C2A3 Announcer&amp;quot;&lt;br /&gt;
		9: &amp;quot;C2A4 Announcer&amp;quot;&lt;br /&gt;
		//10: &amp;quot;C2A5 Announcer&amp;quot;&lt;br /&gt;
		11: &amp;quot;C3A1 Announcer&amp;quot;&lt;br /&gt;
		12: &amp;quot;C3A2 Announcer&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	message(string) : &amp;quot;Sentence Group Name&amp;quot;&lt;br /&gt;
	health(integer) : &amp;quot;Volume (10 = loudest)&amp;quot; : 5&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Start Silent&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Angles, RenderFields, AttackObject, NotRevivable) size(-16 -16 0, 16 16 72) color(245 128 96) = squadmaker : &amp;quot;Squad Maker&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Start ON&amp;quot; 	: 0&lt;br /&gt;
		//2 : &amp;quot;PVS On/Off&amp;quot; : 0&lt;br /&gt;
		4 : &amp;quot;Cyclic&amp;quot; : 0&lt;br /&gt;
		8 : &amp;quot;MonsterClip&amp;quot; : 0&lt;br /&gt;
		16 : &amp;quot;Prisoner&amp;quot; : 0&lt;br /&gt;
		32 : &amp;quot;Auto Size BBox&amp;quot; : 0&lt;br /&gt;
		64 : &amp;quot;Cyclic Backlog&amp;quot; : 0&lt;br /&gt;
		128 : &amp;quot;WaitForScript&amp;quot; : 0&lt;br /&gt;
		1024 : &amp;quot;No Respawn (Collectible)&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	target(string) : &amp;quot;Target On Release&amp;quot;&lt;br /&gt;
	monstertype(string) : &amp;quot;Monster Type&amp;quot;&lt;br /&gt;
	netname(string) : &amp;quot;Childrens&#039; Name&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	// How many monsters the monstermaker can create (-1 = unlimited)&lt;br /&gt;
	monstercount(integer) : &amp;quot;Monster count &amp;quot; : -1&lt;br /&gt;
&lt;br /&gt;
	// If delay is -1, new monster will be made when last monster dies.&lt;br /&gt;
	// Else, delay is how often (seconds) a new monster will be spawned.&lt;br /&gt;
	delay(string) : &amp;quot;Delay between spawns&amp;quot; : &amp;quot;5&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	// Maximum number of live children allowed at one time. (New ones will not be made until one dies)&lt;br /&gt;
	// -1 no limit&lt;br /&gt;
	m_imaxlivechildren(integer) : &amp;quot;Max live children&amp;quot; : 5&lt;br /&gt;
&lt;br /&gt;
	spawn_mode(Choices) : &amp;quot;Blocked Spawn Handling&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Legacy, no special handling&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Block, spawn as soon as clear&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Force spawn, never block&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	dmg(integer) : &amp;quot;Amount of Telefrag Damage&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
	trigger_target(String) : &amp;quot;TriggerTarget&amp;quot;&lt;br /&gt;
	trigger_condition(Choices) : &amp;quot;Trigger Condition&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No Trigger&amp;quot;&lt;br /&gt;
		1 : &amp;quot;See Player, Mad at Player&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Take Damage&amp;quot;&lt;br /&gt;
		3 : &amp;quot;50% Health Remaining&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Death&amp;quot;&lt;br /&gt;
		7 : &amp;quot;Hear World&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Hear Player&amp;quot;&lt;br /&gt;
		9 : &amp;quot;Hear Combat&amp;quot;&lt;br /&gt;
		10: &amp;quot;See Player Unconditional&amp;quot;&lt;br /&gt;
		11: &amp;quot;See Player, Not In Combat&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	new_body(integer) : &amp;quot;Body (-1 off)&amp;quot; : -1&lt;br /&gt;
	new_skin(integer) : &amp;quot;Skin (-1 off)&amp;quot; : -1&lt;br /&gt;
&lt;br /&gt;
	new_solid(Choices) : &amp;quot;Solid State&amp;quot; : -1 =&lt;br /&gt;
	[&lt;br /&gt;
		-1 : &amp;quot;Don&#039;t Modify&amp;quot;&lt;br /&gt;
		0  : &amp;quot;Not Solid - SOLID_NOT&amp;quot;&lt;br /&gt;
		1  : &amp;quot;Trigger - SOLID_TRIGGER&amp;quot;&lt;br /&gt;
		2  : &amp;quot;Bounding Box - SOLID_BBOX&amp;quot;&lt;br /&gt;
		3  : &amp;quot;Slide Box - SOLID_SLIDEBOX&amp;quot;&lt;br /&gt;
		4  : &amp;quot;BSP Model - SOLID_BSP&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	&lt;br /&gt;
	respawn_as_playerally(choices) : &amp;quot;Is Player Ally&amp;quot; :  0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Default (0)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Opposite (1)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	change_rendermode(Choices) : &amp;quot;Override Render Mode&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	xenmaker(String) : &amp;quot;Xenmaker Template Name&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	gag(Choices) : &amp;quot;Gag&amp;quot; : -1 =&lt;br /&gt;
	[&lt;br /&gt;
		-1 : &amp;quot;Default&amp;quot;&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	weapons(Choices) : &amp;quot;Weapons (Grunt/Massn/etc)&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Default / No setting&amp;quot;&lt;br /&gt;
		1 : &amp;quot;MP5&amp;quot;&lt;br /&gt;
		3 : &amp;quot;MP5 + HG&amp;quot;&lt;br /&gt;
		5 : &amp;quot;M16 + GL&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Shotgun / Sniper Rifle&amp;quot;&lt;br /&gt;
		10 : &amp;quot;Shotgun / Sniper Rifle + HG&amp;quot;&lt;br /&gt;
		16 : &amp;quot;SAW (human_grunt_ally only!)&amp;quot;&lt;br /&gt;
		32 : &amp;quot;No Weapons (male_assassin only!)&amp;quot;&lt;br /&gt;
		64 : &amp;quot;Rocket Launcher&amp;quot;&lt;br /&gt;
		66 : &amp;quot;Rocket Launcher + HG&amp;quot;&lt;br /&gt;
		128 : &amp;quot;Sniper Rifle (human_grunt only!)&amp;quot;&lt;br /&gt;
		130 : &amp;quot;Sniper Rifle + HG (human_grunt only!)&amp;quot;&lt;br /&gt;
		256 : &amp;quot;Don&#039;t drop weapon (HWG etc)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	squadname(String) : &amp;quot;Squad Name&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	is_squad_leader(Choices) : &amp;quot;Squad Leader&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	displayname(string) : &amp;quot;In-game Name&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	bloodcolor(choices) : &amp;quot;Blood Color&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Monster Default&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No Blood&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Red&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Yellow&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	health(integer) : &amp;quot;Custom Health&amp;quot; : 0&lt;br /&gt;
	new_model(studio) : &amp;quot;Custom Model&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	minhullsize(string) : &amp;quot;Custom Min Hull Size (X Y Z)&amp;quot; : &amp;quot;0 0 0&amp;quot;&lt;br /&gt;
	maxhullsize(string) : &amp;quot;Custom Max Hull Size (X Y Z)&amp;quot; : &amp;quot;0 0 0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	soundlist(string) : &amp;quot;Sound Replacement File&amp;quot;&lt;br /&gt;
	freeroam(Choices) : &amp;quot;Monster Roaming (nodes)&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Map Default&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Never&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Always&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	path_name(string) 		: &amp;quot;Path Name&amp;quot; 		// The name of the path_waypoint, path_condition, or path_condition_controller this monster will look to.&lt;br /&gt;
&lt;br /&gt;
	// This will make the monster follow/protect whoever is specified&lt;br /&gt;
	guard_ent(string): &amp;quot;Entity to Guard&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	wpn_v_model(String) : &amp;quot;V_model (Weapons Only)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	wpn_w_model(String) : &amp;quot;W_model (Weapons Only)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	wpn_p_model(String) : &amp;quot;P_model (Weapons Only)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	function_name(string) : &amp;quot;Angelscript function name&amp;quot; //Angelscript function to call on creation of a monster. Format: void FunctionName(MonsterEntity@ pSquadmaker, Entity@ pMonster)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname) color(255 240 128) = target_cdaudio : &amp;quot;CD Audio Target&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	health(choices) : &amp;quot;Track #&amp;quot; : -1 =&lt;br /&gt;
	[&lt;br /&gt;
		-1 : &amp;quot;Stop&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Track 1&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Track 2&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Track 3&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Track 4&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Track 5&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Track 6&amp;quot;&lt;br /&gt;
		7 : &amp;quot;Track 7&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Track 8&amp;quot;&lt;br /&gt;
		9 : &amp;quot;Track 9&amp;quot;&lt;br /&gt;
		10 : &amp;quot;Track 10&amp;quot;&lt;br /&gt;
		11 : &amp;quot;Track 11&amp;quot;&lt;br /&gt;
		12 : &amp;quot;Track 12&amp;quot;&lt;br /&gt;
		13 : &amp;quot;Track 13&amp;quot;&lt;br /&gt;
		14 : &amp;quot;Track 14&amp;quot;&lt;br /&gt;
		15 : &amp;quot;Track 15&amp;quot;&lt;br /&gt;
		16 : &amp;quot;Track 16&amp;quot;&lt;br /&gt;
		17 : &amp;quot;Track 17&amp;quot;&lt;br /&gt;
		18 : &amp;quot;Track 18&amp;quot;&lt;br /&gt;
		19 : &amp;quot;Track 19&amp;quot;&lt;br /&gt;
		20 : &amp;quot;Track 20&amp;quot;&lt;br /&gt;
		21 : &amp;quot;Track 21&amp;quot;&lt;br /&gt;
		22 : &amp;quot;Track 22&amp;quot;&lt;br /&gt;
		23 : &amp;quot;Track 23&amp;quot;&lt;br /&gt;
		24 : &amp;quot;Track 24&amp;quot;&lt;br /&gt;
		25 : &amp;quot;Track 25&amp;quot;&lt;br /&gt;
		26 : &amp;quot;Track 26&amp;quot;&lt;br /&gt;
		27 : &amp;quot;Track 27&amp;quot;&lt;br /&gt;
		28 : &amp;quot;Track 28&amp;quot;&lt;br /&gt;
		29 : &amp;quot;Track 29&amp;quot;&lt;br /&gt;
		30 : &amp;quot;Track 30&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
//	radius(string) : &amp;quot;Player Radius&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetx) color(250 10 165) = trigger_auto : &amp;quot;AutoTrigger&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Remove On fire&amp;quot; : 1&lt;br /&gt;
	]&lt;br /&gt;
	globalstate(string) : &amp;quot;Global State to Read&amp;quot;&lt;br /&gt;
	triggerstate(choices) : &amp;quot;Trigger State&amp;quot; : 2 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Off&amp;quot;&lt;br /&gt;
		1 : &amp;quot;On&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Toggle&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetx, Targetname, Angles) studio(&amp;quot;models/vhe-models/trigger_camera.mdl&amp;quot;) color(200 255 255) = trigger_camera : &amp;quot;Trigger Camera&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	wait(integer) : &amp;quot;Hold time&amp;quot; : 10&lt;br /&gt;
	moveto(string) : &amp;quot;Path Corner&amp;quot;&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Start At Player&amp;quot; : 1&lt;br /&gt;
		2: &amp;quot;Follow Player&amp;quot; : 1&lt;br /&gt;
		4: &amp;quot;Freeze Player&amp;quot; : 0&lt;br /&gt;
		8: &amp;quot;All Players&amp;quot; : 0&lt;br /&gt;
		16: &amp;quot;Force View&amp;quot; : 0&lt;br /&gt;
		32: &amp;quot;No Instant Turn&amp;quot; : 0&lt;br /&gt;
		64: &amp;quot;Instant Move&amp;quot; : 0&lt;br /&gt;
		128: &amp;quot;Mouse Cursor&amp;quot; : 0&lt;br /&gt;
		256: &amp;quot;Player Invulnerable&amp;quot; : 0&lt;br /&gt;
		512: &amp;quot;Ignore Hold Time&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	speed(string) : &amp;quot;Initial Speed&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
	acceleration(string) : &amp;quot;Acceleration units/sec^2&amp;quot; : &amp;quot;500&amp;quot;&lt;br /&gt;
	deceleration(string) : &amp;quot;Stop Deceleration units/sec^2&amp;quot; : &amp;quot;500&amp;quot;&lt;br /&gt;
	turnspeed(string) : &amp;quot;Camera Rotation Speed&amp;quot; : &amp;quot;40&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	mouse_action_0_0(choices) : &amp;quot;Left Click Action&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No Action&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Trigger Off&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Trigger On&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Trigger Toggle&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Remove&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Hurt&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Heal&amp;quot;&lt;br /&gt;
		7 : &amp;quot;Spawn&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Teleport&amp;quot;&lt;br /&gt;
		9 : &amp;quot;Teleport Away&amp;quot;&lt;br /&gt;
		10 : &amp;quot;Create Explosion&amp;quot;&lt;br /&gt;
		11 : &amp;quot;Drag&amp;quot;&lt;br /&gt;
		255 : &amp;quot;Exit Camera (Non-forced only)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	mouse_param_0_0(string) : &amp;quot;Left Click Param&amp;quot;&lt;br /&gt;
	mouse_block_drag_0_0(choices) : &amp;quot;Left Click Block Drag Repeating Action&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	mouse_action_1_0(choices) : &amp;quot;Right Click Action&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No Action&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Trigger Off&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Trigger On&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Trigger Toggle&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Remove&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Hurt&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Heal&amp;quot;&lt;br /&gt;
		7 : &amp;quot;Spawn&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Teleport&amp;quot;&lt;br /&gt;
		9 : &amp;quot;Teleport Away&amp;quot;&lt;br /&gt;
		10 : &amp;quot;Create Explosion&amp;quot;&lt;br /&gt;
		11 : &amp;quot;Drag&amp;quot;&lt;br /&gt;
		255 : &amp;quot;Exit Camera (Non-forced only)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	mouse_param_1_0(string) : &amp;quot;Right Click Param&amp;quot;&lt;br /&gt;
	mouse_block_drag_1_0(choices) : &amp;quot;Right Click Block Drag Repeating Action&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	mouse_action_2_0(choices) : &amp;quot;Third Click Action&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No Action&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Trigger Off&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Trigger On&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Trigger Toggle&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Remove&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Hurt&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Heal&amp;quot;&lt;br /&gt;
		7 : &amp;quot;Spawn&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Teleport&amp;quot;&lt;br /&gt;
		9 : &amp;quot;Teleport Away&amp;quot;&lt;br /&gt;
		10 : &amp;quot;Create Explosion&amp;quot;&lt;br /&gt;
		11 : &amp;quot;Drag&amp;quot;&lt;br /&gt;
		255 : &amp;quot;Exit Camera (Non-forced only)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	mouse_param_2_0(string) : &amp;quot;Third Click Param&amp;quot;&lt;br /&gt;
	mouse_block_drag_2_0(choices) : &amp;quot;Third Click Block Drag Repeating Action&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	mouse_action_0_1(choices) : &amp;quot;Left Double Click Action&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No Action&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Trigger Off&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Trigger On&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Trigger Toggle&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Remove&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Hurt&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Heal&amp;quot;&lt;br /&gt;
		7 : &amp;quot;Spawn&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Teleport&amp;quot;&lt;br /&gt;
		9 : &amp;quot;Teleport Away&amp;quot;&lt;br /&gt;
		10 : &amp;quot;Create Explosion&amp;quot;&lt;br /&gt;
		11 : &amp;quot;Drag&amp;quot;&lt;br /&gt;
		255 : &amp;quot;Exit Camera (Non-forced only)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	mouse_param_0_1(string) : &amp;quot;Left Double Click Param&amp;quot;&lt;br /&gt;
	mouse_block_drag_0_1(choices) : &amp;quot;Left Double Click Block Drag Repeating Action&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	mouse_action_1_1(choices) : &amp;quot;Right Double Click Action&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No Action&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Trigger Off&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Trigger On&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Trigger Toggle&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Remove&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Hurt&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Heal&amp;quot;&lt;br /&gt;
		7 : &amp;quot;Spawn&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Teleport&amp;quot;&lt;br /&gt;
		9 : &amp;quot;Teleport Away&amp;quot;&lt;br /&gt;
		10 : &amp;quot;Create Explosion&amp;quot;&lt;br /&gt;
		11 : &amp;quot;Drag&amp;quot;&lt;br /&gt;
		255 : &amp;quot;Exit Camera (Non-forced only)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	mouse_param_1_1(string) : &amp;quot;Right Double Click Param&amp;quot;&lt;br /&gt;
	mouse_block_drag_1_1(choices) : &amp;quot;Right Double Click Block Drag Repeating Action&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	mouse_action_2_1(choices) : &amp;quot;Third Double Click Action&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No Action&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Trigger Off&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Trigger On&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Trigger Toggle&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Remove&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Hurt&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Heal&amp;quot;&lt;br /&gt;
		7 : &amp;quot;Spawn&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Teleport&amp;quot;&lt;br /&gt;
		9 : &amp;quot;Teleport Away&amp;quot;&lt;br /&gt;
		10 : &amp;quot;Create Explosion&amp;quot;&lt;br /&gt;
		11 : &amp;quot;Drag&amp;quot;&lt;br /&gt;
		255 : &amp;quot;Exit Camera (Non-forced only)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	mouse_param_2_1(string) : &amp;quot;Third Double Click Param&amp;quot;&lt;br /&gt;
	mouse_block_drag_2_1(choices) : &amp;quot;Third Double Click Block Drag Repeating Action&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	mouse_digital_action_reset(string) : &amp;quot;Mouse Digital Action Reset Time&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	// Signature for AS callback method is: bool YourMouseEventCallbackName(CBaseEntity@ pCamera, CBaseEntity@ pPlayer, CBaseEntity@ pEntity, int mouseEvent, int mouseEventParam, float screenX, float screenY, Vector mousePosition, Vector clickDirection, Vector clickPlaneNormal, float scale)&lt;br /&gt;
	// pCamera - the camera entity calling this method&lt;br /&gt;
	// pPlayer - the player who created the mouse event&lt;br /&gt;
	// pEntity - the entity &amp;quot;hit&amp;quot; by the cursor (if any)&lt;br /&gt;
	// mouseEvent - one of:&lt;br /&gt;
	//	 MOUSE_RELEASED = 0;&lt;br /&gt;
	//	 MOUSE_PRESSED = 1;&lt;br /&gt;
	//	 MOUSE_DOUBLE_PRESSED = 2;&lt;br /&gt;
	//	 MOUSE_DRAGGED = 3;&lt;br /&gt;
	//	 MOUSE_POS_CHANGED = 4;&lt;br /&gt;
	//	 MOUSE_WHEEL_SCROLLED = 5;&lt;br /&gt;
	// mouseEventParam - depends on the event:&lt;br /&gt;
	//	 if event is MOUSE_WHEEL_SCROLLED, mouseEventParam is the scrollDelta (usually: 1, 2, 3 or -1, -2, -3)&lt;br /&gt;
	//	 if event is any other, mouseEventParam is one of:&lt;br /&gt;
	//		 MOUSE_BUTTON_LEFT = 0;&lt;br /&gt;
	//		 MOUSE_BUTTON_RIGHT = 1;&lt;br /&gt;
	//		 MOUSE_BUTTON_MIDDLE = 2;&lt;br /&gt;
	// screenX - x coordinate of the mouse cursor on screen (from -1 to 1)&lt;br /&gt;
	// screenY - y coordinate of the mouse cursor on screen (from -1 to 1)&lt;br /&gt;
	// mousePosition - the position of the mouse cursor in world coordinates&lt;br /&gt;
	// clickDirection - the direction from the camera origin to the cursor &amp;quot;hit&amp;quot; point, basically: (camera-&amp;gt;origin - mousePosition).Normalize()&lt;br /&gt;
	// clickPlaneNormal - the normal vector of the surface that was hit by the mouse cursor&lt;br /&gt;
	// scale - if clicked through a portal with scale, this is the final scale (useful for scaling explosions or other visual/physical effects caused by the mouse event), usually this will be 1.0&lt;br /&gt;
	m_iszASMouseEventCallbackName(string) : &amp;quot;AS Mouse Event Callback Name&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	// Signature for AS callback method is: void YourKeyInputCallbackName(CBaseEntity@ pCamera, CBasePlayer@ pPlayer, bool down, KeyCode keycode)&lt;br /&gt;
	// pCamera - the camera entity calling this method&lt;br /&gt;
	// pPlayer - the player who created the key input&lt;br /&gt;
	// down - true if key is pressed, false if key is released&lt;br /&gt;
	// keycode - identifier of a keyboard key (see https://github.com/ValveSoftware/halflife/blob/master/utils/vgui/include/VGUI_KeyCode.h)&lt;br /&gt;
	m_iszASKeyInputCallbackName(string) : &amp;quot;AS Key Input Callback Name&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	// Sets a player&#039;s target name when they use the camera, unsets it, when they stop using it&lt;br /&gt;
	m_iszOverridePlayerTargetname(string) : &amp;quot;Set Player Targetname&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	// Targets to trigger when a player starts or stops using a camera&lt;br /&gt;
	m_iszTargetWhenPlayerStartsUsing(string) : &amp;quot;Target when player starts using&amp;quot;&lt;br /&gt;
	m_iszTargetWhenPlayerStopsUsing(string) : &amp;quot;Target when player stops using&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	// Target to fire when the camera is turned off (either through trigger or because time ran out)&lt;br /&gt;
	m_iszTurnedOffTarget(string) : &amp;quot;Target when turned off&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	max_player_count(integer) : &amp;quot;Max Players&amp;quot; : 1&lt;br /&gt;
	max_player_target(string) : &amp;quot;Target: Player tried to use, but Max Players reached&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	hud_health(choices) : &amp;quot;HUD: Health and Battery&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Show Health and Battery&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Hide Health and Battery&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	hud_flashlight(choices) : &amp;quot;HUD: Flashlight&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Show Flashlight&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Hide Flashlight&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	hud_weapons(choices) : &amp;quot;HUD: Weapons&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Show Weapons&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Hide Weapons&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	cursor_sprite(sprite) : &amp;quot;Custom Cursor (Sprite)&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Targetname, ZHLTbmodel) = trigger_cameratarget : &amp;quot;Camera Target&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Invisible&amp;quot; : 0&lt;br /&gt;
		2: &amp;quot;Start Off&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	mouse_action_0_0(choices) : &amp;quot;Left Click Action&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No Action&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Trigger Off&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Trigger On&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Trigger Toggle&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Remove&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Hurt&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Heal&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	mouse_param_0_0(string) : &amp;quot;Left Click Param&amp;quot;&lt;br /&gt;
	mouse_block_drag_0_0(choices) : &amp;quot;Left Click Block Drag Repeating Action&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	mouse_target_0_0(string) : &amp;quot;Left Click Target&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	mouse_action_1_0(choices) : &amp;quot;Right Click Action&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No Action&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Trigger Off&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Trigger On&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Trigger Toggle&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Remove&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Hurt&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Heal&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	mouse_param_1_0(string) : &amp;quot;Right Click Param&amp;quot;&lt;br /&gt;
	mouse_block_drag_1_0(choices) : &amp;quot;Right Click Block Drag Repeating Action&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	mouse_target_1_0(string) : &amp;quot;Right Click Target&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	mouse_action_2_0(choices) : &amp;quot;Third Click Action&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No Action&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Trigger Off&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Trigger On&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Trigger Toggle&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Remove&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Hurt&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Heal&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	mouse_param_2_0(string) : &amp;quot;Third Click Param&amp;quot;&lt;br /&gt;
	mouse_block_drag_2_0(choices) : &amp;quot;Third Click Block Drag Repeating Action&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	mouse_target_2_0(string) : &amp;quot;Third Click Target&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	mouse_action_0_1(choices) : &amp;quot;Left Double Click Action&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No Action&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Trigger Off&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Trigger On&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Trigger Toggle&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Remove&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Hurt&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Heal&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	mouse_param_0_1(string) : &amp;quot;Left Double Click Param&amp;quot;&lt;br /&gt;
	mouse_block_drag_0_1(choices) : &amp;quot;Left Double Click Block Drag Repeating Action&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	mouse_target_0_1(string) : &amp;quot;Left Double Click Target&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	mouse_action_1_1(choices) : &amp;quot;Right Double Click Action&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No Action&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Trigger Off&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Trigger On&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Trigger Toggle&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Remove&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Hurt&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Heal&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	mouse_param_1_1(string) : &amp;quot;Right Double Click Param&amp;quot;&lt;br /&gt;
	mouse_block_drag_1_1(choices) : &amp;quot;Right Double Click Block Drag Repeating Action&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	mouse_target_1_1(string) : &amp;quot;Right Double Click Target&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	mouse_action_2_1(choices) : &amp;quot;Third Double Click Action&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No Action&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Trigger Off&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Trigger On&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Trigger Toggle&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Remove&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Hurt&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Heal&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	mouse_param_2_1(string) : &amp;quot;Third Double Click Param&amp;quot;&lt;br /&gt;
	mouse_block_drag_2_1(choices) : &amp;quot;Third Double Click Block Drag Repeating Action&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	mouse_target_2_1(string) : &amp;quot;Third Double Click Target&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	mouse_digital_action_reset(string) : &amp;quot;Mouse Digital Action Reset Time&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Targetname, ZHLTbmodel) = trigger_cdaudio : &amp;quot;Trigger CD Audio&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	health(choices) : &amp;quot;Track #&amp;quot; : -1 =&lt;br /&gt;
	[&lt;br /&gt;
		-1 : &amp;quot;Stop&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Track 1&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Track 2&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Track 3&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Track 4&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Track 5&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Track 6&amp;quot;&lt;br /&gt;
		7 : &amp;quot;Track 7&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Track 8&amp;quot;&lt;br /&gt;
		9 : &amp;quot;Track 9&amp;quot;&lt;br /&gt;
		10 : &amp;quot;Track 10&amp;quot;&lt;br /&gt;
		11 : &amp;quot;Track 11&amp;quot;&lt;br /&gt;
		12 : &amp;quot;Track 12&amp;quot;&lt;br /&gt;
		13 : &amp;quot;Track 13&amp;quot;&lt;br /&gt;
		14 : &amp;quot;Track 14&amp;quot;&lt;br /&gt;
		15 : &amp;quot;Track 15&amp;quot;&lt;br /&gt;
		16 : &amp;quot;Track 16&amp;quot;&lt;br /&gt;
		17 : &amp;quot;Track 17&amp;quot;&lt;br /&gt;
		18 : &amp;quot;Track 18&amp;quot;&lt;br /&gt;
		19 : &amp;quot;Track 19&amp;quot;&lt;br /&gt;
		20 : &amp;quot;Track 20&amp;quot;&lt;br /&gt;
		21 : &amp;quot;Track 21&amp;quot;&lt;br /&gt;
		22 : &amp;quot;Track 22&amp;quot;&lt;br /&gt;
		23 : &amp;quot;Track 23&amp;quot;&lt;br /&gt;
		24 : &amp;quot;Track 24&amp;quot;&lt;br /&gt;
		25 : &amp;quot;Track 25&amp;quot;&lt;br /&gt;
		26 : &amp;quot;Track 26&amp;quot;&lt;br /&gt;
		27 : &amp;quot;Track 27&amp;quot;&lt;br /&gt;
		28 : &amp;quot;Track 28&amp;quot;&lt;br /&gt;
		29 : &amp;quot;Track 29&amp;quot;&lt;br /&gt;
		30 : &amp;quot;Track 30&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Target, AttackObject) color(128 96 2) = trigger_change_class : &amp;quot;Trigger Change Class&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Targetname, InventoryRules, ZHLTbmodel) = trigger_changelevel : &amp;quot;Trigger Change level&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		2: &amp;quot;USE Only&amp;quot; : 0&lt;br /&gt;
		4: &amp;quot;No CVAR override&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	map(string) : &amp;quot;New map name&amp;quot;&lt;br /&gt;
	master(string) : &amp;quot;Master&amp;quot;&lt;br /&gt;
	keep_inventory(choices) : &amp;quot;Players take inventory to new map&amp;quot; : 1 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	percent_of_players(string) : &amp;quot;Percentage of players needed&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname) color(100 100 200) = trigger_changemaxammo : &amp;quot;Trigger Change Max Ammo&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	target(target_destination) : &amp;quot;Trigger after fire&amp;quot;&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;All players&amp;quot; : 0&lt;br /&gt;
		2 : &amp;quot;Remove excess ammo&amp;quot; : 0&lt;br /&gt;
		4 : &amp;quot;Set ammo to new max&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	message(choices) : &amp;quot;Ammo name&amp;quot; : &amp;quot;9mm&amp;quot; =&lt;br /&gt;
	[&lt;br /&gt;
		&amp;quot;9mm&amp;quot; : &amp;quot;9mm Rounds&amp;quot;&lt;br /&gt;
		&amp;quot;bolts&amp;quot; : &amp;quot;Crossbow Bolts&amp;quot;&lt;br /&gt;
		&amp;quot;357&amp;quot; : &amp;quot;.357 Rounds&amp;quot;&lt;br /&gt;
		&amp;quot;uranium&amp;quot; : &amp;quot;Uranium Ammo&amp;quot;&lt;br /&gt;
		&amp;quot;Hand Grenade&amp;quot; : &amp;quot;Hand Grenades&amp;quot;&lt;br /&gt;
		&amp;quot;Hornets&amp;quot; : &amp;quot;Hornets&amp;quot;&lt;br /&gt;
		&amp;quot;556&amp;quot; : &amp;quot;5.56 Rounds&amp;quot;&lt;br /&gt;
		&amp;quot;ARgrenades&amp;quot; : &amp;quot;AR Grenades&amp;quot;&lt;br /&gt;
		&amp;quot;health&amp;quot; : &amp;quot;Health (Medkit Ammo)&amp;quot;&lt;br /&gt;
		&amp;quot;rockets&amp;quot; : &amp;quot;Rockets&amp;quot;&lt;br /&gt;
		&amp;quot;Satchel Charge&amp;quot; : &amp;quot;Satchel Charges&amp;quot;&lt;br /&gt;
		&amp;quot;shock charges&amp;quot; : &amp;quot;Shock Rifle Ammo&amp;quot;&lt;br /&gt;
		&amp;quot;buckshot&amp;quot; : &amp;quot;Shotgun Ammo&amp;quot;&lt;br /&gt;
		&amp;quot;m40a1&amp;quot; : &amp;quot;Sniper Rifle Ammo&amp;quot;&lt;br /&gt;
		&amp;quot;sporeclip&amp;quot; : &amp;quot;Spore Launcher Ammo&amp;quot;&lt;br /&gt;
		&amp;quot;Snarks&amp;quot; : &amp;quot;Snarks&amp;quot;&lt;br /&gt;
		&amp;quot;Trip Mine&amp;quot; : &amp;quot;Trip Mines&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	m_iMaxAmmo(integer) : &amp;quot;Value to use&amp;quot; : 100&lt;br /&gt;
	m_Mode(choices) : &amp;quot;Change Max Ammo Mode&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Set&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Reset&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Add&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Subtract&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Target) color(140 0 130) = trigger_changemodel : &amp;quot;Trigger Change Model&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	model(studio) : &amp;quot;New Model Name&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	skin(integer) : &amp;quot;Skin&amp;quot; : 0&lt;br /&gt;
	bodygroup(integer) : &amp;quot;Body Group&amp;quot; : 0&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Target) color(60 155 30) = trigger_changetarget : &amp;quot;Trigger Change Target&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	m_iszNewTarget(string) : &amp;quot;New Target&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname) color(160 192 255) = trigger_changesky : &amp;quot;Trigger Change Sky&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	skyname(string) : &amp;quot;Sky Name&amp;quot;&lt;br /&gt;
	color(color255) : &amp;quot;Color&amp;quot;&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;All players&amp;quot; : 0&lt;br /&gt;
		2 : &amp;quot;No clients&amp;quot; : 0&lt;br /&gt;
		4 : &amp;quot;Update server&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
// Change any entity keyvalue during runtime, allows set, basic arithmetic operations and bitwise logical operations (useful for flags)&lt;br /&gt;
@PointClass base(Targetname) color(90 215 60) = trigger_changevalue : &amp;quot;Trigger Change Value&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
&lt;br /&gt;
		// For Vectors:&lt;br /&gt;
		1 : &amp;quot;Don&#039;t use X&amp;quot; : 0&lt;br /&gt;
		2 : &amp;quot;Don&#039;t use Y&amp;quot; : 0&lt;br /&gt;
		4 : &amp;quot;Don&#039;t use Z&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
		32 : &amp;quot;Invert target value&amp;quot; : 0&lt;br /&gt;
		64 : &amp;quot;Invert source value&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
	]&lt;br /&gt;
	target(target_destination) : &amp;quot;Destination entity&amp;quot;&lt;br /&gt;
	m_iszValueName(string) : &amp;quot;Destination key&amp;quot;&lt;br /&gt;
	m_iszNewValue(string) : &amp;quot;Source value&amp;quot;&lt;br /&gt;
	m_iszValueType(choices) : &amp;quot;Action&amp;quot; :  0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Replace (= source)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Add (= old + source)&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Mul (= old * source)&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Sub (= old - source)&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Div (= old / source)&amp;quot;&lt;br /&gt;
		16 : &amp;quot;Pow (= old ^ source)&amp;quot;&lt;br /&gt;
		12 : &amp;quot;Mod (= old % source)&amp;quot;&lt;br /&gt;
		5 : &amp;quot;AND (= old &amp;amp; source)&amp;quot;&lt;br /&gt;
		6 : &amp;quot;OR (= old | source)&amp;quot;&lt;br /&gt;
		13 : &amp;quot;XOR (= old ^ source)&amp;quot;&lt;br /&gt;
		7 : &amp;quot;NAND (= !(old &amp;amp; source))&amp;quot;&lt;br /&gt;
		8 : &amp;quot;NOR (= !(old | source))&amp;quot;&lt;br /&gt;
		14 : &amp;quot;NXOR (= !(old ^ source))&amp;quot;&lt;br /&gt;
		11 : &amp;quot;Append (String concatenation)&amp;quot;&lt;br /&gt;
		17 : &amp;quot;Sin (= sin(source))&amp;quot;&lt;br /&gt;
		18 : &amp;quot;Cos (= cos(source))&amp;quot;&lt;br /&gt;
		19 : &amp;quot;Tan (= tan(source))&amp;quot;&lt;br /&gt;
		23 : &amp;quot;Cot (= cot(source))&amp;quot;&lt;br /&gt;
		20 : &amp;quot;Arcsin (= arcsin(source))&amp;quot;&lt;br /&gt;
		21 : &amp;quot;Arccos (= arccos(source))&amp;quot;&lt;br /&gt;
		22 : &amp;quot;Arctan (= arctan(source))&amp;quot;&lt;br /&gt;
		24 : &amp;quot;Arccot (= arccot(source))&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	m_trigonometricBehaviour(choices) : &amp;quot;Trigonometric funcs. I/O&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Degrees in (out for arc.)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Radian measure in (out for arc.)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	m_iAppendSpaces(integer) : &amp;quot;Append spaces (for strings)&amp;quot; : 0&lt;br /&gt;
	message(target_destination) : &amp;quot;Trigger after action&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
// Copy value of one entity to another value of another entity&lt;br /&gt;
@PointClass base(Targetname) color(60 90 215) = trigger_copyvalue : &amp;quot;Trigger Copy Value&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		// For vectors&lt;br /&gt;
		1 : &amp;quot;Don&#039;t use X&amp;quot; : 0&lt;br /&gt;
		2 : &amp;quot;Don&#039;t use Y&amp;quot; : 0&lt;br /&gt;
		4 : &amp;quot;Don&#039;t use Z&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
		8 : &amp;quot;Constant&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
		// Only when &amp;quot;Constant&amp;quot; is on&lt;br /&gt;
		16 : &amp;quot;Start On&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
		32 : &amp;quot;Invert target value&amp;quot; : 0&lt;br /&gt;
		64 : &amp;quot;Invert source value&amp;quot; : 0&lt;br /&gt;
		128 : &amp;quot;Multiple destinations&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	netname(target_destination) : &amp;quot;Source entity&amp;quot;&lt;br /&gt;
	m_iszSrcValueName(string) : &amp;quot;Source key&amp;quot;&lt;br /&gt;
	target(target_destination) : &amp;quot;Destination entity&amp;quot;&lt;br /&gt;
	m_iszDstValueName(string) : &amp;quot;Destination key&amp;quot;&lt;br /&gt;
	m_iszValueType(choices) : &amp;quot;Action&amp;quot; :  0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Replace (= source)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Add (= old + source)&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Mul (= old * source)&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Sub (= old - source)&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Div (= old / source)&amp;quot;&lt;br /&gt;
		16 : &amp;quot;Pow (= old ^ source)&amp;quot;&lt;br /&gt;
		12 : &amp;quot;Mod (= old % source)&amp;quot;&lt;br /&gt;
		5 : &amp;quot;AND (= old &amp;amp; source)&amp;quot;&lt;br /&gt;
		6 : &amp;quot;OR (= old | source)&amp;quot;&lt;br /&gt;
		13 : &amp;quot;XOR (= old ^ source)&amp;quot;&lt;br /&gt;
		7 : &amp;quot;NAND (= !(old &amp;amp; source))&amp;quot;&lt;br /&gt;
		8 : &amp;quot;NOR (= !(old | source))&amp;quot;&lt;br /&gt;
		14 : &amp;quot;NXOR (= !(old ^ source))&amp;quot;&lt;br /&gt;
		9 : &amp;quot;Direction to Angles&amp;quot;&lt;br /&gt;
		10 : &amp;quot;Angles to Direction&amp;quot;&lt;br /&gt;
		11 : &amp;quot;Append (String concatenation)&amp;quot;&lt;br /&gt;
		17 : &amp;quot;Sin (= sin(source))&amp;quot;&lt;br /&gt;
		18 : &amp;quot;Cos (= cos(source))&amp;quot;&lt;br /&gt;
		19 : &amp;quot;Tan (= tan(source))&amp;quot;&lt;br /&gt;
		23 : &amp;quot;Cot (= cot(source))&amp;quot;&lt;br /&gt;
		20 : &amp;quot;Arcsin (= arcsin(source))&amp;quot;&lt;br /&gt;
		21 : &amp;quot;Arccos (= arccos(source))&amp;quot;&lt;br /&gt;
		22 : &amp;quot;Arctan (= arctan(source))&amp;quot;&lt;br /&gt;
		24 : &amp;quot;Arccot (= arccot(source))&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	m_iFloatConversion(choices) : &amp;quot;Float-to-string/-int conversion&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0  : &amp;quot;6 decimal places (Default)&amp;quot;&lt;br /&gt;
		1  : &amp;quot;5 d. p., rounded to 5 d. p.&amp;quot;&lt;br /&gt;
		4  : &amp;quot;4 d. p., rounded to 4 d. p.&amp;quot;&lt;br /&gt;
		7  : &amp;quot;3 d. p., rounded to 3 d. p.&amp;quot;&lt;br /&gt;
		10 : &amp;quot;2 d. p., rounded to 2 d. p.&amp;quot;&lt;br /&gt;
		13 : &amp;quot;1 d. p., rounded to 1 d. p.&amp;quot;&lt;br /&gt;
		16 : &amp;quot;Integer, rounded&amp;quot;&lt;br /&gt;
		17 : &amp;quot;Integer, rounded up&amp;quot;&lt;br /&gt;
		18 : &amp;quot;Integer, rounded down&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	m_trigonometricBehaviour(choices) : &amp;quot;Trigonometric funcs. I/O&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Degrees in (out for arc.)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Radian measure in (out for arc.)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	m_iAppendSpaces(integer) : &amp;quot;Append spaces (for strings)&amp;quot; : 0&lt;br /&gt;
	message(target_destination) : &amp;quot;Trigger after action&amp;quot;&lt;br /&gt;
	dmg(string) : &amp;quot;Copy-interval (seconds)&amp;quot; : &amp;quot;0.0&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
// Checks values of entities and triggers if true or false&lt;br /&gt;
@PointClass base(Targetname) color(120 180 10) = trigger_condition : &amp;quot;Trigger Condition&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Start Off&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
		// For vectors&lt;br /&gt;
		2 : &amp;quot;Don&#039;t use X (R)&amp;quot; : 0&lt;br /&gt;
		4 : &amp;quot;Don&#039;t use Y (G)&amp;quot; : 0&lt;br /&gt;
		8 : &amp;quot;Don&#039;t use Z (B)&amp;quot; : 0&lt;br /&gt;
		16 : &amp;quot;Don&#039;t use W (A)&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
		// Check once when fired - do not toggle&lt;br /&gt;
		32 : &amp;quot;Cyclic; no toggle&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
		// Forward original activator instead of overwriting it with the trigger_condition&#039;s entity id.&lt;br /&gt;
		// Not done by default, as time that passes till condition is true and trigger_condition fires,&lt;br /&gt;
		// activator may no longer exist and unwanted behaviour may be exhibited if it is used anyway.&lt;br /&gt;
		// Hence, you have to explicitly set the forwarding of the activator with this flag in order to&lt;br /&gt;
		// use it in entities targeted by trigger_condition. Caller is always forwarded.&lt;br /&gt;
		64 : &amp;quot;Keep &#039;!activator&#039;&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
		128 : &amp;quot;Ignore initial result&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	target(target_destination) : &amp;quot;Monitored entity&amp;quot;&lt;br /&gt;
	m_iszValueName(string) : &amp;quot;Monitored key&amp;quot;&lt;br /&gt;
	m_iszSourceName(target_destination) : &amp;quot;Compare-entity&amp;quot;&lt;br /&gt;
	m_iszSourceKey(string) : &amp;quot;Compare-key&amp;quot;&lt;br /&gt;
	m_iszCheckValue(string) : &amp;quot;Compare-value (alternative)&amp;quot;&lt;br /&gt;
	m_iCheckType(choices) : &amp;quot;Comparator; mon. val. -&amp;gt; comp.-val.&amp;quot; :  0 =&lt;br /&gt;
	[&lt;br /&gt;
		// Ent keyvalue equals mappers value&lt;br /&gt;
		0 : &amp;quot;== (Equal)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		// Ent keyvalue does not equal mappers value&lt;br /&gt;
		1 : &amp;quot;!= (Not equal)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		// Ent keyvalue is smaller than mappers value&lt;br /&gt;
		2 : &amp;quot;&amp;lt; (Less)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		// Ent keyvalue is greater than mappers value&lt;br /&gt;
		3 : &amp;quot;&amp;gt; (Greater)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		// Ent keyvalue is less than or equal to mappers value&lt;br /&gt;
		4 : &amp;quot;&amp;lt;= (Less or equal)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		// Ent keyvalue is greater than or equal to mappers value&lt;br /&gt;
		5 : &amp;quot;&amp;gt;= (Greater or equal)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		// (Ent keyvalue &amp;amp; mappers value) does not equal 0 (Flag check)&lt;br /&gt;
		6 : &amp;quot;&amp;amp; (Logical AND)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	netname(string) : &amp;quot;Target for &#039;true&#039;-case&amp;quot;&lt;br /&gt;
	message(string) : &amp;quot;Target for &#039;false&#039;-case&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	m_iCheckBehaviour(choices) : &amp;quot;Constant mode trigger behaviour&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Fire true/false alternatingly&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Only wait after false&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Only wait after true&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Always fire for both&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	// 0.0 means to check every frame&lt;br /&gt;
	m_fCheckInterval(string) : &amp;quot;Check-interval (seconds)&amp;quot; : &amp;quot;0.1&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Trigger, Targetname, ZHLTbmodel) color(238 240 238) = trigger_counter : &amp;quot;Trigger Counter&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;No Message&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	master(string) : &amp;quot;Master&amp;quot;&lt;br /&gt;
	count(integer) : &amp;quot;Count before activation&amp;quot; : 2&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Targetx) color(255 2 0) = trigger_createentity : &amp;quot;Create Entity&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	m_iszCrtEntChildClass(string) : &amp;quot;Child Classname&amp;quot;&lt;br /&gt;
	m_iszCrtEntChildName(string) : &amp;quot;Child Targetname&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Target) size(-8 -8 -8, 8 8 8) color(100 100 128) = trigger_cyclicobserver : &amp;quot;Controls observer cyclic mode&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	m_Mode(choices) : &amp;quot;Mode to use&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Off&amp;quot;&lt;br /&gt;
		1: &amp;quot;On&amp;quot;&lt;br /&gt;
		2: &amp;quot;Toggle&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Target) color(60 90 215) = trigger_effect : &amp;quot;Trigger Effect&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Start on&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	effect_glow_mode(choices) : &amp;quot;Glow shell mode&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No change&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Add&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Subtract&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	effect_glow(color255) : &amp;quot;Glow shell color (R G B)&amp;quot; : &amp;quot;0 0 0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	effect_block_weapons_mode(choices) : &amp;quot;Block weapons&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No change&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Add&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Subtract&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	effect_invulnerable_mode(choices) : &amp;quot;Invulnerable&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No change&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Add&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Subtract&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	effect_invisible_mode(choices) : &amp;quot;Invisible&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No change&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Add&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Subtract&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	effect_nonsolid_mode(choices) : &amp;quot;Non-solid&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No change&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Add&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Subtract&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	effect_respiration_mode(choices) : &amp;quot;Time before drown mode&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No change&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Add&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Subtract&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	effect_respiration(string) : &amp;quot;Time before drown (seconds)&amp;quot; : &amp;quot;0.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	effect_friction_mode(choices) : &amp;quot;Friction modifier mode&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No change&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Add&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Subtract&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	effect_friction(string) : &amp;quot;Friction modifier (%)&amp;quot; : &amp;quot;0.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	effect_gravity_mode(choices) : &amp;quot;Gravity modifier mode&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No change&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Add&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Subtract&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	effect_gravity(string) : &amp;quot;Gravity modifier (%)&amp;quot; : &amp;quot;0.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	effect_speed_mode(choices) : &amp;quot;Speed modifier mode&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No change&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Add&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Subtract&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	effect_speed(string) : &amp;quot;Speed modifier (%)&amp;quot; : &amp;quot;0.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	effect_damage_mode(choices) : &amp;quot;Damage modifier mode&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No change&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Add&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Subtract&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	effect_damage(string) : &amp;quot;Damage modifier (%)&amp;quot; : &amp;quot;0.0&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname) size(-12 -12 -12, 12 12 12) color(255 255 0) = trigger_entity_iterator : &amp;quot;Entity Iterator&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	name_filter(target_destination) : &amp;quot;Filter Entities by Name&amp;quot;&lt;br /&gt;
	classname_filter(string) : &amp;quot;Filter Entities by Classname&amp;quot;&lt;br /&gt;
	status_filter(choices) : &amp;quot;Filter Entities by Status&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No Filter (default)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Only Living Entities&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Only Dead Entities&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	delay_between_triggers(string) : &amp;quot;Delay between Entities (secs)&amp;quot; : &amp;quot;0.0&amp;quot;&lt;br /&gt;
	target(target_destination) : &amp;quot;Entity&#039;s Trigger Target&amp;quot;&lt;br /&gt;
	triggerstate(choices) : &amp;quot;Entity&#039;s Trigger State&amp;quot; : 2 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Off&amp;quot;&lt;br /&gt;
		1 : &amp;quot;On&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Toggle&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	run_mode(choices) : &amp;quot;Run Mode&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Run Once&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Run Once; Multi-threaded&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Toggle On/Off&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	trigger_after_run(target_destination) : &amp;quot;Trigger at end of each Run&amp;quot;&lt;br /&gt;
	maximum_runs(integer) : &amp;quot;Maximum Runs (0 for unlimited)&amp;quot; : 0&lt;br /&gt;
	delay_between_runs(string) : &amp;quot;Delay before Restarting (secs)&amp;quot; : &amp;quot;0.5&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Trigger) = trigger_gravity : &amp;quot;Trigger Gravity&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	gravity(integer) : &amp;quot;Gravity (0-1)&amp;quot; : 1&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Targetname, Target, InventoryRules, ZHLTbmodel) = trigger_hurt : &amp;quot;Trigger Hurt&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Target Once&amp;quot; : 0&lt;br /&gt;
		2: &amp;quot;Start Off&amp;quot; : 0&lt;br /&gt;
		8: &amp;quot;No clients&amp;quot; : 0&lt;br /&gt;
		16: &amp;quot;FireClientOnly&amp;quot; : 0&lt;br /&gt;
		32: &amp;quot;TouchClientOnly&amp;quot; : 0&lt;br /&gt;
		64: &amp;quot;Affect non-moving NPC&#039;s&amp;quot;: 0&lt;br /&gt;
	]&lt;br /&gt;
	master(string) : &amp;quot;Master&amp;quot;&lt;br /&gt;
	dmg(integer) : &amp;quot;Damage&amp;quot; : 10&lt;br /&gt;
	delay(string) : &amp;quot;Delay before trigger&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
	damagetype(choices) : &amp;quot;Damage Type&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;GENERIC&amp;quot;&lt;br /&gt;
		1 : &amp;quot;CRUSH&amp;quot;&lt;br /&gt;
		2 : &amp;quot;BULLET&amp;quot;&lt;br /&gt;
		4 : &amp;quot;SLASH&amp;quot;&lt;br /&gt;
		8 : &amp;quot;BURN&amp;quot;&lt;br /&gt;
		16 : &amp;quot;FREEZE&amp;quot;&lt;br /&gt;
		32 : &amp;quot;FALL&amp;quot;&lt;br /&gt;
		64 : &amp;quot;BLAST&amp;quot;&lt;br /&gt;
		128 : &amp;quot;CLUB&amp;quot;&lt;br /&gt;
		256 : &amp;quot;SHOCK&amp;quot;&lt;br /&gt;
		512 : &amp;quot;SONIC&amp;quot;&lt;br /&gt;
		1024 : &amp;quot;ENERGYBEAM&amp;quot;&lt;br /&gt;
		16384 : &amp;quot;DROWN&amp;quot;&lt;br /&gt;
		32768 : &amp;quot;PARALYSE&amp;quot;&lt;br /&gt;
		65536 : &amp;quot;NERVEGAS&amp;quot;&lt;br /&gt;
		131072 : &amp;quot;POISON&amp;quot;&lt;br /&gt;
		262144 : &amp;quot;RADIATION&amp;quot;&lt;br /&gt;
		524288 : &amp;quot;DROWNRECOVER&amp;quot;&lt;br /&gt;
		1048576 : &amp;quot;CHEMICAL&amp;quot;&lt;br /&gt;
		2097152 : &amp;quot;SLOWBURN&amp;quot;&lt;br /&gt;
		4194304 : &amp;quot;SLOWFREEZE&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Target) = trigger_hurt_remote : &amp;quot;Trigger Hurt (non-touch)&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Instant Kill&amp;quot; : 0&lt;br /&gt;
		2 : &amp;quot;Constant&amp;quot; : 0&lt;br /&gt;
		4 : &amp;quot;Start On&amp;quot; : 0&lt;br /&gt;
		8 : &amp;quot;Do Armor&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	targetclass(string) : &amp;quot;Target Class&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	dmg(integer) : &amp;quot;Damage&amp;quot; : 10&lt;br /&gt;
	armordmg(integer) : &amp;quot;Armor Damage&amp;quot; : 0&lt;br /&gt;
	delay(string) : &amp;quot;Delay (Only when Constant)&amp;quot; : &amp;quot;1&amp;quot;&lt;br /&gt;
	damagetype(choices) : &amp;quot;Damage Type&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;GENERIC&amp;quot;&lt;br /&gt;
		1 : &amp;quot;CRUSH&amp;quot;&lt;br /&gt;
		2 : &amp;quot;BULLET&amp;quot;&lt;br /&gt;
		4 : &amp;quot;SLASH&amp;quot;&lt;br /&gt;
		8 : &amp;quot;BURN&amp;quot;&lt;br /&gt;
		16 : &amp;quot;FREEZE&amp;quot;&lt;br /&gt;
		32 : &amp;quot;FALL&amp;quot;&lt;br /&gt;
		64 : &amp;quot;BLAST&amp;quot;&lt;br /&gt;
		128 : &amp;quot;CLUB&amp;quot;&lt;br /&gt;
		256 : &amp;quot;SHOCK&amp;quot;&lt;br /&gt;
		512 : &amp;quot;SONIC&amp;quot;&lt;br /&gt;
		1024 : &amp;quot;ENERGYBEAM&amp;quot;&lt;br /&gt;
		16384 : &amp;quot;DROWN&amp;quot;&lt;br /&gt;
		32768 : &amp;quot;PARALYSE&amp;quot;&lt;br /&gt;
		65536 : &amp;quot;NERVEGAS&amp;quot;&lt;br /&gt;
		131072 : &amp;quot;POISON&amp;quot;&lt;br /&gt;
		262144 : &amp;quot;RADIATION&amp;quot;&lt;br /&gt;
		524288 : &amp;quot;DROWNRECOVER&amp;quot;&lt;br /&gt;
		1048576 : &amp;quot;CHEMICAL&amp;quot;&lt;br /&gt;
		2097152 : &amp;quot;SLOWBURN&amp;quot;&lt;br /&gt;
		4194304 : &amp;quot;SLOWFREEZE&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname) = trigger_load : &amp;quot;Custom Load Data&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	m_iszLevelName(string) : &amp;quot;Alternate Level Save File&amp;quot;&lt;br /&gt;
	netname(string) : &amp;quot;Label to read from&amp;quot;&lt;br /&gt;
	target(string) : &amp;quot;Destination Entity&amp;quot;&lt;br /&gt;
	message(string) : &amp;quot;Destination Keyvalue&amp;quot;&lt;br /&gt;
	m_iszTrigger(String) : &amp;quot;Trigger after loading&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Angles) = trigger_lookat : &amp;quot;Forces one Ent to look at another Ent&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Start On&amp;quot; : 0&lt;br /&gt;
		2 : &amp;quot;Set Once&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	target(string) : &amp;quot;Target&amp;quot;&lt;br /&gt;
	message(string) : &amp;quot;Entity to look at&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Angles, ZHLTbmodel) = trigger_monsterjump : &amp;quot;Trigger monster jump&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	master(string) : &amp;quot;Master&amp;quot;&lt;br /&gt;
	speed(integer) : &amp;quot;Jump Speed&amp;quot; : 40&lt;br /&gt;
	height(integer) : &amp;quot;Jump Height&amp;quot; : 128&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Trigger) = trigger_multiple : &amp;quot;Trigger: Activate multiple&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	wait(integer) : &amp;quot;Delay before reset&amp;quot; : 10&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname) size(-16 -16 -16, 16 16 16) color(0 0 200) = trigger_numericdisplay : &amp;quot;Numeric Display&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Start On&amp;quot; : 0&lt;br /&gt;
		2 : &amp;quot;Cyclic&amp;quot; : 0&lt;br /&gt;
		4 : &amp;quot;Ignore leading zeroes&amp;quot; : 0&lt;br /&gt;
		8 : &amp;quot;Zero as leading&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	target(target_destination) : &amp;quot;Entity to track&amp;quot;&lt;br /&gt;
	netname(string) : &amp;quot;Key to read&amp;quot;&lt;br /&gt;
	message(string) : &amp;quot;Base digit name&amp;quot;	//Digit names are base_digit_name%u, where %u is 1-10&lt;br /&gt;
	frags(string) : &amp;quot;Update delay&amp;quot; : &amp;quot;0.1&amp;quot; //Delay, in seconds, between digit updates&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Trigger) = trigger_once : &amp;quot;Trigger: Activate once&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Trigger, Angles) = trigger_push : &amp;quot;Trigger push&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Once Only&amp;quot; : 0&lt;br /&gt;
		2: &amp;quot;Start Off&amp;quot; : 0&lt;br /&gt;
		8: &amp;quot;No Clients&amp;quot; : 0&lt;br /&gt;
		16: &amp;quot;No Monsters&amp;quot; : 0&lt;br /&gt;
		64: &amp;quot;Force push (deprecated, see &#039;Mode of push&#039;)&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	speed(integer) : &amp;quot;Speed of push&amp;quot; : 40&lt;br /&gt;
	pushmode(choices) : &amp;quot;Mode of push&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Regular (base velocity)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Forced (minimum velocity)&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Forced (exact velocity)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass base(Targetname) = BaseRandom&lt;br /&gt;
[&lt;br /&gt;
	target_count(integer) : &amp;quot;Target Count&amp;quot; : 4&lt;br /&gt;
	target1(target_destination) : &amp;quot;Target 1&amp;quot;&lt;br /&gt;
	target2(target_destination) : &amp;quot;Target 2&amp;quot;&lt;br /&gt;
	target3(target_destination) : &amp;quot;Target 3&amp;quot;&lt;br /&gt;
	target4(target_destination) : &amp;quot;Target 4&amp;quot;&lt;br /&gt;
	target5(target_destination) : &amp;quot;Target 5&amp;quot;&lt;br /&gt;
	target6(target_destination) : &amp;quot;Target 6&amp;quot;&lt;br /&gt;
	target7(target_destination) : &amp;quot;Target 7&amp;quot;&lt;br /&gt;
	target8(target_destination) : &amp;quot;Target 8&amp;quot;&lt;br /&gt;
	target9(target_destination) : &amp;quot;Target 9&amp;quot;&lt;br /&gt;
	target10(target_destination) : &amp;quot;Target 10&amp;quot;&lt;br /&gt;
	target11(target_destination) : &amp;quot;Target 11&amp;quot;&lt;br /&gt;
	target12(target_destination) : &amp;quot;Target 12&amp;quot;&lt;br /&gt;
	target13(target_destination) : &amp;quot;Target 13&amp;quot;&lt;br /&gt;
	target14(target_destination) : &amp;quot;Target 14&amp;quot;&lt;br /&gt;
	target15(target_destination) : &amp;quot;Target 15&amp;quot;&lt;br /&gt;
	target16(target_destination) : &amp;quot;Target 16&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(BaseRandom) color(255 230 150) = trigger_random : &amp;quot;Trigger Random&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Start On (Timed only)&amp;quot; : 0&lt;br /&gt;
		2 : &amp;quot;Trigger Once (Timed only)&amp;quot; : 0&lt;br /&gt;
		4 : &amp;quot;Reusable (Unique only)&amp;quot; : 0&lt;br /&gt;
		8 : &amp;quot;Timed&amp;quot; : 0&lt;br /&gt;
		16 : &amp;quot;Unique&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	min_delay(string) : &amp;quot;Minimum Delay (0 = off)&amp;quot; : &amp;quot;3.0&amp;quot;&lt;br /&gt;
	max_delay(string) : &amp;quot;Maximum Delay (0 = off)&amp;quot; : &amp;quot;7.0&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
//Obsolete: use trigger_random with Timed flag&lt;br /&gt;
@PointClass base(trigger_random) color(135 205 255) = trigger_random_time : &amp;quot;Trigger Random Time&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
//Obsolete: use trigger_ranom with Random flag&lt;br /&gt;
// Unique Trigger Random. Randomly selects an unused trigger.&lt;br /&gt;
@PointClass base(BaseRandom) color(225 170 70) = trigger_random_unique : &amp;quot;Trigger Random Unique&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Re-usable&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Targetx) color(165 30 165) = trigger_relay : &amp;quot;Trigger Relay&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Remove On fire&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
		// Forward original activator instead of overwriting it with the trigger_relay&#039;s entity id.&lt;br /&gt;
		// Not done by default, as time that passes till relay is true and trigger_relay fires,&lt;br /&gt;
		// activator may no longer exist and unwanted behaviour may be exhibited if it is used anyway.&lt;br /&gt;
		// Hence, you have to explicitly set the forwarding of the activator with this flag in order to&lt;br /&gt;
		// use it in entities targeted by trigger_relay.&lt;br /&gt;
		64 : &amp;quot;Keep &#039;!activator&#039;&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	triggerstate(choices) : &amp;quot;Trigger State&amp;quot; : 2 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Off&amp;quot;&lt;br /&gt;
		1: &amp;quot;On&amp;quot;&lt;br /&gt;
		// Set and Toggle are actually the wrong way around numerically, keeping as is for BC&lt;br /&gt;
		3: &amp;quot;Set&amp;quot;&lt;br /&gt;
		2: &amp;quot;Toggle&amp;quot;&lt;br /&gt;
		4: &amp;quot;Kill&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	triggervalue(string) : &amp;quot;Trigger Value (a number for Set state)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	m_flDelayBeforeReset(string) : &amp;quot;Delay Before Reset&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
// Giving mappers the ability to set the triggering player&#039;s targetname&lt;br /&gt;
@PointClass base(Targetname) color(192 255 128) = trigger_renameplayer : &amp;quot;Trigger Player Target&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		// If set, trigger_playertarget won&#039;t remove itself after being used.&lt;br /&gt;
		1 : &amp;quot;Reusable&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	netname(String) : &amp;quot;New Player Targetname&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
// Respawn all players without affecting the current player status, like health and weapons&lt;br /&gt;
@PointClass base(Targetname, Target) size(-16 -16 -16, 16 16 16) color(255 64 2) = trigger_respawn : &amp;quot;Trigger Respawn&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		// Respawn target entity instead of all players.&lt;br /&gt;
		1 : &amp;quot;Respawn Target&amp;quot; : 0&lt;br /&gt;
		2 : &amp;quot;Respawn dead players&amp;quot; : 0&lt;br /&gt;
		4 : &amp;quot;Don&#039;t move living players&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname) = trigger_save : &amp;quot;Custom Save Data&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	netname(string) : &amp;quot;Label to store in&amp;quot;&lt;br /&gt;
	target(string) : &amp;quot;Source Entity&amp;quot;&lt;br /&gt;
	message(string) : &amp;quot;Source Keyvalue&amp;quot;&lt;br /&gt;
	m_iszTrigger(String) : &amp;quot;Trigger after saving&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Targetx) = trigger_script : &amp;quot;Loads a script and executes a script function on trigger&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	m_iszScriptFile(string) : &amp;quot;Script to load&amp;quot;&lt;br /&gt;
	m_iszScriptFunctionName(string) : &amp;quot;Function to execute on trigger&amp;quot;&lt;br /&gt;
	m_flThinkDelta(string) : &amp;quot;Time between thinks&amp;quot;&lt;br /&gt;
	m_iMode(choices) : &amp;quot;Mode&amp;quot; : 1 =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Trigger&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Think&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Start on&amp;quot; : 0&lt;br /&gt;
		2 : &amp;quot;Self &#039;!activator&#039; (trigger mode)&amp;quot; : 0&lt;br /&gt;
		4 : &amp;quot;Self &#039;!caller&#039; (trigger mode)&amp;quot; : 0&lt;br /&gt;
		64 : &amp;quot;Keep &#039;!activator&#039; (think mode)&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname) color(40 200 150) = trigger_setcvar : &amp;quot;Sets a CVAR&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	//spawnflags(Flags) =&lt;br /&gt;
	//[&lt;br /&gt;
	//	1 : &amp;quot;Set silently&amp;quot; : 0 // Unimplemented!&lt;br /&gt;
	//]&lt;br /&gt;
	m_iszCVarToChange(choices) : &amp;quot;CVAR (only these are allowed)&amp;quot; : &amp;quot;mp_allowmonsterinfo&amp;quot; =&lt;br /&gt;
	[&lt;br /&gt;
		&amp;quot;mp_allowmonsterinfo&amp;quot;:		&amp;quot;mp_allowmonsterinfo&amp;quot;&lt;br /&gt;
		&amp;quot;mp_allowplayerinfo&amp;quot;:		&amp;quot;mp_allowplayerinfo&amp;quot;&lt;br /&gt;
		&amp;quot;mp_ammo_droprules&amp;quot;:		&amp;quot;mp_ammo_droprules&amp;quot;&lt;br /&gt;
		&amp;quot;mp_ammo_respawndelay&amp;quot;:		&amp;quot;mp_ammo_respawndelay&amp;quot;&lt;br /&gt;
		&amp;quot;mp_banana&amp;quot;:			&amp;quot;mp_banana&amp;quot;&lt;br /&gt;
		&amp;quot;mp_barnacle_paralyze&amp;quot;:		&amp;quot;mp_barnacle_paralyze&amp;quot;&lt;br /&gt;
		&amp;quot;mp_disable_autoclimb&amp;quot;:		&amp;quot;mp_disable_autoclimb&amp;quot;&lt;br /&gt;
		&amp;quot;mp_disable_medkit_points&amp;quot;:	&amp;quot;mp_disable_medkit_points&amp;quot;&lt;br /&gt;
		&amp;quot;mp_disable_pcbalancing&amp;quot;:	&amp;quot;mp_disable_pcbalancing&amp;quot;&lt;br /&gt;
		&amp;quot;mp_disable_player_rappel&amp;quot;:	&amp;quot;mp_disable_player_rappel&amp;quot;&lt;br /&gt;
		&amp;quot;mp_disablegaussjump&amp;quot;:		&amp;quot;mp_disablegaussjump&amp;quot;&lt;br /&gt;
		&amp;quot;mp_dropweapons&amp;quot;:		&amp;quot;mp_dropweapons&amp;quot;&lt;br /&gt;
		&amp;quot;mp_falldamage&amp;quot;:		&amp;quot;mp_falldamage&amp;quot;&lt;br /&gt;
		&amp;quot;mp_flashlight&amp;quot;:		&amp;quot;mp_flashlight&amp;quot;&lt;br /&gt;
		&amp;quot;mp_footsteps&amp;quot;:			&amp;quot;mp_footsteps&amp;quot;&lt;br /&gt;
		&amp;quot;mp_forcerespawn&amp;quot;:		&amp;quot;mp_forcerespawn&amp;quot;&lt;br /&gt;
		&amp;quot;mp_fraglimit&amp;quot;:			&amp;quot;mp_fraglimit&amp;quot;&lt;br /&gt;
		&amp;quot;mp_grapple_mode&amp;quot;:		&amp;quot;mp_grapple_mode&amp;quot;&lt;br /&gt;
		&amp;quot;mp_hevsuit_voice&amp;quot;:		&amp;quot;mp_hevsuit_voice&amp;quot;&lt;br /&gt;
		&amp;quot;mp_item_respawndelay&amp;quot;:		&amp;quot;mp_item_respawndelay&amp;quot;&lt;br /&gt;
		&amp;quot;mp_monsterpoints&amp;quot;:		&amp;quot;mp_monsterpoints&amp;quot;&lt;br /&gt;
		&amp;quot;mp_multiplespawn&amp;quot;:		&amp;quot;mp_multiplespawn&amp;quot;&lt;br /&gt;
		&amp;quot;mp_no_akimbo_uzis&amp;quot;:		&amp;quot;mp_no_akimbo_uzis&amp;quot;&lt;br /&gt;
		&amp;quot;mp_noblastgibs&amp;quot;:		&amp;quot;mp_noblastgibs&amp;quot;&lt;br /&gt;
		&amp;quot;mp_nomedkit&amp;quot;:			&amp;quot;mp_nomedkit&amp;quot;&lt;br /&gt;
		&amp;quot;mp_npckill&amp;quot;:			&amp;quot;mp_npckill&amp;quot;&lt;br /&gt;
		&amp;quot;mp_observer_cyclic&amp;quot;:		&amp;quot;mp_observer_cyclic&amp;quot;&lt;br /&gt;
		&amp;quot;mp_observer_mode&amp;quot;:		&amp;quot;mp_observer_mode&amp;quot;&lt;br /&gt;
		&amp;quot;mp_pcbalancing_factorlist&amp;quot;:	&amp;quot;mp_pcbalancing_factorlist&amp;quot;&lt;br /&gt;
		&amp;quot;mp_respawndelay&amp;quot;:		&amp;quot;mp_respawndelay&amp;quot;&lt;br /&gt;
		&amp;quot;mp_suitpower&amp;quot;:			&amp;quot;mp_suitpower&amp;quot;&lt;br /&gt;
		&amp;quot;mp_survival_nextmap&amp;quot;:		&amp;quot;mp_survival_nextmap&amp;quot;&lt;br /&gt;
		&amp;quot;mp_survival_startdelay&amp;quot;:	&amp;quot;mp_survival_startdelay&amp;quot;&lt;br /&gt;
		&amp;quot;mp_survival_starton&amp;quot;:		&amp;quot;mp_survival_starton&amp;quot;&lt;br /&gt;
		&amp;quot;mp_survival_supported&amp;quot;:	&amp;quot;mp_survival_supported&amp;quot;&lt;br /&gt;
		&amp;quot;mp_survival_voteallow&amp;quot;:	&amp;quot;mp_survival_voteallow&amp;quot;&lt;br /&gt;
		&amp;quot;mp_telefrag&amp;quot;:			&amp;quot;mp_telefrag&amp;quot;&lt;br /&gt;
		&amp;quot;mp_timelimit&amp;quot;:			&amp;quot;mp_timelimit&amp;quot;&lt;br /&gt;
		&amp;quot;mp_weapon_droprules&amp;quot;:		&amp;quot;mp_weapon_droprules&amp;quot;&lt;br /&gt;
		&amp;quot;mp_weapon_respawndelay&amp;quot;:	&amp;quot;mp_weapon_respawndelay&amp;quot;&lt;br /&gt;
		&amp;quot;mp_weaponstay&amp;quot;:		&amp;quot;mp_weaponstay&amp;quot;&lt;br /&gt;
		&amp;quot;npc_dropweapons&amp;quot;:		&amp;quot;npc_dropweapons&amp;quot;&lt;br /&gt;
		&amp;quot;skill&amp;quot;:			&amp;quot;skill&amp;quot;&lt;br /&gt;
		&amp;quot;sk_&amp;quot;:				&amp;quot;sk_* (see skill.cfg)&amp;quot;&lt;br /&gt;
		&amp;quot;sv_accelerate&amp;quot;:		&amp;quot;sv_accelerate&amp;quot;&lt;br /&gt;
		&amp;quot;sv_ai_enemy_detection_mode&amp;quot;:	&amp;quot;sv_ai_enemy_detection_mode&amp;quot;&lt;br /&gt;
		&amp;quot;sv_airaccelerate&amp;quot;:		&amp;quot;sv_airaccelerate&amp;quot;&lt;br /&gt;
		&amp;quot;sv_friction&amp;quot;:			&amp;quot;sv_friction&amp;quot;&lt;br /&gt;
		&amp;quot;sv_gravity&amp;quot;:			&amp;quot;sv_gravity&amp;quot;&lt;br /&gt;
		&amp;quot;sv_maxspeed&amp;quot;:			&amp;quot;sv_maxspeed&amp;quot;&lt;br /&gt;
		&amp;quot;sv_maxvelocity&amp;quot;:		&amp;quot;sv_maxvelocity&amp;quot;&lt;br /&gt;
		&amp;quot;sv_wateraccelerate&amp;quot;:		&amp;quot;sv_wateraccelerate&amp;quot;&lt;br /&gt;
		&amp;quot;sv_waterfriction&amp;quot;:		&amp;quot;sv_waterfriction&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	message(string) : &amp;quot;New Value&amp;quot;&lt;br /&gt;
	netname(target_destination) : &amp;quot;Trigger after set&amp;quot;&lt;br /&gt;
	SetType(choices) : &amp;quot;Which CVARs to set&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;All&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Engine&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Angelscript&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
// Set the origin of an entity dynamically&lt;br /&gt;
@PointClass base(Targetname, Target) color(64 255 96) size(-8 -8 -8, 8 8 8) = trigger_setorigin : &amp;quot;Trigger Set Origin&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		// Will constantly update position if set.&lt;br /&gt;
		1: &amp;quot;Constant&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
		// Trigger_setorigin entity will be removed after firing.&lt;br /&gt;
		4: &amp;quot;Set Once&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
		// Save the offset between the Target entity and the Copy pointer, apply offset when updating the Target entity&#039;s position&lt;br /&gt;
		// Requires &amp;quot;Constant&amp;quot; flag&lt;br /&gt;
		8: &amp;quot;Lock Offsets&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
		16: &amp;quot;Copy X Angle&amp;quot; : 0&lt;br /&gt;
		32: &amp;quot;Copy Y Angle&amp;quot; : 0&lt;br /&gt;
		64: &amp;quot;Copy Z Angle&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
		128: &amp;quot;Copy X Axis&amp;quot; : 1&lt;br /&gt;
		256: &amp;quot;Copy Y Axis&amp;quot; : 1&lt;br /&gt;
		512: &amp;quot;Copy Z Axis&amp;quot; : 1&lt;br /&gt;
&lt;br /&gt;
		// If you&#039;re using the Constant flag, check this box to NOT move the origin of the entity or set the angles initially.&lt;br /&gt;
		// If you&#039;re not using the Constant flag, make sure this isn&#039;t enabled or trigger_setorigin won&#039;t do anything.&lt;br /&gt;
		//&lt;br /&gt;
		// This allows the &amp;quot;Constant&amp;quot; + &amp;quot;offset difference&amp;quot; combination to work as intended from the entity&#039;s original location.&lt;br /&gt;
		//&lt;br /&gt;
		// You would leave this off if you needed to move the entity to an initial position before having it follow another entity.&lt;br /&gt;
		// (If this isn&#039;t set, trigger_setorigin will move the entity to it&#039;s copypointer&#039;s origin before doing the offset difference calculation)&lt;br /&gt;
		1024: &amp;quot;Skip Initial Set&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	//The entity we wish to copy coordinates/angles from&lt;br /&gt;
	copypointer(string) : &amp;quot;Copy Pointer&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	//Manual Offset to copied coordinates&lt;br /&gt;
	offset(string) : &amp;quot;Position Offset (X Y Z)&amp;quot; : &amp;quot;0 0 0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	//Applied once on first use&lt;br /&gt;
	//After first use - Applied if &amp;quot;constant&amp;quot; flag is checked, and for each &amp;quot;Copy [x, y, z] Angle&amp;quot; checked.&lt;br /&gt;
	angleoffset(string) : &amp;quot;Angle Offset (X Y Z)&amp;quot; : &amp;quot;0 0 0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	invert_x(choices) : &amp;quot;Invert X Angle&amp;quot; :  0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	invert_y(choices) : &amp;quot;Invert Y Angle&amp;quot; :  0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	invert_z(choices) : &amp;quot;Invert Z Angle&amp;quot; :  0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Trigger) = trigger_teleport : &amp;quot;Trigger Teleport&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		64: &amp;quot;Random Destination&amp;quot; : 0&lt;br /&gt;
		128: &amp;quot;Relative Teleport&amp;quot; : 0&lt;br /&gt;
		256: &amp;quot;Keep Angles&amp;quot; : 0&lt;br /&gt;
		512: &amp;quot;Keep velocity&amp;quot; : 0&lt;br /&gt;
		1024: &amp;quot;Rotate (Dest Angles)&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
		// Hammer will not save a spawn flag beyond 2048... (and 2048 is engine reserved)&lt;br /&gt;
		// 4096: &amp;quot;Start Inactive&amp;quot; : 0&lt;br /&gt;
		// 8192: &amp;quot;Ignore Delays&amp;quot; : 0&lt;br /&gt;
		// Their respective properties below will add the flag when the entity is created instead&lt;br /&gt;
	]&lt;br /&gt;
	teleport_cooldown(string) : &amp;quot;Teleport Cooldown Delay&amp;quot; : &amp;quot;1&amp;quot;&lt;br /&gt;
	teleport_ignore_delay(choices) : &amp;quot;Ignore Delays&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	teleport_start_inactive(choices) : &amp;quot;Start Inactive&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	teleport_if_blocked(choices) : &amp;quot;Teleport If Blocked&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Target) color(255 220 28) = trigger_track_goal : &amp;quot;Trigger Track Goal&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		// Only functions if train is not moving.&lt;br /&gt;
		1 : &amp;quot;Stopped Only&amp;quot; : 0&lt;br /&gt;
		2 : &amp;quot;Don&#039;t move if no path available&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	// Where the train wants to stop at.&lt;br /&gt;
	path_name(string) : &amp;quot;Path Name&amp;quot;&lt;br /&gt;
	m_iszSoundNoPath(sound) : &amp;quot;Sound to play if no path is available&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
// Gives mapper ability to start custom votes&lt;br /&gt;
@PointClass base(Targetname) color(32 138 255) = trigger_vote : &amp;quot;Trigger Vote&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	message(String) : &amp;quot;Vote Message&amp;quot;&lt;br /&gt;
	frags(integer) : &amp;quot;Time To Vote (Seconds)&amp;quot; : 90&lt;br /&gt;
	health(integer) : &amp;quot;Percentage needed&amp;quot; : 50&lt;br /&gt;
	target(String) : &amp;quot;Yes Target&amp;quot;&lt;br /&gt;
	netname(String) : &amp;quot;No Target&amp;quot;&lt;br /&gt;
	noise(String) : &amp;quot;No Vote Target&amp;quot;&lt;br /&gt;
	m_iszYesString(string) : &amp;quot;Yes string (optional)&amp;quot;&lt;br /&gt;
	m_iszNoString(string) : &amp;quot;No string (optional)&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx, ExclusiveHold) studio(&amp;quot;models/w_357.mdl&amp;quot;) = weapon_357 : &amp;quot;357 Handgun&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx, ExclusiveHold) studio(&amp;quot;models/w_9mmAR.mdl&amp;quot;) = weapon_9mmAR : &amp;quot;9mm Assault Rifle&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx, ExclusiveHold) studio(&amp;quot;models/w_9mmhandgun.mdl&amp;quot;) = weapon_9mmhandgun : &amp;quot;9mm Handgun&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx, ExclusiveHold) studio(&amp;quot;models/w_crossbow.mdl&amp;quot;) = weapon_crossbow : &amp;quot;Crossbow&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	sequence(choices) : &amp;quot;Placement&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Normal (flat)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Realistic (tilted)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx, ExclusiveHold) studio(&amp;quot;models/w_crowbar.mdl&amp;quot;) = weapon_crowbar : &amp;quot;Crowbar&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx, ExclusiveHold) studio(&amp;quot;models/w_displacer.mdl&amp;quot;) = weapon_displacer : &amp;quot;Displacer&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		64: &amp;quot;Random Destination&amp;quot; : 0&lt;br /&gt;
		128: &amp;quot;Rotate (Dest Angles)&amp;quot; : 0&lt;br /&gt;
		256: &amp;quot;Keep Angles&amp;quot; : 0&lt;br /&gt;
		512: &amp;quot;Keep velocity&amp;quot; : 0&lt;br /&gt;
		4096 : &amp;quot;Ignore delay&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	m_TertiaryMode(choices) : &amp;quot;Tertiary fire mode&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Default (weaponmode_displacer)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Disable&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Enable&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	m_flPortalSpeed(string) : &amp;quot;Portal Speed&amp;quot;&lt;br /&gt;
	m_flPortalRadius(string) : &amp;quot;Portal Radius&amp;quot;&lt;br /&gt;
	m_iszTeleportDestination(target_destination) : &amp;quot;Teleport destination&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	m_flPrimaryAmmoNeeded(string) : &amp;quot;Ammo needed/used to fire primary&amp;quot;&lt;br /&gt;
	m_flSecondaryAmmoNeeded(string) : &amp;quot;Ammo needed/used to fire secondary&amp;quot;&lt;br /&gt;
	m_flTertiaryAmmoNeeded(string) : &amp;quot;Ammo needed/used to fire tertiary&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx, ExclusiveHold) studio(&amp;quot;models/w_desert_eagle.mdl&amp;quot;) = weapon_eagle : &amp;quot;Desert Eagle&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx, ExclusiveHold) studio(&amp;quot;models/w_egon.mdl&amp;quot;) = weapon_egon : &amp;quot;Egon Gun&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx, ExclusiveHold) studio(&amp;quot;models/w_gauss.mdl&amp;quot;) = weapon_gauss : &amp;quot;Gauss Gun&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx, ExclusiveHold) studio(&amp;quot;models/w_bgrap.mdl&amp;quot;) = weapon_grapple : &amp;quot;Barnacle Grapple&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx, ExclusiveHold) studio(&amp;quot;models/w_grenade.mdl&amp;quot;) = weapon_handgrenade : &amp;quot;Hand Grenade&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx, ExclusiveHold) studio(&amp;quot;models/w_hgun.mdl&amp;quot;) = weapon_hornetgun : &amp;quot;Hornet Gun&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx, ExclusiveHold) studio(&amp;quot;models/w_m16.mdl&amp;quot;) = weapon_m16 : &amp;quot;M16&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx, ExclusiveHold) studio(&amp;quot;models/w_saw.mdl&amp;quot;) = weapon_m249 : &amp;quot;M249 SAW&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx, ExclusiveHold) studio(&amp;quot;models/w_pmedkit.mdl&amp;quot;) = weapon_medkit : &amp;quot;Medkit&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx) studio(&amp;quot;models/w_minigun.mdl&amp;quot;) = weapon_minigun : &amp;quot;Minigun&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx, ExclusiveHold) studio(&amp;quot;models/w_pipe_wrench.mdl&amp;quot;) = weapon_pipewrench : &amp;quot;Wrench&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx, ExclusiveHold) studio(&amp;quot;models/w_rpg.mdl&amp;quot;) = weapon_rpg : &amp;quot;RPG&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx, ExclusiveHold) studio(&amp;quot;models/w_satchel.mdl&amp;quot;) = weapon_satchel : &amp;quot;Satchel Charge&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx) studio(&amp;quot;models/w_shock_rifle.mdl&amp;quot;) = weapon_shockrifle : &amp;quot;Shock Rifle&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx, ExclusiveHold) studio(&amp;quot;models/w_shotgun.mdl&amp;quot;) = weapon_shotgun : &amp;quot;Shotgun&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx, ExclusiveHold) studio(&amp;quot;models/w_sqknest.mdl&amp;quot;) = weapon_snark : &amp;quot;Squeak Grenade&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx, ExclusiveHold) studio(&amp;quot;models/w_m40a1.mdl&amp;quot;) = weapon_sniperrifle : &amp;quot;Sniper Rifle&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx, ExclusiveHold) studio(&amp;quot;models/w_spore_launcher.mdl&amp;quot;) = weapon_sporelauncher : &amp;quot;Spore Launcher&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx, ExclusiveHold) studio(&amp;quot;models/vhe-models/w_tripmine_hammer.mdl&amp;quot;) = weapon_tripmine : &amp;quot;Tripmine&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx, ExclusiveHold) studio(&amp;quot;models/w_uzi.mdl&amp;quot;) = weapon_uzi : &amp;quot;Single UZI (2 UZIs for Akimbo)&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx, ExclusiveHold) studio(&amp;quot;models/w_2uzis.mdl&amp;quot;) = weapon_uziakimbo : &amp;quot;Akimbo UZIs&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Item, CustomRespawnDelay) studio(&amp;quot;models/w_weaponbox.mdl&amp;quot;) = weaponbox : &amp;quot;Weapon/Ammo Container&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	bullet9mm(integer) : &amp;quot;Packed 9mm rounds&amp;quot;&lt;br /&gt;
	bullet357(integer) : &amp;quot;Packed 357 rounds&amp;quot;&lt;br /&gt;
	buckshot(integer) : &amp;quot;Packed shotgun shells&amp;quot;&lt;br /&gt;
	bolts(integer) : &amp;quot;Packed crossbow bolts&amp;quot;&lt;br /&gt;
	bullet556(integer) : &amp;quot;Packed 5.56mm rounds&amp;quot;&lt;br /&gt;
	ARgrenades(integer) : &amp;quot;Packed assault rifle grenades&amp;quot;&lt;br /&gt;
	rockets(integer) : &amp;quot;Packed rockets&amp;quot;&lt;br /&gt;
	uranium(integer) : &amp;quot;Packed gauss charges&amp;quot;&lt;br /&gt;
	handgrenade(integer) : &amp;quot;Packed hand grenades&amp;quot;&lt;br /&gt;
	satchelcharge(integer) : &amp;quot;Packed satchels&amp;quot;&lt;br /&gt;
	tripmine(integer) : &amp;quot;Packed trip mines&amp;quot;&lt;br /&gt;
	Snarks(integer) : &amp;quot;Packed snarks&amp;quot;&lt;br /&gt;
	m40a1(integer) : &amp;quot;Packed 7.62mm rounds&amp;quot;&lt;br /&gt;
	sporeclip(integer) : &amp;quot;Packed spores&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, RenderFields, Angles) size(-8 -8 0, 8 8 32 ) studio(&amp;quot;models/hair.mdl&amp;quot;) = xen_hair : &amp;quot;Xen Hair&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Sync Movement&amp;quot; : 0&lt;br /&gt;
		2 : &amp;quot;Drop To Ground&amp;quot; : 0&lt;br /&gt;
		4 : &amp;quot;Face Randomly&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Target, RenderFields, Angles, AttackObject) size(-48 -48 0, 48 48 32 ) studio(&amp;quot;models/light.mdl&amp;quot;) = xen_plantlight : &amp;quot;Xen Plant Light&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		2 : &amp;quot;Drop To Ground&amp;quot; : 0&lt;br /&gt;
		4 : &amp;quot;Face Randomly&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, RenderFields, Angles) size(-90 -90 0, 90 90 220 ) studio(&amp;quot;models/fungus(large).mdl&amp;quot;) = xen_spore_large : &amp;quot;Xen Spore (large)&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		2 : &amp;quot;Drop To Ground&amp;quot; : 0&lt;br /&gt;
		4 : &amp;quot;Face Randomly&amp;quot; : 0&lt;br /&gt;
		8 : &amp;quot;Non Solid&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, RenderFields, Angles) size(-40 -40 0, 40 40 120 ) studio(&amp;quot;models/fungus.mdl&amp;quot;) = xen_spore_medium : &amp;quot;Xen Spore (medium)&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		2 : &amp;quot;Drop To Ground&amp;quot; : 0&lt;br /&gt;
		4 : &amp;quot;Face Randomly&amp;quot; : 0&lt;br /&gt;
		8 : &amp;quot;Non Solid&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, RenderFields, Angles) size(-16 -16 0, 16 16 64 ) studio(&amp;quot;models/fungus(small).mdl&amp;quot;) = xen_spore_small : &amp;quot;Xen Spore (small)&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		2 : &amp;quot;Drop To Ground&amp;quot; : 0&lt;br /&gt;
		4 : &amp;quot;Face Randomly&amp;quot; : 0&lt;br /&gt;
		8 : &amp;quot;Non Solid&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, RenderFields, Angles) size(-24 -24 0, 24 24 188 ) studio(&amp;quot;models/tree.mdl&amp;quot;) = xen_tree : &amp;quot;Xen Tree&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		2 : &amp;quot;Drop To Ground&amp;quot; : 0&lt;br /&gt;
		4 : &amp;quot;Face Randomly&amp;quot; : 0&lt;br /&gt;
		8 : &amp;quot;Non Solid&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Category:Mapping]]&lt;/div&gt;</summary>
		<author><name>Outerbeast</name></author>
	</entry>
	<entry>
		<id>https://wiki.svencoop.com/index.php?title=Mapping/Sven_Co-op_FGD&amp;diff=1372</id>
		<title>Mapping/Sven Co-op FGD</title>
		<link rel="alternate" type="text/html" href="https://wiki.svencoop.com/index.php?title=Mapping/Sven_Co-op_FGD&amp;diff=1372"/>
		<updated>2025-07-07T13:00:32Z</updated>

		<summary type="html">&lt;p&gt;Outerbeast: SC 5.26 FGD&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;pre&amp;gt;&lt;br /&gt;
//&lt;br /&gt;
// Sven Co-op game definition file (*.FGD)&lt;br /&gt;
//&lt;br /&gt;
// Based on the Half-Life definition file &amp;quot;version 3.0.0.1&amp;quot; by Chris &amp;quot;Autolycus&amp;quot; Bokitch.&lt;br /&gt;
// Updated by Sniper and Protector to include the Sven Co-op 4.5 Entities.&lt;br /&gt;
// VHE 3.5b-ready by Puchi, JPolito, and AdamR. (Model support)&lt;br /&gt;
// Tidied up by AdamR because you all suck hard at white spacing.&lt;br /&gt;
// Guidelines below added by Silencer so this file stops becoming a mess.&lt;br /&gt;
// Sorted by Puchi and Silencer. Proper filter options added by Puchi.&lt;br /&gt;
&lt;br /&gt;
//&lt;br /&gt;
//   - FGD EDITING GUIDELINES - KEEP THIS FILE CLEAN -&lt;br /&gt;
//&lt;br /&gt;
//&lt;br /&gt;
//&lt;br /&gt;
// � Get unity into it. (Commenting, line breaks, use of BaseClasses)&lt;br /&gt;
//&lt;br /&gt;
//   � Cut explanations of entities, keys and values out of the file and store them elsewhere for&lt;br /&gt;
//     reference.&lt;br /&gt;
//&lt;br /&gt;
//   � When adding a necessary comment on some part in the file, isolate that part from everything&lt;br /&gt;
//     else with a blank line above and below of it, and add the comment in a new line directly&lt;br /&gt;
//     above the part you are commenting on. If the line is getting too long, (&amp;gt;100 chars) add a new&lt;br /&gt;
//     line to continue.&lt;br /&gt;
//&lt;br /&gt;
//   � One space (&#039; &#039;) directly after every &amp;quot;//&amp;quot;. An exception is when you comment actual entity&lt;br /&gt;
//     keys, predefined values (drop-down list) or spawnflags out.&lt;br /&gt;
//&lt;br /&gt;
//   � Indent comments.&lt;br /&gt;
//&lt;br /&gt;
//   � Indent with single tabs only. NO SPACES!&lt;br /&gt;
//     E.g. under Notepad 2: Go to Settings -&amp;gt; Tab Settings -&amp;gt; Uncheck &amp;quot;Insert tabs as spaces&amp;quot;.&lt;br /&gt;
//&lt;br /&gt;
//   � No unnecessary spaces. Sometimes there are two or more spaces between words or at the end of&lt;br /&gt;
//     lines to have a comment added, which looks ugly.&lt;br /&gt;
//&lt;br /&gt;
//   � Sort ALL entries by name, and KEEP THEM SORTED.&lt;br /&gt;
//&lt;br /&gt;
//&lt;br /&gt;
// � Allow for custom models/sprites to be displayed by entities specifically made for doing so.&lt;br /&gt;
//   (cycler/cycler_sprite/env_sprite/item_generic)&lt;br /&gt;
//&lt;br /&gt;
// � Make sure all entities are properly sized. Some used to have unreasonably sized hulls. E.g.&lt;br /&gt;
//   info_teleport_destination used to be a (-8 -8 0 8 8 16)-hullsized 16� cube, not really&lt;br /&gt;
//   revealing any information about the output-height of the teleported player/monster/object.&lt;br /&gt;
//&lt;br /&gt;
// � Give different entities colors! Anything that helps to differentiate between those vast amount&lt;br /&gt;
//   of purple blocks is welcome!&lt;br /&gt;
//&lt;br /&gt;
// � Make use of the iconsprite(sprite[]) parameter! We could have awesome sprites for many of the&lt;br /&gt;
//   point entities, which also helps differentiating. Having varying sizes and colors on top of&lt;br /&gt;
//   that also helps differentiating in the 2D views.&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
//&lt;br /&gt;
// All entities must have this baseclass&lt;br /&gt;
//&lt;br /&gt;
@BaseClass = Mandatory&lt;br /&gt;
[&lt;br /&gt;
	ondestroyfn(string) : &amp;quot;OnDestroy Function&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
//&lt;br /&gt;
// worldspawn&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Mandatory) = worldspawn : &amp;quot;World entity&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	message(string) : &amp;quot;Map description / title&amp;quot;&lt;br /&gt;
	skyname(string) : &amp;quot;Environment map (cl_skyname)&amp;quot;&lt;br /&gt;
	sounds(integer) : &amp;quot;CD track to play&amp;quot; : 1&lt;br /&gt;
	light(integer) : &amp;quot;Default light level&amp;quot;&lt;br /&gt;
	WaveHeight(string) : &amp;quot;Default wave height&amp;quot;&lt;br /&gt;
	MaxRange(string) : &amp;quot;Max viewable distance&amp;quot; : &amp;quot;32768&amp;quot;&lt;br /&gt;
	chaptertitle(string) : &amp;quot;Chapter title message&amp;quot;&lt;br /&gt;
	startdark(choices) : &amp;quot;Level fade in&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	gametitle(choices) : &amp;quot;Display game title&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	newunit(choices) : &amp;quot;New level unit&amp;quot; : 1 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No, keep current&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes, clear previous levels&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	mapteams(string) : &amp;quot;Map team List&amp;quot;&lt;br /&gt;
	defaultteam(choices) : &amp;quot;Default team&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Fewest Players&amp;quot;&lt;br /&gt;
		1 : &amp;quot;First Team&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	freeroam(choices) : &amp;quot;Roaming monsters (node graph)&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	sentence_file(string) : &amp;quot;Custom Sentences File&amp;quot;&lt;br /&gt;
	materials_file(string) : &amp;quot;Custom Materials File&amp;quot;&lt;br /&gt;
	globalsoundlist(string) : &amp;quot;Global Sound Replacement File&amp;quot;&lt;br /&gt;
	globalmodellist(string) : &amp;quot;Global Model Replacement File&amp;quot;&lt;br /&gt;
	forcepmodels(string) : &amp;quot;Force Player Models a;b;c etc&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	// If enabled, the map will use the player class settings file. &amp;quot;mapname_class.cfg&amp;quot;&lt;br /&gt;
	//enableclasses(choices) : &amp;quot;Enable Player Classes&amp;quot; : 0 =&lt;br /&gt;
	//[&lt;br /&gt;
	//	0 : &amp;quot;No&amp;quot;&lt;br /&gt;
	//	1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	//]&lt;br /&gt;
&lt;br /&gt;
	scversion2(choices) : &amp;quot;Minimum game version&amp;quot; : 526 =&lt;br /&gt;
	[&lt;br /&gt;
		526 : &amp;quot;5.26 Patch&amp;quot;&lt;br /&gt;
		525 : &amp;quot;5.25 Patch&amp;quot;&lt;br /&gt;
		524 : &amp;quot;5.24 Patch&amp;quot;&lt;br /&gt;
		523 : &amp;quot;5.23 Patch&amp;quot;&lt;br /&gt;
		522 : &amp;quot;5.22 Patch&amp;quot;&lt;br /&gt;
		521 : &amp;quot;5.21 Patch&amp;quot;&lt;br /&gt;
		520 : &amp;quot;5.20 Patch&amp;quot;&lt;br /&gt;
		519 : &amp;quot;5.19 Patch&amp;quot;&lt;br /&gt;
		518 : &amp;quot;5.18 Patch&amp;quot;&lt;br /&gt;
		517 : &amp;quot;5.17 Patch&amp;quot;&lt;br /&gt;
		516 : &amp;quot;5.16 Patch&amp;quot;&lt;br /&gt;
		515 : &amp;quot;5.15 Patch&amp;quot;&lt;br /&gt;
		514 : &amp;quot;5.14 Patch&amp;quot;&lt;br /&gt;
		513 : &amp;quot;5.13 Patch&amp;quot;&lt;br /&gt;
		512 : &amp;quot;5.12 Patch&amp;quot;&lt;br /&gt;
		511 : &amp;quot;5.11 Patch&amp;quot;&lt;br /&gt;
		510 : &amp;quot;5.10 Patch&amp;quot;&lt;br /&gt;
		509 : &amp;quot;5.09 Patch&amp;quot;&lt;br /&gt;
		508 : &amp;quot;5.08 Patch&amp;quot;&lt;br /&gt;
		507 : &amp;quot;5.07 Patch&amp;quot;&lt;br /&gt;
		506 : &amp;quot;5.06 Patch&amp;quot;&lt;br /&gt;
		505 : &amp;quot;5.05 Patch&amp;quot;&lt;br /&gt;
		504 : &amp;quot;5.04 Patch&amp;quot;&lt;br /&gt;
		503 : &amp;quot;5.03 Patch&amp;quot;&lt;br /&gt;
		502 : &amp;quot;5.02 Patch&amp;quot;&lt;br /&gt;
		501 : &amp;quot;5.01 Patch&amp;quot;&lt;br /&gt;
		500 : &amp;quot;5.0 Milestone&amp;quot;&lt;br /&gt;
		480 : &amp;quot;4.8 Update&amp;quot;&lt;br /&gt;
		470 : &amp;quot;4.7 Update&amp;quot;&lt;br /&gt;
		460 : &amp;quot;4.6 Update&amp;quot;&lt;br /&gt;
		450 : &amp;quot;4.5 Update&amp;quot;&lt;br /&gt;
		407 : &amp;quot;4.07 Hotfix&amp;quot;&lt;br /&gt;
		406 : &amp;quot;4.06 Hotfix&amp;quot;&lt;br /&gt;
		405 : &amp;quot;4.05 Hotfix&amp;quot;&lt;br /&gt;
		401 : &amp;quot;4.0b1 Milestone&amp;quot;&lt;br /&gt;
		400 : &amp;quot;4.0 Internal&amp;quot;&lt;br /&gt;
		300 : &amp;quot;3.0 (or earlier)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass = FilterIn&lt;br /&gt;
[&lt;br /&gt;
	tinfilter(string) : &amp;quot;Name In Filter&amp;quot;&lt;br /&gt;
	tinfiltertype(choices) : &amp;quot;Name In Filter Type&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Exclude&amp;quot;&lt;br /&gt;
		1: &amp;quot;Include&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	cinfilter(string) : &amp;quot;Class In Filter&amp;quot;&lt;br /&gt;
	cinfiltertype(choices) : &amp;quot;Class In Filter Type&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Exclude&amp;quot;&lt;br /&gt;
		1: &amp;quot;Include&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass = FilterOut&lt;br /&gt;
[&lt;br /&gt;
	toutfilter(string) : &amp;quot;Name Out Filter&amp;quot;&lt;br /&gt;
	toutfiltertype(choices) : &amp;quot;Name Out Filter Type&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Exclude&amp;quot;&lt;br /&gt;
		1: &amp;quot;Include&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	coutfilter(string) : &amp;quot;Class Out Filter&amp;quot;&lt;br /&gt;
	coutfiltertype(choices) : &amp;quot;Class Out Filter Type&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Exclude&amp;quot;&lt;br /&gt;
		1: &amp;quot;Include&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass = ZHLTbmodel&lt;br /&gt;
[&lt;br /&gt;
	zhlt_usemodel(string) : &amp;quot;ZHLT Template Model Target&amp;quot;&lt;br /&gt;
	zhlt_copylight(string) : &amp;quot;ZHLT Copy Lighting From Target&amp;quot;&lt;br /&gt;
	zhlt_noclip(choices) : &amp;quot;ZHLT Disable Clipping&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Default&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Always non-solid&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	zhlt_invisible(choices) : &amp;quot;ZHLT Invisible&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Visible (default)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Invisible&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	zhlt_customshadow(string) : &amp;quot;ZHLT Custom Shadow (when opaque)&amp;quot;&lt;br /&gt;
	zhlt_embedlightmap(choices) : &amp;quot;ZHLT Embed Light Map (when translucent)&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No (default)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	zhlt_embedlightmapresolution(integer) : &amp;quot;ZHLT Embed Light Map Resolution&amp;quot; : 4&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass base(ZHLTbmodel) = ZHLT&lt;br /&gt;
[&lt;br /&gt;
	zhlt_lightflags(choices) : &amp;quot;ZHLT Light Flags&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Default&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Embedded Fix&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Opaque (blocks light)&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Opaque + Embedded fix&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Opaque + Concave Fix&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	light_origin(string) : &amp;quot;ZHLT Light Origin Target&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass = ZHLTpoint&lt;br /&gt;
[&lt;br /&gt;
	_fade(string) : &amp;quot;ZHLT Light Fade&amp;quot; : &amp;quot;1.0&amp;quot;&lt;br /&gt;
	_falloff(choices) : &amp;quot;ZHLT Light Falloff&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Default&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Inverse Linear&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Inverse Square&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass = Appearflags&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		2048 : &amp;quot;Not in Deathmatch&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass = AttackObject&lt;br /&gt;
[&lt;br /&gt;
	classify(choices) : &amp;quot;Classification&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		-1 : &amp;quot;None&amp;quot;&lt;br /&gt;
		0 : &amp;quot;Object Default&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Machine&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Player&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Human Passive&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Human Military&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Alien Military&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Alien Passive&amp;quot;&lt;br /&gt;
		7 : &amp;quot;Alien Monster&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Alien Prey&amp;quot;&lt;br /&gt;
		9 : &amp;quot;Alien Predator&amp;quot;&lt;br /&gt;
		10 : &amp;quot;Insect&amp;quot;&lt;br /&gt;
		11 : &amp;quot;Player Ally&amp;quot;&lt;br /&gt;
		12 : &amp;quot;Player Hornet/Snark&amp;quot;&lt;br /&gt;
		13 : &amp;quot;Alien Hornet/Snark&amp;quot;&lt;br /&gt;
		14 : &amp;quot;X-Race&amp;quot;&lt;br /&gt;
		15 : &amp;quot;X-Race: Shocktrooper/Voltigore&amp;quot;&lt;br /&gt;
		16 : &amp;quot;Team 1&amp;quot;&lt;br /&gt;
		17 : &amp;quot;Team 2&amp;quot;&lt;br /&gt;
		18 : &amp;quot;Team 3&amp;quot;&lt;br /&gt;
		19 : &amp;quot;Team 4&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass = Angles&lt;br /&gt;
[&lt;br /&gt;
	angles(string) : &amp;quot;Pitch Yaw Roll (X Y Z)&amp;quot; : &amp;quot;0 0 0&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass base(Mandatory) = Targetname&lt;br /&gt;
[&lt;br /&gt;
	targetname(target_source) : &amp;quot;Name&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass = Target&lt;br /&gt;
[&lt;br /&gt;
	target(target_destination) : &amp;quot;Target&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass size(0 0 0, 32 32 32) color(80 0 200) base(Targetname, Appearflags, Angles) = Pickup&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		128 : &amp;quot;TOUCH Only&amp;quot; : 0&lt;br /&gt;
		256 : &amp;quot;USE Only&amp;quot; : 0&lt;br /&gt;
		512 : &amp;quot;Can Use w/o LoS&amp;quot; : 0&lt;br /&gt;
		1024: &amp;quot;Disable Respawn&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	renderfx(choices) : &amp;quot;Render FX&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Normal&amp;quot;&lt;br /&gt;
		1: &amp;quot;Slow Pulse&amp;quot;&lt;br /&gt;
		2: &amp;quot;Fast Pulse&amp;quot;&lt;br /&gt;
		3: &amp;quot;Slow Wide Pulse&amp;quot;&lt;br /&gt;
		4: &amp;quot;Fast Wide Pulse&amp;quot;&lt;br /&gt;
		9: &amp;quot;Slow Strobe&amp;quot;&lt;br /&gt;
		10: &amp;quot;Fast Strobe&amp;quot;&lt;br /&gt;
		11: &amp;quot;Faster Strobe&amp;quot;&lt;br /&gt;
		12: &amp;quot;Slow Flicker&amp;quot;&lt;br /&gt;
		13: &amp;quot;Fast Flicker&amp;quot;&lt;br /&gt;
		5: &amp;quot;Slow Fade Away&amp;quot;&lt;br /&gt;
		6: &amp;quot;Fast Fade Away&amp;quot;&lt;br /&gt;
		7: &amp;quot;Slow Become Solid&amp;quot;&lt;br /&gt;
		8: &amp;quot;Fast Become Solid&amp;quot;&lt;br /&gt;
		14: &amp;quot;Constant Glow&amp;quot;&lt;br /&gt;
		15: &amp;quot;Distort&amp;quot;&lt;br /&gt;
		16: &amp;quot;Hologram (Distort + fade)&amp;quot;&lt;br /&gt;
		19: &amp;quot;Glow Shell&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	rendermode(choices) : &amp;quot;Render Mode&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Normal&amp;quot;&lt;br /&gt;
		1: &amp;quot;Color&amp;quot;&lt;br /&gt;
		2: &amp;quot;Texture&amp;quot;&lt;br /&gt;
		3: &amp;quot;Glow&amp;quot;&lt;br /&gt;
		4: &amp;quot;Solid&amp;quot;&lt;br /&gt;
		5: &amp;quot;Additive&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	renderamt(integer) : &amp;quot;FX Amount (1 - 255)&amp;quot;&lt;br /&gt;
	rendercolor(color255) : &amp;quot;FX Color (R G B)&amp;quot; : &amp;quot;0 0 0&amp;quot;&lt;br /&gt;
	movetype(choices) : &amp;quot;Gravity Setting&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		-1: &amp;quot;Unmoveable&amp;quot;&lt;br /&gt;
		0: &amp;quot;Fall to the ground (default)&amp;quot;&lt;br /&gt;
		5: &amp;quot;Hover in the air&amp;quot;&lt;br /&gt;
		8: &amp;quot;Hover in the air, ignore brush collision&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass = ExclusiveHold&lt;br /&gt;
[&lt;br /&gt;
	exclusivehold(choices) : &amp;quot;Exclusive Hold&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass = CustomRespawnDelay&lt;br /&gt;
[&lt;br /&gt;
	m_flCustomRespawnTime(string) : &amp;quot;Custom respawn time&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass size(-16 -16 0, 16 16 32) color(2 64 240) base(Pickup, CustomRespawnDelay) = Weapon&lt;br /&gt;
[&lt;br /&gt;
	dmg(integer) : &amp;quot;Custom Damage&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
	wpn_v_model(studio) : &amp;quot;Custom V_Model&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	wpn_w_model(studio) : &amp;quot;Custom W_Model&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	wpn_p_model(studio) : &amp;quot;Custom P_Model&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	soundlist(string) : &amp;quot;Sound Replacement File&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	CustomSpriteDir(string) : &amp;quot;Custom sprite directory&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	IsNotAmmoItem(choices) : &amp;quot;Is Ammo Item&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
		1 : &amp;quot;No&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass size(-8 -8 0, 8 8 16) color(4 128 240) base(Pickup, CustomRespawnDelay) = Ammo&lt;br /&gt;
[&lt;br /&gt;
	model(studio) : &amp;quot;Custom Model&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass size(-8 -8 0, 8 8 16) color(0 0 200) base(Pickup, CustomRespawnDelay) = Item&lt;br /&gt;
[&lt;br /&gt;
	model(studio) : &amp;quot;Custom Model&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	skin(integer) : &amp;quot;Skin&amp;quot; : 0&lt;br /&gt;
	body(integer) : &amp;quot;Body&amp;quot; : 0&lt;br /&gt;
	sequencename(string) : &amp;quot;Sequence Name&amp;quot; : &amp;quot;idle&amp;quot;&lt;br /&gt;
	sequence(integer) : &amp;quot;Sequence Number (overrides name)&amp;quot; : 0&lt;br /&gt;
	scale(string) : &amp;quot;Scale Model&amp;quot; : &amp;quot;1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	minhullsize(string) : &amp;quot;Custom Min Hull Size (X Y Z)&amp;quot; : &amp;quot;0 0 0&amp;quot;&lt;br /&gt;
	maxhullsize(string) : &amp;quot;Custom Max Hull Size (X Y Z)&amp;quot; : &amp;quot;0 0 0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	soundlist(string) : &amp;quot;Sound Replacement File&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass size(-8 -8 0, 8 8 16) color(0 0 200) base(Pickup) = ItemWithDefaultModel&lt;br /&gt;
[&lt;br /&gt;
	solid(choices) : &amp;quot;Solid Setting&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		-1: &amp;quot;Hollow&amp;quot;&lt;br /&gt;
		0: &amp;quot;Touch on edge, non-blocking (default)&amp;quot;&lt;br /&gt;
		2: &amp;quot;Touch on edge, blocking (requires hull sizes!)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	model(studio) : &amp;quot;Custom Model&amp;quot; : &amp;quot;models/egg.mdl&amp;quot;&lt;br /&gt;
	skin(integer) : &amp;quot;Skin&amp;quot; : 0&lt;br /&gt;
	body(integer) : &amp;quot;Body&amp;quot; : 0&lt;br /&gt;
	sequencename(string) : &amp;quot;Sequence Name&amp;quot; : &amp;quot;idle&amp;quot;&lt;br /&gt;
	sequence(integer) : &amp;quot;Sequence Number (overrides name)&amp;quot; : 0&lt;br /&gt;
	scale(string) : &amp;quot;Scale Model&amp;quot; : &amp;quot;1&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	minhullsize(string) : &amp;quot;Custom Min Hull Size (X Y Z)&amp;quot; : &amp;quot;0 0 0&amp;quot;&lt;br /&gt;
	maxhullsize(string) : &amp;quot;Custom Max Hull Size (X Y Z)&amp;quot; : &amp;quot;0 0 0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	soundlist(string) : &amp;quot;Sound Replacement File&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass = Global&lt;br /&gt;
[&lt;br /&gt;
	globalname(string) : &amp;quot;Global Entity Name&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass base(Target) = Targetx&lt;br /&gt;
[&lt;br /&gt;
	delay(string) : &amp;quot;Delay Before Trigger&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
	killtarget(target_destination) : &amp;quot;Kill Target&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass = InventoryRules&lt;br /&gt;
[&lt;br /&gt;
	item_name_required(string) : &amp;quot;Inventory: Need item(s)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	item_group_required(string) : &amp;quot;Inventory: Need item(s) from group(s)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	item_group_required_num(integer) : &amp;quot;Inventory: Item count in group need have (0 = all)&amp;quot; : 0&lt;br /&gt;
	item_name_canthave(string) : &amp;quot;Inventory: CAN&#039;T have item&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	item_group_canthave(string) : &amp;quot;Inventory: CAN&#039;T have item from group&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	item_group_canthave_num(integer) : &amp;quot;Inventory: Item count in group CAN&#039;T have (0 = all)&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
	pass_ignore_use_triggers(choices) : &amp;quot;On pass: Ignore item&#039;s on use triggers?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	pass_drop_item_name(string) : &amp;quot;On pass: Drop item(s)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	pass_drop_item_group(string) : &amp;quot;On pass: Drop item(s) from group(s)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	pass_ignore_drop_triggers(choices) : &amp;quot;On pass: Ignore item&#039;s on drop triggers?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	pass_return_item_name(string) : &amp;quot;On pass: Return item(s)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	pass_return_item_group(string) : &amp;quot;On pass: Return item(s) from group(s)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	pass_ignore_return_triggers(choices) : &amp;quot;On pass: Ignore item&#039;s on return triggers?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	pass_destroy_item_name(string) : &amp;quot;On pass: Destroy item(s)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	pass_destroy_item_group(string) : &amp;quot;On pass: Destroy item(s) from group(s)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	pass_ignore_destroy_triggers(choices) : &amp;quot;On pass: Ignore item&#039;s on destroy triggers?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	target_on_fail(string) : &amp;quot;Target: Inventory rules failed&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass = RenderFxChoices&lt;br /&gt;
[&lt;br /&gt;
	renderfx(choices) : &amp;quot;Render FX&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Normal&amp;quot;&lt;br /&gt;
		1: &amp;quot;Slow Pulse&amp;quot;&lt;br /&gt;
		2: &amp;quot;Fast Pulse&amp;quot;&lt;br /&gt;
		3: &amp;quot;Slow Wide Pulse&amp;quot;&lt;br /&gt;
		4: &amp;quot;Fast Wide Pulse&amp;quot;&lt;br /&gt;
		9: &amp;quot;Slow Strobe&amp;quot;&lt;br /&gt;
		10: &amp;quot;Fast Strobe&amp;quot;&lt;br /&gt;
		11: &amp;quot;Faster Strobe&amp;quot;&lt;br /&gt;
		12: &amp;quot;Slow Flicker&amp;quot;&lt;br /&gt;
		13: &amp;quot;Fast Flicker&amp;quot;&lt;br /&gt;
		5: &amp;quot;Slow Fade Away&amp;quot;&lt;br /&gt;
		6: &amp;quot;Fast Fade Away&amp;quot;&lt;br /&gt;
		7: &amp;quot;Slow Become Solid&amp;quot;&lt;br /&gt;
		8: &amp;quot;Fast Become Solid&amp;quot;&lt;br /&gt;
		14: &amp;quot;Constant Glow&amp;quot;&lt;br /&gt;
		15: &amp;quot;Distort&amp;quot;&lt;br /&gt;
		16: &amp;quot;Hologram (Distort + fade)&amp;quot;&lt;br /&gt;
		17: &amp;quot;Dead Player (DONT USE!)&amp;quot;&lt;br /&gt;
		18: &amp;quot;Explode (Garg Like)&amp;quot;&lt;br /&gt;
		19: &amp;quot;Glow Shell&amp;quot;&lt;br /&gt;
		20: &amp;quot;ClampMinScale (Sprites)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass base(RenderFxChoices, Appearflags) = RenderFields&lt;br /&gt;
[&lt;br /&gt;
	rendermode(choices) : &amp;quot;Render Mode&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Normal&amp;quot;&lt;br /&gt;
		1: &amp;quot;Color&amp;quot;&lt;br /&gt;
		2: &amp;quot;Texture&amp;quot;&lt;br /&gt;
		3: &amp;quot;Glow&amp;quot;&lt;br /&gt;
		4: &amp;quot;Solid&amp;quot;&lt;br /&gt;
		5: &amp;quot;Additive&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	renderamt(integer) : &amp;quot;FX Amount (1 - 255)&amp;quot;&lt;br /&gt;
	rendercolor(color255) : &amp;quot;FX Color (R G B)&amp;quot; : &amp;quot;0 0 0&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
@BaseClass base(Targetname, Target, Appearflags, Angles) size(-16 -16 -36, 16 16 36) color(0 255 0) = PlayerClass []&lt;br /&gt;
&lt;br /&gt;
@BaseClass base(Targetname, Target, Appearflags, Angles) size(-16 -16 -36, 16 16 36) color(0 255 0) = PlayerDmClass&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		// Disable this spawn point when the map starts&lt;br /&gt;
		2 : &amp;quot;Start Off&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
		// Player will spawn repeling down a rope (like repeling soldiers)&lt;br /&gt;
		4 : &amp;quot;Repel Spawn&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
		// Only spawn player if his targetname equals to message&lt;br /&gt;
		8 : &amp;quot;Filter player targetname&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
		// Invert player targetname filter (can use if DOESN&#039;T match) -- needs flag 8!&lt;br /&gt;
		16 : &amp;quot;Invert Filter&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
		// Fire target when player spawns here, rather than when the spawn point is toggled on/off&lt;br /&gt;
		32 : &amp;quot;Trigger on spawn&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	netname(string) : &amp;quot;New Player Targetname&amp;quot;&lt;br /&gt;
	// Use a semi-colon &#039;;&#039; to specify multiple targetnames&lt;br /&gt;
	message(string) : &amp;quot;Filter Player Targetname&amp;quot;&lt;br /&gt;
	master(string) : &amp;quot;Master&amp;quot;&lt;br /&gt;
	frags(string) : &amp;quot;Repel Speed&amp;quot;&lt;br /&gt;
	triggerstate(choices) : &amp;quot;Trigger State&amp;quot; : 2 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Off&amp;quot;&lt;br /&gt;
		1: &amp;quot;On&amp;quot;&lt;br /&gt;
		2: &amp;quot;Toggle&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass = NotRevivable&lt;br /&gt;
[&lt;br /&gt;
	//Whether the monster can be revived or not&lt;br /&gt;
	is_not_revivable(choices) : &amp;quot;Is not revivable&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass base(Targetname, Target, RenderFields, Angles, AttackObject, NotRevivable) color(0 200 200) = Monster&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;WaitTillSeen&amp;quot; : 0&lt;br /&gt;
		2 : &amp;quot;Gag&amp;quot; : 0&lt;br /&gt;
		4 : &amp;quot;MonsterClip&amp;quot; : 0&lt;br /&gt;
		16: &amp;quot;Prisoner&amp;quot; : 0&lt;br /&gt;
		128: &amp;quot;WaitForScript&amp;quot; : 0&lt;br /&gt;
		256: &amp;quot;Pre-Disaster&amp;quot; : 0&lt;br /&gt;
		512: &amp;quot;Don&#039;t Fade Corpse&amp;quot; : 0&lt;br /&gt;
		16384: &amp;quot;No Dyn Collision&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	TriggerCondition(Choices) : &amp;quot;Trigger Condition&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No Trigger&amp;quot;&lt;br /&gt;
		1 : &amp;quot;See Player, Mad at Player&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Take Damage&amp;quot;&lt;br /&gt;
		3 : &amp;quot;50% Health Remaining&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Death&amp;quot;&lt;br /&gt;
		7 : &amp;quot;Hear World&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Hear Player&amp;quot;&lt;br /&gt;
		9 : &amp;quot;Hear Combat&amp;quot;&lt;br /&gt;
		10: &amp;quot;See Player Unconditional&amp;quot;&lt;br /&gt;
		11: &amp;quot;See Player, Not In Combat&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	TriggerTarget(String) : &amp;quot;Trigger Condition Target&amp;quot;&lt;br /&gt;
	body(choices) : &amp;quot;Body&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;0&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	skin(choices) : &amp;quot;Skin&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;0&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	is_player_ally(Choices) : &amp;quot;Is Player Ally?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No (Default)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	displayname(string) : &amp;quot;In-game Name&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	bloodcolor(choices) : &amp;quot;Blood Color&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Monster Default&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No Blood&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Red&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Yellow&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	health(integer) : &amp;quot;Custom Health&amp;quot; : 0&lt;br /&gt;
	model(studio) : &amp;quot;Custom Model&amp;quot;&lt;br /&gt;
	minhullsize(string) : &amp;quot;Custom Min Hull Size (X Y Z)&amp;quot; : &amp;quot;0 0 0&amp;quot;&lt;br /&gt;
	maxhullsize(string) : &amp;quot;Custom Max Hull Size (X Y Z)&amp;quot; : &amp;quot;0 0 0&amp;quot;&lt;br /&gt;
	soundlist(string) : &amp;quot;Sound Replacement File&amp;quot;&lt;br /&gt;
	freeroam(Choices) : &amp;quot;Monster Roaming (nodes)&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Map Default&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Never&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Always&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	path_name(string) : &amp;quot;Path Name&amp;quot; //The name of the path_waypoint, path_condition, or path_condition_controller this monster will look to.&lt;br /&gt;
&lt;br /&gt;
	// This will make the monster follow/protect whoever is specified&lt;br /&gt;
	guard_ent(string): &amp;quot;Entity to Guard&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass = TalkMonster&lt;br /&gt;
[&lt;br /&gt;
	UseSentence(String) : &amp;quot;Use Sentence&amp;quot;&lt;br /&gt;
	UnUseSentence(String) : &amp;quot;Un-Use Sentence&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	is_player_ally(Choices) : &amp;quot;Is Player Ally?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Yes (Default)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;No&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass base(Targetname, Angles) size(-8 -8 -8, 8 8 8) = GibShooterBase&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Repeatable&amp;quot;  : 0&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	// how many pieces to create&lt;br /&gt;
	m_iGibs(integer) : &amp;quot;Number of Gibs&amp;quot; : 3&lt;br /&gt;
&lt;br /&gt;
	// delay (in seconds) between shots. If 0, all gibs shoot at once.&lt;br /&gt;
	delay(string) : &amp;quot;Delay between shots&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	// how fast the gibs are fired&lt;br /&gt;
	m_flVelocity(integer) : &amp;quot;Gib Velocity&amp;quot; : 200&lt;br /&gt;
&lt;br /&gt;
	// Course variance&lt;br /&gt;
	m_flVariance(string) : &amp;quot;Course Variance&amp;quot; : &amp;quot;0.15&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	// Time in seconds for gibs to live +/- 5%&lt;br /&gt;
	m_flGibLife(string) : &amp;quot;Gib Life&amp;quot; : &amp;quot;4&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass = Light&lt;br /&gt;
[&lt;br /&gt;
	_light(color255) : &amp;quot;Brightness&amp;quot; : &amp;quot;255 255 128 200&amp;quot;&lt;br /&gt;
	style(Choices) : &amp;quot;Appearance&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Normal&amp;quot;&lt;br /&gt;
		10: &amp;quot;Fluorescent flicker&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Slow, strong pulse&amp;quot;&lt;br /&gt;
		11: &amp;quot;Slow pulse, noblack&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Gentle pulse&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Flicker A&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Flicker B&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Candle A&amp;quot;&lt;br /&gt;
		7 : &amp;quot;Candle B&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Candle C&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Fast strobe&amp;quot;&lt;br /&gt;
		9 : &amp;quot;Slow strobe&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	pattern(string) : &amp;quot;Custom Appearance&amp;quot;&lt;br /&gt;
	spawnflags(Flags) = [ 2 : &amp;quot;Remove on Spawn&amp;quot; : 0 ]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass base(Targetname, Targetx, Global, AttackObject, RenderFields, ZHLT) = Breakable&lt;br /&gt;
[&lt;br /&gt;
	//target(target_destination) : &amp;quot;Target on break&amp;quot; //Duplicate, already defined by Target&lt;br /&gt;
	health(integer) : &amp;quot;Strength&amp;quot; : 1&lt;br /&gt;
	material(choices) : &amp;quot;Material type&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Glass&amp;quot;&lt;br /&gt;
		1: &amp;quot;Wood&amp;quot;&lt;br /&gt;
		2: &amp;quot;Metal&amp;quot;&lt;br /&gt;
		3: &amp;quot;Flesh&amp;quot;&lt;br /&gt;
		4: &amp;quot;Cinder Block&amp;quot;&lt;br /&gt;
		5: &amp;quot;Ceiling Tile&amp;quot;&lt;br /&gt;
		6: &amp;quot;Computer&amp;quot;&lt;br /&gt;
		7: &amp;quot;Unbreakable Glass&amp;quot;&lt;br /&gt;
		8: &amp;quot;Rocks&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	weapon(choices) : &amp;quot;Instant Break Weapon&amp;quot; : 1 =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Crowbar&amp;quot;&lt;br /&gt;
		19: &amp;quot;Crowbar (Electric Only)&amp;quot;&lt;br /&gt;
		20: &amp;quot;Pipe Wrench&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	explosion(choices) : &amp;quot;Gibs&#039; direction and velocity&amp;quot; : 1 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Random direction; no velocity&amp;quot;&lt;br /&gt;
		1: &amp;quot;Relative to attack/dmg./mat.&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	gibmodel(studio) : &amp;quot;Gib Model&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	spawnobject(choices) : &amp;quot;Spawn On Break&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0:  &amp;quot;Nothing&amp;quot;&lt;br /&gt;
		1:  &amp;quot;Battery&amp;quot;&lt;br /&gt;
		2:  &amp;quot;Healthkit&amp;quot;&lt;br /&gt;
		3:  &amp;quot;9mm Handgun&amp;quot;&lt;br /&gt;
		4:  &amp;quot;9mm Clip&amp;quot;&lt;br /&gt;
		5:  &amp;quot;Machine Gun&amp;quot;&lt;br /&gt;
		6:  &amp;quot;Machine Gun Clip&amp;quot;&lt;br /&gt;
		7:  &amp;quot;Machine Gun Grenades&amp;quot;&lt;br /&gt;
		8:  &amp;quot;Shotgun&amp;quot;&lt;br /&gt;
		9:  &amp;quot;Shotgun Shells&amp;quot;&lt;br /&gt;
		10: &amp;quot;Crossbow&amp;quot;&lt;br /&gt;
		11: &amp;quot;Crossbow Bolts&amp;quot;&lt;br /&gt;
		12: &amp;quot;357&amp;quot;&lt;br /&gt;
		13: &amp;quot;357 Clip&amp;quot;&lt;br /&gt;
		14: &amp;quot;RPG&amp;quot;&lt;br /&gt;
		15: &amp;quot;RPG Clip&amp;quot;&lt;br /&gt;
		16: &amp;quot;Gauss Clip&amp;quot;&lt;br /&gt;
		17: &amp;quot;Hand grenade&amp;quot;&lt;br /&gt;
		18: &amp;quot;Tripmine&amp;quot;&lt;br /&gt;
		19: &amp;quot;Satchel Charge&amp;quot;&lt;br /&gt;
		20: &amp;quot;Snark&amp;quot;&lt;br /&gt;
		21: &amp;quot;Hornet Gun&amp;quot;&lt;br /&gt;
		22: &amp;quot;Crowbar&amp;quot;&lt;br /&gt;
		23: &amp;quot;Pipewrench&amp;quot;&lt;br /&gt;
		24: &amp;quot;Sniperrifle&amp;quot;&lt;br /&gt;
		25: &amp;quot;Sniperrifle ammo&amp;quot;&lt;br /&gt;
		26: &amp;quot;M16 Rifle&amp;quot;&lt;br /&gt;
		27: &amp;quot;M249 Squad Automatic Weapon&amp;quot;&lt;br /&gt;
		28: &amp;quot;Minigun&amp;quot;&lt;br /&gt;
		29: &amp;quot;556 Ammo Box&amp;quot;&lt;br /&gt;
		30: &amp;quot;Sporelauncher&amp;quot;&lt;br /&gt;
		31: &amp;quot;Spore Clip&amp;quot;&lt;br /&gt;
		32: &amp;quot;9mm Box&amp;quot;&lt;br /&gt;
		33: &amp;quot;Uzi&amp;quot;&lt;br /&gt;
		34: &amp;quot;Uzi akimbo&amp;quot;&lt;br /&gt;
		35: &amp;quot;Desert Eagle&amp;quot;&lt;br /&gt;
		36: &amp;quot;Barnacle Grapple&amp;quot;&lt;br /&gt;
		37: &amp;quot;Medkit (portable)&amp;quot;&lt;br /&gt;
		38: &amp;quot;HEV Suit&amp;quot;&lt;br /&gt;
		39: &amp;quot;Antidote&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	explodemagnitude(integer) : &amp;quot;Explode Magnitude (0=none)&amp;quot; : 0&lt;br /&gt;
	soundlist(string) : &amp;quot;Sound Replacement File&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass = BaseLockable&lt;br /&gt;
[&lt;br /&gt;
	locked_sound(choices) : &amp;quot;Locked Sound&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;None&amp;quot;&lt;br /&gt;
		2: &amp;quot;Access Denied&amp;quot;&lt;br /&gt;
		8: &amp;quot;Small zap&amp;quot;&lt;br /&gt;
		10: &amp;quot;Buzz&amp;quot;&lt;br /&gt;
		11: &amp;quot;Buzz Off&amp;quot;&lt;br /&gt;
		12: &amp;quot;Latch Locked&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	unlocked_sound(choices) : &amp;quot;Unlocked Sound&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;None&amp;quot;&lt;br /&gt;
		1: &amp;quot;Big zap &amp;amp; Warmup&amp;quot;&lt;br /&gt;
		3: &amp;quot;Access Granted&amp;quot;&lt;br /&gt;
		4: &amp;quot;Quick Combolock&amp;quot;&lt;br /&gt;
		5: &amp;quot;Power Deadbolt 1&amp;quot;&lt;br /&gt;
		6: &amp;quot;Power Deadbolt 2&amp;quot;&lt;br /&gt;
		7: &amp;quot;Plunger&amp;quot;&lt;br /&gt;
		8: &amp;quot;Small zap&amp;quot;&lt;br /&gt;
		9: &amp;quot;Keycard Sound&amp;quot;&lt;br /&gt;
		10: &amp;quot;Buzz&amp;quot;&lt;br /&gt;
		13: &amp;quot;Latch Unlocked&amp;quot;&lt;br /&gt;
		14: &amp;quot;Lightswitch&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	locked_sentence(choices) : &amp;quot;Locked Sentence&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;None&amp;quot;&lt;br /&gt;
		1: &amp;quot;Gen. Access Denied&amp;quot;&lt;br /&gt;
		2: &amp;quot;Security Lockout&amp;quot;&lt;br /&gt;
		3: &amp;quot;Blast Door&amp;quot;&lt;br /&gt;
		4: &amp;quot;Fire Door&amp;quot;&lt;br /&gt;
		5: &amp;quot;Chemical Door&amp;quot;&lt;br /&gt;
		6: &amp;quot;Radiation Door&amp;quot;&lt;br /&gt;
		7: &amp;quot;Gen. Containment&amp;quot;&lt;br /&gt;
		8: &amp;quot;Maintenance Door&amp;quot;&lt;br /&gt;
		9: &amp;quot;Broken Shut Door&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	unlocked_sentence(choices) : &amp;quot;Unlocked Sentence&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;None&amp;quot;&lt;br /&gt;
		1: &amp;quot;Gen. Access Granted&amp;quot;&lt;br /&gt;
		2: &amp;quot;Security Disengaged&amp;quot;&lt;br /&gt;
		3: &amp;quot;Blast Door&amp;quot;&lt;br /&gt;
		4: &amp;quot;Fire Door&amp;quot;&lt;br /&gt;
		5: &amp;quot;Chemical Door&amp;quot;&lt;br /&gt;
		6: &amp;quot;Radiation Door&amp;quot;&lt;br /&gt;
		7: &amp;quot;Gen. Containment&amp;quot;&lt;br /&gt;
		8: &amp;quot;Maintenance area&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	locked_sound_override(sound) : &amp;quot;Locked Sound Override&amp;quot;&lt;br /&gt;
	unlocked_sound_override(sound) : &amp;quot;Unlocked Sound Override&amp;quot;&lt;br /&gt;
	locked_sentence_override(string) : &amp;quot;Locked Sentence Override&amp;quot;&lt;br /&gt;
	unlocked_sentence_override(string) : &amp;quot;Unlocked Sentence Override&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass = StartStopable&lt;br /&gt;
[&lt;br /&gt;
	fireonstart(string) : &amp;quot;Fire On Start&amp;quot;&lt;br /&gt;
	fireonstart_triggerstate(choices) : &amp;quot;Fire On Start Trigger State&amp;quot; : 2 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Off&amp;quot;&lt;br /&gt;
		1: &amp;quot;On&amp;quot;&lt;br /&gt;
		2: &amp;quot;Toggle&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	fireonstop(string) : &amp;quot;Fire On Stop&amp;quot;&lt;br /&gt;
	fireonstop_triggerstate(choices) : &amp;quot;Fire On Stop Trigger State&amp;quot; : 2 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Off&amp;quot;&lt;br /&gt;
		1: &amp;quot;On&amp;quot;&lt;br /&gt;
		2: &amp;quot;Toggle&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass = OpenClosable&lt;br /&gt;
[&lt;br /&gt;
	fireonopening(string) : &amp;quot;Fire On Open Start&amp;quot;&lt;br /&gt;
	fireonopening_triggerstate(choices) : &amp;quot;Fire On Open Start Trigger State&amp;quot; : 2 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Off&amp;quot;&lt;br /&gt;
		1: &amp;quot;On&amp;quot;&lt;br /&gt;
		2: &amp;quot;Toggle&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	fireonclosing(string) : &amp;quot;Fire On Close Start&amp;quot;&lt;br /&gt;
	fireonclosing_triggerstate(choices) : &amp;quot;Fire On Close Start Trigger State&amp;quot; : 2 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Off&amp;quot;&lt;br /&gt;
		1: &amp;quot;On&amp;quot;&lt;br /&gt;
		2: &amp;quot;Toggle&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	// This can also be done with &amp;quot;fireonopen&amp;quot; (backward compatibility)&lt;br /&gt;
	fireonopened(string) : &amp;quot;Fire On Open End&amp;quot;&lt;br /&gt;
	fireonopened_triggerstate(choices) : &amp;quot;Fire On Open End Trigger State&amp;quot; : 2 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Off&amp;quot;&lt;br /&gt;
		1: &amp;quot;On&amp;quot;&lt;br /&gt;
		2: &amp;quot;Toggle&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	// This can also be done with &amp;quot;netname&amp;quot; (backward compatibility)&lt;br /&gt;
	fireonclosed(string) : &amp;quot;Fire On Close End&amp;quot;&lt;br /&gt;
	fireonclosed_triggerstate(choices) : &amp;quot;Fire On Close End Trigger State&amp;quot; : 2 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Off&amp;quot;&lt;br /&gt;
		1: &amp;quot;On&amp;quot;&lt;br /&gt;
		2: &amp;quot;Toggle&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass base(Appearflags, Global, Targetname, Targetx, FilterIn, FilterOut, InventoryRules, AttackObject, RenderFields, Angles, ZHLT, BaseLockable, StartStopable, OpenClosable) = Door&lt;br /&gt;
[&lt;br /&gt;
	speed(integer) : &amp;quot;Speed&amp;quot; : 100&lt;br /&gt;
	master(string) : &amp;quot;Master&amp;quot;&lt;br /&gt;
	movesnd(choices) : &amp;quot;Move Sound&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;No Sound&amp;quot;&lt;br /&gt;
		1: &amp;quot;Servo (Sliding)&amp;quot;&lt;br /&gt;
		2: &amp;quot;Pneumatic (Sliding)&amp;quot;&lt;br /&gt;
		3: &amp;quot;Pneumatic (Rolling)&amp;quot;&lt;br /&gt;
		4: &amp;quot;Vacuum&amp;quot;&lt;br /&gt;
		5: &amp;quot;Power Hydraulic&amp;quot;&lt;br /&gt;
		6: &amp;quot;Large Rollers&amp;quot;&lt;br /&gt;
		7: &amp;quot;Track Door&amp;quot;&lt;br /&gt;
		8: &amp;quot;Snappy Metal Door&amp;quot;&lt;br /&gt;
		9: &amp;quot;Squeaky 1&amp;quot;&lt;br /&gt;
		10: &amp;quot;Squeaky 2&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	movesnd_loop(choices) : &amp;quot;Move Sound Loops?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;No&amp;quot;&lt;br /&gt;
		1: &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	stopsnd(choices) : &amp;quot;Stop Sound&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;No Sound&amp;quot;&lt;br /&gt;
		1: &amp;quot;Clang with brake&amp;quot;&lt;br /&gt;
		2: &amp;quot;Clang reverb&amp;quot;&lt;br /&gt;
		3: &amp;quot;Ratchet Stop&amp;quot;&lt;br /&gt;
		4: &amp;quot;Chunk&amp;quot;&lt;br /&gt;
		5: &amp;quot;Light airbrake&amp;quot;&lt;br /&gt;
		6: &amp;quot;Metal Slide Stop&amp;quot;&lt;br /&gt;
		7: &amp;quot;Metal Lock Stop&amp;quot;&lt;br /&gt;
		8: &amp;quot;Snappy Metal Stop&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	noise1(sound) : &amp;quot;Move Sound Override&amp;quot;&lt;br /&gt;
	noise2(sound) : &amp;quot;Stop Sound Override&amp;quot;&lt;br /&gt;
	wait(integer) : &amp;quot;delay before close, -1 stay open &amp;quot; : 4&lt;br /&gt;
	lip(integer) : &amp;quot;Lip&amp;quot;&lt;br /&gt;
	dmg(integer) : &amp;quot;Damage inflicted when blocked&amp;quot; : 0&lt;br /&gt;
	message(string) : &amp;quot;Message if triggered&amp;quot;&lt;br /&gt;
	health(integer) : &amp;quot;Strength&amp;quot; : 0&lt;br /&gt;
	_minlight(string) : &amp;quot;Minimum light level&amp;quot;&lt;br /&gt;
	soundlist(string) : &amp;quot;Sound Replacement File&amp;quot;&lt;br /&gt;
	m_iOpenFlags(choices) : &amp;quot;Who can open this&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Default (0)&amp;quot;&lt;br /&gt;
		1: &amp;quot;Pushables (1)&amp;quot;&lt;br /&gt;
		2: &amp;quot;No clients (2)&amp;quot;&lt;br /&gt;
		3: &amp;quot;1 + 2&amp;quot;&lt;br /&gt;
		4: &amp;quot;Everything else (4)&amp;quot;&lt;br /&gt;
		5: &amp;quot;1 + 4&amp;quot;&lt;br /&gt;
		6: &amp;quot;2 + 4&amp;quot;&lt;br /&gt;
		7: &amp;quot;1 + 2 + 4&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	m_fIgnoreTargetname(choices) : &amp;quot;Ignore Targetname&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;No&amp;quot;&lt;br /&gt;
		1: &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	m_iObeyTriggerMode(choices) : &amp;quot;Obey Trigger Mode&amp;quot; : 2 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Yes, even when currently moving&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Starts Open&amp;quot; : 0&lt;br /&gt;
		4 : &amp;quot;Don&#039;t link&amp;quot; : 0&lt;br /&gt;
		8: &amp;quot;Passable&amp;quot; : 0&lt;br /&gt;
		32: &amp;quot;Toggle&amp;quot; : 0&lt;br /&gt;
		256: &amp;quot;USE Only&amp;quot; : 0&lt;br /&gt;
		512: &amp;quot;Monsters Can&#039;t&amp;quot; : 0&lt;br /&gt;
		1024: &amp;quot;No Link-Checking&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	breakable(choices) : &amp;quot;Breakable&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;No&amp;quot;&lt;br /&gt;
		1: &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	fireonbreak(target_destination) : &amp;quot;Fire on break&amp;quot;&lt;br /&gt;
	material(choices) : &amp;quot;Material type&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Glass&amp;quot;&lt;br /&gt;
		1: &amp;quot;Wood&amp;quot;&lt;br /&gt;
		2: &amp;quot;Metal&amp;quot;&lt;br /&gt;
		3: &amp;quot;Flesh&amp;quot;&lt;br /&gt;
		4: &amp;quot;Cinder Block&amp;quot;&lt;br /&gt;
		5: &amp;quot;Ceiling Tile&amp;quot;&lt;br /&gt;
		6: &amp;quot;Computer&amp;quot;&lt;br /&gt;
		7: &amp;quot;Unbreakable Glass&amp;quot;&lt;br /&gt;
		8: &amp;quot;Rocks&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	instantbreak(choices) : &amp;quot;Instant Break&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	weapon(choices) : &amp;quot;Instant Break Weapon&amp;quot; : 1 =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Crowbar&amp;quot;&lt;br /&gt;
		19: &amp;quot;Crowbar (Electric Only)&amp;quot;&lt;br /&gt;
		20: &amp;quot;Pipe Wrench&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	explosion(choices) : &amp;quot;Gibs&#039; direction and velocity&amp;quot; : 1 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Random direction; no velocity&amp;quot;&lt;br /&gt;
		1: &amp;quot;Relative to attack/dmg./mat.&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	gibmodel(studio) : &amp;quot;Gib Model&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	explodemagnitude(integer) : &amp;quot;Explode Magnitude (0=none)&amp;quot; : 0&lt;br /&gt;
	displayname(string) : &amp;quot;HUD Info name&amp;quot;&lt;br /&gt;
	onlytrigger(choices) : &amp;quot;Only Trigger&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	breakontrigger(choices) : &amp;quot;Break On Trigger&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	repairable(choices) : &amp;quot;Repairable&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	showhudinfo(choices) : &amp;quot;Show HUD Info&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	immunetoclients(choices) : &amp;quot;Immune To Clients&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	explosivesonly(choices) : &amp;quot;Explosives Only&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass base(Targetname, Target, RenderFields, Global, Angles) = BaseTank&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Active&amp;quot; : 0&lt;br /&gt;
		16: &amp;quot;Only Direct&amp;quot; : 0&lt;br /&gt;
		32: &amp;quot;Controllable&amp;quot; : 0&lt;br /&gt;
		512: &amp;quot;Use Relations&amp;quot; : 0&lt;br /&gt;
		1024: &amp;quot;Player can&#039;t fire&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	// Mainly for use with v.1.0.0.9&#039;s team settings (game_team_master)&lt;br /&gt;
	master(string) : &amp;quot;(Team) Master&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	yawrate(string) : &amp;quot;Yaw Rate&amp;quot; : &amp;quot;30&amp;quot;&lt;br /&gt;
	yawrange(string) : &amp;quot;Yaw Range&amp;quot; : &amp;quot;180&amp;quot;&lt;br /&gt;
	yawtolerance(string) : &amp;quot;Yaw Tolerance&amp;quot; : &amp;quot;15&amp;quot;&lt;br /&gt;
	pitchrate(string) : &amp;quot;Pitch Rate&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
	pitchrange(string) : &amp;quot;Pitch Range&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
	pitchtolerance(string) : &amp;quot;Pitch Tolerance&amp;quot; : &amp;quot;5&amp;quot;&lt;br /&gt;
	barrel(string) : &amp;quot;Barrel Length&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
	barrely(string) : &amp;quot;Barrel Horizontal&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
	barrelz(string) : &amp;quot;Barrel Vertical&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
	spritesmoke(string) : &amp;quot;Smoke Sprite&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	spriteflash(string) : &amp;quot;Flash Sprite&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	spritescale(string) : &amp;quot;Sprite Scale&amp;quot; : &amp;quot;1&amp;quot;&lt;br /&gt;
	rotatesound(sound) : &amp;quot;Rotate Sound&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	firerate(string) : &amp;quot;Rate of Fire&amp;quot; : &amp;quot;1&amp;quot;&lt;br /&gt;
	bullet_damage(string) : &amp;quot;Damage Per Bullet&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
	persistence(string) : &amp;quot;Firing Persistence&amp;quot; : &amp;quot;1&amp;quot;&lt;br /&gt;
	firespread(choices) : &amp;quot;Bullet Accuracy&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Perfect Shot&amp;quot;&lt;br /&gt;
		1: &amp;quot;Small cone&amp;quot;&lt;br /&gt;
		2: &amp;quot;Medium cone&amp;quot;&lt;br /&gt;
		3: &amp;quot;Large cone&amp;quot;&lt;br /&gt;
		4: &amp;quot;Extra-large cone&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	minRange(string) : &amp;quot;Minmum target range&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
	maxRange(string) : &amp;quot;Maximum target range&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
	_minlight(string) : &amp;quot;Minimum light level&amp;quot;&lt;br /&gt;
	relation_player(choices) : &amp;quot;R Player&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		-2: &amp;quot;Ally&amp;quot;&lt;br /&gt;
		-1: &amp;quot;Friend&amp;quot;&lt;br /&gt;
		0: &amp;quot;No Relation&amp;quot;&lt;br /&gt;
		1: &amp;quot;Dislike&amp;quot;&lt;br /&gt;
		2: &amp;quot;Hate&amp;quot;&lt;br /&gt;
		3: &amp;quot;Nemesis&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	relation_none(choices) : &amp;quot;R Unknown&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		-2: &amp;quot;Ally&amp;quot;&lt;br /&gt;
		-1: &amp;quot;Friend&amp;quot;&lt;br /&gt;
		0: &amp;quot;No Relation&amp;quot;&lt;br /&gt;
		1: &amp;quot;Dislike&amp;quot;&lt;br /&gt;
		2: &amp;quot;Hate&amp;quot;&lt;br /&gt;
		3: &amp;quot;Nemesis&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	relation_machine(choices) : &amp;quot;R Machine&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		-2: &amp;quot;Ally&amp;quot;&lt;br /&gt;
		-1: &amp;quot;Friend&amp;quot;&lt;br /&gt;
		0: &amp;quot;No Relation&amp;quot;&lt;br /&gt;
		1: &amp;quot;Dislike&amp;quot;&lt;br /&gt;
		2: &amp;quot;Hate&amp;quot;&lt;br /&gt;
		3: &amp;quot;Nemesis&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	relation_human_passive(choices) : &amp;quot;R Human Passive&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		-2: &amp;quot;Ally&amp;quot;&lt;br /&gt;
		-1: &amp;quot;Friend&amp;quot;&lt;br /&gt;
		0: &amp;quot;No Relation&amp;quot;&lt;br /&gt;
		1: &amp;quot;Dislike&amp;quot;&lt;br /&gt;
		2: &amp;quot;Hate&amp;quot;&lt;br /&gt;
		3: &amp;quot;Nemesis&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	relation_human_militar(choices) : &amp;quot;R Human Military&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		-2: &amp;quot;Ally&amp;quot;&lt;br /&gt;
		-1: &amp;quot;Friend&amp;quot;&lt;br /&gt;
		0: &amp;quot;No Relation&amp;quot;&lt;br /&gt;
		1: &amp;quot;Dislike&amp;quot;&lt;br /&gt;
		2: &amp;quot;Hate&amp;quot;&lt;br /&gt;
		3: &amp;quot;Nemesis&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	relation_alien_militar(choices) : &amp;quot;R Alien Military&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		-2: &amp;quot;Ally&amp;quot;&lt;br /&gt;
		-1: &amp;quot;Friend&amp;quot;&lt;br /&gt;
		0: &amp;quot;No Relation&amp;quot;&lt;br /&gt;
		1: &amp;quot;Dislike&amp;quot;&lt;br /&gt;
		2: &amp;quot;Hate&amp;quot;&lt;br /&gt;
		3: &amp;quot;Nemesis&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	relation_alien_passive(choices) : &amp;quot;R Alien Passive&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		-2: &amp;quot;Ally&amp;quot;&lt;br /&gt;
		-1: &amp;quot;Friend&amp;quot;&lt;br /&gt;
		0: &amp;quot;No Relation&amp;quot;&lt;br /&gt;
		1: &amp;quot;Dislike&amp;quot;&lt;br /&gt;
		2: &amp;quot;Hate&amp;quot;&lt;br /&gt;
		3: &amp;quot;Nemesis&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	relation_alien_monster(choices) : &amp;quot;R Alien Monster&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		-2: &amp;quot;Ally&amp;quot;&lt;br /&gt;
		-1: &amp;quot;Friend&amp;quot;&lt;br /&gt;
		0: &amp;quot;No Relation&amp;quot;&lt;br /&gt;
		1: &amp;quot;Dislike&amp;quot;&lt;br /&gt;
		2: &amp;quot;Hate&amp;quot;&lt;br /&gt;
		3: &amp;quot;Nemesis&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	relation_alien_prey(choices) : &amp;quot;R Alien Prey&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		-2: &amp;quot;Ally&amp;quot;&lt;br /&gt;
		-1: &amp;quot;Friend&amp;quot;&lt;br /&gt;
		0: &amp;quot;No Relation&amp;quot;&lt;br /&gt;
		1: &amp;quot;Dislike&amp;quot;&lt;br /&gt;
		2: &amp;quot;Hate&amp;quot;&lt;br /&gt;
		3: &amp;quot;Nemesis&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	relation_alien_predator(choices) : &amp;quot;R Alien Predator&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		-2: &amp;quot;Ally&amp;quot;&lt;br /&gt;
		-1: &amp;quot;Friend&amp;quot;&lt;br /&gt;
		0: &amp;quot;No Relation&amp;quot;&lt;br /&gt;
		1: &amp;quot;Dislike&amp;quot;&lt;br /&gt;
		2: &amp;quot;Hate&amp;quot;&lt;br /&gt;
		3: &amp;quot;Nemesis&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	relation_insect(choices) : &amp;quot;R Insect&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		-2: &amp;quot;Ally&amp;quot;&lt;br /&gt;
		-1: &amp;quot;Friend&amp;quot;&lt;br /&gt;
		0: &amp;quot;No Relation&amp;quot;&lt;br /&gt;
		1: &amp;quot;Dislike&amp;quot;&lt;br /&gt;
		2: &amp;quot;Hate&amp;quot;&lt;br /&gt;
		3: &amp;quot;Nemesis&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	relation_player_ally(choices) : &amp;quot;R Player Ally&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		-2: &amp;quot;Ally&amp;quot;&lt;br /&gt;
		-1: &amp;quot;Friend&amp;quot;&lt;br /&gt;
		0: &amp;quot;No Relation&amp;quot;&lt;br /&gt;
		1: &amp;quot;Dislike&amp;quot;&lt;br /&gt;
		2: &amp;quot;Hate&amp;quot;&lt;br /&gt;
		3: &amp;quot;Nemesis&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	relation_player_bioweapon(choices) : &amp;quot;R Player BioWeapon&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		-2: &amp;quot;Ally&amp;quot;&lt;br /&gt;
		-1: &amp;quot;Friend&amp;quot;&lt;br /&gt;
		0: &amp;quot;No Relation&amp;quot;&lt;br /&gt;
		1: &amp;quot;Dislike&amp;quot;&lt;br /&gt;
		2: &amp;quot;Hate&amp;quot;&lt;br /&gt;
		3: &amp;quot;Nemesis&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	relation_monster_bioweapon(choices) : &amp;quot;R Monster BioWeapon&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		-2: &amp;quot;Ally&amp;quot;&lt;br /&gt;
		-1: &amp;quot;Friend&amp;quot;&lt;br /&gt;
		0: &amp;quot;No Relation&amp;quot;&lt;br /&gt;
		1: &amp;quot;Dislike&amp;quot;&lt;br /&gt;
		2: &amp;quot;Hate&amp;quot;&lt;br /&gt;
		3: &amp;quot;Nemesis&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	relation_machine(choices) : &amp;quot;R Machine&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		-2: &amp;quot;Ally&amp;quot;&lt;br /&gt;
		-1: &amp;quot;Friend&amp;quot;&lt;br /&gt;
		0: &amp;quot;No Relation&amp;quot;&lt;br /&gt;
		1: &amp;quot;Dislike&amp;quot;&lt;br /&gt;
		2: &amp;quot;Hate&amp;quot;&lt;br /&gt;
		3: &amp;quot;Nemesis&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass = PlatSounds&lt;br /&gt;
[&lt;br /&gt;
	movesnd(choices) : &amp;quot;Move Sound&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;No Sound&amp;quot;&lt;br /&gt;
		1: &amp;quot;big elev 1&amp;quot;&lt;br /&gt;
		2: &amp;quot;big elev 2&amp;quot;&lt;br /&gt;
		3: &amp;quot;tech elev 1&amp;quot;&lt;br /&gt;
		4: &amp;quot;tech elev 2&amp;quot;&lt;br /&gt;
		5: &amp;quot;tech elev 3&amp;quot;&lt;br /&gt;
		6: &amp;quot;freight elev 1&amp;quot;&lt;br /&gt;
		7: &amp;quot;freight elev 2&amp;quot;&lt;br /&gt;
		8: &amp;quot;heavy elev&amp;quot;&lt;br /&gt;
		9: &amp;quot;rack elev&amp;quot;&lt;br /&gt;
		10: &amp;quot;rail elev&amp;quot;&lt;br /&gt;
		11: &amp;quot;squeek elev&amp;quot;&lt;br /&gt;
		12: &amp;quot;odd elev 1&amp;quot;&lt;br /&gt;
		13: &amp;quot;odd elev 2&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	movesnd_loop(choices) : &amp;quot;Move Sound Loops?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;No&amp;quot;&lt;br /&gt;
		1: &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	stopsnd(choices) : &amp;quot;Stop Sound&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;No Sound&amp;quot;&lt;br /&gt;
		1: &amp;quot;big elev stop1&amp;quot;&lt;br /&gt;
		2: &amp;quot;big elev stop2&amp;quot;&lt;br /&gt;
		3: &amp;quot;freight elev stop&amp;quot;&lt;br /&gt;
		4: &amp;quot;heavy elev stop&amp;quot;&lt;br /&gt;
		5: &amp;quot;rack stop&amp;quot;&lt;br /&gt;
		6: &amp;quot;rail stop&amp;quot;&lt;br /&gt;
		7: &amp;quot;squeek stop&amp;quot;&lt;br /&gt;
		8: &amp;quot;quick stop&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	noise(sound) : &amp;quot;Move Sound Override&amp;quot;&lt;br /&gt;
	noise1(sound) : &amp;quot;Stop Sound Override&amp;quot;&lt;br /&gt;
	volume(string) : &amp;quot;Sound Volume 0.0 - 1.0&amp;quot; : &amp;quot;0.85&amp;quot;&lt;br /&gt;
	soundlist(string) : &amp;quot;Sound Replacement File&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass base(Appearflags, StartStopable, OpenClosable) = BasePlat&lt;br /&gt;
[&lt;br /&gt;
	dmg(integer) : &amp;quot;Damage inflicted when blocked&amp;quot; : 0&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass base(Targetname, RenderFields, Global, PlatSounds, BasePlat) = Trackchange&lt;br /&gt;
[&lt;br /&gt;
	height(integer) : &amp;quot;Travel altitude&amp;quot; : 0&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Auto Activate train&amp;quot; : 0&lt;br /&gt;
		2: &amp;quot;Relink track&amp;quot; : 0&lt;br /&gt;
		8: &amp;quot;Start at Bottom&amp;quot; : 0&lt;br /&gt;
		16: &amp;quot;Rotate Only&amp;quot; : 0&lt;br /&gt;
		64: &amp;quot;X Axis&amp;quot; : 0&lt;br /&gt;
		128: &amp;quot;Y Axis&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	rotation(integer) : &amp;quot;Spin amount&amp;quot; : 0&lt;br /&gt;
	train(target_destination) : &amp;quot;Train to switch&amp;quot;&lt;br /&gt;
	toptrack(target_destination) : &amp;quot;Top track&amp;quot;&lt;br /&gt;
	bottomtrack(target_destination) : &amp;quot;Bottom track&amp;quot;&lt;br /&gt;
	speed(integer) : &amp;quot;Move/Rotate speed&amp;quot; : 0&lt;br /&gt;
	noise2(sound) : &amp;quot;Blocked Sound&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass base(Targetx, Targetname, FilterIn, FilterOut, InventoryRules, ZHLTbmodel, Appearflags) = Trigger&lt;br /&gt;
[&lt;br /&gt;
	netname(target_destination) : &amp;quot;Target Path&amp;quot;&lt;br /&gt;
	master(string) : &amp;quot;Master&amp;quot;&lt;br /&gt;
	sounds(choices) : &amp;quot;Sound style&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No Sound&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	message(string) : &amp;quot;Message (set sound too!)&amp;quot;&lt;br /&gt;
	tiny_monsters(Choices) : &amp;quot;Allow tiny monsters (insects/hornets)&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Monsters&amp;quot; : 0&lt;br /&gt;
		2: &amp;quot;No Clients&amp;quot; : 0&lt;br /&gt;
		4: &amp;quot;Pushables&amp;quot;: 0&lt;br /&gt;
		8: &amp;quot;Everything else&amp;quot;: 0&lt;br /&gt;
		16: &amp;quot;Fire On Enter&amp;quot;: 0&lt;br /&gt;
		32: &amp;quot;Fire On Exit&amp;quot;: 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass base(Targetname, Target, Angles) = PortalBase&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Solid&amp;quot;			: 1&lt;br /&gt;
		2: &amp;quot;Start Disabled&amp;quot;	: 0&lt;br /&gt;
		16: &amp;quot;Render only every 2nd frame&amp;quot;: 0&lt;br /&gt;
	]&lt;br /&gt;
	zoom(integer) : &amp;quot;Zoom&amp;quot; : 1&lt;br /&gt;
	fps(integer) : &amp;quot;Max FPS&amp;quot; : 0&lt;br /&gt;
	mindist(integer) : &amp;quot;Min Render Distance&amp;quot; : 0&lt;br /&gt;
	maxdist(integer) : &amp;quot;Max Render Distance&amp;quot; : 0&lt;br /&gt;
	textureMode(choices) : &amp;quot;Texture Mode&amp;quot; : 1 =&lt;br /&gt;
	[&lt;br /&gt;
		0  : &amp;quot;{ Textures&amp;quot;&lt;br /&gt;
		1  : &amp;quot;All Textures&amp;quot;&lt;br /&gt;
		2  : &amp;quot;Named Texture&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	textureName(string) : &amp;quot;Texture Name&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
//&lt;br /&gt;
// Entities start here. Sorted by Name just like Hammer displays them.&lt;br /&gt;
//&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Targetx, Angles) size(-16 -16 0, 16 16 72) color(164 0 255) = aiscripted_sequence : &amp;quot;AI Scripted Sequence&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	m_iszEntity(string) : &amp;quot;Target Monster&amp;quot;&lt;br /&gt;
	m_iszPlay(string) : &amp;quot;Action Animation&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	m_flRadius(integer) : &amp;quot;Search Radius&amp;quot; : 512&lt;br /&gt;
	m_flRepeat(integer) : &amp;quot;Repeat Rate ms&amp;quot; : 0&lt;br /&gt;
	m_fMoveTo(Choices) : &amp;quot;Move to Position&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Walk&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Run&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Instantaneous&amp;quot;&lt;br /&gt;
		5 : &amp;quot;No - Turn to Face&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	moveto_radius(integer) : &amp;quot;Move to Radius&amp;quot; : 0&lt;br /&gt;
	m_iFinishSchedule(Choices) : &amp;quot;AI Schedule when done&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Default AI&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Ambush&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		4 : &amp;quot;Repeatable&amp;quot;		: 0&lt;br /&gt;
		8 : &amp;quot;Leave Corpse&amp;quot;	: 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass iconsprite(&amp;quot;sprites/vhe-iconsprites/ambient_generic.spr&amp;quot;) base(Targetname) color(220 220 220) = ambient_generic : &amp;quot;Universal Ambient&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	message(sound) : &amp;quot;Sound File&amp;quot;&lt;br /&gt;
	health(integer) : &amp;quot;Volume (10 = loudest)&amp;quot; : 10&lt;br /&gt;
	playmode(choices) : &amp;quot;Play Mode&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Default&amp;quot;&lt;br /&gt;
		1: &amp;quot;Play Once&amp;quot;&lt;br /&gt;
		2: &amp;quot;Loop&amp;quot;&lt;br /&gt;
		5: &amp;quot;Linear / Play Once&amp;quot;&lt;br /&gt;
		6: &amp;quot;Linear / Loop&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	preset(choices) : &amp;quot;Dynamic Presets&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;None&amp;quot;&lt;br /&gt;
		1: &amp;quot;Huge Machine&amp;quot;&lt;br /&gt;
		2: &amp;quot;Big Machine&amp;quot;&lt;br /&gt;
		3: &amp;quot;Machine&amp;quot;&lt;br /&gt;
		4: &amp;quot;Slow Fade in&amp;quot;&lt;br /&gt;
		5: &amp;quot;Fade in&amp;quot;&lt;br /&gt;
		6: &amp;quot;Quick Fade in&amp;quot;&lt;br /&gt;
		7: &amp;quot;Slow Pulse&amp;quot;&lt;br /&gt;
		8: &amp;quot;Pulse&amp;quot;&lt;br /&gt;
		9: &amp;quot;Quick pulse&amp;quot;&lt;br /&gt;
		10: &amp;quot;Slow Oscillator&amp;quot;&lt;br /&gt;
		11: &amp;quot;Oscillator&amp;quot;&lt;br /&gt;
		12: &amp;quot;Quick Oscillator&amp;quot;&lt;br /&gt;
		13: &amp;quot;Grunge pitch&amp;quot;&lt;br /&gt;
		14: &amp;quot;Very low pitch&amp;quot;&lt;br /&gt;
		15: &amp;quot;Low pitch&amp;quot;&lt;br /&gt;
		16: &amp;quot;High pitch&amp;quot;&lt;br /&gt;
		17: &amp;quot;Very high pitch&amp;quot;&lt;br /&gt;
		18: &amp;quot;Screaming pitch&amp;quot;&lt;br /&gt;
		19: &amp;quot;Oscillate spinup/down&amp;quot;&lt;br /&gt;
		20: &amp;quot;Pulse spinup/down&amp;quot;&lt;br /&gt;
		21: &amp;quot;Random pitch&amp;quot;&lt;br /&gt;
		22: &amp;quot;Random pitch fast&amp;quot;&lt;br /&gt;
		23: &amp;quot;Incremental Spinup&amp;quot;&lt;br /&gt;
		24: &amp;quot;Alien&amp;quot;&lt;br /&gt;
		25: &amp;quot;Bizzare&amp;quot;&lt;br /&gt;
		26: &amp;quot;Planet X&amp;quot;&lt;br /&gt;
		27: &amp;quot;Haunted&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	volstart(integer) : &amp;quot;Start Volume&amp;quot; : 0&lt;br /&gt;
	fadein(integer) : &amp;quot;Fade in time (0-100)&amp;quot; : 0&lt;br /&gt;
	fadeout(integer) : &amp;quot;Fade out time (0-100)&amp;quot; : 0&lt;br /&gt;
	pitch(integer) : &amp;quot;Pitch (&amp;gt; 100 = higher)&amp;quot; : 100&lt;br /&gt;
	pitchstart(integer) : &amp;quot;Start Pitch&amp;quot; : 100&lt;br /&gt;
	spinup(integer) : &amp;quot;Spin up time (0-100)&amp;quot; : 0&lt;br /&gt;
	spindown(integer) : &amp;quot;Spin down time (0-100)&amp;quot; : 0&lt;br /&gt;
	lfotype(choices) : &amp;quot;LFO type&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Off&amp;quot;&lt;br /&gt;
		1: &amp;quot;Square Wave&amp;quot;&lt;br /&gt;
		2: &amp;quot;Triangle Wave&amp;quot;&lt;br /&gt;
		3: &amp;quot;Random&amp;quot;&lt;br /&gt;
		4: &amp;quot;Saw Tooth Wave&amp;quot;&lt;br /&gt;
		5: &amp;quot;Sine Wave&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	lforate(integer) : &amp;quot;LFO rate (0-1000)&amp;quot; : 0&lt;br /&gt;
	lfomodpitch(integer) : &amp;quot;LFO mod pitch (0-100)&amp;quot; : 0&lt;br /&gt;
	lfomodvol(integer) : &amp;quot;LFO mod vol (0-100)&amp;quot; : 0&lt;br /&gt;
	cspinup(integer) : &amp;quot;Incremental spinup count&amp;quot; : 0&lt;br /&gt;
	linearmin(choices) : &amp;quot;Linear Min Radius&amp;quot; : 2 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;0 - 0 units&amp;quot;&lt;br /&gt;
		1: &amp;quot;1 - 256 units&amp;quot;&lt;br /&gt;
		2: &amp;quot;2 - 512 units&amp;quot;&lt;br /&gt;
		3: &amp;quot;3 - 768 units&amp;quot;&lt;br /&gt;
		4: &amp;quot;4 - 1,024 units&amp;quot;&lt;br /&gt;
		5: &amp;quot;5 - 1,280 units&amp;quot;&lt;br /&gt;
		6: &amp;quot;6 - 1,536 units&amp;quot;&lt;br /&gt;
		7: &amp;quot;7 - 1,792 units&amp;quot;&lt;br /&gt;
		8: &amp;quot;8 - 2,048 units&amp;quot;&lt;br /&gt;
		9: &amp;quot;9 - 2,304 units&amp;quot;&lt;br /&gt;
		10: &amp;quot;10 - 2,560 units&amp;quot;&lt;br /&gt;
		11: &amp;quot;11 - 2,816 units&amp;quot;&lt;br /&gt;
		12: &amp;quot;12 - 3,072 units&amp;quot;&lt;br /&gt;
		13: &amp;quot;13 - 3,328 units&amp;quot;&lt;br /&gt;
		14: &amp;quot;14 - 3,584 units&amp;quot;&lt;br /&gt;
		15: &amp;quot;15 - 3,840 units&amp;quot;&lt;br /&gt;
		16: &amp;quot;16 - 4,096 units&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	linearmax(choices) : &amp;quot;Linear End Radius&amp;quot; : 5 =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;1 - 256 units&amp;quot;&lt;br /&gt;
		2: &amp;quot;2 - 512 units&amp;quot;&lt;br /&gt;
		3: &amp;quot;3 - 768 units&amp;quot;&lt;br /&gt;
		4: &amp;quot;4 - 1,024 units&amp;quot;&lt;br /&gt;
		5: &amp;quot;5 - 1,280 units&amp;quot;&lt;br /&gt;
		6: &amp;quot;6 - 1,536 units&amp;quot;&lt;br /&gt;
		7: &amp;quot;7 - 1,792 units&amp;quot;&lt;br /&gt;
		8: &amp;quot;8 - 2,048 units&amp;quot;&lt;br /&gt;
		9: &amp;quot;9 - 2,304 units&amp;quot;&lt;br /&gt;
		10: &amp;quot;10 - 2,560 units&amp;quot;&lt;br /&gt;
		11: &amp;quot;11 - 2,816 units&amp;quot;&lt;br /&gt;
		12: &amp;quot;12 - 3,072 units&amp;quot;&lt;br /&gt;
		13: &amp;quot;13 - 3,328 units&amp;quot;&lt;br /&gt;
		14: &amp;quot;14 - 3,584 units&amp;quot;&lt;br /&gt;
		15: &amp;quot;15 - 3,840 units&amp;quot;&lt;br /&gt;
		16: &amp;quot;16 - 4,096 units&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Play Everywhere&amp;quot; : 0&lt;br /&gt;
		2 : &amp;quot;Small Radius (~384)&amp;quot; : 0&lt;br /&gt;
		4 : &amp;quot;Medium Radius (~768)&amp;quot; : 1&lt;br /&gt;
		8 : &amp;quot;Large Radius (~1536)&amp;quot; : 0&lt;br /&gt;
		16 : &amp;quot;Start Silent&amp;quot;: 0&lt;br /&gt;
		32 : &amp;quot;Un-looped|Cyclic&amp;quot;: 0&lt;br /&gt;
		64 : &amp;quot;User Only (+origin)&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass iconsprite(&amp;quot;sprites/vhe-iconsprites/ambient_generic.spr&amp;quot;) base(Targetname) color(220 220 220) = ambient_music : &amp;quot;Ambient Music&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	message(sound) : &amp;quot;Sound File&amp;quot;&lt;br /&gt;
	volume(integer) : &amp;quot;Volume (10 = loudest)&amp;quot; : 10&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Start Silent&amp;quot; : 1&lt;br /&gt;
		2 : &amp;quot;Loop&amp;quot; : 0&lt;br /&gt;
		4 : &amp;quot;Activator Only&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Ammo, Targetx) studio(&amp;quot;models/w_357ammobox.mdl&amp;quot;) = ammo_357 : &amp;quot;357 / desert eagle round box&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Ammo, Targetx) studio(&amp;quot;models/w_saw_clip.mdl&amp;quot;) = ammo_556 : &amp;quot;5.56mm round box&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Ammo, Targetx) studio(&amp;quot;models/w_9mmARclip.mdl&amp;quot;) = ammo_556clip : &amp;quot;5.56mm M16 rifle magazine&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Ammo, Targetx) studio(&amp;quot;models/w_m40a1clip.mdl&amp;quot;) = ammo_762 : &amp;quot;7.62mm sniper rifle magazine&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Ammo, Targetx) studio(&amp;quot;models/w_mp5_clip.mdl&amp;quot;) = ammo_9mmAR : &amp;quot;9mm assault rifle magazine&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Ammo, Targetx) studio(&amp;quot;models/w_chainammo.mdl&amp;quot;) = ammo_9mmbox : &amp;quot;9mm round box (big)&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Ammo, Targetx) studio(&amp;quot;models/w_9mmclip.mdl&amp;quot;) = ammo_9mmclip : &amp;quot;9mm pistol magazine&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Ammo, Targetx) studio(&amp;quot;models/w_argrenade.mdl&amp;quot;) = ammo_ARgrenades : &amp;quot;M16&#039;s M203 grenades (x2)&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Ammo, Targetx) studio(&amp;quot;models/w_shotbox.mdl&amp;quot;) = ammo_buckshot : &amp;quot;Shotgun shell box&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Ammo, Targetx) studio(&amp;quot;models/w_crossbow_clip.mdl&amp;quot;) = ammo_crossbow : &amp;quot;Crossbow bolt magazine&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Ammo, Targetx) studio(&amp;quot;models/w_gaussammo.mdl&amp;quot;) = ammo_gaussclip : &amp;quot;Gauss/Gluon gun battery&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Ammo, Targetx) studio(&amp;quot;models/w_rpgammo.mdl&amp;quot;) = ammo_rpgclip : &amp;quot;Rockets (x2)&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Ammo, Targetx) size(-16 -16 -16, 16 16 16) studio(&amp;quot;models/vhe-models/spore_ammo_hammer.mdl&amp;quot;) = ammo_spore : &amp;quot;Spore plant&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	movetype(choices) : &amp;quot;Gravity Setting&amp;quot; : 8 =&lt;br /&gt;
	[&lt;br /&gt;
		-1: &amp;quot;Unmoveable&amp;quot;&lt;br /&gt;
		0: &amp;quot;Fall to the ground (OP4 maps only)&amp;quot;&lt;br /&gt;
		5: &amp;quot;Hover in the air&amp;quot;&lt;br /&gt;
		8: &amp;quot;Hover in the air, ignore brush collision&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Ammo, Targetx) studio(&amp;quot;models/spore.mdl&amp;quot;) = ammo_sporeclip : &amp;quot;Spore&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Ammo, Targetx) studio(&amp;quot;models/w_uzi_clip.mdl&amp;quot;) = ammo_uziclip : &amp;quot;9mm Uzi magazine&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Target, ZHLT) = button_target : &amp;quot;Target Button&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Use Activates&amp;quot; : 1&lt;br /&gt;
		2: &amp;quot;Start On&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	master(string) : &amp;quot;Master&amp;quot;&lt;br /&gt;
	renderfx(choices) : &amp;quot;Render FX&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Normal&amp;quot;&lt;br /&gt;
		1: &amp;quot;Slow Pulse&amp;quot;&lt;br /&gt;
		2: &amp;quot;Fast Pulse&amp;quot;&lt;br /&gt;
		3: &amp;quot;Slow Wide Pulse&amp;quot;&lt;br /&gt;
		4: &amp;quot;Fast Wide Pulse&amp;quot;&lt;br /&gt;
		9: &amp;quot;Slow Strobe&amp;quot;&lt;br /&gt;
		10: &amp;quot;Fast Strobe&amp;quot;&lt;br /&gt;
		11: &amp;quot;Faster Strobe&amp;quot;&lt;br /&gt;
		12: &amp;quot;Slow Flicker&amp;quot;&lt;br /&gt;
		13: &amp;quot;Fast Flicker&amp;quot;&lt;br /&gt;
		5: &amp;quot;Slow Fade Away&amp;quot;&lt;br /&gt;
		6: &amp;quot;Fast Fade Away&amp;quot;&lt;br /&gt;
		7: &amp;quot;Slow Become Solid&amp;quot;&lt;br /&gt;
		8: &amp;quot;Fast Become Solid&amp;quot;&lt;br /&gt;
		14: &amp;quot;Constant Glow&amp;quot;&lt;br /&gt;
		15: &amp;quot;Distort&amp;quot;&lt;br /&gt;
		16: &amp;quot;Hologram (Distort + fade)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	rendermode(choices) : &amp;quot;Render Mode&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Normal&amp;quot;&lt;br /&gt;
		1: &amp;quot;Color&amp;quot;&lt;br /&gt;
		2: &amp;quot;Texture&amp;quot;&lt;br /&gt;
		3: &amp;quot;Glow&amp;quot;&lt;br /&gt;
		4: &amp;quot;Solid&amp;quot;&lt;br /&gt;
		5: &amp;quot;Additive&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	renderamt(integer) : &amp;quot;FX Amount (1 - 255)&amp;quot;&lt;br /&gt;
	rendercolor(color255) : &amp;quot;FX Color (R G B)&amp;quot; : &amp;quot;0 0 0&amp;quot;&lt;br /&gt;
	use_type(choices) : &amp;quot;Use Type&amp;quot; : 3 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Off&amp;quot;&lt;br /&gt;
		1: &amp;quot;On&amp;quot;&lt;br /&gt;
		2: &amp;quot;Set&amp;quot;&lt;br /&gt;
		3: &amp;quot;Toggle&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass color(165 185 160) = custom_precache : &amp;quot;Custom Precache&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	model_1(studio): &amp;quot;Model 1&amp;quot;&lt;br /&gt;
	model_2(studio): &amp;quot;Model 2&amp;quot;&lt;br /&gt;
	model_3(studio): &amp;quot;Model 3&amp;quot;&lt;br /&gt;
	model_4(studio): &amp;quot;Model 4&amp;quot;&lt;br /&gt;
	model_5(studio): &amp;quot;Model 5&amp;quot;&lt;br /&gt;
	model_6(studio): &amp;quot;Model 6&amp;quot;&lt;br /&gt;
	model_7(studio): &amp;quot;Model 7&amp;quot;&lt;br /&gt;
	model_8(studio): &amp;quot;Model 8&amp;quot;&lt;br /&gt;
	model_9(studio): &amp;quot;Model 9&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	sound_1(sound): &amp;quot;Sound 1&amp;quot;&lt;br /&gt;
	sound_2(sound): &amp;quot;Sound 2&amp;quot;&lt;br /&gt;
	sound_3(sound): &amp;quot;Sound 3&amp;quot;&lt;br /&gt;
	sound_4(sound): &amp;quot;Sound 4&amp;quot;&lt;br /&gt;
	sound_5(sound): &amp;quot;Sound 5&amp;quot;&lt;br /&gt;
	sound_6(sound): &amp;quot;Sound 6&amp;quot;&lt;br /&gt;
	sound_7(sound): &amp;quot;Sound 7&amp;quot;&lt;br /&gt;
	sound_8(sound): &amp;quot;Sound 8&amp;quot;&lt;br /&gt;
	sound_9(sound): &amp;quot;Sound 9&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	sky_1(string): &amp;quot;Sky map 1&amp;quot;&lt;br /&gt;
	sky_2(string): &amp;quot;Sky map 2&amp;quot;&lt;br /&gt;
	sky_3(string): &amp;quot;Sky map 3&amp;quot;&lt;br /&gt;
	sky_4(string): &amp;quot;Sky map 4&amp;quot;&lt;br /&gt;
	sky_5(string): &amp;quot;Sky map 5&amp;quot;&lt;br /&gt;
	sky_6(string): &amp;quot;Sky map 6&amp;quot;&lt;br /&gt;
	sky_7(string): &amp;quot;Sky map 7&amp;quot;&lt;br /&gt;
	sky_8(string): &amp;quot;Sky map 8&amp;quot;&lt;br /&gt;
	sky_9(string): &amp;quot;Sky map 9&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Angles) size(-16 -16 0, 16 16 72) studio() color(128 128 128) = cycler : &amp;quot;Monster Cycler&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	model(studio) : &amp;quot;Model&amp;quot;&lt;br /&gt;
	renderfx(choices) : &amp;quot;Render FX&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Normal&amp;quot;&lt;br /&gt;
		1: &amp;quot;Slow Pulse&amp;quot;&lt;br /&gt;
		2: &amp;quot;Fast Pulse&amp;quot;&lt;br /&gt;
		3: &amp;quot;Slow Wide Pulse&amp;quot;&lt;br /&gt;
		4: &amp;quot;Fast Wide Pulse&amp;quot;&lt;br /&gt;
		9: &amp;quot;Slow Strobe&amp;quot;&lt;br /&gt;
		10: &amp;quot;Fast Strobe&amp;quot;&lt;br /&gt;
		11: &amp;quot;Faster Strobe&amp;quot;&lt;br /&gt;
		12: &amp;quot;Slow Flicker&amp;quot;&lt;br /&gt;
		13: &amp;quot;Fast Flicker&amp;quot;&lt;br /&gt;
		5: &amp;quot;Slow Fade Away&amp;quot;&lt;br /&gt;
		6: &amp;quot;Fast Fade Away&amp;quot;&lt;br /&gt;
		7: &amp;quot;Slow Become Solid&amp;quot;&lt;br /&gt;
		8: &amp;quot;Fast Become Solid&amp;quot;&lt;br /&gt;
		14: &amp;quot;Constant Glow&amp;quot;&lt;br /&gt;
		15: &amp;quot;Distort&amp;quot;&lt;br /&gt;
		16: &amp;quot;Hologram (Distort + fade)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	rendermode(choices) : &amp;quot;Render Mode&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Normal&amp;quot;&lt;br /&gt;
		1: &amp;quot;Color&amp;quot;&lt;br /&gt;
		2: &amp;quot;Texture&amp;quot;&lt;br /&gt;
		3: &amp;quot;Glow&amp;quot;&lt;br /&gt;
		4: &amp;quot;Solid&amp;quot;&lt;br /&gt;
		5: &amp;quot;Additive&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	renderamt(integer) : &amp;quot;FX Amount (1 - 255)&amp;quot;&lt;br /&gt;
	rendercolor(color255) : &amp;quot;FX Color (R G B)&amp;quot; : &amp;quot;0 0 0&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Angles) sprite() color(128 128 128) = cycler_sprite : &amp;quot;Sprite Cycler&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	model(sprite) : &amp;quot;Sprite&amp;quot;&lt;br /&gt;
	framerate(integer) : &amp;quot;Frames per second&amp;quot; : 10&lt;br /&gt;
	renderfx(choices) : &amp;quot;Render FX&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Normal&amp;quot;&lt;br /&gt;
		1: &amp;quot;Slow Pulse&amp;quot;&lt;br /&gt;
		2: &amp;quot;Fast Pulse&amp;quot;&lt;br /&gt;
		3: &amp;quot;Slow Wide Pulse&amp;quot;&lt;br /&gt;
		4: &amp;quot;Fast Wide Pulse&amp;quot;&lt;br /&gt;
		9: &amp;quot;Slow Strobe&amp;quot;&lt;br /&gt;
		10: &amp;quot;Fast Strobe&amp;quot;&lt;br /&gt;
		11: &amp;quot;Faster Strobe&amp;quot;&lt;br /&gt;
		12: &amp;quot;Slow Flicker&amp;quot;&lt;br /&gt;
		13: &amp;quot;Fast Flicker&amp;quot;&lt;br /&gt;
		5: &amp;quot;Slow Fade Away&amp;quot;&lt;br /&gt;
		6: &amp;quot;Fast Fade Away&amp;quot;&lt;br /&gt;
		7: &amp;quot;Slow Become Solid&amp;quot;&lt;br /&gt;
		8: &amp;quot;Fast Become Solid&amp;quot;&lt;br /&gt;
		14: &amp;quot;Constant Glow&amp;quot;&lt;br /&gt;
		15: &amp;quot;Distort&amp;quot;&lt;br /&gt;
		16: &amp;quot;Hologram (Distort + fade)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	rendermode(choices) : &amp;quot;Render Mode&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Normal&amp;quot;&lt;br /&gt;
		1: &amp;quot;Color&amp;quot;&lt;br /&gt;
		2: &amp;quot;Texture&amp;quot;&lt;br /&gt;
		3: &amp;quot;Glow&amp;quot;&lt;br /&gt;
		4: &amp;quot;Solid&amp;quot;&lt;br /&gt;
		5: &amp;quot;Additive&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	renderamt(integer) : &amp;quot;FX Amount (1 - 255)&amp;quot;&lt;br /&gt;
	rendercolor(color255) : &amp;quot;FX Color (R G B)&amp;quot; : &amp;quot;0 0 0&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 -16, 16 16 16) studio() color(140 120 120)  = cycler_weapon : &amp;quot;Weapon Cycler&amp;quot;[]&lt;br /&gt;
&lt;br /&gt;
@PointClass sprite() base(Targetname, RenderFields, Angles) size(-4 -4 -4, 4 4 4) sprite() color(70 70 70) = cycler_wreckage : &amp;quot;Wreckage&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	framerate(string) : &amp;quot;Framerate&amp;quot; : &amp;quot;10.0&amp;quot;&lt;br /&gt;
	model(sprite) : &amp;quot;Sprite Name&amp;quot; : &amp;quot;sprites/fire.spr&amp;quot;&lt;br /&gt;
	scale(string) : &amp;quot;Scale&amp;quot; : &amp;quot;1&amp;quot;&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		32: &amp;quot;Toggle&amp;quot; : 0&lt;br /&gt;
		64: &amp;quot;Start ON&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass = BaseCustomEntity : &amp;quot;Custom entity base&amp;quot; // Use this baseclass for custom entities, since they all allow for script files to be defined&lt;br /&gt;
[&lt;br /&gt;
	m_iszScriptFile(string) : &amp;quot;Script file&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass base(Global, RenderFields, ZHLT) = BaseCharger : &amp;quot;Base Charger&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	// dmdelay(integer) : &amp;quot;Deathmatch recharge delay&amp;quot; : 0&lt;br /&gt;
	_minlight(string) : &amp;quot;Minimum light level&amp;quot;&lt;br /&gt;
	soundlist(string) : &amp;quot;Sound Replacement File&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	CustomJuice(integer) : &amp;quot;Custom Juice Amount&amp;quot; : 0&lt;br /&gt;
	CustomRechargeTime(integer) : &amp;quot;Custom Recharge Time&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
	TriggerOnEmpty(target_destination) : &amp;quot;Trigger On Empty&amp;quot;&lt;br /&gt;
	TriggerOnRecharged(target_destination) : &amp;quot;Trigger on Recharged&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	CustomDeniedSound(sound) : &amp;quot;Custom Denied Sound&amp;quot;&lt;br /&gt;
	CustomStartSound(sound) : &amp;quot;Custom Start Sound&amp;quot;&lt;br /&gt;
	CustomLoopSound(sound) : &amp;quot;Custom Loop Sound&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass = BeamStartEnd&lt;br /&gt;
[&lt;br /&gt;
	LightningStart(target_destination) : &amp;quot;Start Entity&amp;quot;&lt;br /&gt;
	LightningEnd(target_destination) : &amp;quot;Ending Entity&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, BeamStartEnd, RenderFxChoices) size(-12 -12 -12, 12 12 12) color(255 250 230) = env_beam : &amp;quot;Energy Beam Effect&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	renderamt(integer) : &amp;quot;Brightness (1 - 255)&amp;quot; : 100&lt;br /&gt;
	rendercolor(color255) : &amp;quot;Beam Color (R G B)&amp;quot; : &amp;quot;0 0 0&amp;quot;&lt;br /&gt;
	Radius(integer) : &amp;quot;Radius&amp;quot; : 256&lt;br /&gt;
	life(string) : &amp;quot;Life (seconds 0 = infinite)&amp;quot; : &amp;quot;1&amp;quot;&lt;br /&gt;
	BoltWidth(integer) : &amp;quot;Width of beam (pixels*0.1 0-255)&amp;quot; : 20&lt;br /&gt;
	NoiseAmplitude(integer) : &amp;quot;Amount of noise (0-255)&amp;quot; : 0&lt;br /&gt;
	texture(sprite) : &amp;quot;Sprite Name&amp;quot; : &amp;quot;sprites/laserbeam.spr&amp;quot;&lt;br /&gt;
	TextureScroll(integer) : &amp;quot;Texture Scroll Rate (0-100)&amp;quot; : 35&lt;br /&gt;
	framerate(integer) : &amp;quot;Frames per 10 seconds&amp;quot; : 0&lt;br /&gt;
	framestart(integer) : &amp;quot;Starting frame&amp;quot; : 0&lt;br /&gt;
	StrikeTime(string) : &amp;quot;Strike again time (secs)&amp;quot; : &amp;quot;1&amp;quot;&lt;br /&gt;
	damage(string) : &amp;quot;Damage / second&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Start On&amp;quot; : 0&lt;br /&gt;
		2 : &amp;quot;Toggle&amp;quot; : 0&lt;br /&gt;
		4 : &amp;quot;Random Strike&amp;quot; : 0&lt;br /&gt;
		8 : &amp;quot;Ring&amp;quot; : 0&lt;br /&gt;
		16: &amp;quot;StartSparks&amp;quot; : 0&lt;br /&gt;
		32: &amp;quot;EndSparks&amp;quot; : 0&lt;br /&gt;
		64: &amp;quot;Decal End&amp;quot; : 0&lt;br /&gt;
		128: &amp;quot;Shade Start&amp;quot; : 0&lt;br /&gt;
		256: &amp;quot;Shade End&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Angles) size(-4 -4 -4, 4 4 4) studio(&amp;quot;models/can.mdl&amp;quot;) color(128 64 2) = env_beverage : &amp;quot;Beverage Dispenser&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	health(integer) : &amp;quot;Capacity&amp;quot; : 10&lt;br /&gt;
	skin(choices) : &amp;quot;Beverage Type&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Coca-Cola&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Sprite&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Diet Coke&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Orange&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Surge&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Moxie&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Random&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	model(string) : &amp;quot;Custom Model&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	weapons(integer) : &amp;quot;Health for Pickup&amp;quot; : 1&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Angles) size(-8 -8 -8, 8 8 8) color(210 0 0) = env_blood : &amp;quot;Blood Effects&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	color(choices) : &amp;quot;Blood Color&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Red (Human)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yellow (Alien)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	amount(string) : &amp;quot;Amount of blood (damage to simulate)&amp;quot; : &amp;quot;100&amp;quot;&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Random Direction&amp;quot; : 0&lt;br /&gt;
		2: &amp;quot;Blood Stream&amp;quot; : 0&lt;br /&gt;
		4: &amp;quot;On Player&amp;quot; : 0&lt;br /&gt;
		8: &amp;quot;Spray decals&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Targetname, ZHLTbmodel) = env_bubbles : &amp;quot;Bubble Volume&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	density(integer) : &amp;quot;Bubble density&amp;quot; : 2&lt;br /&gt;
	frequency(integer) : &amp;quot;Bubble frequency&amp;quot; : 2&lt;br /&gt;
	current(integer) : &amp;quot;Speed of Current&amp;quot; : 0&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Start Off&amp;quot; 	: 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname) size(-12 -12 -12, 12 12 12) color(255 220 15) = env_explosion : &amp;quot;Explosion&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	iMagnitude(Integer) : &amp;quot;Magnitude&amp;quot; : 100&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;No Damage&amp;quot; : 0&lt;br /&gt;
		2: &amp;quot;Repeatable&amp;quot; : 0&lt;br /&gt;
		4: &amp;quot;No Fireball&amp;quot; : 0&lt;br /&gt;
		8: &amp;quot;No Smoke&amp;quot; : 0&lt;br /&gt;
		16: &amp;quot;No Decal&amp;quot; : 0&lt;br /&gt;
		32: &amp;quot;No Sparks&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname) color(100 150 100) = env_fade : &amp;quot;Screen Fade&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Fade From&amp;quot; : 0&lt;br /&gt;
		2: &amp;quot;Modulate&amp;quot; : 0&lt;br /&gt;
		4: &amp;quot;Activator Only&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	duration(string) : &amp;quot;Duration (seconds)&amp;quot; : &amp;quot;2&amp;quot;&lt;br /&gt;
	holdtime(string) : &amp;quot;Hold Fade (seconds)&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
	renderamt(integer) : &amp;quot;Fade Alpha&amp;quot; : 255&lt;br /&gt;
	rendercolor(color255) : &amp;quot;Fade Color (R G B)&amp;quot; : &amp;quot;0 0 0&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname) color(196 195 192) = env_fog : &amp;quot;Fog Field&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Start Off&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	rendercolor(color255) : &amp;quot;Fog Color (RGB)&amp;quot; : &amp;quot;0 0 0&amp;quot;&lt;br /&gt;
//	iuser1(integer) : &amp;quot;Fog Field Radius&amp;quot; : 8192&lt;br /&gt;
	iuser2(integer) : &amp;quot;Start Distance&amp;quot; : 128&lt;br /&gt;
	iuser3(integer) : &amp;quot;End Distance&amp;quot; : 1024&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname) size(-16 -16 -16, 16 16 16) color(128 255 32) = env_funnel : &amp;quot;Large Portal Funnel&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	sprite(sprite) : &amp;quot;Custom sprite&amp;quot;&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Reverse&amp;quot; : 0&lt;br /&gt;
		2 : &amp;quot;Reusable&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname) color(255 255 128) color(4 32 250) = env_global : &amp;quot;Global State&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	globalstate(string) : &amp;quot;Global State to Set&amp;quot;&lt;br /&gt;
	triggermode(choices) : &amp;quot;Trigger Mode&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Off&amp;quot;&lt;br /&gt;
		1 : &amp;quot;On&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Dead&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Toggle&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	initialstate(choices) : &amp;quot;Initial State&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Off&amp;quot;&lt;br /&gt;
		1 : &amp;quot;On&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Dead&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Set Initial State&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass sprite() base(Targetname, RenderFields) size(-4 -4 -4, 4 4 4) color(60 200 5) = env_glow : &amp;quot;Light Glow/Haze&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	model(sprite) : &amp;quot;Sprite Name&amp;quot; : &amp;quot;sprites/glow01.spr&amp;quot;&lt;br /&gt;
	scale(string) : &amp;quot;Scale&amp;quot; : &amp;quot;1&amp;quot;&lt;br /&gt;
	framestart(integer) : &amp;quot;Starting frame&amp;quot; : 0&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, RenderFxChoices, Angles) size(-8 -8 -8, 8 8 8) color(255 64 2) = env_laser : &amp;quot;Laser Beam Effect&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	LaserTarget(target_destination) : &amp;quot;Target of Laser&amp;quot;&lt;br /&gt;
	renderamt(integer) : &amp;quot;Brightness (1 - 255)&amp;quot; : 100&lt;br /&gt;
	rendercolor(color255) : &amp;quot;Beam Color (R G B)&amp;quot; : &amp;quot;0 0 0&amp;quot;&lt;br /&gt;
	width(integer) : &amp;quot;Width of beam (pixels*0.1 0-255)&amp;quot; : 20&lt;br /&gt;
	NoiseAmplitude(integer) : &amp;quot;Amount of noise (0-255)&amp;quot; : 0&lt;br /&gt;
	texture(sprite) : &amp;quot;Sprite Name&amp;quot; : &amp;quot;sprites/laserbeam.spr&amp;quot;&lt;br /&gt;
	EndSprite(sprite) : &amp;quot;End Sprite&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	TextureScroll(integer) : &amp;quot;Texture Scroll Rate (0-100)&amp;quot; : 35&lt;br /&gt;
	framestart(integer) : &amp;quot;Starting frame&amp;quot; : 0&lt;br /&gt;
	damage(string) : &amp;quot;Damage / second&amp;quot; : &amp;quot;100&amp;quot;&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Start On&amp;quot; : 0&lt;br /&gt;
		16: &amp;quot;StartSparks&amp;quot; : 0&lt;br /&gt;
		32: &amp;quot;EndSparks&amp;quot; : 0&lt;br /&gt;
		64: &amp;quot;Decal End&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Target) color(255 0 255) = env_message : &amp;quot;HUD Text Message&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	message(string) : &amp;quot;Message Name&amp;quot;&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Play Once&amp;quot; : 0&lt;br /&gt;
		2: &amp;quot;All Clients&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	messagesound(sound) : &amp;quot;Sound Effect&amp;quot;&lt;br /&gt;
	messagevolume(string) : &amp;quot;Volume 0-10&amp;quot; : &amp;quot;10&amp;quot;&lt;br /&gt;
	messageattenuation(Choices) : &amp;quot;Sound Radius&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Small Radius (~384)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Medium Radius (~768)&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Large Radius (~1536)&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Play Everywhere&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Target, RenderFields) color(110 120 0) = env_render : &amp;quot;Render Controls&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;No Renderfx&amp;quot; : 0&lt;br /&gt;
		2: &amp;quot;No Renderamt&amp;quot; : 0&lt;br /&gt;
		4: &amp;quot;No Rendermode&amp;quot; : 0&lt;br /&gt;
		8: &amp;quot;No Rendercolor&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
		// Automatically change rendermode, do it by searching&lt;br /&gt;
		16: &amp;quot;Auto Apply&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
	]&lt;br /&gt;
	armorvalue(string): &amp;quot;radius (0 disables)&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, RenderFields) = env_render_individual : &amp;quot;Per-player render settings for entities&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;No Renderfx&amp;quot; : 0&lt;br /&gt;
		2: &amp;quot;No Renderamt&amp;quot; : 0&lt;br /&gt;
		4: &amp;quot;No Rendermode&amp;quot; : 0&lt;br /&gt;
		8: &amp;quot;No Rendercolor&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
		16: &amp;quot;Auto Apply&amp;quot; : 0&lt;br /&gt;
		32: &amp;quot;Start On&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
		64 : &amp;quot;Affect Activator (ignore netname)&amp;quot; : 0&lt;br /&gt;
		128 : &amp;quot;Use Entity to copy from&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	target(string) : &amp;quot;Entity to affect&amp;quot;&lt;br /&gt;
	netname(string) : &amp;quot;Player to affect&amp;quot;&lt;br /&gt;
	message(string) : &amp;quot;Entity to copy from&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Target, Targetname) size(-16 -16 -16, 16 16 16) iconsprite(&amp;quot;sprites/vhe-iconsprites/env_sentence.spr&amp;quot;) color(164 128 164) = env_sentence : &amp;quot;Announcement Sentence&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Activator Only&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	_text(string) : &amp;quot;Sentence&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname) color(188 180 172) = env_shake : &amp;quot;Screen Shake&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Global Shake&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	amplitude(string) : &amp;quot;Amplitude (degrees; 0-16)&amp;quot; : &amp;quot;4.0&amp;quot;&lt;br /&gt;
	radius(string) : &amp;quot;Effect radius (if not global)&amp;quot; : &amp;quot;500&amp;quot;&lt;br /&gt;
	duration(string) : &amp;quot;Duration (seconds; fades out)&amp;quot; : &amp;quot;1.0&amp;quot;&lt;br /&gt;
	frequency(string) : &amp;quot;Frequency (Hz; 0-255)&amp;quot; : &amp;quot;2.5&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(GibShooterBase, RenderFields) color(184 90 164) = env_shooter : &amp;quot;Model Shooter&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	shootmodel(studio) : &amp;quot;Model or Sprite name&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	shootsounds(choices) : &amp;quot;Material Sound&amp;quot; : -1 =&lt;br /&gt;
	[&lt;br /&gt;
		-1: &amp;quot;None&amp;quot;&lt;br /&gt;
		0: &amp;quot;Glass&amp;quot;&lt;br /&gt;
		1: &amp;quot;Wood&amp;quot;&lt;br /&gt;
		2: &amp;quot;Metal&amp;quot;&lt;br /&gt;
		3: &amp;quot;Flesh&amp;quot;&lt;br /&gt;
		4: &amp;quot;Concrete&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	scale(string) : &amp;quot;Gib Scale&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	skin(integer) : &amp;quot;Gib Skin&amp;quot; : 0&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname) iconsprite(&amp;quot;sprites/vhe-iconsprites/env_sound.spr&amp;quot;) color(150 150 150) = env_sound : &amp;quot;DSP Sound&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;USE Only&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	radius(integer) : &amp;quot;Radius&amp;quot; : 128&lt;br /&gt;
	roomtype(Choices) : &amp;quot;Room Type&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Normal (off)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Generic&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		2 : &amp;quot;Metal Small&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Metal Medium&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Metal Large&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		5 : &amp;quot;Tunnel Small&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Tunnel Medium&amp;quot;&lt;br /&gt;
		7 : &amp;quot;Tunnel Large&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		8 : &amp;quot;Chamber Small&amp;quot;&lt;br /&gt;
		9 : &amp;quot;Chamber Medium&amp;quot;&lt;br /&gt;
		10: &amp;quot;Chamber Large&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		11: &amp;quot;Bright Small&amp;quot;&lt;br /&gt;
		12: &amp;quot;Bright Medium&amp;quot;&lt;br /&gt;
		13: &amp;quot;Bright Large&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		14: &amp;quot;Water Small&amp;quot;&lt;br /&gt;
		15: &amp;quot;Water Medium&amp;quot;&lt;br /&gt;
		16: &amp;quot;Water Large&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		17: &amp;quot;Concrete Small&amp;quot;&lt;br /&gt;
		18: &amp;quot;Concrete Medium&amp;quot;&lt;br /&gt;
		19: &amp;quot;Concrete Large&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		20: &amp;quot;Big Room&amp;quot;&lt;br /&gt;
		21: &amp;quot;Bigger Room&amp;quot;&lt;br /&gt;
		22: &amp;quot;Biggest Room&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		23: &amp;quot;Cavern Small&amp;quot;&lt;br /&gt;
		24: &amp;quot;Cavern Medium&amp;quot;&lt;br /&gt;
		25: &amp;quot;Cavern Large&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		26: &amp;quot;Weirdo - Drugged&amp;quot;&lt;br /&gt;
		27: &amp;quot;Weirdo - Dizzy&amp;quot;&lt;br /&gt;
		28: &amp;quot;Weirdo - Psychotic&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Angles) size(-8 -8 -8, 8 8 8) color(255 220 15) = env_spark : &amp;quot;Spark&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	MaxDelay(string) : &amp;quot;Max Delay&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		32: &amp;quot;Toggle&amp;quot; : 0&lt;br /&gt;
		64: &amp;quot;Start ON&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass sprite() base(Targetname, RenderFields, Angles) size(-4 -4 -4, 4 4 4) color(190 200 180) = env_sprite : &amp;quot;Sprite Effect&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	framerate(string) : &amp;quot;Framerate&amp;quot; : &amp;quot;10.0&amp;quot;&lt;br /&gt;
	framestart(integer) : &amp;quot;Starting frame&amp;quot; : 0&lt;br /&gt;
	model(sprite) : &amp;quot;Sprite Name&amp;quot; : &amp;quot;sprites/glow01.spr&amp;quot;&lt;br /&gt;
	scale(string) : &amp;quot;Scale&amp;quot; : &amp;quot;1&amp;quot;&lt;br /&gt;
	vp_type(choices) : &amp;quot;Draw Type / Orientation&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Default&amp;quot;&lt;br /&gt;
		// These reflect the VP_ types in the sprite but are +1&#039;d, so 0 can mean default&lt;br /&gt;
		3: &amp;quot;Parallel&amp;quot;&lt;br /&gt;
		1: &amp;quot;Parallel Upright&amp;quot;&lt;br /&gt;
		5: &amp;quot;Parallel Orientated&amp;quot;&lt;br /&gt;
		2: &amp;quot;Facing Upright&amp;quot;&lt;br /&gt;
		4: &amp;quot;Orientated&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Start on&amp;quot; : 0&lt;br /&gt;
		2: &amp;quot;Play Once&amp;quot; : 0&lt;br /&gt;
		4: &amp;quot;Once + Remove&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass base(Targetname, Global, RenderFields, PlatSounds) = BaseTrain&lt;br /&gt;
[&lt;br /&gt;
	target(target_source) : &amp;quot;First stop target&amp;quot;&lt;br /&gt;
	speed(integer) : &amp;quot;Speed (units per second)&amp;quot; : 64&lt;br /&gt;
	m_iObeyTriggerMode(choices) : &amp;quot;Obey Trigger Mode&amp;quot; : 1 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(BaseTrain) color(190 200 180) = env_spritetrain : &amp;quot;Sprite Train&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	model(sprite) : &amp;quot;Sprite Name&amp;quot; : &amp;quot;sprites/glow01.spr&amp;quot;&lt;br /&gt;
	scale(string) : &amp;quot;Sprite Scale&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Targetname, RenderFields, Angles, ZHLTbmodel) = env_weather : &amp;quot;Weather Effect&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Start On&amp;quot; : 1&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	drop_model(string) : &amp;quot;Sprite (or Model) name&amp;quot;&lt;br /&gt;
	drop_scale(string) : &amp;quot;Sprite Scale&amp;quot; : &amp;quot;1&amp;quot;&lt;br /&gt;
	drop_vp_type(choices) : &amp;quot;Sprite Draw Type / Orientation&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Default&amp;quot;&lt;br /&gt;
		// These reflect the VP_ types in the sprite but are +1&#039;d, so 0 can mean default&lt;br /&gt;
		3: &amp;quot;Parallel&amp;quot;&lt;br /&gt;
		1: &amp;quot;Parallel Upright&amp;quot;&lt;br /&gt;
		5: &amp;quot;Parallel Orientated&amp;quot;&lt;br /&gt;
		2: &amp;quot;Facing Upright&amp;quot;&lt;br /&gt;
		4: &amp;quot;Orientated&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	splash_model(string) : &amp;quot;Splash Sprite (or Model) name&amp;quot;&lt;br /&gt;
	splash_scale(string) : &amp;quot;Splash Sprite Scale&amp;quot; : &amp;quot;1&amp;quot;&lt;br /&gt;
	splash_vp_type(choices) : &amp;quot;Splash Sprite Draw Type / Orientation&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Default&amp;quot;&lt;br /&gt;
		// These reflect the VP_ types in the sprite but are +1&#039;d, so 0 can mean default&lt;br /&gt;
		3: &amp;quot;Parallel&amp;quot;&lt;br /&gt;
		1: &amp;quot;Parallel Upright&amp;quot;&lt;br /&gt;
		5: &amp;quot;Parallel Orientated&amp;quot;&lt;br /&gt;
		2: &amp;quot;Facing Upright&amp;quot;&lt;br /&gt;
		4: &amp;quot;Orientated&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	speed(integer) : &amp;quot;Speed&amp;quot; : 50&lt;br /&gt;
	density(integer) : &amp;quot;Density&amp;quot; : 30&lt;br /&gt;
	angle_variance(integer) : &amp;quot;Angle Variance&amp;quot; : 10&lt;br /&gt;
	speed_variance(integer) : &amp;quot;Speed Variance&amp;quot; : 10&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Target, Angles) size(-16 -16 -16, 16 16 56) color(80 220 110) = env_xenmaker : &amp;quot;Xen Portal&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Try Once&amp;quot; : 0&lt;br /&gt;
		2: &amp;quot;No Spawn&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	monstertype(string) : &amp;quot;Monster Type&amp;quot; : &amp;quot;monster_headcrab&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	m_flBeamRadius(integer)			: &amp;quot;Beam Radius (max)&amp;quot;	: 255&lt;br /&gt;
	m_iBeamAlpha(integer)			: &amp;quot;Beam Alpha&amp;quot;		: 128&lt;br /&gt;
	m_iBeamCount(integer)			: &amp;quot;Beam Count&amp;quot;		: 8&lt;br /&gt;
	m_vBeamColor(color255)			: &amp;quot;Beam Color&amp;quot;		: &amp;quot;217 226 146&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	m_flLightRadius(integer)		: &amp;quot;Light Radius&amp;quot;	: 160&lt;br /&gt;
	m_vLightColor(color255)			: &amp;quot;Light Color&amp;quot;		: &amp;quot;39 209 137&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	m_flStartSpriteFramerate(integer)	: &amp;quot;Sprite1 Framerate&amp;quot;	: 12&lt;br /&gt;
	m_flStartSpriteScale(string)		: &amp;quot;Sprite1 Scale&amp;quot; 	: &amp;quot;1.0&amp;quot;&lt;br /&gt;
	m_iStartSpriteAlpha(integer)		: &amp;quot;Sprite1 Alpha&amp;quot; 	: 255&lt;br /&gt;
	m_vStartSpriteColor(color255)		: &amp;quot;Sprite1 Color&amp;quot; 	: &amp;quot;65 209 61&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	m_flEndSpriteFramerate(integer)		: &amp;quot;Sprite2 Framerate&amp;quot;	: 12&lt;br /&gt;
	m_flEndSpriteScale(string)		: &amp;quot;Sprite2 Scale&amp;quot; 	: &amp;quot;1.0&amp;quot;&lt;br /&gt;
	m_iEndSpriteAlpha(integer)		: &amp;quot;Sprite2 Alpha&amp;quot; 	: 255&lt;br /&gt;
	m_vEndSpriteColor(color255)		: &amp;quot;Sprite2 Color&amp;quot; 	: &amp;quot;159 240 214&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Breakable) = func_breakable : &amp;quot;Breakable Object&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Only Trigger&amp;quot;		: 0&lt;br /&gt;
		2 : &amp;quot;Touch&amp;quot;				: 0&lt;br /&gt;
		4 : &amp;quot;Pressure&amp;quot;			: 0&lt;br /&gt;
		8: &amp;quot;Repairable&amp;quot;			: 0&lt;br /&gt;
		32: &amp;quot;Show HUD Info&amp;quot;		: 0&lt;br /&gt;
		64: &amp;quot;Immune To Clients&amp;quot;	: 0&lt;br /&gt;
		256: &amp;quot;Instant Break&amp;quot;	: 0&lt;br /&gt;
		512: &amp;quot;Explosives Only&amp;quot;	: 0&lt;br /&gt;
	]&lt;br /&gt;
	displayname(string) : &amp;quot;HUD Info name&amp;quot;&lt;br /&gt;
	_minlight(string) : &amp;quot;Minimum light level&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Global, Targetname, Targetx, InventoryRules, AttackObject, RenderFields, Angles, ZHLT, BaseLockable) = func_button : &amp;quot;Button&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	speed(integer) : &amp;quot;Speed&amp;quot; : 5&lt;br /&gt;
	health(integer) : &amp;quot;Health (shootable if &amp;gt; 0)&amp;quot; : 0&lt;br /&gt;
	lip(integer) : &amp;quot;Lip&amp;quot;&lt;br /&gt;
	master(string) : &amp;quot;Master&amp;quot;&lt;br /&gt;
	sounds(choices) : &amp;quot;Sounds&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;None&amp;quot;&lt;br /&gt;
		1: &amp;quot;Big zap &amp;amp; Warmup&amp;quot;&lt;br /&gt;
		2: &amp;quot;Access Denied&amp;quot;&lt;br /&gt;
		3: &amp;quot;Access Granted&amp;quot;&lt;br /&gt;
		4: &amp;quot;Quick Combolock&amp;quot;&lt;br /&gt;
		5: &amp;quot;Power Deadbolt 1&amp;quot;&lt;br /&gt;
		6: &amp;quot;Power Deadbolt 2&amp;quot;&lt;br /&gt;
		7: &amp;quot;Plunger&amp;quot;&lt;br /&gt;
		8: &amp;quot;Small zap&amp;quot;&lt;br /&gt;
		9: &amp;quot;Keycard Sound&amp;quot;&lt;br /&gt;
		10: &amp;quot;Buzz&amp;quot;&lt;br /&gt;
		11: &amp;quot;Buzz Off&amp;quot;&lt;br /&gt;
		14: &amp;quot;Lightswitch&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	noise(sound) : &amp;quot;Sound Override&amp;quot;&lt;br /&gt;
	wait(integer) : &amp;quot;delay before reset (-1 stay)&amp;quot; : 3&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Don&#039;t move&amp;quot; : 0&lt;br /&gt;
		32: &amp;quot;Toggle&amp;quot; : 0&lt;br /&gt;
		64: &amp;quot;Sparks&amp;quot; : 0&lt;br /&gt;
		256: &amp;quot;Touch Activates&amp;quot;: 0&lt;br /&gt;
	]&lt;br /&gt;
	_minlight(string) : &amp;quot;Minimum light level&amp;quot;&lt;br /&gt;
	use_type(choices) : &amp;quot;Use Type&amp;quot; : 3 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Off&amp;quot;&lt;br /&gt;
		1: &amp;quot;On&amp;quot;&lt;br /&gt;
		2: &amp;quot;Set&amp;quot;&lt;br /&gt;
		3: &amp;quot;Toggle&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Targetname, Angles, ZHLTbmodel) = func_clip : &amp;quot;Clip&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Start Off&amp;quot; : 1&lt;br /&gt;
		2 : &amp;quot;Directional (Angles)&amp;quot; : 0&lt;br /&gt;
		4 : &amp;quot;No Clients&amp;quot; : 0&lt;br /&gt;
		8 : &amp;quot;Monsters&amp;quot; : 0&lt;br /&gt;
		16 : &amp;quot;Pushables&amp;quot; : 0&lt;br /&gt;
		32 : &amp;quot;Everything else&amp;quot; : 0&lt;br /&gt;
		64 : &amp;quot;item_inv (thrown)&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	frags(String) : &amp;quot;Direction Tolerance&amp;quot; : &amp;quot;90&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Global, RenderFields, Targetname, Angles, ZHLT) = func_conveyor : &amp;quot;Conveyor Belt&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;No Push&amp;quot; : 0&lt;br /&gt;
		2 : &amp;quot;Not Solid&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	speed(string) : &amp;quot;Conveyor Speed&amp;quot; : &amp;quot;100&amp;quot;&lt;br /&gt;
	_minlight(string) : &amp;quot;Minimum light level&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass = func_detail : &amp;quot;Detail Brushes&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	zhlt_detaillevel(integer) : &amp;quot;Detail level&amp;quot; : 1&lt;br /&gt;
	zhlt_chopdown(integer) : &amp;quot;Lower its level to chop others&amp;quot; : 0&lt;br /&gt;
	zhlt_chopup(integer) : &amp;quot;Raise its level to get chopped&amp;quot; : 0&lt;br /&gt;
	zhlt_coplanarpriority(integer) : &amp;quot;Priority when faces overlap&amp;quot; : 0&lt;br /&gt;
	zhlt_clipnodedetaillevel(integer) : &amp;quot;Detail level of clip hulls&amp;quot; : 1&lt;br /&gt;
	zhlt_noclip(choices) : &amp;quot;Disable clipping&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Default&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Always non-solid&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Door) = func_door : &amp;quot;Basic door&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Door) = func_door_rotating : &amp;quot;Rotating door&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		2 : &amp;quot;Reverse Dir&amp;quot; : 0&lt;br /&gt;
		16: &amp;quot;One-way&amp;quot; : 0&lt;br /&gt;
		64: &amp;quot;X Axis&amp;quot; : 0&lt;br /&gt;
		128: &amp;quot;Y Axis&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	distance(integer) : &amp;quot;Distance (deg)&amp;quot; : 90&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Appearflags, RenderFields, ZHLT) = func_friction : &amp;quot;Surface with a change in friction&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	modifier(integer) : &amp;quot;Percentage of standard (0 - 100)&amp;quot; : 15&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass = func_group : &amp;quot;Non-entity solid brush group&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	zhlt_coplanarpriority(integer) : &amp;quot;Priority when faces overlap&amp;quot; : 0&lt;br /&gt;
	zhlt_noclip(choices) : &amp;quot;Disable clipping&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Default&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Always non-solid&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Targetname, RenderFields, AttackObject, Global, ZHLT) = func_guntarget : &amp;quot;Moving platform&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Start On&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	speed(integer) : &amp;quot;Speed (units per second)&amp;quot; : 100&lt;br /&gt;
	target(target_source) : &amp;quot;First stop target&amp;quot;&lt;br /&gt;
	message(target_source) : &amp;quot;Fire on damage&amp;quot;&lt;br /&gt;
	health(integer) : &amp;quot;Damage to Take&amp;quot; : 0&lt;br /&gt;
	_minlight(string) : &amp;quot;Minimum light level&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(BaseCharger) = func_healthcharger: &amp;quot;Wall health recharger&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Targetname, RenderFields, ZHLT) = func_illusionary : &amp;quot;Fake Wall/Light&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	style(choices) : &amp;quot;Texlight style&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Normal&amp;quot;&lt;br /&gt;
		-3: &amp;quot;Grouped&amp;quot;&lt;br /&gt;
		10: &amp;quot;Fluorescent flicker&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Slow, strong pulse&amp;quot;&lt;br /&gt;
		11: &amp;quot;Slow pulse, noblack&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Gentle pulse&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Flicker A&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Flicker B&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Candle A&amp;quot;&lt;br /&gt;
		7 : &amp;quot;Candle B&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Candle C&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Fast strobe&amp;quot;&lt;br /&gt;
		9 : &amp;quot;Slow strobe&amp;quot;&lt;br /&gt;
		12: &amp;quot;Underwater&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	skin(choices) : &amp;quot;Contents&amp;quot; : -1 =&lt;br /&gt;
	[&lt;br /&gt;
		-1: &amp;quot;Empty&amp;quot;&lt;br /&gt;
		-7: &amp;quot;Volumetric Light&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		2 : &amp;quot;Use Angles&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	_minlight(string) : &amp;quot;Minimum light level&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Targetname, ZHLTbmodel) = func_ladder : &amp;quot;Ladder&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
  spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Start Off&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(PortalBase) = func_mirror : &amp;quot;Mirror&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(PortalBase) = func_monitor : &amp;quot;Monitor&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	width(integer) : &amp;quot;Width (Resolution)&amp;quot; : 512&lt;br /&gt;
	height(integer) : &amp;quot;Height (Resolution)&amp;quot; : 512&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Targetname, ZHLTbmodel) = func_monsterclip : &amp;quot;Monster clip brush&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Start Off&amp;quot; : 1&lt;br /&gt;
		2 : &amp;quot;Directional (Angles)&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	frags(String) : &amp;quot;Direction Tolerance&amp;quot; : &amp;quot;90&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Targetname, ZHLTbmodel) = func_mortar_field : &amp;quot;Mortar Field&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	m_flSpread(integer) : &amp;quot;Spread Radius&amp;quot; : 64&lt;br /&gt;
	m_iCount(integer) : &amp;quot;Repeat Count&amp;quot; : 1&lt;br /&gt;
	m_fControl(Choices) : &amp;quot;Targeting&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Random&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Activator&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Table&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	m_iszXController(target_destination) : &amp;quot;X Controller&amp;quot;&lt;br /&gt;
	m_iszYController(target_destination) : &amp;quot;Y Controller&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Target, ZHLTbmodel) = func_op4mortarcontroller : &amp;quot;Op4 Mortar Controller&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	mortar_axis(Choices) : &amp;quot;Axis&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Vertical&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Horizontal&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Global, Appearflags, Targetname, RenderFields, Angles, ZHLT) = func_pendulum : &amp;quot;Swings back and forth&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	speed(integer) : &amp;quot;Speed&amp;quot; : 100&lt;br /&gt;
	distance(integer) : &amp;quot;Distance (deg)&amp;quot; : 90&lt;br /&gt;
	damp(integer) : &amp;quot;Damping (0-1000)&amp;quot; : 0&lt;br /&gt;
	dmg(integer) : &amp;quot;Damage inflicted when blocked&amp;quot; : 0&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Start ON&amp;quot; : 0&lt;br /&gt;
		8: &amp;quot;Passable&amp;quot; : 0&lt;br /&gt;
		16: &amp;quot;Auto-return&amp;quot; : 0&lt;br /&gt;
		64: &amp;quot;X Axis&amp;quot; : 0&lt;br /&gt;
		128: &amp;quot;Y Axis&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	_minlight(integer) : &amp;quot;_minlight&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Targetname, Global, RenderFields, PlatSounds, BasePlat, ZHLT) = func_plat : &amp;quot;Elevator&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Toggle&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	height(integer) : &amp;quot;Travel altitude (can be negative)&amp;quot; : 0&lt;br /&gt;
	speed(integer) : &amp;quot;Speed&amp;quot; : 50&lt;br /&gt;
	_minlight(string) : &amp;quot;Minimum light level&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Targetname, Global, RenderFields, PlatSounds, BasePlat, Angles, ZHLT) = func_platrot : &amp;quot;Moving Rotating platform&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Toggle&amp;quot; : 1&lt;br /&gt;
		64: &amp;quot;X Axis&amp;quot; : 0&lt;br /&gt;
		128: &amp;quot;Y Axis&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	speed(integer) : &amp;quot;Speed of rotation&amp;quot; : 50&lt;br /&gt;
	height(integer) : &amp;quot;Travel altitude (can be negative)&amp;quot; : 0&lt;br /&gt;
	rotation(integer) : &amp;quot;Spin amount&amp;quot; : 0&lt;br /&gt;
	_minlight(string) : &amp;quot;Minimum light level&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(PortalBase) = func_portal : &amp;quot;Portal&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		4: &amp;quot;Teleport&amp;quot;		: 0&lt;br /&gt;
		8: &amp;quot;No GL ClipPlanes&amp;quot;: 0&lt;br /&gt;
		32: &amp;quot;Shoot through&amp;quot;: 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Breakable, RenderFields, ZHLT) = func_pushable : &amp;quot;Pushable object&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		8: &amp;quot;Repairable&amp;quot;			: 0&lt;br /&gt;
		16: &amp;quot;Monsters Ignore?&amp;quot;		: 0&lt;br /&gt;
		32: &amp;quot;Show HUD Info&amp;quot;		: 0&lt;br /&gt;
		128: &amp;quot;Breakable&amp;quot;		: 0&lt;br /&gt;
		256: &amp;quot;1-Hit Break&amp;quot;		: 0&lt;br /&gt;
		512: &amp;quot;Explosives Only&amp;quot;		: 0&lt;br /&gt;
		1024: &amp;quot;Liftable&amp;quot;		: 1&lt;br /&gt;
	]&lt;br /&gt;
	minhullsize(string) : &amp;quot;Custom Min Hull Size (X Y Z)&amp;quot; : &amp;quot;0 0 0&amp;quot;&lt;br /&gt;
	maxhullsize(string) : &amp;quot;Custom Max Hull Size (X Y Z)&amp;quot; : &amp;quot;0 0 0&amp;quot;&lt;br /&gt;
	friction(integer) : &amp;quot;Friction (0-400)&amp;quot; : 50&lt;br /&gt;
	buoyancy(integer) : &amp;quot;Buoyancy&amp;quot; : 20&lt;br /&gt;
	displayname(string) : &amp;quot;HUD Info name&amp;quot;&lt;br /&gt;
	_minlight(string) : &amp;quot;Minimum light level&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(BaseCharger) = func_recharge: &amp;quot;Battery recharger&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Targetname, Target, Global, InventoryRules, RenderFields, Angles, ZHLT, BaseLockable) = func_rot_button : &amp;quot;RotatingButton&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	// changetarget will change the button&#039;s target&#039;s TARGET field to the button&#039;s changetarget.&lt;br /&gt;
	changetarget(target_destination) : &amp;quot;ChangeTarget Name&amp;quot;&lt;br /&gt;
	master(string) : &amp;quot;Master&amp;quot;&lt;br /&gt;
	speed(integer) : &amp;quot;Speed&amp;quot; : 50&lt;br /&gt;
	health(integer) : &amp;quot;Health (shootable if &amp;gt; 0)&amp;quot;&lt;br /&gt;
	sounds(choices) : &amp;quot;Sounds&amp;quot; : 21 =&lt;br /&gt;
	[&lt;br /&gt;
		21: &amp;quot;Squeaky&amp;quot;&lt;br /&gt;
		22: &amp;quot;Squeaky Pneumatic&amp;quot;&lt;br /&gt;
		23: &amp;quot;Ratchet Groan&amp;quot;&lt;br /&gt;
		24: &amp;quot;Clean Ratchet&amp;quot;&lt;br /&gt;
		25: &amp;quot;Gas Clunk&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	noise(sound) : &amp;quot;Sound Override&amp;quot;&lt;br /&gt;
	wait(choices) : &amp;quot;Delay before reset&amp;quot; : 3 =&lt;br /&gt;
	[&lt;br /&gt;
		-1: &amp;quot;Stays pressed&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	delay(string) : &amp;quot;Delay before trigger&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
	distance(integer) : &amp;quot;Distance (deg)&amp;quot; : 90&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Not solid&amp;quot; : 0&lt;br /&gt;
		2 : &amp;quot;Reverse Dir&amp;quot; : 0&lt;br /&gt;
		32: &amp;quot;Toggle&amp;quot; : 0&lt;br /&gt;
		64: &amp;quot;X Axis&amp;quot; : 0&lt;br /&gt;
		128: &amp;quot;Y Axis&amp;quot; : 0&lt;br /&gt;
		256: &amp;quot;Touch Activates&amp;quot;: 0&lt;br /&gt;
	]&lt;br /&gt;
	_minlight(integer) : &amp;quot;_minlight&amp;quot;&lt;br /&gt;
	use_type(choices) : &amp;quot;Use Type&amp;quot; : 3 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Off&amp;quot;&lt;br /&gt;
		1: &amp;quot;On&amp;quot;&lt;br /&gt;
		2: &amp;quot;Set&amp;quot;&lt;br /&gt;
		3: &amp;quot;Toggle&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Targetname, Global, RenderFields, Angles, ZHLT) = func_rotating : &amp;quot;Rotating Object&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	speed(integer)	: &amp;quot;Rotation Speed&amp;quot; : 0&lt;br /&gt;
	volume(integer) : &amp;quot;Volume (10 = loudest)&amp;quot; : 10&lt;br /&gt;
	fanfriction(integer) : &amp;quot;Friction (0 - 100%)&amp;quot; : 20&lt;br /&gt;
	sounds(choices) : &amp;quot;Fan Sounds&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No Sound&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Fast Whine&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Slow Rush&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Medium Rickety&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Fast Beating&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Slow Smooth&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	message(sound) : &amp;quot;WAV Name&amp;quot;&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Start ON&amp;quot; : 0&lt;br /&gt;
		2 : &amp;quot;Reverse Direction&amp;quot; : 0&lt;br /&gt;
		4 : &amp;quot;X Axis&amp;quot; : 0&lt;br /&gt;
		8 : &amp;quot;Y Axis&amp;quot; : 0&lt;br /&gt;
		16: &amp;quot;Acc/Dcc&amp;quot; : 0&lt;br /&gt;
		32: &amp;quot;Fan Pain&amp;quot; : 0&lt;br /&gt;
		64: &amp;quot;Not Solid&amp;quot; : 0&lt;br /&gt;
		128: &amp;quot;Small Radius (~384)&amp;quot; : 0&lt;br /&gt;
		256: &amp;quot;Medium Radius (~768)&amp;quot; : 0&lt;br /&gt;
		512: &amp;quot;Large Radius (~1536)&amp;quot; : 1&lt;br /&gt;
	]&lt;br /&gt;
	m_iObeyTriggerMode(choices) : &amp;quot;Obey Trigger Mode&amp;quot; : 1 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	_minlight(integer) : &amp;quot;_minlight&amp;quot;&lt;br /&gt;
	spawnorigin(string) : &amp;quot;X Y Z - Move here after lighting&amp;quot; : &amp;quot;0 0 0&amp;quot;&lt;br /&gt;
	dmg(integer) : &amp;quot;Damage inflicted when blocked&amp;quot; : 0&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(BaseTank, ZHLT) = func_tank : &amp;quot;Brush Gun Turret&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	bullet(choices) : &amp;quot;Bullets&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;None&amp;quot;&lt;br /&gt;
		1: &amp;quot;9mm&amp;quot;&lt;br /&gt;
		2: &amp;quot;MP5&amp;quot;&lt;br /&gt;
		3: &amp;quot;12mm&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(ZHLTbmodel, InventoryRules) = func_tankcontrols : &amp;quot;Tank controls&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	target(target_destination) : &amp;quot;Tank entity name&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(BaseTank, ZHLT) = func_tanklaser : &amp;quot;Brush Laser Turret&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	laserentity(target_source) : &amp;quot;env_laser Entity&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(BaseTank, ZHLT) = func_tankrocket : &amp;quot;Brush Rocket Turret&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(BaseTank, ZHLT) = func_tankmortar : &amp;quot;Brush Mortar Turret&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	iMagnitude(Integer) : &amp;quot;Explosion Magnitude&amp;quot; : 100&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Trackchange, ZHLT) = func_trackautochange : &amp;quot;Automatic track changing platform&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	_minlight(string) : &amp;quot;Minimum light level&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Trackchange, ZHLT) = func_trackchange : &amp;quot;Train track changing platform&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	_minlight(string) : &amp;quot;Minimum light level&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
//&amp;quot;Forward Only&amp;quot; flag added - prevents the train from moving backwards.&lt;br /&gt;
//This is an original half-life feature; it existed in the code base but apparently was left out of the FGD by mistake.&lt;br /&gt;
//&lt;br /&gt;
//&amp;quot;No YAW (Y-rot)&amp;quot; flag added - Similar to the  &amp;quot;No Pitch (X-rot)&amp;quot; flag, enabling this will force the train to skip updates of its facing angle as it moves.&lt;br /&gt;
@SolidClass base(Targetname, Angles, Global, RenderFields, AttackObject, ZHLT) = func_tracktrain : &amp;quot;Track Train&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;No Pitch (X-rot)&amp;quot; : 0&lt;br /&gt;
		2 : &amp;quot;No User Control&amp;quot; : 0&lt;br /&gt;
		4 : &amp;quot;Forward Only&amp;quot; : 0&lt;br /&gt;
		8 : &amp;quot;Passable&amp;quot; : 0&lt;br /&gt;
		16 : &amp;quot;No YAW (Y-rot)&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	target(target_destination) : &amp;quot;First stop target&amp;quot;&lt;br /&gt;
	sounds(choices) : &amp;quot;Sound&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;None&amp;quot;&lt;br /&gt;
		1: &amp;quot;Rail 1&amp;quot;&lt;br /&gt;
		2: &amp;quot;Rail 2&amp;quot;&lt;br /&gt;
		3: &amp;quot;Rail 3&amp;quot;&lt;br /&gt;
		4: &amp;quot;Rail 4&amp;quot;&lt;br /&gt;
		5: &amp;quot;Rail 6&amp;quot;&lt;br /&gt;
		6: &amp;quot;Rail 7&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	noise(sound) : &amp;quot;Move Sound Override&amp;quot;&lt;br /&gt;
	noise1(sound) : &amp;quot;Brake Sound Override&amp;quot;&lt;br /&gt;
	noise2(sound) : &amp;quot;Start Sound Override&amp;quot;&lt;br /&gt;
	wheels(integer) : &amp;quot;Distance between the wheels&amp;quot; : 50&lt;br /&gt;
	height(integer) : &amp;quot;Height above track&amp;quot; : 4&lt;br /&gt;
	startspeed(integer) : &amp;quot;Initial speed&amp;quot; : 0&lt;br /&gt;
	speed(integer) : &amp;quot;Speed (units per second)&amp;quot; : 64&lt;br /&gt;
	dmg(integer) : &amp;quot;Damage on crush&amp;quot; : 0&lt;br /&gt;
	volume(integer) : &amp;quot;Volume (10 = loudest)&amp;quot; : 10&lt;br /&gt;
	bank(string) : &amp;quot;Bank angle on turns&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
	_minlight(string) : &amp;quot;Minimum light level&amp;quot;&lt;br /&gt;
	soundlist(string) : &amp;quot;Sound Replacement File&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(ZHLTbmodel, InventoryRules) = func_traincontrols : &amp;quot;Train Controls&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	target(target_destination) : &amp;quot;Train Name&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(BaseTrain, AttackObject, ZHLT, StartStopable) = func_train : &amp;quot;Moving platform&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	avelocity(string) : &amp;quot;Angular Velocity (X Y Z)&amp;quot;&lt;br /&gt;
	dmg(integer) : &amp;quot;Damage on crush&amp;quot; : 0&lt;br /&gt;
	skin(integer) : &amp;quot;Contents&amp;quot; : 0&lt;br /&gt;
	_minlight(string) : &amp;quot;Minimum light level&amp;quot;&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		8 : &amp;quot;Not solid&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Targetname, Angles, Appearflags, RenderFields, Global, ZHLT) = func_wall : &amp;quot;Wall&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	_minlight(string) : &amp;quot;Minimum light level&amp;quot;&lt;br /&gt;
	style(choices) : &amp;quot;Texlight style&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Normal&amp;quot;&lt;br /&gt;
		-3: &amp;quot;Grouped&amp;quot;&lt;br /&gt;
		10: &amp;quot;Fluorescent flicker&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Slow, strong pulse&amp;quot;&lt;br /&gt;
		11: &amp;quot;Slow pulse, noblack&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Gentle pulse&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Flicker A&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Flicker B&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Candle A&amp;quot;&lt;br /&gt;
		7 : &amp;quot;Candle B&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Candle C&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Fast strobe&amp;quot;&lt;br /&gt;
		9 : &amp;quot;Slow strobe&amp;quot;&lt;br /&gt;
		12: &amp;quot;Underwater&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		2 : &amp;quot;Use Angles&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(func_wall) = func_wall_toggle : &amp;quot;Toggleable geometry&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Starts Invisible&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Door, ZHLT) = func_water : &amp;quot;Liquid&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Starts Open&amp;quot; : 0&lt;br /&gt;
		256: &amp;quot;USE Only&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	skin(choices) : &amp;quot;Contents&amp;quot; : -3 =&lt;br /&gt;
	[&lt;br /&gt;
		-3: &amp;quot;Water&amp;quot;&lt;br /&gt;
		-4: &amp;quot;Slime&amp;quot;&lt;br /&gt;
		-5: &amp;quot;Lava&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		-9: &amp;quot;CURRENT_0&amp;quot;&lt;br /&gt;
		-10: &amp;quot;CURRENT_90&amp;quot;&lt;br /&gt;
		-11: &amp;quot;CURRENT_180&amp;quot;&lt;br /&gt;
		-12: &amp;quot;CURRENT_270&amp;quot;&lt;br /&gt;
		-13: &amp;quot;CURRENT_UP&amp;quot;&lt;br /&gt;
		-14: &amp;quot;CURRENT_DOWN&amp;quot;&lt;br /&gt;
		-15: &amp;quot;TRANSLUCENT&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	]&lt;br /&gt;
	WaveHeight(string) : &amp;quot;Wave Height&amp;quot; : &amp;quot;3.2&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Targetx) color(238 240 238) = game_counter : &amp;quot;Fires when it hits limit&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Remove On fire&amp;quot; : 0&lt;br /&gt;
		2: &amp;quot;Reset On fire&amp;quot; : 1&lt;br /&gt;
		4: &amp;quot;Fire if over limit&amp;quot;: 1&lt;br /&gt;
	]&lt;br /&gt;
	master(string) : &amp;quot;Master&amp;quot;&lt;br /&gt;
	frags(integer) : &amp;quot;Initial Value&amp;quot; : 0&lt;br /&gt;
	health(integer) : &amp;quot;Limit Value&amp;quot; : 10&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Targetx) color(238 240 200) = game_counter_set : &amp;quot;Sets a game_counter&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Remove On fire&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	master(string) : &amp;quot;Master&amp;quot;&lt;br /&gt;
	frags(integer) : &amp;quot;New Value&amp;quot; : 10&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname) color(80 80 0) = game_end : &amp;quot;End this multiplayer game&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	master(string) : &amp;quot;Master&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
// Counts number of clients on the server and triggers if it matches min or max value&lt;br /&gt;
@PointClass color(0 255 96) = game_player_counter : &amp;quot;Game Player Counter&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	frags(integer) : &amp;quot;Min Value&amp;quot; : 1&lt;br /&gt;
	health(integer) : &amp;quot;Max Value&amp;quot; : 32&lt;br /&gt;
	target(target_destination) : &amp;quot;Min Target&amp;quot;&lt;br /&gt;
	netname(target_destination) : &amp;quot;Max Target&amp;quot;&lt;br /&gt;
	message(String) : &amp;quot;Filter Player Targetname&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Targetx) color(200 100 0) = game_player_equip : &amp;quot;Initial player equipment&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;USE Only&amp;quot; : 0&lt;br /&gt;
		2: &amp;quot;Filter Playername&amp;quot; : 0&lt;br /&gt;
		4: &amp;quot;Re-Equip on Use&amp;quot; : 0&lt;br /&gt;
		8: &amp;quot;Append Map CFG&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	master(string) : &amp;quot;Team Master&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	equipmode(choices) : &amp;quot;Equip mode&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Give items&amp;quot;&lt;br /&gt;
		1: &amp;quot;Modify inventory&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	inventorymode(choices) : &amp;quot;Inventory mode&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Set items&amp;quot;&lt;br /&gt;
		1: &amp;quot;Add items&amp;quot;&lt;br /&gt;
		2: &amp;quot;Subtract items&amp;quot;&lt;br /&gt;
		3: &amp;quot;Remove items&amp;quot;&lt;br /&gt;
		4: &amp;quot;Restock items&amp;quot;&lt;br /&gt;
		5: &amp;quot;Limit items&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Targetx) color(255 2 0) = game_player_hurt : &amp;quot;Hurts player who fires&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	dmg(string) : &amp;quot;Damage To Apply&amp;quot; : &amp;quot;65535&amp;quot;&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Remove On fire&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	master(string) : &amp;quot;Master&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Targetx) color(255 205 0) = game_score : &amp;quot;Award/Deduct Points&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Allow Negative&amp;quot; : 0&lt;br /&gt;
		2: &amp;quot;Team Points&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	points(integer) : &amp;quot;Points to add (+/-)&amp;quot; : 1&lt;br /&gt;
	master(string) : &amp;quot;Master&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
// Counts number of slots on the server and triggers if it matches value&lt;br /&gt;
@PointClass base(Targetx) color(0 255 148) = game_slot_counter : &amp;quot;Game Slot Counter&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	frags(integer) : &amp;quot;Value&amp;quot; : 12&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Targetx) color(192 255 0) = game_text : &amp;quot;HUD Text Message&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;All Players&amp;quot; : 0&lt;br /&gt;
		2: &amp;quot;No console echo&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	message(string) : &amp;quot;Message Text&amp;quot;&lt;br /&gt;
	x(string) : &amp;quot;X (0 - 1.0 = left to right) (-1 centers)&amp;quot; : &amp;quot;-1&amp;quot;&lt;br /&gt;
	y(string) : &amp;quot;Y (0 - 1.0 = top to bottom) (-1 centers)&amp;quot; : &amp;quot;0.67&amp;quot;&lt;br /&gt;
	effect(Choices) : &amp;quot;Text Effect&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Fade In/Out&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Credits&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Scan Out&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	color(color255) : &amp;quot;Color 1 (Add 4th number &amp;gt;0 for opaque)&amp;quot; : &amp;quot;100 100 100&amp;quot;&lt;br /&gt;
	color2(color255) : &amp;quot;Color 2 (Add 4th number &amp;gt;0 for opaque)&amp;quot; : &amp;quot;240 110 0&amp;quot;&lt;br /&gt;
	fadein(string) : &amp;quot;Fade in Time (or character scan time)&amp;quot; : &amp;quot;1.5&amp;quot;&lt;br /&gt;
	fadeout(string) : &amp;quot;Fade Out Time&amp;quot; : &amp;quot;0.5&amp;quot;&lt;br /&gt;
	holdtime(string) : &amp;quot;Hold Time&amp;quot; : &amp;quot;1.2&amp;quot;&lt;br /&gt;
	fxtime(string) : &amp;quot;Scan time (scan effect only)&amp;quot; : &amp;quot;0.25&amp;quot;&lt;br /&gt;
	channel(choices) : &amp;quot;Text Channel&amp;quot; : 1 =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Channel 1&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Channel 2&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Channel 3&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Channel 4&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	master(string) : &amp;quot;Master&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Targetname, ZHLTbmodel) = game_zone_player : &amp;quot;Player Zone brush&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Ignore Dead Players&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	intarget(target_destination) : &amp;quot;Target for IN players&amp;quot;&lt;br /&gt;
	outtarget(target_destination) : &amp;quot;Target for OUT players&amp;quot;&lt;br /&gt;
	incount(target_destination) : &amp;quot;Counter for IN players&amp;quot;&lt;br /&gt;
	outcount(target_destination) : &amp;quot;Counter for OUT players&amp;quot;&lt;br /&gt;
	// master(string) : &amp;quot;Master&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
@PointClass base(GibShooterBase) color(180 2 0) = gibshooter : &amp;quot;Gib Shooter&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// Global_light_control&lt;br /&gt;
// Alters appearance of switchable lights or sun (light_environment).&lt;br /&gt;
// Set &amp;quot;Light Entity Name&amp;quot; field to target a light entity.&lt;br /&gt;
// On trigger or map load (if no targetname specified), it updates the&lt;br /&gt;
// light&#039;s style using the specified &amp;quot;Custom Appearance&amp;quot; pattern.&lt;br /&gt;
@PointClass iconsprite(&amp;quot;sprites/vhe-iconsprites/global_light_control.spr&amp;quot;) base(Targetname, Target) size(-24 -24 -24, 24 24 24) color(96 96 32) = global_light_control : &amp;quot;Global Light Pattern&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	target_entity(target_destination) : &amp;quot;Light Entity Name&amp;quot;&lt;br /&gt;
	pattern(string) : &amp;quot;Custom Appearance&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass decal() base(Targetname, Appearflags) = infodecal : &amp;quot;Decal&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	texture(decal)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass color(255 0 0) = info_angularfade : &amp;quot;Texture name : the speed at which light fade as its direction becomes parallel to the texture (default 1.0)&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname) size(-24 -24 0, 24 24 16) color(20 190 60) = info_bigmomma : &amp;quot;Big Mamma Node&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Run To Node&amp;quot; : 0&lt;br /&gt;
		2 : &amp;quot;Wait Indefinitely&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	target(target_destination) : &amp;quot;Next node&amp;quot;&lt;br /&gt;
	radius(string) : &amp;quot;Radius&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
	reachdelay(string) : &amp;quot;Wait after approach&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
	killtarget(target_destination) : &amp;quot;KillTarget&amp;quot;&lt;br /&gt;
	reachtarget(target_destination) : &amp;quot;Fire on approach&amp;quot;&lt;br /&gt;
	reachsequence(string) : &amp;quot;Sequence on approach&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	health(string) : &amp;quot;Health on approach&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	presequence(string) : &amp;quot;Sequence before approach&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass color(255 231 127) = info_compile_parameters : &amp;quot;Map Compile Parameters&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Ignore shared settings&amp;quot; : 0&lt;br /&gt;
		2 : &amp;quot;Ignore CSG settings&amp;quot; : 0&lt;br /&gt;
		4 : &amp;quot;Ignore BSP settings&amp;quot; : 0&lt;br /&gt;
		8 : &amp;quot;Ignore VIS settings&amp;quot; : 0&lt;br /&gt;
		16 : &amp;quot;Ignore RAD settings&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	// --- Shared options ---&lt;br /&gt;
	verbose(choices) : &amp;quot;Verbose messages?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	noinfo(choices) : &amp;quot;Don&#039;t show tool configuration information?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	nolog(choices) : &amp;quot;Don&#039;t generate compile log file?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	dev(choices) : &amp;quot;Developer message level&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;None&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Error&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Warning&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Info&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Fluff&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Spam&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Mega spam&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	estimate(choices) : &amp;quot;Estimate compile times?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		0 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	chart(choices) : &amp;quot;Display statistics charts?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	threads(integer) : &amp;quot;CPU thread count (0 for auto/max)&amp;quot; : 0&lt;br /&gt;
	priority(choices) : &amp;quot;CPU process priority&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Low&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Normal&amp;quot;&lt;br /&gt;
		3 : &amp;quot;High&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	texdata(integer) : &amp;quot;Texture data memory (KiB)&amp;quot; : 0&lt;br /&gt;
	lightdata(integer) : &amp;quot;Lighting data memory (KiB)&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
	// --- CSG options ---&lt;br /&gt;
	csg(choices) : &amp;quot;--- Perform CSG stage? ---&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Yes, entity updates only mode&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	csg_nowadtextures(choices) : &amp;quot;No WAD textures? (Embed textures into BSP.)&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	csg_noclip(choices) : &amp;quot;Disable clipping hull generation?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	csg_clipeconomy(choices) : &amp;quot;Strip redundant clip nodes? (Economy mode.)&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	csg_cliptype(choices) : &amp;quot;Clipping hull type&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;Smallest&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Normalized&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Simple (most compact)&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Precise (recommended)&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Legacy&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	csg_hullfile(string) : &amp;quot;Custom hull file&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	csg_noskyclip(choices) : &amp;quot;Disable sky clipping?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	csg_tiny(string) : &amp;quot;Minimum brush face surface area before it is discarded&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	csg_brushunion(string) : &amp;quot;Threshold to warn about overlapping brushes&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	csg_nullfile(string) : &amp;quot;NULL texture substitutions file&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	csg_wadcfgfile(string) : &amp;quot;WAD configuration file&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	csg_wadcfgname(string) : &amp;quot;WAD configuration name&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	csg_wadautodetect(choices) : &amp;quot;WAD auto detect?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	csg_nonulltex(choices) : &amp;quot;Don&#039;t strip null texture faces?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	csg_nullifytrigger(choices) : &amp;quot;Strip trigger texture faces?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	csg_nolightopt(choices) : &amp;quot;Don&#039;t optimize engine light entities?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	csg_notextconvert(choices) : &amp;quot;Don&#039;t convert game_text from ANSI to UTF-8 format?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	csg_scale(string) : &amp;quot;Scale the world (USE AT OWN RISK!)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	// --- BSP options ---&lt;br /&gt;
	bsp(choices) : &amp;quot;--- Perform BSP stage? ---&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Yes, leak only mode&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	bsp_subdivide(integer) : &amp;quot;Face subdivide size (64-528)&amp;quot; : 0&lt;br /&gt;
	bsp_maxnodesize(integer) : &amp;quot;Maximum portal node size (64-1024)&amp;quot; : 0&lt;br /&gt;
	bsp_notjunc(choices) : &amp;quot;Don&#039;t break edges on t-junctions?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes (not recommended)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	bsp_nobrink(choices) : &amp;quot;Don&#039;t smooth brinks?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes (not recommended)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	bsp_noclip(choices) : &amp;quot;Don&#039;t process the clipping hull?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes (not recommended)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	bsp_nofill(choices) : &amp;quot;Don&#039;t fill outside? (Leaks will be masked.)&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes (not recommended)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	bsp_noinsidefill(choices) : &amp;quot;Don&#039;t fill empty spaces?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	bsp_noopt(choices) : &amp;quot;Don&#039;t optimize planes?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes (not recommended)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	bsp_noclipnodemerge(choices) : &amp;quot;Don&#039;t optimize clip nodes?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes (not recommended)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	bsp_nonulltex(choices) : &amp;quot;Don&#039;t strip NULL textures?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes (not recommended)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	bsp_nohull2(choices) : &amp;quot;Don&#039;t generate hull 2? (Big monsters &amp;amp; pushable fall out map!)&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	bsp_viewportal(choices) : &amp;quot;Show portal boundaries in PTS file?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	// --- VIS options ---&lt;br /&gt;
	vis(choices) : &amp;quot;--- Perform VIS stage? ---&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Yes, fast mode&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Yes, full mode&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	// --- RAD options ---&lt;br /&gt;
	rad(choices) : &amp;quot;--- Perform RAD stage? ---&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Yes, fast mode&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Yes, extra mode&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	rad_waddir(string) : &amp;quot;WAD search directory&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	rad_vismatrix(choices) : &amp;quot;Use visibility matrix?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;Normal (65,536 patch limit)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Sparse&amp;quot;&lt;br /&gt;
		2 : &amp;quot;None (slowest but most accurate lighting)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	rad_bounce(integer) : &amp;quot;Bounces&amp;quot; : 0&lt;br /&gt;
	rad_ambient(string) : &amp;quot;Ambient world light (R G B)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	rad_limiter(string) : &amp;quot;Light clipping threshold (-1 for none)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	rad_circus(choices) : &amp;quot;Circus mode?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	rad_nospread(choices) : &amp;quot;Disable sunlight spread angles?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	rad_nopaque(choices) : &amp;quot;Disable opaque light flags?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	rad_smooth(string) : &amp;quot;Smoothing threshold for blending (In degrees)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	rad_smooth2(string) : &amp;quot;Smoothing threshold between different textures&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	rad_chop(string) : &amp;quot;Patch size for normal textures&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	rad_texchop(string) : &amp;quot;Patch size for texture light faces&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	rad_notexscale(choices) : &amp;quot;Scale patches with texture scale?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	rad_subdivide(choices) : &amp;quot;Patch subdivide?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	rad_coring(string) : &amp;quot;Lighting threshold before blackness&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	rad_dlight(string) : &amp;quot;Direct lighting threshold&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	rad_dscale(string) : &amp;quot;Direct lighting scale&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	rad_nolerp(choices) : &amp;quot;Disable interpolation? (Nearest point instead.)&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	rad_fade(string) : &amp;quot;Global fade (Larger values = shorter lights)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	rad_texlightgap(string) : &amp;quot;Global gap distance for texture lights&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	rad_scale(string) : &amp;quot;Global light scaling&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	rad_colourscale(string) : &amp;quot;Per-colour light scaling (R G B)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	rad_gamma(string) : &amp;quot;Global gamma&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	rad_colourgamma(string) : &amp;quot;Per-colour gamma (R G B)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	rad_sky(string) : &amp;quot;Ambient sunlight shade contribution&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	rad_lights(string) : &amp;quot;Light textures file&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	rad_noskyfix(choices) : &amp;quot;Disable sky light being global?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	rad_incremental(choices) : &amp;quot;Use/create an incremental transfer list file?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	rad_dump(choices) : &amp;quot;Dump light patches to a file for debugging?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	rad_colourjitter(string) : &amp;quot;Adds noise, independent colours, for dithering (R G B)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	rad_jitter(string) : &amp;quot;Adds noise, monochromatic, for dithering (R G B)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	rad_customshadowwithbounce(choices) : &amp;quot;Enables custom shadows with bounce light?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	rad_rgbtransfers(choices) : &amp;quot;Enable RGB transfers? (For custom shadows.)&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	rad_minlight(integer) : &amp;quot;Minimum final light (0-255)&amp;quot; : 0&lt;br /&gt;
	rad_compresstransfers(choices) : &amp;quot;Compress transfers?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;32-bit&amp;quot;&lt;br /&gt;
		1 : &amp;quot;16-bit&amp;quot;&lt;br /&gt;
		2 : &amp;quot;8-bit&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	rad_compressrgbtransfers(choices) : &amp;quot;Compress RGB transfers?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;96-bit&amp;quot;&lt;br /&gt;
		1 : &amp;quot;48-bit&amp;quot;&lt;br /&gt;
		2 : &amp;quot;32-bit&amp;quot;&lt;br /&gt;
		3 : &amp;quot;24-bit&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	rad_softsky(choices) : &amp;quot;Smooth skylight?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	rad_depth(string) : &amp;quot;Thickness of translucent faces&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	rad_blockopaque(choices) : &amp;quot;Remove the black areas around opaque entities?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	rad_notextures(choices) : &amp;quot;Don&#039;t load textures?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	rad_texreflectgamma(string) : &amp;quot;Reflection gamma&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	rad_texreflectscale(string) : &amp;quot;Reflection scale&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	rad_blur(string) : &amp;quot;Enlarge light map sample to blur the light map&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	rad_noemitterrange(choices) : &amp;quot;Don&#039;t fix pointy texture lights?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	rad_nobleedfix(choices) : &amp;quot;Don&#039;t fix wall bleeding problem for large blur value?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;[ Unset ]&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass = info_hullshape : &amp;quot;Hull shape definition&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	targetname(target_source) : &amp;quot;Name&amp;quot;&lt;br /&gt;
	defaulthulls(choices) : &amp;quot;Set as default shape&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;No&amp;quot;&lt;br /&gt;
		2: &amp;quot;Hull 1&amp;quot;&lt;br /&gt;
		4: &amp;quot;Hull 2&amp;quot;&lt;br /&gt;
		8: &amp;quot;Hull 3&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	disabled(choices) : &amp;quot;Disable&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;No&amp;quot;&lt;br /&gt;
		1: &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass = NodeBase&lt;br /&gt;
[&lt;br /&gt;
	hinttype(Choices) : &amp;quot;Hint type&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;None&amp;quot;&lt;br /&gt;
		4 : &amp;quot;World machinery&amp;quot;&lt;br /&gt;
		8 : &amp;quot;World blinking light&amp;quot;&lt;br /&gt;
		10 : &amp;quot;World human blood&amp;quot;&lt;br /&gt;
		11 : &amp;quot;World alien blood&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	activity(Choices) : &amp;quot;Hint activity&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		-1 : &amp;quot;None&amp;quot;&lt;br /&gt;
		0 : &amp;quot;Reset&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Idle&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Guard&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Walk&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Run&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Fly&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Swim&amp;quot;&lt;br /&gt;
		7 : &amp;quot;Hop&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Leap&amp;quot;&lt;br /&gt;
		9 : &amp;quot;Fall&amp;quot;&lt;br /&gt;
		10 : &amp;quot;Land&amp;quot;&lt;br /&gt;
		11 : &amp;quot;Strafe left&amp;quot;&lt;br /&gt;
		12 : &amp;quot;Strafe right&amp;quot;&lt;br /&gt;
		13 : &amp;quot;Roll left&amp;quot;&lt;br /&gt;
		14 : &amp;quot;Roll right&amp;quot;&lt;br /&gt;
		15 : &amp;quot;Turn left&amp;quot;&lt;br /&gt;
		16 : &amp;quot;Turn Right&amp;quot;&lt;br /&gt;
		17 : &amp;quot;Crouch&amp;quot;&lt;br /&gt;
		18 : &amp;quot;Crouch idle&amp;quot;&lt;br /&gt;
		19 : &amp;quot;Stand up from crouch&amp;quot;&lt;br /&gt;
		20 : &amp;quot;Use&amp;quot;&lt;br /&gt;
		21 : &amp;quot;Signal 1&amp;quot;&lt;br /&gt;
		22 : &amp;quot;Signal 2&amp;quot;&lt;br /&gt;
		23 : &amp;quot;Signal 3&amp;quot;&lt;br /&gt;
		24 : &amp;quot;Twitch&amp;quot;&lt;br /&gt;
		25 : &amp;quot;Cower&amp;quot;&lt;br /&gt;
		26 : &amp;quot;Small flinch&amp;quot;&lt;br /&gt;
		27 : &amp;quot;Big flinch&amp;quot;&lt;br /&gt;
		28 : &amp;quot;Range attack 1&amp;quot;&lt;br /&gt;
		29 : &amp;quot;Range attack 2&amp;quot;&lt;br /&gt;
		30 : &amp;quot;Melee attack 1&amp;quot;&lt;br /&gt;
		31 : &amp;quot;Melee attack 2&amp;quot;&lt;br /&gt;
		32 : &amp;quot;Reload&amp;quot;&lt;br /&gt;
		33 : &amp;quot;Arm&amp;quot;&lt;br /&gt;
		34 : &amp;quot;Disarm&amp;quot;&lt;br /&gt;
		35 : &amp;quot;Eat&amp;quot;&lt;br /&gt;
		36 : &amp;quot;Die simple&amp;quot;&lt;br /&gt;
		37 : &amp;quot;Die backward&amp;quot;&lt;br /&gt;
		38 : &amp;quot;Die forward&amp;quot;&lt;br /&gt;
		39 : &amp;quot;Die violent&amp;quot;&lt;br /&gt;
		40 : &amp;quot;Barnacle hit&amp;quot;&lt;br /&gt;
		41 : &amp;quot;Barnacle pull&amp;quot;&lt;br /&gt;
		42 : &amp;quot;Barnacle chomp&amp;quot;&lt;br /&gt;
		43 : &amp;quot;Barnacle chew&amp;quot;&lt;br /&gt;
		44 : &amp;quot;Sleep&amp;quot;&lt;br /&gt;
		45 : &amp;quot;Inspect floor&amp;quot;&lt;br /&gt;
		46 : &amp;quot;Inspect wall&amp;quot;&lt;br /&gt;
		47 : &amp;quot;Idle angry&amp;quot;&lt;br /&gt;
		48 : &amp;quot;Walk hurt&amp;quot;&lt;br /&gt;
		49 : &amp;quot;Run hurt&amp;quot;&lt;br /&gt;
		50 : &amp;quot;Hover&amp;quot;&lt;br /&gt;
		51 : &amp;quot;Glide&amp;quot;&lt;br /&gt;
		52 : &amp;quot;Fly left&amp;quot;&lt;br /&gt;
		53 : &amp;quot;Fly right&amp;quot;&lt;br /&gt;
		54 : &amp;quot;Detect scent&amp;quot;&lt;br /&gt;
		55 : &amp;quot;Sniff&amp;quot;&lt;br /&gt;
		56 : &amp;quot;Bite&amp;quot;&lt;br /&gt;
		57 : &amp;quot;Threat display&amp;quot;&lt;br /&gt;
		58 : &amp;quot;Fear display&amp;quot;&lt;br /&gt;
		59 : &amp;quot;Excited&amp;quot;&lt;br /&gt;
		60 : &amp;quot;Special attack 1&amp;quot;&lt;br /&gt;
		61 : &amp;quot;Special attack 2&amp;quot;&lt;br /&gt;
		62 : &amp;quot;Combat idle&amp;quot;&lt;br /&gt;
		63 : &amp;quot;Walk scared&amp;quot;&lt;br /&gt;
		64 : &amp;quot;Run scared&amp;quot;&lt;br /&gt;
		65 : &amp;quot;Victory dance&amp;quot;&lt;br /&gt;
		66 : &amp;quot;Die head shot&amp;quot;&lt;br /&gt;
		67 : &amp;quot;Die chest shot&amp;quot;&lt;br /&gt;
		68 : &amp;quot;Die gut shot&amp;quot;&lt;br /&gt;
		69 : &amp;quot;Die back shot&amp;quot;&lt;br /&gt;
		70 : &amp;quot;Flinch head&amp;quot;&lt;br /&gt;
		71 : &amp;quot;Flinch chest&amp;quot;&lt;br /&gt;
		72 : &amp;quot;Flinch stomach&amp;quot;&lt;br /&gt;
		73 : &amp;quot;Flinch left arm&amp;quot;&lt;br /&gt;
		74 : &amp;quot;Flinch right arm&amp;quot;&lt;br /&gt;
		75 : &amp;quot;Flinch left leg&amp;quot;&lt;br /&gt;
		76 : &amp;quot;Flinch right leg&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(NodeBase) size(-24 -24 -4, 24 24 4) color(225 227 0) = info_node : &amp;quot;ai node&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(NodeBase) size(-32 -32 0, 32 32 64) color(225 227 0) = info_node_air : &amp;quot;ai air node&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname) size(-4 -4 -4, 4 4 4) color(128 255 146) = info_null : &amp;quot;info_null (spotlight target)&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass size(-4 -4 -4, 4 4 4) color(255 0 0) = info_overview_point : &amp;quot;Disable VIS here for overview&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	reverse(choices) : &amp;quot;Reversed&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;No&amp;quot;&lt;br /&gt;
		1: &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(PlayerClass) studio(&amp;quot;models/player.mdl&amp;quot;) = info_player_coop : &amp;quot;Player co-operative start&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(PlayerDmClass) studio(&amp;quot;models/player.mdl&amp;quot;) = info_player_deathmatch : &amp;quot;Player deathmatch start&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(PlayerDmClass) studio(&amp;quot;models/player.mdl&amp;quot;) = info_player_dm2 : &amp;quot;Hidden deathmatch start (not visible in map list)&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(PlayerClass) studio(&amp;quot;models/player.mdl&amp;quot;) = info_player_start : &amp;quot;Single player start (and multi-player initial viewpoint)&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass size(-4 -4 -4, 4 4 4) color(255 0 0) = info_smoothvalue : &amp;quot;Texture name : Threshold of smooth angle&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass size(-4 -4 -4, 4 4 4) color(255 255 0) = info_sunlight : &amp;quot;light_environment information that affects model brightness&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	target(target_destination) : &amp;quot;Target&amp;quot;&lt;br /&gt;
	angles(string) : &amp;quot;Pitch Yaw Roll (Y Z X)&amp;quot; : &amp;quot;0 0 0&amp;quot;&lt;br /&gt;
	pitch(integer) : &amp;quot;Pitch&amp;quot; : -90&lt;br /&gt;
	_light(color255) : &amp;quot;Brightness&amp;quot; : &amp;quot;0 0 0 100&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname) size(-4 -4 -4, 4 4 4) color(200 100 50) = info_target : &amp;quot;Generic target&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass size(-16 -16 0, 16 16 72) base(PlayerClass)  color(255 128 240) = info_teleport_destination : &amp;quot;Teleport destination&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		32 : &amp;quot;Trigger on arrival&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	teleport_cooldown(string) : &amp;quot;Teleport Cooldown Delay&amp;quot; : &amp;quot;1&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass size(-4 -4 -4, 4 4 4) color(255 231 127) = info_texlights : &amp;quot;Texture Light Definitions&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass size(-4 -4 -4, 4 4 4) color(255 0 0) = info_translucent : &amp;quot;Texture name : translucent amount (0.0-1.0)&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass size(-16 -16 0, 16 16 24) base(Targetx, Item) studio(&amp;quot;models/w_oxygen.mdl&amp;quot;) = item_airtank : &amp;quot;Oxygen tank&amp;quot; [&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Do not explode&amp;quot; : 0&lt;br /&gt;
		2 : &amp;quot;Start empty&amp;quot; : 0&lt;br /&gt;
		128 : &amp;quot;TOUCH Only&amp;quot; : 0&lt;br /&gt;
		256 : &amp;quot;USE Only&amp;quot; : 0&lt;br /&gt;
		512 : &amp;quot;Can Use w/o LoS&amp;quot; : 0&lt;br /&gt;
		1024 : &amp;quot;&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	health(integer)			: &amp;quot;Strength&amp;quot;					: 0&lt;br /&gt;
	air_time_given(integer)		: &amp;quot;Extra Air Time Given (0 = default)&amp;quot;		: 0&lt;br /&gt;
	refill_delay(integer)		: &amp;quot;Refill Time (0 = default, -1 = never)&amp;quot;	: 0&lt;br /&gt;
&lt;br /&gt;
	target_on_consume(string)	: &amp;quot;Target: On consume&amp;quot;				: &amp;quot;&amp;quot;&lt;br /&gt;
	target_on_is_empty(string)	: &amp;quot;Target: On is empty&amp;quot;				: &amp;quot;&amp;quot;&lt;br /&gt;
	target_on_refill(string)	: &amp;quot;Target: On refill&amp;quot;				: &amp;quot;&amp;quot;&lt;br /&gt;
	target_on_destroy(string)	: &amp;quot;Target: On destroy&amp;quot;				: &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	sound_on_consume(sound)		: &amp;quot;Sound: On consume&amp;quot;				: &amp;quot;&amp;quot;&lt;br /&gt;
	sound_on_is_empty(sound)	: &amp;quot;Sound: On is empty&amp;quot;				: &amp;quot;&amp;quot;&lt;br /&gt;
	sound_on_refill(sound)		: &amp;quot;Sound: On refill&amp;quot;				: &amp;quot;&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass size(-4 -4 0, 4 4 16) base(Target, Item) studio(&amp;quot;models/w_antidote.mdl&amp;quot;) = item_antidote : &amp;quot;Poison antidote&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass size(-11 -11 0, 11 11 36) base(Target, Item) studio(&amp;quot;models/barney_vest.mdl&amp;quot;) = item_armorvest : &amp;quot;Armor vest&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass size(-4 -4 0, 4 4 16) base(Target, Item) studio(&amp;quot;models/w_battery.mdl&amp;quot;) = item_battery : &amp;quot;HEV battery&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	health(integer) : &amp;quot;Charge Supplied&amp;quot; : 0&lt;br /&gt;
	healthcap(integer) : &amp;quot;Charge Cap&amp;quot; : 0&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(ItemWithDefaultModel, Target) studio() = item_generic : &amp;quot;Generic scenery item&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass size(-12 -12 0, 12 12 8) base(Target, Item) studio(&amp;quot;models/w_medkit.mdl&amp;quot;) = item_healthkit : &amp;quot;Health kit&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	health(integer) : &amp;quot;Health Supplied&amp;quot; : 0&lt;br /&gt;
	healthcap(integer) : &amp;quot;Health Cap&amp;quot; : 0&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass size(-8 -8 0, 8 8 20) base(Target, Item) studio(&amp;quot;models/barney_helmet.mdl&amp;quot;) = item_helmet : &amp;quot;Helmet&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(ItemWithDefaultModel, Target, CustomRespawnDelay) studio() = item_inventory : &amp;quot;Inventory item&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	item_name(string) : &amp;quot;Item name&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	item_group(string) : &amp;quot;Item group name&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	display_name(string) : &amp;quot;Display name (HUD)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	description(string) : &amp;quot;Description (HUD)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	item_icon(string) : &amp;quot;Item icon (HUD)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	activate_limit(integer) : &amp;quot;Self-activation limit (0 = infinite)&amp;quot; : 0&lt;br /&gt;
	collect_limit(integer) : &amp;quot;Collection limit (0 = infinite)&amp;quot; : 0&lt;br /&gt;
	weight(string) : &amp;quot;Item weight (0-100)&amp;quot; : &amp;quot;1.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	filter_targetnames(string) : &amp;quot;Collect: Entity target names&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	filter_classnames(string) : &amp;quot;Collect: Entity class names&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	filter_teams(string) : &amp;quot;Collect: Teams&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	filter_npc_classifications(choices) : &amp;quot;Collect: NPC classifications&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No filter&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;None&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Machine&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Player&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Human Passive&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Human Military&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Alien Military&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Alien Passive&amp;quot;&lt;br /&gt;
		7 : &amp;quot;Alien Monster&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Alien Prey&amp;quot;&lt;br /&gt;
		9 : &amp;quot;Alien Predator&amp;quot;&lt;br /&gt;
		10 : &amp;quot;Insect&amp;quot;&lt;br /&gt;
		11 : &amp;quot;Player Ally&amp;quot;&lt;br /&gt;
		12 : &amp;quot;Player Hornet/Snark&amp;quot;&lt;br /&gt;
		13 : &amp;quot;Alien Hornet/Snark&amp;quot;&lt;br /&gt;
		14 : &amp;quot;X-Race&amp;quot;&lt;br /&gt;
		15 : &amp;quot;X-Race: Shocktrooper/Voltigore&amp;quot;&lt;br /&gt;
		16 : &amp;quot;Team 1&amp;quot;&lt;br /&gt;
		17 : &amp;quot;Team 2&amp;quot;&lt;br /&gt;
		18 : &amp;quot;Team 3&amp;quot;&lt;br /&gt;
		19 : &amp;quot;Team 4&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	item_name_required(string) : &amp;quot;Collect: Need item(s)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	item_group_required(string) : &amp;quot;Collect: Need item(s) from group(s)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	item_group_required_num(integer) : &amp;quot;Collect: Item count in group need have (0 = all)&amp;quot; : 0&lt;br /&gt;
	item_name_moved(string) : &amp;quot;Collect: Item(s) moved&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	item_name_canthave(string) : &amp;quot;Collect: CAN&#039;T have item&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	item_group_canthave(string) : &amp;quot;Collect: CAN&#039;T have item from group&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	item_group_canthave_num(integer) : &amp;quot;Collect: Item count in group CAN&#039;T have (0 = all)&amp;quot; : 0&lt;br /&gt;
	item_name_not_moved(string) : &amp;quot;Collect: Item(s) NOT moved&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	carried_hidden(choices) : &amp;quot;Carried: Hide item (3rd person)&amp;quot; : 1 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	carried_skin(integer) : &amp;quot;Carried: Skin&amp;quot; : 0&lt;br /&gt;
	carried_body(integer) : &amp;quot;Carried: Body&amp;quot; : 0&lt;br /&gt;
	carried_sequencename(string) : &amp;quot;Carried: Sequence Name&amp;quot; : &amp;quot;carried&amp;quot;&lt;br /&gt;
	carried_sequence(integer) : &amp;quot;Carried: Sequence Number (overrides name)&amp;quot; : 1&lt;br /&gt;
&lt;br /&gt;
	return_timelimit(string) : &amp;quot;Return: Wait (-1 = never)&amp;quot; : &amp;quot;60.0&amp;quot;&lt;br /&gt;
	return_delay_respawn(choices) : &amp;quot;Return: Delay respawn (materialisation)&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	holder_timelimit(string) : &amp;quot;Holder: Hold time limit (0 = never)&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
	holder_time_activate_wait(string) : &amp;quot;Holder: Delay between self-activations (0 = none)&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
	holder_time_wearout(string) : &amp;quot;Holder: Wearing out trigger time (0 = none)&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
	holder_can_activate(choices) : &amp;quot;Holder: Allowed to self-activate&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	holder_timelimit_wait_until_activated(choices) : &amp;quot;Holder: Hold time limit doesn&#039;t start until item activated&amp;quot; : 1 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	holder_can_drop(choices) : &amp;quot;Holder: Allowed to drop&amp;quot; : 1 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	holder_keep_on_death(choices) : &amp;quot;Holder: Keep item on death&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	holder_keep_on_respawn(choices) : &amp;quot;Holder: Keep item on respawn&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	target_on_collect(string)		: &amp;quot;Target: On collect (self)&amp;quot;			: &amp;quot;&amp;quot;&lt;br /&gt;
	target_on_collect_team(string)		: &amp;quot;Target: On collect (team)&amp;quot;			: &amp;quot;&amp;quot;&lt;br /&gt;
	target_on_collect_other(string)		: &amp;quot;Target: On collect (others)&amp;quot;			: &amp;quot;&amp;quot;&lt;br /&gt;
	target_cant_collect(string)		: &amp;quot;Target: On can&#039;t collect (self)&amp;quot;		: &amp;quot;&amp;quot;&lt;br /&gt;
	target_cant_collect_team(string)	: &amp;quot;Target: On can&#039;t collect (team)&amp;quot;		: &amp;quot;&amp;quot;&lt;br /&gt;
	target_cant_collect_other(string)	: &amp;quot;Target: On can&#039;t collect (others)&amp;quot;		: &amp;quot;&amp;quot;&lt;br /&gt;
	target_on_drop(string)			: &amp;quot;Target: On drop (self)&amp;quot;			: &amp;quot;&amp;quot;&lt;br /&gt;
	target_on_drop_team(string)		: &amp;quot;Target: On drop (team)&amp;quot;			: &amp;quot;&amp;quot;&lt;br /&gt;
	target_on_drop_other(string)		: &amp;quot;Target: On drop (others)&amp;quot;			: &amp;quot;&amp;quot;&lt;br /&gt;
	target_cant_drop(string)		: &amp;quot;Target: On can&#039;t drop (self)&amp;quot;		: &amp;quot;&amp;quot;&lt;br /&gt;
	target_cant_drop_team(string)		: &amp;quot;Target: On can&#039;t drop (team)&amp;quot;		: &amp;quot;&amp;quot;&lt;br /&gt;
	target_cant_drop_other(string)		: &amp;quot;Target: On can&#039;t drop (others)&amp;quot;		: &amp;quot;&amp;quot;&lt;br /&gt;
	target_on_activate(string)		: &amp;quot;Target: On self-activate (self)&amp;quot;		: &amp;quot;&amp;quot;&lt;br /&gt;
	target_on_activate_team(string)		: &amp;quot;Target: On self-activate (team)&amp;quot;		: &amp;quot;&amp;quot;&lt;br /&gt;
	target_on_activate_other(string)	: &amp;quot;Target: On self-activate (others)&amp;quot;		: &amp;quot;&amp;quot;&lt;br /&gt;
	target_cant_activate(string)		: &amp;quot;Target: On can&#039;t self-activate (self)&amp;quot;	: &amp;quot;&amp;quot;&lt;br /&gt;
	target_cant_activate_team(string)	: &amp;quot;Target: On can&#039;t self-activate (team)&amp;quot;	: &amp;quot;&amp;quot;&lt;br /&gt;
	target_cant_activate_other(string)	: &amp;quot;Target: On can&#039;t self-activate (others)&amp;quot;	: &amp;quot;&amp;quot;&lt;br /&gt;
	target_on_use(string)			: &amp;quot;Target: On use by trigger (self)&amp;quot;		: &amp;quot;&amp;quot;&lt;br /&gt;
	target_on_use_team(string)		: &amp;quot;Target: On use by trigger (team)&amp;quot;		: &amp;quot;&amp;quot;&lt;br /&gt;
	target_on_use_other(string)		: &amp;quot;Target: On use by trigger (others)&amp;quot;		: &amp;quot;&amp;quot;&lt;br /&gt;
	target_on_wearing_out(string)		: &amp;quot;Target: On wearing out (self)&amp;quot;		: &amp;quot;&amp;quot;&lt;br /&gt;
	target_on_wearing_out_team(string)	: &amp;quot;Target: On wearing out (team)&amp;quot;		: &amp;quot;&amp;quot;&lt;br /&gt;
	target_on_wearing_out_other(string)	: &amp;quot;Target: On wearing out (others)&amp;quot;		: &amp;quot;&amp;quot;&lt;br /&gt;
	target_on_return(string)		: &amp;quot;Target: On return (self)&amp;quot;			: &amp;quot;&amp;quot;&lt;br /&gt;
	target_on_return_team(string)		: &amp;quot;Target: On return (team)&amp;quot;			: &amp;quot;&amp;quot;&lt;br /&gt;
	target_on_return_other(string)		: &amp;quot;Target: On return (other)&amp;quot;			: &amp;quot;&amp;quot;&lt;br /&gt;
	target_on_materialise(string)		: &amp;quot;Target: On materialise after return&amp;quot;		: &amp;quot;&amp;quot;&lt;br /&gt;
	target_on_destroy(string)		: &amp;quot;Target: On destroy&amp;quot;				: &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	effects_wait_until_activated(choices) : &amp;quot;Effects: Wait until item is self-activated?&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	effects_permanent(choices) : &amp;quot;Effects: Permanent? (Until respawn)&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	effect_glow(color255) : &amp;quot;Effects: Glow shell color (R G B)&amp;quot; : &amp;quot;0 0 0&amp;quot;&lt;br /&gt;
	effect_block_weapons(choices) : &amp;quot;Effects: Block weapons&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	effect_invulnerable(choices) : &amp;quot;Effects: Invulnerable&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	effect_invisible(choices) : &amp;quot;Effects: Invisible&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	effect_nonsolid(choices) : &amp;quot;Effects: Non-solid&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	effect_respiration(string) : &amp;quot;Effects: Time before drown (seconds)&amp;quot; : &amp;quot;0.0&amp;quot;&lt;br /&gt;
	effect_friction(string) : &amp;quot;Effects: Friction modifier (%)&amp;quot; : &amp;quot;100.0&amp;quot;&lt;br /&gt;
	effect_gravity(string) : &amp;quot;Effects: Gravity modifier (%)&amp;quot; : &amp;quot;100.0&amp;quot;&lt;br /&gt;
	effect_speed(string) : &amp;quot;Effects: Speed modifier (%)&amp;quot; : &amp;quot;100.0&amp;quot;&lt;br /&gt;
	effect_damage(string) : &amp;quot;Effects: Damage modifier (%)&amp;quot; : &amp;quot;100.0&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass size(-14 -14 0, 14 14 36) base(Target, Item) studio(&amp;quot;models/w_longjump.mdl&amp;quot;) = item_longjump : &amp;quot;Longjump module&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass size(-12 -12 0, 12 12 1) base(Target, Item) studio(&amp;quot;models/w_security.mdl&amp;quot;) = item_security : &amp;quot;Security card&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass size(-15 -15 0, 15 15 64) base(Target, Item) studio(&amp;quot;models/w_suit.mdl&amp;quot;) = item_suit : &amp;quot;HEV Suit&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Short Logon&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass iconsprite(&amp;quot;sprites/vhe-iconsprites/light.spr&amp;quot;) base(Target, Targetname, Light, ZHLTpoint) = light : &amp;quot;Invisible lightsource&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Initially dark&amp;quot; : 0&lt;br /&gt;
		2 : &amp;quot;Remove Entity&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass size(-4 -4 -4, 4 4 4) color(255 255 0) = light_bounce : &amp;quot;Bounce light control&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	target(target_destination) : &amp;quot;Target solid entity&amp;quot;&lt;br /&gt;
	targetname(target_source) : &amp;quot;Name&amp;quot;&lt;br /&gt;
	style(choices) : &amp;quot;Appearance (no name allowed)&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Normal&amp;quot;&lt;br /&gt;
		10: &amp;quot;Fluorescent flicker&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Slow, strong pulse&amp;quot;&lt;br /&gt;
		11: &amp;quot;Slow pulse, no black&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Gentle pulse&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Flicker A&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Flicker B&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Candle A&amp;quot;&lt;br /&gt;
		7 : &amp;quot;Candle B&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Candle C&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Fast strobe&amp;quot;&lt;br /&gt;
		9 : &amp;quot;Slow strobe&amp;quot;&lt;br /&gt;
		12 : &amp;quot;Underwater mutation&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	pattern(string) : &amp;quot;Custom Appearance&amp;quot;&lt;br /&gt;
	convertto(choices) : &amp;quot;Classname in game&amp;quot; : &amp;quot;light&amp;quot; =&lt;br /&gt;
	[&lt;br /&gt;
		&amp;quot;light&amp;quot; : &amp;quot;light&amp;quot;&lt;br /&gt;
		&amp;quot;light_spot&amp;quot; : &amp;quot;light_spot&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Initially dark&amp;quot; : 0&lt;br /&gt;
		2048 : &amp;quot;Not in Deathmatch&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Angles, ZHLTpoint) iconsprite(&amp;quot;sprites/vhe-iconsprites/light_environment.spr&amp;quot;) = light_environment : &amp;quot;Environment&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	pitch(integer) : &amp;quot;Pitch&amp;quot; : 0&lt;br /&gt;
	_light(color255) : &amp;quot;Brightness&amp;quot; : &amp;quot;255 255 128 200&amp;quot;&lt;br /&gt;
	_diffuse_light(color255) : &amp;quot;Ambient Color&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	_spread(string) : &amp;quot;Sun Spread&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass color(255 255 0) = light_shadow : &amp;quot;Dynamic shadow control&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	target(target_destination) : &amp;quot;Target solid entity&amp;quot;&lt;br /&gt;
	targetname(target_source) : &amp;quot;Name&amp;quot;&lt;br /&gt;
	style(choices) : &amp;quot;Appearance (no name allowed)&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Normal&amp;quot;&lt;br /&gt;
		10: &amp;quot;Fluorescent flicker&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Slow, strong pulse&amp;quot;&lt;br /&gt;
		11: &amp;quot;Slow pulse, no black&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Gentle pulse&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Flicker A&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Flicker B&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Candle A&amp;quot;&lt;br /&gt;
		7 : &amp;quot;Candle B&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Candle C&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Fast strobe&amp;quot;&lt;br /&gt;
		9 : &amp;quot;Slow strobe&amp;quot;&lt;br /&gt;
		12 : &amp;quot;Underwater mutation&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	pattern(string) : &amp;quot;Custom Appearance&amp;quot;&lt;br /&gt;
	convertto(choices) : &amp;quot;Classname in game&amp;quot; : &amp;quot;light&amp;quot; =&lt;br /&gt;
	[&lt;br /&gt;
		&amp;quot;light&amp;quot; : &amp;quot;light&amp;quot;&lt;br /&gt;
		&amp;quot;light_spot&amp;quot; : &amp;quot;light_spot&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Initially dark&amp;quot; : 0&lt;br /&gt;
		2048 : &amp;quot;Not in Deathmatch&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass iconsprite(&amp;quot;sprites/vhe-iconsprites/light_spot.spr&amp;quot;) base(Targetname, Target, Angles, ZHLTpoint) = light_spot : &amp;quot;Spotlight&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	_cone(integer) : &amp;quot;Inner (bright) angle&amp;quot; : 30&lt;br /&gt;
	_cone2(integer) : &amp;quot;Outer (fading) angle&amp;quot; : 45&lt;br /&gt;
	pitch(integer) : &amp;quot;Pitch&amp;quot; : -90&lt;br /&gt;
	_light(color255) : &amp;quot;Brightness&amp;quot; : &amp;quot;255 255 128 200&amp;quot;&lt;br /&gt;
	_sky(Choices) : &amp;quot;Is Sky&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	spawnflags(Flags) = [ 1 : &amp;quot;Initially dark&amp;quot; : 0 ]&lt;br /&gt;
	style(Choices) : &amp;quot;Appearance&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Normal&amp;quot;&lt;br /&gt;
		10: &amp;quot;Fluorescent flicker&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Slow, strong pulse&amp;quot;&lt;br /&gt;
		11: &amp;quot;Slow pulse, noblack&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Gentle pulse&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Flicker A&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Flicker B&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Candle A&amp;quot;&lt;br /&gt;
		7 : &amp;quot;Candle B&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Candle C&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Fast strobe&amp;quot;&lt;br /&gt;
		9 : &amp;quot;Slow strobe&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	pattern(string) : &amp;quot;Custom Appearance&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass size(-4 -4 -4, 4 4 4) color(255 255 0) = light_surface : &amp;quot;Advanced texture light&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	_tex(string) : &amp;quot;Texture name&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	_frange(string) : &amp;quot;Filter max distance&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	_fdist(string) : &amp;quot;Filter max dist to plane&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	_fclass(string) : &amp;quot;Filter entity classname&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	_fname(string) : &amp;quot;Filter entity name&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	_light(color255) : &amp;quot;Texture brightness&amp;quot; : &amp;quot;255 255 255 80&amp;quot;&lt;br /&gt;
	_texcolor(color255) : &amp;quot;Color(replace texture color)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	_cone(string) : &amp;quot;Inner(bright) angle(90default)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	_cone2(string) : &amp;quot;Outer(fading) angle(90default)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	_scale(string) : &amp;quot;Adjust emit scale(1.0default)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	_chop(string) : &amp;quot;Grid size of sampling&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	_texlightgap(choices) : &amp;quot;Dark gap in front of texlight&amp;quot; : &amp;quot;&amp;quot; =&lt;br /&gt;
	[&lt;br /&gt;
		&amp;quot;&amp;quot;: &amp;quot;Default (no gap)&amp;quot;&lt;br /&gt;
		&amp;quot;0.0&amp;quot;: &amp;quot;0.0 - no gap&amp;quot;&lt;br /&gt;
		&amp;quot;3.0&amp;quot;: &amp;quot;3.0 - small gap&amp;quot;&lt;br /&gt;
		&amp;quot;12.0&amp;quot;: &amp;quot;12.0 - large gap&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	_fast(choices) : &amp;quot;Fast&amp;quot; : &amp;quot;&amp;quot; =&lt;br /&gt;
	[&lt;br /&gt;
		&amp;quot;&amp;quot;: &amp;quot;Auto&amp;quot;&lt;br /&gt;
		1: &amp;quot;Yes&amp;quot;&lt;br /&gt;
		2: &amp;quot;No&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	convertto(choices) : &amp;quot;Classname in game&amp;quot; : &amp;quot;light&amp;quot; =&lt;br /&gt;
	[&lt;br /&gt;
		&amp;quot;light&amp;quot; : &amp;quot;light&amp;quot;&lt;br /&gt;
		&amp;quot;light_spot&amp;quot; : &amp;quot;light_spot&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	targetname(target_source) : &amp;quot;Name&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	style(choices) : &amp;quot;Appearance (no name allowed)&amp;quot; : &amp;quot;&amp;quot; =&lt;br /&gt;
	[&lt;br /&gt;
		&amp;quot;&amp;quot; : &amp;quot;Normal&amp;quot;&lt;br /&gt;
		10: &amp;quot;Fluorescent flicker&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Slow, strong pulse&amp;quot;&lt;br /&gt;
		11: &amp;quot;Slow pulse, no black&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Gentle pulse&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Flicker A&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Flicker B&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Candle A&amp;quot;&lt;br /&gt;
		7 : &amp;quot;Candle B&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Candle C&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Fast strobe&amp;quot;&lt;br /&gt;
		9 : &amp;quot;Slow strobe&amp;quot;&lt;br /&gt;
		12 : &amp;quot;Underwater mutation&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	pattern(string) : &amp;quot;Custom Appearance&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Initially dark&amp;quot; : 0&lt;br /&gt;
		2048 : &amp;quot;Not in Deathmatch&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Door, ZHLT) = momentary_door : &amp;quot;Momentary/Continuous door&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Starts Open&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Targetname, Target, Angles, RenderFields, ZHLT) = momentary_rot_button : &amp;quot;Direct wheel control&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	speed(integer) : &amp;quot;Speed&amp;quot; : 50&lt;br /&gt;
	master(string) : &amp;quot;Master&amp;quot;&lt;br /&gt;
	sounds(choices) : &amp;quot;Sounds&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;None&amp;quot;&lt;br /&gt;
		1: &amp;quot;Big zap &amp;amp; Warmup&amp;quot;&lt;br /&gt;
		2: &amp;quot;Access Denied&amp;quot;&lt;br /&gt;
		3: &amp;quot;Access Granted&amp;quot;&lt;br /&gt;
		4: &amp;quot;Quick Combolock&amp;quot;&lt;br /&gt;
		5: &amp;quot;Power Deadbolt 1&amp;quot;&lt;br /&gt;
		6: &amp;quot;Power Deadbolt 2&amp;quot;&lt;br /&gt;
		7: &amp;quot;Plunger&amp;quot;&lt;br /&gt;
		8: &amp;quot;Small zap&amp;quot;&lt;br /&gt;
		9: &amp;quot;Keycard Sound&amp;quot;&lt;br /&gt;
		21: &amp;quot;Squeaky&amp;quot;&lt;br /&gt;
		22: &amp;quot;Squeaky Pneumatic&amp;quot;&lt;br /&gt;
		23: &amp;quot;Ratchet Groan&amp;quot;&lt;br /&gt;
		24: &amp;quot;Clean Ratchet&amp;quot;&lt;br /&gt;
		25: &amp;quot;Gas Clunk&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	noise(sound) : &amp;quot;Sound Override&amp;quot;&lt;br /&gt;
	distance(integer) : &amp;quot;Distance (deg)&amp;quot; : 90&lt;br /&gt;
	returnspeed(integer) : &amp;quot;Auto-return speed&amp;quot; : 0&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Door Hack&amp;quot; : 0&lt;br /&gt;
		2: &amp;quot;Not useable&amp;quot; : 0&lt;br /&gt;
		16: &amp;quot;Auto Return&amp;quot; : 0&lt;br /&gt;
		64: &amp;quot;X Axis&amp;quot; : 0&lt;br /&gt;
		128: &amp;quot;Y Axis&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	_minlight(integer) : &amp;quot;_minlight&amp;quot;&lt;br /&gt;
	use_type(choices) : &amp;quot;Use Type&amp;quot; : 2 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Off&amp;quot;&lt;br /&gt;
		1: &amp;quot;On&amp;quot;&lt;br /&gt;
		2: &amp;quot;Set&amp;quot;&lt;br /&gt;
		3: &amp;quot;Toggle&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-40 -40 0, 40 40 64) studio(&amp;quot;models/baby_voltigore.mdl&amp;quot;) = monster_alien_babyvoltigore : &amp;quot;Baby Voltigore&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	netname(string) : &amp;quot;Squad Name&amp;quot;&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		32 : &amp;quot;SquadLeader&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/controller.mdl&amp;quot;) = monster_alien_controller : &amp;quot;Controller&amp;quot;  []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-32 -32 0, 32 32 64) studio(&amp;quot;models/agrunt.mdl&amp;quot;) = monster_alien_grunt : &amp;quot;Alien Grunt&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	weapons(Choices) : &amp;quot;Weapons&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Hivehand Only&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Hivehand + Snarks&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Melee-Only&amp;quot;&lt;br /&gt;
		10 : &amp;quot;Melee-Only + Snarks&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	netname(string) : &amp;quot;Squad Name&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		32 : &amp;quot;SquadLeader&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/islave.mdl&amp;quot;) = monster_alien_slave : &amp;quot;Vortigaunt&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	netname(string) : &amp;quot;Squad Name&amp;quot;&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		32 : &amp;quot;SquadLeader&amp;quot; : 0&lt;br /&gt;
		64 : &amp;quot;IgnorePlayer&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-32 -32 0, 32 32 64) studio(&amp;quot;models/Tor.mdl&amp;quot;) = monster_alien_tor : &amp;quot;Alien Tor&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	netname(string) : &amp;quot;Squad Name&amp;quot;&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		32 : &amp;quot;SquadLeader&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-80 -80 0, 80 80 90) studio(&amp;quot;models/voltigore.mdl&amp;quot;) = monster_alien_voltigore : &amp;quot;Voltigore&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	netname(string) : &amp;quot;Squad Name&amp;quot;&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		32 : &amp;quot;SquadLeader&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-360 -360 -172, 360 360 8) studio(&amp;quot;models/apache.mdl&amp;quot;) = monster_apache : &amp;quot;Apache&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		8 : &amp;quot;NoWreckage&amp;quot;	: 0&lt;br /&gt;
		64 : &amp;quot;Start Inactive&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/massn.mdl&amp;quot;) = monster_assassin_repel : &amp;quot;Male Assassin (Repel)&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	netname(string) : &amp;quot;Squad Name&amp;quot;&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		32 : &amp;quot;SquadLeader&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	weapons(Choices) : &amp;quot;Weapons&amp;quot; : 3 =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;MP5&amp;quot;&lt;br /&gt;
		3 : &amp;quot;MP5 + HG&amp;quot;&lt;br /&gt;
		5 : &amp;quot;M16 + GL&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Sniper Rifle&amp;quot;&lt;br /&gt;
		10 : &amp;quot;Sniper Rifle + HG&amp;quot;&lt;br /&gt;
		32 : &amp;quot;No Weapons&amp;quot;&lt;br /&gt;
		256 : &amp;quot;Sniper - No drop&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	sequence(Choices) : &amp;quot;Animation Sequence (editor)&amp;quot; : 47 =&lt;br /&gt;
	[&lt;br /&gt;
		47 : &amp;quot;repel_repel&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 36) studio(&amp;quot;models/baby_headcrab.mdl&amp;quot;) = monster_babycrab : &amp;quot;Baby Headcrab&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-32 -32 0, 32 32 128) studio(&amp;quot;models/babygarg.mdl&amp;quot;) = monster_babygarg : &amp;quot;Baby Gargantua&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 -36, 16 16 0) studio(&amp;quot;models/barnacle.mdl&amp;quot;) = monster_barnacle : &amp;quot;Barnacle Monster&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster, TalkMonster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/barney.mdl&amp;quot;) = monster_barney : &amp;quot;Barney&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	sequence(Choices) : &amp;quot;Animation Sequence (editor)&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;idle1&amp;quot;&lt;br /&gt;
		19 : &amp;quot;locked_door&amp;quot;&lt;br /&gt;
		21 : &amp;quot;barn_Wave&amp;quot;&lt;br /&gt;
		22 : &amp;quot;beat_grunt&amp;quot;&lt;br /&gt;
		23 : &amp;quot;beat_gruntidle&amp;quot;&lt;br /&gt;
		24 : &amp;quot;flashlight&amp;quot;&lt;br /&gt;
		38 : &amp;quot;stuffed_in_vent&amp;quot;&lt;br /&gt;
		40 : &amp;quot;cprbarney&amp;quot;&lt;br /&gt;
		41 : &amp;quot;cprbarneyrevive&amp;quot;&lt;br /&gt;
		42 : &amp;quot;barney_dragvent&amp;quot;&lt;br /&gt;
		43 : &amp;quot;dying_barney&amp;quot;&lt;br /&gt;
		44 : &amp;quot;dying_barneyidle&amp;quot;&lt;br /&gt;
		45 : &amp;quot;dying_friend&amp;quot;&lt;br /&gt;
		46 : &amp;quot;dying_friendidle&amp;quot;&lt;br /&gt;
		47 : &amp;quot;c1a3_bidle&amp;quot;&lt;br /&gt;
		48 : &amp;quot;c1a3_ventb&amp;quot;&lt;br /&gt;
		49 : &amp;quot;c1a3_emergeidle&amp;quot;&lt;br /&gt;
		50 : &amp;quot;c1a3_emerge&amp;quot;&lt;br /&gt;
		51 : &amp;quot;haulbarney&amp;quot;&lt;br /&gt;
		52 : &amp;quot;intropush&amp;quot;&lt;br /&gt;
		53 : &amp;quot;fence&amp;quot;&lt;br /&gt;
		54 : &amp;quot;sit1&amp;quot;&lt;br /&gt;
		55 : &amp;quot;almostidle&amp;quot;&lt;br /&gt;
		56 : &amp;quot;almost&amp;quot;&lt;br /&gt;
		57 : &amp;quot;laseridle&amp;quot;&lt;br /&gt;
		58 : &amp;quot;laser_top&amp;quot;&lt;br /&gt;
		59 : &amp;quot;laser_bottom&amp;quot;&lt;br /&gt;
		60 : &amp;quot;barneyfallidle&amp;quot;&lt;br /&gt;
		61 : &amp;quot;barneyfall&amp;quot;&lt;br /&gt;
		62 : &amp;quot;c3a2_draw&amp;quot;&lt;br /&gt;
		63 : &amp;quot;unlatch&amp;quot;&lt;br /&gt;
		64 : &amp;quot;retina&amp;quot;&lt;br /&gt;
		65 : &amp;quot;relaxstand&amp;quot;&lt;br /&gt;
		66 : &amp;quot;assassinated&amp;quot;&lt;br /&gt;
		67 : &amp;quot;trackswitch&amp;quot;&lt;br /&gt;
		68 : &amp;quot;pepsiswing&amp;quot;&lt;br /&gt;
		69 : &amp;quot;pepsipush&amp;quot;&lt;br /&gt;
		70 : &amp;quot;buttonpush&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(RenderFields, Appearflags, Angles) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/barney.mdl&amp;quot;) = monster_barney_dead : &amp;quot;Dead Barney&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	pose(Choices) : &amp;quot;Pose&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;On back&amp;quot;&lt;br /&gt;
		1 : &amp;quot;On side&amp;quot;&lt;br /&gt;
		2 : &amp;quot;On stomach&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	sequence(Choices) : &amp;quot;Animation Sequence (editor)&amp;quot; : 35 =&lt;br /&gt;
	[&lt;br /&gt;
		35 : &amp;quot;lying_on_back&amp;quot;&lt;br /&gt;
		36 : &amp;quot;lying_on_side&amp;quot;&lt;br /&gt;
		37 : &amp;quot;lying_on_stomach&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	model(studio) : &amp;quot;Custom Model&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-95 -95 0, 95 95 190) studio(&amp;quot;models/big_mom.mdl&amp;quot;) = monster_bigmomma : &amp;quot;Big Mamma&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	netname(string) : &amp;quot;First node&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1024: &amp;quot;No Babycrabs&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-480 -480 -112, 480 480 24) studio(&amp;quot;models/blkop_osprey.mdl&amp;quot;) = monster_blkop_osprey : &amp;quot;Black Ops Osprey&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		64 : &amp;quot;Start Inactive&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-360 -360 -172, 360 360 8) studio(&amp;quot;models/blkop_apache.mdl&amp;quot;) = monster_blkop_apache : &amp;quot;Black Ops Apache&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		8 : &amp;quot;NoWreckage&amp;quot;	: 0&lt;br /&gt;
		64 : &amp;quot;Start Inactive&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/floater.mdl&amp;quot;) = monster_bloater : &amp;quot;Bloater&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/bgman.mdl&amp;quot;) = monster_bodyguard : &amp;quot;Body Guard&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	weapons(Choices) : &amp;quot;Weapons&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Random&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Pistol&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Desert Eagle&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Shotgun&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Akimbo Uzis&amp;quot;&lt;br /&gt;
		5 : &amp;quot;MP5&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Sniper Rifle&amp;quot;&lt;br /&gt;
		7 : &amp;quot;Minigun&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-32 -32 0, 32 32 64) studio(&amp;quot;models/bullsquid.mdl&amp;quot;) = monster_bullchicken : &amp;quot;BullChicken&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 36) studio(&amp;quot;models/chubby.mdl&amp;quot;) = monster_chumtoad : &amp;quot;Chumtoad&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster, TalkMonster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/cleansuit_scientist.mdl&amp;quot;) = monster_cleansuit_scientist : &amp;quot;Cleansuit Scientist&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	body(Choices) : &amp;quot;Body&amp;quot; : -1 =&lt;br /&gt;
	[&lt;br /&gt;
		-1 : &amp;quot;Random&amp;quot;&lt;br /&gt;
		0 : &amp;quot;Glasses&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Einstein&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Luther&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Slick&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	sequence(Choices) : &amp;quot;Animation Sequence (editor)&amp;quot; : 13 =&lt;br /&gt;
	[&lt;br /&gt;
		13 : &amp;quot;idle1&amp;quot;&lt;br /&gt;
		27 : &amp;quot;eye_wipe&amp;quot;&lt;br /&gt;
		28 : &amp;quot;pull_needle&amp;quot;&lt;br /&gt;
		29 : &amp;quot;return_needle&amp;quot;&lt;br /&gt;
		30 : &amp;quot;give_shot&amp;quot;&lt;br /&gt;
		41 : &amp;quot;germandeath&amp;quot;&lt;br /&gt;
		48 : &amp;quot;console&amp;quot;&lt;br /&gt;
		49 : &amp;quot;dryhands&amp;quot;&lt;br /&gt;
		50 : &amp;quot;tieshoe&amp;quot;&lt;br /&gt;
		51 : &amp;quot;whiteboard&amp;quot;&lt;br /&gt;
		52 : &amp;quot;studycart&amp;quot;&lt;br /&gt;
		53 : &amp;quot;lean&amp;quot;&lt;br /&gt;
		54 : &amp;quot;pondering&amp;quot;&lt;br /&gt;
		55 : &amp;quot;pondering2&amp;quot;&lt;br /&gt;
		56 : &amp;quot;pondering3&amp;quot;&lt;br /&gt;
		57 : &amp;quot;buysoda&amp;quot;&lt;br /&gt;
		61 : &amp;quot;push_button&amp;quot;&lt;br /&gt;
		62 : &amp;quot;converse1&amp;quot;&lt;br /&gt;
		63 : &amp;quot;converse2&amp;quot;&lt;br /&gt;
		64 : &amp;quot;retina&amp;quot;&lt;br /&gt;
		65 : &amp;quot;talkleft&amp;quot;&lt;br /&gt;
		66 : &amp;quot;talkright&amp;quot;&lt;br /&gt;
		67 : &amp;quot;deskidle&amp;quot;&lt;br /&gt;
		68 : &amp;quot;coffee&amp;quot;&lt;br /&gt;
		69 : &amp;quot;franticbutton&amp;quot;&lt;br /&gt;
		71 : &amp;quot;scientist_throwna&amp;quot;&lt;br /&gt;
		72 : &amp;quot;scientist_thrownb&amp;quot;&lt;br /&gt;
		73 : &amp;quot;scientist_beatwindow&amp;quot;&lt;br /&gt;
		75 : &amp;quot;scientist_zombiefear&amp;quot;&lt;br /&gt;
		77 : &amp;quot;teleport_fidget&amp;quot;&lt;br /&gt;
		79 : &amp;quot;sitlookleft&amp;quot;&lt;br /&gt;
		80 : &amp;quot;sitlookright&amp;quot;&lt;br /&gt;
		81 : &amp;quot;sitscared&amp;quot;&lt;br /&gt;
		82 : &amp;quot;sitting2&amp;quot;&lt;br /&gt;
		83 : &amp;quot;sitting3&amp;quot;&lt;br /&gt;
		84 : &amp;quot;cprscientist&amp;quot;&lt;br /&gt;
		85 : &amp;quot;cprscientistrevive&amp;quot;&lt;br /&gt;
		86 : &amp;quot;cowering_in_corner&amp;quot;&lt;br /&gt;
		87 : &amp;quot;sstruggleidle&amp;quot;&lt;br /&gt;
		88 : &amp;quot;sstruggle&amp;quot;&lt;br /&gt;
		89 : &amp;quot;headcrabbed&amp;quot;&lt;br /&gt;
		90 : &amp;quot;c1a0_catwalkidle&amp;quot;&lt;br /&gt;
		91 : &amp;quot;c1a0_catwalk&amp;quot;&lt;br /&gt;
		92 : &amp;quot;ceiling_dangle&amp;quot;&lt;br /&gt;
		93 : &amp;quot;ventpull1&amp;quot;&lt;br /&gt;
		94 : &amp;quot;ventpull2&amp;quot;&lt;br /&gt;
		95 : &amp;quot;ventpullidle1&amp;quot;&lt;br /&gt;
		96 : &amp;quot;ventpullidle2&amp;quot;&lt;br /&gt;
		97 : &amp;quot;sitidle&amp;quot;&lt;br /&gt;
		98 : &amp;quot;sitstand&amp;quot;&lt;br /&gt;
		99 : &amp;quot;keypad&amp;quot;&lt;br /&gt;
		101 : &amp;quot;lookwindow&amp;quot;&lt;br /&gt;
		102 : &amp;quot;wave&amp;quot;&lt;br /&gt;
		103 : &amp;quot;pulldoor&amp;quot;&lt;br /&gt;
		104 : &amp;quot;beatdoor&amp;quot;&lt;br /&gt;
		105 : &amp;quot;fallingloop&amp;quot;&lt;br /&gt;
		106 : &amp;quot;crawlwindow&amp;quot;&lt;br /&gt;
		107 : &amp;quot;divewindow&amp;quot;&lt;br /&gt;
		108 : &amp;quot;locked_door&amp;quot;&lt;br /&gt;
		109 : &amp;quot;push_button2&amp;quot;&lt;br /&gt;
		110 : &amp;quot;unlock_door&amp;quot;&lt;br /&gt;
		112 : &amp;quot;handrailidle&amp;quot;&lt;br /&gt;
		113 : &amp;quot;handrail&amp;quot;&lt;br /&gt;
		114 : &amp;quot;hanging_idle&amp;quot;&lt;br /&gt;
		115 : &amp;quot;fall&amp;quot;&lt;br /&gt;
		116 : &amp;quot;scientist_get_pulled&amp;quot;&lt;br /&gt;
		117 : &amp;quot;hanging_idle2&amp;quot;&lt;br /&gt;
		118 : &amp;quot;fall_elevator&amp;quot;&lt;br /&gt;
		119 : &amp;quot;scientist_idlewall&amp;quot;&lt;br /&gt;
		120 : &amp;quot;ickyjump_sci&amp;quot;&lt;br /&gt;
		121 : &amp;quot;haulscientist&amp;quot;&lt;br /&gt;
		122 : &amp;quot;c1a4_wounded_idle&amp;quot;&lt;br /&gt;
		123 : &amp;quot;c1a4_dying_speech&amp;quot;&lt;br /&gt;
		124 : &amp;quot;tentacle_grab&amp;quot;&lt;br /&gt;
		125 : &amp;quot;helicack&amp;quot;&lt;br /&gt;
		126 : &amp;quot;windive&amp;quot;&lt;br /&gt;
		127 : &amp;quot;scicrashidle&amp;quot;&lt;br /&gt;
		128 : &amp;quot;scicrash&amp;quot;&lt;br /&gt;
		129 : &amp;quot;onguard&amp;quot;&lt;br /&gt;
		130 : &amp;quot;seeya&amp;quot;&lt;br /&gt;
		131 : &amp;quot;rocketcrawl&amp;quot;&lt;br /&gt;
		132 : &amp;quot;portal&amp;quot;&lt;br /&gt;
		133 : &amp;quot;gluonshow&amp;quot;&lt;br /&gt;
		135 : &amp;quot;kneel&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Appearflags, RenderFields, Angles) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/cleansuit_scientist.mdl&amp;quot;) = monster_cleansuit_scientist_dead : &amp;quot;Dead Cleansuit Scientist&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	body(Choices) : &amp;quot;Body&amp;quot; : -1 =&lt;br /&gt;
	[&lt;br /&gt;
		-1 : &amp;quot;Random&amp;quot;&lt;br /&gt;
		0 : &amp;quot;Glasses&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Einstein&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Luther&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Slick&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	pose(Choices) : &amp;quot;Pose&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;On back&amp;quot;&lt;br /&gt;
		1 : &amp;quot;On Stomach&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Sitting&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Hanging&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Table1&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Table2&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Table3&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	sequence(Choices) : &amp;quot;Animation Sequence (editor)&amp;quot; : 37 =&lt;br /&gt;
	[&lt;br /&gt;
		37 : &amp;quot;lying_on_back&amp;quot;&lt;br /&gt;
		38 : &amp;quot;lying_on_stomach&amp;quot;&lt;br /&gt;
		39 : &amp;quot;dead_sitting&amp;quot;&lt;br /&gt;
		40 : &amp;quot;dead_table1&amp;quot;&lt;br /&gt;
		41 : &amp;quot;dead_table2&amp;quot;&lt;br /&gt;
		42 : &amp;quot;dead_table3&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	model(studio) : &amp;quot;Custom Model&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-3 -3 0, 3 3 3) studio(&amp;quot;models/roach.mdl&amp;quot;) = monster_cockroach : &amp;quot;Cockroach&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 72) studio() = monster_furniture : &amp;quot;Monster Furniture&amp;quot; [&lt;br /&gt;
	sequence(string) : &amp;quot;Animation Sequence (Number)&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-32 -32 0, 32 32 128) studio(&amp;quot;models/garg.mdl&amp;quot;) = monster_gargantua : &amp;quot;Gargantua&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster, RenderFields) size(-16 -16 -36, 16 16 36) studio() = monster_generic : &amp;quot;Generic Script Monster&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	sequence(string) : &amp;quot;Animation Sequence (Number)&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		4 : &amp;quot;Not solid&amp;quot;	: 0&lt;br /&gt;
		8 : &amp;quot;Head Controller&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	disableai(choices) : &amp;quot;Disable AI&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/gman.mdl&amp;quot;) = monster_gman : &amp;quot;G-Man&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/gonome.mdl&amp;quot;) = monster_gonome : &amp;quot;Gonome&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(RenderFields, Appearflags, Angles) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/gonome.mdl&amp;quot;) = monster_gonome_dead : &amp;quot;Dead Gonome&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	pose(Choices) : &amp;quot;Pose&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;On stomach&amp;quot;&lt;br /&gt;
		1 : &amp;quot;On back&amp;quot;&lt;br /&gt;
		2 : &amp;quot;On side&amp;quot;&lt;br /&gt;
		3 : &amp;quot;On stomach&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	sequence(Choices) : &amp;quot;Animation Sequence (editor)&amp;quot; : 19 =&lt;br /&gt;
	[&lt;br /&gt;
		19 : &amp;quot;dead_on_stomach1_1&amp;quot;&lt;br /&gt;
		20 : &amp;quot;dead_on_back&amp;quot;&lt;br /&gt;
		21 : &amp;quot;dead_on_stomach1_2&amp;quot;&lt;br /&gt;
		22 : &amp;quot;dead_on_side&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	model(studio) : &amp;quot;Custom Model&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/hgrunt_opfor.mdl&amp;quot;) = monster_grunt_ally_repel : &amp;quot;Human Grunt Ally (Repel)&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	netname(string) : &amp;quot;Squad Name&amp;quot;&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		32 : &amp;quot;SquadLeader&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	weapons(Choices) : &amp;quot;Weapons&amp;quot; : 3 =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;MP5&amp;quot;&lt;br /&gt;
		3 : &amp;quot;MP5 + HG&amp;quot;&lt;br /&gt;
		5 : &amp;quot;M16 + GL&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Shotgun&amp;quot;&lt;br /&gt;
		10 : &amp;quot;Shotgun + HG&amp;quot;&lt;br /&gt;
		16 : &amp;quot;Saw&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	head(Choices) : &amp;quot;Heads&amp;quot; : -1 =&lt;br /&gt;
	[&lt;br /&gt;
		-1 : &amp;quot;Default&amp;quot;&lt;br /&gt;
		0 : &amp;quot;Gas Mask&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Beret&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Ops Mask&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Bandana White&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Bandana Black&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	sequence(Choices) : &amp;quot;Animation Sequence (editor)&amp;quot; : 51 =&lt;br /&gt;
	[&lt;br /&gt;
		51 : &amp;quot;repel_repel&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/hgrunt.mdl&amp;quot;) = monster_grunt_repel : &amp;quot;Human Grunt (Repel)&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	netname(string) : &amp;quot;Squad Name&amp;quot;&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		32 : &amp;quot;SquadLeader&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	weapons(Choices) : &amp;quot;Weapons&amp;quot; : 1 =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;MP5&amp;quot;&lt;br /&gt;
		3 : &amp;quot;MP5 + HG&amp;quot;&lt;br /&gt;
		5 : &amp;quot;M16 + GL&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Shotgun&amp;quot;&lt;br /&gt;
		10 : &amp;quot;Shotgun + HG&amp;quot;&lt;br /&gt;
		64 : &amp;quot;Rocket Launcher&amp;quot;&lt;br /&gt;
		66 : &amp;quot;Rocket Launcher + HG&amp;quot;&lt;br /&gt;
		128 : &amp;quot;Sniper Rifle&amp;quot;&lt;br /&gt;
		130 : &amp;quot;Sniper Rifle + HG&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	sequence(Choices) : &amp;quot;Animation Sequence (editor)&amp;quot; : 50 =&lt;br /&gt;
	[&lt;br /&gt;
		50 : &amp;quot;repel_repel&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(RenderFields, Appearflags, Angles) = monster_handgrenade : &amp;quot;Live Handgrenade&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	health(integer) : &amp;quot;Delay before explosion&amp;quot; : 0&lt;br /&gt;
	new_model(studio) : &amp;quot;Custom Model&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 36) studio(&amp;quot;models/headcrab.mdl&amp;quot;) = monster_headcrab : &amp;quot;Head Crab&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Appearflags, RenderFields, Angles) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/player.mdl&amp;quot;) = monster_hevsuit_dead : &amp;quot;Dead HEV Suit&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	pose(Choices) : &amp;quot;Pose&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;On back&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Seated&amp;quot;&lt;br /&gt;
		2 : &amp;quot;On stomach&amp;quot;&lt;br /&gt;
		3 : &amp;quot;On Table&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	sequence(Choices) : &amp;quot;Animation Sequence (editor)&amp;quot; : 177 =&lt;br /&gt;
	[&lt;br /&gt;
		177 : &amp;quot;deadback&amp;quot;&lt;br /&gt;
		178 : &amp;quot;deadsitting&amp;quot;&lt;br /&gt;
		179 : &amp;quot;deadstomach&amp;quot;&lt;br /&gt;
		180 : &amp;quot;deadtable&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	model(studio) : &amp;quot;Custom Model&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Appearflags, RenderFields, Angles) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/hgrunt.mdl&amp;quot;) = monster_hgrunt_dead : &amp;quot;Dead Human Grunt&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	pose(Choices) : &amp;quot;Pose&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;On stomach&amp;quot;&lt;br /&gt;
		1 : &amp;quot;On side&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Seated&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	sequence(Choices) : &amp;quot;Animation Sequence (editor)&amp;quot; : 46 =&lt;br /&gt;
	[&lt;br /&gt;
		46 : &amp;quot;On stomach&amp;quot;&lt;br /&gt;
		47 : &amp;quot;On side&amp;quot;&lt;br /&gt;
		48 : &amp;quot;Seated&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	body(Choices) : &amp;quot;Body&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Grunt with Gun&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Commander with Gun&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Grunt no Gun&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Commander no Gun&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	model(studio) : &amp;quot;Custom Model&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 36) studio(&amp;quot;models/houndeye.mdl&amp;quot;) = monster_houndeye : &amp;quot;Houndeye&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	netname(string) : &amp;quot;Squad Name&amp;quot;&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		32 : &amp;quot;SquadLeader&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/hassassin.mdl&amp;quot;) = monster_human_assassin : &amp;quot;Human Assassin&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/hgrunt.mdl&amp;quot;) = monster_human_grunt : &amp;quot;Human Grunt (camo)&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		32 : &amp;quot;SquadLeader&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	netname(string) : &amp;quot;Squad Name&amp;quot;&lt;br /&gt;
	weapons(Choices) : &amp;quot;Weapons&amp;quot; : 1 =&lt;br /&gt;
	[&lt;br /&gt;
		1  : &amp;quot;MP5&amp;quot;&lt;br /&gt;
		3  : &amp;quot;MP5 + HG&amp;quot;&lt;br /&gt;
		5  : &amp;quot;M16 + GL&amp;quot;&lt;br /&gt;
		8  : &amp;quot;Shotgun&amp;quot;&lt;br /&gt;
		10 : &amp;quot;Shotgun + HG&amp;quot;&lt;br /&gt;
		64 : &amp;quot;Rocket Launcher&amp;quot;&lt;br /&gt;
		66 : &amp;quot;Rocket Launcher + HG&amp;quot;&lt;br /&gt;
		128 : &amp;quot;Sniper Rifle&amp;quot;&lt;br /&gt;
		130 : &amp;quot;Sniper Rifle + HG&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster, TalkMonster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/hgruntf.mdl&amp;quot;) = monster_human_grunt_ally : &amp;quot;Human Grunt Ally (camo)&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	netname(string) : &amp;quot;Squad Name&amp;quot;&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		32 : &amp;quot;SquadLeader&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	weapons(Choices) : &amp;quot;Weapons&amp;quot; : 3 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Default&amp;quot;&lt;br /&gt;
		1 : &amp;quot;MP5&amp;quot;&lt;br /&gt;
		3 : &amp;quot;MP5 + HG&amp;quot;&lt;br /&gt;
		5 : &amp;quot;M16 + GL&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Shotgun&amp;quot;&lt;br /&gt;
		10 : &amp;quot;Shotgun + HG&amp;quot;&lt;br /&gt;
		16 : &amp;quot;Saw&amp;quot;&lt;br /&gt;
		32 : &amp;quot;None&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	head(Choices) : &amp;quot;Heads&amp;quot; : -1 =&lt;br /&gt;
	[&lt;br /&gt;
		-1 : &amp;quot;Default&amp;quot;&lt;br /&gt;
		0 : &amp;quot;Gas Mask&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Beret&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Ops Mask&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Bandana White&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Bandana Black&amp;quot;&lt;br /&gt;
		5 : &amp;quot;MP&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Major&amp;quot;&lt;br /&gt;
		7 : &amp;quot;Beret (Black)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Appearflags, RenderFields, Angles) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/hgruntf.mdl&amp;quot;) = monster_human_grunt_ally_dead : &amp;quot;Dead Human Grunt Ally&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	pose(Choices) : &amp;quot;Pose&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;On stomach&amp;quot;&lt;br /&gt;
		1 : &amp;quot;On side&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Seated&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Dead On Back&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Dead On Stomach&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Head Crabbed&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	sequence(Choices) : &amp;quot;Animation Sequence (editor)&amp;quot; : 44 =&lt;br /&gt;
	[&lt;br /&gt;
		44 : &amp;quot;On stomach&amp;quot;&lt;br /&gt;
		45 : &amp;quot;On side&amp;quot;&lt;br /&gt;
		46 : &amp;quot;Seated&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	weapons(Choices) : &amp;quot;Weapons&amp;quot; : 1 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;None&amp;quot;&lt;br /&gt;
		1 : &amp;quot;M16&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Shotgun&amp;quot;&lt;br /&gt;
		16 : &amp;quot;Saw&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	head(Choices) : &amp;quot;Heads&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Gas Mask&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Beret&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Ops Mask&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Bandana White&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Bandana Black&amp;quot;&lt;br /&gt;
		5 : &amp;quot;MP&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	model(studio) : &amp;quot;Custom Model&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster, TalkMonster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/hgrunt_medicf.mdl&amp;quot;) = monster_human_medic_ally : &amp;quot;Medic&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	netname(string) : &amp;quot;Squad Name&amp;quot;&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		32 : &amp;quot;SquadLeader&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	head(Choices) : &amp;quot;Heads&amp;quot; : -1 =&lt;br /&gt;
	[&lt;br /&gt;
		-1 : &amp;quot;Random&amp;quot;&lt;br /&gt;
		0 : &amp;quot;White&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Black&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	weapons(Choices) : &amp;quot;Weapons&amp;quot; : 2 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;None&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Desert Eagle&amp;quot;&lt;br /&gt;
		2 : &amp;quot;9mm Handgun&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Hypodermic Needle&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Appearflags, RenderFields, Angles) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/hgrunt_medicf.mdl&amp;quot;) = monster_human_medic_ally_dead : &amp;quot;Dead Medic&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	pose(Choices) : &amp;quot;Pose&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;On stomach&amp;quot;&lt;br /&gt;
		1 : &amp;quot;On side&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Seated&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Dead On Back&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Dead On Stomach&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Head Crabbed&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	sequence(Choices) : &amp;quot;Animation Sequence (editor)&amp;quot; : 44 =&lt;br /&gt;
	[&lt;br /&gt;
		44 : &amp;quot;On stomach&amp;quot;&lt;br /&gt;
		45 : &amp;quot;On side&amp;quot;&lt;br /&gt;
		46 : &amp;quot;Seated&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	weapons(Choices) : &amp;quot;Weapons&amp;quot; : 2 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;None&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Desert Eagle&amp;quot;&lt;br /&gt;
		2 : &amp;quot;9mm Handgun&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Hypodermic Needle&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	head(Choices) : &amp;quot;Heads&amp;quot; : -1 =&lt;br /&gt;
	[&lt;br /&gt;
		-1 : &amp;quot;Random&amp;quot;&lt;br /&gt;
		0 : &amp;quot;White&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Black&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	model(studio) : &amp;quot;Custom Model&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster, TalkMonster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/hgrunt_torchf.mdl&amp;quot;) = monster_human_torch_ally : &amp;quot;Torch&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	netname(string) : &amp;quot;Squad Name&amp;quot;&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		32 : &amp;quot;SquadLeader&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	weapons(Choices) : &amp;quot;Weapons&amp;quot; : 1 =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Desert Eagle&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Blow Torch&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/hwgrunt.mdl&amp;quot;) = monster_hwgrunt : &amp;quot;Heavy Weapons Grunt&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	netname(string) : &amp;quot;Squad Name&amp;quot;&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		32 : &amp;quot;SquadLeader&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	weapons(Choices) : &amp;quot;Secondary Weapon&amp;quot; : 1 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Random Pistol&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Glock&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Desert Eagle&amp;quot;&lt;br /&gt;
		3 : &amp;quot;357 Python&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	disable_minigun_drop(Choices) : &amp;quot;Disable Minigun Drop&amp;quot; : 1 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No (default)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/hwgrunt.mdl&amp;quot;) = monster_hwgrunt_repel : &amp;quot;Heavy Weapons Grunt (Repel)&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	netname(string) : &amp;quot;Squad Name&amp;quot;&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		32 : &amp;quot;SquadLeader&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	sequence(Choices) : &amp;quot;Animation Sequence (editor)&amp;quot; : 14 =&lt;br /&gt;
	[&lt;br /&gt;
		14 : &amp;quot;repel_repel&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	weapons(Choices) : &amp;quot;Drop Minigun&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Yes (on death)&amp;quot;&lt;br /&gt;
		256 : &amp;quot;No&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-32 -32 0, 32 32 64) studio(&amp;quot;models/icky.mdl&amp;quot;) = monster_ichthyosaur : &amp;quot;Ichthyosaur&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-24 -24 0, 24 24 112) studio(&amp;quot;models/kingpin.mdl&amp;quot;) = monster_kingpin : &amp;quot;Kingpin&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-6 -6 0, 6 6 6) studio(&amp;quot;models/leech.mdl&amp;quot;) = monster_leech : &amp;quot;Leech&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/massn.mdl&amp;quot;) = monster_male_assassin : &amp;quot;Male Assassin&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	netname(string) : &amp;quot;Squad Name&amp;quot;&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		32 : &amp;quot;SquadLeader&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	head(Choices) : &amp;quot;Heads&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		-1 : &amp;quot;Random&amp;quot;&lt;br /&gt;
		0 : &amp;quot;Ski Mask White&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Ski Mask Black&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Night Goggles&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	weapons(Choices) : &amp;quot;Weapons&amp;quot; : 3 =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;MP5&amp;quot;&lt;br /&gt;
		3 : &amp;quot;MP5 + HG&amp;quot;&lt;br /&gt;
		5 : &amp;quot;M16 + GL&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Sniper Rifle&amp;quot;&lt;br /&gt;
		10 : &amp;quot;Sniper Rifle + HG&amp;quot;&lt;br /&gt;
		32 : &amp;quot;No Weapons&amp;quot;&lt;br /&gt;
		256 : &amp;quot;Sniper - No drop&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/hgrunt_medicf.mdl&amp;quot;) = monster_medic_ally_repel : &amp;quot;Human Medic Ally (Repel)&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	netname(string) : &amp;quot;Squad Name&amp;quot;&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		32 : &amp;quot;SquadLeader&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	head(Choices) : &amp;quot;Heads&amp;quot; : -1 =&lt;br /&gt;
	[&lt;br /&gt;
		-1 : &amp;quot;Random&amp;quot;&lt;br /&gt;
		0 : &amp;quot;White&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Black&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	weapons(Choices) : &amp;quot;Weapons&amp;quot; : 2 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;None&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Desert Eagle&amp;quot;&lt;br /&gt;
		2 : &amp;quot;9mm Handgun&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Hypodermic Needle&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	sequence(Choices) : &amp;quot;Animation Sequence (editor)&amp;quot; : 41 =&lt;br /&gt;
	[&lt;br /&gt;
		41 : &amp;quot;repel_repel&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 -32, 16 16 32) studio(&amp;quot;models/miniturret.mdl&amp;quot;) = monster_miniturret : &amp;quot;Mini Auto Turret&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	orientation(Choices) : &amp;quot;Orientation&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Floor Mount&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Ceiling Mount&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		32 : &amp;quot;Autostart&amp;quot; : 0&lt;br /&gt;
		64 : &amp;quot;Start Inactive&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	maxsleep(string) : &amp;quot;Search Time (before deactivate)&amp;quot; : &amp;quot;15&amp;quot;&lt;br /&gt;
	turnrate(integer) : &amp;quot;Turn Rate&amp;quot; : 30&lt;br /&gt;
	attackrange(integer) : &amp;quot;Max Attack Range&amp;quot; : 1200&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-192 -192 0, 192 192 384) studio(&amp;quot;models/nihilanth.mdl&amp;quot;) = monster_nihilanth : &amp;quot;Nihilanth&amp;quot;  []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-480 -480 -112, 480 480 24) studio(&amp;quot;models/osprey.mdl&amp;quot;) = monster_osprey : &amp;quot;Osprey&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		64 : &amp;quot;Start Inactive&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	// If Random grunttype is set, osprey will look for NORMAL grunts.&lt;br /&gt;
	// Mapper can override number of grunts if desired, instead.&lt;br /&gt;
&lt;br /&gt;
	grunttype(Choices) : &amp;quot;Grunt Type&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Human Grunts (default)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Opposing Force Grunts&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		// Human Grunts and Opposing Force grunts will drop&lt;br /&gt;
		2 : &amp;quot;Random&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		// HWGrunt will have a small chance of appearing if set&lt;br /&gt;
		3 : &amp;quot;Random + HWGrunt&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		// HWGrunt and Sniper will have a small chance of appearing if set&lt;br /&gt;
		4 : &amp;quot;Random + HWGrunt/Sniper&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	num(integer) : &amp;quot;(Override) Number of Grunts&amp;quot; : 0&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster, TalkMonster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/otis.mdl&amp;quot;) = monster_otis : &amp;quot;Otis&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	bodystate(Choices) : &amp;quot;bodystate&amp;quot; : -1 =&lt;br /&gt;
	[&lt;br /&gt;
		-1 : &amp;quot;Random&amp;quot;&lt;br /&gt;
		0 : &amp;quot;Gun Holstered&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Gun Drawn&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Donut&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	head(Choices) : &amp;quot;head&amp;quot; : -1 =&lt;br /&gt;
	[&lt;br /&gt;
		-1 : &amp;quot;Random&amp;quot;&lt;br /&gt;
		0 : &amp;quot;Bald Head&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Head with hair&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	sequence(Choices) : &amp;quot;Animation Sequence (editor)&amp;quot; : 0 =&lt;br /&gt;
		[&lt;br /&gt;
			0 : &amp;quot;idle1&amp;quot;&lt;br /&gt;
			19 : &amp;quot;locked_door&amp;quot;&lt;br /&gt;
			21 : &amp;quot;barn_Wave&amp;quot;&lt;br /&gt;
			22 : &amp;quot;beat_grunt&amp;quot;&lt;br /&gt;
			23 : &amp;quot;beat_gruntidle&amp;quot;&lt;br /&gt;
			24 : &amp;quot;flashlight&amp;quot;&lt;br /&gt;
			41 : &amp;quot;cprbarney&amp;quot;&lt;br /&gt;
			42 : &amp;quot;cprbarneyrevive&amp;quot;&lt;br /&gt;
			43 : &amp;quot;barney_dragvent&amp;quot;&lt;br /&gt;
			44 : &amp;quot;dying_barney&amp;quot;&lt;br /&gt;
			45 : &amp;quot;dying_barneyidle&amp;quot;&lt;br /&gt;
			46 : &amp;quot;dying_friend&amp;quot;&lt;br /&gt;
			47 : &amp;quot;dying_friendidle&amp;quot;&lt;br /&gt;
			48 : &amp;quot;c1a3_bidle&amp;quot;&lt;br /&gt;
			49 : &amp;quot;intropush&amp;quot;&lt;br /&gt;
			50 : &amp;quot;fence&amp;quot;&lt;br /&gt;
			51 : &amp;quot;wave&amp;quot;&lt;br /&gt;
			52 : &amp;quot;unlatch&amp;quot;&lt;br /&gt;
			53 : &amp;quot;retina&amp;quot;&lt;br /&gt;
			54 : &amp;quot;relaxstand&amp;quot;&lt;br /&gt;
			55 : &amp;quot;trackswitch&amp;quot;&lt;br /&gt;
			56 : &amp;quot;pepsiswing&amp;quot;&lt;br /&gt;
			57 : &amp;quot;pepsipush&amp;quot;&lt;br /&gt;
			58 : &amp;quot;buttonpush&amp;quot;&lt;br /&gt;
			59 : &amp;quot;cowering&amp;quot;&lt;br /&gt;
			60 : &amp;quot;candygrab&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(RenderFields, Appearflags, Angles) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/otis.mdl&amp;quot;) = monster_otis_dead : &amp;quot;Dead Otis&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	pose(Choices) : &amp;quot;Pose&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;On back&amp;quot;&lt;br /&gt;
		1 : &amp;quot;On side&amp;quot;&lt;br /&gt;
		2 : &amp;quot;On stomach&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Stuffed in Vent&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Dead Sitting&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	sequence(Choices) : &amp;quot;Animation Sequence (editor)&amp;quot; : 35 =&lt;br /&gt;
	[&lt;br /&gt;
		35 : &amp;quot;lying_on_back&amp;quot;&lt;br /&gt;
		36 : &amp;quot;lying_on_side&amp;quot;&lt;br /&gt;
		37 : &amp;quot;lying_on_stomach&amp;quot;&lt;br /&gt;
		38 : &amp;quot;stuffed_in_vent&amp;quot;&lt;br /&gt;
		39 : &amp;quot;dead_sitting&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	model(studio) : &amp;quot;Custom Model&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-24 -24 0, 24 24 32) studio(&amp;quot;models/pit_drone.mdl&amp;quot;) = monster_pitdrone : &amp;quot;Pit Drone&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		32 : &amp;quot;SquadLeader&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	netname(string) : &amp;quot;Squad Name&amp;quot;&lt;br /&gt;
	initammo(string) : &amp;quot;Initial Ammo&amp;quot; : &amp;quot;6&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-6 -6 0, 6 6 6) studio(&amp;quot;models/bigrat.mdl&amp;quot;) = monster_rat : &amp;quot;Rat&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/rgrunt.mdl&amp;quot;) = monster_robogrunt : &amp;quot;Robot Grunt&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		32 : &amp;quot;SquadLeader&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	netname(string) : &amp;quot;Squad Name&amp;quot;&lt;br /&gt;
	weapons(Choices) : &amp;quot;Weapons&amp;quot; : 1 =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;MP5&amp;quot;&lt;br /&gt;
		3 : &amp;quot;MP5 + HG&amp;quot;&lt;br /&gt;
		5 : &amp;quot;M16 + GL&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Shotgun&amp;quot;&lt;br /&gt;
		10 : &amp;quot;Shotgun + HG&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/rgrunt.mdl&amp;quot;) = monster_robogrunt_repel : &amp;quot;Robot Grunt&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	weapons(Choices) : &amp;quot;Weapons&amp;quot; : 1 =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;MP5&amp;quot;&lt;br /&gt;
		3 : &amp;quot;MP5 + HG&amp;quot;&lt;br /&gt;
		5 : &amp;quot;M16 + GL&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Shotgun&amp;quot;&lt;br /&gt;
		10 : &amp;quot;Shotgun + HG&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	sequence(Choices) : &amp;quot;Animation Sequence (editor)&amp;quot; : 48 =&lt;br /&gt;
	[&lt;br /&gt;
		48 : &amp;quot;repel_repel&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx, RenderFields) studio(&amp;quot;models/w_satchel.mdl&amp;quot;) = monster_satchel : &amp;quot;Live Satchel Charge&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster, TalkMonster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/scientist.mdl&amp;quot;) = monster_scientist : &amp;quot;Scared Scientist&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	body(Choices) : &amp;quot;Body&amp;quot; : -1 =&lt;br /&gt;
	[&lt;br /&gt;
		-1 : &amp;quot;Random&amp;quot;&lt;br /&gt;
		0 : &amp;quot;Glasses&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Einstein&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Luther&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Slick&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	sequence(Choices) : &amp;quot;Animation Sequence (editor)&amp;quot; : 13 =&lt;br /&gt;
	[&lt;br /&gt;
		13 : &amp;quot;idle1&amp;quot;&lt;br /&gt;
		27 : &amp;quot;eye_wipe&amp;quot;&lt;br /&gt;
		28 : &amp;quot;pull_needle&amp;quot;&lt;br /&gt;
		29 : &amp;quot;return_needle&amp;quot;&lt;br /&gt;
		30 : &amp;quot;give_shot&amp;quot;&lt;br /&gt;
		37 : &amp;quot;lying_on_back&amp;quot;&lt;br /&gt;
		38 : &amp;quot;lying_on_stomach&amp;quot;&lt;br /&gt;
		39 : &amp;quot;dead_sitting&amp;quot;&lt;br /&gt;
		40 : &amp;quot;dead_table1&amp;quot;&lt;br /&gt;
		41 : &amp;quot;dead_table2&amp;quot;&lt;br /&gt;
		42 : &amp;quot;dead_table3&amp;quot;&lt;br /&gt;
		47 : &amp;quot;console&amp;quot;&lt;br /&gt;
		48 : &amp;quot;checktie&amp;quot;&lt;br /&gt;
		49 : &amp;quot;dryhands&amp;quot;&lt;br /&gt;
		50 : &amp;quot;tieshoe&amp;quot;&lt;br /&gt;
		51 : &amp;quot;whiteboard&amp;quot;&lt;br /&gt;
		52 : &amp;quot;studycart&amp;quot;&lt;br /&gt;
		53 : &amp;quot;lean&amp;quot;&lt;br /&gt;
		54 : &amp;quot;pondering&amp;quot;&lt;br /&gt;
		55 : &amp;quot;pondering2&amp;quot;&lt;br /&gt;
		56 : &amp;quot;pondering3&amp;quot;&lt;br /&gt;
		57 : &amp;quot;buysoda&amp;quot;&lt;br /&gt;
		61 : &amp;quot;push_button&amp;quot;&lt;br /&gt;
		62 : &amp;quot;converse1&amp;quot;&lt;br /&gt;
		63 : &amp;quot;converse2&amp;quot;&lt;br /&gt;
		64 : &amp;quot;retina&amp;quot;&lt;br /&gt;
		65 : &amp;quot;talkleft&amp;quot;&lt;br /&gt;
		66 : &amp;quot;talkright&amp;quot;&lt;br /&gt;
		67 : &amp;quot;deskidle&amp;quot;&lt;br /&gt;
		68 : &amp;quot;coffee&amp;quot;&lt;br /&gt;
		69 : &amp;quot;franticbutton&amp;quot;&lt;br /&gt;
		71 : &amp;quot;sitlookleft&amp;quot;&lt;br /&gt;
		72 : &amp;quot;sitlookright&amp;quot;&lt;br /&gt;
		73 : &amp;quot;sitscared&amp;quot;&lt;br /&gt;
		74 : &amp;quot;sitting2&amp;quot;&lt;br /&gt;
		75 : &amp;quot;sitting3&amp;quot;&lt;br /&gt;
		76 : &amp;quot;cprscientist&amp;quot;&lt;br /&gt;
		77 : &amp;quot;cprscientistrevive&amp;quot;&lt;br /&gt;
		78 : &amp;quot;cowering_in_corner&amp;quot;&lt;br /&gt;
		79 : &amp;quot;sstruggleidle&amp;quot;&lt;br /&gt;
		80 : &amp;quot;sstruggle&amp;quot;&lt;br /&gt;
		81 : &amp;quot;headcrabbed&amp;quot;&lt;br /&gt;
		82 : &amp;quot;c1a0_catwalkidle&amp;quot;&lt;br /&gt;
		83 : &amp;quot;c1a0_catwalk&amp;quot;&lt;br /&gt;
		84 : &amp;quot;ceiling_dangle&amp;quot;&lt;br /&gt;
		85 : &amp;quot;ventpull1&amp;quot;&lt;br /&gt;
		86 : &amp;quot;ventpull2&amp;quot;&lt;br /&gt;
		87 : &amp;quot;ventpullidle1&amp;quot;&lt;br /&gt;
		88 : &amp;quot;ventpullidle2&amp;quot;&lt;br /&gt;
		89 : &amp;quot;sitidle&amp;quot;&lt;br /&gt;
		90 : &amp;quot;sitstand&amp;quot;&lt;br /&gt;
		91 : &amp;quot;keypad&amp;quot;&lt;br /&gt;
		93 : &amp;quot;lookwindow&amp;quot;&lt;br /&gt;
		94 : &amp;quot;wave&amp;quot;&lt;br /&gt;
		95 : &amp;quot;pulldoor&amp;quot;&lt;br /&gt;
		96 : &amp;quot;beatdoor&amp;quot;&lt;br /&gt;
		97 : &amp;quot;fallingloop&amp;quot;&lt;br /&gt;
		98 : &amp;quot;crawlwindow&amp;quot;&lt;br /&gt;
		99 : &amp;quot;divewindow&amp;quot;&lt;br /&gt;
		100 : &amp;quot;locked_door&amp;quot;&lt;br /&gt;
		101 : &amp;quot;push_button2&amp;quot;&lt;br /&gt;
		102 : &amp;quot;unlock_door&amp;quot;&lt;br /&gt;
		104 : &amp;quot;handrailidle&amp;quot;&lt;br /&gt;
		105 : &amp;quot;handrail&amp;quot;&lt;br /&gt;
		106 : &amp;quot;hanging_idle&amp;quot;&lt;br /&gt;
		107 : &amp;quot;fall&amp;quot;&lt;br /&gt;
		108 : &amp;quot;scientist_get_pulled&amp;quot;&lt;br /&gt;
		109 : &amp;quot;hanging_idle2&amp;quot;&lt;br /&gt;
		110 : &amp;quot;fall_elevator&amp;quot;&lt;br /&gt;
		111 : &amp;quot;scientist_idlewall&amp;quot;&lt;br /&gt;
		112 : &amp;quot;ickyjump_sci&amp;quot;&lt;br /&gt;
		113 : &amp;quot;haulscientist&amp;quot;&lt;br /&gt;
		114 : &amp;quot;c1a4_wounded_idle&amp;quot;&lt;br /&gt;
		115 : &amp;quot;c1a4_dying_speech&amp;quot;&lt;br /&gt;
		116 : &amp;quot;tentacle_grab&amp;quot;&lt;br /&gt;
		117 : &amp;quot;helicack&amp;quot;&lt;br /&gt;
		118 : &amp;quot;windive&amp;quot;&lt;br /&gt;
		119 : &amp;quot;scicrashidle&amp;quot;&lt;br /&gt;
		120 : &amp;quot;scicrash&amp;quot;&lt;br /&gt;
		121 : &amp;quot;onguard&amp;quot;&lt;br /&gt;
		122 : &amp;quot;seeya&amp;quot;&lt;br /&gt;
		123 : &amp;quot;rocketcrawl&amp;quot;&lt;br /&gt;
		124 : &amp;quot;portal&amp;quot;&lt;br /&gt;
		125 : &amp;quot;gluonshow&amp;quot;&lt;br /&gt;
		127 : &amp;quot;kneel&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Appearflags, RenderFields, Angles) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/scientist.mdl&amp;quot;) = monster_scientist_dead : &amp;quot;Dead Scientist&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	body(Choices) : &amp;quot;Body&amp;quot; : -1 =&lt;br /&gt;
	[&lt;br /&gt;
		-1 : &amp;quot;Random&amp;quot;&lt;br /&gt;
		0 : &amp;quot;Glasses&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Einstein&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Luther&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Slick&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	pose(Choices) : &amp;quot;Pose&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;On back&amp;quot;&lt;br /&gt;
		1 : &amp;quot;On Stomach&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Sitting&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Hanging&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Table1&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Table2&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Table3&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	sequence(Choices) : &amp;quot;Animation Sequence (editor)&amp;quot; : 37 =&lt;br /&gt;
	[&lt;br /&gt;
		37 : &amp;quot;lying_on_back&amp;quot;&lt;br /&gt;
		38 : &amp;quot;lying_on_stomach&amp;quot;&lt;br /&gt;
		39 : &amp;quot;dead_sitting&amp;quot;&lt;br /&gt;
		40 : &amp;quot;dead_table1&amp;quot;&lt;br /&gt;
		41 : &amp;quot;dead_table2&amp;quot;&lt;br /&gt;
		42 : &amp;quot;dead_table3&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	model(studio) : &amp;quot;Custom Model&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/sentry.mdl&amp;quot;) = monster_sentry : &amp;quot;Sentry Turret Gun&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		32 : &amp;quot;Autostart&amp;quot; : 0&lt;br /&gt;
		64 : &amp;quot;Start Inactive&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	attackrange(integer) : &amp;quot;Max Attack Range&amp;quot; : 1200&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 36) studio(&amp;quot;models/w_shock.mdl&amp;quot;) = monster_shockroach : &amp;quot;Shock Roach&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-24 -24 0, 24 24 32) studio(&amp;quot;models/strooper.mdl&amp;quot;) = monster_shocktrooper : &amp;quot;Shock Trooper&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	netname(string) : &amp;quot;Squad Name&amp;quot;&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		32 : &amp;quot;SquadLeader&amp;quot; : 0&lt;br /&gt;
		1024: &amp;quot;No Shockroach&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster, TalkMonster) size(-14 -14 22, 14 14 72) studio(&amp;quot;models/scientist.mdl&amp;quot;) = monster_sitting_scientist : &amp;quot;Sitting Scientist&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	body(Choices) : &amp;quot;Body&amp;quot; : -1 =&lt;br /&gt;
	[&lt;br /&gt;
		-1 : &amp;quot;Random&amp;quot;&lt;br /&gt;
		0 : &amp;quot;Glasses&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Einstein&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Luther&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Slick&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	sequence(Choices) : &amp;quot;Animation Sequence (editor)&amp;quot; : 73 =&lt;br /&gt;
	[&lt;br /&gt;
		71 : &amp;quot;sitlookleft&amp;quot;&lt;br /&gt;
		72 : &amp;quot;sitlookright&amp;quot;&lt;br /&gt;
		73 : &amp;quot;sitscared&amp;quot;&lt;br /&gt;
		74 : &amp;quot;sitting2&amp;quot;&lt;br /&gt;
		75 : &amp;quot;sitting3&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 36) studio(&amp;quot;models/w_squeak.mdl&amp;quot;) = monster_snark : &amp;quot;Armed Snark&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 36) studio(&amp;quot;models/w_sqknest.mdl&amp;quot;) = monster_sqknest : &amp;quot;Snark Nest&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-24 -24 0, 24 24 24) studio(&amp;quot;models/stukabat.mdl&amp;quot;) = monster_stukabat : &amp;quot;Stukabat&amp;quot;  []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-32 -32 0, 32 32 64) studio(&amp;quot;models/tentacle2.mdl&amp;quot;) = monster_tentacle : &amp;quot;Tentacle Arm&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	sweeparc(integer) : &amp;quot;Sweep Arc&amp;quot; : 130&lt;br /&gt;
	sound(Choices) : &amp;quot;Tap Sound&amp;quot; : -1 =&lt;br /&gt;
	[&lt;br /&gt;
		-1 : &amp;quot;None&amp;quot;&lt;br /&gt;
		0 : &amp;quot;Silo&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Dirt&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Water&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/hgrunt_torchf.mdl&amp;quot;) = monster_torch_ally_repel : &amp;quot;Human Torch Ally (Repel)&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	netname(string) : &amp;quot;Squad Name&amp;quot;&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		32 : &amp;quot;SquadLeader&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	weapons(Choices) : &amp;quot;Weapons&amp;quot; : 1 =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Desert Eagle&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Blow Torch&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	sequence(Choices) : &amp;quot;Animation Sequence (editor)&amp;quot; : 39 =&lt;br /&gt;
	[&lt;br /&gt;
		39 : &amp;quot;repel_repel&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) studio(&amp;quot;models/vhe-models/w_tripmine_hammer.mdl&amp;quot;) = monster_tripmine : &amp;quot;Active Tripmine&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Instant On&amp;quot; : 1&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-32 -32 -32, 32 32 32) studio(&amp;quot;models/turret.mdl&amp;quot;) = monster_turret : &amp;quot;Auto Turret&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	orientation(Choices) : &amp;quot;Orientation&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Floor Mount&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Ceiling Mount&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		32 : &amp;quot;Autostart&amp;quot; : 0&lt;br /&gt;
		64 : &amp;quot;Start Inactive&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	maxsleep(string) : &amp;quot;Search Time (before deactivate)&amp;quot; : &amp;quot;15&amp;quot;&lt;br /&gt;
	turnrate(integer) : &amp;quot;Turn Rate&amp;quot; : 30&lt;br /&gt;
	attackrange(integer) : &amp;quot;Max Attack Range&amp;quot; : 1200&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/zombie.mdl&amp;quot;) = monster_zombie : &amp;quot;Scientist Zombie&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	sequence(Choices) : &amp;quot;Animation Sequence (editor)&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0  : &amp;quot;idle1&amp;quot;&lt;br /&gt;
		19 : &amp;quot;getup&amp;quot;&lt;br /&gt;
		20 : &amp;quot;pause&amp;quot;&lt;br /&gt;
		21 : &amp;quot;busting_through_wall&amp;quot;&lt;br /&gt;
		22 : &amp;quot;kick_punch_wall&amp;quot;&lt;br /&gt;
		23 : &amp;quot;bust_window&amp;quot;&lt;br /&gt;
		24 : &amp;quot;soda&amp;quot;&lt;br /&gt;
		25 : &amp;quot;slideidle&amp;quot;&lt;br /&gt;
		26 : &amp;quot;slidewall&amp;quot;&lt;br /&gt;
		27 : &amp;quot;ventclimbidle&amp;quot;&lt;br /&gt;
		28 : &amp;quot;ventclimb&amp;quot;&lt;br /&gt;
		29 : &amp;quot;deadidle&amp;quot;&lt;br /&gt;
		30 : &amp;quot;deadwall&amp;quot;&lt;br /&gt;
		31 : &amp;quot;freakdie&amp;quot;&lt;br /&gt;
		32 : &amp;quot;freak&amp;quot;&lt;br /&gt;
		33 : &amp;quot;eatbodytable&amp;quot;&lt;br /&gt;
		34 : &amp;quot;eatbody&amp;quot;&lt;br /&gt;
		35 : &amp;quot;eatbodystand&amp;quot;&lt;br /&gt;
		36 : &amp;quot;ripdoor&amp;quot;&lt;br /&gt;
		37 : &amp;quot;zombie_pull_scientist&amp;quot;&lt;br /&gt;
		38 : &amp;quot;zombie_eating&amp;quot;&lt;br /&gt;
		39 : &amp;quot;eat_to_stand&amp;quot;&lt;br /&gt;
		40 : &amp;quot;vent_zidle&amp;quot;&lt;br /&gt;
		41 : &amp;quot;vent_c1a3&amp;quot;&lt;br /&gt;
		42 : &amp;quot;haulzombie&amp;quot;&lt;br /&gt;
		43 : &amp;quot;c2a3_snack_getup&amp;quot;&lt;br /&gt;
		44 : &amp;quot;zombie_fight&amp;quot;&lt;br /&gt;
		45 : &amp;quot;crush&amp;quot;&lt;br /&gt;
		48 : &amp;quot;crushed&amp;quot;&lt;br /&gt;
		46 : &amp;quot;spazhard&amp;quot;&lt;br /&gt;
		47 : &amp;quot;spaz&amp;quot;&lt;br /&gt;
		49 : &amp;quot;compthrow_idle&amp;quot;&lt;br /&gt;
		50 : &amp;quot;compthrow&amp;quot;&lt;br /&gt;
		51 : &amp;quot;iceslip&amp;quot;&lt;br /&gt;
		52 : &amp;quot;get_run_over&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/zombie_barney.mdl&amp;quot;) = monster_zombie_barney : &amp;quot;Barney Zombie&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Monster) size(-16 -16 0, 16 16 72) studio(&amp;quot;models/zombie_soldier.mdl&amp;quot;) = monster_zombie_soldier : &amp;quot;Soldier Zombie&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Angles) size(-16 -16 0, 16 16 72) color(245 128 96) = monstermaker : &amp;quot;Monster Maker&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	target(string) : &amp;quot;Target On Release&amp;quot;&lt;br /&gt;
	monstertype(string) : &amp;quot;Monster Type&amp;quot;&lt;br /&gt;
	netname(string) : &amp;quot;Childrens&#039; Name&amp;quot;&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Start ON&amp;quot; 	: 0&lt;br /&gt;
		//2 : &amp;quot;PVS On/Off&amp;quot; : 0&lt;br /&gt;
		4 : &amp;quot;Cyclic&amp;quot; : 0&lt;br /&gt;
		8 : &amp;quot;MonsterClip&amp;quot; : 0&lt;br /&gt;
		1024 : &amp;quot;No Respawn (Collectible)&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	// How many monsters the monstermaker can create (-1 = unlimited)&lt;br /&gt;
	monstercount(integer) : &amp;quot;Monster count &amp;quot; : -1&lt;br /&gt;
&lt;br /&gt;
	respawn_as_playerally(choices) : &amp;quot;Make Player Allys&amp;quot; :  0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Default (0)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Opposite (1)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	// If delay is -1, new monster will be made when last monster dies,&lt;br /&gt;
	// else, delay is the delay in seconds between spawns.&lt;br /&gt;
	delay(string) : &amp;quot;Frequency&amp;quot; : &amp;quot;5&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	// Maximum number of live children allowed at one time. (New ones will not be made until one dies) -1 means no limit.&lt;br /&gt;
	m_imaxlivechildren(integer) : &amp;quot;Max live children&amp;quot; : 5&lt;br /&gt;
&lt;br /&gt;
	health(integer) : &amp;quot;Custom Health&amp;quot; : 0&lt;br /&gt;
	path_name(string) : &amp;quot;Path Name&amp;quot; //The name of the path_waypoint, path_condition, or path_condition_controller this monster will look to.&lt;br /&gt;
&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname) color(255 128 0) = multi_manager : &amp;quot;MultiTarget Manager&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;multithreaded&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Target) color(168 255 168) = multisource : &amp;quot;Multisource&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	globalstate(string) : &amp;quot;Global State Master&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, AttackObject) studio(&amp;quot;models/mortar.mdl&amp;quot;) = op4mortar : &amp;quot;Op4 Mortar&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1  : &amp;quot;Active&amp;quot; : 0&lt;br /&gt;
		16 : &amp;quot;Line of Sight&amp;quot; : 1&lt;br /&gt;
		32 : &amp;quot;Can Control&amp;quot; : 1&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	mortar_velocity(integer) : &amp;quot;Velocity&amp;quot; : 800&lt;br /&gt;
	h_min(integer) : &amp;quot;Horiz MIN&amp;quot; : -90&lt;br /&gt;
	h_max(integer) : &amp;quot;Horiz MAX&amp;quot; : 90&lt;br /&gt;
	mindist(integer) : &amp;quot;Min Target Dist&amp;quot; : 256&lt;br /&gt;
	maxdist(integer) : &amp;quot;Max Target Dist&amp;quot; : 2048&lt;br /&gt;
	firedelay(integer) : &amp;quot;Delay between shots (seconds)&amp;quot; : 5&lt;br /&gt;
&lt;br /&gt;
	is_player_ally(Choices) : &amp;quot;Is Player Ally&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No (Default)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Angles) size(16 16 16) color(247 181 82) = path_corner : &amp;quot;Moving platform stop&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Wait for retrigger&amp;quot; : 0&lt;br /&gt;
		2: &amp;quot;Teleport to this&amp;quot; : 0&lt;br /&gt;
		4: &amp;quot;Fire once&amp;quot; : 0&lt;br /&gt;
		8: &amp;quot;Random targets&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	target(target_destination) : &amp;quot;Next stop target&amp;quot;&lt;br /&gt;
	message(target_destination) : &amp;quot;Fire On Arrive&amp;quot;&lt;br /&gt;
	wait(integer) : &amp;quot;Wait here (secs)&amp;quot; : 0&lt;br /&gt;
	speed(integer) : &amp;quot;New Train Speed&amp;quot; : 0&lt;br /&gt;
	yaw_speed(integer) : &amp;quot;New Train rot. Speed&amp;quot; : 0&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Processes and selects a path_condition for the NPC. Allows for multiple path_conditions to be used for a single NPC.&lt;br /&gt;
@PointClass base(Targetname) color(145 255 145) = path_condition_controller : &amp;quot;NPC Path Condition Controller&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Start Off&amp;quot; : 0 // If checked, this controller starts in-active and can not be used until triggered.&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	pathcondition_list(string) 	: &amp;quot;Path_condition List&amp;quot; 	//Comma separated list of path_condition names (Required).&lt;br /&gt;
&lt;br /&gt;
	selecttype(Choices) 		: &amp;quot;Selection Mode&amp;quot; 		: 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;First Found (Default)&amp;quot; // The first path_condition found (highest priority and active) will be picked.&lt;br /&gt;
		1 : &amp;quot;Random&amp;quot; 				// Any path_condition entities that [share the same priority level] and are [active] will be evaluated together and randomly chosen.&lt;br /&gt;
		2 : &amp;quot;Nearest to NPC&amp;quot; 		// The nearest path_condition found (to the NPC) will be picked. Distance based on path_waypoint to the NPC.&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
//Processes and selects a path_waypoint for the NPC or path_condition_controller.&lt;br /&gt;
@PointClass base(Targetname) color(225 148 32) = path_condition : &amp;quot;NPC Path Condition&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Start Off&amp;quot; : 0	 // If checked, this path_condition starts in-active and can not be used until triggered with USE_ON or USE_TOGGLE.&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	delay_interval(string)			: &amp;quot;Delay Interval&amp;quot;		: &amp;quot;0.1&amp;quot;	//Default time between checks. Minimum is 0.1.&lt;br /&gt;
&lt;br /&gt;
	conditions_reference(string)	: &amp;quot;Conditions (Definition Name)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	mindistance(integer) 			: &amp;quot;Min Distance&amp;quot; 		: 0 	// 0 = infinite. If not within specified range, path_condition isn&#039;t evaluated.&lt;br /&gt;
	maxdistance(integer) 			: &amp;quot;Max Distance&amp;quot; 		: 0 	// 0 = infinite. If not within specified range, path_condition isn&#039;t evaluated.&lt;br /&gt;
&lt;br /&gt;
	starttrigger(string) 			: &amp;quot;Trigger on Stop Condition&amp;quot; 	//Thing to trigger upon start&lt;br /&gt;
&lt;br /&gt;
	priority(integer) 				: &amp;quot;Priority Level&amp;quot; 		: 0 	// 0 would be the default priority, followed by 1, 2, 3, etc. Higher numbers take precedence over lower numbers.&lt;br /&gt;
	selecttype(Choices) 			: &amp;quot;Priority Override&amp;quot; 	: 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;None (Default)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Ignore Following&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Ignore Following and Guarding&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Ignore Following, Guarding, and Scripts&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	pre_location(Choices) 			: &amp;quot;Pre-Waypoint Destination&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;None (Default)&amp;quot;		// Don&#039;t use a pre-waypoint destination, go to the first path_waypoint.&lt;br /&gt;
		1 : &amp;quot;Use This Origin&amp;quot; 		// Use path_condition&#039;s origin.&lt;br /&gt;
		2 : &amp;quot;Enemy&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Dead Enemy&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Sound&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Scent&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Near Hiding Spot&amp;quot;		//Compute a nearby hiding spot, run to it.&lt;br /&gt;
		7 : &amp;quot;Far Hiding Spot&amp;quot;		//Compute a distant hiding spot, run to it.&lt;br /&gt;
		8 : &amp;quot;Named Entity&amp;quot; 			// Origin of a specific entity&lt;br /&gt;
		9 : &amp;quot;Entity by Key:Value&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	pre_location_values(string) 	: &amp;quot;Pre-Waypoint Parameters&amp;quot;&lt;br /&gt;
	//	1 : &amp;quot;Use This Origin&amp;quot; 				No options.&lt;br /&gt;
	//	2 : &amp;quot;Enemy&amp;quot;							No options.&lt;br /&gt;
	//	3 : &amp;quot;Dead Enemy&amp;quot; 	 				No options.&lt;br /&gt;
	//	4 : &amp;quot;Sound&amp;quot; 						Type sound-filter. E.g. (SOUND_DANGER)&lt;br /&gt;
	//	5 : &amp;quot;Scent&amp;quot;							Type scent-filter. E.g. (SCENT_FOOD OR SCENT_CARCASS)&lt;br /&gt;
	//	6 : &amp;quot;Near Hiding Spot&amp;quot;				Type minimum distance.&lt;br /&gt;
	//	7 : &amp;quot;Far Hiding Spot&amp;quot;				Type maximum distance.&lt;br /&gt;
	//	8 : &amp;quot;Named Entity&amp;quot; 					Type entity name.&lt;br /&gt;
	//	9 : &amp;quot;Entity by Key:Value&amp;quot;			Type in format: &amp;quot;keyname:keyvalue&amp;quot;, optional: Use ( parentheses ), ==, &amp;gt;, &amp;gt;=, &amp;lt;, &amp;lt;=, AND, OR operators.&lt;br /&gt;
&lt;br /&gt;
	//When this path_condition is picked, a waypoint must be picked to start the NPC off on. Select how the waypoint is picked.&lt;br /&gt;
	selecttype(Choices) 			: &amp;quot;Waypoint Selection&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Start Waypoint&amp;quot; 				// NOTE: The nearest waypoint will be selected if a starting waypoint is not specified when this option is selected.&lt;br /&gt;
		1 : &amp;quot;Nearest Waypoint to NPC&amp;quot; 		//The nearest group found (to the NPC) will be picked.&lt;br /&gt;
		2 : &amp;quot;Random Waypoint&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	path_start(string) 				: &amp;quot;Start Waypoint&amp;quot;							//Leave blank for none.&lt;br /&gt;
	waypoint_list(string)			: &amp;quot;Path_Waypoint List&amp;quot; 						//Required if not using Starting Waypoint for selection.&lt;br /&gt;
	key_filter(string)				: &amp;quot;NPC Keyvalue Filter&amp;quot;						//Type in format: &amp;quot;$keyname &amp;gt; 1 AND $keyname == 1&amp;quot;, optional: Use ( parentheses ), ==, &amp;gt;, &amp;gt;=, &amp;lt;, &amp;lt;=, AND, OR operators.&lt;br /&gt;
	npc_trigger_target(string)   	: &amp;quot;NPC Trigger Target&amp;quot;  					//NPC will trigger this entity when on this path&lt;br /&gt;
	npc_trigger_interval(integer)	: &amp;quot;NPC Trigger Interval&amp;quot; 					//NPC will trigger every N seconds&lt;br /&gt;
	m_szASConditionsName(string)	: &amp;quot;Angelscript condition name&amp;quot;				//Name of the Angelscript condition that was registered by a map script&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname) color(125 255 255) = path_waypoint : &amp;quot;NPC Path Waypoint&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	target(target_destination) 					: &amp;quot;Next Path_waypoint&amp;quot;&lt;br /&gt;
	alternate_target(target_destination) 		: &amp;quot;Alternate Next Path_waypoint&amp;quot; 	//Alternate Waypoint to use if we&#039;re toggled to use our alternate.&lt;br /&gt;
&lt;br /&gt;
	movementtype(Choices) 						: &amp;quot;Move to Position&amp;quot; : 0 =			// How the monster will move to this waypoint.&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Walk&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Run&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Teleport&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Turn to Face&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Don&#039;t Move&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	radius(integer) 							: &amp;quot;Move within Radius&amp;quot; 		: 0 	// When in radius, the NPC has finished moving to the waypoint.	Only works for Walk / Run.&lt;br /&gt;
&lt;br /&gt;
	useangles(choices)							: &amp;quot;Face Waypoint Direction&amp;quot; : 0 =   //Yes = Upon arrival, the NPC&#039;s YAW will change gradually to match the path_waypoint&#039;s YAW&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No (default)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	trigger_on_arrival(target_destination) 		: &amp;quot;Trigger on Arrival&amp;quot; 				// Target to fire before starting the arrival animation.&lt;br /&gt;
	arrival_animation(string)					: &amp;quot;Arrival Animation&amp;quot;				// Animation to play on arrival.&lt;br /&gt;
	trigger_after_arrival(target_destination)	: &amp;quot;Trigger after Arrival Animation&amp;quot;	// Target to fire upon completing the arrival animation. If no arrival animation, fired after Trigger on Reach is fired.&lt;br /&gt;
&lt;br /&gt;
	wait_activity(Choices) 						: &amp;quot;Wait Activity&amp;quot; 			: 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Play Wait Animation (default)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Look around&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Investigate Area&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Use AI&amp;quot; 							//Let the NPC&#039;s AI take over while waiting.&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	wait_animation(string)						: &amp;quot;Wait Animation&amp;quot;					// Animation to play when waiting at this waypoint. (Looped) If animation is blank, the monster will stand in place. If wait time is zero, this is not used.&lt;br /&gt;
	wait_time(integer)							: &amp;quot;Wait Time&amp;quot; 				: 0 	// After the position is reached, the monster must wait this long before moving to the next waypoint, and before any targets are fired.&lt;br /&gt;
	wait_master(string)							: &amp;quot;Wait Master&amp;quot;  					// Master entity to analyze - the multisource which, when activated, lets the path_waypoint know it can let the NPC continue.&lt;br /&gt;
&lt;br /&gt;
	waituntilfull(choices)						: &amp;quot;Wait Here Until Full&amp;quot; 	: 0 = 	// Force NPC to wait until this waypoint is full before proceeding to the next waypoint. If Maximum Occupants is 0, a level error message will occur.&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No (default)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	departure_animation(string)					: &amp;quot;Departure Animation&amp;quot;				// Animation to play before leaving waypoint. Target On Pass is fired after animation completes if animation is present.&lt;br /&gt;
	trigger_on_departure(target_destination) 	: &amp;quot;Trigger on Departure&amp;quot; 			// Target to fire when the NPC finishes the Departure Animation. If no Departure Animation, fired immediately after waiting.&lt;br /&gt;
&lt;br /&gt;
	//--------------------------------------------------------------------------------------------------&lt;br /&gt;
	// START OVERFLOW&lt;br /&gt;
	//--------------------------------------------------------------------------------------------------&lt;br /&gt;
	occupant_radius_check(integer)				: &amp;quot;Occupant Radius&amp;quot; 	: 0   		// If an NPC is within the radius of this path_waypoint, it takes up an occupant slot.&lt;br /&gt;
	occupant_limit(integer)						: &amp;quot;Maximum # Occupants&amp;quot; 	: 0 	// This point only accepts X number of NPCs at a time.&lt;br /&gt;
	// If this waypoint is full, monsters will go to the following waypoint specified instead.&lt;br /&gt;
	// If the provided overflow point is removed or not available, the NPC will remain at the previous waypoint or position until room is available.&lt;br /&gt;
	overflow_waypoint(string)					: &amp;quot;Overflow Waypoint&amp;quot;&lt;br /&gt;
	//--------------------------------------------------------------------------------------------------&lt;br /&gt;
	// END OVERFLOW&lt;br /&gt;
	//--------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	// Forces the NPC to finish this particular path_waypoint even if a higher priority path is found, provided that the stop conditions are not met.&lt;br /&gt;
	// NOTE: This disables path_condition / path_condition_controller evaluation during the extent of the trip and departure.&lt;br /&gt;
	force_complete(Choices) 					: &amp;quot;Force Waypoint Completion&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No (default)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	 //If this path_waypoint releases the NPC because of a stop condition, (e.g. a new enemy appears) something can be triggered.&lt;br /&gt;
	stop_trigger(string) 						: &amp;quot;Trigger on Stop Condition&amp;quot;&lt;br /&gt;
	restart_delay(integer) 						: &amp;quot;Delay before Return&amp;quot;		: 0 //If the NPC has stopped moving because of a stop condition (E.g. hearing a gunshot), the NPC will wait this long before continuing back to this path_waypoint.&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Angles) size(16 16 16)  color(255 148 0) = path_track : &amp;quot;Train Track Path&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Disabled&amp;quot; : 0&lt;br /&gt;
		2: &amp;quot;Fire once&amp;quot; : 0&lt;br /&gt;
		4: &amp;quot;Branch Reverse&amp;quot; : 0&lt;br /&gt;
		8: &amp;quot;Disable train&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	target(target_destination) : &amp;quot;Next stop target&amp;quot;&lt;br /&gt;
	message(target_destination) : &amp;quot;Fire On Pass&amp;quot;&lt;br /&gt;
	altpath(target_destination) : &amp;quot;Branch Path&amp;quot;&lt;br /&gt;
	netname(target_destination) : &amp;quot;Fire on dead end&amp;quot;&lt;br /&gt;
	newspeed(integer) : &amp;quot;New Train Speed&amp;quot; : -1&lt;br /&gt;
	maxspeed(integer) : &amp;quot;New Maximum Speed&amp;quot; : -1&lt;br /&gt;
	speed(integer) : &amp;quot;New Train Speed (Legacy)&amp;quot; : 0&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname) size(-16 -16 -16, 16 16 16) = player_loadsaved : &amp;quot;Load Auto-Saved game&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	duration(string) : &amp;quot;Fade Duration (seconds)&amp;quot; : &amp;quot;2&amp;quot;&lt;br /&gt;
	holdtime(string) : &amp;quot;Hold Fade (seconds)&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
	renderamt(integer) : &amp;quot;Fade Alpha&amp;quot; : 255&lt;br /&gt;
	rendercolor(color255) : &amp;quot;Fade Color (R G B)&amp;quot; : &amp;quot;0 0 0&amp;quot;&lt;br /&gt;
	messagetime(string) : &amp;quot;Show Message delay&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
	message(string) : &amp;quot;Message To Display&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	loadtime(string) : &amp;quot;Reload delay&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname) size(-16 -16 -16, 16 16 16) color(96 32 128) = player_weaponstrip : &amp;quot;Strips player&#039;s weapons&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Strip Suit&amp;quot; : 0&lt;br /&gt;
		2 : &amp;quot;Strip Long Jump&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	m_iAffected(choices) : &amp;quot;Players to strip from&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Activator only (default)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;All players&amp;quot;&lt;br /&gt;
		2 : &amp;quot;All players except activator&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	weapons_list(string) : &amp;quot;Weapons list to strip (none = all)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	weapons_list_mode(choices) : &amp;quot;Weapons list mode&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Inclusive (strip listed)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Exclusive (strip NOT listed)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Targetname, ZHLTbmodel) = player_respawn_zone : &amp;quot;Player Zone Respawn brush&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	zonetype(choices) : &amp;quot;Zone Type&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Respawn all outside&amp;quot;&lt;br /&gt;
		1: &amp;quot;Respawn all inside&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Targetx) size(-16 -16 0, 16 16 72) color(255 0 200) = scripted_sentence : &amp;quot;Scripted Sentence&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Fire Once&amp;quot; 	: 1&lt;br /&gt;
		2 : &amp;quot;Followers Only&amp;quot;	: 0&lt;br /&gt;
		4 : &amp;quot;Interrupt Speech&amp;quot;	: 1&lt;br /&gt;
		8 : &amp;quot;Concurrent&amp;quot;	: 0&lt;br /&gt;
	]&lt;br /&gt;
	sentence(string) : &amp;quot;Sentence Name&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	entity(string) : &amp;quot;Speaker Type&amp;quot;&lt;br /&gt;
	duration(string) : &amp;quot;Sentence Time&amp;quot; : &amp;quot;3&amp;quot;&lt;br /&gt;
	radius(integer) : &amp;quot;Search Radius&amp;quot; : 512&lt;br /&gt;
	refire(string) : &amp;quot;Delay Before Refire&amp;quot; : &amp;quot;3&amp;quot;&lt;br /&gt;
	listener(string) : &amp;quot;Listener Type&amp;quot;&lt;br /&gt;
	volume(string) : &amp;quot;Volume 0-10&amp;quot; : &amp;quot;10&amp;quot;&lt;br /&gt;
	attenuation(Choices) : &amp;quot;Sound Radius&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Small Radius (~384)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Medium Radius (~768)&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Large Radius (~1536)&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Play Everywhere&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Targetx, Angles) size(-16 -16 0, 16 16 72) color(164 128 255) = scripted_sequence : &amp;quot;Scripted Sequence&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	m_iszEntity(string) : &amp;quot;Target Monster&amp;quot;&lt;br /&gt;
	m_iszPlay(string) : &amp;quot;Action Animation&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	m_iszIdle(string) : &amp;quot;Idle Animation&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	m_flRadius(integer) : &amp;quot;Search Radius&amp;quot; : 512&lt;br /&gt;
	m_flRepeat(integer) : &amp;quot;Repeat Rate ms&amp;quot; : 0&lt;br /&gt;
	m_fMoveTo(choices) : &amp;quot;Move to Position&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Walk&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Run&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Instantaneous&amp;quot;&lt;br /&gt;
		5 : &amp;quot;No - Turn to Face&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	moveto_radius(integer) : &amp;quot;Move to Radius&amp;quot; : 0&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		4 : &amp;quot;Repeatable&amp;quot;	: 0&lt;br /&gt;
		8 : &amp;quot;Leave Corpse&amp;quot;	: 0&lt;br /&gt;
		32: &amp;quot;No Interruptions&amp;quot;	: 0&lt;br /&gt;
		64: &amp;quot;Override AI&amp;quot;	: 0&lt;br /&gt;
		128: &amp;quot;No Script Movement&amp;quot; : 0&lt;br /&gt;
		256: &amp;quot;No Reset Entity&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass iconsprite(&amp;quot;sprites/vhe-iconsprites/speaker.spr&amp;quot;) base(Targetname) color(225 200 210) = speaker : &amp;quot;Announcement Speaker&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	preset(choices) : &amp;quot;Announcement Presets&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;None&amp;quot;&lt;br /&gt;
		1: &amp;quot;C1A0 Announcer&amp;quot;&lt;br /&gt;
		2: &amp;quot;C1A1 Announcer&amp;quot;&lt;br /&gt;
		3: &amp;quot;C1A2 Announcer&amp;quot;&lt;br /&gt;
		4: &amp;quot;C1A3 Announcer&amp;quot;&lt;br /&gt;
		5: &amp;quot;C1A4 Announcer&amp;quot;&lt;br /&gt;
		6: &amp;quot;C2A1 Announcer&amp;quot;&lt;br /&gt;
		7: &amp;quot;C2A2 Announcer&amp;quot;&lt;br /&gt;
		//8: &amp;quot;C2A3 Announcer&amp;quot;&lt;br /&gt;
		9: &amp;quot;C2A4 Announcer&amp;quot;&lt;br /&gt;
		//10: &amp;quot;C2A5 Announcer&amp;quot;&lt;br /&gt;
		11: &amp;quot;C3A1 Announcer&amp;quot;&lt;br /&gt;
		12: &amp;quot;C3A2 Announcer&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	message(string) : &amp;quot;Sentence Group Name&amp;quot;&lt;br /&gt;
	health(integer) : &amp;quot;Volume (10 = loudest)&amp;quot; : 5&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Start Silent&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Angles, RenderFields, AttackObject, NotRevivable) size(-16 -16 0, 16 16 72) color(245 128 96) = squadmaker : &amp;quot;Squad Maker&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Start ON&amp;quot; 	: 0&lt;br /&gt;
		//2 : &amp;quot;PVS On/Off&amp;quot; : 0&lt;br /&gt;
		4 : &amp;quot;Cyclic&amp;quot; : 0&lt;br /&gt;
		8 : &amp;quot;MonsterClip&amp;quot; : 0&lt;br /&gt;
		16 : &amp;quot;Prisoner&amp;quot; : 0&lt;br /&gt;
		32 : &amp;quot;Auto Size BBox&amp;quot; : 0&lt;br /&gt;
		64 : &amp;quot;Cyclic Backlog&amp;quot; : 0&lt;br /&gt;
		128 : &amp;quot;WaitForScript&amp;quot; : 0&lt;br /&gt;
		1024 : &amp;quot;No Respawn (Collectible)&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	target(string) : &amp;quot;Target On Release&amp;quot;&lt;br /&gt;
	monstertype(string) : &amp;quot;Monster Type&amp;quot;&lt;br /&gt;
	netname(string) : &amp;quot;Childrens&#039; Name&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	// How many monsters the monstermaker can create (-1 = unlimited)&lt;br /&gt;
	monstercount(integer) : &amp;quot;Monster count &amp;quot; : -1&lt;br /&gt;
&lt;br /&gt;
	// If delay is -1, new monster will be made when last monster dies.&lt;br /&gt;
	// Else, delay is how often (seconds) a new monster will be spawned.&lt;br /&gt;
	delay(string) : &amp;quot;Delay between spawns&amp;quot; : &amp;quot;5&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	// Maximum number of live children allowed at one time. (New ones will not be made until one dies)&lt;br /&gt;
	// -1 no limit&lt;br /&gt;
	m_imaxlivechildren(integer) : &amp;quot;Max live children&amp;quot; : 5&lt;br /&gt;
&lt;br /&gt;
	spawn_mode(Choices) : &amp;quot;Blocked Spawn Handling&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Legacy, no special handling&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Block, spawn as soon as clear&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Force spawn, never block&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	dmg(integer) : &amp;quot;Amount of Telefrag Damage&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
	trigger_target(String) : &amp;quot;TriggerTarget&amp;quot;&lt;br /&gt;
	trigger_condition(Choices) : &amp;quot;Trigger Condition&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No Trigger&amp;quot;&lt;br /&gt;
		1 : &amp;quot;See Player, Mad at Player&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Take Damage&amp;quot;&lt;br /&gt;
		3 : &amp;quot;50% Health Remaining&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Death&amp;quot;&lt;br /&gt;
		7 : &amp;quot;Hear World&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Hear Player&amp;quot;&lt;br /&gt;
		9 : &amp;quot;Hear Combat&amp;quot;&lt;br /&gt;
		10: &amp;quot;See Player Unconditional&amp;quot;&lt;br /&gt;
		11: &amp;quot;See Player, Not In Combat&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	new_body(integer) : &amp;quot;Body (-1 off)&amp;quot; : -1&lt;br /&gt;
	new_skin(integer) : &amp;quot;Skin (-1 off)&amp;quot; : -1&lt;br /&gt;
&lt;br /&gt;
	new_solid(Choices) : &amp;quot;Solid State&amp;quot; : -1 =&lt;br /&gt;
	[&lt;br /&gt;
		-1 : &amp;quot;Don&#039;t Modify&amp;quot;&lt;br /&gt;
		0  : &amp;quot;Not Solid - SOLID_NOT&amp;quot;&lt;br /&gt;
		1  : &amp;quot;Trigger - SOLID_TRIGGER&amp;quot;&lt;br /&gt;
		2  : &amp;quot;Bounding Box - SOLID_BBOX&amp;quot;&lt;br /&gt;
		3  : &amp;quot;Slide Box - SOLID_SLIDEBOX&amp;quot;&lt;br /&gt;
		4  : &amp;quot;BSP Model - SOLID_BSP&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	&lt;br /&gt;
	respawn_as_playerally(choices) : &amp;quot;Is Player Ally&amp;quot; :  0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Default (0)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Opposite (1)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	change_rendermode(Choices) : &amp;quot;Override Render Mode&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	xenmaker(String) : &amp;quot;Xenmaker Template Name&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	gag(Choices) : &amp;quot;Gag&amp;quot; : -1 =&lt;br /&gt;
	[&lt;br /&gt;
		-1 : &amp;quot;Default&amp;quot;&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	weapons(Choices) : &amp;quot;Weapons (Grunt/Massn/etc)&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Default / No setting&amp;quot;&lt;br /&gt;
		1 : &amp;quot;MP5&amp;quot;&lt;br /&gt;
		3 : &amp;quot;MP5 + HG&amp;quot;&lt;br /&gt;
		5 : &amp;quot;M16 + GL&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Shotgun / Sniper Rifle&amp;quot;&lt;br /&gt;
		10 : &amp;quot;Shotgun / Sniper Rifle + HG&amp;quot;&lt;br /&gt;
		16 : &amp;quot;SAW (human_grunt_ally only!)&amp;quot;&lt;br /&gt;
		32 : &amp;quot;No Weapons (male_assassin only!)&amp;quot;&lt;br /&gt;
		64 : &amp;quot;Rocket Launcher&amp;quot;&lt;br /&gt;
		66 : &amp;quot;Rocket Launcher + HG&amp;quot;&lt;br /&gt;
		128 : &amp;quot;Sniper Rifle (human_grunt only!)&amp;quot;&lt;br /&gt;
		130 : &amp;quot;Sniper Rifle + HG (human_grunt only!)&amp;quot;&lt;br /&gt;
		256 : &amp;quot;Don&#039;t drop weapon (HWG etc)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	squadname(String) : &amp;quot;Squad Name&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	is_squad_leader(Choices) : &amp;quot;Squad Leader&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	displayname(string) : &amp;quot;In-game Name&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	bloodcolor(choices) : &amp;quot;Blood Color&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Monster Default&amp;quot;&lt;br /&gt;
		-1 : &amp;quot;No Blood&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Red&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Yellow&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	health(integer) : &amp;quot;Custom Health&amp;quot; : 0&lt;br /&gt;
	new_model(studio) : &amp;quot;Custom Model&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	minhullsize(string) : &amp;quot;Custom Min Hull Size (X Y Z)&amp;quot; : &amp;quot;0 0 0&amp;quot;&lt;br /&gt;
	maxhullsize(string) : &amp;quot;Custom Max Hull Size (X Y Z)&amp;quot; : &amp;quot;0 0 0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	soundlist(string) : &amp;quot;Sound Replacement File&amp;quot;&lt;br /&gt;
	freeroam(Choices) : &amp;quot;Monster Roaming (nodes)&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Map Default&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Never&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Always&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	path_name(string) 		: &amp;quot;Path Name&amp;quot; 		// The name of the path_waypoint, path_condition, or path_condition_controller this monster will look to.&lt;br /&gt;
&lt;br /&gt;
	// This will make the monster follow/protect whoever is specified&lt;br /&gt;
	guard_ent(string): &amp;quot;Entity to Guard&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	wpn_v_model(String) : &amp;quot;V_model (Weapons Only)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	wpn_w_model(String) : &amp;quot;W_model (Weapons Only)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	wpn_p_model(String) : &amp;quot;P_model (Weapons Only)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	function_name(string) : &amp;quot;Angelscript function name&amp;quot; //Angelscript function to call on creation of a monster. Format: void FunctionName(MonsterEntity@ pSquadmaker, Entity@ pMonster)&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname) color(255 240 128) = target_cdaudio : &amp;quot;CD Audio Target&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	health(choices) : &amp;quot;Track #&amp;quot; : -1 =&lt;br /&gt;
	[&lt;br /&gt;
		-1 : &amp;quot;Stop&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Track 1&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Track 2&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Track 3&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Track 4&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Track 5&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Track 6&amp;quot;&lt;br /&gt;
		7 : &amp;quot;Track 7&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Track 8&amp;quot;&lt;br /&gt;
		9 : &amp;quot;Track 9&amp;quot;&lt;br /&gt;
		10 : &amp;quot;Track 10&amp;quot;&lt;br /&gt;
		11 : &amp;quot;Track 11&amp;quot;&lt;br /&gt;
		12 : &amp;quot;Track 12&amp;quot;&lt;br /&gt;
		13 : &amp;quot;Track 13&amp;quot;&lt;br /&gt;
		14 : &amp;quot;Track 14&amp;quot;&lt;br /&gt;
		15 : &amp;quot;Track 15&amp;quot;&lt;br /&gt;
		16 : &amp;quot;Track 16&amp;quot;&lt;br /&gt;
		17 : &amp;quot;Track 17&amp;quot;&lt;br /&gt;
		18 : &amp;quot;Track 18&amp;quot;&lt;br /&gt;
		19 : &amp;quot;Track 19&amp;quot;&lt;br /&gt;
		20 : &amp;quot;Track 20&amp;quot;&lt;br /&gt;
		21 : &amp;quot;Track 21&amp;quot;&lt;br /&gt;
		22 : &amp;quot;Track 22&amp;quot;&lt;br /&gt;
		23 : &amp;quot;Track 23&amp;quot;&lt;br /&gt;
		24 : &amp;quot;Track 24&amp;quot;&lt;br /&gt;
		25 : &amp;quot;Track 25&amp;quot;&lt;br /&gt;
		26 : &amp;quot;Track 26&amp;quot;&lt;br /&gt;
		27 : &amp;quot;Track 27&amp;quot;&lt;br /&gt;
		28 : &amp;quot;Track 28&amp;quot;&lt;br /&gt;
		29 : &amp;quot;Track 29&amp;quot;&lt;br /&gt;
		30 : &amp;quot;Track 30&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
//	radius(string) : &amp;quot;Player Radius&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetx) color(250 10 165) = trigger_auto : &amp;quot;AutoTrigger&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Remove On fire&amp;quot; : 1&lt;br /&gt;
	]&lt;br /&gt;
	globalstate(string) : &amp;quot;Global State to Read&amp;quot;&lt;br /&gt;
	triggerstate(choices) : &amp;quot;Trigger State&amp;quot; : 2 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Off&amp;quot;&lt;br /&gt;
		1 : &amp;quot;On&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Toggle&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetx, Targetname, Angles) studio(&amp;quot;models/vhe-models/trigger_camera.mdl&amp;quot;) color(200 255 255) = trigger_camera : &amp;quot;Trigger Camera&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	wait(integer) : &amp;quot;Hold time&amp;quot; : 10&lt;br /&gt;
	moveto(string) : &amp;quot;Path Corner&amp;quot;&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Start At Player&amp;quot; : 1&lt;br /&gt;
		2: &amp;quot;Follow Player&amp;quot; : 1&lt;br /&gt;
		4: &amp;quot;Freeze Player&amp;quot; : 0&lt;br /&gt;
		8: &amp;quot;All Players&amp;quot; : 0&lt;br /&gt;
		16: &amp;quot;Force View&amp;quot; : 0&lt;br /&gt;
		32: &amp;quot;No Instant Turn&amp;quot; : 0&lt;br /&gt;
		64: &amp;quot;Instant Move&amp;quot; : 0&lt;br /&gt;
		128: &amp;quot;Mouse Cursor&amp;quot; : 0&lt;br /&gt;
		256: &amp;quot;Player Invulnerable&amp;quot; : 0&lt;br /&gt;
		512: &amp;quot;Ignore Hold Time&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	speed(string) : &amp;quot;Initial Speed&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
	acceleration(string) : &amp;quot;Acceleration units/sec^2&amp;quot; : &amp;quot;500&amp;quot;&lt;br /&gt;
	deceleration(string) : &amp;quot;Stop Deceleration units/sec^2&amp;quot; : &amp;quot;500&amp;quot;&lt;br /&gt;
	turnspeed(string) : &amp;quot;Camera Rotation Speed&amp;quot; : &amp;quot;40&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	mouse_action_0_0(choices) : &amp;quot;Left Click Action&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No Action&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Trigger Off&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Trigger On&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Trigger Toggle&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Remove&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Hurt&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Heal&amp;quot;&lt;br /&gt;
		7 : &amp;quot;Spawn&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Teleport&amp;quot;&lt;br /&gt;
		9 : &amp;quot;Teleport Away&amp;quot;&lt;br /&gt;
		10 : &amp;quot;Create Explosion&amp;quot;&lt;br /&gt;
		11 : &amp;quot;Drag&amp;quot;&lt;br /&gt;
		255 : &amp;quot;Exit Camera (Non-forced only)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	mouse_param_0_0(string) : &amp;quot;Left Click Param&amp;quot;&lt;br /&gt;
	mouse_block_drag_0_0(choices) : &amp;quot;Left Click Block Drag Repeating Action&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	mouse_action_1_0(choices) : &amp;quot;Right Click Action&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No Action&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Trigger Off&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Trigger On&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Trigger Toggle&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Remove&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Hurt&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Heal&amp;quot;&lt;br /&gt;
		7 : &amp;quot;Spawn&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Teleport&amp;quot;&lt;br /&gt;
		9 : &amp;quot;Teleport Away&amp;quot;&lt;br /&gt;
		10 : &amp;quot;Create Explosion&amp;quot;&lt;br /&gt;
		11 : &amp;quot;Drag&amp;quot;&lt;br /&gt;
		255 : &amp;quot;Exit Camera (Non-forced only)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	mouse_param_1_0(string) : &amp;quot;Right Click Param&amp;quot;&lt;br /&gt;
	mouse_block_drag_1_0(choices) : &amp;quot;Right Click Block Drag Repeating Action&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	mouse_action_2_0(choices) : &amp;quot;Third Click Action&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No Action&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Trigger Off&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Trigger On&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Trigger Toggle&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Remove&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Hurt&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Heal&amp;quot;&lt;br /&gt;
		7 : &amp;quot;Spawn&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Teleport&amp;quot;&lt;br /&gt;
		9 : &amp;quot;Teleport Away&amp;quot;&lt;br /&gt;
		10 : &amp;quot;Create Explosion&amp;quot;&lt;br /&gt;
		11 : &amp;quot;Drag&amp;quot;&lt;br /&gt;
		255 : &amp;quot;Exit Camera (Non-forced only)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	mouse_param_2_0(string) : &amp;quot;Third Click Param&amp;quot;&lt;br /&gt;
	mouse_block_drag_2_0(choices) : &amp;quot;Third Click Block Drag Repeating Action&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	mouse_action_0_1(choices) : &amp;quot;Left Double Click Action&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No Action&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Trigger Off&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Trigger On&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Trigger Toggle&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Remove&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Hurt&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Heal&amp;quot;&lt;br /&gt;
		7 : &amp;quot;Spawn&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Teleport&amp;quot;&lt;br /&gt;
		9 : &amp;quot;Teleport Away&amp;quot;&lt;br /&gt;
		10 : &amp;quot;Create Explosion&amp;quot;&lt;br /&gt;
		11 : &amp;quot;Drag&amp;quot;&lt;br /&gt;
		255 : &amp;quot;Exit Camera (Non-forced only)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	mouse_param_0_1(string) : &amp;quot;Left Double Click Param&amp;quot;&lt;br /&gt;
	mouse_block_drag_0_1(choices) : &amp;quot;Left Double Click Block Drag Repeating Action&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	mouse_action_1_1(choices) : &amp;quot;Right Double Click Action&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No Action&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Trigger Off&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Trigger On&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Trigger Toggle&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Remove&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Hurt&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Heal&amp;quot;&lt;br /&gt;
		7 : &amp;quot;Spawn&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Teleport&amp;quot;&lt;br /&gt;
		9 : &amp;quot;Teleport Away&amp;quot;&lt;br /&gt;
		10 : &amp;quot;Create Explosion&amp;quot;&lt;br /&gt;
		11 : &amp;quot;Drag&amp;quot;&lt;br /&gt;
		255 : &amp;quot;Exit Camera (Non-forced only)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	mouse_param_1_1(string) : &amp;quot;Right Double Click Param&amp;quot;&lt;br /&gt;
	mouse_block_drag_1_1(choices) : &amp;quot;Right Double Click Block Drag Repeating Action&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	mouse_action_2_1(choices) : &amp;quot;Third Double Click Action&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No Action&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Trigger Off&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Trigger On&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Trigger Toggle&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Remove&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Hurt&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Heal&amp;quot;&lt;br /&gt;
		7 : &amp;quot;Spawn&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Teleport&amp;quot;&lt;br /&gt;
		9 : &amp;quot;Teleport Away&amp;quot;&lt;br /&gt;
		10 : &amp;quot;Create Explosion&amp;quot;&lt;br /&gt;
		11 : &amp;quot;Drag&amp;quot;&lt;br /&gt;
		255 : &amp;quot;Exit Camera (Non-forced only)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	mouse_param_2_1(string) : &amp;quot;Third Double Click Param&amp;quot;&lt;br /&gt;
	mouse_block_drag_2_1(choices) : &amp;quot;Third Double Click Block Drag Repeating Action&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	mouse_digital_action_reset(string) : &amp;quot;Mouse Digital Action Reset Time&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	// Signature for AS callback method is: bool YourMouseEventCallbackName(CBaseEntity@ pCamera, CBaseEntity@ pPlayer, CBaseEntity@ pEntity, int mouseEvent, int mouseEventParam, float screenX, float screenY, Vector mousePosition, Vector clickDirection, Vector clickPlaneNormal, float scale)&lt;br /&gt;
	// pCamera - the camera entity calling this method&lt;br /&gt;
	// pPlayer - the player who created the mouse event&lt;br /&gt;
	// pEntity - the entity &amp;quot;hit&amp;quot; by the cursor (if any)&lt;br /&gt;
	// mouseEvent - one of:&lt;br /&gt;
	//	 MOUSE_RELEASED = 0;&lt;br /&gt;
	//	 MOUSE_PRESSED = 1;&lt;br /&gt;
	//	 MOUSE_DOUBLE_PRESSED = 2;&lt;br /&gt;
	//	 MOUSE_DRAGGED = 3;&lt;br /&gt;
	//	 MOUSE_POS_CHANGED = 4;&lt;br /&gt;
	//	 MOUSE_WHEEL_SCROLLED = 5;&lt;br /&gt;
	// mouseEventParam - depends on the event:&lt;br /&gt;
	//	 if event is MOUSE_WHEEL_SCROLLED, mouseEventParam is the scrollDelta (usually: 1, 2, 3 or -1, -2, -3)&lt;br /&gt;
	//	 if event is any other, mouseEventParam is one of:&lt;br /&gt;
	//		 MOUSE_BUTTON_LEFT = 0;&lt;br /&gt;
	//		 MOUSE_BUTTON_RIGHT = 1;&lt;br /&gt;
	//		 MOUSE_BUTTON_MIDDLE = 2;&lt;br /&gt;
	// screenX - x coordinate of the mouse cursor on screen (from -1 to 1)&lt;br /&gt;
	// screenY - y coordinate of the mouse cursor on screen (from -1 to 1)&lt;br /&gt;
	// mousePosition - the position of the mouse cursor in world coordinates&lt;br /&gt;
	// clickDirection - the direction from the camera origin to the cursor &amp;quot;hit&amp;quot; point, basically: (camera-&amp;gt;origin - mousePosition).Normalize()&lt;br /&gt;
	// clickPlaneNormal - the normal vector of the surface that was hit by the mouse cursor&lt;br /&gt;
	// scale - if clicked through a portal with scale, this is the final scale (useful for scaling explosions or other visual/physical effects caused by the mouse event), usually this will be 1.0&lt;br /&gt;
	m_iszASMouseEventCallbackName(string) : &amp;quot;AS Mouse Event Callback Name&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	// Signature for AS callback method is: void YourKeyInputCallbackName(CBaseEntity@ pCamera, CBasePlayer@ pPlayer, bool down, KeyCode keycode)&lt;br /&gt;
	// pCamera - the camera entity calling this method&lt;br /&gt;
	// pPlayer - the player who created the key input&lt;br /&gt;
	// down - true if key is pressed, false if key is released&lt;br /&gt;
	// keycode - identifier of a keyboard key (see https://github.com/ValveSoftware/halflife/blob/master/utils/vgui/include/VGUI_KeyCode.h)&lt;br /&gt;
	m_iszASKeyInputCallbackName(string) : &amp;quot;AS Key Input Callback Name&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	// Sets a player&#039;s target name when they use the camera, unsets it, when they stop using it&lt;br /&gt;
	m_iszOverridePlayerTargetname(string) : &amp;quot;Set Player Targetname&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	// Targets to trigger when a player starts or stops using a camera&lt;br /&gt;
	m_iszTargetWhenPlayerStartsUsing(string) : &amp;quot;Target when player starts using&amp;quot;&lt;br /&gt;
	m_iszTargetWhenPlayerStopsUsing(string) : &amp;quot;Target when player stops using&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	// Target to fire when the camera is turned off (either through trigger or because time ran out)&lt;br /&gt;
	m_iszTurnedOffTarget(string) : &amp;quot;Target when turned off&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	max_player_count(integer) : &amp;quot;Max Players&amp;quot; : 1&lt;br /&gt;
	max_player_target(string) : &amp;quot;Target: Player tried to use, but Max Players reached&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	hud_health(choices) : &amp;quot;HUD: Health and Battery&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Show Health and Battery&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Hide Health and Battery&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	hud_flashlight(choices) : &amp;quot;HUD: Flashlight&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Show Flashlight&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Hide Flashlight&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	hud_weapons(choices) : &amp;quot;HUD: Weapons&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Show Weapons&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Hide Weapons&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	cursor_sprite(sprite) : &amp;quot;Custom Cursor (Sprite)&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Targetname, ZHLTbmodel) = trigger_cameratarget : &amp;quot;Camera Target&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Invisible&amp;quot; : 0&lt;br /&gt;
		2: &amp;quot;Start Off&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	mouse_action_0_0(choices) : &amp;quot;Left Click Action&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No Action&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Trigger Off&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Trigger On&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Trigger Toggle&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Remove&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Hurt&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Heal&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	mouse_param_0_0(string) : &amp;quot;Left Click Param&amp;quot;&lt;br /&gt;
	mouse_block_drag_0_0(choices) : &amp;quot;Left Click Block Drag Repeating Action&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	mouse_target_0_0(string) : &amp;quot;Left Click Target&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	mouse_action_1_0(choices) : &amp;quot;Right Click Action&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No Action&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Trigger Off&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Trigger On&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Trigger Toggle&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Remove&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Hurt&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Heal&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	mouse_param_1_0(string) : &amp;quot;Right Click Param&amp;quot;&lt;br /&gt;
	mouse_block_drag_1_0(choices) : &amp;quot;Right Click Block Drag Repeating Action&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	mouse_target_1_0(string) : &amp;quot;Right Click Target&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	mouse_action_2_0(choices) : &amp;quot;Third Click Action&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No Action&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Trigger Off&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Trigger On&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Trigger Toggle&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Remove&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Hurt&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Heal&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	mouse_param_2_0(string) : &amp;quot;Third Click Param&amp;quot;&lt;br /&gt;
	mouse_block_drag_2_0(choices) : &amp;quot;Third Click Block Drag Repeating Action&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	mouse_target_2_0(string) : &amp;quot;Third Click Target&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	mouse_action_0_1(choices) : &amp;quot;Left Double Click Action&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No Action&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Trigger Off&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Trigger On&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Trigger Toggle&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Remove&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Hurt&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Heal&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	mouse_param_0_1(string) : &amp;quot;Left Double Click Param&amp;quot;&lt;br /&gt;
	mouse_block_drag_0_1(choices) : &amp;quot;Left Double Click Block Drag Repeating Action&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	mouse_target_0_1(string) : &amp;quot;Left Double Click Target&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	mouse_action_1_1(choices) : &amp;quot;Right Double Click Action&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No Action&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Trigger Off&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Trigger On&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Trigger Toggle&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Remove&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Hurt&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Heal&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	mouse_param_1_1(string) : &amp;quot;Right Double Click Param&amp;quot;&lt;br /&gt;
	mouse_block_drag_1_1(choices) : &amp;quot;Right Double Click Block Drag Repeating Action&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	mouse_target_1_1(string) : &amp;quot;Right Double Click Target&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	mouse_action_2_1(choices) : &amp;quot;Third Double Click Action&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No Action&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Trigger Off&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Trigger On&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Trigger Toggle&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Remove&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Hurt&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Heal&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	mouse_param_2_1(string) : &amp;quot;Third Double Click Param&amp;quot;&lt;br /&gt;
	mouse_block_drag_2_1(choices) : &amp;quot;Third Double Click Block Drag Repeating Action&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	mouse_target_2_1(string) : &amp;quot;Third Double Click Target&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	mouse_digital_action_reset(string) : &amp;quot;Mouse Digital Action Reset Time&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Targetname, ZHLTbmodel) = trigger_cdaudio : &amp;quot;Trigger CD Audio&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	health(choices) : &amp;quot;Track #&amp;quot; : -1 =&lt;br /&gt;
	[&lt;br /&gt;
		-1 : &amp;quot;Stop&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Track 1&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Track 2&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Track 3&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Track 4&amp;quot;&lt;br /&gt;
		5 : &amp;quot;Track 5&amp;quot;&lt;br /&gt;
		6 : &amp;quot;Track 6&amp;quot;&lt;br /&gt;
		7 : &amp;quot;Track 7&amp;quot;&lt;br /&gt;
		8 : &amp;quot;Track 8&amp;quot;&lt;br /&gt;
		9 : &amp;quot;Track 9&amp;quot;&lt;br /&gt;
		10 : &amp;quot;Track 10&amp;quot;&lt;br /&gt;
		11 : &amp;quot;Track 11&amp;quot;&lt;br /&gt;
		12 : &amp;quot;Track 12&amp;quot;&lt;br /&gt;
		13 : &amp;quot;Track 13&amp;quot;&lt;br /&gt;
		14 : &amp;quot;Track 14&amp;quot;&lt;br /&gt;
		15 : &amp;quot;Track 15&amp;quot;&lt;br /&gt;
		16 : &amp;quot;Track 16&amp;quot;&lt;br /&gt;
		17 : &amp;quot;Track 17&amp;quot;&lt;br /&gt;
		18 : &amp;quot;Track 18&amp;quot;&lt;br /&gt;
		19 : &amp;quot;Track 19&amp;quot;&lt;br /&gt;
		20 : &amp;quot;Track 20&amp;quot;&lt;br /&gt;
		21 : &amp;quot;Track 21&amp;quot;&lt;br /&gt;
		22 : &amp;quot;Track 22&amp;quot;&lt;br /&gt;
		23 : &amp;quot;Track 23&amp;quot;&lt;br /&gt;
		24 : &amp;quot;Track 24&amp;quot;&lt;br /&gt;
		25 : &amp;quot;Track 25&amp;quot;&lt;br /&gt;
		26 : &amp;quot;Track 26&amp;quot;&lt;br /&gt;
		27 : &amp;quot;Track 27&amp;quot;&lt;br /&gt;
		28 : &amp;quot;Track 28&amp;quot;&lt;br /&gt;
		29 : &amp;quot;Track 29&amp;quot;&lt;br /&gt;
		30 : &amp;quot;Track 30&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Target, AttackObject) color(128 96 2) = trigger_change_class : &amp;quot;Trigger Change Class&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Targetname, InventoryRules, ZHLTbmodel) = trigger_changelevel : &amp;quot;Trigger Change level&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		2: &amp;quot;USE Only&amp;quot; : 0&lt;br /&gt;
		4: &amp;quot;No CVAR override&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	map(string) : &amp;quot;New map name&amp;quot;&lt;br /&gt;
	master(string) : &amp;quot;Master&amp;quot;&lt;br /&gt;
	keep_inventory(choices) : &amp;quot;Players take inventory to new map&amp;quot; : 1 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	percent_of_players(string) : &amp;quot;Percentage of players needed&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname) color(100 100 200) = trigger_changemaxammo : &amp;quot;Trigger Change Max Ammo&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	target(target_destination) : &amp;quot;Trigger after fire&amp;quot;&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;All players&amp;quot; : 0&lt;br /&gt;
		2 : &amp;quot;Remove excess ammo&amp;quot; : 0&lt;br /&gt;
		4 : &amp;quot;Set ammo to new max&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	message(choices) : &amp;quot;Ammo name&amp;quot; : &amp;quot;9mm&amp;quot; =&lt;br /&gt;
	[&lt;br /&gt;
		&amp;quot;9mm&amp;quot; : &amp;quot;9mm Rounds&amp;quot;&lt;br /&gt;
		&amp;quot;bolts&amp;quot; : &amp;quot;Crossbow Bolts&amp;quot;&lt;br /&gt;
		&amp;quot;357&amp;quot; : &amp;quot;.357 Rounds&amp;quot;&lt;br /&gt;
		&amp;quot;uranium&amp;quot; : &amp;quot;Uranium Ammo&amp;quot;&lt;br /&gt;
		&amp;quot;Hand Grenade&amp;quot; : &amp;quot;Hand Grenades&amp;quot;&lt;br /&gt;
		&amp;quot;Hornets&amp;quot; : &amp;quot;Hornets&amp;quot;&lt;br /&gt;
		&amp;quot;556&amp;quot; : &amp;quot;5.56 Rounds&amp;quot;&lt;br /&gt;
		&amp;quot;ARgrenades&amp;quot; : &amp;quot;AR Grenades&amp;quot;&lt;br /&gt;
		&amp;quot;health&amp;quot; : &amp;quot;Health (Medkit Ammo)&amp;quot;&lt;br /&gt;
		&amp;quot;rockets&amp;quot; : &amp;quot;Rockets&amp;quot;&lt;br /&gt;
		&amp;quot;Satchel Charge&amp;quot; : &amp;quot;Satchel Charges&amp;quot;&lt;br /&gt;
		&amp;quot;shock charges&amp;quot; : &amp;quot;Shock Rifle Ammo&amp;quot;&lt;br /&gt;
		&amp;quot;buckshot&amp;quot; : &amp;quot;Shotgun Ammo&amp;quot;&lt;br /&gt;
		&amp;quot;m40a1&amp;quot; : &amp;quot;Sniper Rifle Ammo&amp;quot;&lt;br /&gt;
		&amp;quot;sporeclip&amp;quot; : &amp;quot;Spore Launcher Ammo&amp;quot;&lt;br /&gt;
		&amp;quot;Snarks&amp;quot; : &amp;quot;Snarks&amp;quot;&lt;br /&gt;
		&amp;quot;Trip Mine&amp;quot; : &amp;quot;Trip Mines&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	m_iMaxAmmo(integer) : &amp;quot;Value to use&amp;quot; : 100&lt;br /&gt;
	m_Mode(choices) : &amp;quot;Change Max Ammo Mode&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Set&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Reset&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Add&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Subtract&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Target) color(140 0 130) = trigger_changemodel : &amp;quot;Trigger Change Model&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	model(studio) : &amp;quot;New Model Name&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	skin(integer) : &amp;quot;Skin&amp;quot; : 0&lt;br /&gt;
	bodygroup(integer) : &amp;quot;Body Group&amp;quot; : 0&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Target) color(60 155 30) = trigger_changetarget : &amp;quot;Trigger Change Target&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	m_iszNewTarget(string) : &amp;quot;New Target&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname) color(160 192 255) = trigger_changesky : &amp;quot;Trigger Change Sky&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	skyname(string) : &amp;quot;Sky Name&amp;quot;&lt;br /&gt;
	color(color255) : &amp;quot;Color&amp;quot;&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;All players&amp;quot; : 0&lt;br /&gt;
		2 : &amp;quot;No clients&amp;quot; : 0&lt;br /&gt;
		4 : &amp;quot;Update server&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
// Change any entity keyvalue during runtime, allows set, basic arithmetic operations and bitwise logical operations (useful for flags)&lt;br /&gt;
@PointClass base(Targetname) color(90 215 60) = trigger_changevalue : &amp;quot;Trigger Change Value&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
&lt;br /&gt;
		// For Vectors:&lt;br /&gt;
		1 : &amp;quot;Don&#039;t use X&amp;quot; : 0&lt;br /&gt;
		2 : &amp;quot;Don&#039;t use Y&amp;quot; : 0&lt;br /&gt;
		4 : &amp;quot;Don&#039;t use Z&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
		32 : &amp;quot;Invert target value&amp;quot; : 0&lt;br /&gt;
		64 : &amp;quot;Invert source value&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
	]&lt;br /&gt;
	target(target_destination) : &amp;quot;Destination entity&amp;quot;&lt;br /&gt;
	m_iszValueName(string) : &amp;quot;Destination key&amp;quot;&lt;br /&gt;
	m_iszNewValue(string) : &amp;quot;Source value&amp;quot;&lt;br /&gt;
	m_iszValueType(choices) : &amp;quot;Action&amp;quot; :  0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Replace (= source)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Add (= old + source)&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Mul (= old * source)&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Sub (= old - source)&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Div (= old / source)&amp;quot;&lt;br /&gt;
		16 : &amp;quot;Pow (= old ^ source)&amp;quot;&lt;br /&gt;
		12 : &amp;quot;Mod (= old % source)&amp;quot;&lt;br /&gt;
		5 : &amp;quot;AND (= old &amp;amp; source)&amp;quot;&lt;br /&gt;
		6 : &amp;quot;OR (= old | source)&amp;quot;&lt;br /&gt;
		13 : &amp;quot;XOR (= old ^ source)&amp;quot;&lt;br /&gt;
		7 : &amp;quot;NAND (= !(old &amp;amp; source))&amp;quot;&lt;br /&gt;
		8 : &amp;quot;NOR (= !(old | source))&amp;quot;&lt;br /&gt;
		14 : &amp;quot;NXOR (= !(old ^ source))&amp;quot;&lt;br /&gt;
		11 : &amp;quot;Append (String concatenation)&amp;quot;&lt;br /&gt;
		17 : &amp;quot;Sin (= sin(source))&amp;quot;&lt;br /&gt;
		18 : &amp;quot;Cos (= cos(source))&amp;quot;&lt;br /&gt;
		19 : &amp;quot;Tan (= tan(source))&amp;quot;&lt;br /&gt;
		23 : &amp;quot;Cot (= cot(source))&amp;quot;&lt;br /&gt;
		20 : &amp;quot;Arcsin (= arcsin(source))&amp;quot;&lt;br /&gt;
		21 : &amp;quot;Arccos (= arccos(source))&amp;quot;&lt;br /&gt;
		22 : &amp;quot;Arctan (= arctan(source))&amp;quot;&lt;br /&gt;
		24 : &amp;quot;Arccot (= arccot(source))&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	m_trigonometricBehaviour(choices) : &amp;quot;Trigonometric funcs. I/O&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Degrees in (out for arc.)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Radian measure in (out for arc.)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	m_iAppendSpaces(integer) : &amp;quot;Append spaces (for strings)&amp;quot; : 0&lt;br /&gt;
	message(target_destination) : &amp;quot;Trigger after action&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
// Copy value of one entity to another value of another entity&lt;br /&gt;
@PointClass base(Targetname) color(60 90 215) = trigger_copyvalue : &amp;quot;Trigger Copy Value&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		// For vectors&lt;br /&gt;
		1 : &amp;quot;Don&#039;t use X&amp;quot; : 0&lt;br /&gt;
		2 : &amp;quot;Don&#039;t use Y&amp;quot; : 0&lt;br /&gt;
		4 : &amp;quot;Don&#039;t use Z&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
		8 : &amp;quot;Constant&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
		// Only when &amp;quot;Constant&amp;quot; is on&lt;br /&gt;
		16 : &amp;quot;Start On&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
		32 : &amp;quot;Invert target value&amp;quot; : 0&lt;br /&gt;
		64 : &amp;quot;Invert source value&amp;quot; : 0&lt;br /&gt;
		128 : &amp;quot;Multiple destinations&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	netname(target_destination) : &amp;quot;Source entity&amp;quot;&lt;br /&gt;
	m_iszSrcValueName(string) : &amp;quot;Source key&amp;quot;&lt;br /&gt;
	target(target_destination) : &amp;quot;Destination entity&amp;quot;&lt;br /&gt;
	m_iszDstValueName(string) : &amp;quot;Destination key&amp;quot;&lt;br /&gt;
	m_iszValueType(choices) : &amp;quot;Action&amp;quot; :  0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Replace (= source)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Add (= old + source)&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Mul (= old * source)&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Sub (= old - source)&amp;quot;&lt;br /&gt;
		4 : &amp;quot;Div (= old / source)&amp;quot;&lt;br /&gt;
		16 : &amp;quot;Pow (= old ^ source)&amp;quot;&lt;br /&gt;
		12 : &amp;quot;Mod (= old % source)&amp;quot;&lt;br /&gt;
		5 : &amp;quot;AND (= old &amp;amp; source)&amp;quot;&lt;br /&gt;
		6 : &amp;quot;OR (= old | source)&amp;quot;&lt;br /&gt;
		13 : &amp;quot;XOR (= old ^ source)&amp;quot;&lt;br /&gt;
		7 : &amp;quot;NAND (= !(old &amp;amp; source))&amp;quot;&lt;br /&gt;
		8 : &amp;quot;NOR (= !(old | source))&amp;quot;&lt;br /&gt;
		14 : &amp;quot;NXOR (= !(old ^ source))&amp;quot;&lt;br /&gt;
		9 : &amp;quot;Direction to Angles&amp;quot;&lt;br /&gt;
		10 : &amp;quot;Angles to Direction&amp;quot;&lt;br /&gt;
		11 : &amp;quot;Append (String concatenation)&amp;quot;&lt;br /&gt;
		17 : &amp;quot;Sin (= sin(source))&amp;quot;&lt;br /&gt;
		18 : &amp;quot;Cos (= cos(source))&amp;quot;&lt;br /&gt;
		19 : &amp;quot;Tan (= tan(source))&amp;quot;&lt;br /&gt;
		23 : &amp;quot;Cot (= cot(source))&amp;quot;&lt;br /&gt;
		20 : &amp;quot;Arcsin (= arcsin(source))&amp;quot;&lt;br /&gt;
		21 : &amp;quot;Arccos (= arccos(source))&amp;quot;&lt;br /&gt;
		22 : &amp;quot;Arctan (= arctan(source))&amp;quot;&lt;br /&gt;
		24 : &amp;quot;Arccot (= arccot(source))&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	m_iFloatConversion(choices) : &amp;quot;Float-to-string/-int conversion&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0  : &amp;quot;6 decimal places (Default)&amp;quot;&lt;br /&gt;
		1  : &amp;quot;5 d. p., rounded to 5 d. p.&amp;quot;&lt;br /&gt;
		4  : &amp;quot;4 d. p., rounded to 4 d. p.&amp;quot;&lt;br /&gt;
		7  : &amp;quot;3 d. p., rounded to 3 d. p.&amp;quot;&lt;br /&gt;
		10 : &amp;quot;2 d. p., rounded to 2 d. p.&amp;quot;&lt;br /&gt;
		13 : &amp;quot;1 d. p., rounded to 1 d. p.&amp;quot;&lt;br /&gt;
		16 : &amp;quot;Integer, rounded&amp;quot;&lt;br /&gt;
		17 : &amp;quot;Integer, rounded up&amp;quot;&lt;br /&gt;
		18 : &amp;quot;Integer, rounded down&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	m_trigonometricBehaviour(choices) : &amp;quot;Trigonometric funcs. I/O&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Degrees in (out for arc.)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Radian measure in (out for arc.)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	m_iAppendSpaces(integer) : &amp;quot;Append spaces (for strings)&amp;quot; : 0&lt;br /&gt;
	message(target_destination) : &amp;quot;Trigger after action&amp;quot;&lt;br /&gt;
	dmg(string) : &amp;quot;Copy-interval (seconds)&amp;quot; : &amp;quot;0.0&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
// Checks values of entities and triggers if true or false&lt;br /&gt;
@PointClass base(Targetname) color(120 180 10) = trigger_condition : &amp;quot;Trigger Condition&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Start Off&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
		// For vectors&lt;br /&gt;
		2 : &amp;quot;Don&#039;t use X (R)&amp;quot; : 0&lt;br /&gt;
		4 : &amp;quot;Don&#039;t use Y (G)&amp;quot; : 0&lt;br /&gt;
		8 : &amp;quot;Don&#039;t use Z (B)&amp;quot; : 0&lt;br /&gt;
		16 : &amp;quot;Don&#039;t use W (A)&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
		// Check once when fired - do not toggle&lt;br /&gt;
		32 : &amp;quot;Cyclic; no toggle&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
		// Forward original activator instead of overwriting it with the trigger_condition&#039;s entity id.&lt;br /&gt;
		// Not done by default, as time that passes till condition is true and trigger_condition fires,&lt;br /&gt;
		// activator may no longer exist and unwanted behaviour may be exhibited if it is used anyway.&lt;br /&gt;
		// Hence, you have to explicitly set the forwarding of the activator with this flag in order to&lt;br /&gt;
		// use it in entities targeted by trigger_condition. Caller is always forwarded.&lt;br /&gt;
		64 : &amp;quot;Keep &#039;!activator&#039;&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
		128 : &amp;quot;Ignore initial result&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	target(target_destination) : &amp;quot;Monitored entity&amp;quot;&lt;br /&gt;
	m_iszValueName(string) : &amp;quot;Monitored key&amp;quot;&lt;br /&gt;
	m_iszSourceName(target_destination) : &amp;quot;Compare-entity&amp;quot;&lt;br /&gt;
	m_iszSourceKey(string) : &amp;quot;Compare-key&amp;quot;&lt;br /&gt;
	m_iszCheckValue(string) : &amp;quot;Compare-value (alternative)&amp;quot;&lt;br /&gt;
	m_iCheckType(choices) : &amp;quot;Comparator; mon. val. -&amp;gt; comp.-val.&amp;quot; :  0 =&lt;br /&gt;
	[&lt;br /&gt;
		// Ent keyvalue equals mappers value&lt;br /&gt;
		0 : &amp;quot;== (Equal)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		// Ent keyvalue does not equal mappers value&lt;br /&gt;
		1 : &amp;quot;!= (Not equal)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		// Ent keyvalue is smaller than mappers value&lt;br /&gt;
		2 : &amp;quot;&amp;lt; (Less)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		// Ent keyvalue is greater than mappers value&lt;br /&gt;
		3 : &amp;quot;&amp;gt; (Greater)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		// Ent keyvalue is less than or equal to mappers value&lt;br /&gt;
		4 : &amp;quot;&amp;lt;= (Less or equal)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		// Ent keyvalue is greater than or equal to mappers value&lt;br /&gt;
		5 : &amp;quot;&amp;gt;= (Greater or equal)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
		// (Ent keyvalue &amp;amp; mappers value) does not equal 0 (Flag check)&lt;br /&gt;
		6 : &amp;quot;&amp;amp; (Logical AND)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	netname(string) : &amp;quot;Target for &#039;true&#039;-case&amp;quot;&lt;br /&gt;
	message(string) : &amp;quot;Target for &#039;false&#039;-case&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	m_iCheckBehaviour(choices) : &amp;quot;Constant mode trigger behaviour&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Fire true/false alternatingly&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Only wait after false&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Only wait after true&amp;quot;&lt;br /&gt;
		3 : &amp;quot;Always fire for both&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	// 0.0 means to check every frame&lt;br /&gt;
	m_fCheckInterval(string) : &amp;quot;Check-interval (seconds)&amp;quot; : &amp;quot;0.1&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Trigger, Targetname, ZHLTbmodel) color(238 240 238) = trigger_counter : &amp;quot;Trigger Counter&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;No Message&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	master(string) : &amp;quot;Master&amp;quot;&lt;br /&gt;
	count(integer) : &amp;quot;Count before activation&amp;quot; : 2&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Targetx) color(255 2 0) = trigger_createentity : &amp;quot;Create Entity&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	m_iszCrtEntChildClass(string) : &amp;quot;Child Classname&amp;quot;&lt;br /&gt;
	m_iszCrtEntChildName(string) : &amp;quot;Child Targetname&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Target) size(-8 -8 -8, 8 8 8) color(100 100 128) = trigger_cyclicobserver : &amp;quot;Controls observer cyclic mode&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	m_Mode(choices) : &amp;quot;Mode to use&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Off&amp;quot;&lt;br /&gt;
		1: &amp;quot;On&amp;quot;&lt;br /&gt;
		2: &amp;quot;Toggle&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Target) color(60 90 215) = trigger_effect : &amp;quot;Trigger Effect&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Start on&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	effect_glow_mode(choices) : &amp;quot;Glow shell mode&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No change&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Add&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Subtract&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	effect_glow(color255) : &amp;quot;Glow shell color (R G B)&amp;quot; : &amp;quot;0 0 0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	effect_block_weapons_mode(choices) : &amp;quot;Block weapons&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No change&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Add&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Subtract&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	effect_invulnerable_mode(choices) : &amp;quot;Invulnerable&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No change&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Add&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Subtract&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	effect_invisible_mode(choices) : &amp;quot;Invisible&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No change&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Add&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Subtract&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	effect_nonsolid_mode(choices) : &amp;quot;Non-solid&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No change&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Add&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Subtract&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	effect_respiration_mode(choices) : &amp;quot;Time before drown mode&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No change&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Add&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Subtract&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	effect_respiration(string) : &amp;quot;Time before drown (seconds)&amp;quot; : &amp;quot;0.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	effect_friction_mode(choices) : &amp;quot;Friction modifier mode&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No change&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Add&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Subtract&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	effect_friction(string) : &amp;quot;Friction modifier (%)&amp;quot; : &amp;quot;0.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	effect_gravity_mode(choices) : &amp;quot;Gravity modifier mode&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No change&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Add&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Subtract&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	effect_gravity(string) : &amp;quot;Gravity modifier (%)&amp;quot; : &amp;quot;0.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	effect_speed_mode(choices) : &amp;quot;Speed modifier mode&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No change&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Add&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Subtract&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	effect_speed(string) : &amp;quot;Speed modifier (%)&amp;quot; : &amp;quot;0.0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	effect_damage_mode(choices) : &amp;quot;Damage modifier mode&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No change&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Add&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Subtract&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	effect_damage(string) : &amp;quot;Damage modifier (%)&amp;quot; : &amp;quot;0.0&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname) size(-12 -12 -12, 12 12 12) color(255 255 0) = trigger_entity_iterator : &amp;quot;Entity Iterator&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	name_filter(target_destination) : &amp;quot;Filter Entities by Name&amp;quot;&lt;br /&gt;
	classname_filter(string) : &amp;quot;Filter Entities by Classname&amp;quot;&lt;br /&gt;
	status_filter(choices) : &amp;quot;Filter Entities by Status&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No Filter (default)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Only Living Entities&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Only Dead Entities&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	delay_between_triggers(string) : &amp;quot;Delay between Entities (secs)&amp;quot; : &amp;quot;0.0&amp;quot;&lt;br /&gt;
	target(target_destination) : &amp;quot;Entity&#039;s Trigger Target&amp;quot;&lt;br /&gt;
	triggerstate(choices) : &amp;quot;Entity&#039;s Trigger State&amp;quot; : 2 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Off&amp;quot;&lt;br /&gt;
		1 : &amp;quot;On&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Toggle&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	run_mode(choices) : &amp;quot;Run Mode&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Run Once&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Run Once; Multi-threaded&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Toggle On/Off&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	trigger_after_run(target_destination) : &amp;quot;Trigger at end of each Run&amp;quot;&lt;br /&gt;
	maximum_runs(integer) : &amp;quot;Maximum Runs (0 for unlimited)&amp;quot; : 0&lt;br /&gt;
	delay_between_runs(string) : &amp;quot;Delay before Restarting (secs)&amp;quot; : &amp;quot;0.5&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Trigger) = trigger_gravity : &amp;quot;Trigger Gravity&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	gravity(integer) : &amp;quot;Gravity (0-1)&amp;quot; : 1&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Targetname, Target, InventoryRules, ZHLTbmodel) = trigger_hurt : &amp;quot;Trigger Hurt&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Target Once&amp;quot; : 0&lt;br /&gt;
		2: &amp;quot;Start Off&amp;quot; : 0&lt;br /&gt;
		8: &amp;quot;No clients&amp;quot; : 0&lt;br /&gt;
		16: &amp;quot;FireClientOnly&amp;quot; : 0&lt;br /&gt;
		32: &amp;quot;TouchClientOnly&amp;quot; : 0&lt;br /&gt;
		64: &amp;quot;Affect non-moving NPC&#039;s&amp;quot;: 0&lt;br /&gt;
	]&lt;br /&gt;
	master(string) : &amp;quot;Master&amp;quot;&lt;br /&gt;
	dmg(integer) : &amp;quot;Damage&amp;quot; : 10&lt;br /&gt;
	delay(string) : &amp;quot;Delay before trigger&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
	damagetype(choices) : &amp;quot;Damage Type&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;GENERIC&amp;quot;&lt;br /&gt;
		1 : &amp;quot;CRUSH&amp;quot;&lt;br /&gt;
		2 : &amp;quot;BULLET&amp;quot;&lt;br /&gt;
		4 : &amp;quot;SLASH&amp;quot;&lt;br /&gt;
		8 : &amp;quot;BURN&amp;quot;&lt;br /&gt;
		16 : &amp;quot;FREEZE&amp;quot;&lt;br /&gt;
		32 : &amp;quot;FALL&amp;quot;&lt;br /&gt;
		64 : &amp;quot;BLAST&amp;quot;&lt;br /&gt;
		128 : &amp;quot;CLUB&amp;quot;&lt;br /&gt;
		256 : &amp;quot;SHOCK&amp;quot;&lt;br /&gt;
		512 : &amp;quot;SONIC&amp;quot;&lt;br /&gt;
		1024 : &amp;quot;ENERGYBEAM&amp;quot;&lt;br /&gt;
		16384 : &amp;quot;DROWN&amp;quot;&lt;br /&gt;
		32768 : &amp;quot;PARALYSE&amp;quot;&lt;br /&gt;
		65536 : &amp;quot;NERVEGAS&amp;quot;&lt;br /&gt;
		131072 : &amp;quot;POISON&amp;quot;&lt;br /&gt;
		262144 : &amp;quot;RADIATION&amp;quot;&lt;br /&gt;
		524288 : &amp;quot;DROWNRECOVER&amp;quot;&lt;br /&gt;
		1048576 : &amp;quot;CHEMICAL&amp;quot;&lt;br /&gt;
		2097152 : &amp;quot;SLOWBURN&amp;quot;&lt;br /&gt;
		4194304 : &amp;quot;SLOWFREEZE&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Target) = trigger_hurt_remote : &amp;quot;Trigger Hurt (non-touch)&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Instant Kill&amp;quot; : 0&lt;br /&gt;
		2 : &amp;quot;Constant&amp;quot; : 0&lt;br /&gt;
		4 : &amp;quot;Start On&amp;quot; : 0&lt;br /&gt;
		8 : &amp;quot;Do Armor&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	targetclass(string) : &amp;quot;Target Class&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
	dmg(integer) : &amp;quot;Damage&amp;quot; : 10&lt;br /&gt;
	armordmg(integer) : &amp;quot;Armor Damage&amp;quot; : 0&lt;br /&gt;
	delay(string) : &amp;quot;Delay (Only when Constant)&amp;quot; : &amp;quot;1&amp;quot;&lt;br /&gt;
	damagetype(choices) : &amp;quot;Damage Type&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;GENERIC&amp;quot;&lt;br /&gt;
		1 : &amp;quot;CRUSH&amp;quot;&lt;br /&gt;
		2 : &amp;quot;BULLET&amp;quot;&lt;br /&gt;
		4 : &amp;quot;SLASH&amp;quot;&lt;br /&gt;
		8 : &amp;quot;BURN&amp;quot;&lt;br /&gt;
		16 : &amp;quot;FREEZE&amp;quot;&lt;br /&gt;
		32 : &amp;quot;FALL&amp;quot;&lt;br /&gt;
		64 : &amp;quot;BLAST&amp;quot;&lt;br /&gt;
		128 : &amp;quot;CLUB&amp;quot;&lt;br /&gt;
		256 : &amp;quot;SHOCK&amp;quot;&lt;br /&gt;
		512 : &amp;quot;SONIC&amp;quot;&lt;br /&gt;
		1024 : &amp;quot;ENERGYBEAM&amp;quot;&lt;br /&gt;
		16384 : &amp;quot;DROWN&amp;quot;&lt;br /&gt;
		32768 : &amp;quot;PARALYSE&amp;quot;&lt;br /&gt;
		65536 : &amp;quot;NERVEGAS&amp;quot;&lt;br /&gt;
		131072 : &amp;quot;POISON&amp;quot;&lt;br /&gt;
		262144 : &amp;quot;RADIATION&amp;quot;&lt;br /&gt;
		524288 : &amp;quot;DROWNRECOVER&amp;quot;&lt;br /&gt;
		1048576 : &amp;quot;CHEMICAL&amp;quot;&lt;br /&gt;
		2097152 : &amp;quot;SLOWBURN&amp;quot;&lt;br /&gt;
		4194304 : &amp;quot;SLOWFREEZE&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname) = trigger_load : &amp;quot;Custom Load Data&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	m_iszLevelName(string) : &amp;quot;Alternate Level Save File&amp;quot;&lt;br /&gt;
	netname(string) : &amp;quot;Label to read from&amp;quot;&lt;br /&gt;
	target(string) : &amp;quot;Destination Entity&amp;quot;&lt;br /&gt;
	message(string) : &amp;quot;Destination Keyvalue&amp;quot;&lt;br /&gt;
	m_iszTrigger(String) : &amp;quot;Trigger after loading&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Angles) = trigger_lookat : &amp;quot;Forces one Ent to look at another Ent&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Start On&amp;quot; : 0&lt;br /&gt;
		2 : &amp;quot;Set Once&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	target(string) : &amp;quot;Target&amp;quot;&lt;br /&gt;
	message(string) : &amp;quot;Entity to look at&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Angles, ZHLTbmodel) = trigger_monsterjump : &amp;quot;Trigger monster jump&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	master(string) : &amp;quot;Master&amp;quot;&lt;br /&gt;
	speed(integer) : &amp;quot;Jump Speed&amp;quot; : 40&lt;br /&gt;
	height(integer) : &amp;quot;Jump Height&amp;quot; : 128&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Trigger) = trigger_multiple : &amp;quot;Trigger: Activate multiple&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	wait(integer) : &amp;quot;Delay before reset&amp;quot; : 10&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname) size(-16 -16 -16, 16 16 16) color(0 0 200) = trigger_numericdisplay : &amp;quot;Numeric Display&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Start On&amp;quot; : 0&lt;br /&gt;
		2 : &amp;quot;Cyclic&amp;quot; : 0&lt;br /&gt;
		4 : &amp;quot;Ignore leading zeroes&amp;quot; : 0&lt;br /&gt;
		8 : &amp;quot;Zero as leading&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	target(target_destination) : &amp;quot;Entity to track&amp;quot;&lt;br /&gt;
	netname(string) : &amp;quot;Key to read&amp;quot;&lt;br /&gt;
	message(string) : &amp;quot;Base digit name&amp;quot;	//Digit names are base_digit_name%u, where %u is 1-10&lt;br /&gt;
	frags(string) : &amp;quot;Update delay&amp;quot; : &amp;quot;0.1&amp;quot; //Delay, in seconds, between digit updates&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Trigger) = trigger_once : &amp;quot;Trigger: Activate once&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Trigger, Angles) = trigger_push : &amp;quot;Trigger push&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Once Only&amp;quot; : 0&lt;br /&gt;
		2: &amp;quot;Start Off&amp;quot; : 0&lt;br /&gt;
		8: &amp;quot;No Clients&amp;quot; : 0&lt;br /&gt;
		16: &amp;quot;No Monsters&amp;quot; : 0&lt;br /&gt;
		64: &amp;quot;Force push (deprecated, see &#039;Mode of push&#039;)&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	speed(integer) : &amp;quot;Speed of push&amp;quot; : 40&lt;br /&gt;
	pushmode(choices) : &amp;quot;Mode of push&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Regular (base velocity)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Forced (minimum velocity)&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Forced (exact velocity)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@BaseClass base(Targetname) = BaseRandom&lt;br /&gt;
[&lt;br /&gt;
	target_count(integer) : &amp;quot;Target Count&amp;quot; : 4&lt;br /&gt;
	target1(target_destination) : &amp;quot;Target 1&amp;quot;&lt;br /&gt;
	target2(target_destination) : &amp;quot;Target 2&amp;quot;&lt;br /&gt;
	target3(target_destination) : &amp;quot;Target 3&amp;quot;&lt;br /&gt;
	target4(target_destination) : &amp;quot;Target 4&amp;quot;&lt;br /&gt;
	target5(target_destination) : &amp;quot;Target 5&amp;quot;&lt;br /&gt;
	target6(target_destination) : &amp;quot;Target 6&amp;quot;&lt;br /&gt;
	target7(target_destination) : &amp;quot;Target 7&amp;quot;&lt;br /&gt;
	target8(target_destination) : &amp;quot;Target 8&amp;quot;&lt;br /&gt;
	target9(target_destination) : &amp;quot;Target 9&amp;quot;&lt;br /&gt;
	target10(target_destination) : &amp;quot;Target 10&amp;quot;&lt;br /&gt;
	target11(target_destination) : &amp;quot;Target 11&amp;quot;&lt;br /&gt;
	target12(target_destination) : &amp;quot;Target 12&amp;quot;&lt;br /&gt;
	target13(target_destination) : &amp;quot;Target 13&amp;quot;&lt;br /&gt;
	target14(target_destination) : &amp;quot;Target 14&amp;quot;&lt;br /&gt;
	target15(target_destination) : &amp;quot;Target 15&amp;quot;&lt;br /&gt;
	target16(target_destination) : &amp;quot;Target 16&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(BaseRandom) color(255 230 150) = trigger_random : &amp;quot;Trigger Random&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Start On (Timed only)&amp;quot; : 0&lt;br /&gt;
		2 : &amp;quot;Trigger Once (Timed only)&amp;quot; : 0&lt;br /&gt;
		4 : &amp;quot;Reusable (Unique only)&amp;quot; : 0&lt;br /&gt;
		8 : &amp;quot;Timed&amp;quot; : 0&lt;br /&gt;
		16 : &amp;quot;Unique&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	min_delay(string) : &amp;quot;Minimum Delay (0 = off)&amp;quot; : &amp;quot;3.0&amp;quot;&lt;br /&gt;
	max_delay(string) : &amp;quot;Maximum Delay (0 = off)&amp;quot; : &amp;quot;7.0&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
//Obsolete: use trigger_random with Timed flag&lt;br /&gt;
@PointClass base(trigger_random) color(135 205 255) = trigger_random_time : &amp;quot;Trigger Random Time&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
//Obsolete: use trigger_ranom with Random flag&lt;br /&gt;
// Unique Trigger Random. Randomly selects an unused trigger.&lt;br /&gt;
@PointClass base(BaseRandom) color(225 170 70) = trigger_random_unique : &amp;quot;Trigger Random Unique&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Re-usable&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Targetx) color(165 30 165) = trigger_relay : &amp;quot;Trigger Relay&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1: &amp;quot;Remove On fire&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
		// Forward original activator instead of overwriting it with the trigger_relay&#039;s entity id.&lt;br /&gt;
		// Not done by default, as time that passes till relay is true and trigger_relay fires,&lt;br /&gt;
		// activator may no longer exist and unwanted behaviour may be exhibited if it is used anyway.&lt;br /&gt;
		// Hence, you have to explicitly set the forwarding of the activator with this flag in order to&lt;br /&gt;
		// use it in entities targeted by trigger_relay.&lt;br /&gt;
		64 : &amp;quot;Keep &#039;!activator&#039;&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	triggerstate(choices) : &amp;quot;Trigger State&amp;quot; : 2 =&lt;br /&gt;
	[&lt;br /&gt;
		0: &amp;quot;Off&amp;quot;&lt;br /&gt;
		1: &amp;quot;On&amp;quot;&lt;br /&gt;
		// Set and Toggle are actually the wrong way around numerically, keeping as is for BC&lt;br /&gt;
		3: &amp;quot;Set&amp;quot;&lt;br /&gt;
		2: &amp;quot;Toggle&amp;quot;&lt;br /&gt;
		4: &amp;quot;Kill&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	triggervalue(string) : &amp;quot;Trigger Value (a number for Set state)&amp;quot; : &amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	m_flDelayBeforeReset(string) : &amp;quot;Delay Before Reset&amp;quot; : &amp;quot;0&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
// Giving mappers the ability to set the triggering player&#039;s targetname&lt;br /&gt;
@PointClass base(Targetname) color(192 255 128) = trigger_renameplayer : &amp;quot;Trigger Player Target&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		// If set, trigger_playertarget won&#039;t remove itself after being used.&lt;br /&gt;
		1 : &amp;quot;Reusable&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
	netname(String) : &amp;quot;New Player Targetname&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
// Respawn all players without affecting the current player status, like health and weapons&lt;br /&gt;
@PointClass base(Targetname, Target) size(-16 -16 -16, 16 16 16) color(255 64 2) = trigger_respawn : &amp;quot;Trigger Respawn&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		// Respawn target entity instead of all players.&lt;br /&gt;
		1 : &amp;quot;Respawn Target&amp;quot; : 0&lt;br /&gt;
		2 : &amp;quot;Respawn dead players&amp;quot; : 0&lt;br /&gt;
		4 : &amp;quot;Don&#039;t move living players&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname) = trigger_save : &amp;quot;Custom Save Data&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	netname(string) : &amp;quot;Label to store in&amp;quot;&lt;br /&gt;
	target(string) : &amp;quot;Source Entity&amp;quot;&lt;br /&gt;
	message(string) : &amp;quot;Source Keyvalue&amp;quot;&lt;br /&gt;
	m_iszTrigger(String) : &amp;quot;Trigger after saving&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Targetx) = trigger_script : &amp;quot;Loads a script and executes a script function on trigger&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	m_iszScriptFile(string) : &amp;quot;Script to load&amp;quot;&lt;br /&gt;
	m_iszScriptFunctionName(string) : &amp;quot;Function to execute on trigger&amp;quot;&lt;br /&gt;
	m_flThinkDelta(string) : &amp;quot;Time between thinks&amp;quot;&lt;br /&gt;
	m_iMode(choices) : &amp;quot;Mode&amp;quot; : 1 =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Trigger&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Think&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Start on&amp;quot; : 0&lt;br /&gt;
		2 : &amp;quot;Self &#039;!activator&#039; (trigger mode)&amp;quot; : 0&lt;br /&gt;
		4 : &amp;quot;Self &#039;!caller&#039; (trigger mode)&amp;quot; : 0&lt;br /&gt;
		64 : &amp;quot;Keep &#039;!activator&#039; (think mode)&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname) color(40 200 150) = trigger_setcvar : &amp;quot;Sets a CVAR&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	//spawnflags(Flags) =&lt;br /&gt;
	//[&lt;br /&gt;
	//	1 : &amp;quot;Set silently&amp;quot; : 0 // Unimplemented!&lt;br /&gt;
	//]&lt;br /&gt;
	m_iszCVarToChange(choices) : &amp;quot;CVAR (only these are allowed)&amp;quot; : &amp;quot;mp_allowmonsterinfo&amp;quot; =&lt;br /&gt;
	[&lt;br /&gt;
		&amp;quot;mp_allowmonsterinfo&amp;quot;:		&amp;quot;mp_allowmonsterinfo&amp;quot;&lt;br /&gt;
		&amp;quot;mp_allowplayerinfo&amp;quot;:		&amp;quot;mp_allowplayerinfo&amp;quot;&lt;br /&gt;
		&amp;quot;mp_ammo_droprules&amp;quot;:		&amp;quot;mp_ammo_droprules&amp;quot;&lt;br /&gt;
		&amp;quot;mp_ammo_respawndelay&amp;quot;:		&amp;quot;mp_ammo_respawndelay&amp;quot;&lt;br /&gt;
		&amp;quot;mp_banana&amp;quot;:			&amp;quot;mp_banana&amp;quot;&lt;br /&gt;
		&amp;quot;mp_barnacle_paralyze&amp;quot;:		&amp;quot;mp_barnacle_paralyze&amp;quot;&lt;br /&gt;
		&amp;quot;mp_disable_autoclimb&amp;quot;:		&amp;quot;mp_disable_autoclimb&amp;quot;&lt;br /&gt;
		&amp;quot;mp_disable_medkit_points&amp;quot;:	&amp;quot;mp_disable_medkit_points&amp;quot;&lt;br /&gt;
		&amp;quot;mp_disable_pcbalancing&amp;quot;:	&amp;quot;mp_disable_pcbalancing&amp;quot;&lt;br /&gt;
		&amp;quot;mp_disable_player_rappel&amp;quot;:	&amp;quot;mp_disable_player_rappel&amp;quot;&lt;br /&gt;
		&amp;quot;mp_disablegaussjump&amp;quot;:		&amp;quot;mp_disablegaussjump&amp;quot;&lt;br /&gt;
		&amp;quot;mp_dropweapons&amp;quot;:		&amp;quot;mp_dropweapons&amp;quot;&lt;br /&gt;
		&amp;quot;mp_falldamage&amp;quot;:		&amp;quot;mp_falldamage&amp;quot;&lt;br /&gt;
		&amp;quot;mp_flashlight&amp;quot;:		&amp;quot;mp_flashlight&amp;quot;&lt;br /&gt;
		&amp;quot;mp_footsteps&amp;quot;:			&amp;quot;mp_footsteps&amp;quot;&lt;br /&gt;
		&amp;quot;mp_forcerespawn&amp;quot;:		&amp;quot;mp_forcerespawn&amp;quot;&lt;br /&gt;
		&amp;quot;mp_fraglimit&amp;quot;:			&amp;quot;mp_fraglimit&amp;quot;&lt;br /&gt;
		&amp;quot;mp_grapple_mode&amp;quot;:		&amp;quot;mp_grapple_mode&amp;quot;&lt;br /&gt;
		&amp;quot;mp_hevsuit_voice&amp;quot;:		&amp;quot;mp_hevsuit_voice&amp;quot;&lt;br /&gt;
		&amp;quot;mp_item_respawndelay&amp;quot;:		&amp;quot;mp_item_respawndelay&amp;quot;&lt;br /&gt;
		&amp;quot;mp_monsterpoints&amp;quot;:		&amp;quot;mp_monsterpoints&amp;quot;&lt;br /&gt;
		&amp;quot;mp_multiplespawn&amp;quot;:		&amp;quot;mp_multiplespawn&amp;quot;&lt;br /&gt;
		&amp;quot;mp_no_akimbo_uzis&amp;quot;:		&amp;quot;mp_no_akimbo_uzis&amp;quot;&lt;br /&gt;
		&amp;quot;mp_noblastgibs&amp;quot;:		&amp;quot;mp_noblastgibs&amp;quot;&lt;br /&gt;
		&amp;quot;mp_nomedkit&amp;quot;:			&amp;quot;mp_nomedkit&amp;quot;&lt;br /&gt;
		&amp;quot;mp_npckill&amp;quot;:			&amp;quot;mp_npckill&amp;quot;&lt;br /&gt;
		&amp;quot;mp_observer_cyclic&amp;quot;:		&amp;quot;mp_observer_cyclic&amp;quot;&lt;br /&gt;
		&amp;quot;mp_observer_mode&amp;quot;:		&amp;quot;mp_observer_mode&amp;quot;&lt;br /&gt;
		&amp;quot;mp_pcbalancing_factorlist&amp;quot;:	&amp;quot;mp_pcbalancing_factorlist&amp;quot;&lt;br /&gt;
		&amp;quot;mp_respawndelay&amp;quot;:		&amp;quot;mp_respawndelay&amp;quot;&lt;br /&gt;
		&amp;quot;mp_suitpower&amp;quot;:			&amp;quot;mp_suitpower&amp;quot;&lt;br /&gt;
		&amp;quot;mp_survival_nextmap&amp;quot;:		&amp;quot;mp_survival_nextmap&amp;quot;&lt;br /&gt;
		&amp;quot;mp_survival_startdelay&amp;quot;:	&amp;quot;mp_survival_startdelay&amp;quot;&lt;br /&gt;
		&amp;quot;mp_survival_starton&amp;quot;:		&amp;quot;mp_survival_starton&amp;quot;&lt;br /&gt;
		&amp;quot;mp_survival_supported&amp;quot;:	&amp;quot;mp_survival_supported&amp;quot;&lt;br /&gt;
		&amp;quot;mp_survival_voteallow&amp;quot;:	&amp;quot;mp_survival_voteallow&amp;quot;&lt;br /&gt;
		&amp;quot;mp_telefrag&amp;quot;:			&amp;quot;mp_telefrag&amp;quot;&lt;br /&gt;
		&amp;quot;mp_timelimit&amp;quot;:			&amp;quot;mp_timelimit&amp;quot;&lt;br /&gt;
		&amp;quot;mp_weapon_droprules&amp;quot;:		&amp;quot;mp_weapon_droprules&amp;quot;&lt;br /&gt;
		&amp;quot;mp_weapon_respawndelay&amp;quot;:	&amp;quot;mp_weapon_respawndelay&amp;quot;&lt;br /&gt;
		&amp;quot;mp_weaponstay&amp;quot;:		&amp;quot;mp_weaponstay&amp;quot;&lt;br /&gt;
		&amp;quot;npc_dropweapons&amp;quot;:		&amp;quot;npc_dropweapons&amp;quot;&lt;br /&gt;
		&amp;quot;skill&amp;quot;:			&amp;quot;skill&amp;quot;&lt;br /&gt;
		&amp;quot;sk_&amp;quot;:				&amp;quot;sk_* (see skill.cfg)&amp;quot;&lt;br /&gt;
		&amp;quot;sv_accelerate&amp;quot;:		&amp;quot;sv_accelerate&amp;quot;&lt;br /&gt;
		&amp;quot;sv_ai_enemy_detection_mode&amp;quot;:	&amp;quot;sv_ai_enemy_detection_mode&amp;quot;&lt;br /&gt;
		&amp;quot;sv_airaccelerate&amp;quot;:		&amp;quot;sv_airaccelerate&amp;quot;&lt;br /&gt;
		&amp;quot;sv_friction&amp;quot;:			&amp;quot;sv_friction&amp;quot;&lt;br /&gt;
		&amp;quot;sv_gravity&amp;quot;:			&amp;quot;sv_gravity&amp;quot;&lt;br /&gt;
		&amp;quot;sv_maxspeed&amp;quot;:			&amp;quot;sv_maxspeed&amp;quot;&lt;br /&gt;
		&amp;quot;sv_maxvelocity&amp;quot;:		&amp;quot;sv_maxvelocity&amp;quot;&lt;br /&gt;
		&amp;quot;sv_wateraccelerate&amp;quot;:		&amp;quot;sv_wateraccelerate&amp;quot;&lt;br /&gt;
		&amp;quot;sv_waterfriction&amp;quot;:		&amp;quot;sv_waterfriction&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	message(string) : &amp;quot;New Value&amp;quot;&lt;br /&gt;
	netname(target_destination) : &amp;quot;Trigger after set&amp;quot;&lt;br /&gt;
	SetType(choices) : &amp;quot;Which CVARs to set&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;All&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Engine&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Angelscript&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
// Set the origin of an entity dynamically&lt;br /&gt;
@PointClass base(Targetname, Target) color(64 255 96) size(-8 -8 -8, 8 8 8) = trigger_setorigin : &amp;quot;Trigger Set Origin&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		// Will constantly update position if set.&lt;br /&gt;
		1: &amp;quot;Constant&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
		// Trigger_setorigin entity will be removed after firing.&lt;br /&gt;
		4: &amp;quot;Set Once&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
		// Save the offset between the Target entity and the Copy pointer, apply offset when updating the Target entity&#039;s position&lt;br /&gt;
		// Requires &amp;quot;Constant&amp;quot; flag&lt;br /&gt;
		8: &amp;quot;Lock Offsets&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
		16: &amp;quot;Copy X Angle&amp;quot; : 0&lt;br /&gt;
		32: &amp;quot;Copy Y Angle&amp;quot; : 0&lt;br /&gt;
		64: &amp;quot;Copy Z Angle&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
		128: &amp;quot;Copy X Axis&amp;quot; : 1&lt;br /&gt;
		256: &amp;quot;Copy Y Axis&amp;quot; : 1&lt;br /&gt;
		512: &amp;quot;Copy Z Axis&amp;quot; : 1&lt;br /&gt;
&lt;br /&gt;
		// If you&#039;re using the Constant flag, check this box to NOT move the origin of the entity or set the angles initially.&lt;br /&gt;
		// If you&#039;re not using the Constant flag, make sure this isn&#039;t enabled or trigger_setorigin won&#039;t do anything.&lt;br /&gt;
		//&lt;br /&gt;
		// This allows the &amp;quot;Constant&amp;quot; + &amp;quot;offset difference&amp;quot; combination to work as intended from the entity&#039;s original location.&lt;br /&gt;
		//&lt;br /&gt;
		// You would leave this off if you needed to move the entity to an initial position before having it follow another entity.&lt;br /&gt;
		// (If this isn&#039;t set, trigger_setorigin will move the entity to it&#039;s copypointer&#039;s origin before doing the offset difference calculation)&lt;br /&gt;
		1024: &amp;quot;Skip Initial Set&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	//The entity we wish to copy coordinates/angles from&lt;br /&gt;
	copypointer(string) : &amp;quot;Copy Pointer&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	//Manual Offset to copied coordinates&lt;br /&gt;
	offset(string) : &amp;quot;Position Offset (X Y Z)&amp;quot; : &amp;quot;0 0 0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	//Applied once on first use&lt;br /&gt;
	//After first use - Applied if &amp;quot;constant&amp;quot; flag is checked, and for each &amp;quot;Copy [x, y, z] Angle&amp;quot; checked.&lt;br /&gt;
	angleoffset(string) : &amp;quot;Angle Offset (X Y Z)&amp;quot; : &amp;quot;0 0 0&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
	invert_x(choices) : &amp;quot;Invert X Angle&amp;quot; :  0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	invert_y(choices) : &amp;quot;Invert Y Angle&amp;quot; :  0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	invert_z(choices) : &amp;quot;Invert Z Angle&amp;quot; :  0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@SolidClass base(Trigger) = trigger_teleport : &amp;quot;Trigger Teleport&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		64: &amp;quot;Random Destination&amp;quot; : 0&lt;br /&gt;
		128: &amp;quot;Relative Teleport&amp;quot; : 0&lt;br /&gt;
		256: &amp;quot;Keep Angles&amp;quot; : 0&lt;br /&gt;
		512: &amp;quot;Keep velocity&amp;quot; : 0&lt;br /&gt;
		1024: &amp;quot;Rotate (Dest Angles)&amp;quot; : 0&lt;br /&gt;
&lt;br /&gt;
		// Hammer will not save a spawn flag beyond 2048... (and 2048 is engine reserved)&lt;br /&gt;
		// 4096: &amp;quot;Start Inactive&amp;quot; : 0&lt;br /&gt;
		// 8192: &amp;quot;Ignore Delays&amp;quot; : 0&lt;br /&gt;
		// Their respective properties below will add the flag when the entity is created instead&lt;br /&gt;
	]&lt;br /&gt;
	teleport_cooldown(string) : &amp;quot;Teleport Cooldown Delay&amp;quot; : &amp;quot;1&amp;quot;&lt;br /&gt;
	teleport_ignore_delay(choices) : &amp;quot;Ignore Delays&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
	teleport_start_inactive(choices) : &amp;quot;Start Inactive&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	teleport_if_blocked(choices) : &amp;quot;Teleport If Blocked&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;No&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Yes&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Target) color(255 220 28) = trigger_track_goal : &amp;quot;Trigger Track Goal&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		// Only functions if train is not moving.&lt;br /&gt;
		1 : &amp;quot;Stopped Only&amp;quot; : 0&lt;br /&gt;
		2 : &amp;quot;Don&#039;t move if no path available&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	// Where the train wants to stop at.&lt;br /&gt;
	path_name(string) : &amp;quot;Path Name&amp;quot;&lt;br /&gt;
	m_iszSoundNoPath(sound) : &amp;quot;Sound to play if no path is available&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
// Gives mapper ability to start custom votes&lt;br /&gt;
@PointClass base(Targetname) color(32 138 255) = trigger_vote : &amp;quot;Trigger Vote&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	message(String) : &amp;quot;Vote Message&amp;quot;&lt;br /&gt;
	frags(integer) : &amp;quot;Time To Vote (Seconds)&amp;quot; : 90&lt;br /&gt;
	health(integer) : &amp;quot;Percentage needed&amp;quot; : 50&lt;br /&gt;
	target(String) : &amp;quot;Yes Target&amp;quot;&lt;br /&gt;
	netname(String) : &amp;quot;No Target&amp;quot;&lt;br /&gt;
	noise(String) : &amp;quot;No Vote Target&amp;quot;&lt;br /&gt;
	m_iszYesString(string) : &amp;quot;Yes string (optional)&amp;quot;&lt;br /&gt;
	m_iszNoString(string) : &amp;quot;No string (optional)&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx, ExclusiveHold) studio(&amp;quot;models/w_357.mdl&amp;quot;) = weapon_357 : &amp;quot;357 Handgun&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx, ExclusiveHold) studio(&amp;quot;models/w_9mmAR.mdl&amp;quot;) = weapon_9mmAR : &amp;quot;9mm Assault Rifle&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx, ExclusiveHold) studio(&amp;quot;models/w_9mmhandgun.mdl&amp;quot;) = weapon_9mmhandgun : &amp;quot;9mm Handgun&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx, ExclusiveHold) studio(&amp;quot;models/w_crossbow.mdl&amp;quot;) = weapon_crossbow : &amp;quot;Crossbow&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	sequence(choices) : &amp;quot;Placement&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Normal (flat)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Realistic (tilted)&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx, ExclusiveHold) studio(&amp;quot;models/w_crowbar.mdl&amp;quot;) = weapon_crowbar : &amp;quot;Crowbar&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx, ExclusiveHold) studio(&amp;quot;models/w_displacer.mdl&amp;quot;) = weapon_displacer : &amp;quot;Displacer&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(flags) =&lt;br /&gt;
	[&lt;br /&gt;
		64: &amp;quot;Random Destination&amp;quot; : 0&lt;br /&gt;
		128: &amp;quot;Rotate (Dest Angles)&amp;quot; : 0&lt;br /&gt;
		256: &amp;quot;Keep Angles&amp;quot; : 0&lt;br /&gt;
		512: &amp;quot;Keep velocity&amp;quot; : 0&lt;br /&gt;
		4096 : &amp;quot;Ignore delay&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	m_TertiaryMode(choices) : &amp;quot;Tertiary fire mode&amp;quot; : 0 =&lt;br /&gt;
	[&lt;br /&gt;
		0 : &amp;quot;Default (weaponmode_displacer)&amp;quot;&lt;br /&gt;
		1 : &amp;quot;Disable&amp;quot;&lt;br /&gt;
		2 : &amp;quot;Enable&amp;quot;&lt;br /&gt;
	]&lt;br /&gt;
&lt;br /&gt;
	m_flPortalSpeed(string) : &amp;quot;Portal Speed&amp;quot;&lt;br /&gt;
	m_flPortalRadius(string) : &amp;quot;Portal Radius&amp;quot;&lt;br /&gt;
	m_iszTeleportDestination(target_destination) : &amp;quot;Teleport destination&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	m_flPrimaryAmmoNeeded(string) : &amp;quot;Ammo needed/used to fire primary&amp;quot;&lt;br /&gt;
	m_flSecondaryAmmoNeeded(string) : &amp;quot;Ammo needed/used to fire secondary&amp;quot;&lt;br /&gt;
	m_flTertiaryAmmoNeeded(string) : &amp;quot;Ammo needed/used to fire tertiary&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx, ExclusiveHold) studio(&amp;quot;models/w_desert_eagle.mdl&amp;quot;) = weapon_eagle : &amp;quot;Desert Eagle&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx, ExclusiveHold) studio(&amp;quot;models/w_egon.mdl&amp;quot;) = weapon_egon : &amp;quot;Egon Gun&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx, ExclusiveHold) studio(&amp;quot;models/w_gauss.mdl&amp;quot;) = weapon_gauss : &amp;quot;Gauss Gun&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx, ExclusiveHold) studio(&amp;quot;models/w_bgrap.mdl&amp;quot;) = weapon_grapple : &amp;quot;Barnacle Grapple&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx, ExclusiveHold) studio(&amp;quot;models/w_grenade.mdl&amp;quot;) = weapon_handgrenade : &amp;quot;Hand Grenade&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx, ExclusiveHold) studio(&amp;quot;models/w_hgun.mdl&amp;quot;) = weapon_hornetgun : &amp;quot;Hornet Gun&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx, ExclusiveHold) studio(&amp;quot;models/w_m16.mdl&amp;quot;) = weapon_m16 : &amp;quot;M16&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx, ExclusiveHold) studio(&amp;quot;models/w_saw.mdl&amp;quot;) = weapon_m249 : &amp;quot;M249 SAW&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx, ExclusiveHold) studio(&amp;quot;models/w_pmedkit.mdl&amp;quot;) = weapon_medkit : &amp;quot;Medkit&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx) studio(&amp;quot;models/w_minigun.mdl&amp;quot;) = weapon_minigun : &amp;quot;Minigun&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx, ExclusiveHold) studio(&amp;quot;models/w_pipe_wrench.mdl&amp;quot;) = weapon_pipewrench : &amp;quot;Wrench&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx, ExclusiveHold) studio(&amp;quot;models/w_rpg.mdl&amp;quot;) = weapon_rpg : &amp;quot;RPG&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx, ExclusiveHold) studio(&amp;quot;models/w_satchel.mdl&amp;quot;) = weapon_satchel : &amp;quot;Satchel Charge&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx) studio(&amp;quot;models/w_shock_rifle.mdl&amp;quot;) = weapon_shockrifle : &amp;quot;Shock Rifle&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx, ExclusiveHold) studio(&amp;quot;models/w_shotgun.mdl&amp;quot;) = weapon_shotgun : &amp;quot;Shotgun&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx, ExclusiveHold) studio(&amp;quot;models/w_sqknest.mdl&amp;quot;) = weapon_snark : &amp;quot;Squeak Grenade&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx, ExclusiveHold) studio(&amp;quot;models/w_m40a1.mdl&amp;quot;) = weapon_sniperrifle : &amp;quot;Sniper Rifle&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx, ExclusiveHold) studio(&amp;quot;models/w_spore_launcher.mdl&amp;quot;) = weapon_sporelauncher : &amp;quot;Spore Launcher&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx, ExclusiveHold) studio(&amp;quot;models/vhe-models/w_tripmine_hammer.mdl&amp;quot;) = weapon_tripmine : &amp;quot;Tripmine&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx, ExclusiveHold) studio(&amp;quot;models/w_uzi.mdl&amp;quot;) = weapon_uzi : &amp;quot;Single UZI (2 UZIs for Akimbo)&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Weapon, Targetx, ExclusiveHold) studio(&amp;quot;models/w_2uzis.mdl&amp;quot;) = weapon_uziakimbo : &amp;quot;Akimbo UZIs&amp;quot; []&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Item, CustomRespawnDelay) studio(&amp;quot;models/w_weaponbox.mdl&amp;quot;) = weaponbox : &amp;quot;Weapon/Ammo Container&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	bullet9mm(integer) : &amp;quot;Packed 9mm rounds&amp;quot;&lt;br /&gt;
	bullet357(integer) : &amp;quot;Packed 357 rounds&amp;quot;&lt;br /&gt;
	buckshot(integer) : &amp;quot;Packed shotgun shells&amp;quot;&lt;br /&gt;
	bolts(integer) : &amp;quot;Packed crossbow bolts&amp;quot;&lt;br /&gt;
	bullet556(integer) : &amp;quot;Packed 5.56mm rounds&amp;quot;&lt;br /&gt;
	ARgrenades(integer) : &amp;quot;Packed assault rifle grenades&amp;quot;&lt;br /&gt;
	rockets(integer) : &amp;quot;Packed rockets&amp;quot;&lt;br /&gt;
	uranium(integer) : &amp;quot;Packed gauss charges&amp;quot;&lt;br /&gt;
	handgrenade(integer) : &amp;quot;Packed hand grenades&amp;quot;&lt;br /&gt;
	satchelcharge(integer) : &amp;quot;Packed satchels&amp;quot;&lt;br /&gt;
	tripmine(integer) : &amp;quot;Packed trip mines&amp;quot;&lt;br /&gt;
	Snarks(integer) : &amp;quot;Packed snarks&amp;quot;&lt;br /&gt;
	m40a1(integer) : &amp;quot;Packed 7.62mm rounds&amp;quot;&lt;br /&gt;
	sporeclip(integer) : &amp;quot;Packed spores&amp;quot;&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, RenderFields, Angles) size(-8 -8 0, 8 8 32 ) studio(&amp;quot;models/hair.mdl&amp;quot;) = xen_hair : &amp;quot;Xen Hair&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		1 : &amp;quot;Sync Movement&amp;quot; : 0&lt;br /&gt;
		2 : &amp;quot;Drop To Ground&amp;quot; : 0&lt;br /&gt;
		4 : &amp;quot;Face Randomly&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, Target, RenderFields, Angles, AttackObject) size(-48 -48 0, 48 48 32 ) studio(&amp;quot;models/light.mdl&amp;quot;) = xen_plantlight : &amp;quot;Xen Plant Light&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		2 : &amp;quot;Drop To Ground&amp;quot; : 0&lt;br /&gt;
		4 : &amp;quot;Face Randomly&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, RenderFields, Angles) size(-90 -90 0, 90 90 220 ) studio(&amp;quot;models/fungus(large).mdl&amp;quot;) = xen_spore_large : &amp;quot;Xen Spore (large)&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		2 : &amp;quot;Drop To Ground&amp;quot; : 0&lt;br /&gt;
		4 : &amp;quot;Face Randomly&amp;quot; : 0&lt;br /&gt;
		8 : &amp;quot;Non Solid&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, RenderFields, Angles) size(-40 -40 0, 40 40 120 ) studio(&amp;quot;models/fungus.mdl&amp;quot;) = xen_spore_medium : &amp;quot;Xen Spore (medium)&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		2 : &amp;quot;Drop To Ground&amp;quot; : 0&lt;br /&gt;
		4 : &amp;quot;Face Randomly&amp;quot; : 0&lt;br /&gt;
		8 : &amp;quot;Non Solid&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, RenderFields, Angles) size(-16 -16 0, 16 16 64 ) studio(&amp;quot;models/fungus(small).mdl&amp;quot;) = xen_spore_small : &amp;quot;Xen Spore (small)&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		2 : &amp;quot;Drop To Ground&amp;quot; : 0&lt;br /&gt;
		4 : &amp;quot;Face Randomly&amp;quot; : 0&lt;br /&gt;
		8 : &amp;quot;Non Solid&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
@PointClass base(Targetname, RenderFields, Angles) size(-24 -24 0, 24 24 188 ) studio(&amp;quot;models/tree.mdl&amp;quot;) = xen_tree : &amp;quot;Xen Tree&amp;quot;&lt;br /&gt;
[&lt;br /&gt;
	spawnflags(Flags) =&lt;br /&gt;
	[&lt;br /&gt;
		2 : &amp;quot;Drop To Ground&amp;quot; : 0&lt;br /&gt;
		4 : &amp;quot;Face Randomly&amp;quot; : 0&lt;br /&gt;
		8 : &amp;quot;Non Solid&amp;quot; : 0&lt;br /&gt;
	]&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Outerbeast</name></author>
	</entry>
	<entry>
		<id>https://wiki.svencoop.com/index.php?title=Tracing&amp;diff=1371</id>
		<title>Tracing</title>
		<link rel="alternate" type="text/html" href="https://wiki.svencoop.com/index.php?title=Tracing&amp;diff=1371"/>
		<updated>2025-06-11T12:45:39Z</updated>

		<summary type="html">&lt;p&gt;Outerbeast: /* Trace methods */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Traces are used to perform hit detection, which is handled by the engine. It is one of the primary means of handling navigation and hit detection in the game.&lt;br /&gt;
&lt;br /&gt;
== TraceResult ==&lt;br /&gt;
The &amp;lt;code&amp;gt;TraceResult&amp;lt;/code&amp;gt; class stores trace results that are performed by trace methods. Passing in a TraceResult object into a given trace method will modify the object, and so the results from the trace method can be accessed. Not all trace operations require the use of a &amp;lt;code&amp;gt;TraceResult&amp;lt;/code&amp;gt; object.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold; text-align:center;&amp;quot;&lt;br /&gt;
! Variable&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;int fAllSolid&lt;br /&gt;
| Flag telling whether the trace started and ended in a solid area. If true, the plane is not valid.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;int fStartSolid&lt;br /&gt;
| Flag telling whether the trace started in a solid area.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;int fInOpen&lt;br /&gt;
| Flag telling whether the trace ended in empty space.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;int fInWater&lt;br /&gt;
| Flag telling whether the trace ended in water.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;float flFraction&lt;br /&gt;
| How much of the trace&#039;s total distance was covered. 1.0 means it didn&#039;t hit anything.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Vector vecEndPos&lt;br /&gt;
| End position. If flFraction is 1.0, this is invalid.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;float flPlaneDist&lt;br /&gt;
| Brush plane distance. This appears to be the dot product between the first plane point and the normal. Its purpose is unknown, and there are no known uses. If flFraction is 1.0, this is invalid. If the hit object is not a brush, this is invalid.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Vector vecPlaneNormal&lt;br /&gt;
| Brush plane normal. If flFraction is 1.0, this is invalid. If the hit object is not a brush, this is invalid.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;edict_t@ pHit&lt;br /&gt;
| Hit entity. If flFraction is 1.0, this is null.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;int iHitgroup&lt;br /&gt;
| Studio model hit group. if flFraction is 1.0, this is invalid. If the hit object is not a studio model, this is invalid.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Trace methods ==&lt;br /&gt;
Supported trace operations are listed below and are accessible via the [[CUtility#Tracing_methods|CUtility]] class.&lt;br /&gt;
A global instance exists:&lt;br /&gt;
&amp;lt;code&amp;gt;CUtility g_Utility;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: The method &amp;lt;code&amp;gt;TankTrace&amp;lt;/code&amp;gt; belongs to the CBaseTank class.&lt;br /&gt;
&lt;br /&gt;
There are a number of traces that can be performed:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold; text-align:center;&amp;quot;&lt;br /&gt;
! Method&lt;br /&gt;
! Description&lt;br /&gt;
! Bounds&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;void TraceLine(const Vector&amp;amp; in vecStart, const Vector&amp;amp; in vecEnd, IGNORE_MONSTERS igmon, edict_t@ pEntIgnore, TraceResult&amp;amp; out ptr)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Calculates a trace along the given line, storing the results in ptr. If &amp;lt;code&amp;gt;igmon&amp;lt;/code&amp;gt; is ignore_monsters, entities with a solid setting other than SOLID_BSP and a movetype other than MOVETYPE_PUSHSTEP (pushables) are ignored. If &amp;lt;code&amp;gt;pEntIgnore&amp;lt;/code&amp;gt; is set, the entity will not be considered in traceline calculations.&lt;br /&gt;
| Uses point based bounds (zeroed out mins and maxs)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;void TraceLine(const Vector&amp;amp; in vecStart, const Vector&amp;amp; in vecEnd, IGNORE_MONSTERS igmon, IGNORE_GLASS ignoreGlass, edict_t@ pEntIgnore, TraceResult&amp;amp; out ptr)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Same as the above function, but also allows you to specify whether or not to ignore glass. If ignore_glass is specified, brush entities with a render mode other than normal and that don&#039;t have the &amp;lt;code&amp;gt;FL_WORLDBRUSH&amp;lt;/code&amp;gt; flag set are ignored.&lt;br /&gt;
| Uses point based bounds (zeroed out mins and maxs)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;void TraceHull(const Vector&amp;amp; in vecStart, const Vector&amp;amp; in vecEnd, IGNORE_MONSTERS igmon, HULL_NUMBER hullNumber, edict_t@ pEntIgnore, TraceResult&amp;amp; out ptr)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Similar to TraceLine, but will use the specified hull&#039;s bounds instead of point based bounds.&lt;br /&gt;
| Uses the specified hull&#039;s bounds. Maps can specify these bounds in newer compilers, so avoid assuming a particular value is in use.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;void TraceToss(edict_t@ pEntity, edict_t@ pEntityToIgnore, TraceResult&amp;amp; out traceResult)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Traces a toss. This simulates tossing the entity using its current origin, velocity, angular velocity, angles and gravity. Note that this does not use the same code as MOVETYPE_TOSS, and may return different results.&lt;br /&gt;
| Uses the given entity&#039;s bounds.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;bool TraceMonsterHull(edict_t@ pEntity, const Vector&amp;amp; in vecStart, const Vector&amp;amp; in vecEnd, IGNORE_MONSTERS igmon, edict_t@ pEntityToIgnore, TraceResult&amp;amp; out ptr)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Performs a trace using the given entity&#039;s mins and maxs. This can be any entity, not just monsters. Returns true if the trace was entirely in a solid object, or if it hit something.&lt;br /&gt;
| Uses the given entity&#039;s bounds.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;void TraceModel(const Vector&amp;amp; in vecStart, const Vector&amp;amp; in vecEnd, int iHullNumber, edict_t@ pEntityToIgnore, TraceResult&amp;amp; out ptr)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Similar to TraceHull, but will instead perform a trace in the given world hull using the given entity&#039;s model&#039;s hulls. For studio models this will use the model&#039;s hitboxes.&lt;br /&gt;
| If the given entity&#039;s model is a studio model, uses its hitboxes. If it&#039;s a brush model, the brush model&#039;s hull for the given hull number is used (this may differ if custom brush hull sizes are in use). Otherwise, the entity bounds are converted into a hull.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;string TraceTexture(edict_t@ pEntity, const Vector&amp;amp; in vecStart, const Vector&amp;amp; in vecEnd)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Used to get the name of a texture. The given entity must have a brush model set. If the traceline intersects the model, the name of the texture of the surface it intersected is returned. Otherwise, returns an empty string.&lt;br /&gt;
| Uses point based bounds (zeroed out mins and maxs). CUtility::GetGlobalTrace() can be used to obtain this trace.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;void FindHullIntersection(const Vector&amp;amp; in vecSrc, TraceResult&amp;amp; in inTr, TraceResult&amp;amp; out outTr, const Vector&amp;amp; in vecMins, const Vector&amp;amp; in vecMaxs, edict_t@ pEntity, float flDistance = 1e6f)&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | Finds the hull intersection from a traceline in a given set of bounds.&amp;lt;br /&amp;gt;The given entity is the entity performing the traceline.&lt;br /&gt;
| The bounds are relative to the input traceline&#039;s endpoint.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;void TankTrace(const Vector&amp;amp; in vecStart, const Vector&amp;amp; in vecForward, const Vector&amp;amp; in vecSpread, TraceResult&amp;amp; out tr)&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | Performs a traceline using a random spread based on the given spread amount.&amp;lt;br&amp;gt;This is a CBaseTank method.&lt;br /&gt;
| Uses point based bounds (zeroed out mins and maxs)&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Enums ==&lt;br /&gt;
===== IGNORE_MONSTERS =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold; text-align:center;&amp;quot;&lt;br /&gt;
! Constant&lt;br /&gt;
! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| dont_ignore_monsters&lt;br /&gt;
| Don&#039;t ignore monsters.&lt;br /&gt;
|-&lt;br /&gt;
| ignore_monsters&lt;br /&gt;
| Ignore monsters.&lt;br /&gt;
|-&lt;br /&gt;
| missile&lt;br /&gt;
| The trace bounds are set to mins -15, -15, -15 and maxs 15, 15, 15. Otherwise, the bounds are specified by the traceline operation.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== IGNORE_GLASS =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold; text-align:center;&amp;quot;&lt;br /&gt;
! Constant&lt;br /&gt;
! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| dont_ignore_glass&lt;br /&gt;
| Don&#039;t ignore glass.&lt;br /&gt;
|-&lt;br /&gt;
| ignore_glass&lt;br /&gt;
| Ignore glass.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== HULL_NUMBER =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold; text-align:center;&amp;quot;&lt;br /&gt;
! Constant&lt;br /&gt;
! Hull #&lt;br /&gt;
! Default Mins&lt;br /&gt;
! Default Maxs&lt;br /&gt;
! Default Size&lt;br /&gt;
|-&lt;br /&gt;
| point_hull&lt;br /&gt;
| 0&lt;br /&gt;
| 0, 0, 0&lt;br /&gt;
| 0, 0, 0&lt;br /&gt;
| 0x0x0&lt;br /&gt;
|-&lt;br /&gt;
| human_hull&lt;br /&gt;
| 1&lt;br /&gt;
| -16, -16, -36&lt;br /&gt;
| 16, 16, 36&lt;br /&gt;
| 32x32x72&lt;br /&gt;
|-&lt;br /&gt;
| large_hull&lt;br /&gt;
| 2&lt;br /&gt;
| -32, -32, -32&lt;br /&gt;
| 32, 32, 32&lt;br /&gt;
| 64x64x64&lt;br /&gt;
|-&lt;br /&gt;
| head_hull&lt;br /&gt;
| 3&lt;br /&gt;
| -16, -16, -18&lt;br /&gt;
| 16, 16, 18&lt;br /&gt;
| 32x32x36&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Outerbeast</name></author>
	</entry>
	<entry>
		<id>https://wiki.svencoop.com/index.php?title=Tracing&amp;diff=1370</id>
		<title>Tracing</title>
		<link rel="alternate" type="text/html" href="https://wiki.svencoop.com/index.php?title=Tracing&amp;diff=1370"/>
		<updated>2025-06-11T12:42:09Z</updated>

		<summary type="html">&lt;p&gt;Outerbeast: /* Trace methods */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Traces are used to perform hit detection, which is handled by the engine. It is one of the primary means of handling navigation and hit detection in the game.&lt;br /&gt;
&lt;br /&gt;
== TraceResult ==&lt;br /&gt;
The &amp;lt;code&amp;gt;TraceResult&amp;lt;/code&amp;gt; class stores trace results that are performed by trace methods. Passing in a TraceResult object into a given trace method will modify the object, and so the results from the trace method can be accessed. Not all trace operations require the use of a &amp;lt;code&amp;gt;TraceResult&amp;lt;/code&amp;gt; object.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold; text-align:center;&amp;quot;&lt;br /&gt;
! Variable&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;int fAllSolid&lt;br /&gt;
| Flag telling whether the trace started and ended in a solid area. If true, the plane is not valid.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;int fStartSolid&lt;br /&gt;
| Flag telling whether the trace started in a solid area.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;int fInOpen&lt;br /&gt;
| Flag telling whether the trace ended in empty space.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;int fInWater&lt;br /&gt;
| Flag telling whether the trace ended in water.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;float flFraction&lt;br /&gt;
| How much of the trace&#039;s total distance was covered. 1.0 means it didn&#039;t hit anything.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Vector vecEndPos&lt;br /&gt;
| End position. If flFraction is 1.0, this is invalid.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;float flPlaneDist&lt;br /&gt;
| Brush plane distance. This appears to be the dot product between the first plane point and the normal. Its purpose is unknown, and there are no known uses. If flFraction is 1.0, this is invalid. If the hit object is not a brush, this is invalid.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Vector vecPlaneNormal&lt;br /&gt;
| Brush plane normal. If flFraction is 1.0, this is invalid. If the hit object is not a brush, this is invalid.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;edict_t@ pHit&lt;br /&gt;
| Hit entity. If flFraction is 1.0, this is null.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;int iHitgroup&lt;br /&gt;
| Studio model hit group. if flFraction is 1.0, this is invalid. If the hit object is not a studio model, this is invalid.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Trace methods ==&lt;br /&gt;
Supported trace operations are listed below and are accessible via the [[CUtility#Tracing_methods|CUtility]] class.&lt;br /&gt;
A global instance exists:&lt;br /&gt;
&amp;lt;code&amp;gt;CUtility g_Utility;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: The method &amp;lt;code&amp;gt;TankTrace&amp;lt;/code&amp;gt; belongs to the CBaseTank class.&lt;br /&gt;
&lt;br /&gt;
There are a number of traces that can be performed:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold; text-align:center;&amp;quot;&lt;br /&gt;
! Method&lt;br /&gt;
! Description&lt;br /&gt;
! Bounds&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;void TraceLine(const Vector&amp;amp; in vecStart, const Vector&amp;amp; in vecEnd, IGNORE_MONSTERS igmon, edict_t@ pEntIgnore, TraceResult&amp;amp; out ptr)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Calculates a trace along the given line, storing the results in ptr. If &amp;lt;code&amp;gt;igmon&amp;lt;/code&amp;gt; is ignore_monsters, entities with a solid setting other than SOLID_BSP and a movetype other than MOVETYPE_PUSHSTEP (pushables) are ignored. If &amp;lt;code&amp;gt;pEntIgnore&amp;lt;/code&amp;gt; is set, the entity will not be considered in traceline calculations.&lt;br /&gt;
| Uses point based bounds (zeroed out mins and maxs)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;void TraceLine(const Vector&amp;amp; in vecStart, const Vector&amp;amp; in vecEnd, IGNORE_MONSTERS igmon, IGNORE_GLASS ignoreGlass, edict_t@ pEntIgnore, TraceResult&amp;amp; out ptr)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Same as the above function, but also allows you to specify whether or not to ignore glass. If ignore_glass is specified, brush entities with a render mode other than normal and that don&#039;t have the &amp;lt;code&amp;gt;FL_WORLDBRUSH&amp;lt;/code&amp;gt; flag set are ignored.&lt;br /&gt;
| Uses point based bounds (zeroed out mins and maxs)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;void TraceHull(const Vector&amp;amp; in vecStart, const Vector&amp;amp; in vecEnd, IGNORE_MONSTERS igmon, HULL_NUMBER hullNumber, edict_t@ pEntIgnore, TraceResult&amp;amp; out ptr)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Similar to TraceLine, but will use the specified hull&#039;s bounds instead of point based bounds.&lt;br /&gt;
| Uses the specified hull&#039;s bounds. Maps can specify these bounds in newer compilers, so avoid assuming a particular value is in use.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;void TraceToss(edict_t@ pEntity, edict_t@ pEntityToIgnore, TraceResult&amp;amp; out traceResult)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Traces a toss. This simulates tossing the entity using its current origin, velocity, angular velocity, angles and gravity. Note that this does not use the same code as MOVETYPE_TOSS, and may return different results.&lt;br /&gt;
| Uses the given entity&#039;s bounds.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;bool TraceMonsterHull(edict_t@ pEntity, const Vector&amp;amp; in vecStart, const Vector&amp;amp; in vecEnd, IGNORE_MONSTERS igmon, edict_t@ pEntityToIgnore, TraceResult&amp;amp; out ptr)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Performs a trace using the given entity&#039;s mins and maxs. This can be any entity, not just monsters. Returns true if the trace was entirely in a solid object, or if it hit something.&lt;br /&gt;
| Uses the given entity&#039;s bounds.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;void TraceModel(const Vector&amp;amp; in vecStart, const Vector&amp;amp; in vecEnd, int iHullNumber, edict_t@ pEntityToIgnore, TraceResult&amp;amp; out ptr)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Similar to TraceHull, but will instead perform a trace in the given world hull using the given entity&#039;s model&#039;s hulls. For studio models this will use the model&#039;s hitboxes.&lt;br /&gt;
| If the given entity&#039;s model is a studio model, uses its hitboxes. If it&#039;s a brush model, the brush model&#039;s hull for the given hull number is used (this may differ if custom brush hull sizes are in use). Otherwise, the entity bounds are converted into a hull.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;string TraceTexture(edict_t@ pEntity, const Vector&amp;amp; in vecStart, const Vector&amp;amp; in vecEnd)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Used to get the name of a texture. The given entity must have a brush model set. If the traceline intersects the model, the name of the texture of the surface it intersected is returned. Otherwise, returns an empty string.&lt;br /&gt;
| Uses point based bounds (zeroed out mins and maxs). CUtility::GetGlobalTrace() can be used to obtain this trace.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;void FindHullIntersection(const Vector&amp;amp; in vecSrc, TraceResult&amp;amp; in inTr, TraceResult&amp;amp; out outTr, const Vector&amp;amp; in vecMins, const Vector&amp;amp; in vecMaxs, edict_t@ pEntity, float flDistance = 1e6f)&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | Finds the hull intersection from a traceline in a given set of bounds.&amp;lt;br /&amp;gt;The given entity is the entity performing the traceline.&lt;br /&gt;
| The bounds are relative to the input traceline&#039;s endpoint.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;void TankTrace(const Vector&amp;amp; in vecStart, const Vector&amp;amp; in vecForward, const Vector&amp;amp; in vecSpread, TraceResult&amp;amp; out tr)&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | Performs a traceline using a random spread based on the given spread amount.&amp;lt;br&amp;gt;This is a CBaseTank method.&lt;br /&gt;
| The bounds are relative to the input traceline&#039;s endpoint.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Enums ==&lt;br /&gt;
===== IGNORE_MONSTERS =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold; text-align:center;&amp;quot;&lt;br /&gt;
! Constant&lt;br /&gt;
! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| dont_ignore_monsters&lt;br /&gt;
| Don&#039;t ignore monsters.&lt;br /&gt;
|-&lt;br /&gt;
| ignore_monsters&lt;br /&gt;
| Ignore monsters.&lt;br /&gt;
|-&lt;br /&gt;
| missile&lt;br /&gt;
| The trace bounds are set to mins -15, -15, -15 and maxs 15, 15, 15. Otherwise, the bounds are specified by the traceline operation.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== IGNORE_GLASS =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold; text-align:center;&amp;quot;&lt;br /&gt;
! Constant&lt;br /&gt;
! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| dont_ignore_glass&lt;br /&gt;
| Don&#039;t ignore glass.&lt;br /&gt;
|-&lt;br /&gt;
| ignore_glass&lt;br /&gt;
| Ignore glass.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== HULL_NUMBER =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold; text-align:center;&amp;quot;&lt;br /&gt;
! Constant&lt;br /&gt;
! Hull #&lt;br /&gt;
! Default Mins&lt;br /&gt;
! Default Maxs&lt;br /&gt;
! Default Size&lt;br /&gt;
|-&lt;br /&gt;
| point_hull&lt;br /&gt;
| 0&lt;br /&gt;
| 0, 0, 0&lt;br /&gt;
| 0, 0, 0&lt;br /&gt;
| 0x0x0&lt;br /&gt;
|-&lt;br /&gt;
| human_hull&lt;br /&gt;
| 1&lt;br /&gt;
| -16, -16, -36&lt;br /&gt;
| 16, 16, 36&lt;br /&gt;
| 32x32x72&lt;br /&gt;
|-&lt;br /&gt;
| large_hull&lt;br /&gt;
| 2&lt;br /&gt;
| -32, -32, -32&lt;br /&gt;
| 32, 32, 32&lt;br /&gt;
| 64x64x64&lt;br /&gt;
|-&lt;br /&gt;
| head_hull&lt;br /&gt;
| 3&lt;br /&gt;
| -16, -16, -18&lt;br /&gt;
| 16, 16, 18&lt;br /&gt;
| 32x32x36&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Outerbeast</name></author>
	</entry>
	<entry>
		<id>https://wiki.svencoop.com/index.php?title=Tracing&amp;diff=1369</id>
		<title>Tracing</title>
		<link rel="alternate" type="text/html" href="https://wiki.svencoop.com/index.php?title=Tracing&amp;diff=1369"/>
		<updated>2025-06-11T12:41:48Z</updated>

		<summary type="html">&lt;p&gt;Outerbeast: /* Trace methods */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Traces are used to perform hit detection, which is handled by the engine. It is one of the primary means of handling navigation and hit detection in the game.&lt;br /&gt;
&lt;br /&gt;
== TraceResult ==&lt;br /&gt;
The &amp;lt;code&amp;gt;TraceResult&amp;lt;/code&amp;gt; class stores trace results that are performed by trace methods. Passing in a TraceResult object into a given trace method will modify the object, and so the results from the trace method can be accessed. Not all trace operations require the use of a &amp;lt;code&amp;gt;TraceResult&amp;lt;/code&amp;gt; object.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold; text-align:center;&amp;quot;&lt;br /&gt;
! Variable&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;int fAllSolid&lt;br /&gt;
| Flag telling whether the trace started and ended in a solid area. If true, the plane is not valid.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;int fStartSolid&lt;br /&gt;
| Flag telling whether the trace started in a solid area.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;int fInOpen&lt;br /&gt;
| Flag telling whether the trace ended in empty space.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;int fInWater&lt;br /&gt;
| Flag telling whether the trace ended in water.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;float flFraction&lt;br /&gt;
| How much of the trace&#039;s total distance was covered. 1.0 means it didn&#039;t hit anything.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Vector vecEndPos&lt;br /&gt;
| End position. If flFraction is 1.0, this is invalid.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;float flPlaneDist&lt;br /&gt;
| Brush plane distance. This appears to be the dot product between the first plane point and the normal. Its purpose is unknown, and there are no known uses. If flFraction is 1.0, this is invalid. If the hit object is not a brush, this is invalid.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Vector vecPlaneNormal&lt;br /&gt;
| Brush plane normal. If flFraction is 1.0, this is invalid. If the hit object is not a brush, this is invalid.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;edict_t@ pHit&lt;br /&gt;
| Hit entity. If flFraction is 1.0, this is null.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;int iHitgroup&lt;br /&gt;
| Studio model hit group. if flFraction is 1.0, this is invalid. If the hit object is not a studio model, this is invalid.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Trace methods ==&lt;br /&gt;
Supported trace operations are listed below and are accessible via the [[CUtility#Tracing_methods|CUtility]] class.&lt;br /&gt;
A global instance exists:&lt;br /&gt;
&amp;lt;code&amp;gt;CUtility g_Utility;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: The method &amp;lt;code&amp;gt;TraceTank&amp;lt;/code&amp;gt; belongs to the CBaseTank class.&lt;br /&gt;
&lt;br /&gt;
There are a number of traces that can be performed:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold; text-align:center;&amp;quot;&lt;br /&gt;
! Method&lt;br /&gt;
! Description&lt;br /&gt;
! Bounds&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;void TraceLine(const Vector&amp;amp; in vecStart, const Vector&amp;amp; in vecEnd, IGNORE_MONSTERS igmon, edict_t@ pEntIgnore, TraceResult&amp;amp; out ptr)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Calculates a trace along the given line, storing the results in ptr. If &amp;lt;code&amp;gt;igmon&amp;lt;/code&amp;gt; is ignore_monsters, entities with a solid setting other than SOLID_BSP and a movetype other than MOVETYPE_PUSHSTEP (pushables) are ignored. If &amp;lt;code&amp;gt;pEntIgnore&amp;lt;/code&amp;gt; is set, the entity will not be considered in traceline calculations.&lt;br /&gt;
| Uses point based bounds (zeroed out mins and maxs)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;void TraceLine(const Vector&amp;amp; in vecStart, const Vector&amp;amp; in vecEnd, IGNORE_MONSTERS igmon, IGNORE_GLASS ignoreGlass, edict_t@ pEntIgnore, TraceResult&amp;amp; out ptr)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Same as the above function, but also allows you to specify whether or not to ignore glass. If ignore_glass is specified, brush entities with a render mode other than normal and that don&#039;t have the &amp;lt;code&amp;gt;FL_WORLDBRUSH&amp;lt;/code&amp;gt; flag set are ignored.&lt;br /&gt;
| Uses point based bounds (zeroed out mins and maxs)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;void TraceHull(const Vector&amp;amp; in vecStart, const Vector&amp;amp; in vecEnd, IGNORE_MONSTERS igmon, HULL_NUMBER hullNumber, edict_t@ pEntIgnore, TraceResult&amp;amp; out ptr)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Similar to TraceLine, but will use the specified hull&#039;s bounds instead of point based bounds.&lt;br /&gt;
| Uses the specified hull&#039;s bounds. Maps can specify these bounds in newer compilers, so avoid assuming a particular value is in use.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;void TraceToss(edict_t@ pEntity, edict_t@ pEntityToIgnore, TraceResult&amp;amp; out traceResult)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Traces a toss. This simulates tossing the entity using its current origin, velocity, angular velocity, angles and gravity. Note that this does not use the same code as MOVETYPE_TOSS, and may return different results.&lt;br /&gt;
| Uses the given entity&#039;s bounds.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;bool TraceMonsterHull(edict_t@ pEntity, const Vector&amp;amp; in vecStart, const Vector&amp;amp; in vecEnd, IGNORE_MONSTERS igmon, edict_t@ pEntityToIgnore, TraceResult&amp;amp; out ptr)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Performs a trace using the given entity&#039;s mins and maxs. This can be any entity, not just monsters. Returns true if the trace was entirely in a solid object, or if it hit something.&lt;br /&gt;
| Uses the given entity&#039;s bounds.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;void TraceModel(const Vector&amp;amp; in vecStart, const Vector&amp;amp; in vecEnd, int iHullNumber, edict_t@ pEntityToIgnore, TraceResult&amp;amp; out ptr)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Similar to TraceHull, but will instead perform a trace in the given world hull using the given entity&#039;s model&#039;s hulls. For studio models this will use the model&#039;s hitboxes.&lt;br /&gt;
| If the given entity&#039;s model is a studio model, uses its hitboxes. If it&#039;s a brush model, the brush model&#039;s hull for the given hull number is used (this may differ if custom brush hull sizes are in use). Otherwise, the entity bounds are converted into a hull.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;string TraceTexture(edict_t@ pEntity, const Vector&amp;amp; in vecStart, const Vector&amp;amp; in vecEnd)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Used to get the name of a texture. The given entity must have a brush model set. If the traceline intersects the model, the name of the texture of the surface it intersected is returned. Otherwise, returns an empty string.&lt;br /&gt;
| Uses point based bounds (zeroed out mins and maxs). CUtility::GetGlobalTrace() can be used to obtain this trace.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;void FindHullIntersection(const Vector&amp;amp; in vecSrc, TraceResult&amp;amp; in inTr, TraceResult&amp;amp; out outTr, const Vector&amp;amp; in vecMins, const Vector&amp;amp; in vecMaxs, edict_t@ pEntity, float flDistance = 1e6f)&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | Finds the hull intersection from a traceline in a given set of bounds.&amp;lt;br /&amp;gt;The given entity is the entity performing the traceline.&lt;br /&gt;
| The bounds are relative to the input traceline&#039;s endpoint.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;void TankTrace(const Vector&amp;amp; in vecStart, const Vector&amp;amp; in vecForward, const Vector&amp;amp; in vecSpread, TraceResult&amp;amp; out tr)&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | Performs a traceline using a random spread based on the given spread amount.&amp;lt;br&amp;gt;This is a CBaseTank method.&lt;br /&gt;
| The bounds are relative to the input traceline&#039;s endpoint.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Enums ==&lt;br /&gt;
===== IGNORE_MONSTERS =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold; text-align:center;&amp;quot;&lt;br /&gt;
! Constant&lt;br /&gt;
! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| dont_ignore_monsters&lt;br /&gt;
| Don&#039;t ignore monsters.&lt;br /&gt;
|-&lt;br /&gt;
| ignore_monsters&lt;br /&gt;
| Ignore monsters.&lt;br /&gt;
|-&lt;br /&gt;
| missile&lt;br /&gt;
| The trace bounds are set to mins -15, -15, -15 and maxs 15, 15, 15. Otherwise, the bounds are specified by the traceline operation.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== IGNORE_GLASS =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold; text-align:center;&amp;quot;&lt;br /&gt;
! Constant&lt;br /&gt;
! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| dont_ignore_glass&lt;br /&gt;
| Don&#039;t ignore glass.&lt;br /&gt;
|-&lt;br /&gt;
| ignore_glass&lt;br /&gt;
| Ignore glass.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== HULL_NUMBER =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold; text-align:center;&amp;quot;&lt;br /&gt;
! Constant&lt;br /&gt;
! Hull #&lt;br /&gt;
! Default Mins&lt;br /&gt;
! Default Maxs&lt;br /&gt;
! Default Size&lt;br /&gt;
|-&lt;br /&gt;
| point_hull&lt;br /&gt;
| 0&lt;br /&gt;
| 0, 0, 0&lt;br /&gt;
| 0, 0, 0&lt;br /&gt;
| 0x0x0&lt;br /&gt;
|-&lt;br /&gt;
| human_hull&lt;br /&gt;
| 1&lt;br /&gt;
| -16, -16, -36&lt;br /&gt;
| 16, 16, 36&lt;br /&gt;
| 32x32x72&lt;br /&gt;
|-&lt;br /&gt;
| large_hull&lt;br /&gt;
| 2&lt;br /&gt;
| -32, -32, -32&lt;br /&gt;
| 32, 32, 32&lt;br /&gt;
| 64x64x64&lt;br /&gt;
|-&lt;br /&gt;
| head_hull&lt;br /&gt;
| 3&lt;br /&gt;
| -16, -16, -18&lt;br /&gt;
| 16, 16, 18&lt;br /&gt;
| 32x32x36&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Outerbeast</name></author>
	</entry>
	<entry>
		<id>https://wiki.svencoop.com/index.php?title=Tracing&amp;diff=1368</id>
		<title>Tracing</title>
		<link rel="alternate" type="text/html" href="https://wiki.svencoop.com/index.php?title=Tracing&amp;diff=1368"/>
		<updated>2025-06-11T12:41:36Z</updated>

		<summary type="html">&lt;p&gt;Outerbeast: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Traces are used to perform hit detection, which is handled by the engine. It is one of the primary means of handling navigation and hit detection in the game.&lt;br /&gt;
&lt;br /&gt;
== TraceResult ==&lt;br /&gt;
The &amp;lt;code&amp;gt;TraceResult&amp;lt;/code&amp;gt; class stores trace results that are performed by trace methods. Passing in a TraceResult object into a given trace method will modify the object, and so the results from the trace method can be accessed. Not all trace operations require the use of a &amp;lt;code&amp;gt;TraceResult&amp;lt;/code&amp;gt; object.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold; text-align:center;&amp;quot;&lt;br /&gt;
! Variable&lt;br /&gt;
! Description&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;int fAllSolid&lt;br /&gt;
| Flag telling whether the trace started and ended in a solid area. If true, the plane is not valid.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;int fStartSolid&lt;br /&gt;
| Flag telling whether the trace started in a solid area.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;int fInOpen&lt;br /&gt;
| Flag telling whether the trace ended in empty space.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;int fInWater&lt;br /&gt;
| Flag telling whether the trace ended in water.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;float flFraction&lt;br /&gt;
| How much of the trace&#039;s total distance was covered. 1.0 means it didn&#039;t hit anything.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Vector vecEndPos&lt;br /&gt;
| End position. If flFraction is 1.0, this is invalid.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;float flPlaneDist&lt;br /&gt;
| Brush plane distance. This appears to be the dot product between the first plane point and the normal. Its purpose is unknown, and there are no known uses. If flFraction is 1.0, this is invalid. If the hit object is not a brush, this is invalid.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;Vector vecPlaneNormal&lt;br /&gt;
| Brush plane normal. If flFraction is 1.0, this is invalid. If the hit object is not a brush, this is invalid.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;edict_t@ pHit&lt;br /&gt;
| Hit entity. If flFraction is 1.0, this is null.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;int iHitgroup&lt;br /&gt;
| Studio model hit group. if flFraction is 1.0, this is invalid. If the hit object is not a studio model, this is invalid.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Trace methods ==&lt;br /&gt;
Supported trace operations are listed below and are accessible via the [[CUtility#Tracing_methods|CUtility]] class.&lt;br /&gt;
A global instance exists:&lt;br /&gt;
&amp;lt;code&amp;gt;CUtility g_Utility;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: The method &amp;lt;code&amp;gt;TraceTank&amp;lt;code&amp;gt; belongs to the CBaseTank class.&lt;br /&gt;
&lt;br /&gt;
There are a number of traces that can be performed:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold; text-align:center;&amp;quot;&lt;br /&gt;
! Method&lt;br /&gt;
! Description&lt;br /&gt;
! Bounds&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;void TraceLine(const Vector&amp;amp; in vecStart, const Vector&amp;amp; in vecEnd, IGNORE_MONSTERS igmon, edict_t@ pEntIgnore, TraceResult&amp;amp; out ptr)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Calculates a trace along the given line, storing the results in ptr. If &amp;lt;code&amp;gt;igmon&amp;lt;/code&amp;gt; is ignore_monsters, entities with a solid setting other than SOLID_BSP and a movetype other than MOVETYPE_PUSHSTEP (pushables) are ignored. If &amp;lt;code&amp;gt;pEntIgnore&amp;lt;/code&amp;gt; is set, the entity will not be considered in traceline calculations.&lt;br /&gt;
| Uses point based bounds (zeroed out mins and maxs)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;void TraceLine(const Vector&amp;amp; in vecStart, const Vector&amp;amp; in vecEnd, IGNORE_MONSTERS igmon, IGNORE_GLASS ignoreGlass, edict_t@ pEntIgnore, TraceResult&amp;amp; out ptr)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Same as the above function, but also allows you to specify whether or not to ignore glass. If ignore_glass is specified, brush entities with a render mode other than normal and that don&#039;t have the &amp;lt;code&amp;gt;FL_WORLDBRUSH&amp;lt;/code&amp;gt; flag set are ignored.&lt;br /&gt;
| Uses point based bounds (zeroed out mins and maxs)&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;void TraceHull(const Vector&amp;amp; in vecStart, const Vector&amp;amp; in vecEnd, IGNORE_MONSTERS igmon, HULL_NUMBER hullNumber, edict_t@ pEntIgnore, TraceResult&amp;amp; out ptr)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Similar to TraceLine, but will use the specified hull&#039;s bounds instead of point based bounds.&lt;br /&gt;
| Uses the specified hull&#039;s bounds. Maps can specify these bounds in newer compilers, so avoid assuming a particular value is in use.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;void TraceToss(edict_t@ pEntity, edict_t@ pEntityToIgnore, TraceResult&amp;amp; out traceResult)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Traces a toss. This simulates tossing the entity using its current origin, velocity, angular velocity, angles and gravity. Note that this does not use the same code as MOVETYPE_TOSS, and may return different results.&lt;br /&gt;
| Uses the given entity&#039;s bounds.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;bool TraceMonsterHull(edict_t@ pEntity, const Vector&amp;amp; in vecStart, const Vector&amp;amp; in vecEnd, IGNORE_MONSTERS igmon, edict_t@ pEntityToIgnore, TraceResult&amp;amp; out ptr)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Performs a trace using the given entity&#039;s mins and maxs. This can be any entity, not just monsters. Returns true if the trace was entirely in a solid object, or if it hit something.&lt;br /&gt;
| Uses the given entity&#039;s bounds.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;void TraceModel(const Vector&amp;amp; in vecStart, const Vector&amp;amp; in vecEnd, int iHullNumber, edict_t@ pEntityToIgnore, TraceResult&amp;amp; out ptr)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Similar to TraceHull, but will instead perform a trace in the given world hull using the given entity&#039;s model&#039;s hulls. For studio models this will use the model&#039;s hitboxes.&lt;br /&gt;
| If the given entity&#039;s model is a studio model, uses its hitboxes. If it&#039;s a brush model, the brush model&#039;s hull for the given hull number is used (this may differ if custom brush hull sizes are in use). Otherwise, the entity bounds are converted into a hull.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;string TraceTexture(edict_t@ pEntity, const Vector&amp;amp; in vecStart, const Vector&amp;amp; in vecEnd)&amp;lt;/code&amp;gt;&lt;br /&gt;
| Used to get the name of a texture. The given entity must have a brush model set. If the traceline intersects the model, the name of the texture of the surface it intersected is returned. Otherwise, returns an empty string.&lt;br /&gt;
| Uses point based bounds (zeroed out mins and maxs). CUtility::GetGlobalTrace() can be used to obtain this trace.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;void FindHullIntersection(const Vector&amp;amp; in vecSrc, TraceResult&amp;amp; in inTr, TraceResult&amp;amp; out outTr, const Vector&amp;amp; in vecMins, const Vector&amp;amp; in vecMaxs, edict_t@ pEntity, float flDistance = 1e6f)&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | Finds the hull intersection from a traceline in a given set of bounds.&amp;lt;br /&amp;gt;The given entity is the entity performing the traceline.&lt;br /&gt;
| The bounds are relative to the input traceline&#039;s endpoint.&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;void TankTrace(const Vector&amp;amp; in vecStart, const Vector&amp;amp; in vecForward, const Vector&amp;amp; in vecSpread, TraceResult&amp;amp; out tr)&amp;lt;/code&amp;gt;&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | Performs a traceline using a random spread based on the given spread amount.&amp;lt;br&amp;gt;This is a CBaseTank method.&lt;br /&gt;
| The bounds are relative to the input traceline&#039;s endpoint.&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Enums ==&lt;br /&gt;
===== IGNORE_MONSTERS =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold; text-align:center;&amp;quot;&lt;br /&gt;
! Constant&lt;br /&gt;
! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| dont_ignore_monsters&lt;br /&gt;
| Don&#039;t ignore monsters.&lt;br /&gt;
|-&lt;br /&gt;
| ignore_monsters&lt;br /&gt;
| Ignore monsters.&lt;br /&gt;
|-&lt;br /&gt;
| missile&lt;br /&gt;
| The trace bounds are set to mins -15, -15, -15 and maxs 15, 15, 15. Otherwise, the bounds are specified by the traceline operation.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== IGNORE_GLASS =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold; text-align:center;&amp;quot;&lt;br /&gt;
! Constant&lt;br /&gt;
! Purpose&lt;br /&gt;
|-&lt;br /&gt;
| dont_ignore_glass&lt;br /&gt;
| Don&#039;t ignore glass.&lt;br /&gt;
|-&lt;br /&gt;
| ignore_glass&lt;br /&gt;
| Ignore glass.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== HULL_NUMBER =====&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;vertical-align:middle;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;font-weight:bold; text-align:center;&amp;quot;&lt;br /&gt;
! Constant&lt;br /&gt;
! Hull #&lt;br /&gt;
! Default Mins&lt;br /&gt;
! Default Maxs&lt;br /&gt;
! Default Size&lt;br /&gt;
|-&lt;br /&gt;
| point_hull&lt;br /&gt;
| 0&lt;br /&gt;
| 0, 0, 0&lt;br /&gt;
| 0, 0, 0&lt;br /&gt;
| 0x0x0&lt;br /&gt;
|-&lt;br /&gt;
| human_hull&lt;br /&gt;
| 1&lt;br /&gt;
| -16, -16, -36&lt;br /&gt;
| 16, 16, 36&lt;br /&gt;
| 32x32x72&lt;br /&gt;
|-&lt;br /&gt;
| large_hull&lt;br /&gt;
| 2&lt;br /&gt;
| -32, -32, -32&lt;br /&gt;
| 32, 32, 32&lt;br /&gt;
| 64x64x64&lt;br /&gt;
|-&lt;br /&gt;
| head_hull&lt;br /&gt;
| 3&lt;br /&gt;
| -16, -16, -18&lt;br /&gt;
| 16, 16, 18&lt;br /&gt;
| 32x32x36&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Outerbeast</name></author>
	</entry>
	<entry>
		<id>https://wiki.svencoop.com/index.php?title=TE_PLAYERATTACHMENT&amp;diff=1367</id>
		<title>TE PLAYERATTACHMENT</title>
		<link rel="alternate" type="text/html" href="https://wiki.svencoop.com/index.php?title=TE_PLAYERATTACHMENT&amp;diff=1367"/>
		<updated>2025-05-31T15:23:52Z</updated>

		<summary type="html">&lt;p&gt;Outerbeast: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Attaches a sprite or model to the target player.&lt;br /&gt;
[[File:TE PLAYERATTACHMENT.gif|frame|TE_PLAYERATTACHMENT]]&lt;br /&gt;
&lt;br /&gt;
A CBasePlayer method exists: &amp;lt;code&amp;gt;void ShowOverheadSprite(const string&amp;amp; in szSpriteName, const float flZOffset, const float flLifeTime)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void te_playerattachment(CBasePlayer@ target, float vOffset=51.0f, &lt;br /&gt;
	string sprite=&amp;quot;sprites/bubble.spr&amp;quot;, uint16 life=16, &lt;br /&gt;
	NetworkMessageDest msgType=MSG_BROADCAST, edict_t@ dest=null)&lt;br /&gt;
{&lt;br /&gt;
	NetworkMessage m(msgType, NetworkMessages::SVC_TEMPENTITY, dest);&lt;br /&gt;
	m.WriteByte(TE_PLAYERATTACHMENT);&lt;br /&gt;
	m.WriteByte(target.entindex());&lt;br /&gt;
	m.WriteCoord(vOffset);&lt;br /&gt;
	m.WriteShort(g_EngineFuncs.ModelIndex(sprite));&lt;br /&gt;
	m.WriteShort(life);&lt;br /&gt;
	m.End();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;CBasePlayer@	target&amp;lt;/code&amp;gt;	Player to attach the sprite/model to&lt;br /&gt;
* &amp;lt;code&amp;gt;float	vOffset&amp;lt;/code&amp;gt;	Vertical sprite offset relative to the player&#039;s origin&lt;br /&gt;
* &amp;lt;code&amp;gt;string	sprite&amp;lt;/code&amp;gt;	Sprite to display (alpha transparency)&lt;br /&gt;
* &amp;lt;code&amp;gt;uint16	life&amp;lt;/code&amp;gt;	Time to display the attachement (seconds * 0.1)&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Outerbeast</name></author>
	</entry>
	<entry>
		<id>https://wiki.svencoop.com/index.php?title=TE_PLAYERATTACHMENT&amp;diff=1366</id>
		<title>TE PLAYERATTACHMENT</title>
		<link rel="alternate" type="text/html" href="https://wiki.svencoop.com/index.php?title=TE_PLAYERATTACHMENT&amp;diff=1366"/>
		<updated>2025-05-31T15:18:53Z</updated>

		<summary type="html">&lt;p&gt;Outerbeast: Created page with &amp;quot;Attaches a sprite or model to the target player. TE_PLAYERATTACHMENT  A CBasePlayer method exists: &amp;lt;code&amp;gt;void ShowOverheadSprite(const s...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Attaches a sprite or model to the target player.&lt;br /&gt;
[[File:TE PLAYERATTACHMENT.gif|frame|TE_PLAYERATTACHMENT]]&lt;br /&gt;
&lt;br /&gt;
A CBasePlayer method exists: &amp;lt;code&amp;gt;void ShowOverheadSprite(const string&amp;amp; in szSpriteName, const float flZOffset, const float flLifeTime)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void te_playerattachment(CBasePlayer@ target, float vOffset=51.0f, &lt;br /&gt;
	string sprite=&amp;quot;sprites/bubble.spr&amp;quot;, uint16 life=16, &lt;br /&gt;
	NetworkMessageDest msgType=MSG_BROADCAST, edict_t@ dest=null)&lt;br /&gt;
{&lt;br /&gt;
	NetworkMessage m(msgType, NetworkMessages::SVC_TEMPENTITY, dest);&lt;br /&gt;
	m.WriteByte(TE_PLAYERATTACHMENT);&lt;br /&gt;
	m.WriteByte(target.entindex());&lt;br /&gt;
	m.WriteCoord(vOffset);&lt;br /&gt;
	m.WriteShort(g_EngineFuncs.ModelIndex(sprite));&lt;br /&gt;
	m.WriteShort(life);&lt;br /&gt;
	m.End();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;CBasePlayer@	target&amp;lt;/code&amp;gt;	Player to attach the sprite/model to&lt;br /&gt;
* &amp;lt;code&amp;gt;float	vOffset&amp;lt;/code&amp;gt;	Vertical sprite offset relative to the player&#039;s origin&lt;br /&gt;
* &amp;lt;code&amp;gt;string	sprite&amp;lt;/code&amp;gt;	Sprite to display (alpha transparency)&lt;br /&gt;
* &amp;lt;code&amp;gt;uint16	life&amp;lt;/code&amp;gt;	Time to display the attachement (seconds * 0.1)&lt;/div&gt;</summary>
		<author><name>Outerbeast</name></author>
	</entry>
	<entry>
		<id>https://wiki.svencoop.com/index.php?title=TE_KILLPLAYERATTACHMENTS&amp;diff=1365</id>
		<title>TE KILLPLAYERATTACHMENTS</title>
		<link rel="alternate" type="text/html" href="https://wiki.svencoop.com/index.php?title=TE_KILLPLAYERATTACHMENTS&amp;diff=1365"/>
		<updated>2025-05-31T15:11:07Z</updated>

		<summary type="html">&lt;p&gt;Outerbeast: Created page with &amp;quot;Removes attachments created with TE_PLAYERATTACHMENT from the target player. &amp;lt;pre&amp;gt; void te_killplayerattachments(CBasePlayer@ plr,  	NetworkMessageDest msgType=MSG_BROADCA...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Removes attachments created with [[TE_PLAYERATTACHMENT]] from the target player.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void te_killplayerattachments(CBasePlayer@ plr, &lt;br /&gt;
	NetworkMessageDest msgType=MSG_BROADCAST, edict_t@ dest=null)&lt;br /&gt;
{&lt;br /&gt;
	NetworkMessage m(msgType, NetworkMessages::SVC_TEMPENTITY, dest);&lt;br /&gt;
	m.WriteByte(TE_KILLPLAYERATTACHMENTS);&lt;br /&gt;
	m.WriteByte(plr.entindex());&lt;br /&gt;
	m.End();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;CBasePlayer@	target&amp;lt;/code&amp;gt;	Player to remove attachments from&lt;/div&gt;</summary>
		<author><name>Outerbeast</name></author>
	</entry>
	<entry>
		<id>https://wiki.svencoop.com/index.php?title=TE_ARMOR_RICOCHET&amp;diff=1364</id>
		<title>TE ARMOR RICOCHET</title>
		<link rel="alternate" type="text/html" href="https://wiki.svencoop.com/index.php?title=TE_ARMOR_RICOCHET&amp;diff=1364"/>
		<updated>2025-05-31T15:08:24Z</updated>

		<summary type="html">&lt;p&gt;Outerbeast: Created page with &amp;quot;Armor ricochet sprite and sound effect. TE_ARMOR_RICOCHET &amp;lt;pre&amp;gt; void te_ricochet(Vector pos, uint8 scale=10,  	NetworkMessageDest msgType=...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Armor ricochet sprite and sound effect.&lt;br /&gt;
[[File:TE ARMOR RICOCHET.gif|frame|TE_ARMOR_RICOCHET]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void te_ricochet(Vector pos, uint8 scale=10, &lt;br /&gt;
	NetworkMessageDest msgType=MSG_BROADCAST, edict_t@ dest=null)&lt;br /&gt;
{&lt;br /&gt;
	NetworkMessage m(msgType, NetworkMessages::SVC_TEMPENTITY, dest);&lt;br /&gt;
	m.WriteByte(TE_ARMOR_RICOCHET);&lt;br /&gt;
	m.WriteCoord(pos.x);&lt;br /&gt;
	m.WriteCoord(pos.y);&lt;br /&gt;
	m.WriteCoord(pos.z);&lt;br /&gt;
	m.WriteByte(scale);&lt;br /&gt;
	m.End();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;Vector	pos&amp;lt;/code&amp;gt;	Center point for the effect&lt;br /&gt;
* &amp;lt;code&amp;gt;uint8	scale&amp;lt;/code&amp;gt;	Sprite scale * 0.1&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Outerbeast</name></author>
	</entry>
	<entry>
		<id>https://wiki.svencoop.com/index.php?title=TE_GLOWSPRITE&amp;diff=1363</id>
		<title>TE GLOWSPRITE</title>
		<link rel="alternate" type="text/html" href="https://wiki.svencoop.com/index.php?title=TE_GLOWSPRITE&amp;diff=1363"/>
		<updated>2025-05-31T15:06:01Z</updated>

		<summary type="html">&lt;p&gt;Outerbeast: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A sprite that slowly fades out after its life expires. Not animated.&lt;br /&gt;
[[File:TE GLOWSPRITE.gif|frame|TE_GLOWSPRITE]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void te_glowsprite(Vector pos, string sprite=&amp;quot;sprites/glow01.spr&amp;quot;, &lt;br /&gt;
	uint8 life=1, uint8 scale=10, uint8 alpha=255, &lt;br /&gt;
	NetworkMessageDest msgType=MSG_BROADCAST, edict_t@ dest=null)&lt;br /&gt;
{&lt;br /&gt;
	NetworkMessage m(msgType, NetworkMessages::SVC_TEMPENTITY, dest);&lt;br /&gt;
	m.WriteByte(TE_GLOWSPRITE);&lt;br /&gt;
	m.WriteCoord(pos.x);&lt;br /&gt;
	m.WriteCoord(pos.y);&lt;br /&gt;
	m.WriteCoord(pos.z);&lt;br /&gt;
	m.WriteShort(g_EngineFuncs.ModelIndex(sprite));&lt;br /&gt;
	m.WriteByte(life);&lt;br /&gt;
	m.WriteByte(scale);&lt;br /&gt;
	m.WriteByte(alpha);&lt;br /&gt;
	m.End();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;Vector	pos&amp;lt;/code&amp;gt;	Center point for the effect&lt;br /&gt;
* &amp;lt;code&amp;gt;string	sprite&amp;lt;/code&amp;gt;	Non-animated Sprite (additive)&lt;br /&gt;
* &amp;lt;code&amp;gt;uint8	life&amp;lt;/code&amp;gt;	Time to wait before fading out (seconds * 0.1)&lt;br /&gt;
* &amp;lt;code&amp;gt;uint8	scale&amp;lt;/code&amp;gt;	Sprite scale * 0.1&lt;br /&gt;
* &amp;lt;code&amp;gt;uint8	alpha&amp;lt;/code&amp;gt;	Sprite opacity&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Outerbeast</name></author>
	</entry>
	<entry>
		<id>https://wiki.svencoop.com/index.php?title=TE_GLOWSPRITE&amp;diff=1362</id>
		<title>TE GLOWSPRITE</title>
		<link rel="alternate" type="text/html" href="https://wiki.svencoop.com/index.php?title=TE_GLOWSPRITE&amp;diff=1362"/>
		<updated>2025-05-31T15:05:45Z</updated>

		<summary type="html">&lt;p&gt;Outerbeast: Created page with &amp;quot;A sprite that slowly fades out after its life expires. Not animated. TE_GLOWSPRITE &amp;lt;pre&amp;gt; void te_glowsprite(Vector pos, string sprite=&amp;quot;sprites...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A sprite that slowly fades out after its life expires. Not animated.&lt;br /&gt;
[[File:TE GLOWSPRITE.gif|frame|TE_GLOWSPRITE]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void te_glowsprite(Vector pos, string sprite=&amp;quot;sprites/glow01.spr&amp;quot;, &lt;br /&gt;
	uint8 life=1, uint8 scale=10, uint8 alpha=255, &lt;br /&gt;
	NetworkMessageDest msgType=MSG_BROADCAST, edict_t@ dest=null)&lt;br /&gt;
{&lt;br /&gt;
	NetworkMessage m(msgType, NetworkMessages::SVC_TEMPENTITY, dest);&lt;br /&gt;
	m.WriteByte(TE_GLOWSPRITE);&lt;br /&gt;
	m.WriteCoord(pos.x);&lt;br /&gt;
	m.WriteCoord(pos.y);&lt;br /&gt;
	m.WriteCoord(pos.z);&lt;br /&gt;
	m.WriteShort(g_EngineFuncs.ModelIndex(sprite));&lt;br /&gt;
	m.WriteByte(life);&lt;br /&gt;
	m.WriteByte(scale);&lt;br /&gt;
	m.WriteByte(alpha);&lt;br /&gt;
	m.End();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;code&amp;gt;Vector	pos&amp;lt;/code&amp;gt;	Center point for the effect&lt;br /&gt;
&amp;lt;code&amp;gt;string	sprite&amp;lt;/code&amp;gt;	Non-animated Sprite (additive)&lt;br /&gt;
&amp;lt;code&amp;gt;uint8	life&amp;lt;/code&amp;gt;	Time to wait before fading out (seconds * 0.1)&lt;br /&gt;
&amp;lt;code&amp;gt;uint8	scale&amp;lt;/code&amp;gt;	Sprite scale * 0.1&lt;br /&gt;
&amp;lt;code&amp;gt;uint8	alpha&amp;lt;/code&amp;gt;	Sprite opacity&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Outerbeast</name></author>
	</entry>
	<entry>
		<id>https://wiki.svencoop.com/index.php?title=TE_SPRITE&amp;diff=1361</id>
		<title>TE SPRITE</title>
		<link rel="alternate" type="text/html" href="https://wiki.svencoop.com/index.php?title=TE_SPRITE&amp;diff=1361"/>
		<updated>2025-05-31T13:05:39Z</updated>

		<summary type="html">&lt;p&gt;Outerbeast: Created page with &amp;quot;An animated sprite. Plays once. frame &amp;lt;pre&amp;gt; void te_sprite(Vector pos, string sprite=&amp;quot;sprites/zerogxplode.spr&amp;quot;,  	uint8 scale=10, uint8 alpha=200,  	Net...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;An animated sprite. Plays once.&lt;br /&gt;
[[File:TE SPRITE.gif|frame]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void te_sprite(Vector pos, string sprite=&amp;quot;sprites/zerogxplode.spr&amp;quot;, &lt;br /&gt;
	uint8 scale=10, uint8 alpha=200, &lt;br /&gt;
	NetworkMessageDest msgType=MSG_BROADCAST, edict_t@ dest=null)&lt;br /&gt;
{&lt;br /&gt;
	NetworkMessage m(msgType, NetworkMessages::SVC_TEMPENTITY, dest);&lt;br /&gt;
	m.WriteByte(TE_SPRITE);&lt;br /&gt;
	m.WriteCoord(pos.x);&lt;br /&gt;
	m.WriteCoord(pos.y);&lt;br /&gt;
	m.WriteCoord(pos.z);&lt;br /&gt;
	m.WriteShort(g_EngineFuncs.ModelIndex(sprite));&lt;br /&gt;
	m.WriteByte(scale);&lt;br /&gt;
	m.WriteByte(alpha);&lt;br /&gt;
	m.End();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;Vector	pos&amp;lt;/code&amp;gt;	Center point for the effect&lt;br /&gt;
* &amp;lt;code&amp;gt;string	sprite&amp;lt;/code&amp;gt;	Animated sprite (additive)&lt;br /&gt;
* &amp;lt;code&amp;gt;uint8	scale&amp;lt;/code&amp;gt;	Sprite scale * 0.1&lt;br /&gt;
* &amp;lt;code&amp;gt;uint8	alpha&amp;lt;/code&amp;gt;	Sprite opacity&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Outerbeast</name></author>
	</entry>
	<entry>
		<id>https://wiki.svencoop.com/index.php?title=TE_SPARKS&amp;diff=1360</id>
		<title>TE SPARKS</title>
		<link rel="alternate" type="text/html" href="https://wiki.svencoop.com/index.php?title=TE_SPARKS&amp;diff=1360"/>
		<updated>2025-05-31T11:49:05Z</updated>

		<summary type="html">&lt;p&gt;Outerbeast: Created page with &amp;quot;A flashing sprite combined with a small splash of tracers. Sound effect not included. frame A CUtility method exists: &amp;lt;code&amp;gt;void Sparks(const Vector...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;A flashing sprite combined with a small splash of tracers. Sound effect not included.&lt;br /&gt;
[[File:TE SPARKS.gif|frame]]&lt;br /&gt;
A [[CUtility]] method exists:&lt;br /&gt;
&amp;lt;code&amp;gt;void Sparks(const Vector&amp;amp; in vecPosition)&amp;lt;/code&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void te_sparks(Vector pos, &lt;br /&gt;
	NetworkMessageDest msgType=MSG_BROADCAST, edict_t@ dest=null)&lt;br /&gt;
{&lt;br /&gt;
	NetworkMessage m(msgType, NetworkMessages::SVC_TEMPENTITY, dest);&lt;br /&gt;
	m.WriteByte(TE_SPARKS);&lt;br /&gt;
	m.WriteCoord(pos.x);&lt;br /&gt;
	m.WriteCoord(pos.y);&lt;br /&gt;
	m.WriteCoord(pos.z);&lt;br /&gt;
	m.End();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Outerbeast</name></author>
	</entry>
	<entry>
		<id>https://wiki.svencoop.com/index.php?title=TE_SMOKE&amp;diff=1359</id>
		<title>TE SMOKE</title>
		<link rel="alternate" type="text/html" href="https://wiki.svencoop.com/index.php?title=TE_SMOKE&amp;diff=1359"/>
		<updated>2025-05-31T11:41:52Z</updated>

		<summary type="html">&lt;p&gt;Outerbeast: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;An animated sprite that moves upward at 30 units per second. Plays once.&lt;br /&gt;
[[File:TE SMOKE.gif|frame|TE_SMOKE]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void te_smoke(Vector pos, string sprite=&amp;quot;sprites/steam1.spr&amp;quot;, &lt;br /&gt;
	int scale=10, int frameRate=15,&lt;br /&gt;
	NetworkMessageDest msgType=MSG_BROADCAST, edict_t@ dest=null)&lt;br /&gt;
{&lt;br /&gt;
	NetworkMessage m(msgType, NetworkMessages::SVC_TEMPENTITY, dest);&lt;br /&gt;
	m.WriteByte(TE_SMOKE);&lt;br /&gt;
	m.WriteCoord(pos.x);&lt;br /&gt;
	m.WriteCoord(pos.y);&lt;br /&gt;
	m.WriteCoord(pos.z);&lt;br /&gt;
	m.WriteShort(g_EngineFuncs.ModelIndex(sprite));&lt;br /&gt;
	m.WriteByte(scale);&lt;br /&gt;
	m.WriteByte(frameRate);&lt;br /&gt;
	m.End();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;Vector	pos&amp;lt;/code&amp;gt;	Center point for the effect&lt;br /&gt;
* &amp;lt;code&amp;gt;string	sprite&amp;lt;/code&amp;gt;	Animated smoke sprite (alpha transparency)&lt;br /&gt;
* &amp;lt;code&amp;gt;uint8	scale&amp;lt;/code&amp;gt;	Sprite scale * 0.1&lt;br /&gt;
* &amp;lt;code&amp;gt;uint8	frameRate&amp;lt;/code&amp;gt;	Frame rate of the sprite (FPS * 0.1)&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Outerbeast</name></author>
	</entry>
	<entry>
		<id>https://wiki.svencoop.com/index.php?title=TE_SMOKE&amp;diff=1358</id>
		<title>TE SMOKE</title>
		<link rel="alternate" type="text/html" href="https://wiki.svencoop.com/index.php?title=TE_SMOKE&amp;diff=1358"/>
		<updated>2025-05-31T11:41:30Z</updated>

		<summary type="html">&lt;p&gt;Outerbeast: Created page with &amp;quot;An animated sprite that moves upward at 30 units per second. Plays once. TE_SMOKE &amp;lt;pre&amp;gt; void te_smoke(Vector pos, string sprite=&amp;quot;sprites/steam1.spr...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;An animated sprite that moves upward at 30 units per second. Plays once.&lt;br /&gt;
[[File:TE SMOKE.gif|frame|TE_SMOKE]]&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void te_smoke(Vector pos, string sprite=&amp;quot;sprites/steam1.spr&amp;quot;, &lt;br /&gt;
	int scale=10, int frameRate=15,&lt;br /&gt;
	NetworkMessageDest msgType=MSG_BROADCAST, edict_t@ dest=null)&lt;br /&gt;
{&lt;br /&gt;
	NetworkMessage m(msgType, NetworkMessages::SVC_TEMPENTITY, dest);&lt;br /&gt;
	m.WriteByte(TE_SMOKE);&lt;br /&gt;
	m.WriteCoord(pos.x);&lt;br /&gt;
	m.WriteCoord(pos.y);&lt;br /&gt;
	m.WriteCoord(pos.z);&lt;br /&gt;
	m.WriteShort(g_EngineFuncs.ModelIndex(sprite));&lt;br /&gt;
	m.WriteByte(scale);&lt;br /&gt;
	m.WriteByte(frameRate);&lt;br /&gt;
	m.End();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;Vector	pos&amp;lt;/code&amp;gt;	Center point for the effect&lt;br /&gt;
* &amp;lt;code&amp;gt;string	sprite&amp;lt;/code&amp;gt;	Animated smoke sprite (alpha transparency)&lt;br /&gt;
* &amp;lt;code&amp;gt;uint8	scale&amp;lt;/code&amp;gt;	Sprite scale * 0.1&lt;br /&gt;
* &amp;lt;code&amp;gt;uint8	frameRate&amp;lt;/code&amp;gt;	Frame rate of the sprite (FPS * 0.1)&lt;/div&gt;</summary>
		<author><name>Outerbeast</name></author>
	</entry>
	<entry>
		<id>https://wiki.svencoop.com/index.php?title=Angelscript&amp;diff=1357</id>
		<title>Angelscript</title>
		<link rel="alternate" type="text/html" href="https://wiki.svencoop.com/index.php?title=Angelscript&amp;diff=1357"/>
		<updated>2025-04-16T15:14:07Z</updated>

		<summary type="html">&lt;p&gt;Outerbeast: /* Miscellaneous */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains basic coverage and tutorials for Sven Co-op&#039;s Angelscript API.&lt;br /&gt;
&lt;br /&gt;
[https://r4to0.github.io/asautodocs/nd_prerelease/index.html API auto-generated documentation is available here.]&lt;br /&gt;
For information on the AngelScript language, visit the [https://www.angelcode.com/angelscript/sdk/docs/manual/doc_script.html official AngelScript manual here]&lt;br /&gt;
== Getting Started ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-decoration:underline;&amp;quot; | Tutorials&lt;br /&gt;
! style=&amp;quot;vertical-align:middle;&amp;quot; | Basics of building scripts&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[Running Scripts]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Covers how to import and execute script files, such as map scripts and plugins&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[Typecasting]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Covers how and when to use typecasts&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[Debugging]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Debugging scripts&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[Entity Basics]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Covers the basics of what entities are and how to use them.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[Entity Intermediate]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Covers intermediate topics regarding entities.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[Custom Entities]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Build your own custom entity&lt;br /&gt;
|}&lt;br /&gt;
== API Features ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-decoration:underline;&amp;quot; | API Features&lt;br /&gt;
! style=&amp;quot;vertical-align:middle;&amp;quot; | Covers some fundamental aspects of writing scripts for Sven Co-op&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[CEntityFuncs|Entity Functions]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | How to use the various entity functions.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[CPlayerFuncs|Player Functions]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Various player related functions&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[CSoundEngine|Sound System]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | How to use the sound system.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[CEngineFuncs|Engine Functions]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | How to use engine functions.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[Mapping/Custom_Keyvalues#Custom_keyvalues_in_Angelscript|Custom Keyvalues]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Covers the usage of custom keyvalues in scripts.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[CEngine]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Covers the CEngine class. This class includes the current time and frametime, as well as engine configuration and the global trace.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[CGame]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Contains methods integral to the game&#039;s operation.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[Tracing]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Covers performing traces and usage of the TraceResult class, as well as related enumerations.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[CUtility|Utility Functions]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Covers various utility methods&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[Hooks]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Covers the purpose and use of hooks.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[Scheduler]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Covers the use of the scheduler.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[CMath|Math]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Covers the use of various math operations&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[HUD]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Covers the usage of various HUD elements&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[Temporary Effects]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Covers the use of temporary entities.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[File System]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Covers the use of the virtual file system&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[CConCommandSystem| Console Command System]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Covers the console command system. This is used to add console commands and variables.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[Trigger_script#Scripting|trigger_script]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Build a trigger_script entity function&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[squadmaker function]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Describes the usage of the squadmaker entity to call script functions.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline; &amp;quot; | [[ondestroyfn]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle; &amp;quot; | Describes the usage of the &amp;quot;ondestroyfn&amp;quot; function&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Data Types ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-decoration:underline;&amp;quot; | Data Types&lt;br /&gt;
! style=&amp;quot;vertical-align:middle;&amp;quot; | Covers some common data types used in scripts&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline;&amp;quot; | [[Strings]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | Covers the basics of strings in scripts&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline;&amp;quot; | [[Vector|Vectors]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | Covers the basics of Vectors in scripts&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline;&amp;quot; | [[RGBA]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | Covers the basics of the RGBA structure&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline;&amp;quot; | [[EHandle]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | Covers the usage of EHandle structure for storing entity handles&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline;&amp;quot; | [[CCVar]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | Covers how to create and use custom CVars&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Miscellaneous ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; &lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;text-decoration:underline;&amp;quot; | Page&lt;br /&gt;
! style=&amp;quot;vertical-align:middle;&amp;quot; | Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline;&amp;quot; | [[DateTime]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | Covers the basics of the date and time structure&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline;&amp;quot; | [[SayParameters]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | Stores data used by the ClientSay [[Hooks|hook]].&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline;&amp;quot; | [[Animation Extensions]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | Animation Extensions used by weapons for player models.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline;&amp;quot; | [[Default Ammo Types]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | Default Ammo Types used by the game.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline;&amp;quot; | [[Bullet]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | The Bullet enum contains bullet types used by the game.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-decoration:underline;&amp;quot; | [[KeyValueBuffer]]&lt;br /&gt;
| style=&amp;quot;vertical-align:middle;&amp;quot; | Key Value Buffer&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting]]&lt;/div&gt;</summary>
		<author><name>Outerbeast</name></author>
	</entry>
</feed>