<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://sigwiki.potato.tf/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Seelpit</id>
	<title>SigMod - User contributions [en-gb]</title>
	<link rel="self" type="application/atom+xml" href="https://sigwiki.potato.tf/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Seelpit"/>
	<link rel="alternate" type="text/html" href="https://sigwiki.potato.tf/index.php/Special:Contributions/Seelpit"/>
	<updated>2026-06-04T14:19:59Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://sigwiki.potato.tf/index.php?title=Timers&amp;diff=7535</id>
		<title>Timers</title>
		<link rel="alternate" type="text/html" href="https://sigwiki.potato.tf/index.php?title=Timers&amp;diff=7535"/>
		<updated>2024-02-20T10:55:06Z</updated>

		<summary type="html">&lt;p&gt;Seelpit: Fixed text timer link being outdated&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Timers.png|thumb|Both timer templates shown above]]&lt;br /&gt;
Two 15 minute timer templates that will fail the wave once reaching zero.  One is text based while the other utilizes the Halloween boss health bar.  Instructions on how to change the countdown time can be found in the template files listed below. &lt;br /&gt;
&lt;br /&gt;
== How to use ==&lt;br /&gt;
Both timers are simple to use and can be added into any mission running on our servers.  &lt;br /&gt;
&lt;br /&gt;
=== Text-Based Timer ===&lt;br /&gt;
&lt;br /&gt;
# Add the template to your mission by adding &amp;lt;code&amp;gt;#base reverse_timer_text_v2_simple.pop&amp;lt;/code&amp;gt; to the top of your popfile&lt;br /&gt;
#Add this block to WaveSchedule, same place as StartingCurrency&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
PointTemplates&lt;br /&gt;
{&lt;br /&gt;
	texttimerv2_setup&lt;br /&gt;
	{&lt;br /&gt;
		OnSpawnOutput&lt;br /&gt;
		{&lt;br /&gt;
			Target timerdisplay&lt;br /&gt;
			Action runscriptcode&lt;br /&gt;
			Param &amp;quot;timer(10,00,0.7,0.9,`0 255 255`)&amp;quot; // timer(minutes,seconds,xpos,ypos,`color`)&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
SpawnTemplate texttimerv2_setup [$SIGSEGV]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# Change the Param if needed for time duration, the timer&#039;s position on the hud, and the timer text&#039;s color&lt;br /&gt;
Trigger &amp;lt;code&amp;gt;timerpause&amp;lt;/code&amp;gt; using a WaveSpawn output such as FirstSpawnOutput to pause or unpause the timer&lt;br /&gt;
&lt;br /&gt;
Send a &amp;lt;code&amp;gt;SetValue&amp;lt;/code&amp;gt; input on &amp;lt;code&amp;gt;addtime&amp;lt;/code&amp;gt; to add or remove time from the current timer (e.g. SetValue 120 with a time 3:25 becomes 5:25)&lt;br /&gt;
&lt;br /&gt;
Send a &amp;lt;code&amp;gt;SetValue&amp;lt;/code&amp;gt; input on &amp;lt;code&amp;gt;settime&amp;lt;/code&amp;gt; to set the desired time (e.g SetValue 600 with a time 3:25 becomes 10:00)&lt;br /&gt;
&lt;br /&gt;
=== Boss Bar Timer ===&lt;br /&gt;
&lt;br /&gt;
# Add the template to your mission by adding &amp;lt;code&amp;gt;#base reverse_timer.pop&amp;lt;/code&amp;gt; to the top of your popfile&lt;br /&gt;
# Add &amp;lt;code&amp;gt;SpawnTemplate &amp;quot;timertest&amp;quot; [$SIGSEGV]&amp;lt;/code&amp;gt; to WaveSchedule, same place as StartingCurrency&lt;br /&gt;
# Trigger &amp;lt;code&amp;gt;showtimer&amp;lt;/code&amp;gt; using a WaveSpawn output such as FirstSpawnOutput to display the bar on the HUD&lt;br /&gt;
# Trigger &amp;lt;code&amp;gt;timer_relay&amp;lt;/code&amp;gt; to begin the countdown&lt;br /&gt;
# Send the &amp;lt;code&amp;gt;CancelPending&amp;lt;/code&amp;gt; input to &amp;lt;code&amp;gt;timer_relay&amp;lt;/code&amp;gt; instead of &amp;lt;code&amp;gt;Trigger&amp;lt;/code&amp;gt; to pause the timer, it can be restarted by re-triggering&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Boss bar limitations:&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;small&amp;gt;Only one Tank/Chief boss bar can be present at once without overlapping&amp;lt;/small&amp;gt;&lt;br /&gt;
# &amp;lt;small&amp;gt;Overrides Halloween boss bar, meaning a Halloween boss cannot be used alongside this&amp;lt;/small&amp;gt;&lt;br /&gt;
# &amp;lt;small&amp;gt;Size of the bar cannot be changed, only the rate it decreases&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Templates ==&lt;br /&gt;
Text based timer: https://testing.potato.tf/tf/scripts/population/reverse_timer_text_v2_simple.pop&lt;br /&gt;
&lt;br /&gt;
Boss bar timer: https://testing.potato.tf/tf/scripts/population/reverse_timer.pop&lt;/div&gt;</summary>
		<author><name>Seelpit</name></author>
	</entry>
	<entry>
		<id>https://sigwiki.potato.tf/index.php?title=Main_Page&amp;diff=7512</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://sigwiki.potato.tf/index.php?title=Main_Page&amp;diff=7512"/>
		<updated>2023-11-17T12:32:55Z</updated>

		<summary type="html">&lt;p&gt;Seelpit: Reworded Entity Additions to reflect the new page name of &amp;quot;Additions to existing entities&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to Potato&#039;s Custom MvM Wiki. Here you can find information about how to make your own MvM missions, resources for mission making, and information on our custom server mods.    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Vanilla Tutorials ==&lt;br /&gt;
* [https://www.youtube.com/watch?v=Z98ei5JLS_g&amp;amp;t=253s Basic Tutorial on how to make popfiles]&lt;br /&gt;
*[https://drive.google.com/file/d/1N-DBsZiKiqjD4OSQH2bRLsYq1Sq4gHhA/view?usp=sharing Titanium Tank Mission Making Guide]&lt;br /&gt;
* [https://steamcommunity.com/sharedfiles/filedetails/?id=1451627628 Canteen Crasher Mission Making Guide]&lt;br /&gt;
* [https://drive.google.com/file/d/1rwcsiZJtKLcbfSBR3o-seQIxq_tTjzPJ/view?usp=sharing Madness vs Machines Expert Mission Making Guide]&lt;br /&gt;
*[https://steamcommunity.com/sharedfiles/filedetails/?id=1911160067 Advanced Popfile Tricks]&lt;br /&gt;
*[[Attribute information|Misc. documentation on certain attributes]]&lt;br /&gt;
&lt;br /&gt;
== [[:Category:Tutorials|Modded Tutorials]] ==&lt;br /&gt;
&lt;br /&gt;
* [[Create custom item decals]]&lt;br /&gt;
*[https://steamcommunity.com/sharedfiles/filedetails/?id=2289315026 Introduction to Point Template Spawners]&lt;br /&gt;
* [https://sigwiki.potato.tf/index.php/Design_PointTemplate_with_hammer_map_editor Designing your Point Templates in Hammer]&lt;br /&gt;
* [[Reverse MvM Beginners Guide]]&lt;br /&gt;
* [https://sigwiki.potato.tf/index.php/Installing_on_Windows_with_WSL Installing Sigmod on Windows with WSL]&lt;br /&gt;
== [[:Category:Templates|Templates]] ==&lt;br /&gt;
&lt;br /&gt;
* [[Spider Tank]]&lt;br /&gt;
* [[Modular Gatebots]]&lt;br /&gt;
* [[Vaccinator Tank]]&lt;br /&gt;
* [[Small Turret Tanks|Small Turret Tank]]&lt;br /&gt;
*[[Rotating Shield]]&lt;br /&gt;
*[[Timers]]&lt;br /&gt;
== [[:Category:Popfile Additions|Custom popfile additions]] ==&lt;br /&gt;
&lt;br /&gt;
* [[WaveSchedule]]&lt;br /&gt;
* [[Wave]]&lt;br /&gt;
* [[WaveSpawn]]&lt;br /&gt;
* [[TFBot]]&lt;br /&gt;
== [[:Category:Misc Additions|Miscellaneous additions]] ==&lt;br /&gt;
&lt;br /&gt;
* [[Additions to existing entities]]&lt;br /&gt;
*[[Entity Modules]]&lt;br /&gt;
* [[Custom Entities]]&lt;br /&gt;
* [[Sound Additions]]&lt;br /&gt;
* [[List of custom attributes]]&lt;br /&gt;
*[[List of modifications to vanilla attributes]]&lt;br /&gt;
*[[Expressions]]&lt;br /&gt;
*[[Lua|Lua Scripting]]&lt;br /&gt;
== [[:Category:References|References]] ==&lt;br /&gt;
&lt;br /&gt;
* [https://testing.potato.tf/mvm_bigrock_sigdemo.pop Demonstrative SigMod mission]&lt;br /&gt;
* [[List of item definitions]]&lt;br /&gt;
* [https://csrd.science/misc/econ-tf/items.html Complete list of item names] (internal and display)&lt;br /&gt;
* [https://wiki.teamfortress.com/wiki/List_of_item_attributes List of vanilla item attributes]&lt;br /&gt;
* [https://wiki.teamfortress.com/wiki/Cheats#addcond List of AddCond values]&lt;br /&gt;
* [https://gist.github.com/sigsegv-mvm/9ce39744fde2aa4c6156 Documentation of all vanilla popfile keyvalues]&lt;br /&gt;
* [[Unusual effect IDs]]&lt;br /&gt;
* [https://github.com/sigsegv-mvm/population Population files used by Valve missions]&lt;br /&gt;
* [[Entity Properties]]&lt;br /&gt;
&lt;br /&gt;
== Misc Resources ==&lt;br /&gt;
&lt;br /&gt;
* [https://testing.potato.tf/icons.html Wavebar Icon Repository] &lt;br /&gt;
* [https://marketplace.visualstudio.com/items?itemName=PotatoMvM.popfile-language-support Vanilla Popfile Syntax Highligher for VSCode]&lt;br /&gt;
* [https://www.dropbox.com/s/1w6v8udq74x2gy3/popfile.tmLanguage.json?dl=0 Sigmod Syntax Highlighter for VSCode]&lt;br /&gt;
* [https://cdn.discordapp.com/attachments/480416823695638578/945446119842938880/Pop_File_Highlighter.xml Vanilla + Sigmod Syntax Highlighter for Notepad++ (slightly outdated)]&lt;br /&gt;
* [https://cdn.discordapp.com/attachments/480416823695638578/933769904778264686/bettericons.zip Fixed valve icons] &lt;br /&gt;
* [https://github.com/Mince64/Popfile-Modifier/tree/main Wavebar Generator]&lt;br /&gt;
* [https://github.com/NPsim/P3/releases/tag/2.1.0 Standalone Popfile Parser]&lt;br /&gt;
* [https://docs.google.com/document/d/e/2PACX-1vR4mcdvfPIib0sfEtzhv_l6lz42ox6xmFr4jxVYceSxL8na9fkrxVkTFz5qVbl1qV3A4VzY-t7CJ-f8/pub War Paint IDs for Decorated weapons] (War Paints do not work in vanilla)&lt;/div&gt;</summary>
		<author><name>Seelpit</name></author>
	</entry>
	<entry>
		<id>https://sigwiki.potato.tf/index.php?title=Additions_to_existing_entities&amp;diff=7511</id>
		<title>Additions to existing entities</title>
		<link rel="alternate" type="text/html" href="https://sigwiki.potato.tf/index.php?title=Additions_to_existing_entities&amp;diff=7511"/>
		<updated>2023-11-17T12:31:48Z</updated>

		<summary type="html">&lt;p&gt;Seelpit: Grammar correction.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOEDITSECTION__&lt;br /&gt;
&lt;br /&gt;
This page lists a number of additions to existing entities, including inputs, outputs, and keyvalues, as well as changes to the Input/Output system as a whole. Not to be confused with [[Custom Entities]], which are entirely new entities.&lt;br /&gt;
&lt;br /&gt;
== Targeting ==&lt;br /&gt;
&lt;br /&gt;
* You can target parent of specified entity by adding @p@. @p@!activator would target parent of the activator entity&lt;br /&gt;
* You can target children of specified entity by adding @c@ prefix. @c@!activator would target children of the activator entity&lt;br /&gt;
*Target all entities in a box by adding @bbxmin ymin zmin xmax ymax zmax@ prefix. @bb-100 -100 -100 100 100 100@prop_dynamic would target prop_dynamic entities inside -100 -100 -100 100 100 100 world coordinates box&lt;br /&gt;
*Target entities matching the filter by adding @f@ prefix. @f@filtername@entityname would target all entityname that pass the filtername filter&lt;br /&gt;
*Target entity from datamap/sendprop by adding @e@ prefix. @e@m_hOwnerEntity@!activator would target the owner entity of !activator. You can also target in array with $. @e@m_hMyWeapons$1@!activator would target secondary weapon of !activator.&lt;br /&gt;
&lt;br /&gt;
==Various==&lt;br /&gt;
&lt;br /&gt;
*You can execute an input immediately rather than with at least 1 tick delay by setting input delay to -1. This allows you to access !activator of $OnKilled entity&lt;br /&gt;
&lt;br /&gt;
== [[Expressions]] ==&lt;br /&gt;
[[Expressions]] can be used to calculate input parameters without the need of extra logic entities&lt;br /&gt;
&lt;br /&gt;
==point_viewcontrol==&lt;br /&gt;
&lt;br /&gt;
=== Keyvalues ===&lt;br /&gt;
&lt;br /&gt;
* $allowdamage &amp;lt;1/0&amp;gt;&lt;br /&gt;
** Should the player/s operating the camera receive damage. 0 by default&lt;br /&gt;
&lt;br /&gt;
===Inputs ===&lt;br /&gt;
&lt;br /&gt;
*$EnableAll&lt;br /&gt;
**Enable the camera for all players on the map. Spawnflag [512] may not work properly. (&#039;&#039;Start At Player, Interruptable by Player&#039;&#039;)&lt;br /&gt;
*$DisableAll&lt;br /&gt;
**Disable the camera for all players on the map&lt;br /&gt;
*$SetTarget &amp;lt;entity&amp;gt; &lt;br /&gt;
**Set current target to entity&lt;br /&gt;
&lt;br /&gt;
== Sentry Gun (obj_sentrygun)==&lt;br /&gt;
===Spawnflags===&lt;br /&gt;
*&#039;&#039;&#039;[64]&#039;&#039;&#039; - Spawn as mini-sentry&lt;br /&gt;
&lt;br /&gt;
=== Keyvalues ===&lt;br /&gt;
&lt;br /&gt;
* $attributeoverride &amp;lt;1/0&amp;gt;&lt;br /&gt;
** Ignores player attributes and uses keyvalues below instead&lt;br /&gt;
&lt;br /&gt;
*$fireratemult &amp;lt;float&amp;gt;&lt;br /&gt;
**Bullet fire rate multiplier&lt;br /&gt;
&lt;br /&gt;
*$rangemult &amp;lt;float&amp;gt;&lt;br /&gt;
**range multiplier&lt;br /&gt;
*$damagemult &amp;lt;float&amp;gt;&lt;br /&gt;
**Damage multiplier&lt;br /&gt;
*$maxlevel &amp;lt;int&amp;gt;&lt;br /&gt;
**Maximum level&lt;br /&gt;
*$rapidfire &amp;lt;1/0&amp;gt;&lt;br /&gt;
**Allow firing every tick, rather than after every 3rd tick&lt;br /&gt;
*$ammomult &amp;lt;float&amp;gt;&lt;br /&gt;
**Ammo multiplier&lt;br /&gt;
*$rocketfireratemult &amp;lt;float&amp;gt;&lt;br /&gt;
**Rocket fire rate multiplier&lt;br /&gt;
*$bulletweapon &amp;lt;string&amp;gt;&lt;br /&gt;
**Use a specific weapon name as bullet attack, can be a custom weapon&lt;br /&gt;
*$rocketweapon &amp;lt;string&amp;gt;&lt;br /&gt;
**Use a specific weapon name as rocket attack, can be a custom weapon&lt;br /&gt;
*$allowplayerattributes &amp;lt;1/0&amp;gt;&lt;br /&gt;
**Fix for player dependent attributes not working on custom weapon&lt;br /&gt;
*$weaponnosound &amp;lt;1/0&amp;gt;&lt;br /&gt;
**Disable fire sounds of custom weapon&lt;br /&gt;
*$sentrymodelprefix &amp;lt;string&amp;gt;&lt;br /&gt;
**Sentry model prefix&lt;br /&gt;
**Example: models/buildables/sentry&lt;br /&gt;
*$projspeedmult &amp;lt;float&amp;gt;&lt;br /&gt;
**Sentry rocket speed multiplier&lt;br /&gt;
*$cannotbesapped &amp;lt;1/0&amp;gt;&lt;br /&gt;
**This building cannot be sapped&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
*$OnShootBullet&lt;br /&gt;
**Called when the sentry shoots a bullet, the sentry is  &amp;lt;code&amp;gt;!activator&amp;lt;/code&amp;gt;&lt;br /&gt;
*$OnShootRocket&lt;br /&gt;
**Called when the sentry shoots a rocket, the projectile is  &amp;lt;code&amp;gt;!activator&amp;lt;/code&amp;gt;&lt;br /&gt;
*$OnShootWeaponBullet&lt;br /&gt;
**Called when the sentry shoots a bullet weapon, the projectile is &amp;lt;code&amp;gt;!activator&amp;lt;/code&amp;gt;&lt;br /&gt;
*$OnShootWeaponRocket&lt;br /&gt;
**Called when the sentry shoots a rocket weapon, the projectile is  &amp;lt;code&amp;gt;!activator&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Teleporter (obj_teleporter) ==&lt;br /&gt;
&lt;br /&gt;
===Keyvalues===&lt;br /&gt;
*$TeleportWhere &amp;lt;string&amp;gt;&lt;br /&gt;
**Teleport bots from specified botspawn name. It is possible to add multiple TeleportWhere keys. &amp;quot;all&amp;quot; name will teleport all bots, &amp;quot;small&amp;quot; will teleport all small bots, &amp;quot;giants&amp;quot; will teleport giants and their squad&lt;br /&gt;
*$attributeoverride &amp;lt;1/0&amp;gt;&lt;br /&gt;
** Ignores player attributes and uses keyvalues below instead&lt;br /&gt;
*$bidirectional &amp;lt;1/0&amp;gt;&lt;br /&gt;
**If the teleport can be used in both directions&lt;br /&gt;
*$maxlevel &amp;lt;int&amp;gt;&lt;br /&gt;
**Maximum level&lt;br /&gt;
*$rechargeratemult &amp;lt;float&amp;gt;&lt;br /&gt;
**Recharge rate multiplier&lt;br /&gt;
*$speedboost &amp;lt;1/0&amp;gt;&lt;br /&gt;
**Apply 4s speed boost after exiting teleporter&lt;br /&gt;
*$teleportermodelprefix &amp;lt;string&amp;gt;&lt;br /&gt;
**Teleporter model prefix&lt;br /&gt;
**Example: models/buildables/teleporter&lt;br /&gt;
*$cannotbesapped &amp;lt;1/0&amp;gt;&lt;br /&gt;
**This building cannot be sapped&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
*$OnTeleportReceive&lt;br /&gt;
**Teleport exit calls this when it receives a player, the player is  &amp;lt;code&amp;gt;!activator&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Dispenser (obj_dispenser) ==&lt;br /&gt;
&lt;br /&gt;
===Keyvalues===&lt;br /&gt;
&lt;br /&gt;
* $attributeoverride &amp;lt;1/0&amp;gt;&lt;br /&gt;
** Ignores player attributes and uses keyvalues below instead&lt;br /&gt;
&lt;br /&gt;
*$radiusmult &amp;lt;float&amp;gt;&lt;br /&gt;
**Dispenser radius multiplier&lt;br /&gt;
*$maxlevel &amp;lt;int&amp;gt;&lt;br /&gt;
**Maximum level&lt;br /&gt;
*$ratemult &amp;lt;float&amp;gt;&lt;br /&gt;
**Dispenser provided health/ammo multiplier&lt;br /&gt;
*$dispensermodelprefix&amp;lt;string&amp;gt;&lt;br /&gt;
**Dispenser model prefix&lt;br /&gt;
**Example: models/buildables/dispenser&lt;br /&gt;
*$cannotbesapped &amp;lt;1/0&amp;gt;&lt;br /&gt;
**This building cannot be sapped&lt;br /&gt;
&lt;br /&gt;
==Weapon Mimic (tf_point_weapon_mimic)==&lt;br /&gt;
*Fired projectiles can have their team assigned with teamnum keyvalue (2 for RED and 3 for BLU). Previously all fired projectiles always belonged to the BLU team&lt;br /&gt;
*If the player owner is set with $SetOwner or $InheritOwner, fired projectiles are assigned to the owner&lt;br /&gt;
* Fired stickybombs are automatically removed if the mimic is removed&lt;br /&gt;
*Added projectile type 4 - Bullet.  SpeedMax keyvalue determines max distance (infinite if not specified). SplashRadius determines knockback force&lt;br /&gt;
*It is possible to mimic a specific weapon. Setting owner might be required for the weapon to function properly. Setting a mimic weapon disables all other mimic properties except crits&lt;br /&gt;
&lt;br /&gt;
=== Keyvalues===&lt;br /&gt;
&lt;br /&gt;
*$preventshootparent &amp;lt;1/0&amp;gt;&lt;br /&gt;
**If set, bullets fired from the mimic cannot hit the parent entity&lt;br /&gt;
*$dmgtype &amp;lt;int&amp;gt; &lt;br /&gt;
**Set custom damage type&lt;br /&gt;
*$killicon &amp;lt;string&amp;gt; &lt;br /&gt;
**Set custom kill icon&lt;br /&gt;
*$weaponname &amp;lt;string&amp;gt;&lt;br /&gt;
**Set mimic weapon name, custom weapon names are allowed. &lt;br /&gt;
**Example: The Righteous Bison&lt;br /&gt;
**Some weapons (flamethrowers) will not work.&lt;br /&gt;
**If the mimic owner is not set, some weapons (The Dragon&#039;s Fury) will crash the game, or break in other ways&lt;br /&gt;
*$firetime &amp;lt;float&amp;gt;&lt;br /&gt;
**Delay between shots for $StartFiring input&lt;br /&gt;
*$weaponnosound &amp;lt;1/0&amp;gt;&lt;br /&gt;
**If set, disables weapon fire sound&lt;br /&gt;
&lt;br /&gt;
=== Inputs ===&lt;br /&gt;
&lt;br /&gt;
* $AddWeaponAttribute &amp;lt;string&amp;gt;&lt;br /&gt;
** Adds attribute to the mimic weapon, example: projectile speed increased|2&lt;br /&gt;
*$RemoveWeaponAttribute &amp;lt;string&amp;gt;&lt;br /&gt;
** Remove attribute from the mimic weapon, example: projectile speed increased&lt;br /&gt;
*$StartFiring &amp;lt;int&amp;gt;&lt;br /&gt;
**Starts firing automatically specified number of projectiles, 1 minimum, with $firetime delay between shots&lt;br /&gt;
*$StopFiring&lt;br /&gt;
**Stops firing automatically&lt;br /&gt;
&lt;br /&gt;
===Outputs===&lt;br /&gt;
&lt;br /&gt;
*$OnFire&lt;br /&gt;
**Called when the projectile is being fired, with the projectile as &amp;lt;code&amp;gt;!activator&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Spawnflags===&lt;br /&gt;
* &#039;&#039;&#039;[4]&#039;&#039;&#039; - Fire &amp;quot;OnUser4&amp;quot; output when projectile is fired, with the projectile as &amp;lt;code&amp;gt;!activator&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Tank (tank_boss)== &lt;br /&gt;
&lt;br /&gt;
*When tank starts deploying, and there is at least one PointTemplate assigned to it, &amp;quot;OnUser4&amp;quot; output is activated&lt;br /&gt;
&lt;br /&gt;
=== Outputs===&lt;br /&gt;
&lt;br /&gt;
*$OnStartDeploy&lt;br /&gt;
**Fired when the tank is deploying the bomb&lt;br /&gt;
&lt;br /&gt;
==Medic shield (entity_medigun_shield)==&lt;br /&gt;
===Spawnflags===&lt;br /&gt;
*&#039;&#039;&#039;[1]&#039;&#039;&#039; - Don&#039;t expire and don&#039;t block LOS&lt;br /&gt;
*&#039;&#039;&#039;[2]&#039;&#039;&#039; - Use the LV2 Shield model&lt;br /&gt;
&lt;br /&gt;
==logic_case==&lt;br /&gt;
&lt;br /&gt;
===Text formatter===&lt;br /&gt;
With the use of the added inputs, logic_case can be transformed into a text formatter, replacing % in the format string into format parameters. &lt;br /&gt;
&lt;br /&gt;
Example point template usage:&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
Formatter&lt;br /&gt;
{&lt;br /&gt;
	OnSpawnOutput&lt;br /&gt;
	{&lt;br /&gt;
		Target &amp;quot;formattest&amp;quot;&lt;br /&gt;
		Action &amp;quot;$Format&amp;quot;&lt;br /&gt;
		Delay 1&lt;br /&gt;
	}&lt;br /&gt;
	logic_case&lt;br /&gt;
	{&lt;br /&gt;
		&amp;quot;targetname&amp;quot; &amp;quot;formattest&amp;quot;&lt;br /&gt;
		&amp;quot;case16&amp;quot; &amp;quot;You have % out of % coins left. % %% done&amp;quot; // Formatter string&lt;br /&gt;
		&amp;quot;case01&amp;quot; &amp;quot;6&amp;quot; //First argument&lt;br /&gt;
		&amp;quot;case02&amp;quot; &amp;quot;12&amp;quot; //Second argument&lt;br /&gt;
		&amp;quot;case03&amp;quot; &amp;quot;50&amp;quot; //Third argument&lt;br /&gt;
		&amp;quot;ondefault&amp;quot; &amp;quot;player,$DisplayTextCenter,,0,-1&amp;quot;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;This would display &amp;quot;You have 6 out of 12 coins left. 50 % done&amp;quot; to all players&lt;br /&gt;
&lt;br /&gt;
=== Menu===&lt;br /&gt;
You can use $DisplayMenu input to display a menu for the player, up to 15 entries&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
Menu&lt;br /&gt;
{&lt;br /&gt;
	OnSpawnOutput&lt;br /&gt;
	{&lt;br /&gt;
		Target &amp;quot;menutest&amp;quot;&lt;br /&gt;
		Action &amp;quot;$DisplayMenu&amp;quot;&lt;br /&gt;
		Delay 1&lt;br /&gt;
		Param &amp;quot;player&amp;quot;&lt;br /&gt;
	}&lt;br /&gt;
	logic_case&lt;br /&gt;
	{&lt;br /&gt;
		&amp;quot;targetname&amp;quot; &amp;quot;menutest&amp;quot;&lt;br /&gt;
		&amp;quot;case16&amp;quot; &amp;quot;Menu title|30|Cancel&amp;quot; // Title, menu duration (0 for infinite), display optional cancel button&lt;br /&gt;
		&amp;quot;case01&amp;quot; &amp;quot;option1&amp;quot; //First argument&lt;br /&gt;
		&amp;quot;case02&amp;quot; &amp;quot;!disabled option&amp;quot; //Second argument, disabled&lt;br /&gt;
		&amp;quot;case03&amp;quot; &amp;quot;suicide&amp;quot; //Third argument&lt;br /&gt;
		&amp;quot;oncase03&amp;quot; &amp;quot;!activator,sethealth,0,0,-1&amp;quot; // Selected 3rd option&lt;br /&gt;
		&amp;quot;ondefault&amp;quot; &amp;quot;player,$DisplayTextCenter,he,0,-1&amp;quot; // No option selected&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Inputs===&lt;br /&gt;
&lt;br /&gt;
*$FormatString &amp;lt;string&amp;gt; &lt;br /&gt;
**Sets formatting string, then fires OnDefault output, with formatted string as parameter&lt;br /&gt;
*$FormatStringNoFire &amp;lt;string&amp;gt;&lt;br /&gt;
**Sets formatting string&lt;br /&gt;
*$FormatInput1 &amp;lt;string&amp;gt;&lt;br /&gt;
**Sets formatting input argument 1, then fires OnDefault output, with formatted string as parameter&lt;br /&gt;
*$FormatInput2-15 &amp;lt;string&amp;gt;&lt;br /&gt;
** Sets formatting input argument 2-15, then fires OnDefault output, with formatted string as parameter&lt;br /&gt;
*$FormatInputNoFire1 &amp;lt;string&amp;gt;&lt;br /&gt;
**Sets formatting input argument 1&lt;br /&gt;
*$Format &lt;br /&gt;
**Fires OnDefault output, with formatted string as parameter&lt;br /&gt;
*$TestSigsegv&lt;br /&gt;
**Fires OnUser1 output. Can be used to test if sigsegv extension is active&lt;br /&gt;
*$ToInt &amp;lt;any&amp;gt;&lt;br /&gt;
**Fires OnDefault output, converts parameter value from string/float to integer&lt;br /&gt;
*$ToFloat &amp;lt;any&amp;gt;&lt;br /&gt;
**Fires OnDefault output, converts value from string/int to real number&lt;br /&gt;
*$CallerToActivator &amp;lt;any&amp;gt;&lt;br /&gt;
**Fires OnDefault output, but the !caller entity is converted to !activator&lt;br /&gt;
* $GetKeyValueFromActivator &amp;lt;string&amp;gt;&lt;br /&gt;
**Fires OnDefault output, the key value from the !activator entity is the parameter&lt;br /&gt;
*$GetConVar &amp;lt;string&amp;gt;&lt;br /&gt;
**Fires OnDefault output, the convar (console variable) number value is the parameter&lt;br /&gt;
*$GetConVarString &amp;lt;string&amp;gt;&lt;br /&gt;
**Fires OnDefault output, the convar (console variable) string value is the parameter&lt;br /&gt;
*$DisplayMenu &amp;lt;entity&amp;gt;&lt;br /&gt;
**Display menu at player&lt;br /&gt;
*$HideMenu &amp;lt;entity&amp;gt;&lt;br /&gt;
**Hide menu at player&lt;br /&gt;
*$BitTest &amp;lt;number&amp;gt;&lt;br /&gt;
**Fires all cases where after the bitwise AND operation between the parameter and the case value, the result is not 0&lt;br /&gt;
&lt;br /&gt;
* $BitTestAll &amp;lt;number&amp;gt;&lt;br /&gt;
** Fires all cases where after the bitwise AND operation between the parameter and the case value, the result is same as the parameter&lt;br /&gt;
&lt;br /&gt;
==tf_gamerules ==&lt;br /&gt;
&lt;br /&gt;
===Inputs===&lt;br /&gt;
&lt;br /&gt;
*$StopVO &amp;lt;string&amp;gt;&lt;br /&gt;
** Stops sound that was started with PlayVO input&lt;br /&gt;
&lt;br /&gt;
*$StopVORed &amp;lt;string&amp;gt;&lt;br /&gt;
**Stops sound that was started with PlayVORed input&lt;br /&gt;
&lt;br /&gt;
*$StopVOBlue &amp;lt;string&amp;gt;&lt;br /&gt;
**Stops sound that was started with PlayVOBlue input&lt;br /&gt;
*$SetBossHealthPercentage &amp;lt;float&amp;gt;&lt;br /&gt;
**Set Halloween boss bar percentage to a value between 0 and 1. 0 hides the health bar, any other value makes the bar appear&lt;br /&gt;
*$SetBossState &amp;lt;int&amp;gt;&lt;br /&gt;
**If set to 1, makes the health bar green, like if Merasmus is hiding. If set to 0, the bar goes back to normal&lt;br /&gt;
*$AddCurrencyGlobal &amp;lt;int&amp;gt;&lt;br /&gt;
**Add currency to all players&lt;br /&gt;
*$ChangeLevel &amp;lt;string&amp;gt;&lt;br /&gt;
**Changes level. To set a specific mission, type the mission name after | . Example: mvm_bigrock|advanced1&lt;br /&gt;
&lt;br /&gt;
== player ==&lt;br /&gt;
&lt;br /&gt;
===Inputs===&lt;br /&gt;
&lt;br /&gt;
* $AllowClassAnimations &amp;lt;0|1&amp;gt; &lt;br /&gt;
**Allow class animations instead of using refpose when UseCustomModel input is fired to change player model&lt;br /&gt;
*$SwitchClass &amp;lt;string&amp;gt;&lt;br /&gt;
**Switch player class. The parameter can be either a class name (heavyweapons for example), or class index&lt;br /&gt;
*$SwitchClassInPlace &amp;lt;string&amp;gt;&lt;br /&gt;
**Switch player class in current position. The parameter can be either a class name (heavyweapons for example), or class index&lt;br /&gt;
*$ForceRespawn&lt;br /&gt;
** The player instantly respawns&lt;br /&gt;
*$ForceRespawnDead&lt;br /&gt;
**The player instantly respawns, but only if they are dead&lt;br /&gt;
*$DisplayTextCenter &amp;lt;string&amp;gt; &lt;br /&gt;
** Display text in the middle of the screen&lt;br /&gt;
*$DisplayTextChat &amp;lt;string&amp;gt;&lt;br /&gt;
** Display text to the player&#039;s chat&lt;br /&gt;
*$DisplayTextHint &amp;lt;string&amp;gt;&lt;br /&gt;
** Display yellow text in the bottom part of the screen and play a sound cue&lt;br /&gt;
*$Suicide&lt;br /&gt;
**Kill the player&lt;br /&gt;
*$ChangeAttributes &amp;lt;string&amp;gt;&lt;br /&gt;
** If the player is a bot, this can be used to change active EventChangeAttributes&lt;br /&gt;
*$RollCommonSpell&lt;br /&gt;
**Roll common spell&lt;br /&gt;
*$SetSpell &amp;lt;string&amp;gt;&lt;br /&gt;
**Set player current spell to one of the following:&lt;br /&gt;
***Fireball&lt;br /&gt;
***Ball O&#039; Bats&lt;br /&gt;
***Healing Aura&lt;br /&gt;
***Pumpkin MIRV&lt;br /&gt;
*** Superjump&lt;br /&gt;
***Invisibility&lt;br /&gt;
***Teleport&lt;br /&gt;
***Tesla Bolt&lt;br /&gt;
***Minify&lt;br /&gt;
***Meteor Shower&lt;br /&gt;
***Summon Monoculus&lt;br /&gt;
***Summon Skeletons&lt;br /&gt;
*$AddSpell &amp;lt;string&amp;gt;&lt;br /&gt;
**Adds spell to the number of spells. If the spell is different than the current one, it replaces the spell. The parameter is the same as in $SetSpell&lt;br /&gt;
*$AddCond &amp;lt;int&amp;gt; [int]&lt;br /&gt;
** Add condition to player. If a second argument is present, the condition will only run for a specified duration&lt;br /&gt;
*$RemoveCond &amp;lt;int&amp;gt;&lt;br /&gt;
**Remove condition from player&lt;br /&gt;
*$AddPlayerAttribute &amp;lt;string&amp;gt;&lt;br /&gt;
**Add attribute to player, the parameter should be passed in this way: attribute|value. Example: &amp;quot;move speed bonus|1.2&amp;quot;&lt;br /&gt;
*$RemovePlayerAttribute &amp;lt;string&amp;gt;&lt;br /&gt;
**Remove attribute from player. Example: &amp;quot;move speed bonus&amp;quot;&lt;br /&gt;
*$GetPlayerAttribute &amp;lt;string&amp;gt;&lt;br /&gt;
**Sends attribute from player as the parameter.&lt;br /&gt;
**parameter format: attribute|entity|input|default value&lt;br /&gt;
**example: fire rate bonus|!activator|$DisplayTextChat|0&lt;br /&gt;
*$AddItemAttribute &amp;lt;string&amp;gt;&lt;br /&gt;
**Add attribute to item in slot, the parameter should be passed in this way: attribute|value|slot or item name. Example &amp;quot;damage bonus|2|0&amp;quot; adds 100% damage bonus to primary weapon, &amp;quot;damage penalty|0.5&amp;quot; adds 50% damage penalty to active weapon&lt;br /&gt;
*$RemoveItemAttribute &amp;lt;string&amp;gt;&lt;br /&gt;
** Remove attribute from item in slot, the parameter should be passed in this way: attribute|slot or item name. Example &amp;quot;damage bonus&amp;quot; removes damage bonus from primary weapon, &amp;quot;damage penalty&amp;quot; removes damage penalty from active weapon&lt;br /&gt;
*$GetItemAttribute &amp;lt;string&amp;gt;&lt;br /&gt;
**Sends item attribute value as the parameter.&lt;br /&gt;
** parameter format: slot or item name|attribute|entity|input|default value&lt;br /&gt;
**example to grab primary slot item&#039;s fire rate bonus value: 0|fire rate bonus|!activator|$DisplayTextChat|0&lt;br /&gt;
**You can also type -1 for active weapon or the item name.&lt;br /&gt;
*$PlaySoundToSelf &amp;lt;string&amp;gt;&lt;br /&gt;
** Play sound to the player&lt;br /&gt;
*$IgnitePlayerDuration &amp;lt;float&amp;gt; &lt;br /&gt;
**Ignite the player for a specified duration in seconds&lt;br /&gt;
*$WeaponSwitchSlot &amp;lt;int&amp;gt;&lt;br /&gt;
**Forcibly switches to weapon in slot&lt;br /&gt;
* $WeaponStripSlot &amp;lt;int&amp;gt;&lt;br /&gt;
**Removes weapon from a slot (-1 = current slot)&lt;br /&gt;
*$GiveItem &amp;lt;string&amp;gt;&lt;br /&gt;
**Gives an item to the player&lt;br /&gt;
*$AddCurrency &amp;lt;int&amp;gt;&lt;br /&gt;
**Add currency to the player&lt;br /&gt;
*$RemoveCurrency &amp;lt;int&amp;gt;&lt;br /&gt;
** Remove currency from the player&lt;br /&gt;
*$SetCurrency &amp;lt;int&amp;gt;&lt;br /&gt;
** Set currency to specified value&lt;br /&gt;
* $CurrencyOutputX &amp;lt;string&amp;gt;&lt;br /&gt;
**Fires input if player currency is above specified value (the X in input name), the attribute should be passed in this way: target,input,parameter.&lt;br /&gt;
*$CurrencyInvertOutputX&amp;lt;string&amp;gt;&lt;br /&gt;
**Fires input if player currency is below specified value(the X in input name), the attribute should be passed in this way: target,input,parameter&lt;br /&gt;
*$DropItem &amp;lt;int&amp;gt;&lt;br /&gt;
**Drop item in slot (-1 = current slot)&lt;br /&gt;
* $RemoveItem &amp;lt;string&amp;gt;&lt;br /&gt;
** Remove item with a name&lt;br /&gt;
*$Regenerate&lt;br /&gt;
**Regenerate the player, as if touching resupply cabinet&lt;br /&gt;
*$RefillAmmo&lt;br /&gt;
** Restore player ammo&lt;br /&gt;
*$PlaySequence &amp;lt;string&amp;gt;&lt;br /&gt;
**Play animation sequence with specified name&lt;br /&gt;
*$ResetInventory&lt;br /&gt;
**Reset loadout items, as if touching the resupply cabinet&lt;br /&gt;
*$BotCommand &amp;lt;string&amp;gt;&lt;br /&gt;
**Forces the bot to perform an action. Examples:&lt;br /&gt;
***interrupt_action -posent targetmove -lookposent targetlook -duration 10 -waituntildone -ondoneattributes AfterDone -name myname&lt;br /&gt;
****Move to entity targetmove, while looking at entity targetlook. Wait 10 seconds after moving to the target entity, then ChangeAttributes to AfterDone, and fire $onactiondone output with myname as parameter&lt;br /&gt;
***interrupt_action -posent targetkill -lookposent targetkill -killlook -waituntildone -alwayslook -distance 500&lt;br /&gt;
****Move to entity targetkill and try to destroy it. Always look at the target even if not in sight. Only move up to 500 units away from the target&lt;br /&gt;
***interrupt_action -pos 0 0 0 -lookpos 100 100 100 -duration 10&lt;br /&gt;
****Move to position 0 0 0 while looking at position 100 100 100 for the next 10 seconds&lt;br /&gt;
***interrupt_action_queue -pos 0 0 0 -lookpos 100 100 100 -duration 10&lt;br /&gt;
****Same as above, but add the action to the queue so it is only done when the previous interrupt action finishes&lt;br /&gt;
***clear_interrupt_action_queue&lt;br /&gt;
****Clears interrupt action queue added by above command&lt;br /&gt;
***remove_interrupt_action_queue_name name&lt;br /&gt;
****Delete from interrupt action queue if name matches&lt;br /&gt;
***stop interrupt action&lt;br /&gt;
****Stops current interrupt action&lt;br /&gt;
***switch_action action&lt;br /&gt;
****switch to different action. Sometimes this may fail (such as when the bot is carrying the bomb):&lt;br /&gt;
*****Default&lt;br /&gt;
*****FetchFlag&lt;br /&gt;
*****EscortFlag&lt;br /&gt;
*****PushToCapturePoint&lt;br /&gt;
*****Mobber&lt;br /&gt;
*****Spy&lt;br /&gt;
*****Sniper&lt;br /&gt;
*****SuicideBomber&lt;br /&gt;
*****Idle&lt;br /&gt;
*****Passive&lt;br /&gt;
*****Medic&lt;br /&gt;
***despawn&lt;br /&gt;
****Forces to bot to despawn&lt;br /&gt;
***taunt&lt;br /&gt;
****Forces the bot to taunt&lt;br /&gt;
***cloak&lt;br /&gt;
****Forces the spy bot to cloak&lt;br /&gt;
***uncloak&lt;br /&gt;
****Forces the spy bot to uncloak&lt;br /&gt;
***disguise&lt;br /&gt;
****Forces the spy bot to disguise as something&lt;br /&gt;
***build sentry at nearest sentry hint&lt;br /&gt;
*$Taunt&lt;br /&gt;
**Forces the player to taunt&lt;br /&gt;
*$TauntFromItem &amp;lt;string&amp;gt;&lt;br /&gt;
**Forces the player to taunt with specified item name. Also allows to insert attributes separated by |. Example: Conga Taunt|taunt move speed|1000&lt;br /&gt;
*$TauntIndexConcept &amp;lt;string&amp;gt;&lt;br /&gt;
**Forces the player to taunt with specified index and concept. Example: 0|0&lt;br /&gt;
*$TauntFromItem2 &amp;lt;string&amp;gt;&lt;br /&gt;
**Forces the player to taunt with specified item index. Also allows to modify attack time for &amp;quot;taunt attack&amp;quot;. Example: 1179|-0.5&lt;br /&gt;
*$AwardExtraItem &amp;lt;string&amp;gt;&lt;br /&gt;
**Awards extra loadout item with specified name to the player&lt;br /&gt;
*$AwardAndGiveExtraItem &amp;lt;string&amp;gt;&lt;br /&gt;
**Awards extra loadout item with specified name to the player, and equips it&lt;br /&gt;
*$StripExtraItem &amp;lt;string&amp;gt;&lt;br /&gt;
**Strips extra loadout item with specified name from the player&lt;br /&gt;
*$ResetExtraItems&lt;br /&gt;
**Strips all extra loadout items from the player&lt;br /&gt;
*$Stun &amp;lt;float&amp;gt;&lt;br /&gt;
**Stun player for specified duration in seconds&lt;br /&gt;
*$Slowdown &amp;lt;string&amp;gt;&lt;br /&gt;
**Slowdowns player by specified amount for specified duration&lt;br /&gt;
**Parameter format: slowdown|duration&lt;br /&gt;
*$SetFOV &amp;lt;int&amp;gt;&lt;br /&gt;
**Sets player FOV to specified amount. 0 FOV restores original fov&lt;br /&gt;
*$SetFOVDuration &amp;lt;string&amp;gt;&lt;br /&gt;
**Sets player FOV with zoom in duration and starting FOV&lt;br /&gt;
**Parameter format: fov|duration|start fov&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
&lt;br /&gt;
* $OnActionDone &amp;lt;string&amp;gt;&lt;br /&gt;
** Called when interrupt action finishes, the string parameter is a name of the interrupt action&lt;br /&gt;
&lt;br /&gt;
==trigger_hurt==&lt;br /&gt;
If entity owner is set with $SetOwner or $InheritOwner, the owner will become the damage inflictor&lt;br /&gt;
&lt;br /&gt;
==Filter entities==&lt;br /&gt;
The server will no longer crash if the activator entity got removed the time TestActivator is called&lt;br /&gt;
&lt;br /&gt;
===Inputs===&lt;br /&gt;
&lt;br /&gt;
*$TestEntity &amp;lt;entity&amp;gt; &lt;br /&gt;
**Test any entity, rather than only the !activator&lt;br /&gt;
&lt;br /&gt;
==Trigger entities==&lt;br /&gt;
The server will no longer crash if the caller entity got removed the time StartTouch or EndTouch is called&lt;br /&gt;
&lt;br /&gt;
===Inputs===&lt;br /&gt;
&lt;br /&gt;
*$StartTouchEntity &amp;lt;entity&amp;gt; &lt;br /&gt;
**StartTouch any entity, rather than only the !caller&lt;br /&gt;
*$EndTouchEntity &amp;lt;entity&amp;gt; &lt;br /&gt;
**EndTouch any entity, rather than only the !caller&lt;br /&gt;
&lt;br /&gt;
==game_ui==&lt;br /&gt;
The server will no longer crash if the player using the entity disconnected from the server&lt;br /&gt;
&lt;br /&gt;
== env_entity_maker ==&lt;br /&gt;
&lt;br /&gt;
=== Keyvalues ===&lt;br /&gt;
&lt;br /&gt;
* $autoparent &amp;lt;1/0&amp;gt;&lt;br /&gt;
** When the PointTemplate template is spawned via ForceSpawnAtEntityOrigin, the template entities will be automatically parented&lt;br /&gt;
* $Param(name) &amp;lt;string&amp;gt;&lt;br /&gt;
** Sets PointTemplate template param to a specified value&lt;br /&gt;
&lt;br /&gt;
== item_teamflag ==&lt;br /&gt;
&lt;br /&gt;
=== Keyvalues ===&lt;br /&gt;
&lt;br /&gt;
* $filter &amp;lt;entity&amp;gt;&lt;br /&gt;
** Targetname of a filter that defines if player can pick up the flag&lt;br /&gt;
*$disablebuffs &amp;lt;1/0&amp;gt;&lt;br /&gt;
**If bomb buffs should be disabled&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
*$OnPickup&lt;br /&gt;
**OnPickup but with player as activator&lt;br /&gt;
&lt;br /&gt;
*$OnDrop&lt;br /&gt;
**OnDrop but with player as activator&lt;br /&gt;
*$OnBombUpgradeLevel1&lt;br /&gt;
**Called when the bomb is upgraded to level 1&lt;br /&gt;
*$OnBombUpgradeLevel2&lt;br /&gt;
**Called when the bomb is upgraded to level 2&lt;br /&gt;
*$OnBombUpgradeLevel3&lt;br /&gt;
**Called when the bomb is upgraded to level 3&lt;br /&gt;
&lt;br /&gt;
== func_flagdetectionzone ==&lt;br /&gt;
&lt;br /&gt;
=== Keyvalues ===&lt;br /&gt;
&lt;br /&gt;
* $filter &amp;lt;entity&amp;gt;&lt;br /&gt;
** Targetname of a filter that defines if flag triggers the zone&lt;br /&gt;
*$filterplayer &amp;lt;entity&amp;gt;&lt;br /&gt;
** Targetname of a filter that defines if player with flag triggers the zone&lt;br /&gt;
&lt;br /&gt;
== point_push ==&lt;br /&gt;
&lt;br /&gt;
=== Keyvalues ===&lt;br /&gt;
&lt;br /&gt;
* $filter &amp;lt;entity&amp;gt;&lt;br /&gt;
** Targetname of a filter that defines if entity should be pushed&lt;br /&gt;
&lt;br /&gt;
==All entities ==&lt;br /&gt;
&lt;br /&gt;
=== Keyvalues ===&lt;br /&gt;
&lt;br /&gt;
* $modules &amp;lt;string&amp;gt;&lt;br /&gt;
** Comma separated list of [[Entity Modules|modules]] to attach to the entity&lt;br /&gt;
&lt;br /&gt;
===Inputs===&lt;br /&gt;
&lt;br /&gt;
*$FireUserAsActivator1-4 &amp;lt;string&amp;gt;&lt;br /&gt;
** Acts like FireUser1-4, but the entity becomes the !activator, and the parameter is passed in OnUser1-4 output&lt;br /&gt;
*$FireUser5-8 &amp;lt;string&amp;gt;&lt;br /&gt;
**Fires custom $onuser5-8 output&lt;br /&gt;
*$TakeDamage &amp;lt;int&amp;gt;&lt;br /&gt;
**Take specified amount of damage. Does not support negative values.&lt;br /&gt;
*$TakeDamageFromActivator &amp;lt;int&amp;gt;&lt;br /&gt;
** Take specified amount of damage, the !activator is the damage inflictor&lt;br /&gt;
*$SetModel &amp;lt;string&amp;gt;&lt;br /&gt;
** Set custom model&lt;br /&gt;
*$SetModelOverride &amp;lt;string&amp;gt;&lt;br /&gt;
**Set custom model for all vision modes at once. Doesn&#039;t change the original model.&lt;br /&gt;
*$SetModelSpecial &amp;lt;string&amp;gt;&lt;br /&gt;
**Set custom model, in a special way, it does less additional changes to the entity&lt;br /&gt;
*$SetOwner &amp;lt;entity&amp;gt;&lt;br /&gt;
** Set entity owner&lt;br /&gt;
*$ClearOwner&lt;br /&gt;
** Remove entity owner&lt;br /&gt;
*$InheritOwner &amp;lt;entity&amp;gt; &lt;br /&gt;
**Set entity owner to the passed entity owner&lt;br /&gt;
*$InheritParent &amp;lt;entity&amp;gt;&lt;br /&gt;
**Set entity parent to the passed entity parent&lt;br /&gt;
*$GetKeyValue &amp;lt;string&amp;gt; &lt;br /&gt;
**Fire OnUser1 output, with key value as a parameter&lt;br /&gt;
*$MoveType &amp;lt;int&amp;gt;,&amp;lt;int&amp;gt;&lt;br /&gt;
**Set move type&lt;br /&gt;
*$PlaySound &amp;lt;string&amp;gt;&lt;br /&gt;
**Play sound from this entity&lt;br /&gt;
*$StopSound &amp;lt;string&amp;gt;&lt;br /&gt;
**Stop playing sound from this entity&lt;br /&gt;
*$SetLocalOrigin &amp;lt;vector&amp;gt;&lt;br /&gt;
**Set origin relative to parent&lt;br /&gt;
*$SetLocalAngles &amp;lt;vector&amp;gt;&lt;br /&gt;
**Set angles relative to parent&lt;br /&gt;
*$SetLocalVelocity &amp;lt;vector&amp;gt;&lt;br /&gt;
**Set velocity relative to parent&lt;br /&gt;
*$TeleportToEntity &amp;lt;entity&amp;gt;&lt;br /&gt;
**Teleport to specified entity&lt;br /&gt;
*$MoveRelative &amp;lt;vector&amp;gt;&lt;br /&gt;
**Move relative to parent (world)&lt;br /&gt;
*$RotateRelative &amp;lt;vector&amp;gt;&lt;br /&gt;
**Rotate relative to parent (world)&lt;br /&gt;
*$GetEntIndex &amp;lt;string&amp;gt;&lt;br /&gt;
**Triggers the input of an entity, with entity index as parameter&lt;br /&gt;
**parameter format: entity|input&lt;br /&gt;
**example: !activator|$DisplayTextCenter&lt;br /&gt;
*$RemoveOutput &amp;lt;string&amp;gt;&lt;br /&gt;
**remove outputs with given name&lt;br /&gt;
*$CancelPending&lt;br /&gt;
**Remove all pending inputs this entity is going to fire&lt;br /&gt;
*$SetForwardVelocity &amp;lt;float&amp;gt;&lt;br /&gt;
**Set forward velocity of an entity, does not work on every entity&lt;br /&gt;
*$FaceEntity &amp;lt;entity&amp;gt;&lt;br /&gt;
**Rotate the entity so that it faces the target entity&lt;br /&gt;
*$SetKey$(keyvalue name) &amp;lt;string&amp;gt;&lt;br /&gt;
**Set keyvalue to specified value&lt;br /&gt;
*$GetKey$(keyvalue name) &amp;lt;string&amp;gt;&lt;br /&gt;
**Trigger the input of an entity, with keyvalue as a parameter (default value if not found)&lt;br /&gt;
**example: $GetKey$startdisabled&lt;br /&gt;
**parameter format: entity|input|default value&lt;br /&gt;
**example: !activator|$DisplayTextCenter|def&lt;br /&gt;
*$SetVar$(variable name) &amp;lt;string&amp;gt; &lt;br /&gt;
**Set custom entity variable&lt;br /&gt;
*$GetVar$(variable name) &amp;lt;string&amp;gt;&lt;br /&gt;
**Trigger the input of an entity, with custom variable as set with $SetVar as a parameter (default value if not found)&lt;br /&gt;
**example: $GetVar$customvar&lt;br /&gt;
**parameter format: entity|input|default value&lt;br /&gt;
**parameter example: !activator|$DisplayTextCenter|def&lt;br /&gt;
*$SetData$([https://raw.githubusercontent.com/powerlord/tf2-data/master/datamaps.txt datamap] prop name) &amp;lt;string&amp;gt;&lt;br /&gt;
**Set datamap property to specified value&lt;br /&gt;
*$GetData$([https://raw.githubusercontent.com/powerlord/tf2-data/master/datamaps.txt datamap] prop name) &amp;lt;string&amp;gt;&lt;br /&gt;
**Trigger the input of an entity, with datamap prop as a parameter (default value if not found)&lt;br /&gt;
**example: $GetData$m_szNetname&lt;br /&gt;
***Unlike send props, datamaps do not have arrays.&lt;br /&gt;
**parameter format: entity|input|default value&lt;br /&gt;
**parameter example: !activator|$DisplayTextCenter|def&lt;br /&gt;
***Default value is not required to be defined, but can be useful for debugging.&lt;br /&gt;
*$SetProp$([https://raw.githubusercontent.com/powerlord/tf2-data/master/netprops.txt send prop] name)[$(array)] &amp;lt;string&amp;gt;&lt;br /&gt;
**Set send property to specified value. Can also set arrays.&lt;br /&gt;
**example without array: $SetProp$m_bInUpgradeZone&lt;br /&gt;
***sets player state if player is visiting an upgrade station&lt;br /&gt;
**example with array: $SetProp$m_iAmmo$3&lt;br /&gt;
***sets player ammo type array to 3, which is metal carried&lt;br /&gt;
*$GetProp$([https://raw.githubusercontent.com/powerlord/tf2-data/master/netprops.txt send prop] name)[$(array)] &amp;lt;string&amp;gt;&lt;br /&gt;
**Trigger the input of an entity, with the specified send prop&#039;s value as a parameter (default value if not found)&lt;br /&gt;
**example without array: $GetProp$m_bInUpgradeZone&lt;br /&gt;
**example with an array: $GetProp$m_iAmmo$3&lt;br /&gt;
**parameter format: entity|input|default value&lt;br /&gt;
**parameter example: !activator|$DisplayTextCenter|def&lt;br /&gt;
***Default value is not required to be defined, but can be useful for debugging.&lt;br /&gt;
*$SetClientProp$([https://raw.githubusercontent.com/powerlord/tf2-data/master/netprops.txt send prop] name)[$(array)] &amp;lt;string&amp;gt;&lt;br /&gt;
**Set fake send prop value only seen by players. Can also set arrays. Useful for setting fake mission name or wave number, as $SetProp would trigger unwanted behavior &lt;br /&gt;
**example without array: $SetClientProp$m_bInUpgradeZone&lt;br /&gt;
***sets player state if player is visiting an upgrade station&lt;br /&gt;
**example with array: $SetClientProp$m_iAmmo$3&lt;br /&gt;
***sets player ammo type array to 3, which is metal carried&lt;br /&gt;
*$ResetClientProp$([https://raw.githubusercontent.com/powerlord/tf2-data/master/netprops.txt send prop] name)[$(array)]&lt;br /&gt;
**Reset fake prop value set by $SetClientProp&lt;br /&gt;
*$AddModule &amp;lt;string&amp;gt;&lt;br /&gt;
**Add entity [[Entity Modules|module]] by name&lt;br /&gt;
*$RemoveModule &amp;lt;string&amp;gt;&lt;br /&gt;
**Remove entity [[Entity Modules|module]] by name&lt;br /&gt;
*$SetCollisionFilter &amp;lt;entity&amp;gt;&lt;br /&gt;
**Sets custom collision filter entity. If the filter passes, the entity collides as usual, otherwise the colliding entities pass through&lt;br /&gt;
*$HideTo &amp;lt;player&amp;gt;&lt;br /&gt;
**Hides this entity to specific player&lt;br /&gt;
*$ShowTo &amp;lt;player&amp;gt;&lt;br /&gt;
**Shows previously hidden entity to specific player&lt;br /&gt;
*$HideToAll&lt;br /&gt;
**Hides this entity to all players by default&lt;br /&gt;
*$ShowToAll&lt;br /&gt;
**Shows previously hidden entity to all players&lt;br /&gt;
*$VScriptFunc$function &amp;lt;string&amp;gt;&lt;br /&gt;
**Executes a VScript function with a single parameter, equivalent to &amp;lt;code&amp;gt;runscriptcode function(param)&amp;lt;/code&amp;gt; input&lt;br /&gt;
*$StopParticleEffects&lt;br /&gt;
**Stops attached particle effects, some effects are not stoppable&lt;br /&gt;
*$SetSolidFlags &amp;lt;int&amp;gt;&lt;br /&gt;
**Set solid flags&lt;br /&gt;
*$SetSolid &amp;lt;int&amp;gt;&lt;br /&gt;
**Set solid type&lt;br /&gt;
&lt;br /&gt;
===Outputs===&lt;br /&gt;
&lt;br /&gt;
*$OnUser5-8 &amp;lt;string&amp;gt;&lt;br /&gt;
**Called when $FireUser5-8 input is used&lt;br /&gt;
*$OnKilled&lt;br /&gt;
**Fired when the entity is killed (removed from the world). The calling entity no longer exist and cannot be accessed unless input delay is set to -1&lt;br /&gt;
*$OnDamageReceived &amp;lt;int&amp;gt;&lt;br /&gt;
**Fired when the entity is damaged. Parameter is the damage received by the entity. !activator is the damage inflictor&lt;br /&gt;
*$OnDamageBlocked &amp;lt;int&amp;gt;&lt;br /&gt;
**Fired when damage was blocked by the entity. Parameter is the amount of damage blocked by the entity. !activator is the damage inflictor&lt;br /&gt;
*$OnDeath &amp;lt;int&amp;gt;&lt;br /&gt;
**Fired when the entity died. Parameter is the damage of the fatal blow. !activator is the damage inflictor&lt;br /&gt;
&lt;br /&gt;
[[Category:Misc Additions]]&lt;/div&gt;</summary>
		<author><name>Seelpit</name></author>
	</entry>
	<entry>
		<id>https://sigwiki.potato.tf/index.php?title=Additions_to_existing_entities&amp;diff=7510</id>
		<title>Additions to existing entities</title>
		<link rel="alternate" type="text/html" href="https://sigwiki.potato.tf/index.php?title=Additions_to_existing_entities&amp;diff=7510"/>
		<updated>2023-11-17T12:31:25Z</updated>

		<summary type="html">&lt;p&gt;Seelpit: Added a header explaining the page.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOEDITSECTION__&lt;br /&gt;
&lt;br /&gt;
This page lists a number of additions to existing entities, including inputs, outputs, and keyvalues, as well as a various amount of changes to the Input/Output system as a whole. Not to be confused with [[Custom Entities]], which are entirely new entities.&lt;br /&gt;
&lt;br /&gt;
== Targeting ==&lt;br /&gt;
&lt;br /&gt;
* You can target parent of specified entity by adding @p@. @p@!activator would target parent of the activator entity&lt;br /&gt;
* You can target children of specified entity by adding @c@ prefix. @c@!activator would target children of the activator entity&lt;br /&gt;
*Target all entities in a box by adding @bbxmin ymin zmin xmax ymax zmax@ prefix. @bb-100 -100 -100 100 100 100@prop_dynamic would target prop_dynamic entities inside -100 -100 -100 100 100 100 world coordinates box&lt;br /&gt;
*Target entities matching the filter by adding @f@ prefix. @f@filtername@entityname would target all entityname that pass the filtername filter&lt;br /&gt;
*Target entity from datamap/sendprop by adding @e@ prefix. @e@m_hOwnerEntity@!activator would target the owner entity of !activator. You can also target in array with $. @e@m_hMyWeapons$1@!activator would target secondary weapon of !activator.&lt;br /&gt;
&lt;br /&gt;
==Various==&lt;br /&gt;
&lt;br /&gt;
*You can execute an input immediately rather than with at least 1 tick delay by setting input delay to -1. This allows you to access !activator of $OnKilled entity&lt;br /&gt;
&lt;br /&gt;
== [[Expressions]] ==&lt;br /&gt;
[[Expressions]] can be used to calculate input parameters without the need of extra logic entities&lt;br /&gt;
&lt;br /&gt;
==point_viewcontrol==&lt;br /&gt;
&lt;br /&gt;
=== Keyvalues ===&lt;br /&gt;
&lt;br /&gt;
* $allowdamage &amp;lt;1/0&amp;gt;&lt;br /&gt;
** Should the player/s operating the camera receive damage. 0 by default&lt;br /&gt;
&lt;br /&gt;
===Inputs ===&lt;br /&gt;
&lt;br /&gt;
*$EnableAll&lt;br /&gt;
**Enable the camera for all players on the map. Spawnflag [512] may not work properly. (&#039;&#039;Start At Player, Interruptable by Player&#039;&#039;)&lt;br /&gt;
*$DisableAll&lt;br /&gt;
**Disable the camera for all players on the map&lt;br /&gt;
*$SetTarget &amp;lt;entity&amp;gt; &lt;br /&gt;
**Set current target to entity&lt;br /&gt;
&lt;br /&gt;
== Sentry Gun (obj_sentrygun)==&lt;br /&gt;
===Spawnflags===&lt;br /&gt;
*&#039;&#039;&#039;[64]&#039;&#039;&#039; - Spawn as mini-sentry&lt;br /&gt;
&lt;br /&gt;
=== Keyvalues ===&lt;br /&gt;
&lt;br /&gt;
* $attributeoverride &amp;lt;1/0&amp;gt;&lt;br /&gt;
** Ignores player attributes and uses keyvalues below instead&lt;br /&gt;
&lt;br /&gt;
*$fireratemult &amp;lt;float&amp;gt;&lt;br /&gt;
**Bullet fire rate multiplier&lt;br /&gt;
&lt;br /&gt;
*$rangemult &amp;lt;float&amp;gt;&lt;br /&gt;
**range multiplier&lt;br /&gt;
*$damagemult &amp;lt;float&amp;gt;&lt;br /&gt;
**Damage multiplier&lt;br /&gt;
*$maxlevel &amp;lt;int&amp;gt;&lt;br /&gt;
**Maximum level&lt;br /&gt;
*$rapidfire &amp;lt;1/0&amp;gt;&lt;br /&gt;
**Allow firing every tick, rather than after every 3rd tick&lt;br /&gt;
*$ammomult &amp;lt;float&amp;gt;&lt;br /&gt;
**Ammo multiplier&lt;br /&gt;
*$rocketfireratemult &amp;lt;float&amp;gt;&lt;br /&gt;
**Rocket fire rate multiplier&lt;br /&gt;
*$bulletweapon &amp;lt;string&amp;gt;&lt;br /&gt;
**Use a specific weapon name as bullet attack, can be a custom weapon&lt;br /&gt;
*$rocketweapon &amp;lt;string&amp;gt;&lt;br /&gt;
**Use a specific weapon name as rocket attack, can be a custom weapon&lt;br /&gt;
*$allowplayerattributes &amp;lt;1/0&amp;gt;&lt;br /&gt;
**Fix for player dependent attributes not working on custom weapon&lt;br /&gt;
*$weaponnosound &amp;lt;1/0&amp;gt;&lt;br /&gt;
**Disable fire sounds of custom weapon&lt;br /&gt;
*$sentrymodelprefix &amp;lt;string&amp;gt;&lt;br /&gt;
**Sentry model prefix&lt;br /&gt;
**Example: models/buildables/sentry&lt;br /&gt;
*$projspeedmult &amp;lt;float&amp;gt;&lt;br /&gt;
**Sentry rocket speed multiplier&lt;br /&gt;
*$cannotbesapped &amp;lt;1/0&amp;gt;&lt;br /&gt;
**This building cannot be sapped&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
*$OnShootBullet&lt;br /&gt;
**Called when the sentry shoots a bullet, the sentry is  &amp;lt;code&amp;gt;!activator&amp;lt;/code&amp;gt;&lt;br /&gt;
*$OnShootRocket&lt;br /&gt;
**Called when the sentry shoots a rocket, the projectile is  &amp;lt;code&amp;gt;!activator&amp;lt;/code&amp;gt;&lt;br /&gt;
*$OnShootWeaponBullet&lt;br /&gt;
**Called when the sentry shoots a bullet weapon, the projectile is &amp;lt;code&amp;gt;!activator&amp;lt;/code&amp;gt;&lt;br /&gt;
*$OnShootWeaponRocket&lt;br /&gt;
**Called when the sentry shoots a rocket weapon, the projectile is  &amp;lt;code&amp;gt;!activator&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Teleporter (obj_teleporter) ==&lt;br /&gt;
&lt;br /&gt;
===Keyvalues===&lt;br /&gt;
*$TeleportWhere &amp;lt;string&amp;gt;&lt;br /&gt;
**Teleport bots from specified botspawn name. It is possible to add multiple TeleportWhere keys. &amp;quot;all&amp;quot; name will teleport all bots, &amp;quot;small&amp;quot; will teleport all small bots, &amp;quot;giants&amp;quot; will teleport giants and their squad&lt;br /&gt;
*$attributeoverride &amp;lt;1/0&amp;gt;&lt;br /&gt;
** Ignores player attributes and uses keyvalues below instead&lt;br /&gt;
*$bidirectional &amp;lt;1/0&amp;gt;&lt;br /&gt;
**If the teleport can be used in both directions&lt;br /&gt;
*$maxlevel &amp;lt;int&amp;gt;&lt;br /&gt;
**Maximum level&lt;br /&gt;
*$rechargeratemult &amp;lt;float&amp;gt;&lt;br /&gt;
**Recharge rate multiplier&lt;br /&gt;
*$speedboost &amp;lt;1/0&amp;gt;&lt;br /&gt;
**Apply 4s speed boost after exiting teleporter&lt;br /&gt;
*$teleportermodelprefix &amp;lt;string&amp;gt;&lt;br /&gt;
**Teleporter model prefix&lt;br /&gt;
**Example: models/buildables/teleporter&lt;br /&gt;
*$cannotbesapped &amp;lt;1/0&amp;gt;&lt;br /&gt;
**This building cannot be sapped&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
*$OnTeleportReceive&lt;br /&gt;
**Teleport exit calls this when it receives a player, the player is  &amp;lt;code&amp;gt;!activator&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Dispenser (obj_dispenser) ==&lt;br /&gt;
&lt;br /&gt;
===Keyvalues===&lt;br /&gt;
&lt;br /&gt;
* $attributeoverride &amp;lt;1/0&amp;gt;&lt;br /&gt;
** Ignores player attributes and uses keyvalues below instead&lt;br /&gt;
&lt;br /&gt;
*$radiusmult &amp;lt;float&amp;gt;&lt;br /&gt;
**Dispenser radius multiplier&lt;br /&gt;
*$maxlevel &amp;lt;int&amp;gt;&lt;br /&gt;
**Maximum level&lt;br /&gt;
*$ratemult &amp;lt;float&amp;gt;&lt;br /&gt;
**Dispenser provided health/ammo multiplier&lt;br /&gt;
*$dispensermodelprefix&amp;lt;string&amp;gt;&lt;br /&gt;
**Dispenser model prefix&lt;br /&gt;
**Example: models/buildables/dispenser&lt;br /&gt;
*$cannotbesapped &amp;lt;1/0&amp;gt;&lt;br /&gt;
**This building cannot be sapped&lt;br /&gt;
&lt;br /&gt;
==Weapon Mimic (tf_point_weapon_mimic)==&lt;br /&gt;
*Fired projectiles can have their team assigned with teamnum keyvalue (2 for RED and 3 for BLU). Previously all fired projectiles always belonged to the BLU team&lt;br /&gt;
*If the player owner is set with $SetOwner or $InheritOwner, fired projectiles are assigned to the owner&lt;br /&gt;
* Fired stickybombs are automatically removed if the mimic is removed&lt;br /&gt;
*Added projectile type 4 - Bullet.  SpeedMax keyvalue determines max distance (infinite if not specified). SplashRadius determines knockback force&lt;br /&gt;
*It is possible to mimic a specific weapon. Setting owner might be required for the weapon to function properly. Setting a mimic weapon disables all other mimic properties except crits&lt;br /&gt;
&lt;br /&gt;
=== Keyvalues===&lt;br /&gt;
&lt;br /&gt;
*$preventshootparent &amp;lt;1/0&amp;gt;&lt;br /&gt;
**If set, bullets fired from the mimic cannot hit the parent entity&lt;br /&gt;
*$dmgtype &amp;lt;int&amp;gt; &lt;br /&gt;
**Set custom damage type&lt;br /&gt;
*$killicon &amp;lt;string&amp;gt; &lt;br /&gt;
**Set custom kill icon&lt;br /&gt;
*$weaponname &amp;lt;string&amp;gt;&lt;br /&gt;
**Set mimic weapon name, custom weapon names are allowed. &lt;br /&gt;
**Example: The Righteous Bison&lt;br /&gt;
**Some weapons (flamethrowers) will not work.&lt;br /&gt;
**If the mimic owner is not set, some weapons (The Dragon&#039;s Fury) will crash the game, or break in other ways&lt;br /&gt;
*$firetime &amp;lt;float&amp;gt;&lt;br /&gt;
**Delay between shots for $StartFiring input&lt;br /&gt;
*$weaponnosound &amp;lt;1/0&amp;gt;&lt;br /&gt;
**If set, disables weapon fire sound&lt;br /&gt;
&lt;br /&gt;
=== Inputs ===&lt;br /&gt;
&lt;br /&gt;
* $AddWeaponAttribute &amp;lt;string&amp;gt;&lt;br /&gt;
** Adds attribute to the mimic weapon, example: projectile speed increased|2&lt;br /&gt;
*$RemoveWeaponAttribute &amp;lt;string&amp;gt;&lt;br /&gt;
** Remove attribute from the mimic weapon, example: projectile speed increased&lt;br /&gt;
*$StartFiring &amp;lt;int&amp;gt;&lt;br /&gt;
**Starts firing automatically specified number of projectiles, 1 minimum, with $firetime delay between shots&lt;br /&gt;
*$StopFiring&lt;br /&gt;
**Stops firing automatically&lt;br /&gt;
&lt;br /&gt;
===Outputs===&lt;br /&gt;
&lt;br /&gt;
*$OnFire&lt;br /&gt;
**Called when the projectile is being fired, with the projectile as &amp;lt;code&amp;gt;!activator&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Spawnflags===&lt;br /&gt;
* &#039;&#039;&#039;[4]&#039;&#039;&#039; - Fire &amp;quot;OnUser4&amp;quot; output when projectile is fired, with the projectile as &amp;lt;code&amp;gt;!activator&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Tank (tank_boss)== &lt;br /&gt;
&lt;br /&gt;
*When tank starts deploying, and there is at least one PointTemplate assigned to it, &amp;quot;OnUser4&amp;quot; output is activated&lt;br /&gt;
&lt;br /&gt;
=== Outputs===&lt;br /&gt;
&lt;br /&gt;
*$OnStartDeploy&lt;br /&gt;
**Fired when the tank is deploying the bomb&lt;br /&gt;
&lt;br /&gt;
==Medic shield (entity_medigun_shield)==&lt;br /&gt;
===Spawnflags===&lt;br /&gt;
*&#039;&#039;&#039;[1]&#039;&#039;&#039; - Don&#039;t expire and don&#039;t block LOS&lt;br /&gt;
*&#039;&#039;&#039;[2]&#039;&#039;&#039; - Use the LV2 Shield model&lt;br /&gt;
&lt;br /&gt;
==logic_case==&lt;br /&gt;
&lt;br /&gt;
===Text formatter===&lt;br /&gt;
With the use of the added inputs, logic_case can be transformed into a text formatter, replacing % in the format string into format parameters. &lt;br /&gt;
&lt;br /&gt;
Example point template usage:&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
Formatter&lt;br /&gt;
{&lt;br /&gt;
	OnSpawnOutput&lt;br /&gt;
	{&lt;br /&gt;
		Target &amp;quot;formattest&amp;quot;&lt;br /&gt;
		Action &amp;quot;$Format&amp;quot;&lt;br /&gt;
		Delay 1&lt;br /&gt;
	}&lt;br /&gt;
	logic_case&lt;br /&gt;
	{&lt;br /&gt;
		&amp;quot;targetname&amp;quot; &amp;quot;formattest&amp;quot;&lt;br /&gt;
		&amp;quot;case16&amp;quot; &amp;quot;You have % out of % coins left. % %% done&amp;quot; // Formatter string&lt;br /&gt;
		&amp;quot;case01&amp;quot; &amp;quot;6&amp;quot; //First argument&lt;br /&gt;
		&amp;quot;case02&amp;quot; &amp;quot;12&amp;quot; //Second argument&lt;br /&gt;
		&amp;quot;case03&amp;quot; &amp;quot;50&amp;quot; //Third argument&lt;br /&gt;
		&amp;quot;ondefault&amp;quot; &amp;quot;player,$DisplayTextCenter,,0,-1&amp;quot;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;This would display &amp;quot;You have 6 out of 12 coins left. 50 % done&amp;quot; to all players&lt;br /&gt;
&lt;br /&gt;
=== Menu===&lt;br /&gt;
You can use $DisplayMenu input to display a menu for the player, up to 15 entries&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
Menu&lt;br /&gt;
{&lt;br /&gt;
	OnSpawnOutput&lt;br /&gt;
	{&lt;br /&gt;
		Target &amp;quot;menutest&amp;quot;&lt;br /&gt;
		Action &amp;quot;$DisplayMenu&amp;quot;&lt;br /&gt;
		Delay 1&lt;br /&gt;
		Param &amp;quot;player&amp;quot;&lt;br /&gt;
	}&lt;br /&gt;
	logic_case&lt;br /&gt;
	{&lt;br /&gt;
		&amp;quot;targetname&amp;quot; &amp;quot;menutest&amp;quot;&lt;br /&gt;
		&amp;quot;case16&amp;quot; &amp;quot;Menu title|30|Cancel&amp;quot; // Title, menu duration (0 for infinite), display optional cancel button&lt;br /&gt;
		&amp;quot;case01&amp;quot; &amp;quot;option1&amp;quot; //First argument&lt;br /&gt;
		&amp;quot;case02&amp;quot; &amp;quot;!disabled option&amp;quot; //Second argument, disabled&lt;br /&gt;
		&amp;quot;case03&amp;quot; &amp;quot;suicide&amp;quot; //Third argument&lt;br /&gt;
		&amp;quot;oncase03&amp;quot; &amp;quot;!activator,sethealth,0,0,-1&amp;quot; // Selected 3rd option&lt;br /&gt;
		&amp;quot;ondefault&amp;quot; &amp;quot;player,$DisplayTextCenter,he,0,-1&amp;quot; // No option selected&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Inputs===&lt;br /&gt;
&lt;br /&gt;
*$FormatString &amp;lt;string&amp;gt; &lt;br /&gt;
**Sets formatting string, then fires OnDefault output, with formatted string as parameter&lt;br /&gt;
*$FormatStringNoFire &amp;lt;string&amp;gt;&lt;br /&gt;
**Sets formatting string&lt;br /&gt;
*$FormatInput1 &amp;lt;string&amp;gt;&lt;br /&gt;
**Sets formatting input argument 1, then fires OnDefault output, with formatted string as parameter&lt;br /&gt;
*$FormatInput2-15 &amp;lt;string&amp;gt;&lt;br /&gt;
** Sets formatting input argument 2-15, then fires OnDefault output, with formatted string as parameter&lt;br /&gt;
*$FormatInputNoFire1 &amp;lt;string&amp;gt;&lt;br /&gt;
**Sets formatting input argument 1&lt;br /&gt;
*$Format &lt;br /&gt;
**Fires OnDefault output, with formatted string as parameter&lt;br /&gt;
*$TestSigsegv&lt;br /&gt;
**Fires OnUser1 output. Can be used to test if sigsegv extension is active&lt;br /&gt;
*$ToInt &amp;lt;any&amp;gt;&lt;br /&gt;
**Fires OnDefault output, converts parameter value from string/float to integer&lt;br /&gt;
*$ToFloat &amp;lt;any&amp;gt;&lt;br /&gt;
**Fires OnDefault output, converts value from string/int to real number&lt;br /&gt;
*$CallerToActivator &amp;lt;any&amp;gt;&lt;br /&gt;
**Fires OnDefault output, but the !caller entity is converted to !activator&lt;br /&gt;
* $GetKeyValueFromActivator &amp;lt;string&amp;gt;&lt;br /&gt;
**Fires OnDefault output, the key value from the !activator entity is the parameter&lt;br /&gt;
*$GetConVar &amp;lt;string&amp;gt;&lt;br /&gt;
**Fires OnDefault output, the convar (console variable) number value is the parameter&lt;br /&gt;
*$GetConVarString &amp;lt;string&amp;gt;&lt;br /&gt;
**Fires OnDefault output, the convar (console variable) string value is the parameter&lt;br /&gt;
*$DisplayMenu &amp;lt;entity&amp;gt;&lt;br /&gt;
**Display menu at player&lt;br /&gt;
*$HideMenu &amp;lt;entity&amp;gt;&lt;br /&gt;
**Hide menu at player&lt;br /&gt;
*$BitTest &amp;lt;number&amp;gt;&lt;br /&gt;
**Fires all cases where after the bitwise AND operation between the parameter and the case value, the result is not 0&lt;br /&gt;
&lt;br /&gt;
* $BitTestAll &amp;lt;number&amp;gt;&lt;br /&gt;
** Fires all cases where after the bitwise AND operation between the parameter and the case value, the result is same as the parameter&lt;br /&gt;
&lt;br /&gt;
==tf_gamerules ==&lt;br /&gt;
&lt;br /&gt;
===Inputs===&lt;br /&gt;
&lt;br /&gt;
*$StopVO &amp;lt;string&amp;gt;&lt;br /&gt;
** Stops sound that was started with PlayVO input&lt;br /&gt;
&lt;br /&gt;
*$StopVORed &amp;lt;string&amp;gt;&lt;br /&gt;
**Stops sound that was started with PlayVORed input&lt;br /&gt;
&lt;br /&gt;
*$StopVOBlue &amp;lt;string&amp;gt;&lt;br /&gt;
**Stops sound that was started with PlayVOBlue input&lt;br /&gt;
*$SetBossHealthPercentage &amp;lt;float&amp;gt;&lt;br /&gt;
**Set Halloween boss bar percentage to a value between 0 and 1. 0 hides the health bar, any other value makes the bar appear&lt;br /&gt;
*$SetBossState &amp;lt;int&amp;gt;&lt;br /&gt;
**If set to 1, makes the health bar green, like if Merasmus is hiding. If set to 0, the bar goes back to normal&lt;br /&gt;
*$AddCurrencyGlobal &amp;lt;int&amp;gt;&lt;br /&gt;
**Add currency to all players&lt;br /&gt;
*$ChangeLevel &amp;lt;string&amp;gt;&lt;br /&gt;
**Changes level. To set a specific mission, type the mission name after | . Example: mvm_bigrock|advanced1&lt;br /&gt;
&lt;br /&gt;
== player ==&lt;br /&gt;
&lt;br /&gt;
===Inputs===&lt;br /&gt;
&lt;br /&gt;
* $AllowClassAnimations &amp;lt;0|1&amp;gt; &lt;br /&gt;
**Allow class animations instead of using refpose when UseCustomModel input is fired to change player model&lt;br /&gt;
*$SwitchClass &amp;lt;string&amp;gt;&lt;br /&gt;
**Switch player class. The parameter can be either a class name (heavyweapons for example), or class index&lt;br /&gt;
*$SwitchClassInPlace &amp;lt;string&amp;gt;&lt;br /&gt;
**Switch player class in current position. The parameter can be either a class name (heavyweapons for example), or class index&lt;br /&gt;
*$ForceRespawn&lt;br /&gt;
** The player instantly respawns&lt;br /&gt;
*$ForceRespawnDead&lt;br /&gt;
**The player instantly respawns, but only if they are dead&lt;br /&gt;
*$DisplayTextCenter &amp;lt;string&amp;gt; &lt;br /&gt;
** Display text in the middle of the screen&lt;br /&gt;
*$DisplayTextChat &amp;lt;string&amp;gt;&lt;br /&gt;
** Display text to the player&#039;s chat&lt;br /&gt;
*$DisplayTextHint &amp;lt;string&amp;gt;&lt;br /&gt;
** Display yellow text in the bottom part of the screen and play a sound cue&lt;br /&gt;
*$Suicide&lt;br /&gt;
**Kill the player&lt;br /&gt;
*$ChangeAttributes &amp;lt;string&amp;gt;&lt;br /&gt;
** If the player is a bot, this can be used to change active EventChangeAttributes&lt;br /&gt;
*$RollCommonSpell&lt;br /&gt;
**Roll common spell&lt;br /&gt;
*$SetSpell &amp;lt;string&amp;gt;&lt;br /&gt;
**Set player current spell to one of the following:&lt;br /&gt;
***Fireball&lt;br /&gt;
***Ball O&#039; Bats&lt;br /&gt;
***Healing Aura&lt;br /&gt;
***Pumpkin MIRV&lt;br /&gt;
*** Superjump&lt;br /&gt;
***Invisibility&lt;br /&gt;
***Teleport&lt;br /&gt;
***Tesla Bolt&lt;br /&gt;
***Minify&lt;br /&gt;
***Meteor Shower&lt;br /&gt;
***Summon Monoculus&lt;br /&gt;
***Summon Skeletons&lt;br /&gt;
*$AddSpell &amp;lt;string&amp;gt;&lt;br /&gt;
**Adds spell to the number of spells. If the spell is different than the current one, it replaces the spell. The parameter is the same as in $SetSpell&lt;br /&gt;
*$AddCond &amp;lt;int&amp;gt; [int]&lt;br /&gt;
** Add condition to player. If a second argument is present, the condition will only run for a specified duration&lt;br /&gt;
*$RemoveCond &amp;lt;int&amp;gt;&lt;br /&gt;
**Remove condition from player&lt;br /&gt;
*$AddPlayerAttribute &amp;lt;string&amp;gt;&lt;br /&gt;
**Add attribute to player, the parameter should be passed in this way: attribute|value. Example: &amp;quot;move speed bonus|1.2&amp;quot;&lt;br /&gt;
*$RemovePlayerAttribute &amp;lt;string&amp;gt;&lt;br /&gt;
**Remove attribute from player. Example: &amp;quot;move speed bonus&amp;quot;&lt;br /&gt;
*$GetPlayerAttribute &amp;lt;string&amp;gt;&lt;br /&gt;
**Sends attribute from player as the parameter.&lt;br /&gt;
**parameter format: attribute|entity|input|default value&lt;br /&gt;
**example: fire rate bonus|!activator|$DisplayTextChat|0&lt;br /&gt;
*$AddItemAttribute &amp;lt;string&amp;gt;&lt;br /&gt;
**Add attribute to item in slot, the parameter should be passed in this way: attribute|value|slot or item name. Example &amp;quot;damage bonus|2|0&amp;quot; adds 100% damage bonus to primary weapon, &amp;quot;damage penalty|0.5&amp;quot; adds 50% damage penalty to active weapon&lt;br /&gt;
*$RemoveItemAttribute &amp;lt;string&amp;gt;&lt;br /&gt;
** Remove attribute from item in slot, the parameter should be passed in this way: attribute|slot or item name. Example &amp;quot;damage bonus&amp;quot; removes damage bonus from primary weapon, &amp;quot;damage penalty&amp;quot; removes damage penalty from active weapon&lt;br /&gt;
*$GetItemAttribute &amp;lt;string&amp;gt;&lt;br /&gt;
**Sends item attribute value as the parameter.&lt;br /&gt;
** parameter format: slot or item name|attribute|entity|input|default value&lt;br /&gt;
**example to grab primary slot item&#039;s fire rate bonus value: 0|fire rate bonus|!activator|$DisplayTextChat|0&lt;br /&gt;
**You can also type -1 for active weapon or the item name.&lt;br /&gt;
*$PlaySoundToSelf &amp;lt;string&amp;gt;&lt;br /&gt;
** Play sound to the player&lt;br /&gt;
*$IgnitePlayerDuration &amp;lt;float&amp;gt; &lt;br /&gt;
**Ignite the player for a specified duration in seconds&lt;br /&gt;
*$WeaponSwitchSlot &amp;lt;int&amp;gt;&lt;br /&gt;
**Forcibly switches to weapon in slot&lt;br /&gt;
* $WeaponStripSlot &amp;lt;int&amp;gt;&lt;br /&gt;
**Removes weapon from a slot (-1 = current slot)&lt;br /&gt;
*$GiveItem &amp;lt;string&amp;gt;&lt;br /&gt;
**Gives an item to the player&lt;br /&gt;
*$AddCurrency &amp;lt;int&amp;gt;&lt;br /&gt;
**Add currency to the player&lt;br /&gt;
*$RemoveCurrency &amp;lt;int&amp;gt;&lt;br /&gt;
** Remove currency from the player&lt;br /&gt;
*$SetCurrency &amp;lt;int&amp;gt;&lt;br /&gt;
** Set currency to specified value&lt;br /&gt;
* $CurrencyOutputX &amp;lt;string&amp;gt;&lt;br /&gt;
**Fires input if player currency is above specified value (the X in input name), the attribute should be passed in this way: target,input,parameter.&lt;br /&gt;
*$CurrencyInvertOutputX&amp;lt;string&amp;gt;&lt;br /&gt;
**Fires input if player currency is below specified value(the X in input name), the attribute should be passed in this way: target,input,parameter&lt;br /&gt;
*$DropItem &amp;lt;int&amp;gt;&lt;br /&gt;
**Drop item in slot (-1 = current slot)&lt;br /&gt;
* $RemoveItem &amp;lt;string&amp;gt;&lt;br /&gt;
** Remove item with a name&lt;br /&gt;
*$Regenerate&lt;br /&gt;
**Regenerate the player, as if touching resupply cabinet&lt;br /&gt;
*$RefillAmmo&lt;br /&gt;
** Restore player ammo&lt;br /&gt;
*$PlaySequence &amp;lt;string&amp;gt;&lt;br /&gt;
**Play animation sequence with specified name&lt;br /&gt;
*$ResetInventory&lt;br /&gt;
**Reset loadout items, as if touching the resupply cabinet&lt;br /&gt;
*$BotCommand &amp;lt;string&amp;gt;&lt;br /&gt;
**Forces the bot to perform an action. Examples:&lt;br /&gt;
***interrupt_action -posent targetmove -lookposent targetlook -duration 10 -waituntildone -ondoneattributes AfterDone -name myname&lt;br /&gt;
****Move to entity targetmove, while looking at entity targetlook. Wait 10 seconds after moving to the target entity, then ChangeAttributes to AfterDone, and fire $onactiondone output with myname as parameter&lt;br /&gt;
***interrupt_action -posent targetkill -lookposent targetkill -killlook -waituntildone -alwayslook -distance 500&lt;br /&gt;
****Move to entity targetkill and try to destroy it. Always look at the target even if not in sight. Only move up to 500 units away from the target&lt;br /&gt;
***interrupt_action -pos 0 0 0 -lookpos 100 100 100 -duration 10&lt;br /&gt;
****Move to position 0 0 0 while looking at position 100 100 100 for the next 10 seconds&lt;br /&gt;
***interrupt_action_queue -pos 0 0 0 -lookpos 100 100 100 -duration 10&lt;br /&gt;
****Same as above, but add the action to the queue so it is only done when the previous interrupt action finishes&lt;br /&gt;
***clear_interrupt_action_queue&lt;br /&gt;
****Clears interrupt action queue added by above command&lt;br /&gt;
***remove_interrupt_action_queue_name name&lt;br /&gt;
****Delete from interrupt action queue if name matches&lt;br /&gt;
***stop interrupt action&lt;br /&gt;
****Stops current interrupt action&lt;br /&gt;
***switch_action action&lt;br /&gt;
****switch to different action. Sometimes this may fail (such as when the bot is carrying the bomb):&lt;br /&gt;
*****Default&lt;br /&gt;
*****FetchFlag&lt;br /&gt;
*****EscortFlag&lt;br /&gt;
*****PushToCapturePoint&lt;br /&gt;
*****Mobber&lt;br /&gt;
*****Spy&lt;br /&gt;
*****Sniper&lt;br /&gt;
*****SuicideBomber&lt;br /&gt;
*****Idle&lt;br /&gt;
*****Passive&lt;br /&gt;
*****Medic&lt;br /&gt;
***despawn&lt;br /&gt;
****Forces to bot to despawn&lt;br /&gt;
***taunt&lt;br /&gt;
****Forces the bot to taunt&lt;br /&gt;
***cloak&lt;br /&gt;
****Forces the spy bot to cloak&lt;br /&gt;
***uncloak&lt;br /&gt;
****Forces the spy bot to uncloak&lt;br /&gt;
***disguise&lt;br /&gt;
****Forces the spy bot to disguise as something&lt;br /&gt;
***build sentry at nearest sentry hint&lt;br /&gt;
*$Taunt&lt;br /&gt;
**Forces the player to taunt&lt;br /&gt;
*$TauntFromItem &amp;lt;string&amp;gt;&lt;br /&gt;
**Forces the player to taunt with specified item name. Also allows to insert attributes separated by |. Example: Conga Taunt|taunt move speed|1000&lt;br /&gt;
*$TauntIndexConcept &amp;lt;string&amp;gt;&lt;br /&gt;
**Forces the player to taunt with specified index and concept. Example: 0|0&lt;br /&gt;
*$TauntFromItem2 &amp;lt;string&amp;gt;&lt;br /&gt;
**Forces the player to taunt with specified item index. Also allows to modify attack time for &amp;quot;taunt attack&amp;quot;. Example: 1179|-0.5&lt;br /&gt;
*$AwardExtraItem &amp;lt;string&amp;gt;&lt;br /&gt;
**Awards extra loadout item with specified name to the player&lt;br /&gt;
*$AwardAndGiveExtraItem &amp;lt;string&amp;gt;&lt;br /&gt;
**Awards extra loadout item with specified name to the player, and equips it&lt;br /&gt;
*$StripExtraItem &amp;lt;string&amp;gt;&lt;br /&gt;
**Strips extra loadout item with specified name from the player&lt;br /&gt;
*$ResetExtraItems&lt;br /&gt;
**Strips all extra loadout items from the player&lt;br /&gt;
*$Stun &amp;lt;float&amp;gt;&lt;br /&gt;
**Stun player for specified duration in seconds&lt;br /&gt;
*$Slowdown &amp;lt;string&amp;gt;&lt;br /&gt;
**Slowdowns player by specified amount for specified duration&lt;br /&gt;
**Parameter format: slowdown|duration&lt;br /&gt;
*$SetFOV &amp;lt;int&amp;gt;&lt;br /&gt;
**Sets player FOV to specified amount. 0 FOV restores original fov&lt;br /&gt;
*$SetFOVDuration &amp;lt;string&amp;gt;&lt;br /&gt;
**Sets player FOV with zoom in duration and starting FOV&lt;br /&gt;
**Parameter format: fov|duration|start fov&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
&lt;br /&gt;
* $OnActionDone &amp;lt;string&amp;gt;&lt;br /&gt;
** Called when interrupt action finishes, the string parameter is a name of the interrupt action&lt;br /&gt;
&lt;br /&gt;
==trigger_hurt==&lt;br /&gt;
If entity owner is set with $SetOwner or $InheritOwner, the owner will become the damage inflictor&lt;br /&gt;
&lt;br /&gt;
==Filter entities==&lt;br /&gt;
The server will no longer crash if the activator entity got removed the time TestActivator is called&lt;br /&gt;
&lt;br /&gt;
===Inputs===&lt;br /&gt;
&lt;br /&gt;
*$TestEntity &amp;lt;entity&amp;gt; &lt;br /&gt;
**Test any entity, rather than only the !activator&lt;br /&gt;
&lt;br /&gt;
==Trigger entities==&lt;br /&gt;
The server will no longer crash if the caller entity got removed the time StartTouch or EndTouch is called&lt;br /&gt;
&lt;br /&gt;
===Inputs===&lt;br /&gt;
&lt;br /&gt;
*$StartTouchEntity &amp;lt;entity&amp;gt; &lt;br /&gt;
**StartTouch any entity, rather than only the !caller&lt;br /&gt;
*$EndTouchEntity &amp;lt;entity&amp;gt; &lt;br /&gt;
**EndTouch any entity, rather than only the !caller&lt;br /&gt;
&lt;br /&gt;
==game_ui==&lt;br /&gt;
The server will no longer crash if the player using the entity disconnected from the server&lt;br /&gt;
&lt;br /&gt;
== env_entity_maker ==&lt;br /&gt;
&lt;br /&gt;
=== Keyvalues ===&lt;br /&gt;
&lt;br /&gt;
* $autoparent &amp;lt;1/0&amp;gt;&lt;br /&gt;
** When the PointTemplate template is spawned via ForceSpawnAtEntityOrigin, the template entities will be automatically parented&lt;br /&gt;
* $Param(name) &amp;lt;string&amp;gt;&lt;br /&gt;
** Sets PointTemplate template param to a specified value&lt;br /&gt;
&lt;br /&gt;
== item_teamflag ==&lt;br /&gt;
&lt;br /&gt;
=== Keyvalues ===&lt;br /&gt;
&lt;br /&gt;
* $filter &amp;lt;entity&amp;gt;&lt;br /&gt;
** Targetname of a filter that defines if player can pick up the flag&lt;br /&gt;
*$disablebuffs &amp;lt;1/0&amp;gt;&lt;br /&gt;
**If bomb buffs should be disabled&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
*$OnPickup&lt;br /&gt;
**OnPickup but with player as activator&lt;br /&gt;
&lt;br /&gt;
*$OnDrop&lt;br /&gt;
**OnDrop but with player as activator&lt;br /&gt;
*$OnBombUpgradeLevel1&lt;br /&gt;
**Called when the bomb is upgraded to level 1&lt;br /&gt;
*$OnBombUpgradeLevel2&lt;br /&gt;
**Called when the bomb is upgraded to level 2&lt;br /&gt;
*$OnBombUpgradeLevel3&lt;br /&gt;
**Called when the bomb is upgraded to level 3&lt;br /&gt;
&lt;br /&gt;
== func_flagdetectionzone ==&lt;br /&gt;
&lt;br /&gt;
=== Keyvalues ===&lt;br /&gt;
&lt;br /&gt;
* $filter &amp;lt;entity&amp;gt;&lt;br /&gt;
** Targetname of a filter that defines if flag triggers the zone&lt;br /&gt;
*$filterplayer &amp;lt;entity&amp;gt;&lt;br /&gt;
** Targetname of a filter that defines if player with flag triggers the zone&lt;br /&gt;
&lt;br /&gt;
== point_push ==&lt;br /&gt;
&lt;br /&gt;
=== Keyvalues ===&lt;br /&gt;
&lt;br /&gt;
* $filter &amp;lt;entity&amp;gt;&lt;br /&gt;
** Targetname of a filter that defines if entity should be pushed&lt;br /&gt;
&lt;br /&gt;
==All entities ==&lt;br /&gt;
&lt;br /&gt;
=== Keyvalues ===&lt;br /&gt;
&lt;br /&gt;
* $modules &amp;lt;string&amp;gt;&lt;br /&gt;
** Comma separated list of [[Entity Modules|modules]] to attach to the entity&lt;br /&gt;
&lt;br /&gt;
===Inputs===&lt;br /&gt;
&lt;br /&gt;
*$FireUserAsActivator1-4 &amp;lt;string&amp;gt;&lt;br /&gt;
** Acts like FireUser1-4, but the entity becomes the !activator, and the parameter is passed in OnUser1-4 output&lt;br /&gt;
*$FireUser5-8 &amp;lt;string&amp;gt;&lt;br /&gt;
**Fires custom $onuser5-8 output&lt;br /&gt;
*$TakeDamage &amp;lt;int&amp;gt;&lt;br /&gt;
**Take specified amount of damage. Does not support negative values.&lt;br /&gt;
*$TakeDamageFromActivator &amp;lt;int&amp;gt;&lt;br /&gt;
** Take specified amount of damage, the !activator is the damage inflictor&lt;br /&gt;
*$SetModel &amp;lt;string&amp;gt;&lt;br /&gt;
** Set custom model&lt;br /&gt;
*$SetModelOverride &amp;lt;string&amp;gt;&lt;br /&gt;
**Set custom model for all vision modes at once. Doesn&#039;t change the original model.&lt;br /&gt;
*$SetModelSpecial &amp;lt;string&amp;gt;&lt;br /&gt;
**Set custom model, in a special way, it does less additional changes to the entity&lt;br /&gt;
*$SetOwner &amp;lt;entity&amp;gt;&lt;br /&gt;
** Set entity owner&lt;br /&gt;
*$ClearOwner&lt;br /&gt;
** Remove entity owner&lt;br /&gt;
*$InheritOwner &amp;lt;entity&amp;gt; &lt;br /&gt;
**Set entity owner to the passed entity owner&lt;br /&gt;
*$InheritParent &amp;lt;entity&amp;gt;&lt;br /&gt;
**Set entity parent to the passed entity parent&lt;br /&gt;
*$GetKeyValue &amp;lt;string&amp;gt; &lt;br /&gt;
**Fire OnUser1 output, with key value as a parameter&lt;br /&gt;
*$MoveType &amp;lt;int&amp;gt;,&amp;lt;int&amp;gt;&lt;br /&gt;
**Set move type&lt;br /&gt;
*$PlaySound &amp;lt;string&amp;gt;&lt;br /&gt;
**Play sound from this entity&lt;br /&gt;
*$StopSound &amp;lt;string&amp;gt;&lt;br /&gt;
**Stop playing sound from this entity&lt;br /&gt;
*$SetLocalOrigin &amp;lt;vector&amp;gt;&lt;br /&gt;
**Set origin relative to parent&lt;br /&gt;
*$SetLocalAngles &amp;lt;vector&amp;gt;&lt;br /&gt;
**Set angles relative to parent&lt;br /&gt;
*$SetLocalVelocity &amp;lt;vector&amp;gt;&lt;br /&gt;
**Set velocity relative to parent&lt;br /&gt;
*$TeleportToEntity &amp;lt;entity&amp;gt;&lt;br /&gt;
**Teleport to specified entity&lt;br /&gt;
*$MoveRelative &amp;lt;vector&amp;gt;&lt;br /&gt;
**Move relative to parent (world)&lt;br /&gt;
*$RotateRelative &amp;lt;vector&amp;gt;&lt;br /&gt;
**Rotate relative to parent (world)&lt;br /&gt;
*$GetEntIndex &amp;lt;string&amp;gt;&lt;br /&gt;
**Triggers the input of an entity, with entity index as parameter&lt;br /&gt;
**parameter format: entity|input&lt;br /&gt;
**example: !activator|$DisplayTextCenter&lt;br /&gt;
*$RemoveOutput &amp;lt;string&amp;gt;&lt;br /&gt;
**remove outputs with given name&lt;br /&gt;
*$CancelPending&lt;br /&gt;
**Remove all pending inputs this entity is going to fire&lt;br /&gt;
*$SetForwardVelocity &amp;lt;float&amp;gt;&lt;br /&gt;
**Set forward velocity of an entity, does not work on every entity&lt;br /&gt;
*$FaceEntity &amp;lt;entity&amp;gt;&lt;br /&gt;
**Rotate the entity so that it faces the target entity&lt;br /&gt;
*$SetKey$(keyvalue name) &amp;lt;string&amp;gt;&lt;br /&gt;
**Set keyvalue to specified value&lt;br /&gt;
*$GetKey$(keyvalue name) &amp;lt;string&amp;gt;&lt;br /&gt;
**Trigger the input of an entity, with keyvalue as a parameter (default value if not found)&lt;br /&gt;
**example: $GetKey$startdisabled&lt;br /&gt;
**parameter format: entity|input|default value&lt;br /&gt;
**example: !activator|$DisplayTextCenter|def&lt;br /&gt;
*$SetVar$(variable name) &amp;lt;string&amp;gt; &lt;br /&gt;
**Set custom entity variable&lt;br /&gt;
*$GetVar$(variable name) &amp;lt;string&amp;gt;&lt;br /&gt;
**Trigger the input of an entity, with custom variable as set with $SetVar as a parameter (default value if not found)&lt;br /&gt;
**example: $GetVar$customvar&lt;br /&gt;
**parameter format: entity|input|default value&lt;br /&gt;
**parameter example: !activator|$DisplayTextCenter|def&lt;br /&gt;
*$SetData$([https://raw.githubusercontent.com/powerlord/tf2-data/master/datamaps.txt datamap] prop name) &amp;lt;string&amp;gt;&lt;br /&gt;
**Set datamap property to specified value&lt;br /&gt;
*$GetData$([https://raw.githubusercontent.com/powerlord/tf2-data/master/datamaps.txt datamap] prop name) &amp;lt;string&amp;gt;&lt;br /&gt;
**Trigger the input of an entity, with datamap prop as a parameter (default value if not found)&lt;br /&gt;
**example: $GetData$m_szNetname&lt;br /&gt;
***Unlike send props, datamaps do not have arrays.&lt;br /&gt;
**parameter format: entity|input|default value&lt;br /&gt;
**parameter example: !activator|$DisplayTextCenter|def&lt;br /&gt;
***Default value is not required to be defined, but can be useful for debugging.&lt;br /&gt;
*$SetProp$([https://raw.githubusercontent.com/powerlord/tf2-data/master/netprops.txt send prop] name)[$(array)] &amp;lt;string&amp;gt;&lt;br /&gt;
**Set send property to specified value. Can also set arrays.&lt;br /&gt;
**example without array: $SetProp$m_bInUpgradeZone&lt;br /&gt;
***sets player state if player is visiting an upgrade station&lt;br /&gt;
**example with array: $SetProp$m_iAmmo$3&lt;br /&gt;
***sets player ammo type array to 3, which is metal carried&lt;br /&gt;
*$GetProp$([https://raw.githubusercontent.com/powerlord/tf2-data/master/netprops.txt send prop] name)[$(array)] &amp;lt;string&amp;gt;&lt;br /&gt;
**Trigger the input of an entity, with the specified send prop&#039;s value as a parameter (default value if not found)&lt;br /&gt;
**example without array: $GetProp$m_bInUpgradeZone&lt;br /&gt;
**example with an array: $GetProp$m_iAmmo$3&lt;br /&gt;
**parameter format: entity|input|default value&lt;br /&gt;
**parameter example: !activator|$DisplayTextCenter|def&lt;br /&gt;
***Default value is not required to be defined, but can be useful for debugging.&lt;br /&gt;
*$SetClientProp$([https://raw.githubusercontent.com/powerlord/tf2-data/master/netprops.txt send prop] name)[$(array)] &amp;lt;string&amp;gt;&lt;br /&gt;
**Set fake send prop value only seen by players. Can also set arrays. Useful for setting fake mission name or wave number, as $SetProp would trigger unwanted behavior &lt;br /&gt;
**example without array: $SetClientProp$m_bInUpgradeZone&lt;br /&gt;
***sets player state if player is visiting an upgrade station&lt;br /&gt;
**example with array: $SetClientProp$m_iAmmo$3&lt;br /&gt;
***sets player ammo type array to 3, which is metal carried&lt;br /&gt;
*$ResetClientProp$([https://raw.githubusercontent.com/powerlord/tf2-data/master/netprops.txt send prop] name)[$(array)]&lt;br /&gt;
**Reset fake prop value set by $SetClientProp&lt;br /&gt;
*$AddModule &amp;lt;string&amp;gt;&lt;br /&gt;
**Add entity [[Entity Modules|module]] by name&lt;br /&gt;
*$RemoveModule &amp;lt;string&amp;gt;&lt;br /&gt;
**Remove entity [[Entity Modules|module]] by name&lt;br /&gt;
*$SetCollisionFilter &amp;lt;entity&amp;gt;&lt;br /&gt;
**Sets custom collision filter entity. If the filter passes, the entity collides as usual, otherwise the colliding entities pass through&lt;br /&gt;
*$HideTo &amp;lt;player&amp;gt;&lt;br /&gt;
**Hides this entity to specific player&lt;br /&gt;
*$ShowTo &amp;lt;player&amp;gt;&lt;br /&gt;
**Shows previously hidden entity to specific player&lt;br /&gt;
*$HideToAll&lt;br /&gt;
**Hides this entity to all players by default&lt;br /&gt;
*$ShowToAll&lt;br /&gt;
**Shows previously hidden entity to all players&lt;br /&gt;
*$VScriptFunc$function &amp;lt;string&amp;gt;&lt;br /&gt;
**Executes a VScript function with a single parameter, equivalent to &amp;lt;code&amp;gt;runscriptcode function(param)&amp;lt;/code&amp;gt; input&lt;br /&gt;
*$StopParticleEffects&lt;br /&gt;
**Stops attached particle effects, some effects are not stoppable&lt;br /&gt;
*$SetSolidFlags &amp;lt;int&amp;gt;&lt;br /&gt;
**Set solid flags&lt;br /&gt;
*$SetSolid &amp;lt;int&amp;gt;&lt;br /&gt;
**Set solid type&lt;br /&gt;
&lt;br /&gt;
===Outputs===&lt;br /&gt;
&lt;br /&gt;
*$OnUser5-8 &amp;lt;string&amp;gt;&lt;br /&gt;
**Called when $FireUser5-8 input is used&lt;br /&gt;
*$OnKilled&lt;br /&gt;
**Fired when the entity is killed (removed from the world). The calling entity no longer exist and cannot be accessed unless input delay is set to -1&lt;br /&gt;
*$OnDamageReceived &amp;lt;int&amp;gt;&lt;br /&gt;
**Fired when the entity is damaged. Parameter is the damage received by the entity. !activator is the damage inflictor&lt;br /&gt;
*$OnDamageBlocked &amp;lt;int&amp;gt;&lt;br /&gt;
**Fired when damage was blocked by the entity. Parameter is the amount of damage blocked by the entity. !activator is the damage inflictor&lt;br /&gt;
*$OnDeath &amp;lt;int&amp;gt;&lt;br /&gt;
**Fired when the entity died. Parameter is the damage of the fatal blow. !activator is the damage inflictor&lt;br /&gt;
&lt;br /&gt;
[[Category:Misc Additions]]&lt;/div&gt;</summary>
		<author><name>Seelpit</name></author>
	</entry>
	<entry>
		<id>https://sigwiki.potato.tf/index.php?title=Entity_Additions&amp;diff=7509</id>
		<title>Entity Additions</title>
		<link rel="alternate" type="text/html" href="https://sigwiki.potato.tf/index.php?title=Entity_Additions&amp;diff=7509"/>
		<updated>2023-11-17T12:28:59Z</updated>

		<summary type="html">&lt;p&gt;Seelpit: Seelpit moved page Entity Additions to Additions to existing entities: Name could be considered confusing compared to &amp;quot;Custom Entities&amp;quot;; people might confuse &amp;quot;Entity Additions&amp;quot; as meaning &amp;quot;Newly Added Enties&amp;quot;, rather than being &amp;quot;Additions For Existing Entities&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Additions to existing entities]]&lt;/div&gt;</summary>
		<author><name>Seelpit</name></author>
	</entry>
	<entry>
		<id>https://sigwiki.potato.tf/index.php?title=Additions_to_existing_entities&amp;diff=7508</id>
		<title>Additions to existing entities</title>
		<link rel="alternate" type="text/html" href="https://sigwiki.potato.tf/index.php?title=Additions_to_existing_entities&amp;diff=7508"/>
		<updated>2023-11-17T12:28:59Z</updated>

		<summary type="html">&lt;p&gt;Seelpit: Seelpit moved page Entity Additions to Additions to existing entities: Name could be considered confusing compared to &amp;quot;Custom Entities&amp;quot;; people might confuse &amp;quot;Entity Additions&amp;quot; as meaning &amp;quot;Newly Added Enties&amp;quot;, rather than being &amp;quot;Additions For Existing Entities&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOEDITSECTION__&lt;br /&gt;
== Targeting ==&lt;br /&gt;
&lt;br /&gt;
* You can target parent of specified entity by adding @p@. @p@!activator would target parent of the activator entity&lt;br /&gt;
* You can target children of specified entity by adding @c@ prefix. @c@!activator would target children of the activator entity&lt;br /&gt;
*Target all entities in a box by adding @bbxmin ymin zmin xmax ymax zmax@ prefix. @bb-100 -100 -100 100 100 100@prop_dynamic would target prop_dynamic entities inside -100 -100 -100 100 100 100 world coordinates box&lt;br /&gt;
*Target entities matching the filter by adding @f@ prefix. @f@filtername@entityname would target all entityname that pass the filtername filter&lt;br /&gt;
*Target entity from datamap/sendprop by adding @e@ prefix. @e@m_hOwnerEntity@!activator would target the owner entity of !activator. You can also target in array with $. @e@m_hMyWeapons$1@!activator would target secondary weapon of !activator.&lt;br /&gt;
&lt;br /&gt;
==Various==&lt;br /&gt;
&lt;br /&gt;
*You can execute an input immediately rather than with at least 1 tick delay by setting input delay to -1. This allows you to access !activator of $OnKilled entity&lt;br /&gt;
&lt;br /&gt;
== [[Expressions]] ==&lt;br /&gt;
[[Expressions]] can be used to calculate input parameters without the need of extra logic entities&lt;br /&gt;
&lt;br /&gt;
==point_viewcontrol==&lt;br /&gt;
&lt;br /&gt;
=== Keyvalues ===&lt;br /&gt;
&lt;br /&gt;
* $allowdamage &amp;lt;1/0&amp;gt;&lt;br /&gt;
** Should the player/s operating the camera receive damage. 0 by default&lt;br /&gt;
&lt;br /&gt;
===Inputs ===&lt;br /&gt;
&lt;br /&gt;
*$EnableAll&lt;br /&gt;
**Enable the camera for all players on the map. Spawnflag [512] may not work properly. (&#039;&#039;Start At Player, Interruptable by Player&#039;&#039;)&lt;br /&gt;
*$DisableAll&lt;br /&gt;
**Disable the camera for all players on the map&lt;br /&gt;
*$SetTarget &amp;lt;entity&amp;gt; &lt;br /&gt;
**Set current target to entity&lt;br /&gt;
&lt;br /&gt;
== Sentry Gun (obj_sentrygun)==&lt;br /&gt;
===Spawnflags===&lt;br /&gt;
*&#039;&#039;&#039;[64]&#039;&#039;&#039; - Spawn as mini-sentry&lt;br /&gt;
&lt;br /&gt;
=== Keyvalues ===&lt;br /&gt;
&lt;br /&gt;
* $attributeoverride &amp;lt;1/0&amp;gt;&lt;br /&gt;
** Ignores player attributes and uses keyvalues below instead&lt;br /&gt;
&lt;br /&gt;
*$fireratemult &amp;lt;float&amp;gt;&lt;br /&gt;
**Bullet fire rate multiplier&lt;br /&gt;
&lt;br /&gt;
*$rangemult &amp;lt;float&amp;gt;&lt;br /&gt;
**range multiplier&lt;br /&gt;
*$damagemult &amp;lt;float&amp;gt;&lt;br /&gt;
**Damage multiplier&lt;br /&gt;
*$maxlevel &amp;lt;int&amp;gt;&lt;br /&gt;
**Maximum level&lt;br /&gt;
*$rapidfire &amp;lt;1/0&amp;gt;&lt;br /&gt;
**Allow firing every tick, rather than after every 3rd tick&lt;br /&gt;
*$ammomult &amp;lt;float&amp;gt;&lt;br /&gt;
**Ammo multiplier&lt;br /&gt;
*$rocketfireratemult &amp;lt;float&amp;gt;&lt;br /&gt;
**Rocket fire rate multiplier&lt;br /&gt;
*$bulletweapon &amp;lt;string&amp;gt;&lt;br /&gt;
**Use a specific weapon name as bullet attack, can be a custom weapon&lt;br /&gt;
*$rocketweapon &amp;lt;string&amp;gt;&lt;br /&gt;
**Use a specific weapon name as rocket attack, can be a custom weapon&lt;br /&gt;
*$allowplayerattributes &amp;lt;1/0&amp;gt;&lt;br /&gt;
**Fix for player dependent attributes not working on custom weapon&lt;br /&gt;
*$weaponnosound &amp;lt;1/0&amp;gt;&lt;br /&gt;
**Disable fire sounds of custom weapon&lt;br /&gt;
*$sentrymodelprefix &amp;lt;string&amp;gt;&lt;br /&gt;
**Sentry model prefix&lt;br /&gt;
**Example: models/buildables/sentry&lt;br /&gt;
*$projspeedmult &amp;lt;float&amp;gt;&lt;br /&gt;
**Sentry rocket speed multiplier&lt;br /&gt;
*$cannotbesapped &amp;lt;1/0&amp;gt;&lt;br /&gt;
**This building cannot be sapped&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
*$OnShootBullet&lt;br /&gt;
**Called when the sentry shoots a bullet, the sentry is  &amp;lt;code&amp;gt;!activator&amp;lt;/code&amp;gt;&lt;br /&gt;
*$OnShootRocket&lt;br /&gt;
**Called when the sentry shoots a rocket, the projectile is  &amp;lt;code&amp;gt;!activator&amp;lt;/code&amp;gt;&lt;br /&gt;
*$OnShootWeaponBullet&lt;br /&gt;
**Called when the sentry shoots a bullet weapon, the projectile is &amp;lt;code&amp;gt;!activator&amp;lt;/code&amp;gt;&lt;br /&gt;
*$OnShootWeaponRocket&lt;br /&gt;
**Called when the sentry shoots a rocket weapon, the projectile is  &amp;lt;code&amp;gt;!activator&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Teleporter (obj_teleporter) ==&lt;br /&gt;
&lt;br /&gt;
===Keyvalues===&lt;br /&gt;
*$TeleportWhere &amp;lt;string&amp;gt;&lt;br /&gt;
**Teleport bots from specified botspawn name. It is possible to add multiple TeleportWhere keys. &amp;quot;all&amp;quot; name will teleport all bots, &amp;quot;small&amp;quot; will teleport all small bots, &amp;quot;giants&amp;quot; will teleport giants and their squad&lt;br /&gt;
*$attributeoverride &amp;lt;1/0&amp;gt;&lt;br /&gt;
** Ignores player attributes and uses keyvalues below instead&lt;br /&gt;
*$bidirectional &amp;lt;1/0&amp;gt;&lt;br /&gt;
**If the teleport can be used in both directions&lt;br /&gt;
*$maxlevel &amp;lt;int&amp;gt;&lt;br /&gt;
**Maximum level&lt;br /&gt;
*$rechargeratemult &amp;lt;float&amp;gt;&lt;br /&gt;
**Recharge rate multiplier&lt;br /&gt;
*$speedboost &amp;lt;1/0&amp;gt;&lt;br /&gt;
**Apply 4s speed boost after exiting teleporter&lt;br /&gt;
*$teleportermodelprefix &amp;lt;string&amp;gt;&lt;br /&gt;
**Teleporter model prefix&lt;br /&gt;
**Example: models/buildables/teleporter&lt;br /&gt;
*$cannotbesapped &amp;lt;1/0&amp;gt;&lt;br /&gt;
**This building cannot be sapped&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
*$OnTeleportReceive&lt;br /&gt;
**Teleport exit calls this when it receives a player, the player is  &amp;lt;code&amp;gt;!activator&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Dispenser (obj_dispenser) ==&lt;br /&gt;
&lt;br /&gt;
===Keyvalues===&lt;br /&gt;
&lt;br /&gt;
* $attributeoverride &amp;lt;1/0&amp;gt;&lt;br /&gt;
** Ignores player attributes and uses keyvalues below instead&lt;br /&gt;
&lt;br /&gt;
*$radiusmult &amp;lt;float&amp;gt;&lt;br /&gt;
**Dispenser radius multiplier&lt;br /&gt;
*$maxlevel &amp;lt;int&amp;gt;&lt;br /&gt;
**Maximum level&lt;br /&gt;
*$ratemult &amp;lt;float&amp;gt;&lt;br /&gt;
**Dispenser provided health/ammo multiplier&lt;br /&gt;
*$dispensermodelprefix&amp;lt;string&amp;gt;&lt;br /&gt;
**Dispenser model prefix&lt;br /&gt;
**Example: models/buildables/dispenser&lt;br /&gt;
*$cannotbesapped &amp;lt;1/0&amp;gt;&lt;br /&gt;
**This building cannot be sapped&lt;br /&gt;
&lt;br /&gt;
==Weapon Mimic (tf_point_weapon_mimic)==&lt;br /&gt;
*Fired projectiles can have their team assigned with teamnum keyvalue (2 for RED and 3 for BLU). Previously all fired projectiles always belonged to the BLU team&lt;br /&gt;
*If the player owner is set with $SetOwner or $InheritOwner, fired projectiles are assigned to the owner&lt;br /&gt;
* Fired stickybombs are automatically removed if the mimic is removed&lt;br /&gt;
*Added projectile type 4 - Bullet.  SpeedMax keyvalue determines max distance (infinite if not specified). SplashRadius determines knockback force&lt;br /&gt;
*It is possible to mimic a specific weapon. Setting owner might be required for the weapon to function properly. Setting a mimic weapon disables all other mimic properties except crits&lt;br /&gt;
&lt;br /&gt;
=== Keyvalues===&lt;br /&gt;
&lt;br /&gt;
*$preventshootparent &amp;lt;1/0&amp;gt;&lt;br /&gt;
**If set, bullets fired from the mimic cannot hit the parent entity&lt;br /&gt;
*$dmgtype &amp;lt;int&amp;gt; &lt;br /&gt;
**Set custom damage type&lt;br /&gt;
*$killicon &amp;lt;string&amp;gt; &lt;br /&gt;
**Set custom kill icon&lt;br /&gt;
*$weaponname &amp;lt;string&amp;gt;&lt;br /&gt;
**Set mimic weapon name, custom weapon names are allowed. &lt;br /&gt;
**Example: The Righteous Bison&lt;br /&gt;
**Some weapons (flamethrowers) will not work.&lt;br /&gt;
**If the mimic owner is not set, some weapons (The Dragon&#039;s Fury) will crash the game, or break in other ways&lt;br /&gt;
*$firetime &amp;lt;float&amp;gt;&lt;br /&gt;
**Delay between shots for $StartFiring input&lt;br /&gt;
*$weaponnosound &amp;lt;1/0&amp;gt;&lt;br /&gt;
**If set, disables weapon fire sound&lt;br /&gt;
&lt;br /&gt;
=== Inputs ===&lt;br /&gt;
&lt;br /&gt;
* $AddWeaponAttribute &amp;lt;string&amp;gt;&lt;br /&gt;
** Adds attribute to the mimic weapon, example: projectile speed increased|2&lt;br /&gt;
*$RemoveWeaponAttribute &amp;lt;string&amp;gt;&lt;br /&gt;
** Remove attribute from the mimic weapon, example: projectile speed increased&lt;br /&gt;
*$StartFiring &amp;lt;int&amp;gt;&lt;br /&gt;
**Starts firing automatically specified number of projectiles, 1 minimum, with $firetime delay between shots&lt;br /&gt;
*$StopFiring&lt;br /&gt;
**Stops firing automatically&lt;br /&gt;
&lt;br /&gt;
===Outputs===&lt;br /&gt;
&lt;br /&gt;
*$OnFire&lt;br /&gt;
**Called when the projectile is being fired, with the projectile as &amp;lt;code&amp;gt;!activator&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Spawnflags===&lt;br /&gt;
* &#039;&#039;&#039;[4]&#039;&#039;&#039; - Fire &amp;quot;OnUser4&amp;quot; output when projectile is fired, with the projectile as &amp;lt;code&amp;gt;!activator&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Tank (tank_boss)== &lt;br /&gt;
&lt;br /&gt;
*When tank starts deploying, and there is at least one PointTemplate assigned to it, &amp;quot;OnUser4&amp;quot; output is activated&lt;br /&gt;
&lt;br /&gt;
=== Outputs===&lt;br /&gt;
&lt;br /&gt;
*$OnStartDeploy&lt;br /&gt;
**Fired when the tank is deploying the bomb&lt;br /&gt;
&lt;br /&gt;
==Medic shield (entity_medigun_shield)==&lt;br /&gt;
===Spawnflags===&lt;br /&gt;
*&#039;&#039;&#039;[1]&#039;&#039;&#039; - Don&#039;t expire and don&#039;t block LOS&lt;br /&gt;
*&#039;&#039;&#039;[2]&#039;&#039;&#039; - Use the LV2 Shield model&lt;br /&gt;
&lt;br /&gt;
==logic_case==&lt;br /&gt;
&lt;br /&gt;
===Text formatter===&lt;br /&gt;
With the use of the added inputs, logic_case can be transformed into a text formatter, replacing % in the format string into format parameters. &lt;br /&gt;
&lt;br /&gt;
Example point template usage:&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
Formatter&lt;br /&gt;
{&lt;br /&gt;
	OnSpawnOutput&lt;br /&gt;
	{&lt;br /&gt;
		Target &amp;quot;formattest&amp;quot;&lt;br /&gt;
		Action &amp;quot;$Format&amp;quot;&lt;br /&gt;
		Delay 1&lt;br /&gt;
	}&lt;br /&gt;
	logic_case&lt;br /&gt;
	{&lt;br /&gt;
		&amp;quot;targetname&amp;quot; &amp;quot;formattest&amp;quot;&lt;br /&gt;
		&amp;quot;case16&amp;quot; &amp;quot;You have % out of % coins left. % %% done&amp;quot; // Formatter string&lt;br /&gt;
		&amp;quot;case01&amp;quot; &amp;quot;6&amp;quot; //First argument&lt;br /&gt;
		&amp;quot;case02&amp;quot; &amp;quot;12&amp;quot; //Second argument&lt;br /&gt;
		&amp;quot;case03&amp;quot; &amp;quot;50&amp;quot; //Third argument&lt;br /&gt;
		&amp;quot;ondefault&amp;quot; &amp;quot;player,$DisplayTextCenter,,0,-1&amp;quot;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;This would display &amp;quot;You have 6 out of 12 coins left. 50 % done&amp;quot; to all players&lt;br /&gt;
&lt;br /&gt;
=== Menu===&lt;br /&gt;
You can use $DisplayMenu input to display a menu for the player, up to 15 entries&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
Menu&lt;br /&gt;
{&lt;br /&gt;
	OnSpawnOutput&lt;br /&gt;
	{&lt;br /&gt;
		Target &amp;quot;menutest&amp;quot;&lt;br /&gt;
		Action &amp;quot;$DisplayMenu&amp;quot;&lt;br /&gt;
		Delay 1&lt;br /&gt;
		Param &amp;quot;player&amp;quot;&lt;br /&gt;
	}&lt;br /&gt;
	logic_case&lt;br /&gt;
	{&lt;br /&gt;
		&amp;quot;targetname&amp;quot; &amp;quot;menutest&amp;quot;&lt;br /&gt;
		&amp;quot;case16&amp;quot; &amp;quot;Menu title|30|Cancel&amp;quot; // Title, menu duration (0 for infinite), display optional cancel button&lt;br /&gt;
		&amp;quot;case01&amp;quot; &amp;quot;option1&amp;quot; //First argument&lt;br /&gt;
		&amp;quot;case02&amp;quot; &amp;quot;!disabled option&amp;quot; //Second argument, disabled&lt;br /&gt;
		&amp;quot;case03&amp;quot; &amp;quot;suicide&amp;quot; //Third argument&lt;br /&gt;
		&amp;quot;oncase03&amp;quot; &amp;quot;!activator,sethealth,0,0,-1&amp;quot; // Selected 3rd option&lt;br /&gt;
		&amp;quot;ondefault&amp;quot; &amp;quot;player,$DisplayTextCenter,he,0,-1&amp;quot; // No option selected&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Inputs===&lt;br /&gt;
&lt;br /&gt;
*$FormatString &amp;lt;string&amp;gt; &lt;br /&gt;
**Sets formatting string, then fires OnDefault output, with formatted string as parameter&lt;br /&gt;
*$FormatStringNoFire &amp;lt;string&amp;gt;&lt;br /&gt;
**Sets formatting string&lt;br /&gt;
*$FormatInput1 &amp;lt;string&amp;gt;&lt;br /&gt;
**Sets formatting input argument 1, then fires OnDefault output, with formatted string as parameter&lt;br /&gt;
*$FormatInput2-15 &amp;lt;string&amp;gt;&lt;br /&gt;
** Sets formatting input argument 2-15, then fires OnDefault output, with formatted string as parameter&lt;br /&gt;
*$FormatInputNoFire1 &amp;lt;string&amp;gt;&lt;br /&gt;
**Sets formatting input argument 1&lt;br /&gt;
*$Format &lt;br /&gt;
**Fires OnDefault output, with formatted string as parameter&lt;br /&gt;
*$TestSigsegv&lt;br /&gt;
**Fires OnUser1 output. Can be used to test if sigsegv extension is active&lt;br /&gt;
*$ToInt &amp;lt;any&amp;gt;&lt;br /&gt;
**Fires OnDefault output, converts parameter value from string/float to integer&lt;br /&gt;
*$ToFloat &amp;lt;any&amp;gt;&lt;br /&gt;
**Fires OnDefault output, converts value from string/int to real number&lt;br /&gt;
*$CallerToActivator &amp;lt;any&amp;gt;&lt;br /&gt;
**Fires OnDefault output, but the !caller entity is converted to !activator&lt;br /&gt;
* $GetKeyValueFromActivator &amp;lt;string&amp;gt;&lt;br /&gt;
**Fires OnDefault output, the key value from the !activator entity is the parameter&lt;br /&gt;
*$GetConVar &amp;lt;string&amp;gt;&lt;br /&gt;
**Fires OnDefault output, the convar (console variable) number value is the parameter&lt;br /&gt;
*$GetConVarString &amp;lt;string&amp;gt;&lt;br /&gt;
**Fires OnDefault output, the convar (console variable) string value is the parameter&lt;br /&gt;
*$DisplayMenu &amp;lt;entity&amp;gt;&lt;br /&gt;
**Display menu at player&lt;br /&gt;
*$HideMenu &amp;lt;entity&amp;gt;&lt;br /&gt;
**Hide menu at player&lt;br /&gt;
*$BitTest &amp;lt;number&amp;gt;&lt;br /&gt;
**Fires all cases where after the bitwise AND operation between the parameter and the case value, the result is not 0&lt;br /&gt;
&lt;br /&gt;
* $BitTestAll &amp;lt;number&amp;gt;&lt;br /&gt;
** Fires all cases where after the bitwise AND operation between the parameter and the case value, the result is same as the parameter&lt;br /&gt;
&lt;br /&gt;
==tf_gamerules ==&lt;br /&gt;
&lt;br /&gt;
===Inputs===&lt;br /&gt;
&lt;br /&gt;
*$StopVO &amp;lt;string&amp;gt;&lt;br /&gt;
** Stops sound that was started with PlayVO input&lt;br /&gt;
&lt;br /&gt;
*$StopVORed &amp;lt;string&amp;gt;&lt;br /&gt;
**Stops sound that was started with PlayVORed input&lt;br /&gt;
&lt;br /&gt;
*$StopVOBlue &amp;lt;string&amp;gt;&lt;br /&gt;
**Stops sound that was started with PlayVOBlue input&lt;br /&gt;
*$SetBossHealthPercentage &amp;lt;float&amp;gt;&lt;br /&gt;
**Set Halloween boss bar percentage to a value between 0 and 1. 0 hides the health bar, any other value makes the bar appear&lt;br /&gt;
*$SetBossState &amp;lt;int&amp;gt;&lt;br /&gt;
**If set to 1, makes the health bar green, like if Merasmus is hiding. If set to 0, the bar goes back to normal&lt;br /&gt;
*$AddCurrencyGlobal &amp;lt;int&amp;gt;&lt;br /&gt;
**Add currency to all players&lt;br /&gt;
*$ChangeLevel &amp;lt;string&amp;gt;&lt;br /&gt;
**Changes level. To set a specific mission, type the mission name after | . Example: mvm_bigrock|advanced1&lt;br /&gt;
&lt;br /&gt;
== player ==&lt;br /&gt;
&lt;br /&gt;
===Inputs===&lt;br /&gt;
&lt;br /&gt;
* $AllowClassAnimations &amp;lt;0|1&amp;gt; &lt;br /&gt;
**Allow class animations instead of using refpose when UseCustomModel input is fired to change player model&lt;br /&gt;
*$SwitchClass &amp;lt;string&amp;gt;&lt;br /&gt;
**Switch player class. The parameter can be either a class name (heavyweapons for example), or class index&lt;br /&gt;
*$SwitchClassInPlace &amp;lt;string&amp;gt;&lt;br /&gt;
**Switch player class in current position. The parameter can be either a class name (heavyweapons for example), or class index&lt;br /&gt;
*$ForceRespawn&lt;br /&gt;
** The player instantly respawns&lt;br /&gt;
*$ForceRespawnDead&lt;br /&gt;
**The player instantly respawns, but only if they are dead&lt;br /&gt;
*$DisplayTextCenter &amp;lt;string&amp;gt; &lt;br /&gt;
** Display text in the middle of the screen&lt;br /&gt;
*$DisplayTextChat &amp;lt;string&amp;gt;&lt;br /&gt;
** Display text to the player&#039;s chat&lt;br /&gt;
*$DisplayTextHint &amp;lt;string&amp;gt;&lt;br /&gt;
** Display yellow text in the bottom part of the screen and play a sound cue&lt;br /&gt;
*$Suicide&lt;br /&gt;
**Kill the player&lt;br /&gt;
*$ChangeAttributes &amp;lt;string&amp;gt;&lt;br /&gt;
** If the player is a bot, this can be used to change active EventChangeAttributes&lt;br /&gt;
*$RollCommonSpell&lt;br /&gt;
**Roll common spell&lt;br /&gt;
*$SetSpell &amp;lt;string&amp;gt;&lt;br /&gt;
**Set player current spell to one of the following:&lt;br /&gt;
***Fireball&lt;br /&gt;
***Ball O&#039; Bats&lt;br /&gt;
***Healing Aura&lt;br /&gt;
***Pumpkin MIRV&lt;br /&gt;
*** Superjump&lt;br /&gt;
***Invisibility&lt;br /&gt;
***Teleport&lt;br /&gt;
***Tesla Bolt&lt;br /&gt;
***Minify&lt;br /&gt;
***Meteor Shower&lt;br /&gt;
***Summon Monoculus&lt;br /&gt;
***Summon Skeletons&lt;br /&gt;
*$AddSpell &amp;lt;string&amp;gt;&lt;br /&gt;
**Adds spell to the number of spells. If the spell is different than the current one, it replaces the spell. The parameter is the same as in $SetSpell&lt;br /&gt;
*$AddCond &amp;lt;int&amp;gt; [int]&lt;br /&gt;
** Add condition to player. If a second argument is present, the condition will only run for a specified duration&lt;br /&gt;
*$RemoveCond &amp;lt;int&amp;gt;&lt;br /&gt;
**Remove condition from player&lt;br /&gt;
*$AddPlayerAttribute &amp;lt;string&amp;gt;&lt;br /&gt;
**Add attribute to player, the parameter should be passed in this way: attribute|value. Example: &amp;quot;move speed bonus|1.2&amp;quot;&lt;br /&gt;
*$RemovePlayerAttribute &amp;lt;string&amp;gt;&lt;br /&gt;
**Remove attribute from player. Example: &amp;quot;move speed bonus&amp;quot;&lt;br /&gt;
*$GetPlayerAttribute &amp;lt;string&amp;gt;&lt;br /&gt;
**Sends attribute from player as the parameter.&lt;br /&gt;
**parameter format: attribute|entity|input|default value&lt;br /&gt;
**example: fire rate bonus|!activator|$DisplayTextChat|0&lt;br /&gt;
*$AddItemAttribute &amp;lt;string&amp;gt;&lt;br /&gt;
**Add attribute to item in slot, the parameter should be passed in this way: attribute|value|slot or item name. Example &amp;quot;damage bonus|2|0&amp;quot; adds 100% damage bonus to primary weapon, &amp;quot;damage penalty|0.5&amp;quot; adds 50% damage penalty to active weapon&lt;br /&gt;
*$RemoveItemAttribute &amp;lt;string&amp;gt;&lt;br /&gt;
** Remove attribute from item in slot, the parameter should be passed in this way: attribute|slot or item name. Example &amp;quot;damage bonus&amp;quot; removes damage bonus from primary weapon, &amp;quot;damage penalty&amp;quot; removes damage penalty from active weapon&lt;br /&gt;
*$GetItemAttribute &amp;lt;string&amp;gt;&lt;br /&gt;
**Sends item attribute value as the parameter.&lt;br /&gt;
** parameter format: slot or item name|attribute|entity|input|default value&lt;br /&gt;
**example to grab primary slot item&#039;s fire rate bonus value: 0|fire rate bonus|!activator|$DisplayTextChat|0&lt;br /&gt;
**You can also type -1 for active weapon or the item name.&lt;br /&gt;
*$PlaySoundToSelf &amp;lt;string&amp;gt;&lt;br /&gt;
** Play sound to the player&lt;br /&gt;
*$IgnitePlayerDuration &amp;lt;float&amp;gt; &lt;br /&gt;
**Ignite the player for a specified duration in seconds&lt;br /&gt;
*$WeaponSwitchSlot &amp;lt;int&amp;gt;&lt;br /&gt;
**Forcibly switches to weapon in slot&lt;br /&gt;
* $WeaponStripSlot &amp;lt;int&amp;gt;&lt;br /&gt;
**Removes weapon from a slot (-1 = current slot)&lt;br /&gt;
*$GiveItem &amp;lt;string&amp;gt;&lt;br /&gt;
**Gives an item to the player&lt;br /&gt;
*$AddCurrency &amp;lt;int&amp;gt;&lt;br /&gt;
**Add currency to the player&lt;br /&gt;
*$RemoveCurrency &amp;lt;int&amp;gt;&lt;br /&gt;
** Remove currency from the player&lt;br /&gt;
*$SetCurrency &amp;lt;int&amp;gt;&lt;br /&gt;
** Set currency to specified value&lt;br /&gt;
* $CurrencyOutputX &amp;lt;string&amp;gt;&lt;br /&gt;
**Fires input if player currency is above specified value (the X in input name), the attribute should be passed in this way: target,input,parameter.&lt;br /&gt;
*$CurrencyInvertOutputX&amp;lt;string&amp;gt;&lt;br /&gt;
**Fires input if player currency is below specified value(the X in input name), the attribute should be passed in this way: target,input,parameter&lt;br /&gt;
*$DropItem &amp;lt;int&amp;gt;&lt;br /&gt;
**Drop item in slot (-1 = current slot)&lt;br /&gt;
* $RemoveItem &amp;lt;string&amp;gt;&lt;br /&gt;
** Remove item with a name&lt;br /&gt;
*$Regenerate&lt;br /&gt;
**Regenerate the player, as if touching resupply cabinet&lt;br /&gt;
*$RefillAmmo&lt;br /&gt;
** Restore player ammo&lt;br /&gt;
*$PlaySequence &amp;lt;string&amp;gt;&lt;br /&gt;
**Play animation sequence with specified name&lt;br /&gt;
*$ResetInventory&lt;br /&gt;
**Reset loadout items, as if touching the resupply cabinet&lt;br /&gt;
*$BotCommand &amp;lt;string&amp;gt;&lt;br /&gt;
**Forces the bot to perform an action. Examples:&lt;br /&gt;
***interrupt_action -posent targetmove -lookposent targetlook -duration 10 -waituntildone -ondoneattributes AfterDone -name myname&lt;br /&gt;
****Move to entity targetmove, while looking at entity targetlook. Wait 10 seconds after moving to the target entity, then ChangeAttributes to AfterDone, and fire $onactiondone output with myname as parameter&lt;br /&gt;
***interrupt_action -posent targetkill -lookposent targetkill -killlook -waituntildone -alwayslook -distance 500&lt;br /&gt;
****Move to entity targetkill and try to destroy it. Always look at the target even if not in sight. Only move up to 500 units away from the target&lt;br /&gt;
***interrupt_action -pos 0 0 0 -lookpos 100 100 100 -duration 10&lt;br /&gt;
****Move to position 0 0 0 while looking at position 100 100 100 for the next 10 seconds&lt;br /&gt;
***interrupt_action_queue -pos 0 0 0 -lookpos 100 100 100 -duration 10&lt;br /&gt;
****Same as above, but add the action to the queue so it is only done when the previous interrupt action finishes&lt;br /&gt;
***clear_interrupt_action_queue&lt;br /&gt;
****Clears interrupt action queue added by above command&lt;br /&gt;
***remove_interrupt_action_queue_name name&lt;br /&gt;
****Delete from interrupt action queue if name matches&lt;br /&gt;
***stop interrupt action&lt;br /&gt;
****Stops current interrupt action&lt;br /&gt;
***switch_action action&lt;br /&gt;
****switch to different action. Sometimes this may fail (such as when the bot is carrying the bomb):&lt;br /&gt;
*****Default&lt;br /&gt;
*****FetchFlag&lt;br /&gt;
*****EscortFlag&lt;br /&gt;
*****PushToCapturePoint&lt;br /&gt;
*****Mobber&lt;br /&gt;
*****Spy&lt;br /&gt;
*****Sniper&lt;br /&gt;
*****SuicideBomber&lt;br /&gt;
*****Idle&lt;br /&gt;
*****Passive&lt;br /&gt;
*****Medic&lt;br /&gt;
***despawn&lt;br /&gt;
****Forces to bot to despawn&lt;br /&gt;
***taunt&lt;br /&gt;
****Forces the bot to taunt&lt;br /&gt;
***cloak&lt;br /&gt;
****Forces the spy bot to cloak&lt;br /&gt;
***uncloak&lt;br /&gt;
****Forces the spy bot to uncloak&lt;br /&gt;
***disguise&lt;br /&gt;
****Forces the spy bot to disguise as something&lt;br /&gt;
***build sentry at nearest sentry hint&lt;br /&gt;
*$Taunt&lt;br /&gt;
**Forces the player to taunt&lt;br /&gt;
*$TauntFromItem &amp;lt;string&amp;gt;&lt;br /&gt;
**Forces the player to taunt with specified item name. Also allows to insert attributes separated by |. Example: Conga Taunt|taunt move speed|1000&lt;br /&gt;
*$TauntIndexConcept &amp;lt;string&amp;gt;&lt;br /&gt;
**Forces the player to taunt with specified index and concept. Example: 0|0&lt;br /&gt;
*$TauntFromItem2 &amp;lt;string&amp;gt;&lt;br /&gt;
**Forces the player to taunt with specified item index. Also allows to modify attack time for &amp;quot;taunt attack&amp;quot;. Example: 1179|-0.5&lt;br /&gt;
*$AwardExtraItem &amp;lt;string&amp;gt;&lt;br /&gt;
**Awards extra loadout item with specified name to the player&lt;br /&gt;
*$AwardAndGiveExtraItem &amp;lt;string&amp;gt;&lt;br /&gt;
**Awards extra loadout item with specified name to the player, and equips it&lt;br /&gt;
*$StripExtraItem &amp;lt;string&amp;gt;&lt;br /&gt;
**Strips extra loadout item with specified name from the player&lt;br /&gt;
*$ResetExtraItems&lt;br /&gt;
**Strips all extra loadout items from the player&lt;br /&gt;
*$Stun &amp;lt;float&amp;gt;&lt;br /&gt;
**Stun player for specified duration in seconds&lt;br /&gt;
*$Slowdown &amp;lt;string&amp;gt;&lt;br /&gt;
**Slowdowns player by specified amount for specified duration&lt;br /&gt;
**Parameter format: slowdown|duration&lt;br /&gt;
*$SetFOV &amp;lt;int&amp;gt;&lt;br /&gt;
**Sets player FOV to specified amount. 0 FOV restores original fov&lt;br /&gt;
*$SetFOVDuration &amp;lt;string&amp;gt;&lt;br /&gt;
**Sets player FOV with zoom in duration and starting FOV&lt;br /&gt;
**Parameter format: fov|duration|start fov&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
&lt;br /&gt;
* $OnActionDone &amp;lt;string&amp;gt;&lt;br /&gt;
** Called when interrupt action finishes, the string parameter is a name of the interrupt action&lt;br /&gt;
&lt;br /&gt;
==trigger_hurt==&lt;br /&gt;
If entity owner is set with $SetOwner or $InheritOwner, the owner will become the damage inflictor&lt;br /&gt;
&lt;br /&gt;
==Filter entities==&lt;br /&gt;
The server will no longer crash if the activator entity got removed the time TestActivator is called&lt;br /&gt;
&lt;br /&gt;
===Inputs===&lt;br /&gt;
&lt;br /&gt;
*$TestEntity &amp;lt;entity&amp;gt; &lt;br /&gt;
**Test any entity, rather than only the !activator&lt;br /&gt;
&lt;br /&gt;
==Trigger entities==&lt;br /&gt;
The server will no longer crash if the caller entity got removed the time StartTouch or EndTouch is called&lt;br /&gt;
&lt;br /&gt;
===Inputs===&lt;br /&gt;
&lt;br /&gt;
*$StartTouchEntity &amp;lt;entity&amp;gt; &lt;br /&gt;
**StartTouch any entity, rather than only the !caller&lt;br /&gt;
*$EndTouchEntity &amp;lt;entity&amp;gt; &lt;br /&gt;
**EndTouch any entity, rather than only the !caller&lt;br /&gt;
&lt;br /&gt;
==game_ui==&lt;br /&gt;
The server will no longer crash if the player using the entity disconnected from the server&lt;br /&gt;
&lt;br /&gt;
== env_entity_maker ==&lt;br /&gt;
&lt;br /&gt;
=== Keyvalues ===&lt;br /&gt;
&lt;br /&gt;
* $autoparent &amp;lt;1/0&amp;gt;&lt;br /&gt;
** When the PointTemplate template is spawned via ForceSpawnAtEntityOrigin, the template entities will be automatically parented&lt;br /&gt;
* $Param(name) &amp;lt;string&amp;gt;&lt;br /&gt;
** Sets PointTemplate template param to a specified value&lt;br /&gt;
&lt;br /&gt;
== item_teamflag ==&lt;br /&gt;
&lt;br /&gt;
=== Keyvalues ===&lt;br /&gt;
&lt;br /&gt;
* $filter &amp;lt;entity&amp;gt;&lt;br /&gt;
** Targetname of a filter that defines if player can pick up the flag&lt;br /&gt;
*$disablebuffs &amp;lt;1/0&amp;gt;&lt;br /&gt;
**If bomb buffs should be disabled&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
*$OnPickup&lt;br /&gt;
**OnPickup but with player as activator&lt;br /&gt;
&lt;br /&gt;
*$OnDrop&lt;br /&gt;
**OnDrop but with player as activator&lt;br /&gt;
*$OnBombUpgradeLevel1&lt;br /&gt;
**Called when the bomb is upgraded to level 1&lt;br /&gt;
*$OnBombUpgradeLevel2&lt;br /&gt;
**Called when the bomb is upgraded to level 2&lt;br /&gt;
*$OnBombUpgradeLevel3&lt;br /&gt;
**Called when the bomb is upgraded to level 3&lt;br /&gt;
&lt;br /&gt;
== func_flagdetectionzone ==&lt;br /&gt;
&lt;br /&gt;
=== Keyvalues ===&lt;br /&gt;
&lt;br /&gt;
* $filter &amp;lt;entity&amp;gt;&lt;br /&gt;
** Targetname of a filter that defines if flag triggers the zone&lt;br /&gt;
*$filterplayer &amp;lt;entity&amp;gt;&lt;br /&gt;
** Targetname of a filter that defines if player with flag triggers the zone&lt;br /&gt;
&lt;br /&gt;
== point_push ==&lt;br /&gt;
&lt;br /&gt;
=== Keyvalues ===&lt;br /&gt;
&lt;br /&gt;
* $filter &amp;lt;entity&amp;gt;&lt;br /&gt;
** Targetname of a filter that defines if entity should be pushed&lt;br /&gt;
&lt;br /&gt;
==All entities ==&lt;br /&gt;
&lt;br /&gt;
=== Keyvalues ===&lt;br /&gt;
&lt;br /&gt;
* $modules &amp;lt;string&amp;gt;&lt;br /&gt;
** Comma separated list of [[Entity Modules|modules]] to attach to the entity&lt;br /&gt;
&lt;br /&gt;
===Inputs===&lt;br /&gt;
&lt;br /&gt;
*$FireUserAsActivator1-4 &amp;lt;string&amp;gt;&lt;br /&gt;
** Acts like FireUser1-4, but the entity becomes the !activator, and the parameter is passed in OnUser1-4 output&lt;br /&gt;
*$FireUser5-8 &amp;lt;string&amp;gt;&lt;br /&gt;
**Fires custom $onuser5-8 output&lt;br /&gt;
*$TakeDamage &amp;lt;int&amp;gt;&lt;br /&gt;
**Take specified amount of damage. Does not support negative values.&lt;br /&gt;
*$TakeDamageFromActivator &amp;lt;int&amp;gt;&lt;br /&gt;
** Take specified amount of damage, the !activator is the damage inflictor&lt;br /&gt;
*$SetModel &amp;lt;string&amp;gt;&lt;br /&gt;
** Set custom model&lt;br /&gt;
*$SetModelOverride &amp;lt;string&amp;gt;&lt;br /&gt;
**Set custom model for all vision modes at once. Doesn&#039;t change the original model.&lt;br /&gt;
*$SetModelSpecial &amp;lt;string&amp;gt;&lt;br /&gt;
**Set custom model, in a special way, it does less additional changes to the entity&lt;br /&gt;
*$SetOwner &amp;lt;entity&amp;gt;&lt;br /&gt;
** Set entity owner&lt;br /&gt;
*$ClearOwner&lt;br /&gt;
** Remove entity owner&lt;br /&gt;
*$InheritOwner &amp;lt;entity&amp;gt; &lt;br /&gt;
**Set entity owner to the passed entity owner&lt;br /&gt;
*$InheritParent &amp;lt;entity&amp;gt;&lt;br /&gt;
**Set entity parent to the passed entity parent&lt;br /&gt;
*$GetKeyValue &amp;lt;string&amp;gt; &lt;br /&gt;
**Fire OnUser1 output, with key value as a parameter&lt;br /&gt;
*$MoveType &amp;lt;int&amp;gt;,&amp;lt;int&amp;gt;&lt;br /&gt;
**Set move type&lt;br /&gt;
*$PlaySound &amp;lt;string&amp;gt;&lt;br /&gt;
**Play sound from this entity&lt;br /&gt;
*$StopSound &amp;lt;string&amp;gt;&lt;br /&gt;
**Stop playing sound from this entity&lt;br /&gt;
*$SetLocalOrigin &amp;lt;vector&amp;gt;&lt;br /&gt;
**Set origin relative to parent&lt;br /&gt;
*$SetLocalAngles &amp;lt;vector&amp;gt;&lt;br /&gt;
**Set angles relative to parent&lt;br /&gt;
*$SetLocalVelocity &amp;lt;vector&amp;gt;&lt;br /&gt;
**Set velocity relative to parent&lt;br /&gt;
*$TeleportToEntity &amp;lt;entity&amp;gt;&lt;br /&gt;
**Teleport to specified entity&lt;br /&gt;
*$MoveRelative &amp;lt;vector&amp;gt;&lt;br /&gt;
**Move relative to parent (world)&lt;br /&gt;
*$RotateRelative &amp;lt;vector&amp;gt;&lt;br /&gt;
**Rotate relative to parent (world)&lt;br /&gt;
*$GetEntIndex &amp;lt;string&amp;gt;&lt;br /&gt;
**Triggers the input of an entity, with entity index as parameter&lt;br /&gt;
**parameter format: entity|input&lt;br /&gt;
**example: !activator|$DisplayTextCenter&lt;br /&gt;
*$RemoveOutput &amp;lt;string&amp;gt;&lt;br /&gt;
**remove outputs with given name&lt;br /&gt;
*$CancelPending&lt;br /&gt;
**Remove all pending inputs this entity is going to fire&lt;br /&gt;
*$SetForwardVelocity &amp;lt;float&amp;gt;&lt;br /&gt;
**Set forward velocity of an entity, does not work on every entity&lt;br /&gt;
*$FaceEntity &amp;lt;entity&amp;gt;&lt;br /&gt;
**Rotate the entity so that it faces the target entity&lt;br /&gt;
*$SetKey$(keyvalue name) &amp;lt;string&amp;gt;&lt;br /&gt;
**Set keyvalue to specified value&lt;br /&gt;
*$GetKey$(keyvalue name) &amp;lt;string&amp;gt;&lt;br /&gt;
**Trigger the input of an entity, with keyvalue as a parameter (default value if not found)&lt;br /&gt;
**example: $GetKey$startdisabled&lt;br /&gt;
**parameter format: entity|input|default value&lt;br /&gt;
**example: !activator|$DisplayTextCenter|def&lt;br /&gt;
*$SetVar$(variable name) &amp;lt;string&amp;gt; &lt;br /&gt;
**Set custom entity variable&lt;br /&gt;
*$GetVar$(variable name) &amp;lt;string&amp;gt;&lt;br /&gt;
**Trigger the input of an entity, with custom variable as set with $SetVar as a parameter (default value if not found)&lt;br /&gt;
**example: $GetVar$customvar&lt;br /&gt;
**parameter format: entity|input|default value&lt;br /&gt;
**parameter example: !activator|$DisplayTextCenter|def&lt;br /&gt;
*$SetData$([https://raw.githubusercontent.com/powerlord/tf2-data/master/datamaps.txt datamap] prop name) &amp;lt;string&amp;gt;&lt;br /&gt;
**Set datamap property to specified value&lt;br /&gt;
*$GetData$([https://raw.githubusercontent.com/powerlord/tf2-data/master/datamaps.txt datamap] prop name) &amp;lt;string&amp;gt;&lt;br /&gt;
**Trigger the input of an entity, with datamap prop as a parameter (default value if not found)&lt;br /&gt;
**example: $GetData$m_szNetname&lt;br /&gt;
***Unlike send props, datamaps do not have arrays.&lt;br /&gt;
**parameter format: entity|input|default value&lt;br /&gt;
**parameter example: !activator|$DisplayTextCenter|def&lt;br /&gt;
***Default value is not required to be defined, but can be useful for debugging.&lt;br /&gt;
*$SetProp$([https://raw.githubusercontent.com/powerlord/tf2-data/master/netprops.txt send prop] name)[$(array)] &amp;lt;string&amp;gt;&lt;br /&gt;
**Set send property to specified value. Can also set arrays.&lt;br /&gt;
**example without array: $SetProp$m_bInUpgradeZone&lt;br /&gt;
***sets player state if player is visiting an upgrade station&lt;br /&gt;
**example with array: $SetProp$m_iAmmo$3&lt;br /&gt;
***sets player ammo type array to 3, which is metal carried&lt;br /&gt;
*$GetProp$([https://raw.githubusercontent.com/powerlord/tf2-data/master/netprops.txt send prop] name)[$(array)] &amp;lt;string&amp;gt;&lt;br /&gt;
**Trigger the input of an entity, with the specified send prop&#039;s value as a parameter (default value if not found)&lt;br /&gt;
**example without array: $GetProp$m_bInUpgradeZone&lt;br /&gt;
**example with an array: $GetProp$m_iAmmo$3&lt;br /&gt;
**parameter format: entity|input|default value&lt;br /&gt;
**parameter example: !activator|$DisplayTextCenter|def&lt;br /&gt;
***Default value is not required to be defined, but can be useful for debugging.&lt;br /&gt;
*$SetClientProp$([https://raw.githubusercontent.com/powerlord/tf2-data/master/netprops.txt send prop] name)[$(array)] &amp;lt;string&amp;gt;&lt;br /&gt;
**Set fake send prop value only seen by players. Can also set arrays. Useful for setting fake mission name or wave number, as $SetProp would trigger unwanted behavior &lt;br /&gt;
**example without array: $SetClientProp$m_bInUpgradeZone&lt;br /&gt;
***sets player state if player is visiting an upgrade station&lt;br /&gt;
**example with array: $SetClientProp$m_iAmmo$3&lt;br /&gt;
***sets player ammo type array to 3, which is metal carried&lt;br /&gt;
*$ResetClientProp$([https://raw.githubusercontent.com/powerlord/tf2-data/master/netprops.txt send prop] name)[$(array)]&lt;br /&gt;
**Reset fake prop value set by $SetClientProp&lt;br /&gt;
*$AddModule &amp;lt;string&amp;gt;&lt;br /&gt;
**Add entity [[Entity Modules|module]] by name&lt;br /&gt;
*$RemoveModule &amp;lt;string&amp;gt;&lt;br /&gt;
**Remove entity [[Entity Modules|module]] by name&lt;br /&gt;
*$SetCollisionFilter &amp;lt;entity&amp;gt;&lt;br /&gt;
**Sets custom collision filter entity. If the filter passes, the entity collides as usual, otherwise the colliding entities pass through&lt;br /&gt;
*$HideTo &amp;lt;player&amp;gt;&lt;br /&gt;
**Hides this entity to specific player&lt;br /&gt;
*$ShowTo &amp;lt;player&amp;gt;&lt;br /&gt;
**Shows previously hidden entity to specific player&lt;br /&gt;
*$HideToAll&lt;br /&gt;
**Hides this entity to all players by default&lt;br /&gt;
*$ShowToAll&lt;br /&gt;
**Shows previously hidden entity to all players&lt;br /&gt;
*$VScriptFunc$function &amp;lt;string&amp;gt;&lt;br /&gt;
**Executes a VScript function with a single parameter, equivalent to &amp;lt;code&amp;gt;runscriptcode function(param)&amp;lt;/code&amp;gt; input&lt;br /&gt;
*$StopParticleEffects&lt;br /&gt;
**Stops attached particle effects, some effects are not stoppable&lt;br /&gt;
*$SetSolidFlags &amp;lt;int&amp;gt;&lt;br /&gt;
**Set solid flags&lt;br /&gt;
*$SetSolid &amp;lt;int&amp;gt;&lt;br /&gt;
**Set solid type&lt;br /&gt;
&lt;br /&gt;
===Outputs===&lt;br /&gt;
&lt;br /&gt;
*$OnUser5-8 &amp;lt;string&amp;gt;&lt;br /&gt;
**Called when $FireUser5-8 input is used&lt;br /&gt;
*$OnKilled&lt;br /&gt;
**Fired when the entity is killed (removed from the world). The calling entity no longer exist and cannot be accessed unless input delay is set to -1&lt;br /&gt;
*$OnDamageReceived &amp;lt;int&amp;gt;&lt;br /&gt;
**Fired when the entity is damaged. Parameter is the damage received by the entity. !activator is the damage inflictor&lt;br /&gt;
*$OnDamageBlocked &amp;lt;int&amp;gt;&lt;br /&gt;
**Fired when damage was blocked by the entity. Parameter is the amount of damage blocked by the entity. !activator is the damage inflictor&lt;br /&gt;
*$OnDeath &amp;lt;int&amp;gt;&lt;br /&gt;
**Fired when the entity died. Parameter is the damage of the fatal blow. !activator is the damage inflictor&lt;br /&gt;
&lt;br /&gt;
[[Category:Misc Additions]]&lt;/div&gt;</summary>
		<author><name>Seelpit</name></author>
	</entry>
	<entry>
		<id>https://sigwiki.potato.tf/index.php?title=TFBot&amp;diff=7503</id>
		<title>TFBot</title>
		<link rel="alternate" type="text/html" href="https://sigwiki.potato.tf/index.php?title=TFBot&amp;diff=7503"/>
		<updated>2023-11-08T11:30:20Z</updated>

		<summary type="html">&lt;p&gt;Seelpit: More additions of various blocks. ExtAttr and keyvalues not yet updated.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Listed below are all of the custom keyvalues accepted in the &#039;&#039;&#039;TFBot{}&#039;&#039;&#039; block by our server mods. Examples of these additions can be found in the [https://testing.potato.tf/mvm_bigrock_sigdemo.pop demonstrative SigMod popfile].&lt;br /&gt;
&lt;br /&gt;
== Global keyvalues for custom blocks ==&lt;br /&gt;
Various custom blocks accept a variety of keyvalues to specify when they should perform their action. The following keyvalues should be usable in all of these blocks:&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
Delay 10				//Time before the task starts (Default: 10)&lt;br /&gt;
Cooldown 1				//Time between each execution of the task (Default: 10)&lt;br /&gt;
Repeats 1				//How many times the bot should perform the task in total (Default: 0 - Infinite)&lt;br /&gt;
IfSeeTarget 1			//When set to 1, this task activates only when the bot can see a target (Default: 0 - Always activate)&lt;br /&gt;
IfNoTarget 1			//When set to 1, this task activates only when the bot does not have a target (Default: 0 - Always activate)&lt;br /&gt;
IfHealthBelow 100		//When set, the task activates only when the bot health is below specified value&lt;br /&gt;
IfHealthAbove 100		//When set, the task activates only when the bot health is above specified value&lt;br /&gt;
MaxTargetRange 150		//If set, the task activates only when the target is within specified units away&lt;br /&gt;
MinTargetRange 50		//If set, the task activates only when the target is more than specified units away&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== SpawnTemplate ==&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
SpawnTemplate [$SIGSEGV] //Spawn custom player template&lt;br /&gt;
{&lt;br /&gt;
	Name &amp;quot;Sentry&amp;quot;&lt;br /&gt;
	Bone &amp;quot;bip_head&amp;quot; //Bone name where the template should be attached to&lt;br /&gt;
	//Some bone names are listed here:&lt;br /&gt;
	//bip_head&lt;br /&gt;
	//bip_spine_2 - used by flag&lt;br /&gt;
	//bip_hand_L&lt;br /&gt;
	//bip_hand_R&lt;br /&gt;
	//weapon_bone_R&lt;br /&gt;
	//weapon_bone_L&lt;br /&gt;
	//bip_foot_L&lt;br /&gt;
	//bip_foot_R&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Allows you to spawn [https://steamcommunity.com/sharedfiles/filedetails/?id=2289315026 PointTemplates], which will automatically be parented on the bot this block is on. Does &amp;lt;u&amp;gt;not&amp;lt;/u&amp;gt; support global keyvalues. Bone names can also be found using HLMV, which is available by default in your Team Fortress 2/bin folder (which is &amp;quot;above&amp;quot; your tf/ folder).&lt;br /&gt;
&lt;br /&gt;
== ExtAttr ==&lt;br /&gt;
Extra Attributes that can be applied to bots, akin to the vanilla Attributes keyvalue.&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
// Aim behavior.&lt;br /&gt;
MedicLookAtThreats		//If the bot is a Medic: can turn around to look at threats&lt;br /&gt;
TargetStickies			//Target and destroy stickies&lt;br /&gt;
IgnoreBuildings			//Ignore buildings&lt;br /&gt;
IgnorePlayers			//Ignore players (including bots)&lt;br /&gt;
IgnoreBots				//Ignore bots&lt;br /&gt;
IgnoreRealPlayers		//Ignore non-bot players&lt;br /&gt;
IgnoreNPC				//Ignore NPCs such as Tanks, skeletons, and halloween bosses&lt;br /&gt;
&lt;br /&gt;
// Attacking behavior.&lt;br /&gt;
AlwaysFireWeaponAlt		//Always use secondary fire&lt;br /&gt;
SuppressCanteenUse		//If set, the bot will not automatically activate canteens when looking at an enemy&lt;br /&gt;
JumpStomp				//Try to jump over and stomp obstracles&lt;br /&gt;
&lt;br /&gt;
// Engineer-only.&lt;br /&gt;
BuildDispenserAsTeleporter	//Builds dispenser instead of teleporter&lt;br /&gt;
BuildDispenserAsSentryGun	//Builds dispenser instead of sentry gun&lt;br /&gt;
&lt;br /&gt;
// Misc.&lt;br /&gt;
DisableSpawnProtectionFix	//Disables a fix where a medic activating ubercharge inside spawn will not be invulnerable when exiting spawn&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Homing Rockets ==&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
HomingRockets [$SIGSEGV]&lt;br /&gt;
{&lt;br /&gt;
	IgnoreDisguisedSpies 1	//Ignore Spies that are disguised?&lt;br /&gt;
	IgnoreStealthedSpies 1	//Ignore Spies that are cloaked?&lt;br /&gt;
	RocketSpeed 0.25	//Multiplier of rocket speed. 1 for default speed&lt;br /&gt;
	TurnPower 90		//How fast should the rocket rotate to face the target&lt;br /&gt;
	MaxAimError 360		//Max angle between rocket and the target&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Despite the name, also allows other projectiles (such as arrows) to home in on enemies. Alternatively, use the &amp;quot;mod projectile heat&amp;quot; set of [[List of custom attributes|custom attributes]].&lt;br /&gt;
&lt;br /&gt;
== Taunt ==&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
Taunt [$SIGSEGV]  //Taunt periodically&lt;br /&gt;
{&lt;br /&gt;
	Duration 5					//Duration of a looping taunt (Default: 0.1)&lt;br /&gt;
	Name &amp;quot;Taunt: Kazotsky Kick&amp;quot; //If set, uses this item taunt instead of default&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Note that &amp;quot;Name&amp;quot; requires the &#039;&#039;name of the item that you equip to use the taunt&#039;&#039;. This name can be found in &amp;lt;code&amp;gt;items_game.txt&amp;lt;/code&amp;gt;, with most newer taunts being prefixed with &amp;quot;Taunt: &amp;quot;, or having &amp;quot;Taunt&amp;quot; elsewhere in their name. Weapon-specific taunts can only be done if the bot is currently holding that weapon.&lt;br /&gt;
&lt;br /&gt;
== Voice Command ==&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
VoiceCommand [$SIGSEGV]  //Periodically uses voice commands&lt;br /&gt;
{&lt;br /&gt;
	Type &amp;quot;Medic&amp;quot;	//Type of voice command. Possible values:&lt;br /&gt;
		//Medic&lt;br /&gt;
		//Help&lt;br /&gt;
		//Go&lt;br /&gt;
		//Move up&lt;br /&gt;
		//Left&lt;br /&gt;
		//Right&lt;br /&gt;
		//Yes&lt;br /&gt;
		//No&lt;br /&gt;
		//Activate Charge&lt;br /&gt;
		//Charge Ready&lt;br /&gt;
		//Incoming&lt;br /&gt;
		//Spy&lt;br /&gt;
		//Thanks&lt;br /&gt;
		//Jeers&lt;br /&gt;
		//Battle cry&lt;br /&gt;
		//Cheers&lt;br /&gt;
		//Sentry here&lt;br /&gt;
		//Dispenser here&lt;br /&gt;
		//Teleporter here&lt;br /&gt;
		//Good job&lt;br /&gt;
		//Sentry ahead&lt;br /&gt;
		//Positive&lt;br /&gt;
		//Negative&lt;br /&gt;
		//Nice shot&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ChangeAttributes ==&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
ChangeAttributes [$SIGSEGV]  //Periodically changes bot attributes, defined in EventChangeAttributes{}&lt;br /&gt;
{&lt;br /&gt;
	Name &amp;quot;Attr1&amp;quot;	//Name of the bot attributes block listed in EventChangeAttributes{}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Note that bots will automatically start out in any attributes block named &amp;quot;Default&amp;quot;. Maps with a gate will force bots to change to their &amp;quot;RevertGateBotsBehavior&amp;quot; block, if they have one.&lt;br /&gt;
&lt;br /&gt;
== ClientCommand ==&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
ClientCommand [$SIGSEGV] // Executes client commands, also known as console commands&lt;br /&gt;
{&lt;br /&gt;
	Name &amp;quot;build 0&amp;quot; 	// Name of the client command, notable examples:&lt;br /&gt;
						// &amp;quot;build 0/1/2/3&amp;quot; - Build dispenser / teleporter entrance / sentry / teleporter exit&lt;br /&gt;
						// &amp;quot;destroy 0/1/2/3&amp;quot; - Destroy dispenser / teleporter entrance / sentry / teleporter exit&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== WeaponResist ==&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
WeaponResist [$SIGSEGV] //Multiplies damage received from weapons listed below&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;TF_WEAPON_KNIFE&amp;quot; 0.1&lt;br /&gt;
	&amp;quot;TF_WEAPON_MINIGUN&amp;quot; 10&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Accepts both weapon classnames (such as &amp;lt;code&amp;gt;tf_weapon_flamethrower&amp;lt;/code&amp;gt;applying to all regular flamethrowers) and individual weapon names.&lt;br /&gt;
&lt;br /&gt;
== Spell ==&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
Spell [$SIGSEGV] //Gives specified spell to bots.&lt;br /&gt;
{&lt;br /&gt;
	Delay 1		//Time before the first spell charges are given (Default: 10)&lt;br /&gt;
	Cooldown 5	//Time between each spell changes (Default: 10)&lt;br /&gt;
	Repeats 12	//How many times should spell charges be given in total (Default: 0 - Infinite)&lt;br /&gt;
	Charges 1	//How many spell charges to give every time the spell is given (Default: 1)&lt;br /&gt;
	Limit 1		//How many spell charges the bot can store (Default: Same as charges given)&lt;br /&gt;
	Type &amp;quot;All&amp;quot;	//Spell name. Possible values:&lt;br /&gt;
		//Fireball&lt;br /&gt;
		//Ball O&#039; Bats&lt;br /&gt;
		//Healing Aura&lt;br /&gt;
		//Pumpkin MIRV&lt;br /&gt;
		//Superjump&lt;br /&gt;
		//Invisibility&lt;br /&gt;
		//Teleport&lt;br /&gt;
		//Tesla Bolt&lt;br /&gt;
		//Minify&lt;br /&gt;
		//Summon Monoculus&lt;br /&gt;
		//Meteor Shower&lt;br /&gt;
		//Summon Skeletons&lt;br /&gt;
		//Common&lt;br /&gt;
		//Rare&lt;br /&gt;
		//All&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;For bots to use Spells, they must have a &#039;&#039;&#039;Spellbook item&#039;&#039;&#039; equipped, and &#039;&#039;no&#039;&#039; WeaponRestrictions active.&lt;br /&gt;
&lt;br /&gt;
== Action ==&lt;br /&gt;
A defunct keyvalue in vanilla. Works correctly on servers with our mods.&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
Action FetchFlag [$SIGSEGV] //Overrides default bot AI. Possible values:&lt;br /&gt;
	//Default			- Default action&lt;br /&gt;
	//FetchFlag			- Uses generic bomb fetching AI, default action for most bots except Spy, Medic, Engineer or Mission bots&lt;br /&gt;
	//EscortFlag		- As above, but ignores bot escort limit&lt;br /&gt;
	//PushToCapturePoint - Pushes to capture point (or hatch in MvM). Similar to BehaviorModfiers Push and its aliases.&lt;br /&gt;
	//Mobber			- Chases down random player targets&lt;br /&gt;
	//Spy				- Uses spy AI, teleports behind players, but does not use disguises or cloak.&lt;br /&gt;
	//Sniper			- Uses mission sniper AI&lt;br /&gt;
	//SuicideBomber		- Uses sentry buster AI, but targets players instead. Might crash servers&lt;br /&gt;
	//Idle				- Sit in spawn and wait&lt;br /&gt;
	//Passive			- Sit at spawn position, until an active threat is in vision&lt;br /&gt;
	//Medic				- Use medic AI&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Custom weapon model ==&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
CustomWeaponModel [$SIGSEGV] //Sets custom weapon model&lt;br /&gt;
{&lt;br /&gt;
	Slot 1 //Valid loadout positions:&lt;br /&gt;
		//0 - LOADOUT_POSITION_PRIMARY&lt;br /&gt;
		//1 - LOADOUT_POSITION_SECONDARY&lt;br /&gt;
		//2 - LOADOUT_POSITION_MELEE&lt;br /&gt;
		//3 - LOADOUT_POSITION_UTILITY&lt;br /&gt;
		//4 - LOADOUT_POSITION_BUILDING&lt;br /&gt;
		//5 - LOADOUT_POSITION_PDA&lt;br /&gt;
		//6 - LOADOUT_POSITION_PDA2&lt;br /&gt;
	Model &amp;quot;models/weapons/w_models/w_minigun.mdl&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Alternatively, use &amp;quot;custom item model&amp;quot; as a [[List of custom attributes|custom attribute]]. The model has to be precached if it isn&#039;t part of the current map. Double-check this if you end up with ERROR models.&lt;br /&gt;
&lt;br /&gt;
== FireWeapon ==&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
FireWeapon [$SIGSEGV]  //Periodically fires weapon&lt;br /&gt;
{&lt;br /&gt;
	Duration 0.5 //How long should the button be pressed (Default: 0.1)&lt;br /&gt;
	Type &amp;quot;Secondary&amp;quot; // Type of fire input, Possible values:&lt;br /&gt;
		//Primary&lt;br /&gt;
		//Secondary&lt;br /&gt;
		//Special - MOUSE3&lt;br /&gt;
		//Reload&lt;br /&gt;
		//Jump&lt;br /&gt;
		//Crouch - requires NoCrouchButtonRelease 1 in TFBot&lt;br /&gt;
		//Action&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;A FireWeapon{} block with &amp;lt;code&amp;gt;Type &amp;quot;Action&amp;quot;&amp;lt;/code&amp;gt; can be paired with &amp;lt;code&amp;gt;ExtAttr SuppressCanteenUse&amp;lt;/code&amp;gt; to time canteen usage.&lt;br /&gt;
&lt;br /&gt;
A FireWeapon{} block with &amp;lt;code&amp;gt;Type &amp;quot;Primary&amp;quot;&amp;lt;/code&amp;gt; can be paired with &amp;lt;code&amp;gt;Attributes SuppressFire&amp;lt;/code&amp;gt; to control when a bot attacks.&lt;br /&gt;
&lt;br /&gt;
== ItemColor ==&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
ItemColor [$SIGSEGV] //Set item color&lt;br /&gt;
{&lt;br /&gt;
	ItemName &amp;quot;The Gunboats&amp;quot;&lt;br /&gt;
	Red 255&lt;br /&gt;
	Green 0&lt;br /&gt;
	Blue 0&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Note: global keyvalues may not work in this block.&lt;br /&gt;
&lt;br /&gt;
== AddCond ==&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
AddCond [$SIGSEGV] //Adds conditions to bots&lt;br /&gt;
{&lt;br /&gt;
	Name &amp;quot;TF_COND_REPROGRAMMED&amp;quot; // Condition to apply.&lt;br /&gt;
	//Index 43 //Condition index can be used instead&lt;br /&gt;
	Delay 3 // Delay before the condition activates (Default: 0)&lt;br /&gt;
	Duration 99 // Duration of the condition effect (Default: -1 - infinite duration)&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Note that the default Delay value is 0.&lt;br /&gt;
&lt;br /&gt;
Available condition values and names can be found on the [https://wiki.teamfortress.com/wiki/Cheats#addcond TF2 wiki].&lt;br /&gt;
&lt;br /&gt;
== DamageAppliesCond ==&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
DamageAppliesCond [$SIGSEGV] //Adds conditions to players on hit&lt;br /&gt;
{&lt;br /&gt;
	Name &amp;quot;TF_COND_URINE&amp;quot; // Condition to apply.&lt;br /&gt;
	//Index 43 //Condition index can be used instead&lt;br /&gt;
	Duration 3 // Duration of the condition effect (Default: -1 - infinite duration)&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Available condition values and names can be found on the [https://wiki.teamfortress.com/wiki/Cheats#addcond TF2 wiki]. Alternatively, use the &amp;quot;add cond on hit&amp;quot; set of [[List of custom attributes|custom attributes]], which can be specified per weapon.&lt;br /&gt;
&lt;br /&gt;
== Stripping items ==&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
StripItemSlot 1 [$SIGSEGV] //If set, weapon in specified slot is stripped&lt;br /&gt;
//Valid loadout positions:&lt;br /&gt;
		//0 - LOADOUT_POSITION_PRIMARY&lt;br /&gt;
		//1 - LOADOUT_POSITION_SECONDARY&lt;br /&gt;
		//2 - LOADOUT_POSITION_MELEE&lt;br /&gt;
		//3 - LOADOUT_POSITION_UTILITY&lt;br /&gt;
		//4 - LOADOUT_POSITION_BUILDING&lt;br /&gt;
		//5 - LOADOUT_POSITION_PDA&lt;br /&gt;
		//6 - LOADOUT_POSITION_PDA2&lt;br /&gt;
StripItem &amp;quot;Zombie Spy&amp;quot; [$SIGSEGV] // Remove item by name. This can be used to remove cosmetics including zombie cosmetics&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== FireInput ==&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
FireInput [$SIGSEGV] // Fires an input to an entity. Target !self and !activator refer to target the bot this block is on.&lt;br /&gt;
{&lt;br /&gt;
	Target &amp;quot;random_color_case*&amp;quot; //Entity name to use&lt;br /&gt;
	Action &amp;quot;PickRandom&amp;quot; //Input to fire&lt;br /&gt;
	Param &amp;quot;&amp;quot; //Parameter to use&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Keep in mind that &amp;lt;code&amp;gt;Repeats&amp;lt;/code&amp;gt; defaults to 0, infinite. Specify it as 1 to only fire an input once. The bot will be considered the !activator.&lt;br /&gt;
&lt;br /&gt;
== Add- &amp;amp; RemoveAttribute ==&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
AddAttribute [$SIGSEGV] &lt;br /&gt;
{&lt;br /&gt;
	Item &amp;quot;TF_WEAPON_KNIFE&amp;quot; // Item name to which add the attribute, or Player for player attribute, or Active for active weapon&lt;br /&gt;
	Name &amp;quot;damage bonus&amp;quot; // Attribute name&lt;br /&gt;
	Value 2 // Attribute value&lt;br /&gt;
}&lt;br /&gt;
RemoveAttribute [$SIGSEGV] &lt;br /&gt;
{&lt;br /&gt;
	Item &amp;quot;TF_WEAPON_KNIFE&amp;quot; // Item name from which remove the attribute, or Player for player attribute, or Active for active weapon&lt;br /&gt;
	Name &amp;quot;damage bonus&amp;quot; // Attribute name&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;If multiple attributes should be added or removed at once, it may be preferable to use &amp;lt;code&amp;gt;EventChangeAttributes{}&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;ChangeAttributes{}&amp;lt;/code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
== Message ==&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
Message //Displays message in the chat&lt;br /&gt;
{&lt;br /&gt;
	Name &amp;quot;{red}Hello!&amp;quot; //Message in the chat displayed&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Text colour can also accept hex codes without #, such as &amp;lt;code&amp;gt;FF0000&amp;lt;/code&amp;gt; for red.&lt;br /&gt;
&lt;br /&gt;
== Sequence ==&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
Sequence [$SIGSEGV]  // Display a sequence animation with a name. Not every animation is supported&lt;br /&gt;
{&lt;br /&gt;
	Name &amp;quot;Run_MELEE&amp;quot; // Name of the sequence&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Sequence names can be found using HLMV, which is available by default in your Team Fortress 2/bin folder (which is &amp;quot;above&amp;quot; your tf/ folder), or in the Hammer++ Model Browser tool.&lt;br /&gt;
&lt;br /&gt;
== WeaponSwitch ==&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
WeaponSwitch [$SIGSEGV]  //Periodically switches weapon&lt;br /&gt;
{&lt;br /&gt;
	Type &amp;quot;Primary&amp;quot; // Weapon slot, possible values:&lt;br /&gt;
		//Primary&lt;br /&gt;
		//Secondary&lt;br /&gt;
		//Melee&lt;br /&gt;
		//PDA&lt;br /&gt;
		//Building&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Visual changes ==&lt;br /&gt;
UseBusterModel 1 [$SIGSEGV] //Use buster model&lt;br /&gt;
&lt;br /&gt;
Skin 4 [$SIGSEGV] // Force the bot to use specified model skin&lt;br /&gt;
&lt;br /&gt;
== Misc. keyvalues ==&lt;br /&gt;
NoBombUpgrades 1 [$SIGSEGV] //If set, the bomb carrier will not upgrade over time&lt;br /&gt;
&lt;br /&gt;
PainSound &amp;quot;=70|GoldPipe_MissionIntro.mp3&amp;quot; [$SIGSEGV] //Override pain sound. The value after = is sound level in DB, applicable for all custom mission sounds&lt;br /&gt;
&lt;br /&gt;
DeathSound &amp;quot;GoldPipe_MissionIntro.mp3&amp;quot; [$SIGSEGV] //Override death sound.&lt;br /&gt;
&lt;br /&gt;
DesiredAttackRange 100 [$SIGSEGV] // How close to the target the bot should want to move when trying to attack. For melee weapons, default is 100. For other weapons except sniper rifles, default is 500&lt;br /&gt;
&lt;br /&gt;
MoveBehindEnemy 1 [$SIGSEGV] // Should the bot try to get behind the target, similar to how the Spy bot behaves. Instead of 1 you can also specify custom distance at which the bot will start strafing around the target (default: 0) &lt;br /&gt;
&lt;br /&gt;
== Additions to existing keyvalues ==&lt;br /&gt;
WeaponRestrictions now also supports &#039;&#039;&#039;PDAOnly&#039;&#039;&#039; and &#039;&#039;&#039;BuildingOnly&#039;&#039;&#039;.&lt;/div&gt;</summary>
		<author><name>Seelpit</name></author>
	</entry>
	<entry>
		<id>https://sigwiki.potato.tf/index.php?title=WaveSchedule&amp;diff=7502</id>
		<title>WaveSchedule</title>
		<link rel="alternate" type="text/html" href="https://sigwiki.potato.tf/index.php?title=WaveSchedule&amp;diff=7502"/>
		<updated>2023-11-02T13:54:03Z</updated>

		<summary type="html">&lt;p&gt;Seelpit: Fixed typo at the top claiming these keyvalues were for Wave{}&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Listed below are all of the custom keyvalues accepted in the WaveSchedule{} block by our server mods.&lt;br /&gt;
&lt;br /&gt;
==Precache==&lt;br /&gt;
&lt;br /&gt;
 PrecacheSound &amp;quot;weapons/rocket_directhit_shoot_crit.wav&amp;quot; [$SIGSEGV] &lt;br /&gt;
If your mission contains custom sounds that are used by pointtemplate entities or sound overrides, you must include those sounds with precachesound&lt;br /&gt;
&lt;br /&gt;
 PrecacheScriptSound &amp;quot;Weapon_RPG.Single&amp;quot; [$SIGSEGV] &lt;br /&gt;
Sound script version of precache sound&lt;br /&gt;
&lt;br /&gt;
 PrecacheModel &amp;quot;models/props_soho/bookstand002.mdl&amp;quot; [$SIGSEGV] &lt;br /&gt;
Precaches model. This might be required in some circumstances, such as &amp;quot;custom projectile model&amp;quot; attribute, or prop with custom model&lt;br /&gt;
&lt;br /&gt;
 PrecacheSentenceFile &amp;quot;scripts/sentences.txt&amp;quot; [$SIGSEGV] &lt;br /&gt;
Precache sentence file&lt;br /&gt;
&lt;br /&gt;
 PrecacheDecal &amp;quot;decals/tscorch&amp;quot; [$SIGSEGV] &lt;br /&gt;
Precache decal file&lt;br /&gt;
&lt;br /&gt;
 PrecacheGeneric &amp;quot;&amp;quot; [$SIGSEGV] &lt;br /&gt;
Precache generic file&lt;br /&gt;
&lt;br /&gt;
 PrecacheParticle &amp;quot;env_fire_large_smoke&amp;quot; [$SIGSEGV] &lt;br /&gt;
Precache particle&lt;br /&gt;
&lt;br /&gt;
Precaching helps to ensure that the content used in the mission will be loaded propely and downloaded to the clients&lt;br /&gt;
&lt;br /&gt;
== Halloween ==&lt;br /&gt;
 ForceHoliday 2 [$SIGSEGV] &lt;br /&gt;
Enforces Halloween mode, but does not enable wave 666 and zombie bots&lt;br /&gt;
&lt;br /&gt;
 NoThrillerTaunt 1 [$SIGSEGV] &lt;br /&gt;
No thriller taunt in halloween (default: 0)&lt;br /&gt;
&lt;br /&gt;
 NoCritPumpkin 1 [$SIGSEGV] &lt;br /&gt;
No crit pumpkin on player death drop in halloween (default: 0)&lt;br /&gt;
&lt;br /&gt;
 NoHolidayPickups 1 [$SIGSEGV] &lt;br /&gt;
If set, pickups will remain with default models (default: 0)&lt;br /&gt;
&lt;br /&gt;
 ZombiesNoWave666 1 [$SIGSEGV] &lt;br /&gt;
If set to 1, the game will not display wave 666 when EventPopFile is set (default: 0)&lt;br /&gt;
 &lt;br /&gt;
 BotsDropSpells 1 [$SIGSEGV] &lt;br /&gt;
If set, bots will drop spells&lt;br /&gt;
&lt;br /&gt;
 GiantsDropRareSpells 1 [$SIGSEGV] &lt;br /&gt;
If set, giants will drop rare spells rather than common&lt;br /&gt;
&lt;br /&gt;
 SpellDropRateCommon 0.5 [$SIGSEGV] &lt;br /&gt;
Drop chance for common spell books, from 0 to 1&lt;br /&gt;
&lt;br /&gt;
 SpellDropRateGiant 0.5 [$SIGSEGV] &lt;br /&gt;
Drop chance for rare spell books, from 0 to 1&lt;br /&gt;
&lt;br /&gt;
 SpellDropForBotsInTeam Blue [$SIGSEGV] &lt;br /&gt;
When set, drop spells only if bots are from Red/Blue team&lt;br /&gt;
&lt;br /&gt;
 SpellBookNormalRoll [$SIGSEGV] //Override spell roll. The value specifies how many spell charges to give. You can duplicate spells to increase their roll chance&lt;br /&gt;
 {&lt;br /&gt;
 	&amp;quot;Healing Aura&amp;quot; 3&lt;br /&gt;
 	&amp;quot;Fireball&amp;quot; 3&lt;br /&gt;
 	&amp;quot;Ball O&#039; Bats&amp;quot; 2&lt;br /&gt;
 	&amp;quot;Healing Aura&amp;quot; 3&lt;br /&gt;
 	&amp;quot;Pumpkin MIRV&amp;quot; 1 &lt;br /&gt;
 	&amp;quot;Superjump&amp;quot; 4&lt;br /&gt;
 	&amp;quot;Invisibility&amp;quot; 2&lt;br /&gt;
 	&amp;quot;Teleport&amp;quot; 4&lt;br /&gt;
 	&amp;quot;Tesla Bolt&amp;quot; 3&lt;br /&gt;
 	&amp;quot;Minify&amp;quot; 1&lt;br /&gt;
 	&amp;quot;Meteor Shower&amp;quot; 5&lt;br /&gt;
 	&amp;quot;Summon Monoculus&amp;quot; 1&lt;br /&gt;
 	&amp;quot;Summon Skeletons&amp;quot; 4&lt;br /&gt;
 }&lt;br /&gt;
 SpellBookRareRoll [$SIGSEGV] //Override spell roll. The value specifies how many spell charges to give. You can duplicate spells to increase their roll chance&lt;br /&gt;
 {&lt;br /&gt;
 	&amp;quot;Healing Aura&amp;quot; 3&lt;br /&gt;
 	&amp;quot;Fireball&amp;quot; 3&lt;br /&gt;
 	&amp;quot;Ball O&#039; Bats&amp;quot; 2&lt;br /&gt;
 	&amp;quot;Healing Aura&amp;quot; 3&lt;br /&gt;
 	&amp;quot;Pumpkin MIRV&amp;quot; 1 &lt;br /&gt;
 	&amp;quot;Superjump&amp;quot; 4&lt;br /&gt;
 	&amp;quot;Invisibility&amp;quot; 2&lt;br /&gt;
 	&amp;quot;Teleport&amp;quot; 4&lt;br /&gt;
 	&amp;quot;Tesla Bolt&amp;quot; 3&lt;br /&gt;
 	&amp;quot;Minify&amp;quot; 1&lt;br /&gt;
 	&amp;quot;Meteor Shower&amp;quot; 5&lt;br /&gt;
 	&amp;quot;Summon Monoculus&amp;quot; 1&lt;br /&gt;
 	&amp;quot;Summon Skeletons&amp;quot; 4&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
==Upgrade Station==&lt;br /&gt;
 CustomUpgradesFile &amp;quot;mvm_upgrades_sigsegv_extra_v19.txt&amp;quot; [$SIGSEGV] &lt;br /&gt;
Custom upgrades file. File must be named mvm_upgrades_x.txt and must be uploaded to the servers&lt;br /&gt;
&lt;br /&gt;
 DisableUpgradeStations 1 [$SIGSEGV] &lt;br /&gt;
Disable upgrade station&lt;br /&gt;
&lt;br /&gt;
 DisallowUpgrade &amp;quot;fire rate bonus&amp;quot; [$SIGSEGV] &lt;br /&gt;
Disallow upgrade. You can use the position on the upgrade list instead, starting from 1&lt;br /&gt;
&lt;br /&gt;
 UpgradeStationKeepWeapons 1 [$SIGSEGV] &lt;br /&gt;
Prevent upgrading from changing weapons to current loadout items (default: 0)&lt;br /&gt;
&lt;br /&gt;
 ExtendedUpgradesOnly 1 [$SIGSEGV] &lt;br /&gt;
Do not display regular upgrade menu, only show extended upgrades (default: 0)&lt;br /&gt;
&lt;br /&gt;
 RespecEnabled 0 [$SIGSEGV] &lt;br /&gt;
Set to 0 to disable refunds&lt;br /&gt;
&lt;br /&gt;
 RespecLimit 1 [$SIGSEGV] &lt;br /&gt;
How many times the player can use refunds&lt;br /&gt;
&lt;br /&gt;
==Bot Behavior== &lt;br /&gt;
&lt;br /&gt;
 MedigunShieldDamage 1 [$SIGSEGV] &lt;br /&gt;
If set to 1, bot medigun shields will damage players. Use &amp;quot;dmg penalty vs players&amp;quot; attribute to control damage dealt (default: 0)&lt;br /&gt;
&lt;br /&gt;
 StandableHeads 1 [$SIGSEGV] &lt;br /&gt;
If set, robots will not push the players of their heads (default: 0)&lt;br /&gt;
&lt;br /&gt;
 NoRomevisionCosmetics 1 [$SIGSEGV] &lt;br /&gt;
If set, robots will not wear romevision cosmetics unless forced to (default: 0)&lt;br /&gt;
&lt;br /&gt;
 BotsRandomCrit 1 [$SIGSEGV] &lt;br /&gt;
If set, robots will be able to deal random critical damage. Use &amp;quot;crit mod disabled&amp;quot; weapon attribute to control crit chance (default: 0)&lt;br /&gt;
&lt;br /&gt;
 AimTrackingIntervalMultiplier 3 [$SIGSEGV] &lt;br /&gt;
Scale of robot aim tracking interval (default: 1)&lt;br /&gt;
&lt;br /&gt;
 SniperAllowHeadshots 1 [$SIGSEGV] &lt;br /&gt;
If set, bot snipers can headshot (and amby spy) (default: 0)&lt;br /&gt;
&lt;br /&gt;
 ImprovedAirblast 1 [$SIGSEGV] &lt;br /&gt;
If set, bot pyros can deflect arrows grenades and stickybombs (default: 0)&lt;br /&gt;
&lt;br /&gt;
 NoSapUnownedBuildings 1 [$SIGSEGV] &lt;br /&gt;
If set, spies will not target unowned buildings (default: 0)&lt;br /&gt;
&lt;br /&gt;
 SentryBusterFriendlyFire 0 [$SIGSEGV] &lt;br /&gt;
If set to 0, buster will not damage robots (default: 1)&lt;br /&gt;
&lt;br /&gt;
 BotPushaway 0 [$SIGSEGV] &lt;br /&gt;
Should bots push each other away (default: 1)&lt;br /&gt;
&lt;br /&gt;
 SandmanStun 0 [$SIGSEGV] &lt;br /&gt;
Should the sandman ball stun players. 1 reverts the pre Jungle Inferno stun (default: 1)&lt;br /&gt;
&lt;br /&gt;
 SniperHideLasers 1 [$SIGSEGV] &lt;br /&gt;
If set, snipers will not display lasers when aiming&lt;br /&gt;
&lt;br /&gt;
 ForceRobotBleed 1 [$SIGSEGV] &lt;br /&gt;
If set to 1, robots bleed (default: 0)&lt;br /&gt;
&lt;br /&gt;
==Cash==&lt;br /&gt;
 BonusRatioHalf 0.75 [$SIGSEGV] &lt;br /&gt;
The ratio of collected cash required to be awarded 50 bonus credits. (default: 0.95)&lt;br /&gt;
&lt;br /&gt;
 BonusRatioFull 0.8 [$SIGSEGV] &lt;br /&gt;
The ratio of collected cash required to be awarded 100 bonus credits. (default: 1)&lt;br /&gt;
&lt;br /&gt;
 FixedBuybacks 1 [$SIGSEGV] &lt;br /&gt;
If set, the player can only use a number of free buybacks, as specified in BuybacksPerWave&lt;br /&gt;
&lt;br /&gt;
 BuybacksPerWave 6 [$SIGSEGV] &lt;br /&gt;
How many buybacks can a player use, when FixedBuybacks is set to 1 (default: 0)&lt;br /&gt;
&lt;br /&gt;
 DeathPenalty 100 [$SIGSEGV] &lt;br /&gt;
Player will lose this many credits after dying&lt;br /&gt;
&lt;br /&gt;
==Bomb== &lt;br /&gt;
&lt;br /&gt;
 FlagCarrierMovementPenalty 0.4 [$SIGSEGV] &lt;br /&gt;
Overrides flag carrier movement penalty (default: 0.5)&lt;br /&gt;
&lt;br /&gt;
 FlagEscortCountOffset 5 [$SIGSEGV] &lt;br /&gt;
Allow for this many additional flag escorts (default: 0)&lt;br /&gt;
&lt;br /&gt;
 AllowFlagCarrierToFight 1 [$SIGSEGV] &lt;br /&gt;
Allow bomb carrier to fight (default: 1)&lt;br /&gt;
&lt;br /&gt;
==Models and Animations==&lt;br /&gt;
&lt;br /&gt;
 PlayerRobotsUsePlayerAnimation 1 [$SIGSEGV] &lt;br /&gt;
Use player animations instead of robot ones&lt;br /&gt;
&lt;br /&gt;
 FixSetCustomModelInput 1 [$SIGSEGV] &lt;br /&gt;
Fixes lack of player animations after firing setcustommodel input on player&lt;br /&gt;
&lt;br /&gt;
 BotsAreHumans 1 [$SIGSEGV] &lt;br /&gt;
Bots use human models by default. If set to 1, bots can&#039;t be sapped, if set to 2, they can&lt;br /&gt;
&lt;br /&gt;
 BodyPartScaleSpeed 2 [$SIGSEGV] &lt;br /&gt;
How fast do &amp;quot;head scale&amp;quot; &amp;quot;torso scale&amp;quot; &amp;quot;hand scale&amp;quot; attributes scale the bot body parts (default: 1)&lt;br /&gt;
&lt;br /&gt;
==Reverse MvM==&lt;br /&gt;
 ReverseWinConditions 1 [$SIGSEGV] &lt;br /&gt;
Player team wins if bots deliver the bomb.&lt;br /&gt;
&lt;br /&gt;
 SetCreditTeam 3 [$SIGSEGV] &lt;br /&gt;
Sets which team can pickup money. Set to 3 to allow blu team to collect money instead&lt;br /&gt;
&lt;br /&gt;
 BluHumanFlagCapture 1 [$SIGSEGV] &lt;br /&gt;
Can blu humans capture the flag&lt;br /&gt;
&lt;br /&gt;
 BluHumanFlagPickup 1 [$SIGSEGV] &lt;br /&gt;
Can blu humans pickup flags&lt;br /&gt;
&lt;br /&gt;
 BluHumanInfiniteAmmo 0 [$SIGSEGV] &lt;br /&gt;
Enable infinite ammo for blu humans (default: 1)&lt;br /&gt;
&lt;br /&gt;
 BluHumanInfiniteCloak 1 [$SIGSEGV] &lt;br /&gt;
Enable infinite cloak for blu humans (default: 1)&lt;br /&gt;
&lt;br /&gt;
 AllowJoinTeamBlueMax 4 [$SIGSEGV] &lt;br /&gt;
How many players can join the blue team&lt;br /&gt;
&lt;br /&gt;
 AllowJoinTeamBlue 1 [$SIGSEGV] &lt;br /&gt;
If it is possible to join team blue&lt;br /&gt;
&lt;br /&gt;
 HumansMustJoinTeam blue [$SIGSEGV] &lt;br /&gt;
Set to blue to force players join the blu team&lt;br /&gt;
&lt;br /&gt;
 BluPlayersAreRobots 1 [$SIGSEGV] &lt;br /&gt;
If set, blu players use robot models&lt;br /&gt;
&lt;br /&gt;
 BotTeleportUberDuration 2 [$SIGSEGV] &lt;br /&gt;
How long should uber last for robots exiting engineer bot teleporter (default: 5)&lt;br /&gt;
&lt;br /&gt;
 BluHumanTeleportOnSpawn 1 [$SIGSEGV] &lt;br /&gt;
Should players get teleported to engineer bot teleport on spawn (default: 0)&lt;br /&gt;
&lt;br /&gt;
 BluHumanBotTeleporter 1 [$SIGSEGV] &lt;br /&gt;
Should player teleporters teleport players and bots on spawn (default: 0)&lt;br /&gt;
&lt;br /&gt;
==Gameplay== &lt;br /&gt;
&lt;br /&gt;
 ConchHealthOnHit 0.77 [$SIGSEGV] &lt;br /&gt;
Health on hit percentage for conch (default: 0.35)&lt;br /&gt;
&lt;br /&gt;
 MarkedForDeathLifetime 1 [$SIGSEGV] &lt;br /&gt;
Marked for death duration (default: 15)&lt;br /&gt;
&lt;br /&gt;
 VacNumCharges 16 [$SIGSEGV] &lt;br /&gt;
Number of charges for Vaccinator (default: 4)&lt;br /&gt;
&lt;br /&gt;
 DoubleDonkWindow 99 [$SIGSEGV] &lt;br /&gt;
Max time for double donk to register (default: 0.5)&lt;br /&gt;
&lt;br /&gt;
 ConchSpeedBoost 10 [$SIGSEGV] &lt;br /&gt;
Speed boost provided by the Conch, limited to 40% total speed increase (default: 105)&lt;br /&gt;
&lt;br /&gt;
 StealthDamageReduction 0.1 [$SIGSEGV] &lt;br /&gt;
Damage reduction provided by invis watch (default: 0.8)&lt;br /&gt;
&lt;br /&gt;
 HealOnKillOverhealMelee 1 [$SIGSEGV] &lt;br /&gt;
Heal on kill with melee weapons overheal (default: 1)&lt;br /&gt;
&lt;br /&gt;
 FixHuntsmanDamageBonus 1 [$SIGSEGV] &lt;br /&gt;
Fix huntsman damage bonus upgrade so it is applied correctly. Does not affect huntsman bots (default: 0)&lt;br /&gt;
&lt;br /&gt;
==Movement==&lt;br /&gt;
&lt;br /&gt;
 BunnyHop 1 [$SIGSEGV] &lt;br /&gt;
Allow bunnyhopping. 1 enables auto bhop. 2 disables auto bhop (default: 0)&lt;br /&gt;
&lt;br /&gt;
 Accelerate 100 [$SIGSEGV] &lt;br /&gt;
Acceleration rate (default: 10)&lt;br /&gt;
&lt;br /&gt;
 AirAccelerate 100 [$SIGSEGV] &lt;br /&gt;
Air Acceleration (turning) rate (default: 10)&lt;br /&gt;
&lt;br /&gt;
==Teleporters== &lt;br /&gt;
&lt;br /&gt;
 BotTeleportUberDuration 2 [$SIGSEGV] &lt;br /&gt;
How long should uber last for robots exiting engineer bot teleporter (default: 5)&lt;br /&gt;
&lt;br /&gt;
 BotsUsePlayerTeleporters 0 [$SIGSEGV] &lt;br /&gt;
Should bots use player teleporter entrances (default: 1)&lt;br /&gt;
&lt;br /&gt;
==Miscellaneous==&lt;br /&gt;
 NoReanimators 1 [$SIGSEGV] &lt;br /&gt;
Disable reanimators&lt;br /&gt;
&lt;br /&gt;
 NoMvMDeathTune 1 [$SIGSEGV] &lt;br /&gt;
Disables sound played when a player is killed&lt;br /&gt;
&lt;br /&gt;
 RemoveGrapplingHooks 1 [$SIGSEGV] &lt;br /&gt;
Grappling hooks are destroyed after specified amount of seconds&lt;br /&gt;
&lt;br /&gt;
 MedievalMode 1 [$SIGSEGV] &lt;br /&gt;
Players can only use melee weapons. Bots are not weapon restricted&lt;br /&gt;
&lt;br /&gt;
 GrapplingHook 1 [$SIGSEGV] &lt;br /&gt;
Allow equipping mannpower grappling hook, replaces the default canteen&lt;br /&gt;
&lt;br /&gt;
 DisableSound &amp;quot;Weapon_Shotgun.Single&amp;quot; [$SIGSEGV] &lt;br /&gt;
Disable sound. Note that client side sounds cannot be disabled. Must use sound script unless there is only a raw version of the sound&lt;br /&gt;
&lt;br /&gt;
 RobotLimit 26 [$SIGSEGV] &lt;br /&gt;
Adjusts the robot limit. Increasing it will reduce max spectator and player count.&lt;br /&gt;
&lt;br /&gt;
There are 4 extra spectator slots, RobotLimit &amp;gt;26 will reduce the max player count of 6 (default: 22)&lt;br /&gt;
&lt;br /&gt;
 EnableDominations 1 [$SIGSEGV] &lt;br /&gt;
Enables player/bot dominations&lt;br /&gt;
&lt;br /&gt;
 SendBotsToSpectatorImmediately 1 [$SIGSEGV] &lt;br /&gt;
Should the bots be transferred to spectator team immediately after dying. Use this if your mission consists of lots of easy to kill enemies (default: 0)&lt;br /&gt;
&lt;br /&gt;
 NoHolidayPickups 1 [$SIGSEGV] &lt;br /&gt;
If set, pickups will remain with default models (default: 0)&lt;br /&gt;
&lt;br /&gt;
 MaxSpectators 0 [$SIGSEGV] &lt;br /&gt;
Set max spectator count (default: infinite)&lt;br /&gt;
&lt;br /&gt;
 MaxRedPlayers 6 [$SIGSEGV] &lt;br /&gt;
Override max red player count (default: 6)&lt;br /&gt;
&lt;br /&gt;
 DisplayRobotDeathNotice 1 [$SIGSEGV] &lt;br /&gt;
If set, regular robot death is mentioned in the kill feed (default: 0)&lt;br /&gt;
&lt;br /&gt;
 TextPrintTime 7 [$SIGSEGV] &lt;br /&gt;
How fast a line from the wave description is displayed in the middle of the screen. Use 0 to disable (default: 4)&lt;br /&gt;
&lt;br /&gt;
 MaxSpeedLimit 521 [$SIGSEGV] &lt;br /&gt;
Max speed limit override. Values above 520 enchance giant scout movement. Values above 521 disable jumping on stuck (default: 520)&lt;br /&gt;
&lt;br /&gt;
 MaxEntitySpeed 10000 [$SIGSEGV] &lt;br /&gt;
Max entity speed limit override (default: 3500)&lt;br /&gt;
&lt;br /&gt;
 NoMissionInfo 0 [$SIGSEGV] &lt;br /&gt;
Disable !missioninfo command (default: 0)&lt;br /&gt;
&lt;br /&gt;
 MaxActiveSkeletons 999 [$SIGSEGV] &lt;br /&gt;
Max active skeletons at once (default: 30)&lt;br /&gt;
&lt;br /&gt;
 WaveStartCountdown 9 [$SIGSEGV] &lt;br /&gt;
Wave start countdown duration once all players are ready. Values below 10 disable announcer, values below 9 disable starting music (default: 10)&lt;br /&gt;
&lt;br /&gt;
 FastNPCUpdate 1 [$SIGSEGV] &lt;br /&gt;
If set to 1, NPCs such as halloween bosses will update every tick (default: 0)&lt;br /&gt;
&lt;br /&gt;
 NoJoinMidwave 1 [$SIGSEGV] &lt;br /&gt;
If set to 1, players that joined the server midwave cannot spawn, unless they buyback (default: 0)&lt;br /&gt;
&lt;br /&gt;
 MinibossSentrySingleKill 1 [$SIGSEGV] &lt;br /&gt;
If set to 1, minibosses count as single kill for the sentry (default: 0)&lt;br /&gt;
&lt;br /&gt;
 BotHumansHaveRobotVoice 1 [$SIGSEGV] &lt;br /&gt;
If set to 1, bots with human models have robot voice (default: 0)&lt;br /&gt;
&lt;br /&gt;
 BotHumansHaveEyeGlow 1 [$SIGSEGV] &lt;br /&gt;
If set to 1, bots with human models have eye glow (default: 0)&lt;br /&gt;
&lt;br /&gt;
 CustomEyeParticle &amp;quot;eye_powerup_green_lvl_4&amp;quot; [$SIGSEGV] &lt;br /&gt;
Custom eye glow particle (default: &amp;quot;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
 NoSkeletonSplit 1 [$SIGSEGV] &lt;br /&gt;
Do not split medium skeletons after death (default: 0)&lt;br /&gt;
&lt;br /&gt;
 StuckTimeMultiplier 1 [$SIGSEGV] &lt;br /&gt;
Multiplier of how fast the bot detects stuck. 3 means bot detect stuck 3 times faster than normal (staying for 4s in 100hu area) (default: 1)&lt;br /&gt;
&lt;br /&gt;
 NoCreditsVelocity 1 [$SIGSEGV] &lt;br /&gt;
If set credits spawn with no velocity (default: 0)&lt;br /&gt;
&lt;br /&gt;
 RestoreNegativeDamageHealing 1 [$SIGSEGV] &lt;br /&gt;
Allow negative damage to overheal (default: 0)&lt;br /&gt;
&lt;br /&gt;
 TurboPhysics 0 [$SIGSEGV] &lt;br /&gt;
Turn off to allow players interacting with physics objects like vehicles (default: 1)&lt;br /&gt;
&lt;br /&gt;
 CustomNavFile &amp;quot;mvm_bigrock_somecustomnav&amp;quot; [$SIGSEGV] &lt;br /&gt;
Custom nav file name&lt;br /&gt;
&lt;br /&gt;
 CustomScriptSoundFile &amp;quot;scripts/sigsegv_sound_overrides.txt&amp;quot; [$SIGSEGV] &lt;br /&gt;
&lt;br /&gt;
 FastEntityNameLookup 1 [$SIGSEGV] &lt;br /&gt;
Decreases entity lookup time 2-4 times. Set to 0 if you are reading m_iName or m_iClassname from datamaps directly and expecting uppercase letters (with $getdata or $setdata input for example) (default: 1)&lt;br /&gt;
&lt;br /&gt;
[[Category:Popfile Additions]]&lt;/div&gt;</summary>
		<author><name>Seelpit</name></author>
	</entry>
	<entry>
		<id>https://sigwiki.potato.tf/index.php?title=Main_Page&amp;diff=7359</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://sigwiki.potato.tf/index.php?title=Main_Page&amp;diff=7359"/>
		<updated>2023-10-22T22:39:34Z</updated>

		<summary type="html">&lt;p&gt;Seelpit: Added war paint IDs document and the csrd.science list of TF2 items; minor rewording and space changes.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to Potato&#039;s Custom MvM Wiki. Here you can find information about how to make your own MvM missions, resources for mission making, and information on our custom server mods.    &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Vanilla Tutorials ==&lt;br /&gt;
* [https://www.youtube.com/watch?v=Z98ei5JLS_g&amp;amp;t=253s Basic Tutorial on how to make popfiles]&lt;br /&gt;
*[https://drive.google.com/file/d/1N-DBsZiKiqjD4OSQH2bRLsYq1Sq4gHhA/view?usp=sharing Titanium Tank Mission Making Guide]&lt;br /&gt;
* [https://steamcommunity.com/sharedfiles/filedetails/?id=1451627628 Canteen Crasher Mission Making Guide]&lt;br /&gt;
* [https://drive.google.com/file/d/1rwcsiZJtKLcbfSBR3o-seQIxq_tTjzPJ/view?usp=sharing Madness vs Machines Expert Mission Making Guide]&lt;br /&gt;
*[https://steamcommunity.com/sharedfiles/filedetails/?id=1911160067 Advanced Popfile Tricks]&lt;br /&gt;
*[[Attribute information|Misc. documentation on certain attributes]]&lt;br /&gt;
&lt;br /&gt;
== [[:Category:Tutorials|Modded Tutorials]] ==&lt;br /&gt;
&lt;br /&gt;
* [[Create custom item decals]]&lt;br /&gt;
*[https://steamcommunity.com/sharedfiles/filedetails/?id=2289315026 Introduction to Point Template Spawners]&lt;br /&gt;
* [https://sigwiki.potato.tf/index.php/Design_PointTemplate_with_hammer_map_editor Designing your Point Templates in Hammer]&lt;br /&gt;
* [[Reverse MvM Beginners Guide]]&lt;br /&gt;
* [https://sigwiki.potato.tf/index.php/Installing_on_Windows_with_WSL Installing Sigmod on Windows with WSL]&lt;br /&gt;
== [[:Category:Templates|Templates]] ==&lt;br /&gt;
&lt;br /&gt;
* [[Spider Tank]]&lt;br /&gt;
* [[Modular Gatebots]]&lt;br /&gt;
* [[Vaccinator Tank]]&lt;br /&gt;
* [[Small Turret Tanks|Small Turret Tank]]&lt;br /&gt;
*[[Rotating Shield]]&lt;br /&gt;
*[[Timers]]&lt;br /&gt;
== [[:Category:Popfile Additions|Custom popfile additions]] ==&lt;br /&gt;
&lt;br /&gt;
* [[WaveSchedule]]&lt;br /&gt;
* [[Wave]]&lt;br /&gt;
* [[WaveSpawn]]&lt;br /&gt;
* [[TFBot]]&lt;br /&gt;
== [[:Category:Misc Additions|Miscellaneous additions]] ==&lt;br /&gt;
&lt;br /&gt;
* [[Entity Additions]]&lt;br /&gt;
*[[Entity Modules]]&lt;br /&gt;
* [[Custom Entities]]&lt;br /&gt;
* [[Sound Additions]]&lt;br /&gt;
* [[List of custom attributes]]&lt;br /&gt;
*[[List of modifications to vanilla attributes]]&lt;br /&gt;
*[[Expressions]]&lt;br /&gt;
*[[Lua|Lua Scripting]]&lt;br /&gt;
== [[:Category:References|References]] ==&lt;br /&gt;
&lt;br /&gt;
* [https://testing.potato.tf/mvm_bigrock_sigdemo.pop Demonstrative SigMod mission]&lt;br /&gt;
* [[List of item definitions]]&lt;br /&gt;
* [https://csrd.science/misc/econ-tf/items.html Complete list of item names] (internal and display)&lt;br /&gt;
* [https://wiki.teamfortress.com/wiki/List_of_item_attributes List of vanilla item attributes]&lt;br /&gt;
* [https://wiki.teamfortress.com/wiki/Cheats#addcond List of AddCond values]&lt;br /&gt;
* [https://gist.github.com/sigsegv-mvm/9ce39744fde2aa4c6156 Documentation of all vanilla popfile keyvalues]&lt;br /&gt;
* [[Unusual effect IDs]]&lt;br /&gt;
* [https://github.com/sigsegv-mvm/population Population files used by Valve missions]&lt;br /&gt;
* [[Entity Properties]]&lt;br /&gt;
&lt;br /&gt;
== Misc Resources ==&lt;br /&gt;
&lt;br /&gt;
* [https://testing.potato.tf/icons.html Wavebar Icon Repository] &lt;br /&gt;
* [https://marketplace.visualstudio.com/items?itemName=PotatoMvM.popfile-language-support Vanilla Popfile Syntax Highligher for VSCode]&lt;br /&gt;
* [https://www.dropbox.com/s/1w6v8udq74x2gy3/popfile.tmLanguage.json?dl=0 Sigmod Syntax Highlighter for VSCode]&lt;br /&gt;
* [https://cdn.discordapp.com/attachments/480416823695638578/945446119842938880/Pop_File_Highlighter.xml Vanilla + Sigmod Syntax Highlighter for Notepad++ (slightly outdated)]&lt;br /&gt;
* [https://cdn.discordapp.com/attachments/480416823695638578/933769904778264686/bettericons.zip Fixed valve icons] &lt;br /&gt;
* [https://github.com/Mince64/Popfile-Modifier/tree/main Wavebar Generator]&lt;br /&gt;
* [https://github.com/NPsim/P3/releases/tag/2.1.0 Standalone Popfile Parser]&lt;br /&gt;
* [https://docs.google.com/document/d/e/2PACX-1vR4mcdvfPIib0sfEtzhv_l6lz42ox6xmFr4jxVYceSxL8na9fkrxVkTFz5qVbl1qV3A4VzY-t7CJ-f8/pub War Paint IDs for Decorated weapons] (War Paints do not work in vanilla)&lt;/div&gt;</summary>
		<author><name>Seelpit</name></author>
	</entry>
	<entry>
		<id>https://sigwiki.potato.tf/index.php?title=Additions_to_existing_entities&amp;diff=7356</id>
		<title>Additions to existing entities</title>
		<link rel="alternate" type="text/html" href="https://sigwiki.potato.tf/index.php?title=Additions_to_existing_entities&amp;diff=7356"/>
		<updated>2023-10-16T12:21:34Z</updated>

		<summary type="html">&lt;p&gt;Seelpit: Silght rewording of various $Get.. functions&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOEDITSECTION__&lt;br /&gt;
== Targeting ==&lt;br /&gt;
&lt;br /&gt;
* You can target parent of specified entity by adding @p@. @p@!activator would target parent of the activator entity&lt;br /&gt;
* You can target children of specified entity by adding @c@ prefix. @c@!activator would target children of the activator entity&lt;br /&gt;
*Target all entities in a box by adding @bbxmin ymin zmin xmax ymax zmax@ prefix. @bb-100 -100 -100 100 100 100@prop_dynamic would target prop_dynamic entities inside -100 -100 -100 100 100 100 world coordinates box&lt;br /&gt;
*Target entities matching the filter by adding @f@ prefix. @f@filtername@entityname would target all entityname that pass the filtername filter&lt;br /&gt;
*Target entity from datamap/sendprop by adding @e@ prefix. @e@m_hOwnerEntity@!activator would target the owner entity of !activator. You can also target in array with $. @e@m_hMyWeapons$1@!activator would target secondary weapon of !activator.&lt;br /&gt;
&lt;br /&gt;
==Various==&lt;br /&gt;
&lt;br /&gt;
*You can execute an input immediately rather than with at least 1 tick delay by setting input delay to -1. This allows you to access !activator of $OnKilled entity&lt;br /&gt;
&lt;br /&gt;
== [[Expressions]] ==&lt;br /&gt;
[[Expressions]] can be used to calculate input parameters without the need of extra logic entities&lt;br /&gt;
&lt;br /&gt;
==point_viewcontrol==&lt;br /&gt;
&lt;br /&gt;
=== Keyvalues ===&lt;br /&gt;
&lt;br /&gt;
* $allowdamage &amp;lt;1/0&amp;gt;&lt;br /&gt;
** Should the player/s operating the camera receive damage. 0 by default&lt;br /&gt;
&lt;br /&gt;
===Inputs ===&lt;br /&gt;
&lt;br /&gt;
*$EnableAll&lt;br /&gt;
**Enable the camera for all players on the map. Spawnflag [512] may not work properly. (&#039;&#039;Start At Player, Interruptable by Player&#039;&#039;)&lt;br /&gt;
*$DisableAll&lt;br /&gt;
**Disable the camera for all players on the map&lt;br /&gt;
*$SetTarget &amp;lt;entity&amp;gt; &lt;br /&gt;
**Set current target to entity&lt;br /&gt;
&lt;br /&gt;
== Sentry Gun (obj_sentrygun)==&lt;br /&gt;
===Spawnflags===&lt;br /&gt;
*&#039;&#039;&#039;[64]&#039;&#039;&#039; - Spawn as mini-sentry&lt;br /&gt;
&lt;br /&gt;
=== Keyvalues ===&lt;br /&gt;
&lt;br /&gt;
* $attributeoverride &amp;lt;1/0&amp;gt;&lt;br /&gt;
** Ignores player attributes and uses keyvalues below instead&lt;br /&gt;
&lt;br /&gt;
*$fireratemult &amp;lt;float&amp;gt;&lt;br /&gt;
**Bullet fire rate multiplier&lt;br /&gt;
&lt;br /&gt;
*$rangemult &amp;lt;float&amp;gt;&lt;br /&gt;
**range multiplier&lt;br /&gt;
*$damagemult &amp;lt;float&amp;gt;&lt;br /&gt;
**Damage multiplier&lt;br /&gt;
*$maxlevel &amp;lt;int&amp;gt;&lt;br /&gt;
**Maximum level&lt;br /&gt;
*$rapidfire &amp;lt;1/0&amp;gt;&lt;br /&gt;
**Allow firing every tick, rather than after every 3rd tick&lt;br /&gt;
*$ammomult &amp;lt;float&amp;gt;&lt;br /&gt;
**Ammo multiplier&lt;br /&gt;
*$rocketfireratemult &amp;lt;float&amp;gt;&lt;br /&gt;
**Rocket fire rate multiplier&lt;br /&gt;
*$bulletweapon &amp;lt;string&amp;gt;&lt;br /&gt;
**Use a specific weapon name as bullet attack, can be a custom weapon&lt;br /&gt;
*$rocketweapon &amp;lt;string&amp;gt;&lt;br /&gt;
**Use a specific weapon name as rocket attack, can be a custom weapon&lt;br /&gt;
*$sentrymodelprefix &amp;lt;string&amp;gt;&lt;br /&gt;
**Sentry model prefix&lt;br /&gt;
**Example: models/buildables/sentry&lt;br /&gt;
*$projspeedmult &amp;lt;float&amp;gt;&lt;br /&gt;
**Sentry rocket speed multiplier&lt;br /&gt;
*$cannotbesapped &amp;lt;1/0&amp;gt;&lt;br /&gt;
**This building cannot be sapped&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
*$OnShootBullet&lt;br /&gt;
**Called when the sentry shoots a bullet, the sentry is  &amp;lt;code&amp;gt;!activator&amp;lt;/code&amp;gt;&lt;br /&gt;
*$OnShootRocket&lt;br /&gt;
**Called when the sentry shoots a rocket, the projectile is  &amp;lt;code&amp;gt;!activator&amp;lt;/code&amp;gt;&lt;br /&gt;
*$OnShootWeaponBullet&lt;br /&gt;
**Called when the sentry shoots a bullet weapon, the projectile is &amp;lt;code&amp;gt;!activator&amp;lt;/code&amp;gt;&lt;br /&gt;
*$OnShootWeaponRocket&lt;br /&gt;
**Called when the sentry shoots a rocket weapon, the projectile is  &amp;lt;code&amp;gt;!activator&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Teleporter (obj_teleporter) ==&lt;br /&gt;
&lt;br /&gt;
===Keyvalues===&lt;br /&gt;
*$TeleportWhere &amp;lt;string&amp;gt;&lt;br /&gt;
**Teleport bots from specified botspawn name. It is possible to add multiple TeleportWhere keys. &amp;quot;all&amp;quot; name will teleport all bots, &amp;quot;small&amp;quot; will teleport all small bots, &amp;quot;giants&amp;quot; will teleport giants and their squad&lt;br /&gt;
*$attributeoverride &amp;lt;1/0&amp;gt;&lt;br /&gt;
** Ignores player attributes and uses keyvalues below instead&lt;br /&gt;
*$bidirectional &amp;lt;1/0&amp;gt;&lt;br /&gt;
**If the teleport can be used in both directions&lt;br /&gt;
*$maxlevel &amp;lt;int&amp;gt;&lt;br /&gt;
**Maximum level&lt;br /&gt;
*$rechargeratemult &amp;lt;float&amp;gt;&lt;br /&gt;
**Recharge rate multiplier&lt;br /&gt;
*$speedboost &amp;lt;1/0&amp;gt;&lt;br /&gt;
**Apply 4s speed boost after exiting teleporter&lt;br /&gt;
*$teleportermodelprefix &amp;lt;string&amp;gt;&lt;br /&gt;
**Teleporter model prefix&lt;br /&gt;
**Example: models/buildables/teleporter&lt;br /&gt;
*$cannotbesapped &amp;lt;1/0&amp;gt;&lt;br /&gt;
**This building cannot be sapped&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
*$OnTeleportReceive&lt;br /&gt;
**Teleport exit calls this when it receives a player, the player is  &amp;lt;code&amp;gt;!activator&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Dispenser (obj_dispenser) ==&lt;br /&gt;
&lt;br /&gt;
===Keyvalues===&lt;br /&gt;
&lt;br /&gt;
* $attributeoverride &amp;lt;1/0&amp;gt;&lt;br /&gt;
** Ignores player attributes and uses keyvalues below instead&lt;br /&gt;
&lt;br /&gt;
*$radiusmult &amp;lt;float&amp;gt;&lt;br /&gt;
**Dispenser radius multiplier&lt;br /&gt;
*$maxlevel &amp;lt;int&amp;gt;&lt;br /&gt;
**Maximum level&lt;br /&gt;
*$ratemult &amp;lt;float&amp;gt;&lt;br /&gt;
**Dispenser provided health/ammo multiplier&lt;br /&gt;
*$dispensermodelprefix&amp;lt;string&amp;gt;&lt;br /&gt;
**Dispenser model prefix&lt;br /&gt;
**Example: models/buildables/dispenser&lt;br /&gt;
*$cannotbesapped &amp;lt;1/0&amp;gt;&lt;br /&gt;
**This building cannot be sapped&lt;br /&gt;
&lt;br /&gt;
==Weapon Mimic (tf_point_weapon_mimic)==&lt;br /&gt;
*Fired projectiles can have their team assigned with teamnum keyvalue (2 for RED and 3 for BLU). Previously all fired projectiles always belonged to the BLU team&lt;br /&gt;
*If the player owner is set with $SetOwner or $InheritOwner, fired projectiles are assigned to the owner&lt;br /&gt;
* Fired stickybombs are automatically removed if the mimic is removed&lt;br /&gt;
*Added projectile type 4 - Bullet.  SpeedMax keyvalue determines max distance (infinite if not specified). SplashRadius determines knockback force&lt;br /&gt;
*It is possible to mimic a specific weapon. Setting owner might be required for the weapon to function properly. Setting a mimic weapon disables all other mimic properties except crits&lt;br /&gt;
&lt;br /&gt;
=== Keyvalues===&lt;br /&gt;
&lt;br /&gt;
*$preventshootparent &amp;lt;1/0&amp;gt;&lt;br /&gt;
**If set, bullets fired from the mimic cannot hit the parent entity&lt;br /&gt;
*$dmgtype &amp;lt;int&amp;gt; &lt;br /&gt;
**Set custom damage type&lt;br /&gt;
*$killicon &amp;lt;string&amp;gt; &lt;br /&gt;
**Set custom kill icon&lt;br /&gt;
*$weaponname &amp;lt;string&amp;gt;&lt;br /&gt;
**Set mimic weapon name, custom weapon names are allowed. &lt;br /&gt;
**Example: The Righteous Bison&lt;br /&gt;
**Some weapons (flamethrowers) will not work.&lt;br /&gt;
**If the mimic owner is not set, some weapons (The Dragon&#039;s Fury) will crash the game, or break in other ways&lt;br /&gt;
*$firetime &amp;lt;float&amp;gt;&lt;br /&gt;
**Delay between shots for $StartFiring input&lt;br /&gt;
*$weaponnosound &amp;lt;1/0&amp;gt;&lt;br /&gt;
**If set, disables weapon fire sound&lt;br /&gt;
&lt;br /&gt;
=== Inputs ===&lt;br /&gt;
&lt;br /&gt;
* $AddWeaponAttribute &amp;lt;string&amp;gt;&lt;br /&gt;
** Adds attribute to the mimic weapon, example: projectile speed increased|2&lt;br /&gt;
*$RemoveWeaponAttribute &amp;lt;string&amp;gt;&lt;br /&gt;
** Remove attribute from the mimic weapon, example: projectile speed increased&lt;br /&gt;
*$StartFiring &amp;lt;int&amp;gt;&lt;br /&gt;
**Starts firing automatically specified number of projectiles, 1 minimum, with $firetime delay between shots&lt;br /&gt;
*$StopFiring&lt;br /&gt;
**Stops firing automatically&lt;br /&gt;
&lt;br /&gt;
===Outputs===&lt;br /&gt;
&lt;br /&gt;
*$OnFire&lt;br /&gt;
**Called when the projectile is being fired, with the projectile as &amp;lt;code&amp;gt;!activator&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Spawnflags===&lt;br /&gt;
* &#039;&#039;&#039;[4]&#039;&#039;&#039; - Fire &amp;quot;OnUser4&amp;quot; output when projectile is fired, with the projectile as &amp;lt;code&amp;gt;!activator&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Tank (tank_boss)== &lt;br /&gt;
&lt;br /&gt;
*When tank starts deploying, and there is at least one PointTemplate assigned to it, &amp;quot;OnUser4&amp;quot; output is activated&lt;br /&gt;
&lt;br /&gt;
=== Outputs===&lt;br /&gt;
&lt;br /&gt;
*$OnStartDeploy&lt;br /&gt;
**Fired when the tank is deploying the bomb&lt;br /&gt;
&lt;br /&gt;
==Medic shield (entity_medigun_shield)==&lt;br /&gt;
===Spawnflags===&lt;br /&gt;
*&#039;&#039;&#039;[1]&#039;&#039;&#039; - Don&#039;t expire and don&#039;t block LOS&lt;br /&gt;
*&#039;&#039;&#039;[2]&#039;&#039;&#039; - Use the LV2 Shield model&lt;br /&gt;
&lt;br /&gt;
==logic_case==&lt;br /&gt;
&lt;br /&gt;
===Text formatter===&lt;br /&gt;
With the use of the added inputs, logic_case can be transformed into a text formatter, replacing % in the format string into format parameters. &lt;br /&gt;
&lt;br /&gt;
Example point template usage:&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
Formatter&lt;br /&gt;
{&lt;br /&gt;
	OnSpawnOutput&lt;br /&gt;
	{&lt;br /&gt;
		Target &amp;quot;formattest&amp;quot;&lt;br /&gt;
		Action &amp;quot;$Format&amp;quot;&lt;br /&gt;
		Delay 1&lt;br /&gt;
	}&lt;br /&gt;
	logic_case&lt;br /&gt;
	{&lt;br /&gt;
		&amp;quot;targetname&amp;quot; &amp;quot;formattest&amp;quot;&lt;br /&gt;
		&amp;quot;case16&amp;quot; &amp;quot;You have % out of % coins left. % %% done&amp;quot; // Formatter string&lt;br /&gt;
		&amp;quot;case01&amp;quot; &amp;quot;6&amp;quot; //First argument&lt;br /&gt;
		&amp;quot;case02&amp;quot; &amp;quot;12&amp;quot; //Second argument&lt;br /&gt;
		&amp;quot;case03&amp;quot; &amp;quot;50&amp;quot; //Third argument&lt;br /&gt;
		&amp;quot;ondefault&amp;quot; &amp;quot;player,$DisplayTextCenter,,0,-1&amp;quot;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;This would display &amp;quot;You have 6 out of 12 coins left. 50 % done&amp;quot; to all players&lt;br /&gt;
&lt;br /&gt;
=== Menu===&lt;br /&gt;
You can use $DisplayMenu input to display a menu for the player, up to 15 entries&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
Menu&lt;br /&gt;
{&lt;br /&gt;
	OnSpawnOutput&lt;br /&gt;
	{&lt;br /&gt;
		Target &amp;quot;menutest&amp;quot;&lt;br /&gt;
		Action &amp;quot;$DisplayMenu&amp;quot;&lt;br /&gt;
		Delay 1&lt;br /&gt;
		Param &amp;quot;player&amp;quot;&lt;br /&gt;
	}&lt;br /&gt;
	logic_case&lt;br /&gt;
	{&lt;br /&gt;
		&amp;quot;targetname&amp;quot; &amp;quot;menutest&amp;quot;&lt;br /&gt;
		&amp;quot;case16&amp;quot; &amp;quot;Menu title|30|Cancel&amp;quot; // Title, menu duration (0 for infinite), display optional cancel button&lt;br /&gt;
		&amp;quot;case01&amp;quot; &amp;quot;option1&amp;quot; //First argument&lt;br /&gt;
		&amp;quot;case02&amp;quot; &amp;quot;!disabled option&amp;quot; //Second argument, disabled&lt;br /&gt;
		&amp;quot;case03&amp;quot; &amp;quot;suicide&amp;quot; //Third argument&lt;br /&gt;
		&amp;quot;oncase03&amp;quot; &amp;quot;!activator,sethealth,0,0,-1&amp;quot; // Selected 3rd option&lt;br /&gt;
		&amp;quot;ondefault&amp;quot; &amp;quot;player,$DisplayTextCenter,he,0,-1&amp;quot; // No option selected&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Inputs===&lt;br /&gt;
&lt;br /&gt;
*$FormatString &amp;lt;string&amp;gt; &lt;br /&gt;
**Sets formatting string, then fires OnDefault output, with formatted string as parameter&lt;br /&gt;
*$FormatStringNoFire &amp;lt;string&amp;gt;&lt;br /&gt;
**Sets formatting string&lt;br /&gt;
*$FormatInput1 &amp;lt;string&amp;gt;&lt;br /&gt;
**Sets formatting input argument 1, then fires OnDefault output, with formatted string as parameter&lt;br /&gt;
*$FormatInput2-15 &amp;lt;string&amp;gt;&lt;br /&gt;
** Sets formatting input argument 2-15, then fires OnDefault output, with formatted string as parameter&lt;br /&gt;
*$FormatInputNoFire1 &amp;lt;string&amp;gt;&lt;br /&gt;
**Sets formatting input argument 1&lt;br /&gt;
*$Format &lt;br /&gt;
**Fires OnDefault output, with formatted string as parameter&lt;br /&gt;
*$TestSigsegv&lt;br /&gt;
**Fires OnUser1 output. Can be used to test if sigsegv extension is active&lt;br /&gt;
*$ToInt &amp;lt;any&amp;gt;&lt;br /&gt;
**Fires OnDefault output, converts parameter value from string/float to integer&lt;br /&gt;
*$ToFloat &amp;lt;any&amp;gt;&lt;br /&gt;
**Fires OnDefault output, converts value from string/int to real number&lt;br /&gt;
*$CallerToActivator &amp;lt;any&amp;gt;&lt;br /&gt;
**Fires OnDefault output, but the !caller entity is converted to !activator&lt;br /&gt;
* $GetKeyValueFromActivator &amp;lt;string&amp;gt;&lt;br /&gt;
**Fires OnDefault output, the key value from the !activator entity is the parameter&lt;br /&gt;
*$GetConVar &amp;lt;string&amp;gt;&lt;br /&gt;
**Fires OnDefault output, the convar (console variable) number value is the parameter&lt;br /&gt;
*$GetConVarString &amp;lt;string&amp;gt;&lt;br /&gt;
**Fires OnDefault output, the convar (console variable) string value is the parameter&lt;br /&gt;
*$DisplayMenu &amp;lt;entity&amp;gt;&lt;br /&gt;
**Display menu at player&lt;br /&gt;
*$HideMenu &amp;lt;entity&amp;gt;&lt;br /&gt;
**Hide menu at player&lt;br /&gt;
*$BitTest &amp;lt;number&amp;gt;&lt;br /&gt;
**Fires all cases where after the bitwise AND operation between the parameter and the case value, the result is not 0&lt;br /&gt;
&lt;br /&gt;
* $BitTestAll &amp;lt;number&amp;gt;&lt;br /&gt;
** Fires all cases where after the bitwise AND operation between the parameter and the case value, the result is same as the parameter&lt;br /&gt;
&lt;br /&gt;
==tf_gamerules ==&lt;br /&gt;
&lt;br /&gt;
===Inputs===&lt;br /&gt;
&lt;br /&gt;
*$StopVO &amp;lt;string&amp;gt;&lt;br /&gt;
** Stops sound that was started with PlayVO input&lt;br /&gt;
&lt;br /&gt;
*$StopVORed &amp;lt;string&amp;gt;&lt;br /&gt;
**Stops sound that was started with PlayVORed input&lt;br /&gt;
&lt;br /&gt;
*$StopVOBlue &amp;lt;string&amp;gt;&lt;br /&gt;
**Stops sound that was started with PlayVOBlue input&lt;br /&gt;
*$SetBossHealthPercentage &amp;lt;float&amp;gt;&lt;br /&gt;
**Set Halloween boss bar percentage to a value between 0 and 1. 0 hides the health bar, any other value makes the bar appear&lt;br /&gt;
*$SetBossState &amp;lt;int&amp;gt;&lt;br /&gt;
**If set to 1, makes the health bar green, like if Merasmus is hiding. If set to 0, the bar goes back to normal&lt;br /&gt;
*$AddCurrencyGlobal &amp;lt;int&amp;gt;&lt;br /&gt;
**Add currency to all players&lt;br /&gt;
*$ChangeLevel &amp;lt;string&amp;gt;&lt;br /&gt;
**Changes level. To set a specific mission, type the mission name after | . Example: mvm_bigrock|advanced1&lt;br /&gt;
&lt;br /&gt;
== player ==&lt;br /&gt;
&lt;br /&gt;
===Inputs===&lt;br /&gt;
&lt;br /&gt;
* $AllowClassAnimations &amp;lt;0|1&amp;gt; &lt;br /&gt;
**Allow class animations instead of using refpose when UseCustomModel input is fired to change player model&lt;br /&gt;
*$SwitchClass &amp;lt;string&amp;gt;&lt;br /&gt;
**Switch player class. The parameter can be either a class name (heavyweapons for example), or class index&lt;br /&gt;
*$SwitchClassInPlace &amp;lt;string&amp;gt;&lt;br /&gt;
**Switch player class in current position. The parameter can be either a class name (heavyweapons for example), or class index&lt;br /&gt;
*$ForceRespawn&lt;br /&gt;
** The player instantly respawns&lt;br /&gt;
*$ForceRespawnDead&lt;br /&gt;
**The player instantly respawns, but only if they are dead&lt;br /&gt;
*$DisplayTextCenter &amp;lt;string&amp;gt; &lt;br /&gt;
** Display text in the middle of the screen&lt;br /&gt;
*$DisplayTextChat &amp;lt;string&amp;gt;&lt;br /&gt;
** Display text to the player&#039;s chat&lt;br /&gt;
*$DisplayTextHint &amp;lt;string&amp;gt;&lt;br /&gt;
** Display yellow text in the bottom part of the screen and play a sound cue&lt;br /&gt;
*$Suicide&lt;br /&gt;
**Kill the player&lt;br /&gt;
*$ChangeAttributes &amp;lt;string&amp;gt;&lt;br /&gt;
** If the player is a bot, this can be used to change active EventChangeAttributes&lt;br /&gt;
*$RollCommonSpell&lt;br /&gt;
**Roll common spell&lt;br /&gt;
*$SetSpell &amp;lt;string&amp;gt;&lt;br /&gt;
**Set player current spell to one of the following:&lt;br /&gt;
***Fireball&lt;br /&gt;
***Ball O&#039; Bats&lt;br /&gt;
***Healing Aura&lt;br /&gt;
***Pumpkin MIRV&lt;br /&gt;
*** Superjump&lt;br /&gt;
***Invisibility&lt;br /&gt;
***Teleport&lt;br /&gt;
***Tesla Bolt&lt;br /&gt;
***Minify&lt;br /&gt;
***Meteor Shower&lt;br /&gt;
***Summon Monoculus&lt;br /&gt;
***Summon Skeletons&lt;br /&gt;
*$AddSpell &amp;lt;string&amp;gt;&lt;br /&gt;
**Adds spell to the number of spells. If the spell is different than the current one, it replaces the spell. The parameter is the same as in $SetSpell&lt;br /&gt;
*$AddCond &amp;lt;int&amp;gt; [int]&lt;br /&gt;
** Add condition to player. If a second argument is present, the condition will only run for a specified duration&lt;br /&gt;
*$RemoveCond &amp;lt;int&amp;gt;&lt;br /&gt;
**Remove condition from player&lt;br /&gt;
*$AddPlayerAttribute &amp;lt;string&amp;gt;&lt;br /&gt;
**Add attribute to player, the parameter should be passed in this way: attribute|value. Example: &amp;quot;move speed bonus|1.2&amp;quot;&lt;br /&gt;
*$RemovePlayerAttribute &amp;lt;string&amp;gt;&lt;br /&gt;
**Remove attribute from player. Example: &amp;quot;move speed bonus&amp;quot;&lt;br /&gt;
*$GetPlayerAttribute &amp;lt;string&amp;gt;&lt;br /&gt;
**Sends attribute from player as the parameter.&lt;br /&gt;
**parameter format: attribute|entity|input|default value&lt;br /&gt;
**example: fire rate bonus|!activator|$DisplayTextChat|0&lt;br /&gt;
*$AddItemAttribute &amp;lt;string&amp;gt;&lt;br /&gt;
**Add attribute to item in slot, the parameter should be passed in this way: attribute|value|slot or item name. Example &amp;quot;damage bonus|2|0&amp;quot; adds 100% damage bonus to primary weapon, &amp;quot;damage penalty|0.5&amp;quot; adds 50% damage penalty to active weapon&lt;br /&gt;
*$RemoveItemAttribute &amp;lt;string&amp;gt;&lt;br /&gt;
** Remove attribute from item in slot, the parameter should be passed in this way: attribute|slot or item name. Example &amp;quot;damage bonus&amp;quot; removes damage bonus from primary weapon, &amp;quot;damage penalty&amp;quot; removes damage penalty from active weapon&lt;br /&gt;
*$GetItemAttribute &amp;lt;string&amp;gt;&lt;br /&gt;
**Sends item attribute value as the parameter.&lt;br /&gt;
** parameter format: slot or item name|attribute|entity|input|default value&lt;br /&gt;
**example to grab primary slot item&#039;s fire rate bonus value: 0|fire rate bonus|!activator|$DisplayTextChat|0&lt;br /&gt;
**You can also type -1 for active weapon or the item name.&lt;br /&gt;
*$PlaySoundToSelf &amp;lt;string&amp;gt;&lt;br /&gt;
** Play sound to the player&lt;br /&gt;
*$IgnitePlayerDuration &amp;lt;float&amp;gt; &lt;br /&gt;
**Ignite the player for a specified duration in seconds&lt;br /&gt;
*$WeaponSwitchSlot &amp;lt;int&amp;gt;&lt;br /&gt;
**Forcibly switches to weapon in slot&lt;br /&gt;
* $WeaponStripSlot &amp;lt;int&amp;gt;&lt;br /&gt;
**Removes weapon from a slot (-1 = current slot)&lt;br /&gt;
*$GiveItem &amp;lt;string&amp;gt;&lt;br /&gt;
**Gives an item to the player&lt;br /&gt;
*$AddCurrency &amp;lt;int&amp;gt;&lt;br /&gt;
**Add currency to the player&lt;br /&gt;
*$RemoveCurrency &amp;lt;int&amp;gt;&lt;br /&gt;
** Remove currency from the player&lt;br /&gt;
*$SetCurrency &amp;lt;int&amp;gt;&lt;br /&gt;
** Set currency to specified value&lt;br /&gt;
* $CurrencyOutputX &amp;lt;string&amp;gt;&lt;br /&gt;
**Fires input if player currency is above specified value (the X in input name), the attribute should be passed in this way: target,input,parameter.&lt;br /&gt;
*$CurrencyInvertOutputX&amp;lt;string&amp;gt;&lt;br /&gt;
**Fires input if player currency is below specified value(the X in input name), the attribute should be passed in this way: target,input,parameter&lt;br /&gt;
*$DropItem &amp;lt;int&amp;gt;&lt;br /&gt;
**Drop item in slot (-1 = current slot)&lt;br /&gt;
* $RemoveItem &amp;lt;string&amp;gt;&lt;br /&gt;
** Remove item with a name&lt;br /&gt;
*$Regenerate&lt;br /&gt;
**Regenerate the player, as if touching resupply cabinet&lt;br /&gt;
*$RefillAmmo&lt;br /&gt;
** Restore player ammo&lt;br /&gt;
*$PlaySequence &amp;lt;string&amp;gt;&lt;br /&gt;
**Play animation sequence with specified name&lt;br /&gt;
*$ResetInventory&lt;br /&gt;
**Reset loadout items, as if touching the resupply cabinet&lt;br /&gt;
*$BotCommand &amp;lt;string&amp;gt;&lt;br /&gt;
**Forces the bot to perform an action. Examples:&lt;br /&gt;
***interrupt_action -posent targetmove -lookposent targetlook -duration 10 -waituntildone -ondoneattributes AfterDone -name myname&lt;br /&gt;
****Move to entity targetmove, while looking at entity targetlook. Wait 10 seconds after moving to the target entity, then ChangeAttributes to AfterDone, and fire $onactiondone output with myname as parameter&lt;br /&gt;
***interrupt_action -posent targetkill -lookposent targetkill -killlook -waituntildone -alwayslook -distance 500&lt;br /&gt;
****Move to entity targetkill and try to destroy it. Always look at the target even if not in sight. Only move up to 500 units away from the target&lt;br /&gt;
***interrupt_action -pos 0 0 0 -lookpos 100 100 100 -duration 10&lt;br /&gt;
****Move to position 0 0 0 while looking at position 100 100 100 for the next 10 seconds&lt;br /&gt;
***interrupt_action_queue -pos 0 0 0 -lookpos 100 100 100 -duration 10&lt;br /&gt;
****Same as above, but add the action to the queue so it is only done when the previous interrupt action finishes&lt;br /&gt;
***clear_interrupt_action_queue&lt;br /&gt;
****Clears interrupt action queue added by above command&lt;br /&gt;
***remove_interrupt_action_queue_name name&lt;br /&gt;
****Delete from interrupt action queue if name matches&lt;br /&gt;
***stop interrupt action&lt;br /&gt;
****Stops current interrupt action&lt;br /&gt;
***switch_action action&lt;br /&gt;
****switch to different action. Sometimes this may fail (such as when the bot is carrying the bomb):&lt;br /&gt;
*****Default&lt;br /&gt;
*****FetchFlag&lt;br /&gt;
*****EscortFlag&lt;br /&gt;
*****PushToCapturePoint&lt;br /&gt;
*****Mobber&lt;br /&gt;
*****Spy&lt;br /&gt;
*****Sniper&lt;br /&gt;
*****SuicideBomber&lt;br /&gt;
*****Idle&lt;br /&gt;
*****Passive&lt;br /&gt;
*****Medic&lt;br /&gt;
***despawn&lt;br /&gt;
****Forces to bot to despawn&lt;br /&gt;
***taunt&lt;br /&gt;
****Forces the bot to taunt&lt;br /&gt;
***cloak&lt;br /&gt;
****Forces the spy bot to cloak&lt;br /&gt;
***uncloak&lt;br /&gt;
****Forces the spy bot to uncloak&lt;br /&gt;
***disguise&lt;br /&gt;
****Forces the spy bot to disguise as something&lt;br /&gt;
***build sentry at nearest sentry hint&lt;br /&gt;
*$Taunt&lt;br /&gt;
**Forces the player to taunt&lt;br /&gt;
*$TauntFromItem &amp;lt;string&amp;gt;&lt;br /&gt;
**Forces the player to taunt with specified item name. Also allows to insert attributes separated by |. Example: Conga Taunt|taunt move speed|1000&lt;br /&gt;
*$TauntIndexConcept &amp;lt;string&amp;gt;&lt;br /&gt;
**Forces the player to taunt with specified index and concept. Example: 0|0&lt;br /&gt;
*$TauntFromItem2 &amp;lt;string&amp;gt;&lt;br /&gt;
**Forces the player to taunt with specified item index. Also allows to modify attack time for &amp;quot;taunt attack&amp;quot;. Example: 1179|-0.5&lt;br /&gt;
*$AwardExtraItem &amp;lt;string&amp;gt;&lt;br /&gt;
**Awards extra loadout item with specified name to the player&lt;br /&gt;
*$AwardAndGiveExtraItem &amp;lt;string&amp;gt;&lt;br /&gt;
**Awards extra loadout item with specified name to the player, and equips it&lt;br /&gt;
*$StripExtraItem &amp;lt;string&amp;gt;&lt;br /&gt;
**Strips extra loadout item with specified name from the player&lt;br /&gt;
*$ResetExtraItems&lt;br /&gt;
**Strips all extra loadout items from the player&lt;br /&gt;
*$Stun &amp;lt;float&amp;gt;&lt;br /&gt;
**Stun player for specified duration in seconds&lt;br /&gt;
*$Slowdown &amp;lt;string&amp;gt;&lt;br /&gt;
**Slowdowns player by specified amount for specified duration&lt;br /&gt;
**Parameter format: slowdown|duration&lt;br /&gt;
*$SetFOV &amp;lt;int&amp;gt;&lt;br /&gt;
**Sets player FOV to specified amount. 0 FOV restores original fov&lt;br /&gt;
*$SetFOVDuration &amp;lt;string&amp;gt;&lt;br /&gt;
**Sets player FOV with zoom in duration and starting FOV&lt;br /&gt;
**Parameter format: fov|duration|start fov&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
&lt;br /&gt;
* $OnActionDone &amp;lt;string&amp;gt;&lt;br /&gt;
** Called when interrupt action finishes, the string parameter is a name of the interrupt action&lt;br /&gt;
&lt;br /&gt;
==trigger_hurt==&lt;br /&gt;
If entity owner is set with $SetOwner or $InheritOwner, the owner will become the damage inflictor&lt;br /&gt;
&lt;br /&gt;
==Filter entities==&lt;br /&gt;
The server will no longer crash if the activator entity got removed the time TestActivator is called&lt;br /&gt;
&lt;br /&gt;
===Inputs===&lt;br /&gt;
&lt;br /&gt;
*$TestEntity &amp;lt;entity&amp;gt; &lt;br /&gt;
**Test any entity, rather than only the !activator&lt;br /&gt;
&lt;br /&gt;
==Trigger entities==&lt;br /&gt;
The server will no longer crash if the caller entity got removed the time StartTouch or EndTouch is called&lt;br /&gt;
&lt;br /&gt;
===Inputs===&lt;br /&gt;
&lt;br /&gt;
*$StartTouchEntity &amp;lt;entity&amp;gt; &lt;br /&gt;
**StartTouch any entity, rather than only the !caller&lt;br /&gt;
*$EndTouchEntity &amp;lt;entity&amp;gt; &lt;br /&gt;
**EndTouch any entity, rather than only the !caller&lt;br /&gt;
&lt;br /&gt;
==game_ui==&lt;br /&gt;
The server will no longer crash if the player using the entity disconnected from the server&lt;br /&gt;
&lt;br /&gt;
== env_entity_maker ==&lt;br /&gt;
&lt;br /&gt;
=== Keyvalues ===&lt;br /&gt;
&lt;br /&gt;
* $autoparent &amp;lt;1/0&amp;gt;&lt;br /&gt;
** When the PointTemplate template is spawned via ForceSpawnAtEntityOrigin, the template entities will be automatically parented&lt;br /&gt;
* $Param(name) &amp;lt;string&amp;gt;&lt;br /&gt;
** Sets PointTemplate template param to a specified value&lt;br /&gt;
&lt;br /&gt;
== item_teamflag ==&lt;br /&gt;
&lt;br /&gt;
=== Keyvalues ===&lt;br /&gt;
&lt;br /&gt;
* $filter &amp;lt;entity&amp;gt;&lt;br /&gt;
** Targetname of a filter that defines if player can pick up the flag&lt;br /&gt;
*$disablebuffs &amp;lt;1/0&amp;gt;&lt;br /&gt;
**If bomb buffs should be disabled&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
*$OnPickup&lt;br /&gt;
**OnPickup but with player as activator&lt;br /&gt;
&lt;br /&gt;
*$OnDrop&lt;br /&gt;
**OnDrop but with player as activator&lt;br /&gt;
*$OnBombUpgradeLevel1&lt;br /&gt;
**Called when the bomb is upgraded to level 1&lt;br /&gt;
*$OnBombUpgradeLevel2&lt;br /&gt;
**Called when the bomb is upgraded to level 2&lt;br /&gt;
*$OnBombUpgradeLevel3&lt;br /&gt;
**Called when the bomb is upgraded to level 3&lt;br /&gt;
&lt;br /&gt;
== func_flagdetectionzone ==&lt;br /&gt;
&lt;br /&gt;
=== Keyvalues ===&lt;br /&gt;
&lt;br /&gt;
* $filter &amp;lt;entity&amp;gt;&lt;br /&gt;
** Targetname of a filter that defines if flag triggers the zone&lt;br /&gt;
*$filterplayer &amp;lt;entity&amp;gt;&lt;br /&gt;
** Targetname of a filter that defines if player with flag triggers the zone&lt;br /&gt;
&lt;br /&gt;
== point_push ==&lt;br /&gt;
&lt;br /&gt;
=== Keyvalues ===&lt;br /&gt;
&lt;br /&gt;
* $filter &amp;lt;entity&amp;gt;&lt;br /&gt;
** Targetname of a filter that defines if entity should be pushed&lt;br /&gt;
&lt;br /&gt;
==All entities ==&lt;br /&gt;
&lt;br /&gt;
=== Keyvalues ===&lt;br /&gt;
&lt;br /&gt;
* $modules &amp;lt;string&amp;gt;&lt;br /&gt;
** Comma separated list of [[Entity Modules|modules]] to attach to the entity&lt;br /&gt;
&lt;br /&gt;
===Inputs===&lt;br /&gt;
&lt;br /&gt;
*$FireUserAsActivator1-4 &amp;lt;string&amp;gt;&lt;br /&gt;
** Acts like FireUser1-4, but the entity becomes the !activator, and the parameter is passed in OnUser1-4 output&lt;br /&gt;
*$FireUser5-8 &amp;lt;string&amp;gt;&lt;br /&gt;
**Fires custom $onuser5-8 output&lt;br /&gt;
*$TakeDamage &amp;lt;int&amp;gt;&lt;br /&gt;
**Take specified amount of damage. Does not support negative values.&lt;br /&gt;
*$TakeDamageFromActivator &amp;lt;int&amp;gt;&lt;br /&gt;
** Take specified amount of damage, the !activator is the damage inflictor&lt;br /&gt;
*$SetModel &amp;lt;string&amp;gt;&lt;br /&gt;
** Set custom model&lt;br /&gt;
*$SetModelOverride &amp;lt;string&amp;gt;&lt;br /&gt;
**Set custom model for all vision modes at once. Doesn&#039;t change the original model.&lt;br /&gt;
*$SetModelSpecial &amp;lt;string&amp;gt;&lt;br /&gt;
**Set custom model, in a special way, it does less additional changes to the entity&lt;br /&gt;
*$SetOwner &amp;lt;entity&amp;gt;&lt;br /&gt;
** Set entity owner&lt;br /&gt;
*$ClearOwner&lt;br /&gt;
** Remove entity owner&lt;br /&gt;
*$InheritOwner &amp;lt;entity&amp;gt; &lt;br /&gt;
**Set entity owner to the passed entity owner&lt;br /&gt;
*$InheritParent &amp;lt;entity&amp;gt;&lt;br /&gt;
**Set entity parent to the passed entity parent&lt;br /&gt;
*$GetKeyValue &amp;lt;string&amp;gt; &lt;br /&gt;
**Fire OnUser1 output, with key value as a parameter&lt;br /&gt;
*$MoveType &amp;lt;int&amp;gt;,&amp;lt;int&amp;gt;&lt;br /&gt;
**Set move type&lt;br /&gt;
*$PlaySound &amp;lt;string&amp;gt;&lt;br /&gt;
**Play sound from this entity&lt;br /&gt;
*$StopSound &amp;lt;string&amp;gt;&lt;br /&gt;
**Stop playing sound from this entity&lt;br /&gt;
*$SetLocalOrigin &amp;lt;vector&amp;gt;&lt;br /&gt;
**Set origin relative to parent&lt;br /&gt;
*$SetLocalAngles &amp;lt;vector&amp;gt;&lt;br /&gt;
**Set angles relative to parent&lt;br /&gt;
*$SetLocalVelocity &amp;lt;vector&amp;gt;&lt;br /&gt;
**Set velocity relative to parent&lt;br /&gt;
*$TeleportToEntity &amp;lt;entity&amp;gt;&lt;br /&gt;
**Teleport to specified entity&lt;br /&gt;
*$MoveRelative &amp;lt;vector&amp;gt;&lt;br /&gt;
**Move relative to parent (world)&lt;br /&gt;
*$RotateRelative &amp;lt;vector&amp;gt;&lt;br /&gt;
**Rotate relative to parent (world)&lt;br /&gt;
*$GetEntIndex &amp;lt;string&amp;gt;&lt;br /&gt;
**Triggers the input of an entity, with entity index as parameter&lt;br /&gt;
**parameter format: entity|input&lt;br /&gt;
**example: !activator|$DisplayTextCenter&lt;br /&gt;
*$RemoveOutput &amp;lt;string&amp;gt;&lt;br /&gt;
**remove outputs with given name&lt;br /&gt;
*$CancelPending&lt;br /&gt;
**Remove all pending inputs this entity is going to fire&lt;br /&gt;
*$SetForwardVelocity &amp;lt;float&amp;gt;&lt;br /&gt;
**Set forward velocity of an entity, does not work on every entity&lt;br /&gt;
*$FaceEntity &amp;lt;entity&amp;gt;&lt;br /&gt;
**Rotate the entity so that it faces the target entity&lt;br /&gt;
*$SetKey$(keyvalue name) &amp;lt;string&amp;gt;&lt;br /&gt;
**Set keyvalue to specified value&lt;br /&gt;
*$GetKey$(keyvalue name) &amp;lt;string&amp;gt;&lt;br /&gt;
**Trigger the input of an entity, with keyvalue as a parameter (default value if not found)&lt;br /&gt;
**example: $GetKey$startdisabled&lt;br /&gt;
**parameter format: entity|input|default value&lt;br /&gt;
**example: !activator|$DisplayTextCenter|def&lt;br /&gt;
*$SetVar$(variable name) &amp;lt;string&amp;gt; &lt;br /&gt;
**Set custom entity variable&lt;br /&gt;
*$GetVar$(variable name) &amp;lt;string&amp;gt;&lt;br /&gt;
**Trigger the input of an entity, with custom variable as set with $SetVar as a parameter (default value if not found)&lt;br /&gt;
**example: $GetVar$customvar&lt;br /&gt;
**parameter format: entity|input|default value&lt;br /&gt;
**parameter example: !activator|$DisplayTextCenter|def&lt;br /&gt;
*$SetData$([https://raw.githubusercontent.com/powerlord/tf2-data/master/datamaps.txt datamap] prop name) &amp;lt;string&amp;gt;&lt;br /&gt;
**Set datamap property to specified value&lt;br /&gt;
*$GetData$([https://raw.githubusercontent.com/powerlord/tf2-data/master/datamaps.txt datamap] prop name) &amp;lt;string&amp;gt;&lt;br /&gt;
**Trigger the input of an entity, with datamap prop as a parameter (default value if not found)&lt;br /&gt;
**example: $GetData$m_szNetname&lt;br /&gt;
***Unlike send props, datamaps do not have arrays.&lt;br /&gt;
**parameter format: entity|input|default value&lt;br /&gt;
**parameter example: !activator|$DisplayTextCenter|def&lt;br /&gt;
***Default value is not required to be defined, but can be useful for debugging.&lt;br /&gt;
*$SetProp$([https://raw.githubusercontent.com/powerlord/tf2-data/master/netprops.txt send prop] name)[$(array)] &amp;lt;string&amp;gt;&lt;br /&gt;
**Set send property to specified value. Can also set arrays.&lt;br /&gt;
**example without array: $SetProp$m_bInUpgradeZone&lt;br /&gt;
***sets player state if player is visiting an upgrade station&lt;br /&gt;
**example with array: $SetProp$m_iAmmo$3&lt;br /&gt;
***sets player ammo type array to 3, which is metal carried&lt;br /&gt;
*$GetProp$([https://raw.githubusercontent.com/powerlord/tf2-data/master/netprops.txt send prop] name)[$(array)] &amp;lt;string&amp;gt;&lt;br /&gt;
**Trigger the input of an entity, with the specified send prop&#039;s value as a parameter (default value if not found)&lt;br /&gt;
**example without array: $GetProp$m_bInUpgradeZone&lt;br /&gt;
**example with an array: $GetProp$m_iAmmo$3&lt;br /&gt;
**parameter format: entity|input|default value&lt;br /&gt;
**parameter example: !activator|$DisplayTextCenter|def&lt;br /&gt;
***Default value is not required to be defined, but can be useful for debugging.&lt;br /&gt;
*$SetClientProp$([https://raw.githubusercontent.com/powerlord/tf2-data/master/netprops.txt send prop] name)[$(array)] &amp;lt;string&amp;gt;&lt;br /&gt;
**Set fake send prop value only seen by players. Can also set arrays. Useful for setting fake mission name or wave number, as $SetProp would trigger unwanted behavior &lt;br /&gt;
**example without array: $SetClientProp$m_bInUpgradeZone&lt;br /&gt;
***sets player state if player is visiting an upgrade station&lt;br /&gt;
**example with array: $SetClientProp$m_iAmmo$3&lt;br /&gt;
***sets player ammo type array to 3, which is metal carried&lt;br /&gt;
*$ResetClientProp$([https://raw.githubusercontent.com/powerlord/tf2-data/master/netprops.txt send prop] name)[$(array)]&lt;br /&gt;
**Reset fake prop value set by $SetClientProp&lt;br /&gt;
*$AddModule &amp;lt;string&amp;gt;&lt;br /&gt;
**Add entity [[Entity Modules|module]] by name&lt;br /&gt;
*$RemoveModule &amp;lt;string&amp;gt;&lt;br /&gt;
**Remove entity [[Entity Modules|module]] by name&lt;br /&gt;
*$SetCollisionFilter &amp;lt;entity&amp;gt;&lt;br /&gt;
**Sets custom collision filter entity. If the filter passes, the entity collides as usual, otherwise the colliding entities pass through&lt;br /&gt;
*$HideTo &amp;lt;player&amp;gt;&lt;br /&gt;
**Hides this entity to specific player&lt;br /&gt;
*$ShowTo &amp;lt;player&amp;gt;&lt;br /&gt;
**Shows previously hidden entity to specific player&lt;br /&gt;
*$HideToAll&lt;br /&gt;
**Hides this entity to all players by default&lt;br /&gt;
*$ShowToAll&lt;br /&gt;
**Shows previously hidden entity to all players&lt;br /&gt;
*$VScriptFunc$function&lt;br /&gt;
**Executes a VScript function with a single parameter, equivalent to &amp;lt;code&amp;gt;runscriptcode function(param)&amp;lt;/code&amp;gt; input&lt;br /&gt;
&lt;br /&gt;
===Outputs===&lt;br /&gt;
&lt;br /&gt;
*$OnUser5-8 &amp;lt;string&amp;gt;&lt;br /&gt;
**Called when $FireUser5-8 input is used&lt;br /&gt;
*$OnKilled&lt;br /&gt;
**Fired when the entity is killed (removed from the world). The calling entity no longer exist and cannot be accessed unless input delay is set to -1&lt;br /&gt;
*$OnDamageReceived &amp;lt;int&amp;gt;&lt;br /&gt;
**Fired when the entity is damaged. Parameter is the damage received by the entity. !activator is the damage inflictor&lt;br /&gt;
*$OnDamageBlocked &amp;lt;int&amp;gt;&lt;br /&gt;
**Fired when damage was blocked by the entity. Parameter is the amount of damage blocked by the entity. !activator is the damage inflictor&lt;br /&gt;
*$OnDeath &amp;lt;int&amp;gt;&lt;br /&gt;
**Fired when the entity died. Parameter is the damage of the fatal blow. !activator is the damage inflictor&lt;br /&gt;
&lt;br /&gt;
[[Category:Misc Additions]]&lt;/div&gt;</summary>
		<author><name>Seelpit</name></author>
	</entry>
	<entry>
		<id>https://sigwiki.potato.tf/index.php?title=List_of_custom_attributes&amp;diff=7218</id>
		<title>List of custom attributes</title>
		<link rel="alternate" type="text/html" href="https://sigwiki.potato.tf/index.php?title=List_of_custom_attributes&amp;diff=7218"/>
		<updated>2023-08-06T18:53:00Z</updated>

		<summary type="html">&lt;p&gt;Seelpit: Fixed missing &amp;quot;stomp building damage&amp;quot; attribute&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Attribute Name&lt;br /&gt;
!Description&lt;br /&gt;
!Example Value&lt;br /&gt;
|-&lt;br /&gt;
| parachute disabled&lt;br /&gt;
|If set to 1, the user cannot deploy parachutes&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
|fires milk bolt&lt;br /&gt;
|Secondary attack: crossbow fires milk bolt. Regenerates every x seconds&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|force distribute currency on death&lt;br /&gt;
| Bots with this attribute distribute their currency on death, like with sniper kills (red money)&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|melee cleave attack&lt;br /&gt;
|Melee weapon attacks all enemies in range&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
| extra damage on hit penalty&lt;br /&gt;
|Special mode for revolver: each hit reduces damage, up to x times. Likely does not work&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|extra damage on hit&lt;br /&gt;
|&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|mod teleporter speed boost&lt;br /&gt;
|Grants the players speed buff for 4 seconds after leaving teleporter&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|set turn to ice&lt;br /&gt;
| Turns the victim ragdoll to ice&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
| can breathe under water&lt;br /&gt;
|If set to 1, the player can breathe underwater&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
| cannot swim&lt;br /&gt;
|If set to 1, the player cannot swim &lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|swimming mastery&lt;br /&gt;
|If set to 1, the player can swim at full class speed&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|ability doubletap teleport&lt;br /&gt;
|If set to 1, the player can move teleporters with double tapped movement keys. Does not work&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|mod ignore resists absorbs&lt;br /&gt;
| A worse version of damage piercing since it only ignores the Battalion&#039;s Backup&#039;s 35% damage reduction. Does not work?&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|scoreboard minigame&lt;br /&gt;
|Players with this attribute are granted more points for kills but lose points after death&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|wet immunity&lt;br /&gt;
|Makes the player immune to wet statuses, like Jarate and Mad Milk&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|ability master sniper&lt;br /&gt;
|Huntsman: reduces shoot time 40%/70%, same functionality as faster reload rate but limited to 2 points&lt;br /&gt;
Sniper rifle: reduces zoom time 40%/70% (like reload rate does). increases charge rate 50%/200%, but actually 100% due to the cap&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|last shot crits&lt;br /&gt;
|Last revolver shot in the clip is critical&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|keep disguise on attack&lt;br /&gt;
|Keep disguise after attacking. Revolver only&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|add give health to teammate on hit&lt;br /&gt;
| On hit ally: heal your teammate for x health, draining your own health&lt;br /&gt;
|75 &lt;br /&gt;
|-&lt;br /&gt;
|mod minigun can holster while spinning&lt;br /&gt;
|Can switch to other weapons while spinning minigun&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|sapper deploy time&lt;br /&gt;
|Probably does nothing, otherwise it adds time required for the sapper to activate&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|kill combo fire rate boost&lt;br /&gt;
|On kill: gives x% fire rate bonus, stacks up to 3 times. Killing a different class clears the combo&lt;br /&gt;
|0.1&lt;br /&gt;
|-&lt;br /&gt;
|mult dispenser rate&lt;br /&gt;
|Multiplier for health, ammo, and metal dispenser rate&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| mvm sentry ammo&lt;br /&gt;
|Sentry max ammo multiplier&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
| build small sentries&lt;br /&gt;
|Sentry is 20% smaller. 33% less health, 25% less metal required to upgrade &lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|mult teleporter recharge rate&lt;br /&gt;
|Teleporter recharge duration multiplier &lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
| disguise as dispenser on crouch&lt;br /&gt;
|As spy, disguise as dispenser when crouching&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|ubercharge transfer&lt;br /&gt;
|On hit, as a medic, with &amp;quot;ubercharge ammo&amp;quot; syringegun: transfer x% of the used uber to the enemy medic&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|ubercharge ammo&lt;br /&gt;
| Uses ubercharge as ammo. 100 for full uber use. Syringegun (not crossbow) only &lt;br /&gt;
|10&lt;br /&gt;
|-&lt;br /&gt;
|teleport instead of die&lt;br /&gt;
| On death: x% chance of being immediately revived at spawn with 1 health&lt;br /&gt;
|0.5&lt;br /&gt;
|-&lt;br /&gt;
|mod projectile heat seek power&lt;br /&gt;
| The weapon&#039;s homing seek power, in degrees per second.&lt;br /&gt;
This attribute is &#039;&#039;&#039;required&#039;&#039;&#039; for the other &amp;quot;mod projectile heat&amp;quot; attributes to work!&lt;br /&gt;
|360&lt;br /&gt;
|-&lt;br /&gt;
| mod projectile heat aim error&lt;br /&gt;
|The weapon&#039;s max error in aim in degrees. If no target is within this degree, the projectile will not home. &lt;br /&gt;
|90&lt;br /&gt;
|-&lt;br /&gt;
|mod projectile heat aim time&lt;br /&gt;
|Time in seconds that the projectile is homing for&lt;br /&gt;
|1.75&lt;br /&gt;
|-&lt;br /&gt;
|mod projectile heat no predict target speed&lt;br /&gt;
|Disables movement prediction for homing projectiles. Might be useful for very slow projectilesmovement prediction for homing projectiles. Might be useful for very slow projectiles&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|mod projectile heat follow crosshair&lt;br /&gt;
|Homing projectiles will follow the crosshair instead of enemies.&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|mod projectile heat aim start time&lt;br /&gt;
|Time in seconds before the projectile starts homing.&lt;br /&gt;
|3&lt;br /&gt;
|-&lt;br /&gt;
|mult dmg vs same class&lt;br /&gt;
|Damage vs same class multiplier&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|uber on damage taken&lt;br /&gt;
|On taking damage: x% chance of being ubercharged for 3 seconds&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
|mult dmgtaken from melee&lt;br /&gt;
|Damage taken from melee multiplier &lt;br /&gt;
| 0.3&lt;br /&gt;
|-&lt;br /&gt;
| mult crit when health is below percent&lt;br /&gt;
|Player is crit boosted when below x% health.&lt;br /&gt;
|0.5&lt;br /&gt;
|-&lt;br /&gt;
|penetration damage penalty&lt;br /&gt;
|Penetrated players receive only x% damage. Bullets only. Can be damage bonus despite the name &lt;br /&gt;
| 0.5&lt;br /&gt;
|-&lt;br /&gt;
| firing forward pull&lt;br /&gt;
|Player is pushed x units and speed boosted when firing flamethrower. Limited by ground move speed&lt;br /&gt;
|1000&lt;br /&gt;
|-&lt;br /&gt;
|mod soldier buff range&lt;br /&gt;
| Multiplier for Soldier&#039;s banner buff range. Base is 450 HU. &lt;br /&gt;
|1.7&lt;br /&gt;
|-&lt;br /&gt;
|mult rocketjump deploy time&lt;br /&gt;
|Deploy speed bonus when rocket jumping&lt;br /&gt;
|0.4&lt;br /&gt;
|-&lt;br /&gt;
|mul nonrocketjump attackrate&lt;br /&gt;
|Fire rate multiplier when not rocket jumping&lt;br /&gt;
|0.5&lt;br /&gt;
|-&lt;br /&gt;
|aoe heal chance&lt;br /&gt;
|On hit: refire time * (x/60) % chance for aoe heal for 1s (24 hp healed total). use 60 for 100% chance on 1s refire time weapon, 600 for 0.1s&lt;br /&gt;
|80&lt;br /&gt;
|-&lt;br /&gt;
| crits on damage&lt;br /&gt;
| On hit: refire time * (x/60) % chance for crit boost for 3s.  use 60 for 100% chance on 1s refire time weapon, 600 for 0.1s&lt;br /&gt;
|80 &lt;br /&gt;
|-&lt;br /&gt;
|stun on damage&lt;br /&gt;
|On hit: refire time * (x/60) % chance for stun for 3s. use 60 for 100% chance on 1s refire time weapon, 600 for 0.1s&lt;br /&gt;
| 80&lt;br /&gt;
|-&lt;br /&gt;
|aoe blast on damage&lt;br /&gt;
| On hit: refire time * (x/60) % chance for 100 hu blast that stuns players for 2 seconds and applies bleed. use 60 for 100% chance on 1s refire time weapon, 600 for 0.1s &lt;br /&gt;
|80&lt;br /&gt;
|-&lt;br /&gt;
| mult dmg with reduced health&lt;br /&gt;
| Grants up to x% damage bonus based on current health&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|mult airblast primary refire time&lt;br /&gt;
|Multiplier of how fast primary fire can be used after airblasting &lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
|mod flamethrower spinup time&lt;br /&gt;
|Spin up time for flamethrowers in seconds&lt;br /&gt;
|2.4&lt;br /&gt;
|-&lt;br /&gt;
| mult airblast cone scale&lt;br /&gt;
|Player pushback cone scale. Might not work after JI&lt;br /&gt;
|1.8&lt;br /&gt;
|-&lt;br /&gt;
|airblast functionality flags&lt;br /&gt;
|Combination of flamethrower flags, used to limit airblast functionality. You have to add those numbers to enable specific functions (by default all are enabled):&lt;br /&gt;
1 - If airblast should push players&lt;br /&gt;
&lt;br /&gt;
2 - If airblast can put out afterburn&lt;br /&gt;
&lt;br /&gt;
4 - If airblast can reflect projectiles&lt;br /&gt;
&lt;br /&gt;
8 - If airblast can stun players&lt;br /&gt;
&lt;br /&gt;
16 - If airblast disrupts player aim&lt;br /&gt;
|9&lt;br /&gt;
|-&lt;br /&gt;
|reverse airblast&lt;br /&gt;
|airblast pushes players towards the pyro. Does not work? &lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|airblast dashes&lt;br /&gt;
|airblast pushes the pyro instead of enemies. Affected by airblast push force.&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|mult sniper charge per sec with enemy under crosshair&lt;br /&gt;
|Sniper rifle charge rate when looking at the enemy. Still subject to the 200% charge rate limit&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|sniper beep with enemy under crosshair&lt;br /&gt;
|Beeps when the sniper is looking at the enemy while charging, if set to 1 &lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|disable buildings on hit&lt;br /&gt;
|On building hit: Disable for x seconds&lt;br /&gt;
|4&lt;br /&gt;
|-&lt;br /&gt;
| regenerate stickbomb&lt;br /&gt;
|Regenerates Ullapool Caber after a hit.&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
|mult smack time&lt;br /&gt;
|Melee &amp;quot;smack time&amp;quot; multiplier; time between pressing the fire button and the attack being dealt (0.2s default)&lt;br /&gt;
|4&lt;br /&gt;
|-&lt;br /&gt;
|medic machinery beam&lt;br /&gt;
|If set to 1, enables healing buildings as medic. increases building healing rate by 10% for each point&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|arrow mastery&lt;br /&gt;
|Lets the Huntsman shoot 2 additional arrows per level, 25 base damage each. Can headshot.&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
|custom item model&lt;br /&gt;
|Custom item model name&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|custom weapon fire sound&lt;br /&gt;
| Custom weapon fire sound. Does not work for the weapon owner&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|explosive bullets&lt;br /&gt;
| Bullets explode in x radius on hit (147 is rocket launcher radius)&lt;br /&gt;
|100&lt;br /&gt;
|-&lt;br /&gt;
|mult projectile scale&lt;br /&gt;
| Projectile model scale multipier&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
| mult projectile count&lt;br /&gt;
|Fire x projectiles at once. Rocket Launchers may not work; stacked rockets will explode on eachother.&lt;br /&gt;
|4&lt;br /&gt;
|-&lt;br /&gt;
| projectile trail particle&lt;br /&gt;
|Projectile trail particle name. Prefix the particle name with ~ to remove the original particle.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|explosion particle&lt;br /&gt;
|Explosion particle name&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|radius sleeper&lt;br /&gt;
|Restores the Sydney Sleeper&#039;s old &amp;quot;Jarate explosion&amp;quot; on headshot and fully-charged bodyshot.&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|cannot be sapped&lt;br /&gt;
|Bots with this attribute cannot be affected by the Sapper&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|item color rgb&lt;br /&gt;
|Item tint color&lt;br /&gt;
|223424&lt;br /&gt;
|-&lt;br /&gt;
| is invisible&lt;br /&gt;
|Turns item invisible &lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| cannot taunt&lt;br /&gt;
|If set to 1, cannot taunt&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|projectile acceleration&lt;br /&gt;
|Projectile acceleration in hu/s^2 &lt;br /&gt;
|500&lt;br /&gt;
|-&lt;br /&gt;
|projectile acceleration time&lt;br /&gt;
|TIme in seconds that the projectile should accelerate for&lt;br /&gt;
|2.55&lt;br /&gt;
|-&lt;br /&gt;
|projectile acceleration start time&lt;br /&gt;
|Time before projectile starts accelerating&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|is miniboss&lt;br /&gt;
|The player is counted as a miniboss. Sappers will not fully stun, backstabs deal set damage, will not receive bomb buffs.&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|model scale&lt;br /&gt;
| Player&#039;s model scale. 1.75 is used for giant bots.&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|cannot upgrade&lt;br /&gt;
|If set to 1, the player cannot use upgrade stations&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|min respawn time&lt;br /&gt;
|Minimal respawn time in seconds &lt;br /&gt;
|4&lt;br /&gt;
|-&lt;br /&gt;
|always crit&lt;br /&gt;
|Weapon always crits. Less reliable with higher ping. &lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|mult firerocket rate&lt;br /&gt;
|Level 3 Sentry rocket fire rate&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
|building max level&lt;br /&gt;
|Building max level limit &lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|sentry rapid fire&lt;br /&gt;
|Allows for faster sentry fire rate, up to 66 shots per second. Effectively fixes sentry fire rate upgrades by not simulating it every 3 ticks, but every tick.&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
|dont count damage towards crit rate&lt;br /&gt;
| Dealing damage with weapon does not increase crit rate&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|reduced damage rampup&lt;br /&gt;
|Sets the weapon&#039;s maximum damage rampup to 20% (similar to Stickybomb Launchers)&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|no reduced damage rampup&lt;br /&gt;
|Sets the weapon&#039;s maximum damage rampup to 50% (similar to Shotguns)&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|force damage falloff&lt;br /&gt;
|Forces the weapon to have damage rampup and falloff&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
| no damage falloff&lt;br /&gt;
|Forces the weapon to have no damage rampup and falloff&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|can headshot&lt;br /&gt;
|Weapon can headshot. Hitscan only; inconsistent on multi-pellet weapons such as Shotguns. &lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|building color rgb&lt;br /&gt;
|Building tint color&lt;br /&gt;
|23424&lt;br /&gt;
|-&lt;br /&gt;
|building scale&lt;br /&gt;
|Building scale. Values above 1.17 make it difficult for players to build on uneven ground&lt;br /&gt;
|1.54 &lt;br /&gt;
|-&lt;br /&gt;
|mult stun resistance&lt;br /&gt;
|Stun and slow multiplier. 0 to be fully stun/slow immune &lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
|allow friendly fire&lt;br /&gt;
| If set to 1, the player can deal friendly fire damage&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|receive friendly fire&lt;br /&gt;
| If set to 1, the player can receive friendly fire from teammates&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|mult dmg friendly fire&lt;br /&gt;
|Damage dealt to teammates multiplier. &#039;&#039;&#039;Requires&#039;&#039;&#039; &amp;quot;allow friendly fire&amp;quot; to be set to 1.&lt;br /&gt;
|0.4&lt;br /&gt;
|-&lt;br /&gt;
|cannot headshot&lt;br /&gt;
|Weapon cannot headshot&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|mult crit dmg&lt;br /&gt;
|Crit damage multiplier&lt;br /&gt;
|1.54&lt;br /&gt;
|-&lt;br /&gt;
| cannot be headshot&lt;br /&gt;
|If set to 1, the player cannot be headshot. Only blocks hitscan headshots&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|attachment name&lt;br /&gt;
| Use this model attachment instead of bonemerging. If the name is empty, it will follow player origin instead.&lt;br /&gt;
Common attachments for robot models: head, eye_1, flag. Some bot models also have eye_2, partyhat. Demo &amp;amp;amp; Soldier additionally contain foot_L and foot_R&lt;br /&gt;
&lt;br /&gt;
Common attachments for player models: head, eyes, flag, partyhat, bread_face, bread_head, effect_hand_L, effect_hand_R, bread_hand_r, bread_hand_l, bread_butt, bread_heel_l, foot_L, foot_R&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This attribute is &#039;&#039;&#039;required&#039;&#039;&#039; to make other &amp;quot;attachment&amp;quot; attributes work!&lt;br /&gt;
|head&lt;br /&gt;
|-&lt;br /&gt;
|attachment offset&lt;br /&gt;
| Item offset from the attachment origin &lt;br /&gt;
|4 2 44&lt;br /&gt;
|-&lt;br /&gt;
|attachment angles&lt;br /&gt;
|Rotation for attached items&lt;br /&gt;
|25 25 0&lt;br /&gt;
|-&lt;br /&gt;
| attachment scale&lt;br /&gt;
|Model scale for attached items&lt;br /&gt;
|1.5&lt;br /&gt;
|-&lt;br /&gt;
|projectile gravity&lt;br /&gt;
|Projectile gravity in hu/s^2&lt;br /&gt;
|600 &lt;br /&gt;
|-&lt;br /&gt;
| grenade explode on impact&lt;br /&gt;
|Grenades explode on impact with the world, similar to rockets&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
projectile lifetime&lt;br /&gt;
|Projectile lifetime in seconds; deletes projectiles, does not cause explosions for explosive projectiles. &lt;br /&gt;
| 52&lt;br /&gt;
|-&lt;br /&gt;
|not solid to players&lt;br /&gt;
| The player is not solid to other players&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|is suicide counter&lt;br /&gt;
|If set, the player takes this amount of damage per second, ignores uber, does not apply damage force&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|always allow taunt&lt;br /&gt;
|Always allow the player to continue taunting, even midair. The player cannot start a taunt in midair, but their taunts will not be interrupted by being launched or falling off a bot. &lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|mult reflect velocity&lt;br /&gt;
| Reflected projectile speed multiplier&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
|custom kill icon&lt;br /&gt;
|Use custom kill icon. Icons are defined in scripts/mod_textures.txt in tf_misc_dir.vpk&lt;br /&gt;
|armageddon&lt;br /&gt;
|-&lt;br /&gt;
| cannot be upgraded&lt;br /&gt;
|If set to 1, the weapon cannot be upgraded, but the player can still use the upgrade station&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|projectile no deflect&lt;br /&gt;
|Projectile cannot be deflected (such as by miniguns) or reflected (such as by flamethrowers). Short Circuit orb will still delete the projectile.&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| player gravity ballon head&lt;br /&gt;
|Player gravity multiplier when affected by the balloon head condition (TF_COND_BALLOON_HEAD). 0 is for regular gravity&lt;br /&gt;
|12&lt;br /&gt;
|-&lt;br /&gt;
| mult dmg vs giants&lt;br /&gt;
|Damage multiplier vs giants&lt;br /&gt;
|2.5&lt;br /&gt;
|-&lt;br /&gt;
| mult dmg vs tanks&lt;br /&gt;
| Damage multiplier vs tanks&lt;br /&gt;
|2.5&lt;br /&gt;
|-&lt;br /&gt;
| mult dmg vs npc&lt;br /&gt;
|Damage multiplier vs npc - including Halloween bosses and tanks, excluding player bots &lt;br /&gt;
| 2.5&lt;br /&gt;
|-&lt;br /&gt;
| custom hit sound&lt;br /&gt;
|Custom sound played when an enemy is hit with the weapon&lt;br /&gt;
|fdfdf&lt;br /&gt;
|-&lt;br /&gt;
| custom impact sound&lt;br /&gt;
|Custom sound played when a rocket / projectile / bullet hits something&lt;br /&gt;
|fdfdf&lt;br /&gt;
|-&lt;br /&gt;
|custom weapon reload sound&lt;br /&gt;
|Custom weapon reload sound&lt;br /&gt;
|fdfdf &lt;br /&gt;
|-&lt;br /&gt;
|no explosion particles&lt;br /&gt;
| No explosion particles and sounds&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
| override projectile type extra&lt;br /&gt;
|Special version of override projectile type that adds more projectile types:&lt;br /&gt;
{| class=&amp;quot;wikitable sortable mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;margin: 0 auto; width: 100%; padding: 0;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;1&amp;quot; |Possible values&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* &amp;quot;mechanicalarmorb&amp;quot; - Short circuit orb&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;stunball&amp;quot; - Sandman ball&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;ornament&amp;quot; - Wrap Assassin projectile&lt;br /&gt;
*&amp;quot;jarate&amp;quot;&lt;br /&gt;
*&amp;quot;madmilk&amp;quot;&lt;br /&gt;
*&amp;quot;cleaver&amp;quot;&lt;br /&gt;
*&amp;quot;gas&amp;quot;&lt;br /&gt;
*&amp;quot;brick&amp;quot; - Uses bread model. Deals 40 damage on hit.&lt;br /&gt;
*&amp;quot;repel&amp;quot;&lt;br /&gt;
*&amp;quot;breadmonster&amp;quot;&lt;br /&gt;
*&amp;quot;spellfireball&amp;quot; - Fireball spell. &#039;&#039;Only this spells will trigger ShootTemplate blocks; others will not!&#039;&#039;&lt;br /&gt;
*&amp;quot;spelllightningorb&amp;quot; &lt;br /&gt;
*&amp;quot;spellkartorb&amp;quot; - Explosive KGB Glove from the Carnival of Carnage kart minigames.&lt;br /&gt;
*&amp;quot;spellbats&amp;quot; &lt;br /&gt;
*&amp;quot;spellmirv&amp;quot; - Pumpkin bombs, only works if the owner has spellbook equipped&lt;br /&gt;
*&amp;quot;spelltransposeteleport&amp;quot;&lt;br /&gt;
*&amp;quot;spellmeteorshower&amp;quot;&lt;br /&gt;
*&amp;quot;spellspawnboss&amp;quot; - Summons spectral MONOCULUS.&lt;br /&gt;
*&amp;quot;spellspawnhorde&amp;quot; - Summon skeletons, only works if the owner has spellbook equipped&lt;br /&gt;
|}&lt;br /&gt;
|mechanicalarmorb&lt;br /&gt;
|-&lt;br /&gt;
|dmg current health &lt;br /&gt;
|Deal additional damage; x * target&#039;s current health.&lt;br /&gt;
|0.34&lt;br /&gt;
|-&lt;br /&gt;
|dmg max health&lt;br /&gt;
|Deal additional damage; x * target&#039;s max health &lt;br /&gt;
|0.34&lt;br /&gt;
|-&lt;br /&gt;
|dmg missing health&lt;br /&gt;
|Deal additional damage; x * target&#039;s missing health&lt;br /&gt;
|0.34&lt;br /&gt;
|-&lt;br /&gt;
| cannot be teleported&lt;br /&gt;
|If set to 1, the player cannot be teleported&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
| mult medigun range&lt;br /&gt;
|Medigun range multiplier&lt;br /&gt;
|1.5&lt;br /&gt;
|-&lt;br /&gt;
|projectile penetration limit&lt;br /&gt;
|Penetration limit for projectiles&lt;br /&gt;
|3&lt;br /&gt;
|-&lt;br /&gt;
| max aoe targets&lt;br /&gt;
|Max targets affected by explosives and flamethrowers&lt;br /&gt;
|4&lt;br /&gt;
|-&lt;br /&gt;
|effect cond override&lt;br /&gt;
|Effect condition override on drinks, jars, medigun ubercharges, and many other effect-causing weapons&lt;br /&gt;
| 24&lt;br /&gt;
|-&lt;br /&gt;
|add cond on hit &lt;br /&gt;
|Adds condition to the target on hit. To provide a second condition, multiply it by 256. To provide a third condition, multiply it by 65536.&lt;br /&gt;
|56&lt;br /&gt;
|-&lt;br /&gt;
|add cond on hit duration&lt;br /&gt;
|Add condtion on hit duration&lt;br /&gt;
|4&lt;br /&gt;
|-&lt;br /&gt;
| remove cond on hit&lt;br /&gt;
|Remove condtion from target on hit. To provide a second condition, multiply it by 256. To provide a third condition, multiply it by 65536.&lt;br /&gt;
| 57&lt;br /&gt;
|-&lt;br /&gt;
| self add cond on hit&lt;br /&gt;
|Adds condition to self when hitting a target&lt;br /&gt;
|54&lt;br /&gt;
|-&lt;br /&gt;
|self add cond on hit duration&lt;br /&gt;
| Duration of the condition added to self when hitting a target. Requires &amp;quot;self add cond on hit&amp;quot;.&lt;br /&gt;
|3&lt;br /&gt;
|-&lt;br /&gt;
|add cond on kill &lt;br /&gt;
|Adds condition to self when killing a target&lt;br /&gt;
|57&lt;br /&gt;
|-&lt;br /&gt;
|add cond on kill duration&lt;br /&gt;
|Duration of the condition added to self when killing a target. Requires &amp;quot;add cond on kill&amp;quot;.&lt;br /&gt;
|10&lt;br /&gt;
|-&lt;br /&gt;
|add cond when active&lt;br /&gt;
|Add condition when weapon is active. To provide a second condition, multiply it by 256. To provide a third condition, multiply it by 65536&lt;br /&gt;
|11&lt;br /&gt;
|-&lt;br /&gt;
|add damage type&lt;br /&gt;
|Add damage type to the attack. See [https://developer.valvesoftware.com/wiki/Half-Life_2/Damage_types here] for a list of damage types.&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|remove damage type&lt;br /&gt;
|Remove damage type from the attack&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|special damage type&lt;br /&gt;
| Sets a special damage type to a range from 1-3, to interact with the attributes listed below. Has no effect otherwise. &lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|dmg taken mult from special damage type 1&lt;br /&gt;
|&lt;br /&gt;
Damage taken multiplier from weapons with special damage type 1&lt;br /&gt;
|4&lt;br /&gt;
|-&lt;br /&gt;
|dmg taken mult from special damage type 2&lt;br /&gt;
|Damage taken multiplier from weapons with special damage type 2&lt;br /&gt;
|4&lt;br /&gt;
|-&lt;br /&gt;
|dmg taken mult from special damage type 3 &lt;br /&gt;
|Damage taken multiplier from weapons with special damage type 3 &lt;br /&gt;
|4&lt;br /&gt;
|-&lt;br /&gt;
|mult effect duration&lt;br /&gt;
|Effect duration multiplier on drinks and jars (Crit-a-Cola, Jarate, etc.)&lt;br /&gt;
|3&lt;br /&gt;
|-&lt;br /&gt;
|special item description&lt;br /&gt;
|Shows text as an attribute if the weapon is inspected or shown as a custom weapon.&lt;br /&gt;
&lt;br /&gt;
|item description&lt;br /&gt;
|-&lt;br /&gt;
|mult flag carrier move speed&lt;br /&gt;
|Flag carrier move speed multiplier&lt;br /&gt;
|0.66&lt;br /&gt;
|-&lt;br /&gt;
|overheal from heal on kill&lt;br /&gt;
|If set to 1 and the weapon heals on kill, it can provide overheal&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
| fire input on hit&lt;br /&gt;
|Fire an input on hit targets. The player with the attribute is considered the !activator, the target hit is considered the !self. The format is &amp;amp;lt;target&amp;amp;gt;^&amp;amp;lt;input&amp;amp;gt;^&amp;amp;lt;param&amp;amp;gt;. If omitted, default param is damage received&lt;br /&gt;
|!self^SetHealth^0&lt;br /&gt;
|-&lt;br /&gt;
|fire input on hit name restrict&lt;br /&gt;
|Restrict input on hit to the specified targetname or classname. Wildcards are allowed. &lt;br /&gt;
|player&lt;br /&gt;
|-&lt;br /&gt;
|grenade bounce speed&lt;br /&gt;
|Grenades bounce off walls, retaining x% of speed after each bounce. Also works on arrows.&lt;br /&gt;
| 0.8&lt;br /&gt;
|-&lt;br /&gt;
|grenade bounce speed xy&lt;br /&gt;
|Grenade bounce speed in xy direction multiplier&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|grenade bounce damage&lt;br /&gt;
|Grenades explode on direct hits even if the grenade already touched a wall, dealing x% additional damage. Values below 1 will make the grenade deal less damage.&lt;br /&gt;
|0.3&lt;br /&gt;
|-&lt;br /&gt;
|reset arrow hits on bounce&lt;br /&gt;
|If set to 1 on the Huntsman, when the arrow bounces, allow it to hit the same target again. Requires &amp;quot;grenade bounce speed&amp;quot; or &amp;quot;arrow target bounce speed&amp;quot;&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|arrow target bounce speed&lt;br /&gt;
|Proj+ectiles bounce off hit targets, retaining x% of speed after each bounce.&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|projectile gravity native&lt;br /&gt;
|&lt;br /&gt;
Gravity for arrows and flares. 0 is default gravity. For grenades and stickybombs, any value will disable gravity&lt;br /&gt;
|0.4&lt;br /&gt;
|-&lt;br /&gt;
|grenade no drag&lt;br /&gt;
|No drag for grenades and stickybombs, slightly changes projectile arc.&lt;br /&gt;
|&lt;br /&gt;
1&lt;br /&gt;
|-&lt;br /&gt;
|stickybomb stick to enemies&lt;br /&gt;
|Stickybombs can stick to enemies on hit. If already stuck to the world, they will not get stuck on players.&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|stickybomb no stick&lt;br /&gt;
|Stickybombs do not stick to ground&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|collect currency on kill&lt;br /&gt;
|Bots killed by the weapon distribute their currency, like with sniper kills (red money)&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|stomp player damage&lt;br /&gt;
|Damage applied to enemies when touching them&lt;br /&gt;
|100&lt;br /&gt;
|-&lt;br /&gt;
|stomp player time&lt;br /&gt;
|Time between each instance of stomp damage and push. By default, it happens every tick&lt;br /&gt;
|0.1&lt;br /&gt;
|-&lt;br /&gt;
|stomp player force&lt;br /&gt;
|Force applied to enemies when touching them. 260 is the minimum amount to knock players up.&lt;br /&gt;
|270&lt;br /&gt;
|-&lt;br /&gt;
|stomp building damage&lt;br /&gt;
|Damage dealt to enemy buildings on touch&lt;br /&gt;
|125&lt;br /&gt;
|-&lt;br /&gt;
|reflect keep team&lt;br /&gt;
|Projectiles reflected by this weapon keep their original team&lt;br /&gt;
&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
| custom wind up sound&lt;br /&gt;
|Custom minigun wind up sound. Does not override default sound &lt;br /&gt;
|sound.wav&lt;br /&gt;
|-&lt;br /&gt;
| custom wind down sound&lt;br /&gt;
|Custom minigun wind down sound. Does not override default sound&lt;br /&gt;
|sound.wav&lt;br /&gt;
|-&lt;br /&gt;
|custom minigun spin sound&lt;br /&gt;
|Custom minigun spin sound. The sound will not loop unless its made to loop&lt;br /&gt;
|sound.wav&lt;br /&gt;
|-&lt;br /&gt;
|reflect magnet&lt;br /&gt;
|If set to 1, reflected projectiles aim towards the reflector&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|stay after regenerate&lt;br /&gt;
|If set to 1, the weapon will stay after touching a resupply cabinet or upgrading, if the weapon in the inventory in the slot is different&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|arrow hit kill time&lt;br /&gt;
|If set to any value other than 0, sets custom arrow kill time after hitting something&lt;br /&gt;
|0.3&lt;br /&gt;
|-&lt;br /&gt;
|custom projectile size&lt;br /&gt;
|Custom projectile hitbox size&lt;br /&gt;
|30&lt;br /&gt;
|-&lt;br /&gt;
|mod sentry cost&lt;br /&gt;
|Sentry cost multiplier&lt;br /&gt;
|1.25&lt;br /&gt;
|-&lt;br /&gt;
| mod dispenser cost&lt;br /&gt;
| Dispenser cost multiplier&lt;br /&gt;
|1.25 &lt;br /&gt;
|-&lt;br /&gt;
|penetrate teammates&lt;br /&gt;
|Bullets and projectiles penetrate teammates, like sniper rifles. &lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
|mult step height&lt;br /&gt;
|Step height multiplier (x * 18hu); allows the player to not need to jump for greater heights &lt;br /&gt;
|10 &lt;br /&gt;
|-&lt;br /&gt;
|ignore player clip&lt;br /&gt;
|Ignore player clip brushes&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|allow bunny hop&lt;br /&gt;
|Allow bunny hopping. 1 - auto bhop. 2 - manual bhop&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|fire input on kill &lt;br /&gt;
| Fire input on killed targets. The player with the attribute is considered the !activator, the target killed is considered the !self. The format is &amp;lt;target&amp;gt;^&amp;lt;input&amp;gt;^&amp;lt;param&amp;gt;. If omitted, default param is damage received. !projectile is the projectile entity&lt;br /&gt;
|!self^SetHealth^0&lt;br /&gt;
|-&lt;br /&gt;
|fire input on kill name restrict&lt;br /&gt;
|Restrict input on kill to specified targetname. Wildcards are allowed&lt;br /&gt;
&lt;br /&gt;
|player&lt;br /&gt;
|-&lt;br /&gt;
|fire full clip at once &lt;br /&gt;
|Fire the weapon&#039;s entire clip at once&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|reload full clip at once&lt;br /&gt;
|Reload full clip at once, like pistols&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|force fire full clip&lt;br /&gt;
| Automatically fire full clip, one shot at a time. Not to be confused with &amp;quot;fire full clip at once&amp;quot;.&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|projectile sound&lt;br /&gt;
| Sound played when the projectile is fired&lt;br /&gt;
|sound.wav&lt;br /&gt;
|-&lt;br /&gt;
|burst fire count&lt;br /&gt;
|Fire this many rounds in a burst. If negative, forces to fire this many rounds even if attack button is only pressed once&lt;br /&gt;
|3&lt;br /&gt;
|-&lt;br /&gt;
|burst fire rate mult&lt;br /&gt;
|Fire rate multiplier between bursts. Regular fire rate is used for the time between shots in a burst.&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|continous accuracy mult&lt;br /&gt;
|Accuracy multiplier, continous attacking increases/decreases accuracy up to specified value over the duration of &amp;quot;continous accuracy time&amp;quot; attribute. Overwrites &amp;quot;spread penalty&amp;quot; attribute &lt;br /&gt;
|3&lt;br /&gt;
|-&lt;br /&gt;
|continous accuracy time&lt;br /&gt;
|How long in seconds should the weapon be fired continously to reach full &amp;quot;continous accuracy mult&amp;quot; value&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|duck accuracy mult&lt;br /&gt;
|Accuracy multiplier when ducking. Overwrites &amp;quot;spread penalty&amp;quot; attribute&lt;br /&gt;
|0.5&lt;br /&gt;
|-&lt;br /&gt;
|move accuracy mult&lt;br /&gt;
|Accuracy multiplier when moving. Overwrites &amp;quot;spread penalty&amp;quot; attribute &lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|special item description 2&lt;br /&gt;
|Additional item description line &lt;br /&gt;
|description&lt;br /&gt;
|-&lt;br /&gt;
|special item description 3&lt;br /&gt;
|Additional item description line&lt;br /&gt;
|description&lt;br /&gt;
|-&lt;br /&gt;
|special item description 4&lt;br /&gt;
|Additional item description line &lt;br /&gt;
|description&lt;br /&gt;
|-&lt;br /&gt;
|allowed build types &lt;br /&gt;
| Allowed building types, add values together to allow multiple buildings:&lt;br /&gt;
1 - dispenser&lt;br /&gt;
&lt;br /&gt;
2 - teleporter&lt;br /&gt;
&lt;br /&gt;
4 - sentry gun&lt;br /&gt;
&lt;br /&gt;
8 - sapper&lt;br /&gt;
|6&lt;br /&gt;
|-&lt;br /&gt;
|max bullet range&lt;br /&gt;
|Max bullet range in hu&lt;br /&gt;
|10&lt;br /&gt;
|-&lt;br /&gt;
|effect add attributes&lt;br /&gt;
|Make weapons that apply addcond effects, such as banners, jars, etc., also apply attributes to the affected player&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;move speed bonus|2|fire rate bonus|0.1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|medigun passive attributes&lt;br /&gt;
|Attributes added passively to the patient being healed&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;move speed bonus|2|fire rate bonus|0.1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|medigun passive attributes owner&lt;br /&gt;
|Attributes added passively to the healing medic&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;move speed bonus|2|fire rate bonus|0.1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|mult dmg vs airborne&lt;br /&gt;
|Damage multiplier vs airborne players&lt;br /&gt;
|3&lt;br /&gt;
|-&lt;br /&gt;
|revive rate&lt;br /&gt;
|Medigun revive speed multiplier&lt;br /&gt;
|10&lt;br /&gt;
|-&lt;br /&gt;
|taunt attack after end&lt;br /&gt;
|Taunt attack happens even after taunt ends or is interrupted &lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|taunt attack time mult &lt;br /&gt;
|Taunt attack time multiplier, making it happen earlier/later&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|damage returns as health &lt;br /&gt;
|Returns x * damage dealt as health&lt;br /&gt;
|0.5&lt;br /&gt;
|-&lt;br /&gt;
|no resupply&lt;br /&gt;
|Cannot resupply from cabinets&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|no damage view flinch&lt;br /&gt;
|No view flinch from taking damage&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|disable wrangler shield&lt;br /&gt;
|If set to 1, the Wrangler&#039;s sentry shield is disabled&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|parachute redeploy&lt;br /&gt;
|Allow infinite mid-air parachute redeploying&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|mult duck speed&lt;br /&gt;
|Ducking speed multiplier. 3 is for walking speed. Cannot be faster than walking speed&lt;br /&gt;
|3&lt;br /&gt;
|-&lt;br /&gt;
|particle color rgb&lt;br /&gt;
|RGB color for projectile particles that support it (Bison, Pomson)&lt;br /&gt;
|765776&lt;br /&gt;
|-&lt;br /&gt;
|particle color rainbow&lt;br /&gt;
|Cycles colors for the projectile particle. Higher values cycle faster&lt;br /&gt;
|100&lt;br /&gt;
|-&lt;br /&gt;
|ignored by enemy sentries&lt;br /&gt;
|If set to 1, enemy sentries ignore the player&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|melee airblast&lt;br /&gt;
|If set to 1 on a melee weapon, its attacks will reflect projectiles&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|passive reload&lt;br /&gt;
|Automatically reloads the weapon while not active. Since the reload speed is tied to animations this will make weapons reload faster than usual&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|kb fall min velocity&lt;br /&gt;
|Knockback, stun and damage nearby enemies when landing. The value specifies the minimum fall velocity before applying knockback. This attribute is &#039;&#039;&#039;required&#039;&#039;&#039; for the other &amp;quot;kb fall&amp;quot; attributes to work!&lt;br /&gt;
|300&lt;br /&gt;
|-&lt;br /&gt;
|kb fall radius&lt;br /&gt;
|The radius of the fall knockback. 230 by default&lt;br /&gt;
|230&lt;br /&gt;
|-&lt;br /&gt;
|kb fall stun time&lt;br /&gt;
|Small robot stun time of the fall knockback. 5 by default&lt;br /&gt;
|5&lt;br /&gt;
|-&lt;br /&gt;
|kb fall force&lt;br /&gt;
|Fall knockback force. 300 by default&lt;br /&gt;
|300&lt;br /&gt;
|-&lt;br /&gt;
|kb fall damage&lt;br /&gt;
|Fall knockback damage. 50 by default&lt;br /&gt;
|50&lt;br /&gt;
|-&lt;br /&gt;
|melee grants protection&lt;br /&gt;
|Melee attacks grant protection from attacks for x seconds&lt;br /&gt;
|0.6&lt;br /&gt;
|-&lt;br /&gt;
|arrow snap to next target radius&lt;br /&gt;
|If set on the Huntsman, snaps the arrow to the next closest available target within range&lt;br /&gt;
|1000&lt;br /&gt;
|-&lt;br /&gt;
|mult credit collect range&lt;br /&gt;
|Credit collection radius multiplier. Scouts have a 4x bigger collection radius&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|health from credits&lt;br /&gt;
|Additional health gained from collecting credits. Scouts usually gain 50 health on collecting credits&lt;br /&gt;
|50&lt;br /&gt;
|-&lt;br /&gt;
|mult bleeding delay&lt;br /&gt;
|Delay between bleeding damage multiplier. Lower values causes bleed damage to happen more times per second.&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|mult bleeding dmg&lt;br /&gt;
|Bleeding damage multiplier&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|not solid&lt;br /&gt;
|If set to 1, the player can phase though walls&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|dmg taken from self reduced&lt;br /&gt;
|Self damage multiplier for the player&lt;br /&gt;
|0.5&lt;br /&gt;
|-&lt;br /&gt;
|ignored by bots&lt;br /&gt;
|If set to 1, the player is ignored by bots.&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|add attributes on hit&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;Apply attributes to victim on hit with the weapon. Format: attribute|value|duration ...&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;move speed bonus|0.3|2|head scale|3|2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|self add attributes on hit&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;Apply attributes to self on hit with the weapon. Format: attribute|value|duration ...&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;move speed bonus|0.3|2|head scale|3|2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|add attributes on kill&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;Apply attributes to self on kill with the weapon. Format: attribute|value|duration ...&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;move speed bonus|0.3|2|head scale|3|2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|move speed as health decreases&lt;br /&gt;
|Multiply move speed up to x with decreasing health&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|no self effect&lt;br /&gt;
|If set to 1, the weapon cannot ignite or cause bleeding to the wielder&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|cannot pickup spells&lt;br /&gt;
|Cannot pickup spells&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|mult max health&lt;br /&gt;
|Max health multiplier&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|add spread&lt;br /&gt;
|Bullet spread additive. Does not affect clientside effects&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|projectile spread angle mult&lt;br /&gt;
|Projectile spread angle multiplier&lt;br /&gt;
|3&lt;br /&gt;
|-&lt;br /&gt;
|always allow disguise&lt;br /&gt;
|Always allow the spy to disguise&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|always allow cloak&lt;br /&gt;
|Always allow the spy to cloak&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|always allow teleport&lt;br /&gt;
|Always allow the player to teleport&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|destroy buildings on death&lt;br /&gt;
|Destroy owned buildings on death&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|sentry bullet weapon&lt;br /&gt;
|Sentry bullet weapon name. Can be a custom weapon name&lt;br /&gt;
|TF_WEAPON_ROCKETLAUNCHER&lt;br /&gt;
|-&lt;br /&gt;
|sentry rocket weapon&lt;br /&gt;
|Sentry rocket weapon name. Can be a custom weapon name&lt;br /&gt;
|TF_WEAPON_ROCKETLAUNCHER&lt;br /&gt;
|-&lt;br /&gt;
|custom sentry model&lt;br /&gt;
|Custom sentry model file name or prefix&lt;br /&gt;
|models/buildables/sentry&lt;br /&gt;
|-&lt;br /&gt;
|custom dispenser model&lt;br /&gt;
|Custom dispenser model file name or prefix&lt;br /&gt;
|models/buildables/dispenser&lt;br /&gt;
|-&lt;br /&gt;
|custom teleporter model&lt;br /&gt;
|Custom teleporter model file name or prefix&lt;br /&gt;
|models/buildables/teleporter&lt;br /&gt;
|-&lt;br /&gt;
|mult sentry rocket ammo&lt;br /&gt;
|Sentry rocket ammo multiplier&lt;br /&gt;
|3&lt;br /&gt;
|-&lt;br /&gt;
|midair accuracy mult&lt;br /&gt;
|Midair accuracy multiplier&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|add damage per target&lt;br /&gt;
|Damage bonus for every target hit by explosion&lt;br /&gt;
|0.5&lt;br /&gt;
|-&lt;br /&gt;
|projectile detonate time&lt;br /&gt;
|Projectile self detonation time in seconds&lt;br /&gt;
|0.5&lt;br /&gt;
|-&lt;br /&gt;
|mult afterburn delay&lt;br /&gt;
|Multiplier for the delay between afterburn damage ticks, similar to &amp;quot;mult bleeding delay&amp;quot;. Lower values result in more damage per second.&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|custom view model&lt;br /&gt;
|Custom view model. This typically affects first person hands and their animations&lt;br /&gt;
|models/model.mdl&lt;br /&gt;
|-&lt;br /&gt;
|mult dmg while midair&lt;br /&gt;
|Damage multiplier while midair&lt;br /&gt;
|0.5&lt;br /&gt;
|-&lt;br /&gt;
|hidden string attribute 1&lt;br /&gt;
|Attribute for storing hidden text in items. 1-4 numbers are available&lt;br /&gt;
|abc&lt;br /&gt;
|-&lt;br /&gt;
|medigun keep charged effect&lt;br /&gt;
|Keep custom medigun uber effect after the beam is disconnected until the uber meter runs out&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|ignores other projectiles&lt;br /&gt;
|Don&#039;t collide with other projectiles&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|weapon always gib&lt;br /&gt;
|This weapon always gibs killed enemies&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|weapon never gib&lt;br /&gt;
|This weapon never gibs killed enemies&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|always gib&lt;br /&gt;
|Always gib on death&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|never gib&lt;br /&gt;
|Never gib on death&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|sapper sap allies&lt;br /&gt;
|Sap ally players instead of enemies&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|custom sapper model&lt;br /&gt;
|Custom sapper model; accept either a prefix or full model path &lt;br /&gt;
|models/buildables/sd_sapper&lt;br /&gt;
|-&lt;br /&gt;
|custom sapper sound&lt;br /&gt;
|Custom sapper sound. See example value.&lt;br /&gt;
|Weapon_Sapper.Timer&lt;br /&gt;
|-&lt;br /&gt;
|no clip &lt;br /&gt;
|Give noclip. 1 for regular player speed, use any other value to override&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|arrow ignite&lt;br /&gt;
|If set to 1 on the Huntsman, automatically ignites arrows&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|use original class weapon animations&lt;br /&gt;
|Use weapon animations of the weapon&#039;s original class if the weapon is given to an unintended class&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|mult dmg before distance&lt;br /&gt;
|Deals up to x damage depending on distance (2048 hu by default)&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|mult dmg before distance specify&lt;br /&gt;
|Custom distance for &amp;quot;mult dmg before distance&amp;quot;&lt;br /&gt;
|1000&lt;br /&gt;
|-&lt;br /&gt;
|minigun full movement&lt;br /&gt;
|Can move while ducking when shooting. Bots can also jump&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|use original class player animations&lt;br /&gt;
|Use player animations of the weapon&#039;s original class if the weapon is given to an unintended class&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|mult sentry rocket projectile speed&lt;br /&gt;
|Sentry rocket projectile speed multiplier&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|crit on cond&lt;br /&gt;
|Critical hit when the enemy has specified cond&lt;br /&gt;
|13&lt;br /&gt;
|-&lt;br /&gt;
|minicrit on cond&lt;br /&gt;
|Mini crit hit when the enemy has specified cond&lt;br /&gt;
|13&lt;br /&gt;
|-&lt;br /&gt;
|add attributes when active&lt;br /&gt;
|Add attributes when the weapon is active&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;move speed bonus|2|damage bonus|2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|radial cond&lt;br /&gt;
|Add conditions and attributes on hit in a radius&lt;br /&gt;
|400&lt;br /&gt;
|-&lt;br /&gt;
|mult explosion radius direct hit&lt;br /&gt;
|Explosion radius multiplier on direct hit&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|buildings cannot be sapped&lt;br /&gt;
|Buldings cannot be sapped&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|mult dmg direct hit&lt;br /&gt;
|Damage multiplier on direct hit&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|explosion particle on direct hit&lt;br /&gt;
|Explosion particle on direct hit&lt;br /&gt;
|particle&lt;br /&gt;
|}&lt;br /&gt;
[[Category:Misc Additions]]&lt;/div&gt;</summary>
		<author><name>Seelpit</name></author>
	</entry>
	<entry>
		<id>https://sigwiki.potato.tf/index.php?title=Spider_Tank&amp;diff=7217</id>
		<title>Spider Tank</title>
		<link rel="alternate" type="text/html" href="https://sigwiki.potato.tf/index.php?title=Spider_Tank&amp;diff=7217"/>
		<updated>2023-07-29T21:35:19Z</updated>

		<summary type="html">&lt;p&gt;Seelpit: Fixed links.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[File:Spidertank.png|thumb|Spider Tank]]&lt;br /&gt;
A Tank that shoots out movement slowing webs. The tank will also inflict bleed to any players that get too close, as if they&#039;re bit by the large Spiders.&lt;br /&gt;
&lt;br /&gt;
__NOTOC__&lt;br /&gt;
==Templates==&lt;br /&gt;
* SpiderTank&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
[[File:Spider Tank Video.mp4|thumb|400px|Spider Tank in Action]]&lt;br /&gt;
&amp;lt;!-- Scrolling breaks with &amp;lt;syntaxhighlight&amp;gt; (was going to use PHP) --&amp;gt;&lt;br /&gt;
&amp;lt;pre style=&amp;quot;max-height:30em;min-width:22em;tab-size:4;&amp;quot;&amp;gt;&lt;br /&gt;
#base robot_spidertank.pop&lt;br /&gt;
&lt;br /&gt;
WaveSchedule&lt;br /&gt;
{&lt;br /&gt;
	Wave&lt;br /&gt;
	{&lt;br /&gt;
		WaveSpawn&lt;br /&gt;
		{&lt;br /&gt;
			Name &amp;quot;wave01a&amp;quot;&lt;br /&gt;
			TotalCount 1&lt;br /&gt;
			WaitBeforeStarting 0&lt;br /&gt;
&lt;br /&gt;
			FirstSpawnOutput                                                                                                                                                            &lt;br /&gt;
			{&lt;br /&gt;
				Target boss_spawn_relay                                            &lt;br /&gt;
				Action Trigger                         &lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			Tank&lt;br /&gt;
			{&lt;br /&gt;
				Health 1000&lt;br /&gt;
				Speed 150&lt;br /&gt;
				Name &amp;quot;tankboss&amp;quot;&lt;br /&gt;
				StartingPathTrackNode &amp;quot;tank_path_a_1&amp;quot;&lt;br /&gt;
				Template SpiderTank [$SIGSEGV]&lt;br /&gt;
&lt;br /&gt;
				OnKilledOutput                                  &lt;br /&gt;
				{&lt;br /&gt;
					Target boss_dead_relay&lt;br /&gt;
					Action Trigger                         &lt;br /&gt;
				}&lt;br /&gt;
				&lt;br /&gt;
				OnBombDroppedOutput                             &lt;br /&gt;
				{&lt;br /&gt;
					Target boss_deploy_relay &lt;br /&gt;
					Action Trigger                         &lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Downloads==&lt;br /&gt;
&#039;&#039;&#039; Popfile &#039;&#039;&#039;&lt;br /&gt;
* https://testing.potato.tf/tf/scripts/population/robot_spidertank.pop&lt;br /&gt;
&#039;&#039;&#039; Icons &#039;&#039;&#039;&lt;br /&gt;
* https://testing.potato.tf/tf/materials/hud/leaderboard_class_tank_spider.vtf&lt;br /&gt;
* https://testing.potato.tf/tf/materials/hud/leaderboard_class_tank_spider.vmt&lt;br /&gt;
[[Category:Templates]]&lt;/div&gt;</summary>
		<author><name>Seelpit</name></author>
	</entry>
	<entry>
		<id>https://sigwiki.potato.tf/index.php?title=TFBot&amp;diff=7216</id>
		<title>TFBot</title>
		<link rel="alternate" type="text/html" href="https://sigwiki.potato.tf/index.php?title=TFBot&amp;diff=7216"/>
		<updated>2023-07-29T20:18:58Z</updated>

		<summary type="html">&lt;p&gt;Seelpit: Page created.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Listed below are all of the custom keyvalues accepted in the &#039;&#039;&#039;TFBot{}&#039;&#039;&#039; block by our server mods. Examples of these additions can be found in the [https://testing.potato.tf/mvm_bigrock_sigdemo.pop demonstrative SigMod popfile].&lt;br /&gt;
&lt;br /&gt;
== Global keyvalues for custom blocks ==&lt;br /&gt;
Various custom blocks accept a variety of keyvalues to specify when they should perform their action. The following keyvalues should be usable in all of these blocks:&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
Delay 10				//Time before the task starts (Default: 10)&lt;br /&gt;
Cooldown 1				//Time between each execution of the task (Default: 10)&lt;br /&gt;
Repeats 1				//How many times the bot should perform the task in total (Default: 0 - Infinite)&lt;br /&gt;
IfSeeTarget 1			//When set to 1, this task activates only when the bot can see a target (Default: 0 - Always activate)&lt;br /&gt;
IfNoTarget 1			//When set to 1, this task activates only when the bot does not have a target (Default: 0 - Always activate)&lt;br /&gt;
IfHealthBelow 100		//When set, the task activates only when the bot health is below specified value&lt;br /&gt;
IfHealthAbove 100		//When set, the task activates only when the bot health is above specified value&lt;br /&gt;
MaxTargetRange 150		//If set, the task activates only when the target is within specified units away&lt;br /&gt;
MinTargetRange 50		//If set, the task activates only when the target is more than specified units away&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ExtAttr ==&lt;br /&gt;
Extra Attributes that can be applied to bots, akin to the vanilla Attributes keyvalue.&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
// Aim behavior.&lt;br /&gt;
MedicLookAtThreats		//If the bot is a Medic: can turn around to look at threats&lt;br /&gt;
TargetStickies			//Target and destroy stickies&lt;br /&gt;
IgnoreBuildings			//Ignore buildings&lt;br /&gt;
IgnorePlayers			//Ignore players (including bots)&lt;br /&gt;
IgnoreBots				//Ignore bots&lt;br /&gt;
IgnoreRealPlayers		//Ignore non-bot players&lt;br /&gt;
IgnoreNPC				//Ignore NPCs such as Tanks, skeletons, and halloween bosses&lt;br /&gt;
&lt;br /&gt;
// Attacking behavior.&lt;br /&gt;
AlwaysFireWeaponAlt		//Always use secondary fire&lt;br /&gt;
SuppressCanteenUse		//If set, the bot will not automatically activate canteens when looking at an enemy&lt;br /&gt;
JumpStomp				//Try to jump over and stomp obstracles&lt;br /&gt;
&lt;br /&gt;
// Engineer-only.&lt;br /&gt;
BuildDispenserAsTeleporter	//Builds dispenser instead of teleporter&lt;br /&gt;
BuildDispenserAsSentryGun	//Builds dispenser instead of sentry gun&lt;br /&gt;
&lt;br /&gt;
// Misc.&lt;br /&gt;
DisableSpawnProtectionFix	//Disables a fix where a medic activating ubercharge inside spawn will not be invulnerable when exiting spawn&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Homing Rockets ==&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
HomingRockets [$SIGSEGV]&lt;br /&gt;
{&lt;br /&gt;
	IgnoreDisguisedSpies 1	//Ignore Spies that are disguised?&lt;br /&gt;
	IgnoreStealthedSpies 1	//Ignore Spies that are cloaked?&lt;br /&gt;
	RocketSpeed 0.25	//Multiplier of rocket speed. 1 for default speed&lt;br /&gt;
	TurnPower 90		//How fast should the rocket rotate to face the target&lt;br /&gt;
	MaxAimError 360		//Max angle between rocket and the target&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Despite the name, also allows other projectiles (such as arrows) to home in on enemies. Alternatively, use the &amp;quot;mod projectile heat&amp;quot; set of [[List of custom attributes|custom attributes]].&lt;br /&gt;
&lt;br /&gt;
== Taunt ==&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
Taunt [$SIGSEGV]  //Taunt periodically&lt;br /&gt;
{&lt;br /&gt;
	Delay 10					//Time before the first taunt starts (Default: 10)&lt;br /&gt;
	Cooldown 1					//Time between each taunt (Default: 10)&lt;br /&gt;
	Repeats 1					//How many times the bot should taunt in total (Default: 0 - Infinite)&lt;br /&gt;
	Duration 5					//Duration of a looping taunt (Default: 0.1)&lt;br /&gt;
	Name &amp;quot;Taunt: Kazotsky Kick&amp;quot; //If set, uses this item taunt instead of default&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Note that &amp;quot;Name&amp;quot; requires the &#039;&#039;name of the item that you equip to use the taunt&#039;&#039;. This name can be found in &amp;lt;code&amp;gt;items_game.txt&amp;lt;/code&amp;gt;, with most newer taunts being prefixed with &amp;quot;Taunt: &amp;quot;, or having &amp;quot;Taunt&amp;quot; elsewhere in their name. Weapon-specific taunts can only be done if the bot is currently holding that weapon.&lt;br /&gt;
&lt;br /&gt;
== Voice Command ==&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
VoiceCommand [$SIGSEGV]  //Periodically uses voice commands&lt;br /&gt;
{&lt;br /&gt;
	Delay 8			//Time before the first voice command starts (Default: 10)&lt;br /&gt;
	Cooldown 5		//Time between each voice command (Default: 10)&lt;br /&gt;
	Repeats 55		//How many times should bot use the voice command in total (Default: 0 - Infinite)&lt;br /&gt;
	Type &amp;quot;Medic&amp;quot;	//Type of voice command. Possible values:&lt;br /&gt;
		//Medic&lt;br /&gt;
		//Help&lt;br /&gt;
		//Go&lt;br /&gt;
		//Move up&lt;br /&gt;
		//Left&lt;br /&gt;
		//Right&lt;br /&gt;
		//Yes&lt;br /&gt;
		//No&lt;br /&gt;
		//Activate Charge&lt;br /&gt;
		//Charge Ready&lt;br /&gt;
		//Incoming&lt;br /&gt;
		//Spy&lt;br /&gt;
		//Thanks&lt;br /&gt;
		//Jeers&lt;br /&gt;
		//Battle cry&lt;br /&gt;
		//Cheers&lt;br /&gt;
		//Sentry here&lt;br /&gt;
		//Dispenser here&lt;br /&gt;
		//Teleporter here&lt;br /&gt;
		//Good job&lt;br /&gt;
		//Sentry ahead&lt;br /&gt;
		//Positive&lt;br /&gt;
		//Negative&lt;br /&gt;
		//Nice shot&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== ChangeAttributes ==&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
ChangeAttributes [$SIGSEGV]  //Periodically changes bot attributes, defined in EventChangeAttributes{}&lt;br /&gt;
{&lt;br /&gt;
	Delay 10		//Time before the first bot attribute change (Default: 10)&lt;br /&gt;
	Cooldown 10		//Time between each bot attribute change (Default: 10)&lt;br /&gt;
	Repeats 1		//How many times should bot change attributes in total (Default: 0 - Infinite)&lt;br /&gt;
	Name &amp;quot;Attr1&amp;quot;	//Name of the bot attributes block listed in EventChangeAttributes{}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Note that bots will automatically start out in any attributes block named &amp;quot;Default&amp;quot;. Maps with a gate will force bots to change to their &amp;quot;RevertGateBotsBehavior&amp;quot; block, if they have one.&lt;br /&gt;
&lt;br /&gt;
== ClientCommand ==&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
ClientCommand [$SIGSEGV] // Executes client commands, also known as console commands&lt;br /&gt;
{&lt;br /&gt;
	Name &amp;quot;build 0&amp;quot; 	// Name of the client command, notable examples:&lt;br /&gt;
						// &amp;quot;build 0/1/2/3&amp;quot; - Build dispenser / teleporter entrance / sentry / teleporter exit&lt;br /&gt;
						// &amp;quot;destroy 0/1/2/3&amp;quot; - Destroy dispenser / teleporter entrance / sentry / teleporter exit&lt;br /&gt;
	Delay 1 		//Time before the first execution of the task (Default: 10)&lt;br /&gt;
	Cooldown 5 		//Time between each execution of the task (Default: 10)&lt;br /&gt;
	Repeats 12 		//How many times should the task be executed in total (Default: 0 - Infinite)&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== WeaponResist ==&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
WeaponResist [$SIGSEGV] //Multiplies damage received from weapons listed below&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;TF_WEAPON_KNIFE&amp;quot; 0.1&lt;br /&gt;
	&amp;quot;TF_WEAPON_MINIGUN&amp;quot; 10&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Accepts both weapon classnames (such as &amp;lt;code&amp;gt;tf_weapon_flamethrower&amp;lt;/code&amp;gt;applying to all regular flamethrowers) and individual weapon names.&lt;br /&gt;
&lt;br /&gt;
== Spell ==&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
Spell [$SIGSEGV] //Gives specified spell to bots.&lt;br /&gt;
{&lt;br /&gt;
	Delay 1		//Time before the first spell charges are given (Default: 10)&lt;br /&gt;
	Cooldown 5	//Time between each spell changes (Default: 10)&lt;br /&gt;
	Repeats 12	//How many times should spell charges be given in total (Default: 0 - Infinite)&lt;br /&gt;
	Charges 1	//How many spell charges to give every time the spell is given (Default: 1)&lt;br /&gt;
	Limit 1		//How many spell charges the bot can store (Default: Same as charges given)&lt;br /&gt;
	Type &amp;quot;All&amp;quot;	//Spell name. Possible values:&lt;br /&gt;
		//Fireball&lt;br /&gt;
		//Ball O&#039; Bats&lt;br /&gt;
		//Healing Aura&lt;br /&gt;
		//Pumpkin MIRV&lt;br /&gt;
		//Superjump&lt;br /&gt;
		//Invisibility&lt;br /&gt;
		//Teleport&lt;br /&gt;
		//Tesla Bolt&lt;br /&gt;
		//Minify&lt;br /&gt;
		//Summon Monoculus&lt;br /&gt;
		//Meteor Shower&lt;br /&gt;
		//Summon Skeletons&lt;br /&gt;
		//Common&lt;br /&gt;
		//Rare&lt;br /&gt;
		//All&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;For bots to use Spells, they must have a &#039;&#039;&#039;Spellbook item&#039;&#039;&#039; equipped, and &#039;&#039;no&#039;&#039; WeaponRestrictions active.&lt;br /&gt;
&lt;br /&gt;
== Action ==&lt;br /&gt;
A defunct keyvalue in vanilla. Works correctly on servers with our mods.&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
Action FetchFlag [$SIGSEGV] //Overrides default bot AI. Possible values:&lt;br /&gt;
	//Default			- Default action&lt;br /&gt;
	//FetchFlag			- Uses generic bomb fetching AI, default action for most bots except Spy, Medic, Engineer or Mission bots&lt;br /&gt;
	//EscortFlag		- As above, but ignores bot escort limit&lt;br /&gt;
	//PushToCapturePoint - Pushes to capture point (or hatch in MvM). Similar to BehaviorModfiers Push and its aliases.&lt;br /&gt;
	//Mobber			- Chases down random player targets&lt;br /&gt;
	//Spy				- Uses spy AI, teleports behind players, but does not use disguises or cloak.&lt;br /&gt;
	//Sniper			- Uses mission sniper AI&lt;br /&gt;
	//SuicideBomber		- Uses sentry buster AI, but targets players instead. Might crash servers&lt;br /&gt;
	//Idle				- Sit in spawn and wait&lt;br /&gt;
	//Passive			- Sit at spawn position, until an active threat is in vision&lt;br /&gt;
	//Medic				- Use medic AI&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Custom weapon model ==&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
CustomWeaponModel [$SIGSEGV] //Sets custom weapon model&lt;br /&gt;
{&lt;br /&gt;
	Slot 1 //Valid loadout positions:&lt;br /&gt;
		//0 - LOADOUT_POSITION_PRIMARY&lt;br /&gt;
		//1 - LOADOUT_POSITION_SECONDARY&lt;br /&gt;
		//2 - LOADOUT_POSITION_MELEE&lt;br /&gt;
		//3 - LOADOUT_POSITION_UTILITY&lt;br /&gt;
		//4 - LOADOUT_POSITION_BUILDING&lt;br /&gt;
		//5 - LOADOUT_POSITION_PDA&lt;br /&gt;
		//6 - LOADOUT_POSITION_PDA2&lt;br /&gt;
	Model &amp;quot;models/weapons/w_models/w_minigun.mdl&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;Alternatively, use &amp;quot;custom item model&amp;quot; as a [[List of custom attributes|custom attribute]]. The model has to be precached if it isn&#039;t part of the base game.&lt;br /&gt;
&lt;br /&gt;
== Visual changes ==&lt;br /&gt;
UseBusterModel 1 [$SIGSEGV] //Use buster model&lt;br /&gt;
&lt;br /&gt;
Skin 4 [$SIGSEGV] // Force the bot to use specified model skin&lt;br /&gt;
&lt;br /&gt;
== Misc. keyvalues ==&lt;br /&gt;
NoBombUpgrades 1 [$SIGSEGV] //If set, the bomb carrier will not upgrade over time&lt;br /&gt;
&lt;br /&gt;
PainSound &amp;quot;=70|GoldPipe_MissionIntro.mp3&amp;quot; [$SIGSEGV] //Override pain sound. The value after = is sound level in DB, applicable for all custom mission sounds&lt;br /&gt;
&lt;br /&gt;
DeathSound &amp;quot;GoldPipe_MissionIntro.mp3&amp;quot; [$SIGSEGV] //Override death sound.&lt;br /&gt;
&lt;br /&gt;
DesiredAttackRange 100 [$SIGSEGV] // How close to the target the bot should want to move when trying to attack. For melee weapons, default is 100. For other weapons except sniper rifles, default is 500&lt;br /&gt;
&lt;br /&gt;
MoveBehindEnemy 1 [$SIGSEGV] // Should the bot try to get behind the target, similar to how the Spy bot behaves. Instead of 1 you can also specify custom distance at which the bot will start strafing around the target (default: 0) &lt;br /&gt;
&lt;br /&gt;
== Additions to existing keyvalues ==&lt;br /&gt;
WeaponRestrictions now also supports &#039;&#039;&#039;PDAOnly&#039;&#039;&#039; and &#039;&#039;&#039;BuildingOnly&#039;&#039;&#039;.&lt;/div&gt;</summary>
		<author><name>Seelpit</name></author>
	</entry>
	<entry>
		<id>https://sigwiki.potato.tf/index.php?title=WaveSpawn&amp;diff=7215</id>
		<title>WaveSpawn</title>
		<link rel="alternate" type="text/html" href="https://sigwiki.potato.tf/index.php?title=WaveSpawn&amp;diff=7215"/>
		<updated>2023-07-29T18:45:27Z</updated>

		<summary type="html">&lt;p&gt;Seelpit: Bolded the &amp;quot;WaveSpawn{}&amp;quot; text for a bit more visual flair.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOEDITSECTION__&lt;br /&gt;
&lt;br /&gt;
Listed below are all of the custom keyvalues accepted in the &#039;&#039;&#039;WaveSpawn{}&#039;&#039;&#039; block by our server mods.&lt;br /&gt;
&lt;br /&gt;
==Chat Messages==&lt;br /&gt;
&lt;br /&gt;
 StartWaveMessage &amp;quot;Wave start&amp;quot; [$SIGSEGV]&lt;br /&gt;
Chat message when wavespawn stops waiting for other wavespawns&lt;br /&gt;
 &lt;br /&gt;
 StartWaveMessage &amp;quot;Wave start line 2&amp;quot; [$SIGSEGV]&lt;br /&gt;
Chat message when wavespawn stops waiting for other wavespawns&lt;br /&gt;
 &lt;br /&gt;
 FirstSpawnMessage &amp;quot;First spawn&amp;quot; [$SIGSEGV]&lt;br /&gt;
Chat message when a bot is spawned for the first time&lt;br /&gt;
 &lt;br /&gt;
 LastSpawnMessage &amp;quot;Last spawn&amp;quot; [$SIGSEGV]&lt;br /&gt;
Chat message when a bot is spawned for the last time&lt;br /&gt;
 &lt;br /&gt;
 DoneMessage &amp;quot;Done&amp;quot; [$SIGSEGV]&lt;br /&gt;
Chat message when the wavespawn is finished&lt;br /&gt;
&lt;br /&gt;
==Point Template Spawner==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
 PointTemplate [$SIGSEGV] // PointTemplate spawner. Counts as alive until all entites in the template are removed&lt;br /&gt;
 {&lt;br /&gt;
 	SpawnAtEntity Where // Entity to spawn the template at, &amp;quot;Where&amp;quot; spawns at the bot spawn as indicated by where. If omitted, spawns at world origin&lt;br /&gt;
 	IsCrit 1 // Shows icon as critical (Default: 0)&lt;br /&gt;
 	IsMiniBoss 1 // Shows icon as mini boss (Default: 0)&lt;br /&gt;
 	ClassIcon Soldier // ClassIcon to use&lt;br /&gt;
 	Name &amp;quot;SentryStack&amp;quot; // Template name to use&lt;br /&gt;
 	Origin &amp;quot;0 1 0&amp;quot; // Position where to spawn the template. If SpawnAtEntity is specified, relative to entity&lt;br /&gt;
 	Angles &amp;quot;0 85 0&amp;quot; // Rotation of the template&lt;br /&gt;
 	SpawnCurrencyPack &amp;quot;sentry3&amp;quot; // Entity which will drop money. If not specified, currency is distributed automatically when the template is removed&lt;br /&gt;
 	SpreadRadius &amp;quot;60 60 0&amp;quot; // Randomly spreads entities in x y z coordinates&lt;br /&gt;
 	StickToGround 6000 // Stick spawned template to ground, as long as its up to x units above the ground&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Halloween Boss Spawner==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
 HalloweenBoss [$SIGSEGV] // HalloweenBoss spawner. Spawns a boss&lt;br /&gt;
 {&lt;br /&gt;
 	IsCrit 1 // Shows icon as critical (Default: 0)&lt;br /&gt;
 	IsMiniBoss 1 // Shows icon as mini boss (Default: 1)&lt;br /&gt;
 	ClassIcon Soldier // ClassIcon to use&lt;br /&gt;
 	FastUpdate 1 // Should do updates every tick (Default: 0)&lt;br /&gt;
 	BossType Monoculus // Boss type: MONOCULUS, Merasmus, HHH, SkeletonSmall, SkeletonNormal, SkeletonKing. Skeletons default limit is 30 active at once unless modified by MaxActiveSkeletons&lt;br /&gt;
 	SpawnCurrencyPack 1 // If set, the boss will drop money on death. Otherwise its distributed automatically (Default: 1)&lt;br /&gt;
 	TeamNum 5 // Team number for Monoculus (2 - red, 3 - blu, 5 - neutral) (Default: 5)&lt;br /&gt;
 	Health 11111 // Boss health, 0 means default health (Default: 0)&lt;br /&gt;
 	Lifetime 55 // Boss lifetime for Monoculus, Merasmus and skeletons in seconds (Default: infinite)&lt;br /&gt;
 	Speed 0 // Overrides boss move speed&lt;br /&gt;
 	// Origin &amp;quot;0 100 0&amp;quot; // If set, spawns boss at the specified position rather than at where location&lt;br /&gt;
 	SpreadRadius &amp;quot;200 200 0&amp;quot; // Randomly spreads halloween boss in x y z coordinates&lt;br /&gt;
 	StickToGround 6000 // Stick spawned boss to ground, as long as its up to x units above the ground&lt;br /&gt;
 	DamageMultiplier 10 // Damage multiplier&lt;br /&gt;
 	// SpawnAtEntity &amp;quot;entity&amp;quot; // If set, spawns boss at the entity location instead of where location&lt;br /&gt;
 	SpawnTemplate &amp;quot;WeaponMimic&amp;quot; // Spawn PointTemplate at entity&lt;br /&gt;
 }&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Seelpit</name></author>
	</entry>
	<entry>
		<id>https://sigwiki.potato.tf/index.php?title=Modular_Gatebots&amp;diff=7210</id>
		<title>Modular Gatebots</title>
		<link rel="alternate" type="text/html" href="https://sigwiki.potato.tf/index.php?title=Modular_Gatebots&amp;diff=7210"/>
		<updated>2023-06-19T17:47:00Z</updated>

		<summary type="html">&lt;p&gt;Seelpit: Fixed link to popfile.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Gatebot templates that can be used alongside other templates&lt;br /&gt;
&lt;br /&gt;
== Templates ==&lt;br /&gt;
&lt;br /&gt;
* GatebotScout&lt;br /&gt;
* GatebotPyro&lt;br /&gt;
* GatebotSoldier&lt;br /&gt;
* GatebotHeavy&lt;br /&gt;
* GatebotDemoman&lt;br /&gt;
* GatebotEngineer&lt;br /&gt;
* GatebotMedic&lt;br /&gt;
* GatebotSniper&lt;br /&gt;
* GatebotSpy&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
[[File:Modulargatebot.png|thumb|Gatebot template used alongside demoknight template]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
#base robot_giant.pop&lt;br /&gt;
#base robot_standard.pop&lt;br /&gt;
#base robot_gatebot_modular.pop&lt;br /&gt;
WaveSchedule&lt;br /&gt;
{&lt;br /&gt;
	Wave&lt;br /&gt;
	{&lt;br /&gt;
		WaveSpawn&lt;br /&gt;
		{&lt;br /&gt;
			Name &amp;quot;wave01a&amp;quot;&lt;br /&gt;
			Where spawnbot&lt;br /&gt;
			TotalCount 1&lt;br /&gt;
			WaitBeforeStarting 0&lt;br /&gt;
			&lt;br /&gt;
			TFBot&lt;br /&gt;
			{&lt;br /&gt;
				Template T_TFBot_Demoman_Knight&lt;br /&gt;
				AddTemplate GatebotDemoman [$SIGSEGV]&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
Popfile: https://testing.potato.tf/tf/scripts/population/robot_gatebot_modular.pop&lt;br /&gt;
&lt;br /&gt;
[[Category:Templates]]&lt;/div&gt;</summary>
		<author><name>Seelpit</name></author>
	</entry>
	<entry>
		<id>https://sigwiki.potato.tf/index.php?title=Vaccinator_Tank&amp;diff=7209</id>
		<title>Vaccinator Tank</title>
		<link rel="alternate" type="text/html" href="https://sigwiki.potato.tf/index.php?title=Vaccinator_Tank&amp;diff=7209"/>
		<updated>2023-06-19T17:44:56Z</updated>

		<summary type="html">&lt;p&gt;Seelpit: Fixed link to popfile.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Tank that resists either bullet, fire, blast damage or all but melee damage &lt;br /&gt;
&lt;br /&gt;
== Templates ==&lt;br /&gt;
&lt;br /&gt;
* TankVacBullet&lt;br /&gt;
* TankVacBlast&lt;br /&gt;
* TankVacFire&lt;br /&gt;
* TankVacMelee&lt;br /&gt;
** Resists all but melee damage&lt;br /&gt;
&lt;br /&gt;
== Example ==&lt;br /&gt;
[[File:Tank.png|thumb|Vaccinator tanks: Melee only, bullet, blast, fire]]&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
#base robot_tank_vac.pop&lt;br /&gt;
&lt;br /&gt;
WaveSchedule&lt;br /&gt;
{&lt;br /&gt;
	Wave&lt;br /&gt;
	{&lt;br /&gt;
		WaveSpawn&lt;br /&gt;
		{&lt;br /&gt;
			TotalCount	1&lt;br /&gt;
			WaitBeforeStarting 0&lt;br /&gt;
			Tank&lt;br /&gt;
			{&lt;br /&gt;
				Health	15000&lt;br /&gt;
				Name	Tank1&lt;br /&gt;
				Speed	75&lt;br /&gt;
				&lt;br /&gt;
				StartingPathTrackNode	tank_path_a_1	&lt;br /&gt;
				Template &amp;quot;TankVacMelee&amp;quot;&lt;br /&gt;
				OnKilledOutput&lt;br /&gt;
				{&lt;br /&gt;
					Target	boss_dead_relay&lt;br /&gt;
					Action	Trigger&lt;br /&gt;
				}&lt;br /&gt;
				OnBombDroppedOutput&lt;br /&gt;
				{&lt;br /&gt;
					Target	boss_deploy_relay&lt;br /&gt;
					Action	Trigger&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		WaveSpawn&lt;br /&gt;
		{&lt;br /&gt;
			TotalCount	1&lt;br /&gt;
			WaitBeforeStarting 3&lt;br /&gt;
			Tank&lt;br /&gt;
			{&lt;br /&gt;
				Health	15000&lt;br /&gt;
				Name	Tank2&lt;br /&gt;
				Speed	75&lt;br /&gt;
				&lt;br /&gt;
				StartingPathTrackNode	tank_path_a_1	&lt;br /&gt;
				Template &amp;quot;TankVacBullet&amp;quot;&lt;br /&gt;
				OnKilledOutput&lt;br /&gt;
				{&lt;br /&gt;
					Target	boss_dead_relay&lt;br /&gt;
					Action	Trigger&lt;br /&gt;
				}&lt;br /&gt;
				OnBombDroppedOutput&lt;br /&gt;
				{&lt;br /&gt;
					Target	boss_deploy_relay&lt;br /&gt;
					Action	Trigger&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		WaveSpawn&lt;br /&gt;
		{&lt;br /&gt;
			TotalCount	1&lt;br /&gt;
			WaitBeforeStarting 6&lt;br /&gt;
			Tank&lt;br /&gt;
			{&lt;br /&gt;
				Health	15000&lt;br /&gt;
				Name	Tank3&lt;br /&gt;
				Speed	75&lt;br /&gt;
				&lt;br /&gt;
				StartingPathTrackNode	tank_path_a_1	&lt;br /&gt;
				Template &amp;quot;TankVacBlast&amp;quot;&lt;br /&gt;
				OnKilledOutput&lt;br /&gt;
				{&lt;br /&gt;
					Target	boss_dead_relay&lt;br /&gt;
					Action	Trigger&lt;br /&gt;
				}&lt;br /&gt;
				OnBombDroppedOutput&lt;br /&gt;
				{&lt;br /&gt;
					Target	boss_deploy_relay&lt;br /&gt;
					Action	Trigger&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		WaveSpawn&lt;br /&gt;
		{&lt;br /&gt;
			TotalCount	1&lt;br /&gt;
			WaitBeforeStarting 9&lt;br /&gt;
			Tank&lt;br /&gt;
			{&lt;br /&gt;
				Health	15000&lt;br /&gt;
				Name	Tank4&lt;br /&gt;
				Speed	75&lt;br /&gt;
				&lt;br /&gt;
				StartingPathTrackNode	tank_path_a_1	&lt;br /&gt;
				Template &amp;quot;TankVacFire&amp;quot;&lt;br /&gt;
				OnKilledOutput&lt;br /&gt;
				{&lt;br /&gt;
					Target	boss_dead_relay&lt;br /&gt;
					Action	Trigger&lt;br /&gt;
				}&lt;br /&gt;
				OnBombDroppedOutput&lt;br /&gt;
				{&lt;br /&gt;
					Target	boss_deploy_relay&lt;br /&gt;
					Action	Trigger&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Download ==&lt;br /&gt;
Popfile: https://testing.potato.tf/tf/scripts/population/robot_tank_vac.pop&lt;br /&gt;
&lt;br /&gt;
Models and icons: https://drive.google.com/file/d/1KixVsh7CDN4ocvYHmvok7bUKr2uFR33i/view?usp=sharing&lt;br /&gt;
[[Category:Templates]]&lt;/div&gt;</summary>
		<author><name>Seelpit</name></author>
	</entry>
	<entry>
		<id>https://sigwiki.potato.tf/index.php?title=List_of_custom_attributes&amp;diff=7205</id>
		<title>List of custom attributes</title>
		<link rel="alternate" type="text/html" href="https://sigwiki.potato.tf/index.php?title=List_of_custom_attributes&amp;diff=7205"/>
		<updated>2023-05-05T20:36:37Z</updated>

		<summary type="html">&lt;p&gt;Seelpit: Fixed up some descriptions to be clearer. Moved related attributes closer to each other (mod projectile heat, projectile acceleration). Some edits may be incorrect, please make sure to double-check.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Attribute Name&lt;br /&gt;
!Description&lt;br /&gt;
!Example Value&lt;br /&gt;
|-&lt;br /&gt;
| parachute disabled&lt;br /&gt;
|If set to 1, the user cannot deploy parachutes&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
|fires milk bolt&lt;br /&gt;
|Secondary attack: crossbow fires milk bolt. Regenerates every x seconds&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|force distribute currency on death&lt;br /&gt;
| Bots with this attribute distribute their currency on death, like with sniper kills (red money)&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|melee cleave attack&lt;br /&gt;
|Melee weapon attacks all enemies in range&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
| extra damage on hit penalty&lt;br /&gt;
|Special mode for revolver: each hit reduces damage, up to x times. Likely does not work&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|extra damage on hit&lt;br /&gt;
|&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|mod teleporter speed boost&lt;br /&gt;
|Grants the players speed buff for 4 seconds after leaving teleporter&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|set turn to ice&lt;br /&gt;
| Turns the victim ragdoll to ice&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
| can breathe under water&lt;br /&gt;
|If set to 1, the player can breathe underwater&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
| cannot swim&lt;br /&gt;
|If set to 1, the player cannot swim &lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|swimming mastery&lt;br /&gt;
|If set to 1, the player can swim at full class speed&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|ability doubletap teleport&lt;br /&gt;
|If set to 1, the player can move teleporters with double tapped movement keys. Does not work&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|mod ignore resists absorbs&lt;br /&gt;
| A worse version of damage piercing since it only ignores the Battalion&#039;s Backup&#039;s 35% damage reduction. Does not work?&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|scoreboard minigame&lt;br /&gt;
|Players with this attribute are granted more points for kills but lose points after death&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|wet immunity&lt;br /&gt;
|Makes the player immune to wet statuses, like Jarate and Mad Milk&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|ability master sniper&lt;br /&gt;
|Huntsman: reduces shoot time 40%/70%, same functionality as faster reload rate but limited to 2 points&lt;br /&gt;
Sniper rifle: reduces zoom time 40%/70% (like reload rate does). increases charge rate 50%/200%, but actually 100% due to the cap&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|last shot crits&lt;br /&gt;
|Last revolver shot in the clip is critical&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|keep disguise on attack&lt;br /&gt;
|Keep disguise after attacking. Revolver only&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|add give health to teammate on hit&lt;br /&gt;
| On hit ally: heal your teammate for x health, draining your own health&lt;br /&gt;
|75 &lt;br /&gt;
|-&lt;br /&gt;
|mod minigun can holster while spinning&lt;br /&gt;
|Can switch to other weapons while spinning minigun&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|sapper deploy time&lt;br /&gt;
|Probably does nothing, otherwise it adds time required for the sapper to activate&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|kill combo fire rate boost&lt;br /&gt;
|On kill: gives x% fire rate bonus, stacks up to 3 times. Killing a different class clears the combo&lt;br /&gt;
|0.1&lt;br /&gt;
|-&lt;br /&gt;
|mult dispenser rate&lt;br /&gt;
|Multiplier for health, ammo, and metal dispenser rate&lt;br /&gt;
| 2&lt;br /&gt;
|-&lt;br /&gt;
| mvm sentry ammo&lt;br /&gt;
|Sentry max ammo multiplier&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
| build small sentries&lt;br /&gt;
|Sentry is 20% smaller. 33% less health, 25% less metal required to upgrade &lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|mult teleporter recharge rate&lt;br /&gt;
|Teleporter recharge duration multiplier &lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
| disguise as dispenser on crouch&lt;br /&gt;
|As spy, disguise as dispenser when crouching&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|ubercharge transfer&lt;br /&gt;
|On hit, as a medic, with &amp;quot;ubercharge ammo&amp;quot; syringegun: transfer x% of the used uber to the enemy medic&lt;br /&gt;
|34&lt;br /&gt;
|-&lt;br /&gt;
|ubercharge ammo&lt;br /&gt;
| Uses ubercharge as ammo. 100 for full uber use. Syringegun (not crossbow) only &lt;br /&gt;
|10&lt;br /&gt;
|-&lt;br /&gt;
|teleport instead of die&lt;br /&gt;
| On death: x% chance of being immediately revived at spawn with 1 health&lt;br /&gt;
|0.5&lt;br /&gt;
|-&lt;br /&gt;
|mod projectile heat seek power&lt;br /&gt;
| The weapon&#039;s homing seek power, in degrees per second.&lt;br /&gt;
This attribute is &#039;&#039;&#039;required&#039;&#039;&#039; for the other &amp;quot;mod projectile heat&amp;quot; attributes to work!&lt;br /&gt;
|360&lt;br /&gt;
|-&lt;br /&gt;
| mod projectile heat aim error&lt;br /&gt;
|The weapon&#039;s max error in aim in degrees. If no target is within this degree, the projectile will not home. &lt;br /&gt;
|90&lt;br /&gt;
|-&lt;br /&gt;
|mod projectile heat aim time&lt;br /&gt;
|Time in seconds that the projectile is homing for&lt;br /&gt;
|1.75&lt;br /&gt;
|-&lt;br /&gt;
|mod projectile heat no predict target speed&lt;br /&gt;
|Disables movement prediction for homing projectiles. Might be useful for very slow projectilesmovement prediction for homing projectiles. Might be useful for very slow projectiles&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|mod projectile heat follow crosshair&lt;br /&gt;
|Homing projectiles will follow the crosshair instead of enemies.&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|mod projectile heat aim start time&lt;br /&gt;
|Time in seconds before the projectile starts homing.&lt;br /&gt;
|3&lt;br /&gt;
|-&lt;br /&gt;
|mult dmg vs same class&lt;br /&gt;
|Damage vs same class multiplier&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|uber on damage taken&lt;br /&gt;
|On taking damage: x% chance of being ubercharged for 3 seconds&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
|mult dmgtaken from melee&lt;br /&gt;
|Damage taken from melee multiplier &lt;br /&gt;
| 0.3&lt;br /&gt;
|-&lt;br /&gt;
| mult crit when health is below percent&lt;br /&gt;
|Player is crit boosted when below x% health.&lt;br /&gt;
|0.5&lt;br /&gt;
|-&lt;br /&gt;
|penetration damage penalty&lt;br /&gt;
|Penetrated players receive only x% damage. Bullets only. Can be damage bonus despite the name &lt;br /&gt;
| 0.5&lt;br /&gt;
|-&lt;br /&gt;
| firing forward pull&lt;br /&gt;
|Player is pushed x units and speed boosted when firing flamethrower. Limited by ground move speed&lt;br /&gt;
|1000&lt;br /&gt;
|-&lt;br /&gt;
|mod soldier buff range&lt;br /&gt;
| Multiplier for Soldier&#039;s banner buff range. Base is 450 HU. &lt;br /&gt;
|1.7&lt;br /&gt;
|-&lt;br /&gt;
|mult rocketjump deploy time&lt;br /&gt;
|Deploy speed bonus when rocket jumping&lt;br /&gt;
|0.4&lt;br /&gt;
|-&lt;br /&gt;
|mul nonrocketjump attackrate&lt;br /&gt;
|Fire rate multiplier when not rocket jumping&lt;br /&gt;
|0.5&lt;br /&gt;
|-&lt;br /&gt;
|aoe heal chance&lt;br /&gt;
|On hit: refire time * (x/60) % chance for aoe heal for 1s (24 hp healed total). use 60 for 100% chance on 1s refire time weapon, 600 for 0.1s&lt;br /&gt;
|80&lt;br /&gt;
|-&lt;br /&gt;
| crits on damage&lt;br /&gt;
| On hit: refire time * (x/60) % chance for crit boost for 3s.  use 60 for 100% chance on 1s refire time weapon, 600 for 0.1s&lt;br /&gt;
|80 &lt;br /&gt;
|-&lt;br /&gt;
|stun on damage&lt;br /&gt;
|On hit: refire time * (x/60) % chance for stun for 3s. use 60 for 100% chance on 1s refire time weapon, 600 for 0.1s&lt;br /&gt;
| 80&lt;br /&gt;
|-&lt;br /&gt;
|aoe blast on damage&lt;br /&gt;
| On hit: refire time * (x/60) % chance for 100 hu blast that stuns players for 2 seconds and applies bleed. use 60 for 100% chance on 1s refire time weapon, 600 for 0.1s &lt;br /&gt;
|80&lt;br /&gt;
|-&lt;br /&gt;
| mult dmg with reduced health&lt;br /&gt;
| Grants up to x% damage bonus based on current health&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|mult airblast primary refire time&lt;br /&gt;
|Multiplier of how fast primary fire can be used after airblasting &lt;br /&gt;
| 4&lt;br /&gt;
|-&lt;br /&gt;
|mod flamethrower spinup time&lt;br /&gt;
|Spin up time for flamethrowers in seconds&lt;br /&gt;
|2.4&lt;br /&gt;
|-&lt;br /&gt;
| mult airblast cone scale&lt;br /&gt;
|Player pushback cone scale. Might not work after JI&lt;br /&gt;
|1.8&lt;br /&gt;
|-&lt;br /&gt;
|airblast functionality flags&lt;br /&gt;
|Combination of flamethrower flags, used to limit airblast functionality. You have to add those numbers to enable specific functions (by default all are enabled):&lt;br /&gt;
1 - If airblast should push players&lt;br /&gt;
&lt;br /&gt;
2 - If airblast can put out afterburn&lt;br /&gt;
&lt;br /&gt;
4 - If airblast can reflect projectiles&lt;br /&gt;
&lt;br /&gt;
8 - If airblast can stun players&lt;br /&gt;
&lt;br /&gt;
16 - If airblast disrupts player aim&lt;br /&gt;
|9&lt;br /&gt;
|-&lt;br /&gt;
|reverse airblast&lt;br /&gt;
|airblast pushes players towards the pyro. Does not work? &lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|airblast dashes&lt;br /&gt;
|airblast pushes the pyro instead of enemies. Affected by airblast push force.&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|mult sniper charge per sec with enemy under crosshair&lt;br /&gt;
|Sniper rifle charge rate when looking at the enemy. Still subject to the 200% charge rate limit&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|sniper beep with enemy under crosshair&lt;br /&gt;
|Beeps when the sniper is looking at the enemy while charging, if set to 1 &lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|disable buildings on hit&lt;br /&gt;
|On building hit: Disable for x seconds&lt;br /&gt;
|4&lt;br /&gt;
|-&lt;br /&gt;
| regenerate stickbomb&lt;br /&gt;
|Regenerates Ullapool Caber after a hit.&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
|mult smack time&lt;br /&gt;
|Melee &amp;quot;smack time&amp;quot; multiplier; time between pressing the fire button and the attack being dealt (0.2s default)&lt;br /&gt;
|4&lt;br /&gt;
|-&lt;br /&gt;
|medic machinery beam&lt;br /&gt;
|If set to 1, enables healing buildings as medic. increases building healing rate by 10% for each point&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|arrow mastery&lt;br /&gt;
|Lets the Huntsman shoot 2 additional arrows per level, 25 base damage each. Can headshot.&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
|custom item model&lt;br /&gt;
|Custom item model name&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|custom weapon fire sound&lt;br /&gt;
| Custom weapon fire sound. Does not work for the weapon owner&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|explosive bullets&lt;br /&gt;
| Bullets explode in x radius on hit (147 is rocket launcher radius)&lt;br /&gt;
|100&lt;br /&gt;
|-&lt;br /&gt;
|mult projectile scale&lt;br /&gt;
| Projectile model scale multipier&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
| mult projectile count&lt;br /&gt;
|Fire x projectiles at once. Rocket Launchers may not work; stacked rockets will explode on eachother.&lt;br /&gt;
|4&lt;br /&gt;
|-&lt;br /&gt;
| projectile trail particle&lt;br /&gt;
|Projectile trail particle name. Prefix the particle name with ~ to remove the original particle.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|explosion particle&lt;br /&gt;
|Explosion particle name&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|radius sleeper&lt;br /&gt;
|Restores the Sydney Sleeper&#039;s old &amp;quot;Jarate explosion&amp;quot; on headshot and fully-charged bodyshot.&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|cannot be sapped&lt;br /&gt;
|Bots with this attribute cannot be affected by the Sapper&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|item color rgb&lt;br /&gt;
|Item tint color&lt;br /&gt;
|223424&lt;br /&gt;
|-&lt;br /&gt;
| is invisible&lt;br /&gt;
|Turns item invisible &lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| cannot taunt&lt;br /&gt;
|If set to 1, cannot taunt&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|projectile acceleration&lt;br /&gt;
|Projectile acceleration in hu/s^2 &lt;br /&gt;
|500&lt;br /&gt;
|-&lt;br /&gt;
|projectile acceleration time&lt;br /&gt;
|TIme in seconds that the projectile should accelerate for&lt;br /&gt;
|2.55&lt;br /&gt;
|-&lt;br /&gt;
|projectile acceleration start time&lt;br /&gt;
|Time before projectile starts accelerating&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|is miniboss&lt;br /&gt;
|The player is counted as a miniboss. Sappers will not fully stun, backstabs deal set damage, will not receive bomb buffs.&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|model scale&lt;br /&gt;
| Player&#039;s model scale. 1.75 is used for giant bots.&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|cannot upgrade&lt;br /&gt;
|If set to 1, the player cannot use upgrade stations&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|min respawn time&lt;br /&gt;
|Minimal respawn time in seconds &lt;br /&gt;
|4&lt;br /&gt;
|-&lt;br /&gt;
|always crit&lt;br /&gt;
|Weapon always crits. Less reliable with higher ping. &lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|mult firerocket rate&lt;br /&gt;
|Level 3 Sentry rocket fire rate&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
|building max level&lt;br /&gt;
|Building max level limit &lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|sentry rapid fire&lt;br /&gt;
|Allows for faster sentry fire rate, up to 66 shots per second. Effectively fixes sentry fire rate upgrades by not simulating it every 3 ticks, but every tick.&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
|dont count damage towards crit rate&lt;br /&gt;
| Dealing damage with weapon does not increase crit rate&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|reduced damage rampup&lt;br /&gt;
|Sets the weapon&#039;s maximum damage rampup to 20% (similar to Stickybomb Launchers)&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|no reduced damage rampup&lt;br /&gt;
|Sets the weapon&#039;s maximum damage rampup to 50% (similar to Shotguns)&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|force damage falloff&lt;br /&gt;
|Forces the weapon to have damage rampup and falloff&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
| no damage falloff&lt;br /&gt;
|Forces the weapon to have no damage rampup and falloff&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|can headshot&lt;br /&gt;
|Weapon can headshot. Hitscan only; inconsistent on multi-pellet weapons such as Shotguns. &lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|building color rgb&lt;br /&gt;
|Building tint color&lt;br /&gt;
|23424&lt;br /&gt;
|-&lt;br /&gt;
|building scale&lt;br /&gt;
|Building scale. Values above 1.17 make it difficult for players to build on uneven ground&lt;br /&gt;
|1.54 &lt;br /&gt;
|-&lt;br /&gt;
|mult stun resistance&lt;br /&gt;
|Stun and slow multiplier. 0 to be fully stun/slow immune &lt;br /&gt;
| 0&lt;br /&gt;
|-&lt;br /&gt;
|allow friendly fire&lt;br /&gt;
| If set to 1, the player can deal friendly fire damage&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|receive friendly fire&lt;br /&gt;
| If set to 1, the player can receive friendly fire from teammates&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|mult dmg friendly fire&lt;br /&gt;
|Damage dealt to teammates multiplier. &#039;&#039;&#039;Requires&#039;&#039;&#039; &amp;quot;allow friendly fire&amp;quot; to be set to 1.&lt;br /&gt;
|0.4&lt;br /&gt;
|-&lt;br /&gt;
|cannot headshot&lt;br /&gt;
|Weapon cannot headshot&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|mult crit dmg&lt;br /&gt;
|Crit damage multiplier&lt;br /&gt;
|1.54&lt;br /&gt;
|-&lt;br /&gt;
| cannot be headshot&lt;br /&gt;
|If set to 1, the player cannot be headshot. Only blocks hitscan headshots&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|attachment name&lt;br /&gt;
| Use this model attachment instead of bonemerging. If the name is empty, it will follow player origin instead.&lt;br /&gt;
Common attachments for robot models: head, eye_1, flag. Some bot models also have eye_2, partyhat. Demo &amp;amp;amp; Soldier additionally contain foot_L and foot_R&lt;br /&gt;
&lt;br /&gt;
Common attachments for player models: head, eyes, flag, partyhat, bread_face, bread_head, effect_hand_L, effect_hand_R, bread_hand_r, bread_hand_l, bread_butt, bread_heel_l, foot_L, foot_R&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This attribute is &#039;&#039;&#039;required&#039;&#039;&#039; to make other &amp;quot;attachment&amp;quot; attributes work!&lt;br /&gt;
|head&lt;br /&gt;
|-&lt;br /&gt;
|attachment offset&lt;br /&gt;
| Item offset from the attachment origin &lt;br /&gt;
|4 2 44&lt;br /&gt;
|-&lt;br /&gt;
|attachment angles&lt;br /&gt;
|Rotation for attached items&lt;br /&gt;
|25 25 0&lt;br /&gt;
|-&lt;br /&gt;
| attachment scale&lt;br /&gt;
|Model scale for attached items&lt;br /&gt;
|1.5&lt;br /&gt;
|-&lt;br /&gt;
|projectile gravity&lt;br /&gt;
|Projectile gravity in hu/s^2&lt;br /&gt;
|600 &lt;br /&gt;
|-&lt;br /&gt;
| grenade explode on impact&lt;br /&gt;
|Grenades explode on impact with the world, similar to rockets&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
projectile lifetime&lt;br /&gt;
|Projectile lifetime in seconds; deletes projectiles, does not cause explosions for explosive projectiles. &lt;br /&gt;
| 52&lt;br /&gt;
|-&lt;br /&gt;
|not solid to players&lt;br /&gt;
| The player is not solid to other players&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|is suicide counter&lt;br /&gt;
|If set, the player takes this amount of damage per second, ignores uber, does not apply damage force&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|always allow taunt&lt;br /&gt;
|Always allow the player to continue taunting, even midair. The player cannot start a taunt in midair, but their taunts will not be interrupted by being launched or falling off a bot. &lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|mult reflect velocity&lt;br /&gt;
| Reflected projectile speed multiplier&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
|custom kill icon&lt;br /&gt;
|Use custom kill icon. Icons are defined in scripts/mod_textures.txt in tf_misc_dir.vpk&lt;br /&gt;
|armageddon&lt;br /&gt;
|-&lt;br /&gt;
| cannot be upgraded&lt;br /&gt;
|If set to 1, the weapon cannot be upgraded, but the player can still use the upgrade station&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|projectile no deflect&lt;br /&gt;
|Projectile cannot be deflected (such as by miniguns) or reflected (such as by flamethrowers). Short Circuit orb will still delete the projectile.&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| player gravity ballon head&lt;br /&gt;
|Player gravity multiplier when affected by the balloon head condition (TF_COND_BALLOON_HEAD). 0 is for regular gravity&lt;br /&gt;
|12&lt;br /&gt;
|-&lt;br /&gt;
| mult dmg vs giants&lt;br /&gt;
|Damage multiplier vs giants&lt;br /&gt;
|2.5&lt;br /&gt;
|-&lt;br /&gt;
| mult dmg vs tanks&lt;br /&gt;
| Damage multiplier vs tanks&lt;br /&gt;
|2.5&lt;br /&gt;
|-&lt;br /&gt;
| mult dmg vs npc&lt;br /&gt;
|Damage multiplier vs npc - including Halloween bosses and tanks, excluding player bots &lt;br /&gt;
| 2.5&lt;br /&gt;
|-&lt;br /&gt;
| custom hit sound&lt;br /&gt;
|Custom sound played when an enemy is hit with the weapon&lt;br /&gt;
|fdfdf&lt;br /&gt;
|-&lt;br /&gt;
| custom impact sound&lt;br /&gt;
|Custom sound played when a rocket / projectile / bullet hits something&lt;br /&gt;
|fdfdf&lt;br /&gt;
|-&lt;br /&gt;
|custom weapon reload sound&lt;br /&gt;
|Custom weapon reload sound&lt;br /&gt;
|fdfdf &lt;br /&gt;
|-&lt;br /&gt;
|no explosion particles&lt;br /&gt;
| No explosion particles and sounds&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
| override projectile type extra&lt;br /&gt;
|Special version of override projectile type that adds more projectile types:&lt;br /&gt;
{| class=&amp;quot;wikitable sortable mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;margin: 0 auto; width: 100%; padding: 0;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;1&amp;quot; |Possible values&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* &amp;quot;mechanicalarmorb&amp;quot; - Short circuit orb&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;stunball&amp;quot; - Sandman ball&lt;br /&gt;
&lt;br /&gt;
* &amp;quot;ornament&amp;quot; - Wrap Assassin projectile&lt;br /&gt;
*&amp;quot;jarate&amp;quot;&lt;br /&gt;
*&amp;quot;madmilk&amp;quot;&lt;br /&gt;
*&amp;quot;cleaver&amp;quot;&lt;br /&gt;
*&amp;quot;gas&amp;quot;&lt;br /&gt;
*&amp;quot;brick&amp;quot; - Uses bread model. Deals 40 damage on hit.&lt;br /&gt;
*&amp;quot;repel&amp;quot;&lt;br /&gt;
*&amp;quot;breadmonster&amp;quot;&lt;br /&gt;
*&amp;quot;spellfireball&amp;quot; - Fireball spell. &#039;&#039;Only this spells will trigger ShootTemplate blocks; others will not!&#039;&#039;&lt;br /&gt;
*&amp;quot;spelllightningorb&amp;quot; &lt;br /&gt;
*&amp;quot;spellkartorb&amp;quot; - Explosive KGB Glove from the Carnival of Carnage kart minigames.&lt;br /&gt;
*&amp;quot;spellbats&amp;quot; &lt;br /&gt;
*&amp;quot;spellmirv&amp;quot; - Pumpkin bombs, only works if the owner has spellbook equipped&lt;br /&gt;
*&amp;quot;spelltransposeteleport&amp;quot;&lt;br /&gt;
*&amp;quot;spellmeteorshower&amp;quot;&lt;br /&gt;
*&amp;quot;spellspawnboss&amp;quot; - Summons spectral MONOCULUS.&lt;br /&gt;
*&amp;quot;spellspawnhorde&amp;quot; - Summon skeletons, only works if the owner has spellbook equipped&lt;br /&gt;
|}&lt;br /&gt;
|mechanicalarmorb&lt;br /&gt;
|-&lt;br /&gt;
|dmg current health &lt;br /&gt;
|Deal additional damage; x * target&#039;s current health.&lt;br /&gt;
|0.34&lt;br /&gt;
|-&lt;br /&gt;
|dmg max health&lt;br /&gt;
|Deal additional damage; x * target&#039;s max health &lt;br /&gt;
|0.34&lt;br /&gt;
|-&lt;br /&gt;
|dmg missing health&lt;br /&gt;
|Deal additional damage; x * target&#039;s missing health&lt;br /&gt;
|0.34&lt;br /&gt;
|-&lt;br /&gt;
| cannot be teleported&lt;br /&gt;
|If set to 1, the player cannot be teleported&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
| mult medigun range&lt;br /&gt;
|Medigun range multiplier&lt;br /&gt;
|1.5&lt;br /&gt;
|-&lt;br /&gt;
|projectile penetration limit&lt;br /&gt;
|Penetration limit for projectiles&lt;br /&gt;
|3&lt;br /&gt;
|-&lt;br /&gt;
| max aoe targets&lt;br /&gt;
|Max targets affected by explosives and flamethrowers&lt;br /&gt;
|4&lt;br /&gt;
|-&lt;br /&gt;
|effect cond override&lt;br /&gt;
|Effect condition override on drinks, jars, medigun ubercharges, and many other effect-causing weapons&lt;br /&gt;
| 24&lt;br /&gt;
|-&lt;br /&gt;
|add cond on hit &lt;br /&gt;
|Adds condition to the target on hit. To provide a second condition, multiply it by 256. To provide a third condition, multiply it by 65536.&lt;br /&gt;
|56&lt;br /&gt;
|-&lt;br /&gt;
|add cond on hit duration&lt;br /&gt;
|Add condtion on hit duration&lt;br /&gt;
|4&lt;br /&gt;
|-&lt;br /&gt;
| remove cond on hit&lt;br /&gt;
|Remove condtion from target on hit. To provide a second condition, multiply it by 256. To provide a third condition, multiply it by 65536.&lt;br /&gt;
| 57&lt;br /&gt;
|-&lt;br /&gt;
| self add cond on hit&lt;br /&gt;
|Adds condition to self when hitting a target&lt;br /&gt;
|54&lt;br /&gt;
|-&lt;br /&gt;
|self add cond on hit duration&lt;br /&gt;
| Duration of the condition added to self when hitting a target. Requires &amp;quot;self add cond on hit&amp;quot;.&lt;br /&gt;
|3&lt;br /&gt;
|-&lt;br /&gt;
|add cond on kill &lt;br /&gt;
|Adds condition to self when killing a target&lt;br /&gt;
|57&lt;br /&gt;
|-&lt;br /&gt;
|add cond on kill duration&lt;br /&gt;
|Duration of the condition added to self when killing a target. Requires &amp;quot;add cond on kill&amp;quot;.&lt;br /&gt;
|10&lt;br /&gt;
|-&lt;br /&gt;
|add cond when active&lt;br /&gt;
|Add condition when weapon is active. To provide a second condition, multiply it by 256. To provide a third condition, multiply it by 65536&lt;br /&gt;
|11&lt;br /&gt;
|-&lt;br /&gt;
|add damage type&lt;br /&gt;
|Add damage type to the attack. See [https://developer.valvesoftware.com/wiki/Half-Life_2/Damage_types here] for a list of damage types.&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|remove damage type&lt;br /&gt;
|Remove damage type from the attack&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|special damage type&lt;br /&gt;
| Sets a special damage type to a range from 1-3, to interact with the attributes listed below. Has no effect otherwise. &lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|dmg taken mult from special damage type 1&lt;br /&gt;
|&lt;br /&gt;
Damage taken multiplier from weapons with special damage type 1&lt;br /&gt;
|4&lt;br /&gt;
|-&lt;br /&gt;
|dmg taken mult from special damage type 2&lt;br /&gt;
|Damage taken multiplier from weapons with special damage type 2&lt;br /&gt;
|4&lt;br /&gt;
|-&lt;br /&gt;
|dmg taken mult from special damage type 3 &lt;br /&gt;
|Damage taken multiplier from weapons with special damage type 3 &lt;br /&gt;
|4&lt;br /&gt;
|-&lt;br /&gt;
|mult effect duration&lt;br /&gt;
|Effect duration multiplier on drinks and jars (Crit-a-Cola, Jarate, etc.)&lt;br /&gt;
|3&lt;br /&gt;
|-&lt;br /&gt;
|special item description&lt;br /&gt;
|Shows text as an attribute if the weapon is inspected or shown as a custom weapon.&lt;br /&gt;
&lt;br /&gt;
|item description&lt;br /&gt;
|-&lt;br /&gt;
|mult flag carrier move speed&lt;br /&gt;
|Flag carrier move speed multiplier&lt;br /&gt;
|0.66&lt;br /&gt;
|-&lt;br /&gt;
|overheal from heal on kill&lt;br /&gt;
|If set to 1 and the weapon heals on kill, it can provide overheal&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
| fire input on hit&lt;br /&gt;
|Fire an input on hit targets. The player with the attribute is considered the !activator, the target hit is considered the !self. The format is &amp;amp;lt;target&amp;amp;gt;^&amp;amp;lt;input&amp;amp;gt;^&amp;amp;lt;param&amp;amp;gt;. If omitted, default param is damage received&lt;br /&gt;
|!self^SetHealth^0&lt;br /&gt;
|-&lt;br /&gt;
|fire input on hit name restrict&lt;br /&gt;
|Restrict input on hit to the specified targetname or classname. Wildcards are allowed. &lt;br /&gt;
|player&lt;br /&gt;
|-&lt;br /&gt;
|grenade bounce speed&lt;br /&gt;
|Grenades bounce off walls, retaining x% of speed after each bounce. Also works on arrows.&lt;br /&gt;
| 0.8&lt;br /&gt;
|-&lt;br /&gt;
|grenade bounce speed xy&lt;br /&gt;
|Grenade bounce speed in xy direction multiplier&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|grenade bounce damage&lt;br /&gt;
|Grenades explode on direct hits even if the grenade already touched a wall, dealing x% additional damage. Values below 1 will make the grenade deal less damage.&lt;br /&gt;
|0.3&lt;br /&gt;
|-&lt;br /&gt;
|reset arrow hits on bounce&lt;br /&gt;
|If set to 1 on the Huntsman, when the arrow bounces, allow it to hit the same target again. Requires &amp;quot;grenade bounce speed&amp;quot; or &amp;quot;arrow target bounce speed&amp;quot;&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|arrow target bounce speed&lt;br /&gt;
|Proj+ectiles bounce off hit targets, retaining x% of speed after each bounce.&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|projectile gravity native&lt;br /&gt;
|&lt;br /&gt;
Gravity for arrows and flares. 0 is default gravity. For grenades and stickybombs, any value will disable gravity&lt;br /&gt;
|0.4&lt;br /&gt;
|-&lt;br /&gt;
|grenade no drag&lt;br /&gt;
|No drag for grenades and stickybombs, slightly changes projectile arc.&lt;br /&gt;
|&lt;br /&gt;
1&lt;br /&gt;
|-&lt;br /&gt;
|stickybomb stick to enemies&lt;br /&gt;
|Stickybombs can stick to enemies on hit. If already stuck to the world, they will not get stuck on players.&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|stickybomb no stick&lt;br /&gt;
|Stickybombs do not stick to ground&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|collect currency on kill&lt;br /&gt;
|Bots killed by the weapon distribute their currency, like with sniper kills (red money)&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|stomp player damage&lt;br /&gt;
|Damage applied to enemies when touching them&lt;br /&gt;
|100&lt;br /&gt;
|-&lt;br /&gt;
|stomp player time&lt;br /&gt;
|Time between each instance of stomp damage and push. By default, it happens every tick&lt;br /&gt;
|0.1&lt;br /&gt;
|-&lt;br /&gt;
|stomp player force&lt;br /&gt;
|Force applied to enemies when touching them. 260 is the minimum amount to knock players up.&lt;br /&gt;
|270&lt;br /&gt;
|-&lt;br /&gt;
|reflect keep team&lt;br /&gt;
|Projectiles reflected by this weapon keep their original team&lt;br /&gt;
&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
| custom wind up sound&lt;br /&gt;
|Custom minigun wind up sound. Does not override default sound &lt;br /&gt;
|sound.wav&lt;br /&gt;
|-&lt;br /&gt;
| custom wind down sound&lt;br /&gt;
|Custom minigun wind down sound. Does not override default sound&lt;br /&gt;
|sound.wav&lt;br /&gt;
|-&lt;br /&gt;
|custom minigun spin sound&lt;br /&gt;
|Custom minigun spin sound. The sound will not loop unless its made to loop&lt;br /&gt;
|sound.wav&lt;br /&gt;
|-&lt;br /&gt;
|reflect magnet&lt;br /&gt;
|If set to 1, reflected projectiles aim towards the reflector&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|stay after regenerate&lt;br /&gt;
|If set to 1, the weapon will stay after touching a resupply cabinet or upgrading, if the weapon in the inventory in the slot is different&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|arrow hit kill time&lt;br /&gt;
|If set to any value other than 0, sets custom arrow kill time after hitting something&lt;br /&gt;
|0.3&lt;br /&gt;
|-&lt;br /&gt;
|custom projectile size&lt;br /&gt;
|Custom projectile hitbox size&lt;br /&gt;
|30&lt;br /&gt;
|-&lt;br /&gt;
|mod sentry cost&lt;br /&gt;
|Sentry cost multiplier&lt;br /&gt;
|1.25&lt;br /&gt;
|-&lt;br /&gt;
| mod dispenser cost&lt;br /&gt;
| Dispenser cost multiplier&lt;br /&gt;
|1.25 &lt;br /&gt;
|-&lt;br /&gt;
|penetrate teammates&lt;br /&gt;
|Bullets and projectiles penetrate teammates, like sniper rifles. &lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
|mult step height&lt;br /&gt;
|Step height multiplier (x * 18hu); allows the player to not need to jump for greater heights &lt;br /&gt;
|10 &lt;br /&gt;
|-&lt;br /&gt;
|ignore player clip&lt;br /&gt;
|Ignore player clip brushes&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|allow bunny hop&lt;br /&gt;
|Allow bunny hopping. 1 - auto bhop. 2 - manual bhop&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|fire input on kill &lt;br /&gt;
| Fire input on killed targets. The player with the attribute is considered the !activator, the target killed is considered the !self. The format is &amp;lt;target&amp;gt;^&amp;lt;input&amp;gt;^&amp;lt;param&amp;gt;. If omitted, default param is damage received. !projectile is the projectile entity&lt;br /&gt;
|!self^SetHealth^0&lt;br /&gt;
|-&lt;br /&gt;
|fire input on kill name restrict&lt;br /&gt;
|Restrict input on kill to specified targetname. Wildcards are allowed&lt;br /&gt;
&lt;br /&gt;
|player&lt;br /&gt;
|-&lt;br /&gt;
|fire full clip at once &lt;br /&gt;
|Fire the weapon&#039;s entire clip at once&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|reload full clip at once&lt;br /&gt;
|Reload full clip at once, like pistols&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|force fire full clip&lt;br /&gt;
| Automatically fire full clip, one shot at a time. Not to be confused with &amp;quot;fire full clip at once&amp;quot;.&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|projectile sound&lt;br /&gt;
| Sound played when the projectile is fired&lt;br /&gt;
|sound.wav&lt;br /&gt;
|-&lt;br /&gt;
|burst fire count&lt;br /&gt;
|Fire this many rounds in a burst. If negative, forces to fire this many rounds even if attack button is only pressed once&lt;br /&gt;
|3&lt;br /&gt;
|-&lt;br /&gt;
|burst fire rate mult&lt;br /&gt;
|Fire rate multiplier between bursts. Regular fire rate is used for the time between shots in a burst.&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|continous accuracy mult&lt;br /&gt;
|Accuracy multiplier, continous attacking increases/decreases accuracy up to specified value over the duration of &amp;quot;continous accuracy time&amp;quot; attribute. Overwrites &amp;quot;spread penalty&amp;quot; attribute &lt;br /&gt;
|3&lt;br /&gt;
|-&lt;br /&gt;
|continous accuracy time&lt;br /&gt;
|How long in seconds should the weapon be fired continously to reach full &amp;quot;continous accuracy mult&amp;quot; value&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|duck accuracy mult&lt;br /&gt;
|Accuracy multiplier when ducking. Overwrites &amp;quot;spread penalty&amp;quot; attribute&lt;br /&gt;
|0.5&lt;br /&gt;
|-&lt;br /&gt;
|move accuracy mult&lt;br /&gt;
|Accuracy multiplier when moving. Overwrites &amp;quot;spread penalty&amp;quot; attribute &lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|special item description 2&lt;br /&gt;
|Additional item description line &lt;br /&gt;
|description&lt;br /&gt;
|-&lt;br /&gt;
|special item description 3&lt;br /&gt;
|Additional item description line&lt;br /&gt;
|description&lt;br /&gt;
|-&lt;br /&gt;
|special item description 4&lt;br /&gt;
|Additional item description line &lt;br /&gt;
|description&lt;br /&gt;
|-&lt;br /&gt;
|allowed build types &lt;br /&gt;
| Allowed building types, add values together to allow multiple buildings:&lt;br /&gt;
1 - dispenser&lt;br /&gt;
&lt;br /&gt;
2 - teleporter&lt;br /&gt;
&lt;br /&gt;
4 - sentry gun&lt;br /&gt;
&lt;br /&gt;
8 - sapper&lt;br /&gt;
|6&lt;br /&gt;
|-&lt;br /&gt;
|max bullet range&lt;br /&gt;
|Max bullet range in hu&lt;br /&gt;
|10&lt;br /&gt;
|-&lt;br /&gt;
|effect add attributes&lt;br /&gt;
|Make weapons that apply addcond effects, such as banners, jars, etc., also apply attributes to the affected player&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;move speed bonus|2|fire rate bonus|0.1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|medigun passive attributes&lt;br /&gt;
|Attributes added passively to the patient being healed&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;move speed bonus|2|fire rate bonus|0.1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|medigun passive attributes owner&lt;br /&gt;
|Attributes added passively to the healing medic&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;move speed bonus|2|fire rate bonus|0.1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|mult dmg vs airborne&lt;br /&gt;
|Damage multiplier vs airborne players&lt;br /&gt;
|3&lt;br /&gt;
|-&lt;br /&gt;
|revive rate&lt;br /&gt;
|Medigun revive speed multiplier&lt;br /&gt;
|10&lt;br /&gt;
|-&lt;br /&gt;
|taunt attack after end&lt;br /&gt;
|Taunt attack happens even after taunt ends or is interrupted &lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|taunt attack time mult &lt;br /&gt;
|Taunt attack time multiplier, making it happen earlier/later&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|damage returns as health &lt;br /&gt;
|Returns x * damage dealt as health&lt;br /&gt;
|0.5&lt;br /&gt;
|-&lt;br /&gt;
|no resupply&lt;br /&gt;
|Cannot resupply from cabinets&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|no damage view flinch&lt;br /&gt;
|No view flinch from taking damage&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|disable wrangler shield&lt;br /&gt;
|If set to 1, the Wrangler&#039;s sentry shield is disabled&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|parachute redeploy&lt;br /&gt;
|Allow infinite mid-air parachute redeploying&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|mult duck speed&lt;br /&gt;
|Ducking speed multiplier. 3 is for walking speed. Cannot be faster than walking speed&lt;br /&gt;
|3&lt;br /&gt;
|-&lt;br /&gt;
|particle color rgb&lt;br /&gt;
|RGB color for projectile particles that support it (Bison, Pomson)&lt;br /&gt;
|765776&lt;br /&gt;
|-&lt;br /&gt;
|particle color rainbow&lt;br /&gt;
|Cycles colors for the projectile particle. Higher values cycle faster&lt;br /&gt;
|100&lt;br /&gt;
|-&lt;br /&gt;
|ignored by enemy sentries&lt;br /&gt;
|If set to 1, enemy sentries ignore the player&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|melee airblast&lt;br /&gt;
|If set to 1 on a melee weapon, its attacks will reflect projectiles&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|passive reload&lt;br /&gt;
|Automatically reloads the weapon while not active. Since the reload speed is tied to animations this will make weapons reload faster than usual&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|kb fall min velocity&lt;br /&gt;
|Knockback, stun and damage nearby enemies when landing. The value specifies the minimum fall velocity before applying knockback. This attribute is &#039;&#039;&#039;required&#039;&#039;&#039; for the other &amp;quot;kb fall&amp;quot; attributes to work!&lt;br /&gt;
|300&lt;br /&gt;
|-&lt;br /&gt;
|kb fall radius&lt;br /&gt;
|The radius of the fall knockback. 230 by default&lt;br /&gt;
|230&lt;br /&gt;
|-&lt;br /&gt;
|kb fall stun time&lt;br /&gt;
|Small robot stun time of the fall knockback. 5 by default&lt;br /&gt;
|5&lt;br /&gt;
|-&lt;br /&gt;
|kb fall force&lt;br /&gt;
|Fall knockback force. 300 by default&lt;br /&gt;
|300&lt;br /&gt;
|-&lt;br /&gt;
|kb fall damage&lt;br /&gt;
|Fall knockback damage. 50 by default&lt;br /&gt;
|50&lt;br /&gt;
|-&lt;br /&gt;
|melee grants protection&lt;br /&gt;
|Melee attacks grant protection from attacks for x seconds&lt;br /&gt;
|0.6&lt;br /&gt;
|-&lt;br /&gt;
|arrow snap to next target radius&lt;br /&gt;
|If set on the Huntsman, snaps the arrow to the next closest available target within range&lt;br /&gt;
|1000&lt;br /&gt;
|-&lt;br /&gt;
|mult credit collect range&lt;br /&gt;
|Credit collection radius multiplier. Scouts have a 4x bigger collection radius&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|health from credits&lt;br /&gt;
|Additional health gained from collecting credits. Scouts usually gain 50 health on collecting credits&lt;br /&gt;
|50&lt;br /&gt;
|-&lt;br /&gt;
|mult bleeding delay&lt;br /&gt;
|Delay between bleeding damage multiplier. Lower values causes bleed damage to happen more times per second.&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|mult bleeding dmg&lt;br /&gt;
|Bleeding damage multiplier&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|not solid&lt;br /&gt;
|If set to 1, the player can phase though walls&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|dmg taken from self reduced&lt;br /&gt;
|Self damage multiplier for the player&lt;br /&gt;
|0.5&lt;br /&gt;
|-&lt;br /&gt;
|ignored by bots&lt;br /&gt;
|If set to 1, the player is ignored by bots.&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|add attributes on hit&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;Apply attributes to victim on hit with the weapon. Format: attribute|value|duration ...&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;move speed bonus|0.3|2|head scale|3|2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|self add attributes on hit&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;Apply attributes to self on hit with the weapon. Format: attribute|value|duration ...&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;move speed bonus|0.3|2|head scale|3|2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|add attributes on kill&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;Apply attributes to self on kill with the weapon. Format: attribute|value|duration ...&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;move speed bonus|0.3|2|head scale|3|2&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|move speed as health decreases&lt;br /&gt;
|Multiply move speed up to x with decreasing health&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|no self effect&lt;br /&gt;
|If set to 1, the weapon cannot ignite or cause bleeding to the wielder&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|cannot pickup spells&lt;br /&gt;
|Cannot pickup spells&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|mult max health&lt;br /&gt;
|Max health multiplier&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|add spread&lt;br /&gt;
|Bullet spread additive. Does not affect clientside effects&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|projectile spread angle mult&lt;br /&gt;
|Projectile spread angle multiplier&lt;br /&gt;
|3&lt;br /&gt;
|-&lt;br /&gt;
|always allow disguise&lt;br /&gt;
|Always allow the spy to disguise&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|always allow cloak&lt;br /&gt;
|Always allow the spy to cloak&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|always allow teleport&lt;br /&gt;
|Always allow the player to teleport&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|destroy buildings on death&lt;br /&gt;
|Destroy owned buildings on death&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|sentry bullet weapon&lt;br /&gt;
|Sentry bullet weapon name. Can be a custom weapon name&lt;br /&gt;
|TF_WEAPON_ROCKETLAUNCHER&lt;br /&gt;
|-&lt;br /&gt;
|sentry rocket weapon&lt;br /&gt;
|Sentry rocket weapon name. Can be a custom weapon name&lt;br /&gt;
|TF_WEAPON_ROCKETLAUNCHER&lt;br /&gt;
|-&lt;br /&gt;
|custom sentry model&lt;br /&gt;
|Custom sentry model file name or prefix&lt;br /&gt;
|models/buildables/sentry&lt;br /&gt;
|-&lt;br /&gt;
|custom dispenser model&lt;br /&gt;
|Custom dispenser model file name or prefix&lt;br /&gt;
|models/buildables/dispenser&lt;br /&gt;
|-&lt;br /&gt;
|custom teleporter model&lt;br /&gt;
|Custom teleporter model file name or prefix&lt;br /&gt;
|models/buildables/teleporter&lt;br /&gt;
|-&lt;br /&gt;
|mult sentry rocket ammo&lt;br /&gt;
|Sentry rocket ammo multiplier&lt;br /&gt;
|3&lt;br /&gt;
|-&lt;br /&gt;
|midair accuracy mult&lt;br /&gt;
|Midair accuracy multiplier&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|add damage per target&lt;br /&gt;
|Damage bonus for every target hit by explosion&lt;br /&gt;
|0.5&lt;br /&gt;
|-&lt;br /&gt;
|projectile detonate time&lt;br /&gt;
|Projectile self detonation time in seconds&lt;br /&gt;
|0.5&lt;br /&gt;
|-&lt;br /&gt;
|mult afterburn delay&lt;br /&gt;
|Multiplier for the delay between afterburn damage ticks, similar to &amp;quot;mult bleeding delay&amp;quot;. Lower values result in more damage per second.&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|custom view model&lt;br /&gt;
|Custom view model. This typically affects first person hands and their animations&lt;br /&gt;
|models/model.mdl&lt;br /&gt;
|-&lt;br /&gt;
|mult dmg while midair&lt;br /&gt;
|Damage multiplier while midair&lt;br /&gt;
|0.5&lt;br /&gt;
|-&lt;br /&gt;
|hidden string attribute 1&lt;br /&gt;
|Attribute for storing hidden text in items. 1-4 numbers are available&lt;br /&gt;
|abc&lt;br /&gt;
|-&lt;br /&gt;
|medigun keep charged effect&lt;br /&gt;
|Keep custom medigun uber effect after the beam is disconnected until the uber meter runs out&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|ignores other projectiles&lt;br /&gt;
|Don&#039;t collide with other projectiles&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|weapon always gib&lt;br /&gt;
|This weapon always gibs killed enemies&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|weapon never gib&lt;br /&gt;
|This weapon never gibs killed enemies&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|always gib&lt;br /&gt;
|Always gib on death&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|never gib&lt;br /&gt;
|Never gib on death&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|sapper sap allies&lt;br /&gt;
|Sap ally players instead of enemies&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|custom sapper model&lt;br /&gt;
|Custom sapper model; accept either a prefix or full model path &lt;br /&gt;
|models/buildables/sd_sapper&lt;br /&gt;
|-&lt;br /&gt;
|custom sapper sound&lt;br /&gt;
|Custom sapper sound. See example value.&lt;br /&gt;
|Weapon_Sapper.Timer&lt;br /&gt;
|-&lt;br /&gt;
|no clip &lt;br /&gt;
|Give noclip. 1 for regular player speed, use any other value to override&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|arrow ignite&lt;br /&gt;
|If set to 1 on the Huntsman, automatically ignites arrows&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|use original class weapon animations&lt;br /&gt;
|Use weapon animations of the weapon&#039;s original class if the weapon is given to an unintended class&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|mult dmg before distance&lt;br /&gt;
|Deals up to x damage depending on distance (2048 hu by default)&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|mult dmg before distance specify&lt;br /&gt;
|Custom distance for &amp;quot;mult dmg before distance&amp;quot;&lt;br /&gt;
|1000&lt;br /&gt;
|-&lt;br /&gt;
|minigun full movement&lt;br /&gt;
|Can move while ducking when shooting. Bots can also jump&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|use original class player animations&lt;br /&gt;
|Use player animations of the weapon&#039;s original class if the weapon is given to an unintended class&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|mult sentry rocket projectile speed&lt;br /&gt;
|Sentry rocket projectile speed multiplier&lt;br /&gt;
|2&lt;br /&gt;
|}&lt;br /&gt;
[[Category:Misc Additions]]&lt;/div&gt;</summary>
		<author><name>Seelpit</name></author>
	</entry>
	<entry>
		<id>https://sigwiki.potato.tf/index.php?title=CTFObjectiveResource&amp;diff=3464</id>
		<title>CTFObjectiveResource</title>
		<link rel="alternate" type="text/html" href="https://sigwiki.potato.tf/index.php?title=CTFObjectiveResource&amp;diff=3464"/>
		<updated>2022-07-31T22:45:25Z</updated>

		<summary type="html">&lt;p&gt;Seelpit: Re-added rows for the array of Flags&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source location : [https://github.com/sreechar/TF2-Source-Code/tree/master/tf2_src/game/server/tf/tf_objective_resource.h /game/server/tf/tf_objective_resource.h]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Linked entity : [https://developer.valvesoftware.com/wiki/tf_objective_resource tf_objective_resource]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==[[Classes|Class Structure]]==&lt;br /&gt;
*&#039;&#039;&#039;[[CBaseEntity]]&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;[[CBaseTeamObjectiveResource]]&#039;&#039;&#039;&lt;br /&gt;
***&#039;&#039;&#039;CTFObjectiveResource&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== SendProps ==&lt;br /&gt;
{| class=&amp;quot;wikitable sortable mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;margin: 0 auto; width: 100%; padding: 0;&amp;quot;&lt;br /&gt;
|+CTFObjectiveResource &lt;br /&gt;
! style=&amp;quot;width: 50%; background-color: #303030; color: white&amp;quot; |Name &lt;br /&gt;
! style=&amp;quot;width: 15%; background-color: #303030; color: white&amp;quot; |Type&lt;br /&gt;
! style=&amp;quot;width: 35%; background-color: #303030; color: white&amp;quot; |Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMannVsMachineMaxWaveCount&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |The max wave count on the wavebar.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMannVsMachineWaveCount&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |The current wave count on the wavebar.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMannVsMachineWaveEnemyCount&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |Total amount of mainwave enemies. Does not update the wavebar&#039;s progress bar during a wave if changed, until an icon is added or removed.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMvMWorldMoney&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |Total worth of currency packs that currently exist in the world and can be picked up.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_flMannVsMachineNextWaveTime&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Float&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_bMannVsMachineBetweenWaves&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nFlagCarrierUpgradeLevel&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_flMvMBaseBombUpgradeTime&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Float&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_flMvMNextBombUpgradeTime&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Float&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_iszMvMPopfileName&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |String&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |Name of the popfile. Modifying this with $SetProp causes the server to change to a different map on mission end; use $SetClientProp instead.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_iChallengeIndex&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMvMEventPopfileType&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; style=&amp;quot;padding: 0; margin: 0;&amp;quot; |&lt;br /&gt;
{| class=&amp;quot;wikitable sortable mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;margin: 0 auto; width: 100%; padding: 0;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |m_nMannVsMachineWaveClassCounts&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;000&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |Amount of bots with the first WaveSpawn&#039;s icon, as displayed on the wavebar.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;001&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;002&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;003&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;004&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;005&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;006&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;007&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;008&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;009&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;010&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;011&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_iszMannVsMachineWaveClassNames&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |String&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |The first wavespawn&#039;s bot&#039;s ClassIcon name.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_iszMannVsMachineWaveClassNames&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Array&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |The selected wavespawn&#039;s bot&#039;s ClassIcon name.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; style=&amp;quot;padding: 0; margin: 0;&amp;quot; |&lt;br /&gt;
{| class=&amp;quot;wikitable sortable mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;margin: 0 auto; width: 100%; padding: 0;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |m_nMannVsMachineWaveClassFlags&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |Flags for the icons on the wavebar. Icon order is based on the order in which they are listed in the popfile.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes it from the wavebar.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |Moves the icon to be part of the main wave.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;2&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |Moves the icon to be part of support.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;4&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |Moves the icon to be part of Mission support, coming after &amp;quot;regular&amp;quot; support.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;8&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |Adds a red background to the icon; only works if it is part of the main wave. Used to indicate giants and tanks.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;16&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |Adds a crit outline to the icon.&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;000&#039;&#039;&#039;&lt;br /&gt;
|Integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;001&#039;&#039;&#039;&lt;br /&gt;
|Integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;002&#039;&#039;&#039;&lt;br /&gt;
|Integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;003&#039;&#039;&#039;&lt;br /&gt;
|Integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;004&#039;&#039;&#039;&lt;br /&gt;
|Integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;005&#039;&#039;&#039;&lt;br /&gt;
|Integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;006&#039;&#039;&#039;&lt;br /&gt;
|Integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;007&#039;&#039;&#039;&lt;br /&gt;
|Integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;008&#039;&#039;&#039;&lt;br /&gt;
|Integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;009&#039;&#039;&#039;&lt;br /&gt;
|Integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;010&#039;&#039;&#039;&lt;br /&gt;
|Integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;011&#039;&#039;&#039;&lt;br /&gt;
|Integer&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; style=&amp;quot;padding: 0; margin: 0;&amp;quot; |&lt;br /&gt;
{| class=&amp;quot;wikitable sortable mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;margin: 0 auto; width: 100%; padding: 0;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |m_nMannVsMachineWaveClassCounts2&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;000&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;001&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;002&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;003&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;004&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;005&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;006&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;007&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;008&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;009&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;010&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;011&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_iszMannVsMachineWaveClassNames2&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |String&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_iszMannVsMachineWaveClassNames2&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Array&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; style=&amp;quot;padding: 0; margin: 0;&amp;quot; |&lt;br /&gt;
{| class=&amp;quot;wikitable sortable mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;margin: 0 auto; width: 100%; padding: 0;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |m_nMannVsMachineWaveClassFlags2&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;000&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;001&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;002&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;003&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;004&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;005&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;006&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;007&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;008&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;009&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;010&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;011&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; style=&amp;quot;padding: 0; margin: 0;&amp;quot; |&lt;br /&gt;
{| class=&amp;quot;wikitable sortable mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;margin: 0 auto; width: 100%; padding: 0;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |m_bMannVsMachineWaveClassActive&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;000&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;001&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;002&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;003&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;004&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;005&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;006&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;007&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;008&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;009&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;010&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;011&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; style=&amp;quot;padding: 0; margin: 0;&amp;quot; |&lt;br /&gt;
{| class=&amp;quot;wikitable sortable mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;margin: 0 auto; width: 100%; padding: 0;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |m_bMannVsMachineWaveClassActive2&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;000&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;001&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;002&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;003&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;004&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;005&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;006&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;007&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;008&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;009&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;010&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;011&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Entity DataMaps ==&lt;br /&gt;
{| class=&amp;quot;wikitable sortable mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;margin: 0 auto; width: 100%; padding: 0;&lt;br /&gt;
|+CTFObjectiveResource &lt;br /&gt;
! style=&amp;quot;width: 50%; background-color: #303030; color: white&amp;quot; |Name &lt;br /&gt;
! style=&amp;quot;width: 15%; background-color: #303030; color: white&amp;quot; |Type&lt;br /&gt;
! style=&amp;quot;width: 35%; background-color: #303030; color: white&amp;quot; |Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_bMannVsMachineBetweenWaves&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_bMannVsMachineWaveClassActive&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_bMannVsMachineWaveClassActive2&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_flMannVsMachineNextWaveTime&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_iszMannVsMachineWaveClassNames&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_iszMannVsMachineWaveClassNames2&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMannVsMachineMaxWaveCount&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMannVsMachineWaveClassCounts&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMannVsMachineWaveClassCounts2&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMannVsMachineWaveClassFlags&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMannVsMachineWaveClassFlags2&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMannVsMachineWaveCount&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMannVsMachineWaveEnemyCount&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMvMWorldMoney&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Seelpit</name></author>
	</entry>
	<entry>
		<id>https://sigwiki.potato.tf/index.php?title=CTFObjectiveResource&amp;diff=3445</id>
		<title>CTFObjectiveResource</title>
		<link rel="alternate" type="text/html" href="https://sigwiki.potato.tf/index.php?title=CTFObjectiveResource&amp;diff=3445"/>
		<updated>2022-07-28T21:08:46Z</updated>

		<summary type="html">&lt;p&gt;Seelpit: Slightly changed description for EnemyCount to be more accurate&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source location : [https://github.com/sreechar/TF2-Source-Code/tree/master/tf2_src/game/server/tf/tf_objective_resource.h /game/server/tf/tf_objective_resource.h]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Linked entity : [https://developer.valvesoftware.com/wiki/tf_objective_resource tf_objective_resource]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==[[Classes|Class Structure]]==&lt;br /&gt;
*&#039;&#039;&#039;[[CBaseEntity]]&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;[[CBaseTeamObjectiveResource]]&#039;&#039;&#039;&lt;br /&gt;
***&#039;&#039;&#039;CTFObjectiveResource&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== SendProps ==&lt;br /&gt;
{| class=&amp;quot;wikitable sortable mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;margin: 0 auto; width: 100%; padding: 0;&amp;quot;&lt;br /&gt;
|+CTFObjectiveResource &lt;br /&gt;
! style=&amp;quot;width: 50%; background-color: #303030; color: white&amp;quot; |Name &lt;br /&gt;
! style=&amp;quot;width: 15%; background-color: #303030; color: white&amp;quot; |Type&lt;br /&gt;
! style=&amp;quot;width: 35%; background-color: #303030; color: white&amp;quot; |Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMannVsMachineMaxWaveCount&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |The max wave count on the wavebar.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMannVsMachineWaveCount&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |The current wave count on the wavebar.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMannVsMachineWaveEnemyCount&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |Total amount of mainwave enemies. Does not update the wavebar&#039;s progress bar during a wave if changed, until an icon is added or removed.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMvMWorldMoney&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |Total worth of currency packs that currently exist in the world and can be picked up.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_flMannVsMachineNextWaveTime&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Float&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_bMannVsMachineBetweenWaves&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nFlagCarrierUpgradeLevel&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_flMvMBaseBombUpgradeTime&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Float&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_flMvMNextBombUpgradeTime&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Float&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_iszMvMPopfileName&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |String&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |Name of the popfile. Modifying this with $SetProp causes the server to change to a different map on mission end; use $SetClientProp instead.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_iChallengeIndex&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMvMEventPopfileType&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; style=&amp;quot;padding: 0; margin: 0;&amp;quot; |&lt;br /&gt;
{| class=&amp;quot;wikitable sortable mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;margin: 0 auto; width: 100%; padding: 0;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |m_nMannVsMachineWaveClassCounts&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;000&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |Amount of bots with the first WaveSpawn&#039;s icon, as displayed on the wavebar.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;001&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;002&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;003&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;004&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;005&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;006&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;007&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;008&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;009&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;010&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;011&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_iszMannVsMachineWaveClassNames&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |String&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |The first wavespawn&#039;s bot&#039;s ClassIcon name.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_iszMannVsMachineWaveClassNames&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Array&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |The selected wavespawn&#039;s bot&#039;s ClassIcon name.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; style=&amp;quot;padding: 0; margin: 0;&amp;quot; |&lt;br /&gt;
{| class=&amp;quot;wikitable sortable mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;margin: 0 auto; width: 100%; padding: 0;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |m_nMannVsMachineWaveClassFlags&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |Flags for the icons on the wavebar. Icon order is based on the order in which they are listed in the popfile.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes it from the wavebar.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |Moves the icon to be part of the main wave.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;2&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |Moves the icon to be part of support.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;4&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |Moves the icon to be part of Mission support, coming after &amp;quot;regular&amp;quot; support.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;8&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |Adds a red background to the icon; only works if it is part of the main wave. Used to indicate giants and tanks.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;16&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |Adds a crit outline to the icon.&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; style=&amp;quot;padding: 0; margin: 0;&amp;quot; |&lt;br /&gt;
{| class=&amp;quot;wikitable sortable mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;margin: 0 auto; width: 100%; padding: 0;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |m_nMannVsMachineWaveClassCounts2&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;000&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;001&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;002&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;003&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;004&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;005&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;006&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;007&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;008&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;009&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;010&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;011&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_iszMannVsMachineWaveClassNames2&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |String&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_iszMannVsMachineWaveClassNames2&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Array&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; style=&amp;quot;padding: 0; margin: 0;&amp;quot; |&lt;br /&gt;
{| class=&amp;quot;wikitable sortable mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;margin: 0 auto; width: 100%; padding: 0;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |m_nMannVsMachineWaveClassFlags2&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;000&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;001&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;002&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;003&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;004&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;005&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;006&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;007&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;008&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;009&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;010&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;011&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; style=&amp;quot;padding: 0; margin: 0;&amp;quot; |&lt;br /&gt;
{| class=&amp;quot;wikitable sortable mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;margin: 0 auto; width: 100%; padding: 0;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |m_bMannVsMachineWaveClassActive&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;000&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;001&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;002&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;003&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;004&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;005&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;006&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;007&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;008&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;009&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;010&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;011&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; style=&amp;quot;padding: 0; margin: 0;&amp;quot; |&lt;br /&gt;
{| class=&amp;quot;wikitable sortable mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;margin: 0 auto; width: 100%; padding: 0;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |m_bMannVsMachineWaveClassActive2&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;000&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;001&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;002&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;003&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;004&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;005&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;006&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;007&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;008&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;009&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;010&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;011&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Entity DataMaps ==&lt;br /&gt;
{| class=&amp;quot;wikitable sortable mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;margin: 0 auto; width: 100%; padding: 0;&lt;br /&gt;
|+CTFObjectiveResource &lt;br /&gt;
! style=&amp;quot;width: 50%; background-color: #303030; color: white&amp;quot; |Name &lt;br /&gt;
! style=&amp;quot;width: 15%; background-color: #303030; color: white&amp;quot; |Type&lt;br /&gt;
! style=&amp;quot;width: 35%; background-color: #303030; color: white&amp;quot; |Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_bMannVsMachineBetweenWaves&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_bMannVsMachineWaveClassActive&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_bMannVsMachineWaveClassActive2&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_flMannVsMachineNextWaveTime&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_iszMannVsMachineWaveClassNames&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_iszMannVsMachineWaveClassNames2&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMannVsMachineMaxWaveCount&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMannVsMachineWaveClassCounts&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMannVsMachineWaveClassCounts2&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMannVsMachineWaveClassFlags&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMannVsMachineWaveClassFlags2&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMannVsMachineWaveCount&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMannVsMachineWaveEnemyCount&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMvMWorldMoney&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Seelpit</name></author>
	</entry>
	<entry>
		<id>https://sigwiki.potato.tf/index.php?title=CTFObjectiveResource&amp;diff=3444</id>
		<title>CTFObjectiveResource</title>
		<link rel="alternate" type="text/html" href="https://sigwiki.potato.tf/index.php?title=CTFObjectiveResource&amp;diff=3444"/>
		<updated>2022-07-28T19:50:54Z</updated>

		<summary type="html">&lt;p&gt;Seelpit: Added better descriptions for Flags&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source location : [https://github.com/sreechar/TF2-Source-Code/tree/master/tf2_src/game/server/tf/tf_objective_resource.h /game/server/tf/tf_objective_resource.h]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Linked entity : [https://developer.valvesoftware.com/wiki/tf_objective_resource tf_objective_resource]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==[[Classes|Class Structure]]==&lt;br /&gt;
*&#039;&#039;&#039;[[CBaseEntity]]&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;[[CBaseTeamObjectiveResource]]&#039;&#039;&#039;&lt;br /&gt;
***&#039;&#039;&#039;CTFObjectiveResource&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== SendProps ==&lt;br /&gt;
{| class=&amp;quot;wikitable sortable mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;margin: 0 auto; width: 100%; padding: 0;&amp;quot;&lt;br /&gt;
|+CTFObjectiveResource &lt;br /&gt;
! style=&amp;quot;width: 50%; background-color: #303030; color: white&amp;quot; |Name &lt;br /&gt;
! style=&amp;quot;width: 15%; background-color: #303030; color: white&amp;quot; |Type&lt;br /&gt;
! style=&amp;quot;width: 35%; background-color: #303030; color: white&amp;quot; |Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMannVsMachineMaxWaveCount&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |The max wave count on the wavebar.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMannVsMachineWaveCount&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |The current wave count on the wavebar.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMannVsMachineWaveEnemyCount&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |Total amount of mainwave enemies. Ignores changes made to the wavebar.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMvMWorldMoney&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |Total worth of currency packs that currently exist in the world and can be picked up.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_flMannVsMachineNextWaveTime&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Float&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_bMannVsMachineBetweenWaves&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nFlagCarrierUpgradeLevel&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_flMvMBaseBombUpgradeTime&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Float&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_flMvMNextBombUpgradeTime&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Float&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_iszMvMPopfileName&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |String&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |Name of the popfile. Modifying this with $SetProp causes the server to change to a different map on mission end; use $SetClientProp instead.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_iChallengeIndex&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMvMEventPopfileType&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; style=&amp;quot;padding: 0; margin: 0;&amp;quot; |&lt;br /&gt;
{| class=&amp;quot;wikitable sortable mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;margin: 0 auto; width: 100%; padding: 0;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |m_nMannVsMachineWaveClassCounts&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;000&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |Amount of bots with the first WaveSpawn&#039;s icon, as displayed on the wavebar.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;001&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;002&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;003&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;004&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;005&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;006&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;007&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;008&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;009&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;010&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;011&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_iszMannVsMachineWaveClassNames&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |String&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |The first wavespawn&#039;s bot&#039;s ClassIcon name.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_iszMannVsMachineWaveClassNames&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Array&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |The selected wavespawn&#039;s bot&#039;s ClassIcon name.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; style=&amp;quot;padding: 0; margin: 0;&amp;quot; |&lt;br /&gt;
{| class=&amp;quot;wikitable sortable mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;margin: 0 auto; width: 100%; padding: 0;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |m_nMannVsMachineWaveClassFlags&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;0&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |Flags for the icons on the wavebar. Icon order is based on the order in which they are listed in the popfile.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Removes it from the wavebar.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;1&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |Moves the icon to be part of the main wave.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;2&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |Moves the icon to be part of support.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;4&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |Moves the icon to be part of Mission support, coming after &amp;quot;regular&amp;quot; support.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;8&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |Adds a red background to the icon; only works if it is part of the main wave. Used to indicate giants and tanks.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;16&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |Adds a crit outline to the icon.&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; style=&amp;quot;padding: 0; margin: 0;&amp;quot; |&lt;br /&gt;
{| class=&amp;quot;wikitable sortable mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;margin: 0 auto; width: 100%; padding: 0;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |m_nMannVsMachineWaveClassCounts2&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;000&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;001&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;002&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;003&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;004&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;005&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;006&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;007&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;008&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;009&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;010&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;011&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_iszMannVsMachineWaveClassNames2&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |String&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_iszMannVsMachineWaveClassNames2&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Array&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; style=&amp;quot;padding: 0; margin: 0;&amp;quot; |&lt;br /&gt;
{| class=&amp;quot;wikitable sortable mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;margin: 0 auto; width: 100%; padding: 0;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |m_nMannVsMachineWaveClassFlags2&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;000&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;001&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;002&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;003&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;004&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;005&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;006&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;007&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;008&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;009&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;010&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;011&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; style=&amp;quot;padding: 0; margin: 0;&amp;quot; |&lt;br /&gt;
{| class=&amp;quot;wikitable sortable mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;margin: 0 auto; width: 100%; padding: 0;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |m_bMannVsMachineWaveClassActive&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;000&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;001&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;002&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;003&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;004&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;005&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;006&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;007&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;008&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;009&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;010&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;011&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; style=&amp;quot;padding: 0; margin: 0;&amp;quot; |&lt;br /&gt;
{| class=&amp;quot;wikitable sortable mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;margin: 0 auto; width: 100%; padding: 0;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |m_bMannVsMachineWaveClassActive2&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;000&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;001&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;002&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;003&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;004&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;005&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;006&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;007&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;008&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;009&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;010&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;011&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Entity DataMaps ==&lt;br /&gt;
{| class=&amp;quot;wikitable sortable mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;margin: 0 auto; width: 100%; padding: 0;&lt;br /&gt;
|+CTFObjectiveResource &lt;br /&gt;
! style=&amp;quot;width: 50%; background-color: #303030; color: white&amp;quot; |Name &lt;br /&gt;
! style=&amp;quot;width: 15%; background-color: #303030; color: white&amp;quot; |Type&lt;br /&gt;
! style=&amp;quot;width: 35%; background-color: #303030; color: white&amp;quot; |Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_bMannVsMachineBetweenWaves&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_bMannVsMachineWaveClassActive&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_bMannVsMachineWaveClassActive2&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_flMannVsMachineNextWaveTime&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_iszMannVsMachineWaveClassNames&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_iszMannVsMachineWaveClassNames2&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMannVsMachineMaxWaveCount&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMannVsMachineWaveClassCounts&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMannVsMachineWaveClassCounts2&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMannVsMachineWaveClassFlags&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMannVsMachineWaveClassFlags2&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMannVsMachineWaveCount&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMannVsMachineWaveEnemyCount&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMvMWorldMoney&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Seelpit</name></author>
	</entry>
	<entry>
		<id>https://sigwiki.potato.tf/index.php?title=Expressions&amp;diff=3441</id>
		<title>Expressions</title>
		<link rel="alternate" type="text/html" href="https://sigwiki.potato.tf/index.php?title=Expressions&amp;diff=3441"/>
		<updated>2022-07-22T12:11:39Z</updated>

		<summary type="html">&lt;p&gt;Seelpit: Added temporary notes to the Logic section, based on my personal knowledge. Would be good to have these all verified with their exact details.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;You can use expressions as input parameter to reduce the amount of logic entities used. Expressions in input parameter start with $$=&lt;br /&gt;
&lt;br /&gt;
For example, using this as input parameter: $$=&#039;Health: (&#039;..!activator.m_iHealth..&#039;/&#039;..!activator.m_iMaxHealth..&#039;)&#039; will set health information as input parameter.&lt;br /&gt;
&lt;br /&gt;
Expressions are calculated during input execution.&lt;br /&gt;
&lt;br /&gt;
Do not put double quote (i.e. &amp;quot; ) inside expression, but you are allowed to use commas (i.e. , ).&lt;br /&gt;
&lt;br /&gt;
As an admin, sig_expression &amp;quot;expression&amp;quot; command in console can be used to test expressions. (i.e: sig_expression &amp;quot;2+2&amp;quot; echoes Result: 4)&lt;br /&gt;
&lt;br /&gt;
== Syntax ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!&lt;br /&gt;
!&lt;br /&gt;
!Example&lt;br /&gt;
|-&lt;br /&gt;
|&#039;AADSD&#039;&lt;br /&gt;
|literal string&lt;br /&gt;
|&#039;AADSD&#039;&lt;br /&gt;
|-&lt;br /&gt;
|4.3&lt;br /&gt;
|number&lt;br /&gt;
|4.3&lt;br /&gt;
|-&lt;br /&gt;
|[1 4 5.5]&lt;br /&gt;
|vector&lt;br /&gt;
|[1 4 5.5]&lt;br /&gt;
|-&lt;br /&gt;
|entityname.variable&lt;br /&gt;
|access entity [https://raw.githubusercontent.com/powerlord/tf2-data/master/netprops.txt sendprop], [https://raw.githubusercontent.com/powerlord/tf2-data/master/datamaps.txt datamap], or custom variable&lt;br /&gt;
|!activator.m_iHealth + 41&lt;br /&gt;
|-&lt;br /&gt;
| + - * / %&lt;br /&gt;
|add, subtract, multiply, divide, modulo operators&lt;br /&gt;
|5 + 2&lt;br /&gt;
|-&lt;br /&gt;
|..&lt;br /&gt;
|join strings&lt;br /&gt;
|&#039;This is &#039; .. 2 .. &#039; awesome&#039;&lt;br /&gt;
|-&lt;br /&gt;
|&amp;gt; &amp;gt;= &amp;lt; &amp;lt;= == !=&lt;br /&gt;
|comparison operators&lt;br /&gt;
|test(7 &amp;gt; 3, 1, 3)&lt;br /&gt;
|-&lt;br /&gt;
|()&lt;br /&gt;
|parentheses, expression inside is calculated before others&lt;br /&gt;
|(4 + 3) * 2&lt;br /&gt;
|-&lt;br /&gt;
|function(param 1, param 2 ...)&lt;br /&gt;
|function&lt;br /&gt;
|min(entity.m_iHealth, entity2.m_iHealth)&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;amp;&amp;amp; ||&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|and, or operators&lt;br /&gt;
|entity.m_iHealth &amp;gt; 4 &amp;amp;&amp;amp; entity2.m_iHealth &amp;lt; 2&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;&amp;amp; | ^&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|and, or, xor binary operators&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;gt;&amp;gt; &amp;lt;&amp;lt;&lt;br /&gt;
|right bit shift, left bit shift&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|pi&lt;br /&gt;
|pi number&lt;br /&gt;
|pi * pi&lt;br /&gt;
|-&lt;br /&gt;
|degtorad, radtodeg&lt;br /&gt;
|convert angle between degrees and radiants&lt;br /&gt;
|9 * degtorad&lt;br /&gt;
|-&lt;br /&gt;
|true, false&lt;br /&gt;
|logical true/false&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
Values are automatically converted when types of left and right sides of operators differ.&lt;br /&gt;
&lt;br /&gt;
For example, [1 4 5] + 4 will automatically convert 4 to [4 4 4] vector.&lt;br /&gt;
&lt;br /&gt;
\&#039; escapes single quotes inside literal string.&lt;br /&gt;
&lt;br /&gt;
== Functions ==&lt;br /&gt;
=== Logic ===&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
test( test expression, if true, if false )&lt;br /&gt;
?( test expression, if true, if false )&lt;br /&gt;
- Tests an expression for true or false, then returns a specified value based on that.&lt;br /&gt;
&lt;br /&gt;
exists( value )&lt;br /&gt;
- Checks whether a value exists, then returns true or false. [Needs verification]&lt;br /&gt;
&lt;br /&gt;
not( value )&lt;br /&gt;
!( value )&lt;br /&gt;
~( value )&lt;br /&gt;
- Inverts a value - f.e. from false to true. [Needs verification]&lt;br /&gt;
&lt;br /&gt;
case( test value, default, case1, [case2] ... )&lt;br /&gt;
- Tests a value, and compares it to a list of cases; returns a case number. [Needs verification]&lt;br /&gt;
&lt;br /&gt;
type( value )&lt;br /&gt;
- Returns the type of the value: string, int, etc. [Needs verification]&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Entity ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
playeratindex( index )&lt;br /&gt;
entityindex( entity )&lt;br /&gt;
playeritematslot( entity, slot )&lt;br /&gt;
attribute( player or item, &#039;attribute name&#039; ) // attribute name must be in single quotes&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Math ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
min( value 1, value 2 )&lt;br /&gt;
max( value 1, value 2 )&lt;br /&gt;
clamp( input value, minimum value, maximum value )&lt;br /&gt;
remap( input value, from min, from max, to min, to max )&lt;br /&gt;
remapclamped( input value, from min, from max, to min, to max )&lt;br /&gt;
sqrt( value )&lt;br /&gt;
pow( base, exponent )&lt;br /&gt;
floor( value )&lt;br /&gt;
ceil( value )&lt;br /&gt;
randomint( minimum value, maximum value )&lt;br /&gt;
randomfloat( minimum value, maximum value )&lt;br /&gt;
int( value )&lt;br /&gt;
float( value )&lt;br /&gt;
sin( angle in radians )&lt;br /&gt;
cos( angle in radians )&lt;br /&gt;
tan( angle in radians )&lt;br /&gt;
atan( value )&lt;br /&gt;
atan2( x, y )&lt;br /&gt;
abs( value )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Vector ===&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
length( vector )&lt;br /&gt;
distance( vector 1, vector 2 )&lt;br /&gt;
dotproduct( vector 1, vector 2 )&lt;br /&gt;
crossproduct( vector 1, vector 2 )&lt;br /&gt;
rotate( input vector, rotation angles )&lt;br /&gt;
normalize( vector )&lt;br /&gt;
toangles( vector )&lt;br /&gt;
toforwardvector( angles )&lt;br /&gt;
vector( string or X coordinate, [Y coordinate], [Z coordinate] ) &lt;br /&gt;
x( vector )&lt;br /&gt;
y( vector )&lt;br /&gt;
z( vector )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Strings ===&lt;br /&gt;
&amp;lt;syntaxhighlight&amp;gt;&lt;br /&gt;
string( value )&lt;br /&gt;
stringpad( value, min digits, num digits after decimal point )&lt;br /&gt;
charat( string, pos )&lt;br /&gt;
substr( string, pos, length )&lt;br /&gt;
substring( string, pos, length )&lt;br /&gt;
startswith( string, prefix )&lt;br /&gt;
endswith( string, suffix )&lt;br /&gt;
find( haystack, needle )&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
[[Category:Misc Additions]]&lt;/div&gt;</summary>
		<author><name>Seelpit</name></author>
	</entry>
	<entry>
		<id>https://sigwiki.potato.tf/index.php?title=CTFObjectiveResource&amp;diff=3280</id>
		<title>CTFObjectiveResource</title>
		<link rel="alternate" type="text/html" href="https://sigwiki.potato.tf/index.php?title=CTFObjectiveResource&amp;diff=3280"/>
		<updated>2022-04-28T18:34:01Z</updated>

		<summary type="html">&lt;p&gt;Seelpit: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source location : [https://github.com/sreechar/TF2-Source-Code/tree/master/tf2_src/game/server/tf/tf_objective_resource.h /game/server/tf/tf_objective_resource.h]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Linked entity : [https://developer.valvesoftware.com/wiki/tf_objective_resource tf_objective_resource]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==[[Classes|Class Structure]]==&lt;br /&gt;
*&#039;&#039;&#039;[[CBaseEntity]]&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;[[CBaseTeamObjectiveResource]]&#039;&#039;&#039;&lt;br /&gt;
***&#039;&#039;&#039;CTFObjectiveResource&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== SendProps ==&lt;br /&gt;
{| class=&amp;quot;wikitable sortable mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;margin: 0 auto; width: 100%; padding: 0;&amp;quot;&lt;br /&gt;
|+CTFObjectiveResource &lt;br /&gt;
! style=&amp;quot;width: 50%; background-color: #303030; color: white&amp;quot; |Name &lt;br /&gt;
! style=&amp;quot;width: 15%; background-color: #303030; color: white&amp;quot; |Type&lt;br /&gt;
! style=&amp;quot;width: 35%; background-color: #303030; color: white&amp;quot; |Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMannVsMachineMaxWaveCount&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |The max wave count on the wavebar.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMannVsMachineWaveCount&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |The current wave count on the wavebar.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMannVsMachineWaveEnemyCount&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |Total amount of mainwave enemies. Ignores changes made to the wavebar.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMvMWorldMoney&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |Total worth of currency packs that currently exist in the world and can be picked up.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_flMannVsMachineNextWaveTime&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Float&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_bMannVsMachineBetweenWaves&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nFlagCarrierUpgradeLevel&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_flMvMBaseBombUpgradeTime&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Float&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_flMvMNextBombUpgradeTime&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Float&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_iszMvMPopfileName&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |String&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |Name of the popfile. Modifying this with $SetProp causes the server to change to a different map on mission end; use $SetClientProp instead.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_iChallengeIndex&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMvMEventPopfileType&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; style=&amp;quot;padding: 0; margin: 0;&amp;quot; |&lt;br /&gt;
{| class=&amp;quot;wikitable sortable mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;margin: 0 auto; width: 100%; padding: 0;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |m_nMannVsMachineWaveClassCounts&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;000&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |Amount of bots with the first WaveSpawn&#039;s icon, as displayed on the wavebar.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;001&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;002&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;003&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;004&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;005&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;006&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;007&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;008&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;009&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;010&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;011&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_iszMannVsMachineWaveClassNames&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |String&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |The first wavespawn&#039;s bot&#039;s ClassIcon name.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_iszMannVsMachineWaveClassNames&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Array&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |The selected wavespawn&#039;s bot&#039;s ClassIcon name.&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; style=&amp;quot;padding: 0; margin: 0;&amp;quot; |&lt;br /&gt;
{| class=&amp;quot;wikitable sortable mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;margin: 0 auto; width: 100%; padding: 0;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |m_nMannVsMachineWaveClassFlags&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;000&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |The position of the first WaveSpawn&#039;s icon. 1 moves it into mainwave, 2 into Support, 4 and 5 move it to the Mission Sniper / Spy Support section, and other values remove the icon from the wavebar.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;001&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;002&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;003&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;004&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;005&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;006&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;007&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;008&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;009&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;010&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;011&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; style=&amp;quot;padding: 0; margin: 0;&amp;quot; |&lt;br /&gt;
{| class=&amp;quot;wikitable sortable mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;margin: 0 auto; width: 100%; padding: 0;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |m_nMannVsMachineWaveClassCounts2&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;000&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;001&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;002&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;003&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;004&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;005&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;006&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;007&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;008&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;009&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;010&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;011&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_iszMannVsMachineWaveClassNames2&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |String&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_iszMannVsMachineWaveClassNames2&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Array&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; style=&amp;quot;padding: 0; margin: 0;&amp;quot; |&lt;br /&gt;
{| class=&amp;quot;wikitable sortable mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;margin: 0 auto; width: 100%; padding: 0;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |m_nMannVsMachineWaveClassFlags2&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;000&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;001&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;002&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;003&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;004&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;005&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;006&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;007&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;008&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;009&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;010&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;011&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; style=&amp;quot;padding: 0; margin: 0;&amp;quot; |&lt;br /&gt;
{| class=&amp;quot;wikitable sortable mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;margin: 0 auto; width: 100%; padding: 0;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |m_bMannVsMachineWaveClassActive&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;000&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;001&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;002&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;003&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;004&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;005&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;006&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;007&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;008&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;009&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;010&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;011&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; style=&amp;quot;padding: 0; margin: 0;&amp;quot; |&lt;br /&gt;
{| class=&amp;quot;wikitable sortable mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;margin: 0 auto; width: 100%; padding: 0;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |m_bMannVsMachineWaveClassActive2&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;000&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;001&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;002&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;003&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;004&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;005&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;006&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;007&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;008&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;009&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;010&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;011&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Entity DataMaps ==&lt;br /&gt;
{| class=&amp;quot;wikitable sortable mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;margin: 0 auto; width: 100%; padding: 0;&lt;br /&gt;
|+CTFObjectiveResource &lt;br /&gt;
! style=&amp;quot;width: 50%; background-color: #303030; color: white&amp;quot; |Name &lt;br /&gt;
! style=&amp;quot;width: 15%; background-color: #303030; color: white&amp;quot; |Type&lt;br /&gt;
! style=&amp;quot;width: 35%; background-color: #303030; color: white&amp;quot; |Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_bMannVsMachineBetweenWaves&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_bMannVsMachineWaveClassActive&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_bMannVsMachineWaveClassActive2&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_flMannVsMachineNextWaveTime&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_iszMannVsMachineWaveClassNames&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_iszMannVsMachineWaveClassNames2&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMannVsMachineMaxWaveCount&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMannVsMachineWaveClassCounts&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMannVsMachineWaveClassCounts2&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMannVsMachineWaveClassFlags&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMannVsMachineWaveClassFlags2&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMannVsMachineWaveCount&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMannVsMachineWaveEnemyCount&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMvMWorldMoney&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Seelpit</name></author>
	</entry>
	<entry>
		<id>https://sigwiki.potato.tf/index.php?title=CTFObjectiveResource&amp;diff=3279</id>
		<title>CTFObjectiveResource</title>
		<link rel="alternate" type="text/html" href="https://sigwiki.potato.tf/index.php?title=CTFObjectiveResource&amp;diff=3279"/>
		<updated>2022-04-27T15:08:15Z</updated>

		<summary type="html">&lt;p&gt;Seelpit: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source location : [https://github.com/sreechar/TF2-Source-Code/tree/master/tf2_src/game/server/tf/tf_objective_resource.h /game/server/tf/tf_objective_resource.h]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Linked entity : [https://developer.valvesoftware.com/wiki/tf_objective_resource tf_objective_resource]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==[[Classes|Class Structure]]==&lt;br /&gt;
*&#039;&#039;&#039;[[CBaseEntity]]&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;[[CBaseTeamObjectiveResource]]&#039;&#039;&#039;&lt;br /&gt;
***&#039;&#039;&#039;CTFObjectiveResource&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== SendProps ==&lt;br /&gt;
{| class=&amp;quot;wikitable sortable mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;margin: 0 auto; width: 100%; padding: 0;&amp;quot;&lt;br /&gt;
|+CTFObjectiveResource &lt;br /&gt;
! style=&amp;quot;width: 50%; background-color: #303030; color: white&amp;quot; |Name &lt;br /&gt;
! style=&amp;quot;width: 15%; background-color: #303030; color: white&amp;quot; |Type&lt;br /&gt;
! style=&amp;quot;width: 35%; background-color: #303030; color: white&amp;quot; |Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMannVsMachineMaxWaveCount&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |The max wave count on the wavebar.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMannVsMachineWaveCount&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |The current wave count on the wavebar.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMannVsMachineWaveEnemyCount&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |Total amount of mainwave enemies. Ignores changes made to the wavebar.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMvMWorldMoney&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |Total worth of currency packs that currently exist in the world and can be picked up.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_flMannVsMachineNextWaveTime&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Float&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_bMannVsMachineBetweenWaves&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nFlagCarrierUpgradeLevel&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_flMvMBaseBombUpgradeTime&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Float&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_flMvMNextBombUpgradeTime&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Float&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_iszMvMPopfileName&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |String&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |Name of the popfile. Modifying this with $SetProp causes the server to change to a different map on mission end; use $SetClientProp instead.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_iChallengeIndex&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMvMEventPopfileType&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; style=&amp;quot;padding: 0; margin: 0;&amp;quot; |&lt;br /&gt;
{| class=&amp;quot;wikitable sortable mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;margin: 0 auto; width: 100%; padding: 0;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |m_nMannVsMachineWaveClassCounts&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;000&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |Amount of bots with the first WaveSpawn&#039;s icon, as displayed on the wavebar.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;001&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;002&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;003&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;004&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;005&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;006&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;007&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;008&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;009&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;010&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;011&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_iszMannVsMachineWaveClassNames&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |String&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |The first subwave&#039;s ClassIcon name.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_iszMannVsMachineWaveClassNames&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Array&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; style=&amp;quot;padding: 0; margin: 0;&amp;quot; |&lt;br /&gt;
{| class=&amp;quot;wikitable sortable mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;margin: 0 auto; width: 100%; padding: 0;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |m_nMannVsMachineWaveClassFlags&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;000&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |The position of the first WaveSpawn&#039;s icon. 1 moves it into mainwave, 2 into Support, 4 and 5 move it to the Mission Sniper / Spy Support section, and other values remove the icon from the wavebar.&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;001&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;002&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;003&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;004&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;005&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;006&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;007&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;008&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;009&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;010&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;011&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; style=&amp;quot;padding: 0; margin: 0;&amp;quot; |&lt;br /&gt;
{| class=&amp;quot;wikitable sortable mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;margin: 0 auto; width: 100%; padding: 0;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |m_nMannVsMachineWaveClassCounts2&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;000&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;001&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;002&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;003&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;004&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;005&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;006&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;007&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;008&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;009&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;010&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;011&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_iszMannVsMachineWaveClassNames2&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |String&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_iszMannVsMachineWaveClassNames2&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Array&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; style=&amp;quot;padding: 0; margin: 0;&amp;quot; |&lt;br /&gt;
{| class=&amp;quot;wikitable sortable mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;margin: 0 auto; width: 100%; padding: 0;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |m_nMannVsMachineWaveClassFlags2&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;000&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;001&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;002&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;003&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;004&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;005&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;006&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;007&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;008&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;009&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;010&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;011&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Integer&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; style=&amp;quot;padding: 0; margin: 0;&amp;quot; |&lt;br /&gt;
{| class=&amp;quot;wikitable sortable mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;margin: 0 auto; width: 100%; padding: 0;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |m_bMannVsMachineWaveClassActive&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;000&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;001&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;002&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;003&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;004&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;005&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;006&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;007&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;008&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;009&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;010&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;011&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;3&amp;quot; style=&amp;quot;padding: 0; margin: 0;&amp;quot; |&lt;br /&gt;
{| class=&amp;quot;wikitable sortable mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;margin: 0 auto; width: 100%; padding: 0;&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;3&amp;quot; |m_bMannVsMachineWaveClassActive2&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;000&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;001&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;002&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;003&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;004&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;005&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;006&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;007&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;008&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;009&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;010&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;011&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |Boolean&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Entity DataMaps ==&lt;br /&gt;
{| class=&amp;quot;wikitable sortable mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;margin: 0 auto; width: 100%; padding: 0;&lt;br /&gt;
|+CTFObjectiveResource &lt;br /&gt;
! style=&amp;quot;width: 50%; background-color: #303030; color: white&amp;quot; |Name &lt;br /&gt;
! style=&amp;quot;width: 15%; background-color: #303030; color: white&amp;quot; |Type&lt;br /&gt;
! style=&amp;quot;width: 35%; background-color: #303030; color: white&amp;quot; |Description&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_bMannVsMachineBetweenWaves&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_bMannVsMachineWaveClassActive&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_bMannVsMachineWaveClassActive2&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_flMannVsMachineNextWaveTime&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_iszMannVsMachineWaveClassNames&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_iszMannVsMachineWaveClassNames2&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMannVsMachineMaxWaveCount&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMannVsMachineWaveClassCounts&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMannVsMachineWaveClassCounts2&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMannVsMachineWaveClassFlags&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMannVsMachineWaveClassFlags2&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMannVsMachineWaveCount&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMannVsMachineWaveEnemyCount&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width: 50%;&amp;quot; |&#039;&#039;&#039;m_nMvMWorldMoney&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;width: 15%;&amp;quot; |&lt;br /&gt;
| style=&amp;quot;width: 35%;&amp;quot; |&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Seelpit</name></author>
	</entry>
</feed>