<?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=Yakibomb</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=Yakibomb"/>
	<link rel="alternate" type="text/html" href="https://sigwiki.potato.tf/index.php/Special:Contributions/Yakibomb"/>
	<updated>2026-06-06T06:57:21Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://sigwiki.potato.tf/index.php?title=CBaseObject&amp;diff=7577</id>
		<title>CBaseObject</title>
		<link rel="alternate" type="text/html" href="https://sigwiki.potato.tf/index.php?title=CBaseObject&amp;diff=7577"/>
		<updated>2025-08-27T14:20:47Z</updated>

		<summary type="html">&lt;p&gt;Yakibomb: /* SendProps */ Formatting error!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
The base class for place-able objects.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source location : [https://github.com/sreechar/TF2-Source-Code/blob/master/tf2_src/game/shared/tf/baseobject_shared.h /game/shared/tf/baseobject_shared.h]&#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;[[CBaseAnimating]]&#039;&#039;&#039;&lt;br /&gt;
***&#039;&#039;&#039;[[CBaseAnimatingOverlay]]&#039;&#039;&#039;&lt;br /&gt;
****&#039;&#039;&#039;[[CBaseFlex]]&#039;&#039;&#039;&lt;br /&gt;
*****&#039;&#039;&#039;[[CBaseCombatCharacter]]&#039;&#039;&#039;&lt;br /&gt;
******&#039;&#039;&#039;CBaseObject&#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;
|+CBaseObject&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;
|&#039;&#039;&#039;m_iHealth&#039;&#039;&#039;&lt;br /&gt;
|Integer&lt;br /&gt;
|The current health of this object&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;m_iMaxHealth&#039;&#039;&#039;&lt;br /&gt;
|Integer&lt;br /&gt;
|The maximum health this object can have in it&#039;s current state&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;m_bHasSapper&#039;&#039;&#039;&lt;br /&gt;
|Boolean&lt;br /&gt;
|Whether or not this object has a sapper on it&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;m_iObjectType&#039;&#039;&#039;&lt;br /&gt;
|Integer&lt;br /&gt;
|What type of object this entity is&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; |Values&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* 0 - OBJ_DISPENSER&lt;br /&gt;
* 1 - OBJ_TELEPORTER&lt;br /&gt;
* 2 - OBJ_SENTRYGUN&lt;br /&gt;
* 3 - OBJ_ATTACHMENT_SAPPER&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;m_bBuilding&#039;&#039;&#039;&lt;br /&gt;
|Boolean&lt;br /&gt;
|Whether or not this object is currently under construction&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;m_bPlacing&#039;&#039;&#039;&lt;br /&gt;
|Boolean&lt;br /&gt;
|Whether or not this object is staged to be constructed / placed&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; |Usage&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
For engineers, this means they have selected the building on their construction PDA, it is irrelevant as to whether or not they are actually allowed to place the building in the spot they are looking at. For spies, this simply means they have their sapper out, it doesn&#039;t need to be ready to place on a building&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;m_bCarried&#039;&#039;&#039;&lt;br /&gt;
|Boolean&lt;br /&gt;
|Whether or not an engineer is carrying this building &#039;&#039;&#039;after&#039;&#039;&#039; placing it&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;m_bCarryDeploy&#039;&#039;&#039;&lt;br /&gt;
|Boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;m_bMiniBuilding&#039;&#039;&#039;&lt;br /&gt;
|Boolean&lt;br /&gt;
|Whether or not this object is a mini building&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; |Usage&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Changing this value to 1 will add &#039;&#039;&#039;Mini-&#039;&#039;&#039; to the beginning of the building&#039;s name, regardless of the building type. It&#039;s advised to only change this value while the engineer is placing the building (m_bPlacing = 1), as changing it during other periods of time lead to different unintended consequences. (For example you cannot pick up a building that was above level 1 if you make it a mini building, it&#039;s model will also not update.) Sentries which have been changed from normal to mini sentries will &#039;&#039;&#039;not&#039;&#039;&#039; automatically update their size to that of a mini sentry, however every other difference between them does change properly (Damage, firing speed, health, sound)&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;m_flPercentageConstructed&#039;&#039;&#039;&lt;br /&gt;
|Float&lt;br /&gt;
|The percentage value denoting how close this object is to finishing construction. (0 - 1, 1 being completely constructed)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;m_fObjectFlags&#039;&#039;&#039;&lt;br /&gt;
|Integer&lt;br /&gt;
|Bit flags for this object&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; |Values&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* 1 - OF_ALLOW_REPEAT_PLACEMENT&lt;br /&gt;
* 2 - OF_MUST_BE_BUILT_ON_ATTACHMENT&lt;br /&gt;
* 4 - OF_DOESNT_HAVE_A_MODEL&lt;br /&gt;
* 8 - OF_PLAYER_DESTRUCTION&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;m_hBuiltOnEntity&#039;&#039;&#039;&lt;br /&gt;
|Integer&lt;br /&gt;
|The building which this sapper object is sapping / targeting&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; |Usage&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
The sapper does not have to actually be applied to a building for this to have a value. Along with the sapper being applied and destroying the building, this SendProp will also be populated with a value when a spy hovers over the building with their sapper and the sapper outline appears on the building indicating it is ready for placement&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;m_bDisabled&#039;&#039;&#039;&lt;br /&gt;
|Boolean&lt;br /&gt;
|Whether or not this building object is being sapped&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;m_hBuilder&#039;&#039;&#039;&lt;br /&gt;
|Integer&lt;br /&gt;
|The owner of the object. The object does not have to be constructed or placed for this value to be populated&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;m_vecBuildMaxs&#039;&#039;&#039;&lt;br /&gt;
|Vector&lt;br /&gt;
|The positive point to determine the object size&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;m_vecBuildMins&#039;&#039;&#039;&lt;br /&gt;
|Vector&lt;br /&gt;
|The negative point to determine the object size&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;m_iDesiredBuildRotations&#039;&#039;&#039;&lt;br /&gt;
|Integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;m_bServerOverridePlacement&#039;&#039;&#039;&lt;br /&gt;
|Boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;m_iUpgradeLevel&#039;&#039;&#039;&lt;br /&gt;
|Integer&lt;br /&gt;
|The upgrade level of this building object (1 - 3). Changing this value does nothing&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;m_iUpgradeMetal&#039;&#039;&#039;&lt;br /&gt;
|Integer&lt;br /&gt;
|The amount of metal put towards upgrading the building object to the next level. Setting this at or above m_iUpgradeMetalRequired will require a swing of a wrench to upgrade the building&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;m_iUpgradeMetalRequired&#039;&#039;&#039;&lt;br /&gt;
|Integer&lt;br /&gt;
|The amount of metal required to upgrade the building object to the next level&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;m_iHighestUpgradeLevel&#039;&#039;&#039;&lt;br /&gt;
|Integer&lt;br /&gt;
|Despite the name, this is the current upgrade level of this building object. Unlike m_iUpgradeLevel however, changing this value does change the building&#039;s level&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;m_iObjectMode&#039;&#039;&#039;&lt;br /&gt;
|Integer&lt;br /&gt;
|This object&#039;s mode&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; |Values&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* 0 - MODE_TELEPORTER_ENTRANCE&lt;br /&gt;
* 1 - MODE_TELEPORTER_EXIT&lt;br /&gt;
&lt;br /&gt;
* 0 - MODE_SENTRYGUN_NORMAL&lt;br /&gt;
* 1 - MODE_SENTRYGUN_DISPOSABLE // The MvM upgrade sentries&lt;br /&gt;
&lt;br /&gt;
* 0 - MODE_SAPPER_NORMAL&lt;br /&gt;
* 1 - MODE_SAPPER_ANTI_ROBOT&lt;br /&gt;
* 2 - MODE_SAPPER_ANTI_ROBOT_RADIUS&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;m_bDisposableBuilding&#039;&#039;&#039;&lt;br /&gt;
|Boolean&lt;br /&gt;
|Whether or not this object is a disposable building (from the MvM upgrade)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;m_bWasMapPlaced&#039;&#039;&#039;&lt;br /&gt;
|Boolean&lt;br /&gt;
|Whether or not this object was spawned by the map (it was in the .vmf)&lt;br /&gt;
Setting this disables the map-wide team glow from players respawning with addcond 114 (TF_COND_TEAM_GLOWS)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;m_bPlasmaDisable&#039;&#039;&#039;&lt;br /&gt;
|Boolean&lt;br /&gt;
|Whether or not this building object has been temporarily disabled by the Cow Mangler 5000&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;
|+CBaseObject &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;CBaseObjectUpgradeThink&#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;InputAddHealth&#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;InputDisable&#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;InputEnable&#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;InputHide&#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;InputRemoveHealth&#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;InputSetBuilder&#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;InputSetHealth&#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;InputSetSolidToPlayer&#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;InputShow&#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_OnBecomingDisabled&#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_OnBecomingReenabled&#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_OnDamaged&#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_OnDestroyed&#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_OnObjectHealthChanged&#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_OnRepaired&#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_SolidToPlayers&#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_nDefaultUpgradeLevel&#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>Yakibomb</name></author>
	</entry>
	<entry>
		<id>https://sigwiki.potato.tf/index.php?title=CBaseObject&amp;diff=7576</id>
		<title>CBaseObject</title>
		<link rel="alternate" type="text/html" href="https://sigwiki.potato.tf/index.php?title=CBaseObject&amp;diff=7576"/>
		<updated>2025-08-27T14:18:47Z</updated>

		<summary type="html">&lt;p&gt;Yakibomb: /* SendProps */ Setting &amp;quot;m_bWasMapPlaced&amp;quot; disables team glows&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Overview ==&lt;br /&gt;
The base class for place-able objects.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Source location : [https://github.com/sreechar/TF2-Source-Code/blob/master/tf2_src/game/shared/tf/baseobject_shared.h /game/shared/tf/baseobject_shared.h]&#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;[[CBaseAnimating]]&#039;&#039;&#039;&lt;br /&gt;
***&#039;&#039;&#039;[[CBaseAnimatingOverlay]]&#039;&#039;&#039;&lt;br /&gt;
****&#039;&#039;&#039;[[CBaseFlex]]&#039;&#039;&#039;&lt;br /&gt;
*****&#039;&#039;&#039;[[CBaseCombatCharacter]]&#039;&#039;&#039;&lt;br /&gt;
******&#039;&#039;&#039;CBaseObject&#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;
|+CBaseObject&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;
|&#039;&#039;&#039;m_iHealth&#039;&#039;&#039;&lt;br /&gt;
|Integer&lt;br /&gt;
|The current health of this object&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;m_iMaxHealth&#039;&#039;&#039;&lt;br /&gt;
|Integer&lt;br /&gt;
|The maximum health this object can have in it&#039;s current state&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;m_bHasSapper&#039;&#039;&#039;&lt;br /&gt;
|Boolean&lt;br /&gt;
|Whether or not this object has a sapper on it&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;m_iObjectType&#039;&#039;&#039;&lt;br /&gt;
|Integer&lt;br /&gt;
|What type of object this entity is&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; |Values&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* 0 - OBJ_DISPENSER&lt;br /&gt;
* 1 - OBJ_TELEPORTER&lt;br /&gt;
* 2 - OBJ_SENTRYGUN&lt;br /&gt;
* 3 - OBJ_ATTACHMENT_SAPPER&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;m_bBuilding&#039;&#039;&#039;&lt;br /&gt;
|Boolean&lt;br /&gt;
|Whether or not this object is currently under construction&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;m_bPlacing&#039;&#039;&#039;&lt;br /&gt;
|Boolean&lt;br /&gt;
|Whether or not this object is staged to be constructed / placed&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; |Usage&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
For engineers, this means they have selected the building on their construction PDA, it is irrelevant as to whether or not they are actually allowed to place the building in the spot they are looking at. For spies, this simply means they have their sapper out, it doesn&#039;t need to be ready to place on a building&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;m_bCarried&#039;&#039;&#039;&lt;br /&gt;
|Boolean&lt;br /&gt;
|Whether or not an engineer is carrying this building &#039;&#039;&#039;after&#039;&#039;&#039; placing it&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;m_bCarryDeploy&#039;&#039;&#039;&lt;br /&gt;
|Boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;m_bMiniBuilding&#039;&#039;&#039;&lt;br /&gt;
|Boolean&lt;br /&gt;
|Whether or not this object is a mini building&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; |Usage&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
Changing this value to 1 will add &#039;&#039;&#039;Mini-&#039;&#039;&#039; to the beginning of the building&#039;s name, regardless of the building type. It&#039;s advised to only change this value while the engineer is placing the building (m_bPlacing = 1), as changing it during other periods of time lead to different unintended consequences. (For example you cannot pick up a building that was above level 1 if you make it a mini building, it&#039;s model will also not update.) Sentries which have been changed from normal to mini sentries will &#039;&#039;&#039;not&#039;&#039;&#039; automatically update their size to that of a mini sentry, however every other difference between them does change properly (Damage, firing speed, health, sound)&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;m_flPercentageConstructed&#039;&#039;&#039;&lt;br /&gt;
|Float&lt;br /&gt;
|The percentage value denoting how close this object is to finishing construction. (0 - 1, 1 being completely constructed)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;m_fObjectFlags&#039;&#039;&#039;&lt;br /&gt;
|Integer&lt;br /&gt;
|Bit flags for this object&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; |Values&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* 1 - OF_ALLOW_REPEAT_PLACEMENT&lt;br /&gt;
* 2 - OF_MUST_BE_BUILT_ON_ATTACHMENT&lt;br /&gt;
* 4 - OF_DOESNT_HAVE_A_MODEL&lt;br /&gt;
* 8 - OF_PLAYER_DESTRUCTION&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;m_hBuiltOnEntity&#039;&#039;&#039;&lt;br /&gt;
|Integer&lt;br /&gt;
|The building which this sapper object is sapping / targeting&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; |Usage&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
The sapper does not have to actually be applied to a building for this to have a value. Along with the sapper being applied and destroying the building, this SendProp will also be populated with a value when a spy hovers over the building with their sapper and the sapper outline appears on the building indicating it is ready for placement&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;m_bDisabled&#039;&#039;&#039;&lt;br /&gt;
|Boolean&lt;br /&gt;
|Whether or not this building object is being sapped&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;m_hBuilder&#039;&#039;&#039;&lt;br /&gt;
|Integer&lt;br /&gt;
|The owner of the object. The object does not have to be constructed or placed for this value to be populated&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;m_vecBuildMaxs&#039;&#039;&#039;&lt;br /&gt;
|Vector&lt;br /&gt;
|The positive point to determine the object size&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;m_vecBuildMins&#039;&#039;&#039;&lt;br /&gt;
|Vector&lt;br /&gt;
|The negative point to determine the object size&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;m_iDesiredBuildRotations&#039;&#039;&#039;&lt;br /&gt;
|Integer&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;m_bServerOverridePlacement&#039;&#039;&#039;&lt;br /&gt;
|Boolean&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;m_iUpgradeLevel&#039;&#039;&#039;&lt;br /&gt;
|Integer&lt;br /&gt;
|The upgrade level of this building object (1 - 3). Changing this value does nothing&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;m_iUpgradeMetal&#039;&#039;&#039;&lt;br /&gt;
|Integer&lt;br /&gt;
|The amount of metal put towards upgrading the building object to the next level. Setting this at or above m_iUpgradeMetalRequired will require a swing of a wrench to upgrade the building&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;m_iUpgradeMetalRequired&#039;&#039;&#039;&lt;br /&gt;
|Integer&lt;br /&gt;
|The amount of metal required to upgrade the building object to the next level&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;m_iHighestUpgradeLevel&#039;&#039;&#039;&lt;br /&gt;
|Integer&lt;br /&gt;
|Despite the name, this is the current upgrade level of this building object. Unlike m_iUpgradeLevel however, changing this value does change the building&#039;s level&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;m_iObjectMode&#039;&#039;&#039;&lt;br /&gt;
|Integer&lt;br /&gt;
|This object&#039;s mode&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; |Values&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
* 0 - MODE_TELEPORTER_ENTRANCE&lt;br /&gt;
* 1 - MODE_TELEPORTER_EXIT&lt;br /&gt;
&lt;br /&gt;
* 0 - MODE_SENTRYGUN_NORMAL&lt;br /&gt;
* 1 - MODE_SENTRYGUN_DISPOSABLE // The MvM upgrade sentries&lt;br /&gt;
&lt;br /&gt;
* 0 - MODE_SAPPER_NORMAL&lt;br /&gt;
* 1 - MODE_SAPPER_ANTI_ROBOT&lt;br /&gt;
* 2 - MODE_SAPPER_ANTI_ROBOT_RADIUS&lt;br /&gt;
|}&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;m_bDisposableBuilding&#039;&#039;&#039;&lt;br /&gt;
|Boolean&lt;br /&gt;
|Whether or not this object is a disposable building (from the MvM upgrade)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;m_bWasMapPlaced&#039;&#039;&#039;&lt;br /&gt;
|Boolean&lt;br /&gt;
|Whether or not this object was spawned by the map (it was in the .vmf)&lt;br /&gt;
|Setting this disables the map-wide team glow from players respawning with addcond 114 (TF_COND_TEAM_GLOWS)&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;m_bPlasmaDisable&#039;&#039;&#039;&lt;br /&gt;
|Boolean&lt;br /&gt;
|Whether or not this building object has been temporarily disabled by the Cow Mangler 5000&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;
|+CBaseObject &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;CBaseObjectUpgradeThink&#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;InputAddHealth&#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;InputDisable&#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;InputEnable&#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;InputHide&#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;InputRemoveHealth&#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;InputSetBuilder&#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;InputSetHealth&#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;InputSetSolidToPlayer&#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;InputShow&#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_OnBecomingDisabled&#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_OnBecomingReenabled&#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_OnDamaged&#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_OnDestroyed&#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_OnObjectHealthChanged&#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_OnRepaired&#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_SolidToPlayers&#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_nDefaultUpgradeLevel&#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>Yakibomb</name></author>
	</entry>
	<entry>
		<id>https://sigwiki.potato.tf/index.php?title=Custom_Entities&amp;diff=3238</id>
		<title>Custom Entities</title>
		<link rel="alternate" type="text/html" href="https://sigwiki.potato.tf/index.php?title=Custom_Entities&amp;diff=3238"/>
		<updated>2022-04-08T16:12:21Z</updated>

		<summary type="html">&lt;p&gt;Yakibomb: $filter_* does not use $compare &amp;quot;equal&amp;quot; by default anymore&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== $trigger_detector ==&lt;br /&gt;
Checks for entities inside the trigger and the radius (if specified). The closest entity to the origin inside the trigger is marked as target. Shares inputs and outputs with [https://developer.valvesoftware.com/wiki/Trigger_multiple trigger_multiple]&lt;br /&gt;
===Keyvalues===&lt;br /&gt;
*$checklineofsight &amp;lt;1/0&amp;gt; (Default: 0)&lt;br /&gt;
**Should the line of sight between the detector origin and the target be clear.&lt;br /&gt;
*$radius &amp;lt;number&amp;gt; (Default: 65000)&lt;br /&gt;
**Maximum distance between the the detector origin and the target&lt;br /&gt;
*$fov &amp;lt;number&amp;gt; (Default: 180)&lt;br /&gt;
**If set, only detect entities in field of view angle defined in degrees&lt;br /&gt;
*$keeptarget &amp;lt;1/0&amp;gt; (Default: 0)&lt;br /&gt;
**Should the detector keep targeting the entity as long as it remains in range, even if there is another closer suitable target&lt;br /&gt;
&lt;br /&gt;
=== Inputs ===&lt;br /&gt;
&lt;br /&gt;
* $TargetTest&lt;br /&gt;
** Check if there is a detectable entity inside the the detector&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
&lt;br /&gt;
* $OnNewTarget &lt;br /&gt;
** Fired when a new target is being found. The new target is the !activator&lt;br /&gt;
* $OnLostTarget&lt;br /&gt;
** Fired when the target is no longer in range, or a new target is being choosen. The lost target is the !activator&lt;br /&gt;
* $OnLostTargetAll&lt;br /&gt;
** Fired when there are no more targets in range&lt;br /&gt;
* $TargetTestPass&lt;br /&gt;
** Fired after $TargetTest input if there is an entity in range currently detected by the detector. The detected entity is the !activator&lt;br /&gt;
* $TargetTestFail&lt;br /&gt;
** Fired after $TargetTest input if there are no entities in range detected by the detector&lt;br /&gt;
&lt;br /&gt;
== $weapon_spawner ==&lt;br /&gt;
Spawns dropped weapons&lt;br /&gt;
===Keyvalues===&lt;br /&gt;
*$item &amp;lt;string&amp;gt;&lt;br /&gt;
**Name of the item to spawn&lt;br /&gt;
*$nomotion &amp;lt;1/0&amp;gt; (Default: 0)&lt;br /&gt;
**Spawn items without gravity&lt;br /&gt;
*$ammo &amp;lt;number&amp;gt; (Default: -1)&lt;br /&gt;
**Spawn with this much ammo&lt;br /&gt;
*$clip &amp;lt;number&amp;gt; (Default: -1)&lt;br /&gt;
**Spawn with this much ammo in the clip&lt;br /&gt;
*$energy &amp;lt;number&amp;gt;&lt;br /&gt;
**Spawn with custom amount of energy in (0-1) range&lt;br /&gt;
*$charge &amp;lt;number&amp;gt;&lt;br /&gt;
**Spawn with custom medigun charge amount in (0-1) range&lt;br /&gt;
&lt;br /&gt;
=== Inputs ===&lt;br /&gt;
&lt;br /&gt;
* $DropWeapon&lt;br /&gt;
** Drop weapon&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
&lt;br /&gt;
* $OnPickup&lt;br /&gt;
** Fired when a player picks up the weapon. The player is the !activator&lt;br /&gt;
&lt;br /&gt;
== $entity_spawn_detector ==&lt;br /&gt;
Detects if an entity with a  specified classname had spawned&lt;br /&gt;
&lt;br /&gt;
=== Keyvalues ===&lt;br /&gt;
*$name &amp;lt;string&amp;gt;&lt;br /&gt;
**Name of the classname to check&lt;br /&gt;
&lt;br /&gt;
=== Outputs ===&lt;br /&gt;
&lt;br /&gt;
* $OnEntitySpawned&lt;br /&gt;
** Fired when an entity with the specified classname spawns. The spawned entity is the !activator&lt;br /&gt;
&lt;br /&gt;
==$filter_keyvalue==&lt;br /&gt;
Custom filter that lets you filter entities matching the key value. Shares inputs with [https://developer.valvesoftware.com/wiki/Filter_base filter_base] entity&lt;br /&gt;
===Keyvalues===&lt;br /&gt;
*$name &amp;lt;string&amp;gt;&lt;br /&gt;
**Name of the key to compare, example: health&lt;br /&gt;
*$value &amp;lt;any&amp;gt;&lt;br /&gt;
**Value to compare against&lt;br /&gt;
*$compare &amp;lt;string&amp;gt;&lt;br /&gt;
**The condition for passing the filter. Should only be set for numeric values.&lt;br /&gt;
**Possible values:&lt;br /&gt;
***equal&lt;br /&gt;
***less than&lt;br /&gt;
***greater than&lt;br /&gt;
***less than or equal&lt;br /&gt;
***greater than or equal&lt;br /&gt;
==$filter_variable==&lt;br /&gt;
Custom filter that lets you filter entities matching the custom entity variable (declared by firing $SetVar$variablename input of the entity). Shares inputs with [https://developer.valvesoftware.com/wiki/Filter_base filter_base] entity&lt;br /&gt;
===Keyvalues===&lt;br /&gt;
*$name &amp;lt;string&amp;gt;&lt;br /&gt;
**Name of the variable to compare, example: myvar&lt;br /&gt;
*$value &amp;lt;any&amp;gt;&lt;br /&gt;
**Value to compare against&lt;br /&gt;
*$compare &amp;lt;string&amp;gt;&lt;br /&gt;
**The condition for passing the filter. Should only be set for numeric values.&lt;br /&gt;
**Possible values:&lt;br /&gt;
***equal&lt;br /&gt;
***less than&lt;br /&gt;
***greater than&lt;br /&gt;
***less than or equal&lt;br /&gt;
***greater than or equal&lt;br /&gt;
==$filter_datamap==&lt;br /&gt;
Custom filter that lets you filter entities matching the [https://raw.githubusercontent.com/powerlord/tf2-data/master/datamaps.txt datamap] prop. Shares inputs with [https://developer.valvesoftware.com/wiki/Filter_base filter_base] entity&lt;br /&gt;
===Keyvalues===&lt;br /&gt;
*$name &amp;lt;string&amp;gt;&lt;br /&gt;
**Name of the variable to compare, example: m_iHealth&lt;br /&gt;
*$value &amp;lt;any&amp;gt;&lt;br /&gt;
**Value to compare against&lt;br /&gt;
*$compare &amp;lt;string&amp;gt;&lt;br /&gt;
**The condition for passing the filter. Should only be set for numeric values.&lt;br /&gt;
**Possible values:&lt;br /&gt;
***equal&lt;br /&gt;
***less than&lt;br /&gt;
***greater than&lt;br /&gt;
***less than or equal&lt;br /&gt;
***greater than or equal&lt;br /&gt;
==$filter_sendprop==&lt;br /&gt;
Custom filter that lets you filter entities matching the [https://raw.githubusercontent.com/powerlord/tf2-data/master/netprops.txt send prop]. Shares inputs with [https://developer.valvesoftware.com/wiki/Filter_base filter_base] entity&lt;br /&gt;
===Keyvalues===&lt;br /&gt;
*$name &amp;lt;string&amp;gt;&lt;br /&gt;
**Name of the variable to compare, example: m_nCurrency&lt;br /&gt;
*$value &amp;lt;any&amp;gt;&lt;br /&gt;
**Value to compare against&lt;br /&gt;
*$compare &amp;lt;string&amp;gt;&lt;br /&gt;
**The condition for passing the filter. Should only be set for numeric values.&lt;br /&gt;
**Possible values:&lt;br /&gt;
***equal&lt;br /&gt;
***less than&lt;br /&gt;
***greater than&lt;br /&gt;
***less than or equal&lt;br /&gt;
***greater than or equal&lt;br /&gt;
&lt;br /&gt;
== $filter_proximity ==&lt;br /&gt;
Custom filter that lets you filter entities by proximity to the target entity&lt;br /&gt;
===Keyvalues===&lt;br /&gt;
*$target &amp;lt;string&amp;gt;&lt;br /&gt;
**Name of the target entity, or coordinates in x y z format&lt;br /&gt;
*$range &amp;lt;number&amp;gt;&lt;br /&gt;
**Maximum distance to pass the filter&lt;br /&gt;
&lt;br /&gt;
== $filter_bbox ==&lt;br /&gt;
Custom filter that lets you filter entities inside a bounding box&lt;br /&gt;
===Keyvalues===&lt;br /&gt;
*$target &amp;lt;string&amp;gt;&lt;br /&gt;
**Name of the target entity or coordinates in x y z format&lt;br /&gt;
*$min &amp;lt;vector&amp;gt;&lt;br /&gt;
**the negative box bounds in x y z format&lt;br /&gt;
*$max &amp;lt;vector&amp;gt;&lt;br /&gt;
**the positive box bounds in x y z format&lt;br /&gt;
&lt;br /&gt;
== $filter_itemname ==&lt;br /&gt;
Custom damage filter that filters damage by the weapon item name&lt;br /&gt;
===Keyvalues===&lt;br /&gt;
*$item &amp;lt;string&amp;gt;&lt;br /&gt;
**Name of the weapon to filter against&lt;br /&gt;
&lt;br /&gt;
== $filter_specialdamagetype ==&lt;br /&gt;
Custom damage filter that filters damage by the existence of &amp;quot;special damage type&amp;quot; attribute of the weapon&lt;br /&gt;
===Keyvalues===&lt;br /&gt;
*$type &amp;lt;number&amp;gt;&lt;br /&gt;
**Number of the special damage type required to pass the trigger&lt;br /&gt;
[[Category:Misc Additions]]&lt;/div&gt;</summary>
		<author><name>Yakibomb</name></author>
	</entry>
	<entry>
		<id>https://sigwiki.potato.tf/index.php?title=List_of_modifications_to_vanilla_attributes&amp;diff=3237</id>
		<title>List of modifications to vanilla attributes</title>
		<link rel="alternate" type="text/html" href="https://sigwiki.potato.tf/index.php?title=List_of_modifications_to_vanilla_attributes&amp;diff=3237"/>
		<updated>2022-04-07T21:27:55Z</updated>

		<summary type="html">&lt;p&gt;Yakibomb: &amp;quot;air dash count&amp;quot; works on all classes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Attribute&lt;br /&gt;
!New behavior&lt;br /&gt;
|-&lt;br /&gt;
|alt-fire disabled&lt;br /&gt;
|Actually blocks alt-fire from the weapon&lt;br /&gt;
|-&lt;br /&gt;
|armor piercing&lt;br /&gt;
|Values above 100 are applied properly&lt;br /&gt;
|-&lt;br /&gt;
|paintkit_proto_def_index&lt;br /&gt;
|Applying value in popfile works&lt;br /&gt;
|-&lt;br /&gt;
|dmg bonus while half dead&lt;br /&gt;
|Works on non-melee weapons&lt;br /&gt;
|-&lt;br /&gt;
|dmg penalty while half alive&lt;br /&gt;
|Works on non-melee weapons&lt;br /&gt;
|-&lt;br /&gt;
|damage bonus (and other mult_dmg attributes)&lt;br /&gt;
|Works on kart impact damage and mantreads fall damage&lt;br /&gt;
|-&lt;br /&gt;
|dmg penalty vs players&lt;br /&gt;
|Works on kart impact damage and mantreads fall damage&lt;br /&gt;
|-&lt;br /&gt;
|restore health on kill&lt;br /&gt;
|Works on mantreads fall damage&lt;br /&gt;
|-&lt;br /&gt;
|fire rate bonus with reduced health&lt;br /&gt;
|Works on melee weapons&lt;br /&gt;
|-&lt;br /&gt;
|explosive sniper shot&lt;br /&gt;
|Works on any headshot capable weapon&lt;br /&gt;
|-&lt;br /&gt;
|attack projectiles&lt;br /&gt;
|Works on any weapon&lt;br /&gt;
|-&lt;br /&gt;
|engy building health bonus&lt;br /&gt;
|Also works on disposable sentries&lt;br /&gt;
|-&lt;br /&gt;
|custom projectile model&lt;br /&gt;
|Works on most projectiles&lt;br /&gt;
|-&lt;br /&gt;
|air dash count&lt;br /&gt;
|Can give air jumps on all classes&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Yakibomb</name></author>
	</entry>
	<entry>
		<id>https://sigwiki.potato.tf/index.php?title=Expressions&amp;diff=3236</id>
		<title>Expressions</title>
		<link rel="alternate" type="text/html" href="https://sigwiki.potato.tf/index.php?title=Expressions&amp;diff=3236"/>
		<updated>2022-04-06T13:51:21Z</updated>

		<summary type="html">&lt;p&gt;Yakibomb: updated info. Use &amp;#039;sig_expression &amp;quot;2+2&amp;quot;&amp;#039; to get result in console.&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;
exists( value )&lt;br /&gt;
not( value )&lt;br /&gt;
!( value )&lt;br /&gt;
~( value )&lt;br /&gt;
case( test value, default, case1, [case2] ... )&lt;br /&gt;
type( value )&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>Yakibomb</name></author>
	</entry>
	<entry>
		<id>https://sigwiki.potato.tf/index.php?title=Additions_to_existing_entities&amp;diff=238</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=238"/>
		<updated>2021-12-21T08:11:49Z</updated>

		<summary type="html">&lt;p&gt;Yakibomb: new I/O&amp;#039;s from rafradek https://discord.com/channels/415522947789488129/480416823695638578/921196132552572950&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 box&lt;br /&gt;
&lt;br /&gt;
== point_viewcontrol ==&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;
== 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;
&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;
&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;
&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;
* $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. Example &amp;quot;damage bonus|2|0&amp;quot; adds 100% damage bonus to primary 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. Example &amp;quot;damage bonus|0&amp;quot; removes damage bonus from primary 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|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;
*$OnDamageReceived&lt;br /&gt;
**Fires when a player has been damaged. Passes damage taken value as parameter. Damage inflictor is !activator.&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;
== All entities ==&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, only changes the appearence&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;
* $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;
*$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;
**parameter format: entity|input|default value&lt;br /&gt;
**example: !activator|$DisplayTextCenter|def&lt;br /&gt;
**Trigger the input of an entity, with keyvalue as a paramer (default value if not found)&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;
**parameter format: entity|input|default value&lt;br /&gt;
**example: !activator|$DisplayTextCenter|def&lt;br /&gt;
**Trigger the input of an entity, with variable as a paramer (default value if not found)&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;
**parameter format: entity|input|default value&lt;br /&gt;
**example: !activator|$DisplayTextCenter|def&lt;br /&gt;
**Trigger the input of an entity, with datamap prop as a paramer (default value if not found)&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;
**parameter format: entity|input|default value&lt;br /&gt;
**example: !activator|$DisplayTextCenter|def&lt;br /&gt;
**Trigger the input of an entity, with send prop as a paramer (default value if not found)&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. The calling entity no longer exist and cannot be accessed&lt;br /&gt;
&lt;br /&gt;
[[Category:Misc Additions]]&lt;/div&gt;</summary>
		<author><name>Yakibomb</name></author>
	</entry>
	<entry>
		<id>https://sigwiki.potato.tf/index.php?title=List_of_custom_attributes&amp;diff=237</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=237"/>
		<updated>2021-12-21T07:39:23Z</updated>

		<summary type="html">&lt;p&gt;Yakibomb: new item attributes from rafradek https://discord.com/channels/415522947789488129/480416823695638578/915623682972463114&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;
| The bot with the attribute distributes its currency on death, like with sniper kills&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;
|Can player breathe underwater&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
| cannot swim&lt;br /&gt;
|If set to 1 player cannon swim &lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|swimming mastery&lt;br /&gt;
|If set to 1 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 player move his teleporter 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 battalion backup 35% 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;
|Is the player immune to wet statuses like jarate or 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 different class clears the combo&lt;br /&gt;
|0.1&lt;br /&gt;
|-&lt;br /&gt;
|mult dispenser rate&lt;br /&gt;
|Healh and ammo 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;
| Flare and rocket homing seek power in degrees per second &lt;br /&gt;
|360&lt;br /&gt;
|-&lt;br /&gt;
| mod projectile heat aim error&lt;br /&gt;
|Rocket max error in aim in degrees &lt;br /&gt;
|90&lt;br /&gt;
|-&lt;br /&gt;
|mult dmg vs same class&lt;br /&gt;
|Damage vs same class multipler&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|uber on damage taken&lt;br /&gt;
|On take damage: x% chance of gaining invicibility for 3 seconds&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
|mult dmgtaken from melee&lt;br /&gt;
|Damage taken from melee multipier &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;
| x% soldier buff range bonus &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. Only for melee weapons&lt;br /&gt;
|2&lt;br /&gt;
|-&lt;br /&gt;
|mult airblast primary refire time&lt;br /&gt;
|Multiplier of how fast can pyro use primary fire again 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 himself rather than others&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 caber on use&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
|mult smack time&lt;br /&gt;
|Melee smack time multiplier (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;
|Shoots additional 2 arrows per level&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 multiple projectiles at once&lt;br /&gt;
|4&lt;br /&gt;
|-&lt;br /&gt;
| projectile trail particle&lt;br /&gt;
|Projectile trail particle name&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 sydney sleeper explosion on headshot&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|cannot be sapped&lt;br /&gt;
|Bot 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;
|Is item invisible &lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
| cannot taunt&lt;br /&gt;
|Cannot taunt&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|projectile acceleration&lt;br /&gt;
|Rocket acceleration in hu/s^2 &lt;br /&gt;
|500&lt;br /&gt;
|-&lt;br /&gt;
|is miniboss&lt;br /&gt;
|The player is miniboss&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|model scale&lt;br /&gt;
| Player model scale&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|cannot upgrade&lt;br /&gt;
|Player upgrade possibility&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 &lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|mult firerocket rate&lt;br /&gt;
|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&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;
|Set damage rampup to 20%&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|no reduced damage rampup&lt;br /&gt;
|Set damage rampup to 50%&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|force damage falloff&lt;br /&gt;
|Force damage rampup and falloff&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
| no damage falloff&lt;br /&gt;
|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 &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 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;
| Allow to deal friendly fire damage&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|receive friendly fire&lt;br /&gt;
| Receive friendly fire from teammates&lt;br /&gt;
|1&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;
|Cannot be headshot. Hitscan only&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;
|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;
|mod projectile heat aim time&lt;br /&gt;
|For how long should the projectile home in&lt;br /&gt;
|1.75&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;
|projectile acceleration time&lt;br /&gt;
|For how long should the projectile accelerate&lt;br /&gt;
|2.55&lt;br /&gt;
|-&lt;br /&gt;
| grenade explode on impact&lt;br /&gt;
|Grenades explode on impact&lt;br /&gt;
| 1&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
projectile lifetime&lt;br /&gt;
|Projectile lifetime in seconds &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 taunt, even midair &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;
|mod projectile heat follow crosshair&lt;br /&gt;
|Homing projectiles follow crosshair&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
| cannot be upgraded&lt;br /&gt;
|Weapon cannot be upgraded&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|projectile no deflect&lt;br /&gt;
|Projectile cannot be deflected&lt;br /&gt;
| 1&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;
| player gravity ballon head&lt;br /&gt;
|Player gravity multiplier when ballon 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 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 a player victim 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;
&amp;quot;mechanicalarmorb&amp;quot; - Short circuit orb&lt;br /&gt;
|mechanicalarmorb&lt;br /&gt;
|-&lt;br /&gt;
|dmg current health&lt;br /&gt;
|Deal additional damage based on fraction of target current health&lt;br /&gt;
|0.34&lt;br /&gt;
|-&lt;br /&gt;
|dmg max health&lt;br /&gt;
| Deal additional damage based on fraction of target max health&lt;br /&gt;
|0.34&lt;br /&gt;
|-&lt;br /&gt;
|dmg missing health&lt;br /&gt;
|Deal additional damage based on fraction of target missing health&lt;br /&gt;
|0.34&lt;br /&gt;
|-&lt;br /&gt;
|cannot be teleported&lt;br /&gt;
|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;
|add cond on hit&lt;br /&gt;
| Add condtion to the target on hit&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&lt;br /&gt;
|57&lt;br /&gt;
|-&lt;br /&gt;
|add damage type&lt;br /&gt;
|Add damage type to the attack&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&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|dmg taken mult from special damage type 1&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, jars&lt;br /&gt;
|3&lt;br /&gt;
|-&lt;br /&gt;
|effect cond override&lt;br /&gt;
|Effect condtion override on drinks, jars, ubers and many other effects&lt;br /&gt;
| 24&lt;br /&gt;
|-&lt;br /&gt;
|self add cond on hit&lt;br /&gt;
| Add condition to self on hit target&lt;br /&gt;
|54&lt;br /&gt;
|-&lt;br /&gt;
|self add cond on hit duration&lt;br /&gt;
|Add condition to self on hit target duration&lt;br /&gt;
| 3&lt;br /&gt;
|-&lt;br /&gt;
|add cond on kill&lt;br /&gt;
| Add condition on kill&lt;br /&gt;
|57&lt;br /&gt;
|-&lt;br /&gt;
|add cond on kill&lt;br /&gt;
| Add condition on kill duration&lt;br /&gt;
| 10&lt;br /&gt;
|-&lt;br /&gt;
|special item description&lt;br /&gt;
|Item description &lt;br /&gt;
|item description&lt;br /&gt;
|-&lt;br /&gt;
| mult flag carrier move speed&lt;br /&gt;
|Flag carrier move speed multipier&lt;br /&gt;
|0.66&lt;br /&gt;
|-&lt;br /&gt;
|overheal from heal on kill&lt;br /&gt;
|On kill healing can overheal &lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|fire input on hit&lt;br /&gt;
|Fire input on hit targets. The player is the activator. 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 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&lt;br /&gt;
| 0.8&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&lt;br /&gt;
|0.3&lt;br /&gt;
|-&lt;br /&gt;
|projectile gravity native&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&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|stickybomb stick to enemies&lt;br /&gt;
|Stickybombs stick to enemies &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 drop 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;
|reflect keep team&lt;br /&gt;
|Projectiles reflected by this weapon keep their original team&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;
|reflect magnet&lt;br /&gt;
|If set to 1, reflected projectiles aim towards the pyro&lt;br /&gt;
|1&lt;br /&gt;
|-&lt;br /&gt;
|stay after regenerate&lt;br /&gt;
|Stay after hitting 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;
|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;
|stomp player time&lt;br /&gt;
|Time between each stomp damage and push. By default, it happens every tick&lt;br /&gt;
|0.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&lt;br /&gt;
|1&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;
|mult step height&lt;br /&gt;
|Step height multiplier (x * 18hu)&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 is the activator. 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 hit to specified targetname. Wildcards are allowed&lt;br /&gt;
|player&lt;br /&gt;
|-&lt;br /&gt;
|fire full clip at once&lt;br /&gt;
|Fire 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&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 not pressed&lt;br /&gt;
|3&lt;br /&gt;
|-&lt;br /&gt;
|burst fire rate mult&lt;br /&gt;
|Fire rate multiplier between bursts&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;
|force fire full clip&lt;br /&gt;
|Automatically fire full clip&lt;br /&gt;
|1&lt;br /&gt;
|}&lt;br /&gt;
[[Category:Misc Additions]]&lt;/div&gt;</summary>
		<author><name>Yakibomb</name></author>
	</entry>
</feed>