<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.hard-light.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Nuke</id>
	<title>FreeSpace Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.hard-light.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Nuke"/>
	<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php/Special:Contributions/Nuke"/>
	<updated>2026-11-15T10:10:36Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Armor.tbl&amp;diff=40786</id>
		<title>Armor.tbl</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Armor.tbl&amp;diff=40786"/>
		<updated>2012-10-14T08:21:02Z</updated>

		<summary type="html">&lt;p&gt;Nuke: wrong starting symbol on +constant:, was $constant.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SCP_table}}&lt;br /&gt;
&lt;br /&gt;
{{TableVersion|8629}}&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;armor.tbl&#039;&#039;&#039; stores data on FS2&#039;s as-of-now-simplistic armor system. It lets you define different damage types per armor. The reason for defining different damage types per armor is that armor may be damaged more/less by certain types of weapons. For example, a fire-retardant suit may offer excellent protection against a flamethrower but virtually none against bullets.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
It&#039;s important to note that the cumbersome +Calculation/+Value system used for defining calculations will, in the future, be [[deprecated]] in favor of a more efficient scripting system. However, the current system will be kept for backwards compatibility if any mods or campaigns choose to make use of the table.&lt;br /&gt;
&lt;br /&gt;
Please note that the spelling &#039;&#039;&#039;armour.tbl&#039;&#039;&#039; is currently not supported.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This table is one of the [[Modular Tables]] and can be extended with xxx-amr.tbm&lt;br /&gt;
&lt;br /&gt;
[[Tables|List of Tables]]&lt;br /&gt;
&lt;br /&gt;
==#Armor Type==&lt;br /&gt;
Each armor entry begins with &#039;&#039;&#039;#Armor Type&#039;&#039;&#039; and ends with &#039;&#039;&#039;#End&#039;&#039;&#039;. There may be multiple entries in armor.tbl.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Name:===&lt;br /&gt;
Defines the name of the armor type. The same name must be used in the [[ships.tbl#$Armor Type:|$Armor Type]] entry in order for that ship to use the armor type. Note that Shields may also have an armor type as designated by [[ships.tbl#$Shield Armor Type:|$Shield Armor Type]]&lt;br /&gt;
&lt;br /&gt;
*Syntax: &#039;&#039;&#039;String&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Damage Type:===&lt;br /&gt;
Defines the name for the damage type that is used for the armor type/damage type pairs.&lt;br /&gt;
*The same name must be used in the [[weapons.tbl#$Damage Type:|$Damage Type]] entry (for all weapons that have this damage type) so that the armor can be applied against that particular damage type.&lt;br /&gt;
*Each $Damage Type entry must have at least one [[armor.tbl#+Calculation:|+Calculation]] entry&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Syntax:&#039;&#039;&#039;String&#039;&#039;&#039;, name of the damage type&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====+Calculation:====&lt;br /&gt;
Defines the used calculation type.&lt;br /&gt;
*Calculations per damage types are possible&lt;br /&gt;
*Calculations are performed in the order they are defined in the armor.tbl (and -amr.tbm&#039;s)&lt;br /&gt;
**The &amp;quot;current damage value&amp;quot; is the result of the calculation before it&lt;br /&gt;
**The &amp;quot;current damage value&amp;quot; is initially equal to the [[weapons.tbl#$Damage:|$Damage]] value of the weapon that is impacting the armor (provided that the weapon has the same [[armor.tbl#$Damage Type:|$Damage Type]])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Syntax:&#039;&#039;&#039;String&#039;&#039;&#039;, name of the calculation type&lt;br /&gt;
*Valid strings: see [[armor.tbl#List of Calculations|List of Calculations]]&lt;br /&gt;
&lt;br /&gt;
{{Table3615|&lt;br /&gt;
Note that this must be followed by a +Stored Value:, a +Constant:, or a +Value: tag. but only one of the three. This will be the value used by the calculation, so only one source is allowed. &lt;br /&gt;
}}&lt;br /&gt;
=====+Stored Value:=====&lt;br /&gt;
{{Table3615|&lt;br /&gt;
The calculation shall use the value stored in the specified memory location (which is stored by a previous calculation)&lt;br /&gt;
*One, and only one, of the +Stored Value, [[armor.tbl#+Constant:|+Constant]], or [[armor.tbl#+Value:|+Value]] entries is required per [[armor.tbl#+Calculation:|+Calculation]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Syntax:&#039;&#039;&#039;Unsigned integer&#039;&#039;&#039;&lt;br /&gt;
*Valid Values: 0 through 7&lt;br /&gt;
**Values greater than 7 are possible, but are not guaranteed to work as of (Rev 8629)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=====+Constant:=====&lt;br /&gt;
{{Table3615|&lt;br /&gt;
The calculation shall use a constant float value, that&#039;s internally defined in FSO.&lt;br /&gt;
*One, and only one, of the [[armor.tbl#+Stored Value:|+Stored Value]], +Constant, or [[armor.tbl#+Value:|+Value]] entries is required per [[armor.tbl#+Calculation:|+Calculation]].&lt;br /&gt;
&lt;br /&gt;
*Syntax:&#039;&#039;&#039;String&#039;&#039;&#039;&lt;br /&gt;
*Valid Values:&lt;br /&gt;
**&#039;&#039;&#039;base damage&#039;&#039;&#039;&lt;br /&gt;
***The calculation shall use the base damage as defined by [[weapons.tbl#$Damage:|$Damage]]&lt;br /&gt;
***Note: if [[armor.tbl#+Difficulty Scale Type:|+Difficulty Scale Type]] is set to &amp;quot;first&amp;quot;, this returns the base damage times the difficulty scale factor&lt;br /&gt;
**&#039;&#039;&#039;current damage&#039;&#039;&#039;&lt;br /&gt;
***The calculation shall use the resulting value of the previous calculation as the input value for this calculation&lt;br /&gt;
**&#039;&#039;&#039;difficulty factor&#039;&#039;&#039;&lt;br /&gt;
***The calculation shall use the difficulty scale factor&lt;br /&gt;
**&#039;&#039;&#039;random&#039;&#039;&#039;&lt;br /&gt;
***The calculation shall use a random number that&#039;s anywhere between 0 and 1&lt;br /&gt;
**&#039;&#039;&#039;pi&#039;&#039;&#039;&lt;br /&gt;
***The calculation shall use the constant Pi (3.1415...)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=====+Value:=====&lt;br /&gt;
Defines the value used for the defined calculation.&lt;br /&gt;
*One, and only one, of the [[armor.tbl#+Stored Value:|+Stored Value]], [[armor.tbl#+Constant:|+Constant]], or +Value entries is required per [[armor.tbl#+Calculation:|+Calculation]].&lt;br /&gt;
&lt;br /&gt;
*Syntax: &#039;&#039;&#039;Float&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====+Shield Piercing Percentage:====&lt;br /&gt;
{{Table3611|&lt;br /&gt;
If a ship&#039;s shield is setup for this particular damage type (by using [[ship.tbl#$Shield Armor Type:|$Shield Armor Type]]), this entry defines the percentage of damage (resulting from the earlier calculations) that will be applied directly to the hull. This has the effect of damaging both the shield and hull for a single impact.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;Float&#039;&#039;&#039;&lt;br /&gt;
*Valid values: &#039;&#039;&#039;0&#039;&#039;&#039; to &#039;&#039;&#039;1&#039;&#039;&#039;, where 1 is 100%&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
====+Weapon Piercing Effect Start Limit:====&lt;br /&gt;
{{Table3612|&lt;br /&gt;
Defines the percentage of hull integrity at which weapon piercing effects are started&lt;br /&gt;
&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, value from 0 to 100}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====+Weapon Piercing Type:====&lt;br /&gt;
{{Table3612|&lt;br /&gt;
Defines the piercing type to use&lt;br /&gt;
&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Valid Values:&lt;br /&gt;
**&#039;&#039;&#039;none&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;default&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;retail&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====+Difficulty Scale Type:====&lt;br /&gt;
{{Table3615|&lt;br /&gt;
Dictates how/when the Difficulty damage multiplier is applied to the end result of all calculations&lt;br /&gt;
&lt;br /&gt;
*Syntax: &#039;&#039;&#039;String&#039;&#039;&#039;&lt;br /&gt;
*Valid Values:&lt;br /&gt;
**&#039;&#039;&#039;first&#039;&#039;&#039; - Difficulty damage multiplier is applied to the base damage before calculations&lt;br /&gt;
**&#039;&#039;&#039;last&#039;&#039;&#039; - Difficulty damage multiplier is applied to the result of the calculations&lt;br /&gt;
**&#039;&#039;&#039;manual&#039;&#039;&#039; - Difficulty damage multiplier is ignored, and is assumed to be handled elsewhere (such as in a LUA script or a sexp)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===$Flags:===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
Defines the flags affecting this armor type&lt;br /&gt;
&lt;br /&gt;
*Syntax: ( &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039; )&lt;br /&gt;
*Valid flags:&lt;br /&gt;
**&#039;&#039;&#039;ignore subsystem armor&#039;&#039;&#039;&lt;br /&gt;
***If set, FSO will use the hull&#039;s armor type against all damage to the subsystem, regardless of any armor type that the subsystem may have}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==#End==&lt;br /&gt;
Each #Armor Type section must end with #End, no exceptions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==List of Calculations==&lt;br /&gt;
The following is a list of valid strings to be used with [[armor.tbl#+Calculation:|+Calculation]].&lt;br /&gt;
{{Table3615|&lt;br /&gt;
Note: As of this version +Value may be substituted with +Stored Value or +Constant. Usage of +Value in this section is only for example purposes and is a stand in for whatever source you actually use.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;additive&#039;&#039;&#039;&lt;br /&gt;
**Adds [[armor.tbl#+Value:|+Value]] to the the current damage value&lt;br /&gt;
*&#039;&#039;&#039;multiplicative&#039;&#039;&#039;&lt;br /&gt;
**Multiplies the the current damage value by [[armor.tbl#+Value:|+Value]]&lt;br /&gt;
*&#039;&#039;&#039;exponential&#039;&#039;&#039;&lt;br /&gt;
**Raises the current damage value to the power of [[armor.tbl#+Value:|+Value]]&lt;br /&gt;
*&#039;&#039;&#039;exponential base&#039;&#039;&#039;&lt;br /&gt;
**Raises [[armor.tbl#+Value:|+Value]] to the power of the current damage value&lt;br /&gt;
*&#039;&#039;&#039;cutoff&#039;&#039;&#039;&lt;br /&gt;
**If the current damage value is &#039;&#039;&#039;&#039;&#039;less&#039;&#039;&#039;&#039;&#039; than [[armor.tbl#+Value:|+Value]], then the resulting damage value is 0.&lt;br /&gt;
*&#039;&#039;&#039;reverse cutoff&#039;&#039;&#039;&lt;br /&gt;
**If the current damage value is &#039;&#039;&#039;&#039;&#039;greater&#039;&#039;&#039;&#039;&#039; than [[armor.tbl#+Value:|+Value]], then the resulting damage value is 0.&lt;br /&gt;
*&#039;&#039;&#039;instant cutoff&#039;&#039;&#039;&lt;br /&gt;
**If the current damage value is &#039;&#039;&#039;&#039;&#039;less&#039;&#039;&#039;&#039;&#039; than the specified amount, then the resulting damage value is set to 0 and the engine ignores all following calculations&lt;br /&gt;
*&#039;&#039;&#039;instant reverse cutoff&#039;&#039;&#039;&lt;br /&gt;
**If the current damage value is &#039;&#039;&#039;&#039;&#039;greater&#039;&#039;&#039;&#039;&#039; than the specified amount, then the resulting damage value is set to 0 and the engine ignores all following calculations.&lt;br /&gt;
{{Table3615|&lt;br /&gt;
*&#039;&#039;&#039;cap&#039;&#039;&#039;&lt;br /&gt;
**If the current damage value is &#039;&#039;&#039;&#039;&#039;greater&#039;&#039;&#039;&#039;&#039; than [[armor.tbl#+Value:|+Value]], then the resulting damage value is [[armor.tbl#+Value:|+Value]].&lt;br /&gt;
*&#039;&#039;&#039;instant cap&#039;&#039;&#039;&lt;br /&gt;
**If the current damage value is &#039;&#039;&#039;&#039;&#039;greater&#039;&#039;&#039;&#039;&#039; than the specified amount, then the resulting damage value is set to [[armor.tbl#+Value:|+Value]] and the engine ignores all following calculations.&lt;br /&gt;
*&#039;&#039;&#039;set&#039;&#039;&#039;&lt;br /&gt;
**Sets the damage value to [[armor.tbl#+Value:|+Value]].&lt;br /&gt;
*&#039;&#039;&#039;store&#039;&#039;&#039;&lt;br /&gt;
**Stores the current damage value to a memory location specified by [[armor.tbl#+Value:|+Value]] (which is casted as an unsigned integer)&lt;br /&gt;
**Stored damage values may be used only in the calculations they are assigned, and are discarded after the calculations are finished&lt;br /&gt;
*&#039;&#039;&#039;load&#039;&#039;&#039;&lt;br /&gt;
**Loads the current damage value from a memory location specified by [[armor.tbl#+Value:|+Value]] (which is casted as an unsigned integer)&lt;br /&gt;
**Stored damage values may be used only in the calculations they are assigned, and are discarded after the calculations are finished&lt;br /&gt;
*&#039;&#039;&#039;random&#039;&#039;&#039;&lt;br /&gt;
**Randomizes the damage value to anything between the current damage value and the base damage value as defined by [[weapons.tbl#$Damage:|$Damage]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;[[armor.tbl]]&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#Armor Type&lt;br /&gt;
$Name: Reflective&lt;br /&gt;
;;This armor is made up of some kind of reflective material,&lt;br /&gt;
;;that deflects 1/4 of the energy from laser weapons back into space.&lt;br /&gt;
;;However, it is somewhat more fragile than typical hull materials,&lt;br /&gt;
;;and takes 1/3 more damage from weapons that use physical projectiles.&lt;br /&gt;
&lt;br /&gt;
$Damage Type: Laser&lt;br /&gt;
   +Calculation: Multiplicative&lt;br /&gt;
   +Value: 0.75&lt;br /&gt;
&lt;br /&gt;
$Damage Type: Kinetic&lt;br /&gt;
   +Calculation: Multiplicative&lt;br /&gt;
   +Value: 1.33&lt;br /&gt;
#End&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As you can see above, &amp;quot;Reflective&amp;quot; armor is dealt only 75% of the damage from laser weapons, but 133% of the damage from kinetic weapons. However, in order to activate the armor system, you must assign the armor type to the ships you want it to apply to, and damage types to the weapons you wish to use.&lt;br /&gt;
&lt;br /&gt;
The Thoth fighter seems like a good choice for this armor. Its speed and maneuverability give it the ability to evade missiles, and many direct-fire weapons are energy based. So, to give it this armor, you would add &amp;quot;$Armor Type:&amp;quot; to ships.tbl, under the &amp;quot;Thoth&amp;quot; entry:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;[[ships.tbl]]&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$Hitpoints:             200&lt;br /&gt;
$Armor Type:            Reflective&lt;br /&gt;
$Flags:                 ( &amp;quot;player_ship&amp;quot; &amp;quot;fighter&amp;quot; &amp;quot;in tech database&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
At this point, the Thoth will be equipped with Reflective armor. However, it will have no effect &#039;&#039;unlesss&#039;&#039; it is hit by a weapon with a &amp;quot;$Damage Type&amp;quot; that is defined in armor.tbl, under the &amp;quot;Reflective&amp;quot; armor entry. Otherwise, Freespace 2 would have no idea how to take into account the defined damage types.&lt;br /&gt;
&lt;br /&gt;
So, in the interests of time, here&#039;s how you would assign the &amp;quot;Laser&amp;quot; damage type to the [[GTW Subach HL-7|Subach HL-7]], and the &amp;quot;Kinetic&amp;quot; damage type to the [[GTM MX-64|Rockeye]].&lt;br /&gt;
&lt;br /&gt;
Under the Subach entry, you would add &amp;quot;$Damage Type&amp;quot; like so:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;[[weapons.tbl]]&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$Damage:          15&lt;br /&gt;
$Damage Type:           Laser&lt;br /&gt;
$Armor Factor:          0.9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Under the Rockeye entry, you would add &amp;quot;$Damage Type&amp;quot; like this:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;[[weapons.tbl]]&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$Damage:          45&lt;br /&gt;
$Damage Type:           Kinetic&lt;br /&gt;
$Armor Factor:          0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now, if you were to start &#039;&#039;FreeSpace 2&#039;&#039; with these modifications, you would find that the Thoth would take 3/4 as much damage from the [[GTW Subach HL-7|Subach HL-7]], 1/3 more damage from the [[GTM MX-64|Rockeye]], but normal damage from everything else. All other ships, not being equipped with any kind of armor, would also be dealt normal damage from all weapons, including the Rockeye and the Subach.&lt;br /&gt;
&lt;br /&gt;
[[Category:Tables]]&lt;/div&gt;</summary>
		<author><name>Nuke</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Armor.tbl&amp;diff=39684</id>
		<title>Armor.tbl</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Armor.tbl&amp;diff=39684"/>
		<updated>2012-08-29T22:25:12Z</updated>

		<summary type="html">&lt;p&gt;Nuke: more clairification in calculation type list&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SCP_table}}&lt;br /&gt;
&lt;br /&gt;
{{TableVersion|8629}}&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;armor.tbl&#039;&#039;&#039; stores data on FS2&#039;s as-of-now-simplistic armor system. It lets you define different damage types per armor. The reason for defining different damage types per armor is that armor may be damaged more/less by certain types of weapons. For example, a fire-retardant suit may offer excellent protection against a flamethrower but virtually none against bullets.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
It&#039;s important to note that the cumbersome +Calculation/+Value system used for defining calculations will, in the future, be [[deprecated]] in favor of a more efficient scripting system. However, the current system will be kept for backwards compatibility if any mods or campaigns choose to make use of the table.&lt;br /&gt;
&lt;br /&gt;
Please note that the spelling &#039;&#039;&#039;armour.tbl&#039;&#039;&#039; is currently not supported.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This table is one of the [[Modular Tables]] and can be extended with xxx-amr.tbm&lt;br /&gt;
&lt;br /&gt;
[[Tables|List of Tables]]&lt;br /&gt;
&lt;br /&gt;
==#Armor Type==&lt;br /&gt;
Each armor entry begins with &#039;&#039;&#039;#Armor Type&#039;&#039;&#039; and ends with &#039;&#039;&#039;#End&#039;&#039;&#039;. There may be multiple entries in armor.tbl.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Name:===&lt;br /&gt;
Defines the name of the armor type. The same name must be used in the [[ships.tbl#$Armor Type:|$Armor Type]] entry in order for that ship to use the armor type. Note that Shields may also have an armor type as designated by [[ships.tbl#$Shield Armor Type:|$Shield Armor Type]]&lt;br /&gt;
&lt;br /&gt;
*Syntax: &#039;&#039;&#039;String&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Damage Type:===&lt;br /&gt;
Defines the name for the damage type that is used for the armor type/damage type pairs.&lt;br /&gt;
*The same name must be used in the [[weapons.tbl#$Damage Type:|$Damage Type]] entry (for all weapons that have this damage type) so that the armor can be applied against that particular damage type.&lt;br /&gt;
*Each $Damage Type entry must have at least one [[armor.tbl#+Calculation:|+Calculation]] entry&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Syntax:&#039;&#039;&#039;String&#039;&#039;&#039;, name of the damage type&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====+Calculation:====&lt;br /&gt;
Defines the used calculation type.&lt;br /&gt;
*Calculations per damage types are possible&lt;br /&gt;
*Calculations are performed in the order they are defined in the armor.tbl (and -amr.tbm&#039;s)&lt;br /&gt;
**The &amp;quot;current damage value&amp;quot; is the result of the calculation before it&lt;br /&gt;
**The &amp;quot;current damage value&amp;quot; is initially equal to the [[weapons.tbl#$Damage:|$Damage]] value of the weapon that is impacting the armor (provided that the weapon has the same [[armor.tbl#$Damage Type:|$Damage Type]])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Syntax:&#039;&#039;&#039;String&#039;&#039;&#039;, name of the calculation type&lt;br /&gt;
*Valid strings: see [[armor.tbl#List of Calculations|List of Calculations]]&lt;br /&gt;
&lt;br /&gt;
{{Table3615|&lt;br /&gt;
Note that this must be followed by a +Stored Value:, a +Constant:, or a +Value: tag. but only one of the three. This will be the value used by the calculation, so only one source is allowed. &lt;br /&gt;
}}&lt;br /&gt;
=====+Stored Value:=====&lt;br /&gt;
{{Table3615|&lt;br /&gt;
The calculation shall use the value stored in the specified memory location (which is stored by a previous calculation)&lt;br /&gt;
*One, and only one, of the +Stored Value, [[armor.tbl#+Constant:|+Constant]], or [[armor.tbl#+Value:|+Value]] entries is required per [[armor.tbl#+Calculation:|+Calculation]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Syntax:&#039;&#039;&#039;Unsigned integer&#039;&#039;&#039;&lt;br /&gt;
*Valid Values: 0 through 7&lt;br /&gt;
**Values greater than 7 are possible, but are not guaranteed to work as of (Rev 8629)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=====+Constant:=====&lt;br /&gt;
{{Table3615|&lt;br /&gt;
The calculation shall use a constant float value, that&#039;s internally defined in FSO.&lt;br /&gt;
*One, and only one, of the [[armor.tbl#+Stored Value:|+Stored Value]], +Constant, or [[armor.tbl#+Value:|+Value]] entries is required per [[armor.tbl#+Calculation:|+Calculation]].&lt;br /&gt;
&lt;br /&gt;
*Syntax:&#039;&#039;&#039;String&#039;&#039;&#039;&lt;br /&gt;
*Valid Values:&lt;br /&gt;
**&#039;&#039;&#039;base damage&#039;&#039;&#039;&lt;br /&gt;
***The calculation shall use the base damage as defined by [[weapons.tbl#$Damage:|$Damage]]&lt;br /&gt;
***Note: if [[armor.tbl#+Difficulty Scale Type:|+Difficulty Scale Type]] is set to &amp;quot;first&amp;quot;, this returns the base damage times the difficulty scale factor&lt;br /&gt;
**&#039;&#039;&#039;current damage&#039;&#039;&#039;&lt;br /&gt;
***The calculation shall use the resulting value of the previous calculation as the input value for this calculation&lt;br /&gt;
**&#039;&#039;&#039;difficulty factor&#039;&#039;&#039;&lt;br /&gt;
***The calculation shall use the difficulty scale factor&lt;br /&gt;
**&#039;&#039;&#039;random&#039;&#039;&#039;&lt;br /&gt;
***The calculation shall use a random number that&#039;s anywhere between 0 and 1&lt;br /&gt;
**&#039;&#039;&#039;pi&#039;&#039;&#039;&lt;br /&gt;
***The calculation shall use the constant Pi (3.1415...)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=====+Value:=====&lt;br /&gt;
Defines the value used for the defined calculation.&lt;br /&gt;
*One, and only one, of the [[armor.tbl#+Stored Value:|+Stored Value]], [[armor.tbl#+Constant:|+Constant]], or +Value entries is required per [[armor.tbl#+Calculation:|+Calculation]].&lt;br /&gt;
&lt;br /&gt;
*Syntax: &#039;&#039;&#039;Float&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====+Shield Piercing Percentage:====&lt;br /&gt;
{{Table3611|&lt;br /&gt;
If a ship&#039;s shield is setup for this particular damage type (by using [[ship.tbl#$Shield Armor Type:|$Shield Armor Type]]), this entry defines the percentage of damage (resulting from the earlier calculations) that will be applied directly to the hull. This has the effect of damaging both the shield and hull for a single impact.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;Float&#039;&#039;&#039;&lt;br /&gt;
*Valid values: &#039;&#039;&#039;0&#039;&#039;&#039; to &#039;&#039;&#039;1&#039;&#039;&#039;, where 1 is 100%&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
====+Weapon Piercing Effect Start Limit:====&lt;br /&gt;
{{Table3612|&lt;br /&gt;
Defines the percentage of hull integrity at which weapon piercing effects are started&lt;br /&gt;
&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, value from 0 to 100}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====+Weapon Piercing Type:====&lt;br /&gt;
{{Table3612|&lt;br /&gt;
Defines the piercing type to use&lt;br /&gt;
&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Valid Values:&lt;br /&gt;
**&#039;&#039;&#039;none&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;default&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;retail&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====+Difficulty Scale Type:====&lt;br /&gt;
{{Table3615|&lt;br /&gt;
Dictates how/when the Difficulty damage multiplier is applied to the end result of all calculations&lt;br /&gt;
&lt;br /&gt;
*Syntax: &#039;&#039;&#039;String&#039;&#039;&#039;&lt;br /&gt;
*Valid Values:&lt;br /&gt;
**&#039;&#039;&#039;first&#039;&#039;&#039; - Difficulty damage multiplier is applied to the base damage before calculations&lt;br /&gt;
**&#039;&#039;&#039;last&#039;&#039;&#039; - Difficulty damage multiplier is applied to the result of the calculations&lt;br /&gt;
**&#039;&#039;&#039;manual&#039;&#039;&#039; - Difficulty damage multiplier is ignored, and is assumed to be handled elsewhere (such as in a LUA script or a sexp)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===$Flags:===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
Defines the flags affecting this armor type&lt;br /&gt;
&lt;br /&gt;
*Syntax: ( &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039; )&lt;br /&gt;
*Valid flags:&lt;br /&gt;
**&#039;&#039;&#039;ignore subsystem armor&#039;&#039;&#039;&lt;br /&gt;
***If set, FSO will use the hull&#039;s armor type against all damage to the subsystem, regardless of any armor type that the subsystem may have}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==#End==&lt;br /&gt;
Each #Armor Type section must end with #End, no exceptions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==List of Calculations==&lt;br /&gt;
The following is a list of valid strings to be used with [[armor.tbl#+Calculation:|+Calculation]].&lt;br /&gt;
{{Table3615|&lt;br /&gt;
Note: As of this version +Value may be substituted with +Stored Value or $Constant. Usage of +Value in this section is only for example purposes and is a stand in for whatever source you actually use.&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;additive&#039;&#039;&#039;&lt;br /&gt;
**Adds [[armor.tbl#+Value:|+Value]] to the the current damage value&lt;br /&gt;
*&#039;&#039;&#039;multiplicative&#039;&#039;&#039;&lt;br /&gt;
**Multiplies the the current damage value by [[armor.tbl#+Value:|+Value]]&lt;br /&gt;
*&#039;&#039;&#039;exponential&#039;&#039;&#039;&lt;br /&gt;
**Raises the current damage value to the power of [[armor.tbl#+Value:|+Value]]&lt;br /&gt;
*&#039;&#039;&#039;exponential base&#039;&#039;&#039;&lt;br /&gt;
**Raises [[armor.tbl#+Value:|+Value]] to the power of the current damage value&lt;br /&gt;
*&#039;&#039;&#039;cutoff&#039;&#039;&#039;&lt;br /&gt;
**If the current damage value is &#039;&#039;&#039;&#039;&#039;less&#039;&#039;&#039;&#039;&#039; than [[armor.tbl#+Value:|+Value]], then the resulting damage value is 0.&lt;br /&gt;
*&#039;&#039;&#039;reverse cutoff&#039;&#039;&#039;&lt;br /&gt;
**If the current damage value is &#039;&#039;&#039;&#039;&#039;greater&#039;&#039;&#039;&#039;&#039; than [[armor.tbl#+Value:|+Value]], then the resulting damage value is 0.&lt;br /&gt;
*&#039;&#039;&#039;instant cutoff&#039;&#039;&#039;&lt;br /&gt;
**If the current damage value is &#039;&#039;&#039;&#039;&#039;less&#039;&#039;&#039;&#039;&#039; than the specified amount, then the resulting damage value is set to 0 and the engine ignores all following calculations&lt;br /&gt;
*&#039;&#039;&#039;instant reverse cutoff&#039;&#039;&#039;&lt;br /&gt;
**If the current damage value is &#039;&#039;&#039;&#039;&#039;greater&#039;&#039;&#039;&#039;&#039; than the specified amount, then the resulting damage value is set to 0 and the engine ignores all following calculations.&lt;br /&gt;
{{Table3615|&lt;br /&gt;
*&#039;&#039;&#039;cap&#039;&#039;&#039;&lt;br /&gt;
**If the current damage value is &#039;&#039;&#039;&#039;&#039;greater&#039;&#039;&#039;&#039;&#039; than [[armor.tbl#+Value:|+Value]], then the resulting damage value is [[armor.tbl#+Value:|+Value]].&lt;br /&gt;
*&#039;&#039;&#039;instant cap&#039;&#039;&#039;&lt;br /&gt;
**If the current damage value is &#039;&#039;&#039;&#039;&#039;greater&#039;&#039;&#039;&#039;&#039; than the specified amount, then the resulting damage value is set to [[armor.tbl#+Value:|+Value]] and the engine ignores all following calculations.&lt;br /&gt;
*&#039;&#039;&#039;set&#039;&#039;&#039;&lt;br /&gt;
**Sets the damage value to [[armor.tbl#+Value:|+Value]].&lt;br /&gt;
*&#039;&#039;&#039;store&#039;&#039;&#039;&lt;br /&gt;
**Stores the current damage value to a memory location specified by [[armor.tbl#+Value:|+Value]] (which is casted as an unsigned integer)&lt;br /&gt;
**Stored damage values may be used only in the calculations they are assigned, and are discarded after the calculations are finished&lt;br /&gt;
*&#039;&#039;&#039;load&#039;&#039;&#039;&lt;br /&gt;
**Loads the current damage value from a memory location specified by [[armor.tbl#+Value:|+Value]] (which is casted as an unsigned integer)&lt;br /&gt;
**Stored damage values may be used only in the calculations they are assigned, and are discarded after the calculations are finished&lt;br /&gt;
*&#039;&#039;&#039;random&#039;&#039;&#039;&lt;br /&gt;
**Randomizes the damage value to anything between the current damage value and the base damage value as defined by [[weapons.tbl#$Damage:|$Damage]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;[[armor.tbl]]&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#Armor Type&lt;br /&gt;
$Name: Reflective&lt;br /&gt;
;;This armor is made up of some kind of reflective material,&lt;br /&gt;
;;that deflects 1/4 of the energy from laser weapons back into space.&lt;br /&gt;
;;However, it is somewhat more fragile than typical hull materials,&lt;br /&gt;
;;and takes 1/3 more damage from weapons that use physical projectiles.&lt;br /&gt;
&lt;br /&gt;
$Damage Type: Laser&lt;br /&gt;
   +Calculation: Multiplicative&lt;br /&gt;
   +Value: 0.75&lt;br /&gt;
&lt;br /&gt;
$Damage Type: Kinetic&lt;br /&gt;
   +Calculation: Multiplicative&lt;br /&gt;
   +Value: 1.33&lt;br /&gt;
#End&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As you can see above, &amp;quot;Reflective&amp;quot; armor is dealt only 75% of the damage from laser weapons, but 133% of the damage from kinetic weapons. However, in order to activate the armor system, you must assign the armor type to the ships you want it to apply to, and damage types to the weapons you wish to use.&lt;br /&gt;
&lt;br /&gt;
The Thoth fighter seems like a good choice for this armor. Its speed and maneuverability give it the ability to evade missiles, and many direct-fire weapons are energy based. So, to give it this armor, you would add &amp;quot;$Armor Type:&amp;quot; to ships.tbl, under the &amp;quot;Thoth&amp;quot; entry:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;[[ships.tbl]]&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$Hitpoints:             200&lt;br /&gt;
$Armor Type:            Reflective&lt;br /&gt;
$Flags:                 ( &amp;quot;player_ship&amp;quot; &amp;quot;fighter&amp;quot; &amp;quot;in tech database&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
At this point, the Thoth will be equipped with Reflective armor. However, it will have no effect &#039;&#039;unlesss&#039;&#039; it is hit by a weapon with a &amp;quot;$Damage Type&amp;quot; that is defined in armor.tbl, under the &amp;quot;Reflective&amp;quot; armor entry. Otherwise, Freespace 2 would have no idea how to take into account the defined damage types.&lt;br /&gt;
&lt;br /&gt;
So, in the interests of time, here&#039;s how you would assign the &amp;quot;Laser&amp;quot; damage type to the [[GTW Subach HL-7|Subach HL-7]], and the &amp;quot;Kinetic&amp;quot; damage type to the [[GTM MX-64|Rockeye]].&lt;br /&gt;
&lt;br /&gt;
Under the Subach entry, you would add &amp;quot;$Damage Type&amp;quot; like so:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;[[weapons.tbl]]&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$Damage:          15&lt;br /&gt;
$Damage Type:           Laser&lt;br /&gt;
$Armor Factor:          0.9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Under the Rockeye entry, you would add &amp;quot;$Damage Type&amp;quot; like this:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;[[weapons.tbl]]&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$Damage:          45&lt;br /&gt;
$Damage Type:           Kinetic&lt;br /&gt;
$Armor Factor:          0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now, if you were to start &#039;&#039;FreeSpace 2&#039;&#039; with these modifications, you would find that the Thoth would take 3/4 as much damage from the [[GTW Subach HL-7|Subach HL-7]], 1/3 more damage from the [[GTM MX-64|Rockeye]], but normal damage from everything else. All other ships, not being equipped with any kind of armor, would also be dealt normal damage from all weapons, including the Rockeye and the Subach.&lt;br /&gt;
&lt;br /&gt;
[[Category:Tables]]&lt;/div&gt;</summary>
		<author><name>Nuke</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Armor.tbl&amp;diff=39683</id>
		<title>Armor.tbl</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Armor.tbl&amp;diff=39683"/>
		<updated>2012-08-29T22:15:14Z</updated>

		<summary type="html">&lt;p&gt;Nuke: clairification of alternate +value: sources&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SCP_table}}&lt;br /&gt;
&lt;br /&gt;
{{TableVersion|8629}}&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;armor.tbl&#039;&#039;&#039; stores data on FS2&#039;s as-of-now-simplistic armor system. It lets you define different damage types per armor. The reason for defining different damage types per armor is that armor may be damaged more/less by certain types of weapons. For example, a fire-retardant suit may offer excellent protection against a flamethrower but virtually none against bullets.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
It&#039;s important to note that the cumbersome +Calculation/+Value system used for defining calculations will, in the future, be [[deprecated]] in favor of a more efficient scripting system. However, the current system will be kept for backwards compatibility if any mods or campaigns choose to make use of the table.&lt;br /&gt;
&lt;br /&gt;
Please note that the spelling &#039;&#039;&#039;armour.tbl&#039;&#039;&#039; is currently not supported.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This table is one of the [[Modular Tables]] and can be extended with xxx-amr.tbm&lt;br /&gt;
&lt;br /&gt;
[[Tables|List of Tables]]&lt;br /&gt;
&lt;br /&gt;
==#Armor Type==&lt;br /&gt;
Each armor entry begins with &#039;&#039;&#039;#Armor Type&#039;&#039;&#039; and ends with &#039;&#039;&#039;#End&#039;&#039;&#039;. There may be multiple entries in armor.tbl.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Name:===&lt;br /&gt;
Defines the name of the armor type. The same name must be used in the [[ships.tbl#$Armor Type:|$Armor Type]] entry in order for that ship to use the armor type. Note that Shields may also have an armor type as designated by [[ships.tbl#$Shield Armor Type:|$Shield Armor Type]]&lt;br /&gt;
&lt;br /&gt;
*Syntax: &#039;&#039;&#039;String&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Damage Type:===&lt;br /&gt;
Defines the name for the damage type that is used for the armor type/damage type pairs.&lt;br /&gt;
*The same name must be used in the [[weapons.tbl#$Damage Type:|$Damage Type]] entry (for all weapons that have this damage type) so that the armor can be applied against that particular damage type.&lt;br /&gt;
*Each $Damage Type entry must have at least one [[armor.tbl#+Calculation:|+Calculation]] entry&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Syntax:&#039;&#039;&#039;String&#039;&#039;&#039;, name of the damage type&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====+Calculation:====&lt;br /&gt;
Defines the used calculation type.&lt;br /&gt;
*Calculations per damage types are possible&lt;br /&gt;
*Calculations are performed in the order they are defined in the armor.tbl (and -amr.tbm&#039;s)&lt;br /&gt;
**The &amp;quot;current damage value&amp;quot; is the result of the calculation before it&lt;br /&gt;
**The &amp;quot;current damage value&amp;quot; is initially equal to the [[weapons.tbl#$Damage:|$Damage]] value of the weapon that is impacting the armor (provided that the weapon has the same [[armor.tbl#$Damage Type:|$Damage Type]])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Syntax:&#039;&#039;&#039;String&#039;&#039;&#039;, name of the calculation type&lt;br /&gt;
*Valid strings: see [[armor.tbl#List of Calculations|List of Calculations]]&lt;br /&gt;
&lt;br /&gt;
{{Table3615|&lt;br /&gt;
Note that this must be followed by a +Stored Value:, a +Constant:, or a +Value: tag. but only one of the three. This will be the value used by the calculation, so only one source is allowed. &lt;br /&gt;
}}&lt;br /&gt;
=====+Stored Value:=====&lt;br /&gt;
{{Table3615|&lt;br /&gt;
The calculation shall use the value stored in the specified memory location (which is stored by a previous calculation)&lt;br /&gt;
*One, and only one, of the +Stored Value, [[armor.tbl#+Constant:|+Constant]], or [[armor.tbl#+Value:|+Value]] entries is required per [[armor.tbl#+Calculation:|+Calculation]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Syntax:&#039;&#039;&#039;Unsigned integer&#039;&#039;&#039;&lt;br /&gt;
*Valid Values: 0 through 7&lt;br /&gt;
**Values greater than 7 are possible, but are not guaranteed to work as of (Rev 8629)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=====+Constant:=====&lt;br /&gt;
{{Table3615|&lt;br /&gt;
The calculation shall use a constant float value, that&#039;s internally defined in FSO.&lt;br /&gt;
*One, and only one, of the [[armor.tbl#+Stored Value:|+Stored Value]], +Constant, or [[armor.tbl#+Value:|+Value]] entries is required per [[armor.tbl#+Calculation:|+Calculation]].&lt;br /&gt;
&lt;br /&gt;
*Syntax:&#039;&#039;&#039;String&#039;&#039;&#039;&lt;br /&gt;
*Valid Values:&lt;br /&gt;
**&#039;&#039;&#039;base damage&#039;&#039;&#039;&lt;br /&gt;
***The calculation shall use the base damage as defined by [[weapons.tbl#$Damage:|$Damage]]&lt;br /&gt;
***Note: if [[armor.tbl#+Difficulty Scale Type:|+Difficulty Scale Type]] is set to &amp;quot;first&amp;quot;, this returns the base damage times the difficulty scale factor&lt;br /&gt;
**&#039;&#039;&#039;current damage&#039;&#039;&#039;&lt;br /&gt;
***The calculation shall use the resulting value of the previous calculation as the input value for this calculation&lt;br /&gt;
**&#039;&#039;&#039;difficulty factor&#039;&#039;&#039;&lt;br /&gt;
***The calculation shall use the difficulty scale factor&lt;br /&gt;
**&#039;&#039;&#039;random&#039;&#039;&#039;&lt;br /&gt;
***The calculation shall use a random number that&#039;s anywhere between 0 and 1&lt;br /&gt;
**&#039;&#039;&#039;pi&#039;&#039;&#039;&lt;br /&gt;
***The calculation shall use the constant Pi (3.1415...)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=====+Value:=====&lt;br /&gt;
Defines the value used for the defined calculation.&lt;br /&gt;
*One, and only one, of the [[armor.tbl#+Stored Value:|+Stored Value]], [[armor.tbl#+Constant:|+Constant]], or +Value entries is required per [[armor.tbl#+Calculation:|+Calculation]].&lt;br /&gt;
&lt;br /&gt;
*Syntax: &#039;&#039;&#039;Float&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====+Shield Piercing Percentage:====&lt;br /&gt;
{{Table3611|&lt;br /&gt;
If a ship&#039;s shield is setup for this particular damage type (by using [[ship.tbl#$Shield Armor Type:|$Shield Armor Type]]), this entry defines the percentage of damage (resulting from the earlier calculations) that will be applied directly to the hull. This has the effect of damaging both the shield and hull for a single impact.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;Float&#039;&#039;&#039;&lt;br /&gt;
*Valid values: &#039;&#039;&#039;0&#039;&#039;&#039; to &#039;&#039;&#039;1&#039;&#039;&#039;, where 1 is 100%&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
====+Weapon Piercing Effect Start Limit:====&lt;br /&gt;
{{Table3612|&lt;br /&gt;
Defines the percentage of hull integrity at which weapon piercing effects are started&lt;br /&gt;
&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, value from 0 to 100}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====+Weapon Piercing Type:====&lt;br /&gt;
{{Table3612|&lt;br /&gt;
Defines the piercing type to use&lt;br /&gt;
&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Valid Values:&lt;br /&gt;
**&#039;&#039;&#039;none&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;default&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;retail&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====+Difficulty Scale Type:====&lt;br /&gt;
{{Table3615|&lt;br /&gt;
Dictates how/when the Difficulty damage multiplier is applied to the end result of all calculations&lt;br /&gt;
&lt;br /&gt;
*Syntax: &#039;&#039;&#039;String&#039;&#039;&#039;&lt;br /&gt;
*Valid Values:&lt;br /&gt;
**&#039;&#039;&#039;first&#039;&#039;&#039; - Difficulty damage multiplier is applied to the base damage before calculations&lt;br /&gt;
**&#039;&#039;&#039;last&#039;&#039;&#039; - Difficulty damage multiplier is applied to the result of the calculations&lt;br /&gt;
**&#039;&#039;&#039;manual&#039;&#039;&#039; - Difficulty damage multiplier is ignored, and is assumed to be handled elsewhere (such as in a LUA script or a sexp)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===$Flags:===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
Defines the flags affecting this armor type&lt;br /&gt;
&lt;br /&gt;
*Syntax: ( &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039; )&lt;br /&gt;
*Valid flags:&lt;br /&gt;
**&#039;&#039;&#039;ignore subsystem armor&#039;&#039;&#039;&lt;br /&gt;
***If set, FSO will use the hull&#039;s armor type against all damage to the subsystem, regardless of any armor type that the subsystem may have}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==#End==&lt;br /&gt;
Each #Armor Type section must end with #End, no exceptions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==List of Calculations==&lt;br /&gt;
The following is a list of valid strings to be used with [[armor.tbl#+Calculation:|+Calculation]].&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;additive&#039;&#039;&#039;&lt;br /&gt;
**Adds [[armor.tbl#+Value:|+Value]] to the the current damage value&lt;br /&gt;
*&#039;&#039;&#039;multiplicative&#039;&#039;&#039;&lt;br /&gt;
**Multiplies the the current damage value by [[armor.tbl#+Value:|+Value]]&lt;br /&gt;
*&#039;&#039;&#039;exponential&#039;&#039;&#039;&lt;br /&gt;
**Raises the current damage value to the power of [[armor.tbl#+Value:|+Value]]&lt;br /&gt;
*&#039;&#039;&#039;exponential base&#039;&#039;&#039;&lt;br /&gt;
**Raises [[armor.tbl#+Value:|+Value]] to the power of the current damage value&lt;br /&gt;
*&#039;&#039;&#039;cutoff&#039;&#039;&#039;&lt;br /&gt;
**If the current damage value is &#039;&#039;&#039;&#039;&#039;less&#039;&#039;&#039;&#039;&#039; than [[armor.tbl#+Value:|+Value]], then the resulting damage value is 0.&lt;br /&gt;
*&#039;&#039;&#039;reverse cutoff&#039;&#039;&#039;&lt;br /&gt;
**If the current damage value is &#039;&#039;&#039;&#039;&#039;greater&#039;&#039;&#039;&#039;&#039; than [[armor.tbl#+Value:|+Value]], then the resulting damage value is 0.&lt;br /&gt;
*&#039;&#039;&#039;instant cutoff&#039;&#039;&#039;&lt;br /&gt;
**If the current damage value is &#039;&#039;&#039;&#039;&#039;less&#039;&#039;&#039;&#039;&#039; than the specified amount, then the resulting damage value is set to 0 and the engine ignores all following calculations&lt;br /&gt;
*&#039;&#039;&#039;instant reverse cutoff&#039;&#039;&#039;&lt;br /&gt;
**If the current damage value is &#039;&#039;&#039;&#039;&#039;greater&#039;&#039;&#039;&#039;&#039; than the specified amount, then the resulting damage value is set to 0 and the engine ignores all following calculations.&lt;br /&gt;
{{Table3615|&lt;br /&gt;
*&#039;&#039;&#039;cap&#039;&#039;&#039;&lt;br /&gt;
**If the current damage value is &#039;&#039;&#039;&#039;&#039;greater&#039;&#039;&#039;&#039;&#039; than [[armor.tbl#+Value:|+Value]], then the resulting damage value is [[armor.tbl#+Value:|+Value]].&lt;br /&gt;
*&#039;&#039;&#039;instant cap&#039;&#039;&#039;&lt;br /&gt;
**If the current damage value is &#039;&#039;&#039;&#039;&#039;greater&#039;&#039;&#039;&#039;&#039; than the specified amount, then the resulting damage value is set to [[armor.tbl#+Value:|+Value]] and the engine ignores all following calculations.&lt;br /&gt;
*&#039;&#039;&#039;set&#039;&#039;&#039;&lt;br /&gt;
**Sets the damage value to [[armor.tbl#+Value:|+Value]].&lt;br /&gt;
*&#039;&#039;&#039;store&#039;&#039;&#039;&lt;br /&gt;
**Stores the current damage value to a memory location specified by [[armor.tbl#+Value:|+Value]] (which is casted as an unsigned integer)&lt;br /&gt;
**Stored damage values may be used only in the calculations they are assigned, and are discarded after the calculations are finished&lt;br /&gt;
*&#039;&#039;&#039;load&#039;&#039;&#039;&lt;br /&gt;
**Loads the current damage value from a memory location specified by [[armor.tbl#+Value:|+Value]] (which is casted as an unsigned integer)&lt;br /&gt;
**Stored damage values may be used only in the calculations they are assigned, and are discarded after the calculations are finished&lt;br /&gt;
*&#039;&#039;&#039;random&#039;&#039;&#039;&lt;br /&gt;
**Randomizes the damage value to anything between the current damage value and the base damage value as defined by [[weapons.tbl#$Damage:|$Damage]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;[[armor.tbl]]&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#Armor Type&lt;br /&gt;
$Name: Reflective&lt;br /&gt;
;;This armor is made up of some kind of reflective material,&lt;br /&gt;
;;that deflects 1/4 of the energy from laser weapons back into space.&lt;br /&gt;
;;However, it is somewhat more fragile than typical hull materials,&lt;br /&gt;
;;and takes 1/3 more damage from weapons that use physical projectiles.&lt;br /&gt;
&lt;br /&gt;
$Damage Type: Laser&lt;br /&gt;
   +Calculation: Multiplicative&lt;br /&gt;
   +Value: 0.75&lt;br /&gt;
&lt;br /&gt;
$Damage Type: Kinetic&lt;br /&gt;
   +Calculation: Multiplicative&lt;br /&gt;
   +Value: 1.33&lt;br /&gt;
#End&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As you can see above, &amp;quot;Reflective&amp;quot; armor is dealt only 75% of the damage from laser weapons, but 133% of the damage from kinetic weapons. However, in order to activate the armor system, you must assign the armor type to the ships you want it to apply to, and damage types to the weapons you wish to use.&lt;br /&gt;
&lt;br /&gt;
The Thoth fighter seems like a good choice for this armor. Its speed and maneuverability give it the ability to evade missiles, and many direct-fire weapons are energy based. So, to give it this armor, you would add &amp;quot;$Armor Type:&amp;quot; to ships.tbl, under the &amp;quot;Thoth&amp;quot; entry:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;[[ships.tbl]]&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$Hitpoints:             200&lt;br /&gt;
$Armor Type:            Reflective&lt;br /&gt;
$Flags:                 ( &amp;quot;player_ship&amp;quot; &amp;quot;fighter&amp;quot; &amp;quot;in tech database&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
At this point, the Thoth will be equipped with Reflective armor. However, it will have no effect &#039;&#039;unlesss&#039;&#039; it is hit by a weapon with a &amp;quot;$Damage Type&amp;quot; that is defined in armor.tbl, under the &amp;quot;Reflective&amp;quot; armor entry. Otherwise, Freespace 2 would have no idea how to take into account the defined damage types.&lt;br /&gt;
&lt;br /&gt;
So, in the interests of time, here&#039;s how you would assign the &amp;quot;Laser&amp;quot; damage type to the [[GTW Subach HL-7|Subach HL-7]], and the &amp;quot;Kinetic&amp;quot; damage type to the [[GTM MX-64|Rockeye]].&lt;br /&gt;
&lt;br /&gt;
Under the Subach entry, you would add &amp;quot;$Damage Type&amp;quot; like so:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;[[weapons.tbl]]&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$Damage:          15&lt;br /&gt;
$Damage Type:           Laser&lt;br /&gt;
$Armor Factor:          0.9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Under the Rockeye entry, you would add &amp;quot;$Damage Type&amp;quot; like this:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;[[weapons.tbl]]&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$Damage:          45&lt;br /&gt;
$Damage Type:           Kinetic&lt;br /&gt;
$Armor Factor:          0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now, if you were to start &#039;&#039;FreeSpace 2&#039;&#039; with these modifications, you would find that the Thoth would take 3/4 as much damage from the [[GTW Subach HL-7|Subach HL-7]], 1/3 more damage from the [[GTM MX-64|Rockeye]], but normal damage from everything else. All other ships, not being equipped with any kind of armor, would also be dealt normal damage from all weapons, including the Rockeye and the Subach.&lt;br /&gt;
&lt;br /&gt;
[[Category:Tables]]&lt;/div&gt;</summary>
		<author><name>Nuke</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Armor.tbl&amp;diff=39682</id>
		<title>Armor.tbl</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Armor.tbl&amp;diff=39682"/>
		<updated>2012-08-29T22:01:58Z</updated>

		<summary type="html">&lt;p&gt;Nuke: fixed glitch on entry +Shield Piercing Percentage: that caused the discription to not show&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SCP_table}}&lt;br /&gt;
&lt;br /&gt;
{{TableVersion|8629}}&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;armor.tbl&#039;&#039;&#039; stores data on FS2&#039;s as-of-now-simplistic armor system. It lets you define different damage types per armor. The reason for defining different damage types per armor is that armor may be damaged more/less by certain types of weapons. For example, a fire-retardant suit may offer excellent protection against a flamethrower but virtually none against bullets.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
It&#039;s important to note that the cumbersome +Calculation/+Value system used for defining calculations will, in the future, be [[deprecated]] in favor of a more efficient scripting system. However, the current system will be kept for backwards compatibility if any mods or campaigns choose to make use of the table.&lt;br /&gt;
&lt;br /&gt;
Please note that the spelling &#039;&#039;&#039;armour.tbl&#039;&#039;&#039; is currently not supported.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This table is one of the [[Modular Tables]] and can be extended with xxx-amr.tbm&lt;br /&gt;
&lt;br /&gt;
[[Tables|List of Tables]]&lt;br /&gt;
&lt;br /&gt;
==#Armor Type==&lt;br /&gt;
Each armor entry begins with &#039;&#039;&#039;#Armor Type&#039;&#039;&#039; and ends with &#039;&#039;&#039;#End&#039;&#039;&#039;. There may be multiple entries in armor.tbl.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Name:===&lt;br /&gt;
Defines the name of the armor type. The same name must be used in the [[ships.tbl#$Armor Type:|$Armor Type]] entry in order for that ship to use the armor type. Note that Shields may also have an armor type as designated by [[ships.tbl#$Shield Armor Type:|$Shield Armor Type]]&lt;br /&gt;
&lt;br /&gt;
*Syntax: &#039;&#039;&#039;String&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Damage Type:===&lt;br /&gt;
Defines the name for the damage type that is used for the armor type/damage type pairs.&lt;br /&gt;
*The same name must be used in the [[weapons.tbl#$Damage Type:|$Damage Type]] entry (for all weapons that have this damage type) so that the armor can be applied against that particular damage type.&lt;br /&gt;
*Each $Damage Type entry must have at least one [[armor.tbl#+Calculation:|+Calculation]] entry&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Syntax:&#039;&#039;&#039;String&#039;&#039;&#039;, name of the damage type&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====+Calculation:====&lt;br /&gt;
Defines the used calculation type.&lt;br /&gt;
*Calculations per damage types are possible&lt;br /&gt;
*Calculations are performed in the order they are defined in the armor.tbl (and -amr.tbm&#039;s)&lt;br /&gt;
**The &amp;quot;current damage value&amp;quot; is the result of the calculation before it&lt;br /&gt;
**The &amp;quot;current damage value&amp;quot; is initially equal to the [[weapons.tbl#$Damage:|$Damage]] value of the weapon that is impacting the armor (provided that the weapon has the same [[armor.tbl#$Damage Type:|$Damage Type]])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Syntax:&#039;&#039;&#039;String&#039;&#039;&#039;, name of the calculation type&lt;br /&gt;
*Valid strings: see [[armor.tbl#List of Calculations|List of Calculations]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====+Stored Value:=====&lt;br /&gt;
{{Table3615|&lt;br /&gt;
The calculation shall use the value stored in the specified memory location (which is stored by a previous calculation)&lt;br /&gt;
*One, and only one, of the +Stored Value, [[armor.tbl#+Constant:|+Constant]], or [[armor.tbl#+Value:|+Value]] entries is required per [[armor.tbl#+Calculation:|+Calculation]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Syntax:&#039;&#039;&#039;Unsigned integer&#039;&#039;&#039;&lt;br /&gt;
*Valid Values: 0 through 7&lt;br /&gt;
**Values greater than 7 are possible, but are not guaranteed to work as of (Rev 8629)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=====+Constant:=====&lt;br /&gt;
{{Table3615|&lt;br /&gt;
The calculation shall use a constant float value, that&#039;s internally defined in FSO.&lt;br /&gt;
*One, and only one, of the [[armor.tbl#+Stored Value:|+Stored Value]], +Constant, or [[armor.tbl#+Value:|+Value]] entries is required per [[armor.tbl#+Calculation:|+Calculation]].&lt;br /&gt;
&lt;br /&gt;
*Syntax:&#039;&#039;&#039;String&#039;&#039;&#039;&lt;br /&gt;
*Valid Values:&lt;br /&gt;
**&#039;&#039;&#039;base damage&#039;&#039;&#039;&lt;br /&gt;
***The calculation shall use the base damage as defined by [[weapons.tbl#$Damage:|$Damage]]&lt;br /&gt;
***Note: if [[armor.tbl#+Difficulty Scale Type:|+Difficulty Scale Type]] is set to &amp;quot;first&amp;quot;, this returns the base damage times the difficulty scale factor&lt;br /&gt;
**&#039;&#039;&#039;current damage&#039;&#039;&#039;&lt;br /&gt;
***The calculation shall use the resulting value of the previous calculation as the input value for this calculation&lt;br /&gt;
**&#039;&#039;&#039;difficulty factor&#039;&#039;&#039;&lt;br /&gt;
***The calculation shall use the difficulty scale factor&lt;br /&gt;
**&#039;&#039;&#039;random&#039;&#039;&#039;&lt;br /&gt;
***The calculation shall use a random number that&#039;s anywhere between 0 and 1&lt;br /&gt;
**&#039;&#039;&#039;pi&#039;&#039;&#039;&lt;br /&gt;
***The calculation shall use the constant Pi (3.1415...)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=====+Value:=====&lt;br /&gt;
Defines the value used for the defined calculation.&lt;br /&gt;
*One, and only one, of the [[armor.tbl#+Stored Value:|+Stored Value]], [[armor.tbl#+Constant:|+Constant]], or +Value entries is required per [[armor.tbl#+Calculation:|+Calculation]].&lt;br /&gt;
&lt;br /&gt;
*Syntax: &#039;&#039;&#039;Float&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====+Shield Piercing Percentage:====&lt;br /&gt;
{{Table3611|&lt;br /&gt;
If a ship&#039;s shield is setup for this particular damage type (by using [[ship.tbl#$Shield Armor Type:|$Shield Armor Type]]), this entry defines the percentage of damage (resulting from the earlier calculations) that will be applied directly to the hull. This has the effect of damaging both the shield and hull for a single impact.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;Float&#039;&#039;&#039;&lt;br /&gt;
*Valid values: &#039;&#039;&#039;0&#039;&#039;&#039; to &#039;&#039;&#039;1&#039;&#039;&#039;, where 1 is 100%&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
====+Weapon Piercing Effect Start Limit:====&lt;br /&gt;
{{Table3612|&lt;br /&gt;
Defines the percentage of hull integrity at which weapon piercing effects are started&lt;br /&gt;
&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, value from 0 to 100}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====+Weapon Piercing Type:====&lt;br /&gt;
{{Table3612|&lt;br /&gt;
Defines the piercing type to use&lt;br /&gt;
&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Valid Values:&lt;br /&gt;
**&#039;&#039;&#039;none&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;default&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;retail&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====+Difficulty Scale Type:====&lt;br /&gt;
{{Table3615|&lt;br /&gt;
Dictates how/when the Difficulty damage multiplier is applied to the end result of all calculations&lt;br /&gt;
&lt;br /&gt;
*Syntax: &#039;&#039;&#039;String&#039;&#039;&#039;&lt;br /&gt;
*Valid Values:&lt;br /&gt;
**&#039;&#039;&#039;first&#039;&#039;&#039; - Difficulty damage multiplier is applied to the base damage before calculations&lt;br /&gt;
**&#039;&#039;&#039;last&#039;&#039;&#039; - Difficulty damage multiplier is applied to the result of the calculations&lt;br /&gt;
**&#039;&#039;&#039;manual&#039;&#039;&#039; - Difficulty damage multiplier is ignored, and is assumed to be handled elsewhere (such as in a LUA script or a sexp)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===$Flags:===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
Defines the flags affecting this armor type&lt;br /&gt;
&lt;br /&gt;
*Syntax: ( &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039; )&lt;br /&gt;
*Valid flags:&lt;br /&gt;
**&#039;&#039;&#039;ignore subsystem armor&#039;&#039;&#039;&lt;br /&gt;
***If set, FSO will use the hull&#039;s armor type against all damage to the subsystem, regardless of any armor type that the subsystem may have}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==#End==&lt;br /&gt;
Each #Armor Type section must end with #End, no exceptions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==List of Calculations==&lt;br /&gt;
The following is a list of valid strings to be used with [[armor.tbl#+Calculation:|+Calculation]].&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;additive&#039;&#039;&#039;&lt;br /&gt;
**Adds [[armor.tbl#+Value:|+Value]] to the the current damage value&lt;br /&gt;
*&#039;&#039;&#039;multiplicative&#039;&#039;&#039;&lt;br /&gt;
**Multiplies the the current damage value by [[armor.tbl#+Value:|+Value]]&lt;br /&gt;
*&#039;&#039;&#039;exponential&#039;&#039;&#039;&lt;br /&gt;
**Raises the current damage value to the power of [[armor.tbl#+Value:|+Value]]&lt;br /&gt;
*&#039;&#039;&#039;exponential base&#039;&#039;&#039;&lt;br /&gt;
**Raises [[armor.tbl#+Value:|+Value]] to the power of the current damage value&lt;br /&gt;
*&#039;&#039;&#039;cutoff&#039;&#039;&#039;&lt;br /&gt;
**If the current damage value is &#039;&#039;&#039;&#039;&#039;less&#039;&#039;&#039;&#039;&#039; than [[armor.tbl#+Value:|+Value]], then the resulting damage value is 0.&lt;br /&gt;
*&#039;&#039;&#039;reverse cutoff&#039;&#039;&#039;&lt;br /&gt;
**If the current damage value is &#039;&#039;&#039;&#039;&#039;greater&#039;&#039;&#039;&#039;&#039; than [[armor.tbl#+Value:|+Value]], then the resulting damage value is 0.&lt;br /&gt;
*&#039;&#039;&#039;instant cutoff&#039;&#039;&#039;&lt;br /&gt;
**If the current damage value is &#039;&#039;&#039;&#039;&#039;less&#039;&#039;&#039;&#039;&#039; than the specified amount, then the resulting damage value is set to 0 and the engine ignores all following calculations&lt;br /&gt;
*&#039;&#039;&#039;instant reverse cutoff&#039;&#039;&#039;&lt;br /&gt;
**If the current damage value is &#039;&#039;&#039;&#039;&#039;greater&#039;&#039;&#039;&#039;&#039; than the specified amount, then the resulting damage value is set to 0 and the engine ignores all following calculations.&lt;br /&gt;
{{Table3615|&lt;br /&gt;
*&#039;&#039;&#039;cap&#039;&#039;&#039;&lt;br /&gt;
**If the current damage value is &#039;&#039;&#039;&#039;&#039;greater&#039;&#039;&#039;&#039;&#039; than [[armor.tbl#+Value:|+Value]], then the resulting damage value is [[armor.tbl#+Value:|+Value]].&lt;br /&gt;
*&#039;&#039;&#039;instant cap&#039;&#039;&#039;&lt;br /&gt;
**If the current damage value is &#039;&#039;&#039;&#039;&#039;greater&#039;&#039;&#039;&#039;&#039; than the specified amount, then the resulting damage value is set to [[armor.tbl#+Value:|+Value]] and the engine ignores all following calculations.&lt;br /&gt;
*&#039;&#039;&#039;set&#039;&#039;&#039;&lt;br /&gt;
**Sets the damage value to [[armor.tbl#+Value:|+Value]].&lt;br /&gt;
*&#039;&#039;&#039;store&#039;&#039;&#039;&lt;br /&gt;
**Stores the current damage value to a memory location specified by [[armor.tbl#+Value:|+Value]] (which is casted as an unsigned integer)&lt;br /&gt;
**Stored damage values may be used only in the calculations they are assigned, and are discarded after the calculations are finished&lt;br /&gt;
*&#039;&#039;&#039;load&#039;&#039;&#039;&lt;br /&gt;
**Loads the current damage value from a memory location specified by [[armor.tbl#+Value:|+Value]] (which is casted as an unsigned integer)&lt;br /&gt;
**Stored damage values may be used only in the calculations they are assigned, and are discarded after the calculations are finished&lt;br /&gt;
*&#039;&#039;&#039;random&#039;&#039;&#039;&lt;br /&gt;
**Randomizes the damage value to anything between the current damage value and the base damage value as defined by [[weapons.tbl#$Damage:|$Damage]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;[[armor.tbl]]&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#Armor Type&lt;br /&gt;
$Name: Reflective&lt;br /&gt;
;;This armor is made up of some kind of reflective material,&lt;br /&gt;
;;that deflects 1/4 of the energy from laser weapons back into space.&lt;br /&gt;
;;However, it is somewhat more fragile than typical hull materials,&lt;br /&gt;
;;and takes 1/3 more damage from weapons that use physical projectiles.&lt;br /&gt;
&lt;br /&gt;
$Damage Type: Laser&lt;br /&gt;
   +Calculation: Multiplicative&lt;br /&gt;
   +Value: 0.75&lt;br /&gt;
&lt;br /&gt;
$Damage Type: Kinetic&lt;br /&gt;
   +Calculation: Multiplicative&lt;br /&gt;
   +Value: 1.33&lt;br /&gt;
#End&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As you can see above, &amp;quot;Reflective&amp;quot; armor is dealt only 75% of the damage from laser weapons, but 133% of the damage from kinetic weapons. However, in order to activate the armor system, you must assign the armor type to the ships you want it to apply to, and damage types to the weapons you wish to use.&lt;br /&gt;
&lt;br /&gt;
The Thoth fighter seems like a good choice for this armor. Its speed and maneuverability give it the ability to evade missiles, and many direct-fire weapons are energy based. So, to give it this armor, you would add &amp;quot;$Armor Type:&amp;quot; to ships.tbl, under the &amp;quot;Thoth&amp;quot; entry:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;[[ships.tbl]]&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$Hitpoints:             200&lt;br /&gt;
$Armor Type:            Reflective&lt;br /&gt;
$Flags:                 ( &amp;quot;player_ship&amp;quot; &amp;quot;fighter&amp;quot; &amp;quot;in tech database&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
At this point, the Thoth will be equipped with Reflective armor. However, it will have no effect &#039;&#039;unlesss&#039;&#039; it is hit by a weapon with a &amp;quot;$Damage Type&amp;quot; that is defined in armor.tbl, under the &amp;quot;Reflective&amp;quot; armor entry. Otherwise, Freespace 2 would have no idea how to take into account the defined damage types.&lt;br /&gt;
&lt;br /&gt;
So, in the interests of time, here&#039;s how you would assign the &amp;quot;Laser&amp;quot; damage type to the [[GTW Subach HL-7|Subach HL-7]], and the &amp;quot;Kinetic&amp;quot; damage type to the [[GTM MX-64|Rockeye]].&lt;br /&gt;
&lt;br /&gt;
Under the Subach entry, you would add &amp;quot;$Damage Type&amp;quot; like so:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;[[weapons.tbl]]&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$Damage:          15&lt;br /&gt;
$Damage Type:           Laser&lt;br /&gt;
$Armor Factor:          0.9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Under the Rockeye entry, you would add &amp;quot;$Damage Type&amp;quot; like this:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;[[weapons.tbl]]&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$Damage:          45&lt;br /&gt;
$Damage Type:           Kinetic&lt;br /&gt;
$Armor Factor:          0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now, if you were to start &#039;&#039;FreeSpace 2&#039;&#039; with these modifications, you would find that the Thoth would take 3/4 as much damage from the [[GTW Subach HL-7|Subach HL-7]], 1/3 more damage from the [[GTM MX-64|Rockeye]], but normal damage from everything else. All other ships, not being equipped with any kind of armor, would also be dealt normal damage from all weapons, including the Rockeye and the Subach.&lt;br /&gt;
&lt;br /&gt;
[[Category:Tables]]&lt;/div&gt;</summary>
		<author><name>Nuke</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Armor.tbl&amp;diff=39681</id>
		<title>Armor.tbl</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Armor.tbl&amp;diff=39681"/>
		<updated>2012-08-29T21:47:05Z</updated>

		<summary type="html">&lt;p&gt;Nuke: marked new armor table features as 3.6.15 to clairify that they are not available in the 3.6.14 release candidates/builds (not that these features were available in some latter 3.6.13 nightlies)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SCP_table}}&lt;br /&gt;
&lt;br /&gt;
{{TableVersion|8629}}&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;armor.tbl&#039;&#039;&#039; stores data on FS2&#039;s as-of-now-simplistic armor system. It lets you define different damage types per armor. The reason for defining different damage types per armor is that armor may be damaged more/less by certain types of weapons. For example, a fire-retardant suit may offer excellent protection against a flamethrower but virtually none against bullets.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
It&#039;s important to note that the cumbersome +Calculation/+Value system used for defining calculations will, in the future, be [[deprecated]] in favor of a more efficient scripting system. However, the current system will be kept for backwards compatibility if any mods or campaigns choose to make use of the table.&lt;br /&gt;
&lt;br /&gt;
Please note that the spelling &#039;&#039;&#039;armour.tbl&#039;&#039;&#039; is currently not supported.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This table is one of the [[Modular Tables]] and can be extended with xxx-amr.tbm&lt;br /&gt;
&lt;br /&gt;
[[Tables|List of Tables]]&lt;br /&gt;
&lt;br /&gt;
==#Armor Type==&lt;br /&gt;
Each armor entry begins with &#039;&#039;&#039;#Armor Type&#039;&#039;&#039; and ends with &#039;&#039;&#039;#End&#039;&#039;&#039;. There may be multiple entries in armor.tbl.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Name:===&lt;br /&gt;
Defines the name of the armor type. The same name must be used in the [[ships.tbl#$Armor Type:|$Armor Type]] entry in order for that ship to use the armor type. Note that Shields may also have an armor type as designated by [[ships.tbl#$Shield Armor Type:|$Shield Armor Type]]&lt;br /&gt;
&lt;br /&gt;
*Syntax: &#039;&#039;&#039;String&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Damage Type:===&lt;br /&gt;
Defines the name for the damage type that is used for the armor type/damage type pairs.&lt;br /&gt;
*The same name must be used in the [[weapons.tbl#$Damage Type:|$Damage Type]] entry (for all weapons that have this damage type) so that the armor can be applied against that particular damage type.&lt;br /&gt;
*Each $Damage Type entry must have at least one [[armor.tbl#+Calculation:|+Calculation]] entry&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Syntax:&#039;&#039;&#039;String&#039;&#039;&#039;, name of the damage type&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====+Calculation:====&lt;br /&gt;
Defines the used calculation type.&lt;br /&gt;
*Calculations per damage types are possible&lt;br /&gt;
*Calculations are performed in the order they are defined in the armor.tbl (and -amr.tbm&#039;s)&lt;br /&gt;
**The &amp;quot;current damage value&amp;quot; is the result of the calculation before it&lt;br /&gt;
**The &amp;quot;current damage value&amp;quot; is initially equal to the [[weapons.tbl#$Damage:|$Damage]] value of the weapon that is impacting the armor (provided that the weapon has the same [[armor.tbl#$Damage Type:|$Damage Type]])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Syntax:&#039;&#039;&#039;String&#039;&#039;&#039;, name of the calculation type&lt;br /&gt;
*Valid strings: see [[armor.tbl#List of Calculations|List of Calculations]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====+Stored Value:=====&lt;br /&gt;
{{Table3615|&lt;br /&gt;
The calculation shall use the value stored in the specified memory location (which is stored by a previous calculation)&lt;br /&gt;
*One, and only one, of the +Stored Value, [[armor.tbl#+Constant:|+Constant]], or [[armor.tbl#+Value:|+Value]] entries is required per [[armor.tbl#+Calculation:|+Calculation]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Syntax:&#039;&#039;&#039;Unsigned integer&#039;&#039;&#039;&lt;br /&gt;
*Valid Values: 0 through 7&lt;br /&gt;
**Values greater than 7 are possible, but are not guaranteed to work as of (Rev 8629)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=====+Constant:=====&lt;br /&gt;
{{Table3615|&lt;br /&gt;
The calculation shall use a constant float value, that&#039;s internally defined in FSO.&lt;br /&gt;
*One, and only one, of the [[armor.tbl#+Stored Value:|+Stored Value]], +Constant, or [[armor.tbl#+Value:|+Value]] entries is required per [[armor.tbl#+Calculation:|+Calculation]].&lt;br /&gt;
&lt;br /&gt;
*Syntax:&#039;&#039;&#039;String&#039;&#039;&#039;&lt;br /&gt;
*Valid Values:&lt;br /&gt;
**&#039;&#039;&#039;base damage&#039;&#039;&#039;&lt;br /&gt;
***The calculation shall use the base damage as defined by [[weapons.tbl#$Damage:|$Damage]]&lt;br /&gt;
***Note: if [[armor.tbl#+Difficulty Scale Type:|+Difficulty Scale Type]] is set to &amp;quot;first&amp;quot;, this returns the base damage times the difficulty scale factor&lt;br /&gt;
**&#039;&#039;&#039;current damage&#039;&#039;&#039;&lt;br /&gt;
***The calculation shall use the resulting value of the previous calculation as the input value for this calculation&lt;br /&gt;
**&#039;&#039;&#039;difficulty factor&#039;&#039;&#039;&lt;br /&gt;
***The calculation shall use the difficulty scale factor&lt;br /&gt;
**&#039;&#039;&#039;random&#039;&#039;&#039;&lt;br /&gt;
***The calculation shall use a random number that&#039;s anywhere between 0 and 1&lt;br /&gt;
**&#039;&#039;&#039;pi&#039;&#039;&#039;&lt;br /&gt;
***The calculation shall use the constant Pi (3.1415...)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=====+Value:=====&lt;br /&gt;
Defines the value used for the defined calculation.&lt;br /&gt;
*One, and only one, of the [[armor.tbl#+Stored Value:|+Stored Value]], [[armor.tbl#+Constant:|+Constant]], or +Value entries is required per [[armor.tbl#+Calculation:|+Calculation]].&lt;br /&gt;
&lt;br /&gt;
*Syntax: &#039;&#039;&#039;Float&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====+Shield Piercing Percentage:====&lt;br /&gt;
{{Table3611|&lt;br /&gt;
If a ship&#039;s shield is setup for this particular damage type (by using [[ship.tbl#$Shield Armor Type:|$Shield Armor Type]]), this entry defines the percentage of damage (resulting from the earlier calculations) that will be applied directly to the hull. This has the effect of damaging both the shield and hull for a single impact.&lt;br /&gt;
&lt;br /&gt;
*Syntax: &#039;&#039;&#039;Float&#039;&#039;&#039;&lt;br /&gt;
*Valid values: &#039;&#039;&#039;0&#039;&#039;&#039; to &#039;&#039;&#039;1&#039;&#039;&#039;, where 1 = 100%}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====+Weapon Piercing Effect Start Limit:====&lt;br /&gt;
{{Table3612|&lt;br /&gt;
Defines the percentage of hull integrity at which weapon piercing effects are started&lt;br /&gt;
&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, value from 0 to 100}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====+Weapon Piercing Type:====&lt;br /&gt;
{{Table3612|&lt;br /&gt;
Defines the piercing type to use&lt;br /&gt;
&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Valid Values:&lt;br /&gt;
**&#039;&#039;&#039;none&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;default&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;retail&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====+Difficulty Scale Type:====&lt;br /&gt;
{{Table3615|&lt;br /&gt;
Dictates how/when the Difficulty damage multiplier is applied to the end result of all calculations&lt;br /&gt;
&lt;br /&gt;
*Syntax: &#039;&#039;&#039;String&#039;&#039;&#039;&lt;br /&gt;
*Valid Values:&lt;br /&gt;
**&#039;&#039;&#039;first&#039;&#039;&#039; - Difficulty damage multiplier is applied to the base damage before calculations&lt;br /&gt;
**&#039;&#039;&#039;last&#039;&#039;&#039; - Difficulty damage multiplier is applied to the result of the calculations&lt;br /&gt;
**&#039;&#039;&#039;manual&#039;&#039;&#039; - Difficulty damage multiplier is ignored, and is assumed to be handled elsewhere (such as in a LUA script or a sexp)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===$Flags:===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
Defines the flags affecting this armor type&lt;br /&gt;
&lt;br /&gt;
*Syntax: ( &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039; )&lt;br /&gt;
*Valid flags:&lt;br /&gt;
**&#039;&#039;&#039;ignore subsystem armor&#039;&#039;&#039;&lt;br /&gt;
***If set, FSO will use the hull&#039;s armor type against all damage to the subsystem, regardless of any armor type that the subsystem may have}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==#End==&lt;br /&gt;
Each #Armor Type section must end with #End, no exceptions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==List of Calculations==&lt;br /&gt;
The following is a list of valid strings to be used with [[armor.tbl#+Calculation:|+Calculation]].&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;additive&#039;&#039;&#039;&lt;br /&gt;
**Adds [[armor.tbl#+Value:|+Value]] to the the current damage value&lt;br /&gt;
*&#039;&#039;&#039;multiplicative&#039;&#039;&#039;&lt;br /&gt;
**Multiplies the the current damage value by [[armor.tbl#+Value:|+Value]]&lt;br /&gt;
*&#039;&#039;&#039;exponential&#039;&#039;&#039;&lt;br /&gt;
**Raises the current damage value to the power of [[armor.tbl#+Value:|+Value]]&lt;br /&gt;
*&#039;&#039;&#039;exponential base&#039;&#039;&#039;&lt;br /&gt;
**Raises [[armor.tbl#+Value:|+Value]] to the power of the current damage value&lt;br /&gt;
*&#039;&#039;&#039;cutoff&#039;&#039;&#039;&lt;br /&gt;
**If the current damage value is &#039;&#039;&#039;&#039;&#039;less&#039;&#039;&#039;&#039;&#039; than [[armor.tbl#+Value:|+Value]], then the resulting damage value is 0.&lt;br /&gt;
*&#039;&#039;&#039;reverse cutoff&#039;&#039;&#039;&lt;br /&gt;
**If the current damage value is &#039;&#039;&#039;&#039;&#039;greater&#039;&#039;&#039;&#039;&#039; than [[armor.tbl#+Value:|+Value]], then the resulting damage value is 0.&lt;br /&gt;
*&#039;&#039;&#039;instant cutoff&#039;&#039;&#039;&lt;br /&gt;
**If the current damage value is &#039;&#039;&#039;&#039;&#039;less&#039;&#039;&#039;&#039;&#039; than the specified amount, then the resulting damage value is set to 0 and the engine ignores all following calculations&lt;br /&gt;
*&#039;&#039;&#039;instant reverse cutoff&#039;&#039;&#039;&lt;br /&gt;
**If the current damage value is &#039;&#039;&#039;&#039;&#039;greater&#039;&#039;&#039;&#039;&#039; than the specified amount, then the resulting damage value is set to 0 and the engine ignores all following calculations.&lt;br /&gt;
{{Table3615|&lt;br /&gt;
*&#039;&#039;&#039;cap&#039;&#039;&#039;&lt;br /&gt;
**If the current damage value is &#039;&#039;&#039;&#039;&#039;greater&#039;&#039;&#039;&#039;&#039; than [[armor.tbl#+Value:|+Value]], then the resulting damage value is [[armor.tbl#+Value:|+Value]].&lt;br /&gt;
*&#039;&#039;&#039;instant cap&#039;&#039;&#039;&lt;br /&gt;
**If the current damage value is &#039;&#039;&#039;&#039;&#039;greater&#039;&#039;&#039;&#039;&#039; than the specified amount, then the resulting damage value is set to [[armor.tbl#+Value:|+Value]] and the engine ignores all following calculations.&lt;br /&gt;
*&#039;&#039;&#039;set&#039;&#039;&#039;&lt;br /&gt;
**Sets the damage value to [[armor.tbl#+Value:|+Value]].&lt;br /&gt;
*&#039;&#039;&#039;store&#039;&#039;&#039;&lt;br /&gt;
**Stores the current damage value to a memory location specified by [[armor.tbl#+Value:|+Value]] (which is casted as an unsigned integer)&lt;br /&gt;
**Stored damage values may be used only in the calculations they are assigned, and are discarded after the calculations are finished&lt;br /&gt;
*&#039;&#039;&#039;load&#039;&#039;&#039;&lt;br /&gt;
**Loads the current damage value from a memory location specified by [[armor.tbl#+Value:|+Value]] (which is casted as an unsigned integer)&lt;br /&gt;
**Stored damage values may be used only in the calculations they are assigned, and are discarded after the calculations are finished&lt;br /&gt;
*&#039;&#039;&#039;random&#039;&#039;&#039;&lt;br /&gt;
**Randomizes the damage value to anything between the current damage value and the base damage value as defined by [[weapons.tbl#$Damage:|$Damage]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;[[armor.tbl]]&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#Armor Type&lt;br /&gt;
$Name: Reflective&lt;br /&gt;
;;This armor is made up of some kind of reflective material,&lt;br /&gt;
;;that deflects 1/4 of the energy from laser weapons back into space.&lt;br /&gt;
;;However, it is somewhat more fragile than typical hull materials,&lt;br /&gt;
;;and takes 1/3 more damage from weapons that use physical projectiles.&lt;br /&gt;
&lt;br /&gt;
$Damage Type: Laser&lt;br /&gt;
   +Calculation: Multiplicative&lt;br /&gt;
   +Value: 0.75&lt;br /&gt;
&lt;br /&gt;
$Damage Type: Kinetic&lt;br /&gt;
   +Calculation: Multiplicative&lt;br /&gt;
   +Value: 1.33&lt;br /&gt;
#End&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As you can see above, &amp;quot;Reflective&amp;quot; armor is dealt only 75% of the damage from laser weapons, but 133% of the damage from kinetic weapons. However, in order to activate the armor system, you must assign the armor type to the ships you want it to apply to, and damage types to the weapons you wish to use.&lt;br /&gt;
&lt;br /&gt;
The Thoth fighter seems like a good choice for this armor. Its speed and maneuverability give it the ability to evade missiles, and many direct-fire weapons are energy based. So, to give it this armor, you would add &amp;quot;$Armor Type:&amp;quot; to ships.tbl, under the &amp;quot;Thoth&amp;quot; entry:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;[[ships.tbl]]&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$Hitpoints:             200&lt;br /&gt;
$Armor Type:            Reflective&lt;br /&gt;
$Flags:                 ( &amp;quot;player_ship&amp;quot; &amp;quot;fighter&amp;quot; &amp;quot;in tech database&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
At this point, the Thoth will be equipped with Reflective armor. However, it will have no effect &#039;&#039;unlesss&#039;&#039; it is hit by a weapon with a &amp;quot;$Damage Type&amp;quot; that is defined in armor.tbl, under the &amp;quot;Reflective&amp;quot; armor entry. Otherwise, Freespace 2 would have no idea how to take into account the defined damage types.&lt;br /&gt;
&lt;br /&gt;
So, in the interests of time, here&#039;s how you would assign the &amp;quot;Laser&amp;quot; damage type to the [[GTW Subach HL-7|Subach HL-7]], and the &amp;quot;Kinetic&amp;quot; damage type to the [[GTM MX-64|Rockeye]].&lt;br /&gt;
&lt;br /&gt;
Under the Subach entry, you would add &amp;quot;$Damage Type&amp;quot; like so:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;[[weapons.tbl]]&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$Damage:          15&lt;br /&gt;
$Damage Type:           Laser&lt;br /&gt;
$Armor Factor:          0.9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Under the Rockeye entry, you would add &amp;quot;$Damage Type&amp;quot; like this:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;[[weapons.tbl]]&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$Damage:          45&lt;br /&gt;
$Damage Type:           Kinetic&lt;br /&gt;
$Armor Factor:          0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now, if you were to start &#039;&#039;FreeSpace 2&#039;&#039; with these modifications, you would find that the Thoth would take 3/4 as much damage from the [[GTW Subach HL-7|Subach HL-7]], 1/3 more damage from the [[GTM MX-64|Rockeye]], but normal damage from everything else. All other ships, not being equipped with any kind of armor, would also be dealt normal damage from all weapons, including the Rockeye and the Subach.&lt;br /&gt;
&lt;br /&gt;
[[Category:Tables]]&lt;/div&gt;</summary>
		<author><name>Nuke</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Armor.tbl&amp;diff=39680</id>
		<title>Armor.tbl</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Armor.tbl&amp;diff=39680"/>
		<updated>2012-08-29T21:43:51Z</updated>

		<summary type="html">&lt;p&gt;Nuke: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{SCP_table}}&lt;br /&gt;
&lt;br /&gt;
{{TableVersion|8629}}&lt;br /&gt;
&lt;br /&gt;
The &#039;&#039;&#039;armor.tbl&#039;&#039;&#039; stores data on FS2&#039;s as-of-now-simplistic armor system. It lets you define different damage types per armor. The reason for defining different damage types per armor is that armor may be damaged more/less by certain types of weapons. For example, a fire-retardant suit may offer excellent protection against a flamethrower but virtually none against bullets.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
It&#039;s important to note that the cumbersome +Calculation/+Value system used for defining calculations will, in the future, be [[deprecated]] in favor of a more efficient scripting system. However, the current system will be kept for backwards compatibility if any mods or campaigns choose to make use of the table.&lt;br /&gt;
&lt;br /&gt;
Please note that the spelling &#039;&#039;&#039;armour.tbl&#039;&#039;&#039; is currently not supported.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This table is one of the [[Modular Tables]] and can be extended with xxx-amr.tbm&lt;br /&gt;
&lt;br /&gt;
[[Tables|List of Tables]]&lt;br /&gt;
&lt;br /&gt;
==#Armor Type==&lt;br /&gt;
Each armor entry begins with &#039;&#039;&#039;#Armor Type&#039;&#039;&#039; and ends with &#039;&#039;&#039;#End&#039;&#039;&#039;. There may be multiple entries in armor.tbl.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Name:===&lt;br /&gt;
Defines the name of the armor type. The same name must be used in the [[ships.tbl#$Armor Type:|$Armor Type]] entry in order for that ship to use the armor type. Note that Shields may also have an armor type as designated by [[ships.tbl#$Shield Armor Type:|$Shield Armor Type]]&lt;br /&gt;
&lt;br /&gt;
*Syntax: &#039;&#039;&#039;String&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Damage Type:===&lt;br /&gt;
Defines the name for the damage type that is used for the armor type/damage type pairs.&lt;br /&gt;
*The same name must be used in the [[weapons.tbl#$Damage Type:|$Damage Type]] entry (for all weapons that have this damage type) so that the armor can be applied against that particular damage type.&lt;br /&gt;
*Each $Damage Type entry must have at least one [[armor.tbl#+Calculation:|+Calculation]] entry&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Syntax:&#039;&#039;&#039;String&#039;&#039;&#039;, name of the damage type&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====+Calculation:====&lt;br /&gt;
Defines the used calculation type.&lt;br /&gt;
*Calculations per damage types are possible&lt;br /&gt;
*Calculations are performed in the order they are defined in the armor.tbl (and -amr.tbm&#039;s)&lt;br /&gt;
**The &amp;quot;current damage value&amp;quot; is the result of the calculation before it&lt;br /&gt;
**The &amp;quot;current damage value&amp;quot; is initially equal to the [[weapons.tbl#$Damage:|$Damage]] value of the weapon that is impacting the armor (provided that the weapon has the same [[armor.tbl#$Damage Type:|$Damage Type]])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Syntax:&#039;&#039;&#039;String&#039;&#039;&#039;, name of the calculation type&lt;br /&gt;
*Valid strings: see [[armor.tbl#List of Calculations|List of Calculations]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=====+Stored Value:=====&lt;br /&gt;
{{Table3615|&lt;br /&gt;
The calculation shall use the value stored in the specified memory location (which is stored by a previous calculation)&lt;br /&gt;
*One, and only one, of the +Stored Value, [[armor.tbl#+Constant:|+Constant]], or [[armor.tbl#+Value:|+Value]] entries is required per [[armor.tbl#+Calculation:|+Calculation]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Syntax:&#039;&#039;&#039;Unsigned integer&#039;&#039;&#039;&lt;br /&gt;
*Valid Values: 0 through 7&lt;br /&gt;
**Values greater than 7 are possible, but are not guaranteed to work as of (Rev 8629)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=====+Constant:=====&lt;br /&gt;
{{Table3615|&lt;br /&gt;
The calculation shall use a constant float value, that&#039;s internally defined in FSO.&lt;br /&gt;
*One, and only one, of the [[armor.tbl#+Stored Value:|+Stored Value]], +Constant, or [[armor.tbl#+Value:|+Value]] entries is required per [[armor.tbl#+Calculation:|+Calculation]].&lt;br /&gt;
&lt;br /&gt;
*Syntax:&#039;&#039;&#039;String&#039;&#039;&#039;&lt;br /&gt;
*Valid Values:&lt;br /&gt;
**&#039;&#039;&#039;base damage&#039;&#039;&#039;&lt;br /&gt;
***The calculation shall use the base damage as defined by [[weapons.tbl#$Damage:|$Damage]]&lt;br /&gt;
***Note: if [[armor.tbl#+Difficulty Scale Type:|+Difficulty Scale Type]] is set to &amp;quot;first&amp;quot;, this returns the base damage times the difficulty scale factor&lt;br /&gt;
**&#039;&#039;&#039;current damage&#039;&#039;&#039;&lt;br /&gt;
***The calculation shall use the resulting value of the previous calculation as the input value for this calculation&lt;br /&gt;
**&#039;&#039;&#039;difficulty factor&#039;&#039;&#039;&lt;br /&gt;
***The calculation shall use the difficulty scale factor&lt;br /&gt;
**&#039;&#039;&#039;random&#039;&#039;&#039;&lt;br /&gt;
***The calculation shall use a random number that&#039;s anywhere between 0 and 1&lt;br /&gt;
**&#039;&#039;&#039;pi&#039;&#039;&#039;&lt;br /&gt;
***The calculation shall use the constant Pi (3.1415...)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=====+Value:=====&lt;br /&gt;
Defines the value used for the defined calculation.&lt;br /&gt;
*One, and only one, of the [[armor.tbl#+Stored Value:|+Stored Value]], [[armor.tbl#+Constant:|+Constant]], or +Value entries is required per [[armor.tbl#+Calculation:|+Calculation]].&lt;br /&gt;
&lt;br /&gt;
*Syntax: &#039;&#039;&#039;Float&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====+Shield Piercing Percentage:====&lt;br /&gt;
{{Table3611|&lt;br /&gt;
If a ship&#039;s shield is setup for this particular damage type (by using [[ship.tbl#$Shield Armor Type:|$Shield Armor Type]]), this entry defines the percentage of damage (resulting from the earlier calculations) that will be applied directly to the hull. This has the effect of damaging both the shield and hull for a single impact.&lt;br /&gt;
&lt;br /&gt;
*Syntax: &#039;&#039;&#039;Float&#039;&#039;&#039;&lt;br /&gt;
*Valid values: &#039;&#039;&#039;0&#039;&#039;&#039; to &#039;&#039;&#039;1&#039;&#039;&#039;, where 1 = 100%}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====+Weapon Piercing Effect Start Limit:====&lt;br /&gt;
{{Table3612|&lt;br /&gt;
Defines the percentage of hull integrity at which weapon piercing effects are started&lt;br /&gt;
&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, value from 0 to 100}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====+Weapon Piercing Type:====&lt;br /&gt;
{{Table3612|&lt;br /&gt;
Defines the piercing type to use&lt;br /&gt;
&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*Valid Values:&lt;br /&gt;
**&#039;&#039;&#039;none&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;default&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;retail&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====+Difficulty Scale Type:====&lt;br /&gt;
{{Table3615|&lt;br /&gt;
Dictates how/when the Difficulty damage multiplier is applied to the end result of all calculations&lt;br /&gt;
&lt;br /&gt;
*Syntax: &#039;&#039;&#039;String&#039;&#039;&#039;&lt;br /&gt;
*Valid Values:&lt;br /&gt;
**&#039;&#039;&#039;first&#039;&#039;&#039; - Difficulty damage multiplier is applied to the base damage before calculations&lt;br /&gt;
**&#039;&#039;&#039;last&#039;&#039;&#039; - Difficulty damage multiplier is applied to the result of the calculations&lt;br /&gt;
**&#039;&#039;&#039;manual&#039;&#039;&#039; - Difficulty damage multiplier is ignored, and is assumed to be handled elsewhere (such as in a LUA script or a sexp)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===$Flags:===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
Defines the flags affecting this armor type&lt;br /&gt;
&lt;br /&gt;
*Syntax: ( &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039; )&lt;br /&gt;
*Valid flags:&lt;br /&gt;
**&#039;&#039;&#039;ignore subsystem armor&#039;&#039;&#039;&lt;br /&gt;
***If set, FSO will use the hull&#039;s armor type against all damage to the subsystem, regardless of any armor type that the subsystem may have}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==#End==&lt;br /&gt;
Each #Armor Type section must end with #End, no exceptions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==List of Calculations==&lt;br /&gt;
The following is a list of valid strings to be used with [[armor.tbl#+Calculation:|+Calculation]].&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;additive&#039;&#039;&#039;&lt;br /&gt;
**Adds [[armor.tbl#+Value:|+Value]] to the the current damage value&lt;br /&gt;
*&#039;&#039;&#039;multiplicative&#039;&#039;&#039;&lt;br /&gt;
**Multiplies the the current damage value by [[armor.tbl#+Value:|+Value]]&lt;br /&gt;
*&#039;&#039;&#039;exponential&#039;&#039;&#039;&lt;br /&gt;
**Raises the current damage value to the power of [[armor.tbl#+Value:|+Value]]&lt;br /&gt;
*&#039;&#039;&#039;exponential base&#039;&#039;&#039;&lt;br /&gt;
**Raises [[armor.tbl#+Value:|+Value]] to the power of the current damage value&lt;br /&gt;
*&#039;&#039;&#039;cutoff&#039;&#039;&#039;&lt;br /&gt;
**If the current damage value is &#039;&#039;&#039;&#039;&#039;less&#039;&#039;&#039;&#039;&#039; than [[armor.tbl#+Value:|+Value]], then the resulting damage value is 0.&lt;br /&gt;
*&#039;&#039;&#039;reverse cutoff&#039;&#039;&#039;&lt;br /&gt;
**If the current damage value is &#039;&#039;&#039;&#039;&#039;greater&#039;&#039;&#039;&#039;&#039; than [[armor.tbl#+Value:|+Value]], then the resulting damage value is 0.&lt;br /&gt;
*&#039;&#039;&#039;instant cutoff&#039;&#039;&#039;&lt;br /&gt;
**If the current damage value is &#039;&#039;&#039;&#039;&#039;less&#039;&#039;&#039;&#039;&#039; than the specified amount, then the resulting damage value is set to 0 and the engine ignores all following calculations&lt;br /&gt;
*&#039;&#039;&#039;instant reverse cutoff&#039;&#039;&#039;&lt;br /&gt;
**If the current damage value is &#039;&#039;&#039;&#039;&#039;greater&#039;&#039;&#039;&#039;&#039; than the specified amount, then the resulting damage value is set to 0 and the engine ignores all following calculations.&lt;br /&gt;
*&#039;&#039;&#039;cap&#039;&#039;&#039;&lt;br /&gt;
**If the current damage value is &#039;&#039;&#039;&#039;&#039;greater&#039;&#039;&#039;&#039;&#039; than [[armor.tbl#+Value:|+Value]], then the resulting damage value is [[armor.tbl#+Value:|+Value]].&lt;br /&gt;
*&#039;&#039;&#039;instant cap&#039;&#039;&#039;&lt;br /&gt;
**If the current damage value is &#039;&#039;&#039;&#039;&#039;greater&#039;&#039;&#039;&#039;&#039; than the specified amount, then the resulting damage value is set to [[armor.tbl#+Value:|+Value]] and the engine ignores all following calculations.&lt;br /&gt;
*&#039;&#039;&#039;set&#039;&#039;&#039;&lt;br /&gt;
**Sets the damage value to [[armor.tbl#+Value:|+Value]].&lt;br /&gt;
*&#039;&#039;&#039;store&#039;&#039;&#039;&lt;br /&gt;
**Stores the current damage value to a memory location specified by [[armor.tbl#+Value:|+Value]] (which is casted as an unsigned integer)&lt;br /&gt;
**Stored damage values may be used only in the calculations they are assigned, and are discarded after the calculations are finished&lt;br /&gt;
*&#039;&#039;&#039;load&#039;&#039;&#039;&lt;br /&gt;
**Loads the current damage value from a memory location specified by [[armor.tbl#+Value:|+Value]] (which is casted as an unsigned integer)&lt;br /&gt;
**Stored damage values may be used only in the calculations they are assigned, and are discarded after the calculations are finished&lt;br /&gt;
*&#039;&#039;&#039;random&#039;&#039;&#039;&lt;br /&gt;
**Randomizes the damage value to anything between the current damage value and the base damage value as defined by [[weapons.tbl#$Damage:|$Damage]]&lt;br /&gt;
&lt;br /&gt;
==Example==&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;[[armor.tbl]]&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#Armor Type&lt;br /&gt;
$Name: Reflective&lt;br /&gt;
;;This armor is made up of some kind of reflective material,&lt;br /&gt;
;;that deflects 1/4 of the energy from laser weapons back into space.&lt;br /&gt;
;;However, it is somewhat more fragile than typical hull materials,&lt;br /&gt;
;;and takes 1/3 more damage from weapons that use physical projectiles.&lt;br /&gt;
&lt;br /&gt;
$Damage Type: Laser&lt;br /&gt;
   +Calculation: Multiplicative&lt;br /&gt;
   +Value: 0.75&lt;br /&gt;
&lt;br /&gt;
$Damage Type: Kinetic&lt;br /&gt;
   +Calculation: Multiplicative&lt;br /&gt;
   +Value: 1.33&lt;br /&gt;
#End&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
As you can see above, &amp;quot;Reflective&amp;quot; armor is dealt only 75% of the damage from laser weapons, but 133% of the damage from kinetic weapons. However, in order to activate the armor system, you must assign the armor type to the ships you want it to apply to, and damage types to the weapons you wish to use.&lt;br /&gt;
&lt;br /&gt;
The Thoth fighter seems like a good choice for this armor. Its speed and maneuverability give it the ability to evade missiles, and many direct-fire weapons are energy based. So, to give it this armor, you would add &amp;quot;$Armor Type:&amp;quot; to ships.tbl, under the &amp;quot;Thoth&amp;quot; entry:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;[[ships.tbl]]&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$Hitpoints:             200&lt;br /&gt;
$Armor Type:            Reflective&lt;br /&gt;
$Flags:                 ( &amp;quot;player_ship&amp;quot; &amp;quot;fighter&amp;quot; &amp;quot;in tech database&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
At this point, the Thoth will be equipped with Reflective armor. However, it will have no effect &#039;&#039;unlesss&#039;&#039; it is hit by a weapon with a &amp;quot;$Damage Type&amp;quot; that is defined in armor.tbl, under the &amp;quot;Reflective&amp;quot; armor entry. Otherwise, Freespace 2 would have no idea how to take into account the defined damage types.&lt;br /&gt;
&lt;br /&gt;
So, in the interests of time, here&#039;s how you would assign the &amp;quot;Laser&amp;quot; damage type to the [[GTW Subach HL-7|Subach HL-7]], and the &amp;quot;Kinetic&amp;quot; damage type to the [[GTM MX-64|Rockeye]].&lt;br /&gt;
&lt;br /&gt;
Under the Subach entry, you would add &amp;quot;$Damage Type&amp;quot; like so:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;[[weapons.tbl]]&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$Damage:          15&lt;br /&gt;
$Damage Type:           Laser&lt;br /&gt;
$Armor Factor:          0.9&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Under the Rockeye entry, you would add &amp;quot;$Damage Type&amp;quot; like this:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;[[weapons.tbl]]&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$Damage:          45&lt;br /&gt;
$Damage Type:           Kinetic&lt;br /&gt;
$Armor Factor:          0.1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Now, if you were to start &#039;&#039;FreeSpace 2&#039;&#039; with these modifications, you would find that the Thoth would take 3/4 as much damage from the [[GTW Subach HL-7|Subach HL-7]], 1/3 more damage from the [[GTM MX-64|Rockeye]], but normal damage from everything else. All other ships, not being equipped with any kind of armor, would also be dealt normal damage from all weapons, including the Rockeye and the Subach.&lt;br /&gt;
&lt;br /&gt;
[[Category:Tables]]&lt;/div&gt;</summary>
		<author><name>Nuke</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Engine_limitations&amp;diff=38842</id>
		<title>Engine limitations</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Engine_limitations&amp;diff=38842"/>
		<updated>2012-06-28T11:22:26Z</updated>

		<summary type="html">&lt;p&gt;Nuke: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The maximum numbers of certain types of entities that can exist in the FS2_Open engine. Please note that &#039;Inferno&#039; refers to INF builds, which are standard from 3.6.12 on.&lt;br /&gt;
&lt;br /&gt;
==General==&lt;br /&gt;
The overall limits of the various subsystem managers.&lt;br /&gt;
{| border=1 cellpadding=4 style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| style=&amp;quot;background:#351515; width:150px&amp;quot;| &#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;background:#300505;&amp;quot;| &#039;&#039;&#039;Limit&#039;&#039;&#039;&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Textures&lt;br /&gt;
| 4750&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Sound tracks&lt;br /&gt;
| 30&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Sounds &lt;br /&gt;
| No Limit&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Tables==&lt;br /&gt;
The maximum types of an entity that can exist in the table&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellpadding=4 style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| rowspan=2 style=&amp;quot;background:#351515; width:150px&amp;quot;| &#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
| colspan=2 style=&amp;quot;background:#300505;&amp;quot;| &#039;&#039;&#039;Limit&#039;&#039;&#039;&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| style=&amp;quot;background:#300505; width:75px&amp;quot;| &#039;&#039;&#039;Standard&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;background:#300505; width:75px&amp;quot;| &#039;&#039;&#039;Inferno&#039;&#039;&#039;&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [[Ships.tbl|Ship Classes]]&lt;br /&gt;
| 130&lt;br /&gt;
| 250&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [[Weapons.tbl|Weapon Classes]]&lt;br /&gt;
| 200&lt;br /&gt;
| 300&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Beam Sections&lt;br /&gt;
| colspan=2| 5&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Pspews Per Weapon&lt;br /&gt;
| colspan=2| 4&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [[Objecttypes.tbl|Object Types]]&lt;br /&gt;
| colspan=2| 16&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [[Iff_defs.tbl|IFFs]]&lt;br /&gt;
|  colspan=2|10&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [[Ai_profiles.tbl|AI Profiles]]&lt;br /&gt;
| colspan=2| 5&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [[Hud_gauges.tbl|Hud Gauges]]&lt;br /&gt;
| colspan=2| 64&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| [[Species.tbl|Intelligence Entries]]&lt;br /&gt;
| colspan=2| 75&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Debriefing&lt;br /&gt;
| colspan=2| 2,000 Characters per Stage&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Please Note - Although not hardcoded, there are limits to the numbers of [[Modular Tables|‎ .tbm files]] that the game will recognize.&lt;br /&gt;
&lt;br /&gt;
==Objects==&lt;br /&gt;
The maximum number of objects that can exist in a mission at any given time (except for ships and waypoints, which apply to the whole mission).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellpadding=4 style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| style=&amp;quot;background:#351515; width:150px&amp;quot;| &#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;background:#300505; width:75px&amp;quot;| &#039;&#039;&#039;Limit&#039;&#039;&#039;&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Objects&lt;br /&gt;
| 2000&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Ships&lt;br /&gt;
| 400&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Weapons&lt;br /&gt;
| 700&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Beams&lt;br /&gt;
| 500&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Waypoints Per Path&lt;br /&gt;
| 20&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Waypoint Paths&lt;br /&gt;
| 32&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Wings==&lt;br /&gt;
The maximum number wings or ships in a wing that can exist&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellpadding=4 style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| style=&amp;quot;background:#351515; width:150px&amp;quot;| &#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;background:#300505; width:75px&amp;quot;| &#039;&#039;&#039;Limit&#039;&#039;&#039;&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Wings&lt;br /&gt;
| 75&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Ships per Wing&lt;br /&gt;
| 6&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Starting Wings&lt;br /&gt;
| 3&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Squadron Wings&lt;br /&gt;
| 5&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| TvT Teams&lt;br /&gt;
| 2&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| TvT Wings per Team&lt;br /&gt;
| 1&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| TvT Wings&lt;br /&gt;
| 2&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Models==&lt;br /&gt;
The maximum number of models that can exist at one time&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellpadding=4 style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| rowspan=2 style=&amp;quot;background:#351515; width:150px&amp;quot;| &#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
| colspan=2 style=&amp;quot;background:#300505; width:75px&amp;quot;| &#039;&#039;&#039;Limit&#039;&#039;&#039;&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| style=&amp;quot;background:#300505; width:75px&amp;quot;| &#039;&#039;&#039;Standard&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;background:#300505; width:75px&amp;quot;| &#039;&#039;&#039;Inferno&#039;&#039;&#039;&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Polygon Models&lt;br /&gt;
| 128&lt;br /&gt;
| 300&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The maximum number of a certain entity that can exist within a model&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellpadding=4 style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| style=&amp;quot;background:#351515; width:150px&amp;quot;| &#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;background:#300505; width:75px&amp;quot;| &#039;&#039;&#039;Limit&#039;&#039;&#039;&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Textures&lt;br /&gt;
| 64&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Ship Primary Banks&lt;br /&gt;
| 3&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Ship Secondary Banks&lt;br /&gt;
| 4&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Firing Points Per-Bank&lt;br /&gt;
| 25&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Debris Chunks&lt;br /&gt;
| 64&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Sub-Weapon Types==&lt;br /&gt;
&lt;br /&gt;
The maximums for the sub types of weapons.&lt;br /&gt;
&lt;br /&gt;
{| border=1 cellpadding=4 style=&amp;quot;border-collapse: collapse&amp;quot;&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| style=&amp;quot;background:#351515; width:150px&amp;quot;| &#039;&#039;&#039;Type&#039;&#039;&#039;&lt;br /&gt;
| style=&amp;quot;background:#300505; width:75px&amp;quot;| &#039;&#039;&#039;Max Instances&#039;&#039;&#039;&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Corkscrew Missiles&lt;br /&gt;
| 64&lt;br /&gt;
|- align=&amp;quot;center&amp;quot;&lt;br /&gt;
| Swarm Missiles&lt;br /&gt;
| 100&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Source Code Project]]&lt;br /&gt;
[[Category:Modding]]&lt;/div&gt;</summary>
		<author><name>Nuke</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Script_-_Hud_Pong&amp;diff=33516</id>
		<title>Script - Hud Pong</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Script_-_Hud_Pong&amp;diff=33516"/>
		<updated>2011-02-17T20:53:47Z</updated>

		<summary type="html">&lt;p&gt;Nuke: /* Table Entry */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Creates a special hud gauge that allows you to play pong. Use the mouse to manipulate the paddles.&lt;br /&gt;
&lt;br /&gt;
==Table Entry==&lt;br /&gt;
&amp;lt;pre&amp;gt;#Global Hooks&lt;br /&gt;
&lt;br /&gt;
$GameInit:&lt;br /&gt;
&lt;br /&gt;
[&lt;br /&gt;
&lt;br /&gt;
--HudPong (tm)&lt;br /&gt;
w = gr.getScreenWidth() &lt;br /&gt;
h = gr.getScreenHeight()&lt;br /&gt;
&lt;br /&gt;
poneh = 0&lt;br /&gt;
ptwoh = 0&lt;br /&gt;
gameh = 300		--you can change this to what&lt;br /&gt;
gamew = 600		--ever resolution you want.&lt;br /&gt;
gamex = w / 2	--set what coords to draw&lt;br /&gt;
gamey = h / 2	--the game at here (game center).&lt;br /&gt;
ballx = gamex&lt;br /&gt;
bally = gamey&lt;br /&gt;
ballxvel = 1	--or change theese if you&lt;br /&gt;
ballyvel = 1	--want a faster ball speed&lt;br /&gt;
balla = 255&lt;br /&gt;
deathmsg = &amp;quot;Dont Loose Your Balls!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
drawpongarea = function(x, y, sx, sy)	--pong box here&lt;br /&gt;
	gr.setColor(0,200,0,255)		--pong green&lt;br /&gt;
	gr.drawLine(x-sx, y+sy, x+sx, y+sy)&lt;br /&gt;
	gr.drawLine(x-sx, y-sy, x+sx, y-sy)&lt;br /&gt;
	gr.setColor(0,100,0,20)&lt;br /&gt;
	gr.drawRectangle(x-sx, y+sy, x+sx, y-sy)	--now featuring a transparent back&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
drawpongpaddle = function(x, y)&lt;br /&gt;
	gr.setColor(0,0,200,255)&lt;br /&gt;
	gr.drawRectangle(x+5, y+15, x-5, y-15, true)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
drawpongball = function(x, y, a)&lt;br /&gt;
	gr.setColor(200,0,0,a)&lt;br /&gt;
	gr.drawCircle(10,x,y)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--im nuts&lt;br /&gt;
&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
$HUD:&lt;br /&gt;
&lt;br /&gt;
[&lt;br /&gt;
&lt;br /&gt;
--HudPong&lt;br /&gt;
&lt;br /&gt;
drawpongarea(gamex,gamey,gamew/2,gameh/2)	--draw playing area every frame&lt;br /&gt;
&lt;br /&gt;
if w &amp;gt;= 1024 then		--compensate for resolution&lt;br /&gt;
	maxis1 = ((io.getMouseY() /  768) * (gameh * 0.9))	--paddels, what a mess, my math sucks&lt;br /&gt;
	maxis2 = ((io.getMouseX() / 1024) * (gameh * 0.9))&lt;br /&gt;
else&lt;br /&gt;
	maxis1 = ((io.getMouseY() / 480) * (gameh * 0.9))	--paddels, what a mess, my math sucks, now in lowres!&lt;br /&gt;
	maxis2 = ((io.getMouseX() / 640) * (gameh * 0.9))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
poneh = (maxis1 + (gamey - (gameh / 2))) + ((gameh - (gameh * 0.9)) / 2)&lt;br /&gt;
ptwoh = (maxis2 + (gamey - (gameh / 2))) + ((gameh - (gameh * 0.9)) / 2)&lt;br /&gt;
drawpongpaddle(gamex + (gamew/2) - 5, poneh)&lt;br /&gt;
drawpongpaddle(gamex - (gamew/2) + 5, ptwoh)&lt;br /&gt;
&lt;br /&gt;
ballx = ballx + ballxvel	--move and draw the ball&lt;br /&gt;
bally = bally + ballyvel&lt;br /&gt;
drawpongball(ballx, bally, balla)&lt;br /&gt;
&lt;br /&gt;
if bally &amp;lt; (gamey - (gameh / 2)) + 5 or bally &amp;gt; (gamey + (gameh / 2)) - 5 then&lt;br /&gt;
	ballyvel = ballyvel * -1	--bounce off borders&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
if ballx &amp;lt; (gamex - (gamew / 2)) or ballx &amp;gt; (gamex + (gamew / 2)) then	--tell the player when he gets castrated and reset the game&lt;br /&gt;
	gr.setColor(200,200,200,255)&lt;br /&gt;
	gr.drawString(deathmsg, gamex - (gr.getStringWidth(deathmsg) / 2) , gamey)&lt;br /&gt;
	balla = balla - 8&lt;br /&gt;
	if balla &amp;lt; 1 then&lt;br /&gt;
		ballx = gamex&lt;br /&gt;
		bally = gamey&lt;br /&gt;
		balla = 255&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
if (ballx &amp;lt; (gamex - (gamew / 2)) + 15 and bally &amp;gt; ptwoh - 15 and bally &amp;lt; ptwoh + 15) or (ballx &amp;gt; (gamex + (gamew / 2)) - 15 and bally &amp;gt; poneh - 15 and bally &amp;lt; poneh + 15) then&lt;br /&gt;
	ballxvel = ballxvel * -1	--bounce off paddles&lt;br /&gt;
end &lt;br /&gt;
&lt;br /&gt;
--nuts indeed&lt;br /&gt;
&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
#End&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
This gives an example of how to handle multiple resolutions. It&#039;s also a good introduction to using the mouse in a hud script. &lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting Examples|Hud Pong]]&lt;/div&gt;</summary>
		<author><name>Nuke</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Weapons.tbl&amp;diff=33407</id>
		<title>Weapons.tbl</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Weapons.tbl&amp;diff=33407"/>
		<updated>2011-02-04T17:35:45Z</updated>

		<summary type="html">&lt;p&gt;Nuke: /* $Pspew: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Fileversion|6978}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Special Case Weapons==&lt;br /&gt;
===Beam Cannons===&lt;br /&gt;
*&#039;&#039;&#039;REQUIRES: &amp;quot;beam&amp;quot; flag&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;REQUIRES: [[weapons.tbl#$BeamInfo:|$BeamInfo:]]&#039;&#039;&#039;&lt;br /&gt;
===Flak Guns===&lt;br /&gt;
*&#039;&#039;&#039;REQUIRE: &amp;quot;flak&amp;quot; and &amp;quot;particle spew&amp;quot; flags&#039;&#039;&#039;&lt;br /&gt;
*Must have inner and outer radius defined to have any effect.&lt;br /&gt;
*Does not use any model or weapon effect though model must be defined, usually Hornet.pof. Instead it uses [[Weapons.tbl#$Pspew:|particle spew]]. Trails can also be added.&lt;br /&gt;
&lt;br /&gt;
==Weapons Table==&lt;br /&gt;
&lt;br /&gt;
==General Format==&lt;br /&gt;
*The weapons table consist of several sections&lt;br /&gt;
*All sections beginning with &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; need &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;End&#039;&#039;&#039; before the next section.&lt;br /&gt;
**&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;Primary Weapons&#039;&#039;&#039;&lt;br /&gt;
***Defines all &#039;&#039;&#039;standard primaries weapons&#039;&#039;&#039; as well as &#039;&#039;&#039;beam cannons&#039;&#039;&#039; and &#039;&#039;&#039;flak cannons&#039;&#039;&#039;.&lt;br /&gt;
**&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;Secondary Weapons&#039;&#039;&#039;&lt;br /&gt;
***Defines all &#039;&#039;&#039;secondary weapons&#039;&#039;&#039;.&lt;br /&gt;
**&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;Beam Weapons&#039;&#039;&#039;&lt;br /&gt;
***I haven&#039;t got any ideas for this one.&lt;br /&gt;
**&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;[[Weapons.tbl#Countermeasures|Countermeasures]]&#039;&#039;&#039;&lt;br /&gt;
***Defines the used countermeasure.&lt;br /&gt;
**&#039;&#039;&#039;$Player Weapon Precedence&#039;&#039;&#039;&lt;br /&gt;
***Player Weapon Precedence is used in weapon selection when a default specified by the mission designer is not available to the player. The next weapon on the list is used in its place (assuming that weapon is allowed for the player).&lt;br /&gt;
&lt;br /&gt;
==Core Table==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Name:===&lt;br /&gt;
*This is the name of the weapon. If it&#039;s going to be used by the player, keep it under 12 characters so it doesn&#039;t spill over the HUD box.&amp;lt;br&amp;gt;Two special characters can be used in the name: &#039;&#039;&#039;#&#039;&#039;&#039; and &#039;&#039;&#039;@&#039;&#039;&#039;. Their usage details are the very same than inside the [[Ships.tbl#.24Name:_2|$Name field from Ships.tbl]].&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====+nocreate====&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*In [[Modular Tables]] name can be followed by line &#039;&#039;&#039;+nocreate&#039;&#039;&#039; that prevent game from creating an incomplete entry by leaving the entry unread unless it already exists (either in ship.tbl or in earlier parsed *-shp.tbm files) by the time the *-shp.tbm is read.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Alt Name:===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*An alternative name that can be referenced instead of $Name:&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Subtype:===&lt;br /&gt;
{{Table3610| }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===+Title:===&lt;br /&gt;
*This is the title of the weapon in the Weapons loadout screen. Only needed for player allowed weapons. Title may be anything.  Numerical value is a reference to translations in [[Tstrings.tbl]]&lt;br /&gt;
*Syntax: XSTR(&#039;&#039;&#039;&#039;&#039;&amp;quot;String&amp;quot;&#039;&#039;&#039;&#039;&#039;, -1)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===+Description:===&lt;br /&gt;
*This is the description you see in the weapons loadout screen. Again, these aren&#039;t based on any hard numbers, just approximations. Only needed for player allowed weapons. Numerical value is a reference to translations in [[Tstrings.tbl]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
XSTR(&lt;br /&gt;
&amp;quot;&#039;&#039;Standard Issue&lt;br /&gt;
&#039;&#039;Level 3 Hull Damage&lt;br /&gt;
&#039;&#039;Level 2 Shield Damage&#039;&#039;&amp;quot;, -1)&lt;br /&gt;
$end_multi_text&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===+Tech Title:===&lt;br /&gt;
*Title of the weapon in the Tech room. Only needed for player allowed weapons.&lt;br /&gt;
*Syntax: XSTR(&#039;&#039;&#039;&#039;&#039;&amp;quot;String&amp;quot;&#039;&#039;&#039;&#039;&#039;, -1)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===+Tech Anim:===&lt;br /&gt;
*Animation used for the weapon in the Tech room. Only needed for player allowed weapons.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, animation filename&lt;br /&gt;
**Example: &#039;&#039;Tech_Subach_HL-7&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===+Tech Description:===&lt;br /&gt;
*Descriptive text you see in the tech room. Only needed for player allowed weapons. Numerical value is a reference to translations in [[Tstrings.tbl]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
XSTR(&lt;br /&gt;
&amp;quot;&#039;&#039;The Subach-Innes HL-7...&#039;&#039;&amp;quot;, 3245)&lt;br /&gt;
$end_multi_text&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Tech Model:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines model used in wing loadout screen and in Tech Room for the weapon.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String.pof&#039;&#039;&#039;&#039;&#039;, model filename}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$HUD Image:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines the picture used to represent the weapon in HUD loadout list&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Model File:===&lt;br /&gt;
*Filename of the model file (.pof) at data/models folder. Additional fields beginning from &#039;&#039;&#039;&#039;&#039;@Laser Bitmap:&#039;&#039;&#039;&#039;&#039; and ending to &#039;&#039;&#039;&#039;&#039;@Laser Tail Radius:&#039;&#039;&#039;&#039;&#039; are not needed if a model has been defined for the weapon.&lt;br /&gt;
*Standard primaries and beam cannons do not use specific models so for those the name is &#039;none&#039;.&lt;br /&gt;
*Flak weapons and secondaries use models, though the exact model is not important with the flak weapons.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String.pof&#039;&#039;&#039;&#039;&#039; or &#039;&#039;none&#039;&#039;, model filename&lt;br /&gt;
**Example: &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$POF target LOD:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines the LOD (Level-Of-Detail) of the model used in HUD targetting view&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
===$Detail Distance:===&lt;br /&gt;
{{Table3613|&lt;br /&gt;
*Defines the distance where the change between different Levels-Of-Details (LODs) occurs&lt;br /&gt;
*Take notice that these are base values. Model detail in Detail options, (within game press F2), applies a multiplier to these values. These multipliers are (from left to right): 1/8, 1/4, 1, 4, 8&lt;br /&gt;
*Optional.  If not defined the game uses the formula ((radius * 20.0 + 20.0) * LOD)&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;(Detail Distances)&#039;&#039;&#039;&#039;&#039; , list of &#039;&#039;&#039;integers&#039;&#039;&#039; (same amount as LODs), distances from the model in meters&lt;br /&gt;
**Example: &#039;&#039;(0, 80, 300, 900)&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
===$External Model File:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines the models shown on the gunpoint, used with Bobb&#039;s external-visible-weapon code.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String.pof&#039;&#039;&#039;&#039;&#039;, model filename}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Submodel Rotation Speed:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines the rotation speed of the external weapon model&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Submodel Rotation Acceleration:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines the rotation acceleration of the external weapon model&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===@Laser Bitmap:===&lt;br /&gt;
**The graphic file to be used as the weapon effect if no model is defined.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===@Laser Glow:===&lt;br /&gt;
**The graphic file that determines the glow of the weapon effect if no model is defined. The color in which this gets drawn is determined by @Laser Color and @Laser Color2.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===@Laser Color:===&lt;br /&gt;
**The color of the glow effect when you fire the weapon.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Color&#039;&#039;&#039;&#039;&#039;, red, green, blue respectively, value from 0 to 255&lt;br /&gt;
***Example: &#039;&#039;250, 0, 0&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===@Laser Color2:===&lt;br /&gt;
**The color of the glow effect at the weapon&#039;s maximum range.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Color&#039;&#039;&#039;&#039;&#039;, red, green, blue respectively, value from 0 to 255&lt;br /&gt;
***Example: &#039;&#039;0, 0, 250&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===@Laser Length:===&lt;br /&gt;
**Length of the weapon effect.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===@Laser Head Radius:===&lt;br /&gt;
**Width of the head of the weapon effect.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===@Laser Tail Radius:===&lt;br /&gt;
**Width of the tail of the weapon effect.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Mass:===&lt;br /&gt;
*How much of a kinetic effect this weapon has on its target. 3+ gives you the Flail effect. Set it to 10 and you can knock cruisers around.&lt;br /&gt;
*This is somehow multiplied by the speed. ie &#039;&#039;$Mass: 3&#039;&#039; and &#039;&#039;$Velocity: 200&#039;&#039; has much weaker kinetic effect than &#039;&#039;$Mass: 3&#039;&#039; and &#039;&#039;$Velocity: 1000&#039;&#039;. Also $Mass is used to calculate intensity of &amp;quot;shudder&amp;quot; effect if flagged.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, blast effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Velocity:===&lt;br /&gt;
*How fast the weapon travels. Is also used to define the weapon range, &#039;&#039;&#039;&#039;&#039;$Velocity x $Lifetime = range&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
*Beams travel instantly so this field has effect only on weapon range and AI beam targetting with certain beam types. $Velocity of beam also applies to its kinetic effect along with $Mass.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters per second&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Fire Wait:===&lt;br /&gt;
*Time in seconds between firings&lt;br /&gt;
*Note that Fire wait will be reset to 1 if it is set over 5 for non turreted primary weapons &lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds&lt;br /&gt;
&lt;br /&gt;
===$Damage:===&lt;br /&gt;
*Base damage this weapon does. The actual damage is this number multiplied by the factors below.&lt;br /&gt;
*Base damage this beam does is continuous damage, damage is 5.5 times the damage value per second. The actual damage is this number multiplied by one of the factors below.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, damage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Damage Type:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines the damage type that this weapon uses. All armor effects are applied after shield and have no function against shockwave or subsystem damage. &#039;&#039;&#039;REQUIRES ADDITIONAL TABLE&#039;&#039;&#039;.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name of the damage type as defined in [[armor.tbl]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Arm time:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines the time after the launch that is required before the weapon comes hot&lt;br /&gt;
*If the time has not been reached when the weapon detonates the Dinky explosion is used&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Arm distance:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines the distance from the firing ships that is required before the weapon comes hot&lt;br /&gt;
*If the distance has not been reached when the weapon detonates the Dinky explosion is used&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Arm radius:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines the distance from the target where the weapon will arm itself&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Detonation Range:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines the distance from the point in space that the weapon was launched where the weapon will detonate&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Detonation Radius:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines the distance between the target center point point and the weapon which detonates the weapon.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Shockwave damage:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Override for the damage caused by shockwaves&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, damage}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Shockwave Damage Type:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*&#039;&#039;&#039;REQUIRES ADDITIONAL TABLE&#039;&#039;&#039;. Defines the damage type used for the weapon explosions&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name as defined in [[armor.tbl]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Blast Force:===&lt;br /&gt;
*The intensity of the kinetic blast effect when ship is within the outer radius of the explosion. Comes in effect only if inner and outer radius are defined.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, blast effect&lt;br /&gt;
&lt;br /&gt;
===$Inner Radius:===&lt;br /&gt;
*Radius at which the full explosion damage is done. Marks the line where damage attenuation begins.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Outer Radius:===&lt;br /&gt;
*Maximum radius at which any damage is done&lt;br /&gt;
*Also defines the size of the shockwave (if shockwave speed is &amp;gt; 0)&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
&lt;br /&gt;
===$Shockwave Speed:===&lt;br /&gt;
*Speed shockwave expands at. Zero means no shockwave and that damage is applied immediately&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters per second&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Shockwave rotation:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines how the 3D shockwave is rotated.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Angle&#039;&#039;&#039;&#039;&#039;, three values, pitch, bank, heading respectively, in degrees}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Shockwave model:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines the model file (.pof) used as a shockwave for the 3D shockwaves.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String.pof&#039;&#039;&#039;&#039;&#039;, model filename}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Shockwave name:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines the name of the animation used for the 2D shockwave&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Dinky shockwave:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Dinky shockwave are used if the weapon is shot down before arming or if the conditions marked at &#039;&#039;&#039;Arm time&#039;&#039;&#039; and &#039;&#039;&#039;Arm distance&#039;&#039;&#039; are not reached before impact&lt;br /&gt;
*It uses exactly same entries as the standard shockwaves&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;+Shockwave damage:&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;+Shockwave damage type:&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;+Blast Force:&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;+Inner Radius:&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;+Outer Radius:&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;+Shockwave Speed:&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;+Shockwave Rotation:&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;+Shockwave Model:&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;+Shockwave Name:&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Armor Factor:===&lt;br /&gt;
*Multiplier for the damage done to armor&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, damage multiplier&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Shield Factor:===&lt;br /&gt;
*Multiplier for the damage done to shields&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, damage multiplier&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Subsystem Factor:===&lt;br /&gt;
*Multiplier for the damage done to subsystems&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, damage multiplier&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Lifetime Min:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines the minimum lifetime of the weapon&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Lifetime Max:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines the maximum lifetime of the weapon&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Lifetime:===&lt;br /&gt;
*Time before the standard primaries fizzle out and secondaries self destruct. Multiply this by the speed to get the range. If values are too low (below framerate) then the collision detection and graphic effects may suffer.&lt;br /&gt;
*This field has no effect for the beams apart from weapon range and AI beam targeting with certain beam types&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Energy Consumed:===&lt;br /&gt;
*The amount of energy each bolt drains firing ship. Has no effect on turretted weapons.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Cargo Size:===&lt;br /&gt;
*Cargo size, is not used with non-ballistic primaries.&lt;br /&gt;
*Amount of missiles available = Bank capacity / Cargo Size.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Homing:===&lt;br /&gt;
*Only for secondaries. You can&#039;t have homing primaries. If this is set to YES with primaries, then the bolts turn to face their target but keep moving in the same direction. If the field is set to NO then following fields are not required in the table.&lt;br /&gt;
*Defines if the missiles in question is homing&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Boolean&#039;&#039;&#039;&#039;&#039;, yes or no&lt;br /&gt;
*&#039;&#039;&#039;+Type:&#039;&#039;&#039;&lt;br /&gt;
**Defines the homing method&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, &#039;&#039;ASPECT&#039;&#039; or &#039;&#039;HEAT&#039;&#039;&lt;br /&gt;
{{Table3610| An additional option, &#039;&#039;JAVELIN&#039;&#039;, has been added.  This behaves like an aspect missile but automatically only locks onto the engines of a target, and only if the engines are in sight.}}&lt;br /&gt;
*&#039;&#039;&#039;+Turn Time:&#039;&#039;&#039;&lt;br /&gt;
**Defines how well missile maneuvers. Number of seconds it takes the missile to do a 360 degree circle&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds&lt;br /&gt;
*&#039;&#039;&#039;+View Cone:&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;Heat-seeking missiles only&#039;&#039;&#039;, this is then number of degrees the missile sees. Value / 2 gives the angle from the missile&#039;s centerline.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, degrees&lt;br /&gt;
{{Table3610| Has been enabled also to aspect seekers as an option.}}&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;+Min Lock Time:&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;For aspect/javelin missiles only&#039;&#039;&#039;, the minimum number of seconds to gain target lock&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds&lt;br /&gt;
*&#039;&#039;&#039;+Lock Pixels/Sec:&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;For aspect/javelin missiles only&#039;&#039;&#039;, pixels the aspect triangle moves per second while attempting lock-on&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;, pixels per second&lt;br /&gt;
*&#039;&#039;&#039;+Catch-up Pixels/Sec:&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;For aspect/javelin missiles only&#039;&#039;&#039;, pixels moved per second while attempting to catch up to the target&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;, pixels per second&lt;br /&gt;
*&#039;&#039;&#039;+Catch-up Penalty:&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;For aspect/javelin missiles only&#039;&#039;&#039;, extra pixels to move after catching up ????&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;, pixels&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*&#039;&#039;&#039;+Seeker Strength:&#039;&#039;&#039;&lt;br /&gt;
**Defines the seeking ability of the homing system. Default of heat seekers is 3 and for aspect seekers 2. Spoofing change is defined as &#039;&#039;&#039;cm type effectiveness&#039;&#039;&#039;/&#039;&#039;&#039;seeker strength&#039;&#039;&#039;.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seeker strength}}&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*&#039;&#039;&#039;+Target Lead Scaler:&#039;&#039;&#039;&lt;br /&gt;
**Defines the type of pursuit course the missile tries to obtain.&lt;br /&gt;
**Values &amp;lt; 0 give lag pursuit, values ~ 0 give pure pursuit, values &amp;gt; 0 give lead pursuit.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, default for heat seekers: 0, default for aspect or javelin seekers: 1.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Swarm:===&lt;br /&gt;
*The number of missiles to fire per volley if it&#039;s a swarm missile&lt;br /&gt;
*Can be issued to Standard primaries also. Causes single part turrets to malfunction but causes multi part turrets to fire only on their barrel line. Can be used for &#039;burst fire weapons&#039;. Does not work with player weapons.&lt;br /&gt;
*Is incompatible with &amp;quot;Corkscrew&amp;quot; option.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;, number of shots in a swarm&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*&#039;&#039;&#039;+SwarmWait:&#039;&#039;&#039;&lt;br /&gt;
**Defines the time between weapons fired in a swarm&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds&lt;br /&gt;
***Default: 0.150}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Free Flight Time:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines the free flight time of homing weapons. During this time weapon flies at 1/4 of its velocity + firing ships velocity in a straight line.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds&lt;br /&gt;
**Default: 0.25}}&lt;br /&gt;
&lt;br /&gt;
===$Free Flight Speed:===&lt;br /&gt;
{{Table3613|&lt;br /&gt;
*Defines the speed that the weapon will be travelling at during the free flight segment (see above).&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, Multiplier for the actual speed, minimum 0.01.&lt;br /&gt;
**Default: 0.25}}&lt;br /&gt;
&lt;br /&gt;
===$LaunchSnd:===&lt;br /&gt;
*Corresponding sound effect when the weapon is launched.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name or identification number of the sound as defined in [[sounds.tbl]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$ImpactSnd:===&lt;br /&gt;
*Sound the weapon makes when it hits a hull.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name or identification number of the sound as defined in [[sounds.tbl]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Disarmed ImpactSnd:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Sound the weapon makes when it hits a hull before being armed.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name or identification number of the sound as defined in [[sounds.tbl]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$FlyBySnd:===&lt;br /&gt;
*The sound this weapon makes if it narrowly misses you. -1 is no sound.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name or identification number of the sound as defined in [[sounds.tbl]], usually -1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Model:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines used model file. Included for compatibility with countermeasures as they have been merged with weapons in the code.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String.pof&#039;&#039;&#039;&#039;&#039;, model filename}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Rearm Rate:===&lt;br /&gt;
*Defines the rate the weapons are loaded to the ship&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, missiles loaded per second&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===+Weapon Range:===&lt;br /&gt;
*Defines the range to the target where the weapons under AI will start firing.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===+Weapon Min Range:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines the minimum range to the target where the weapons under AI will still fire.&lt;br /&gt;
*Implemented before FS_Open 3.6.5&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Flags:===&lt;br /&gt;
*See [[Weapons.tbl#Weapons.tbl_Flags|below]]&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;( &amp;quot;String&amp;quot; &amp;quot;String&amp;quot; )&#039;&#039;&#039;&#039;&#039;, names of the flags assigned to the weapon&lt;br /&gt;
**Example: ( &amp;quot;Player allowed&amp;quot; &amp;quot;in tech database&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Can be followed by &#039;&#039;&#039;+override&#039;&#039;&#039; option in order to reset the weapon flags before parsing in the new ones&lt;br /&gt;
*Using this option will erase all &#039;&#039;&#039;homing&#039;&#039;&#039;-related flags as well as &#039;&#039;&#039;swarm&#039;&#039;&#039;, &#039;&#039;&#039;variable lead&#039;&#039;&#039;, &#039;&#039;&#039;trail&#039;&#039;&#039;, &#039;&#039;&#039;TAG&#039;&#039;&#039;, and &#039;&#039;&#039;transparent&#039;&#039;&#039; settings in addition to the listed flags. All these should be set again - if they are required - when this option is used.&lt;br /&gt;
&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;+override&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Trail:===&lt;br /&gt;
*This is used if you want your weapon to have a trail. Trail is often used only with secondaries though it works with standard primaries as well.&lt;br /&gt;
*&#039;&#039;&#039;+Start Width:&#039;&#039;&#039;&lt;br /&gt;
**How wide the head of the trail is.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
*&#039;&#039;&#039;+End Width:&#039;&#039;&#039;&lt;br /&gt;
**How wide the tail of the trail is.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
*&#039;&#039;&#039;+Start Alpha:&#039;&#039;&#039;&lt;br /&gt;
**The opacity of the trail head.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, value between 0 and 1&lt;br /&gt;
*&#039;&#039;&#039;+End Alpha:&#039;&#039;&#039;&lt;br /&gt;
**The opacity of the trail tail.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, value between 0 and 1&lt;br /&gt;
*&#039;&#039;&#039;+Max Life:&#039;&#039;&#039;&lt;br /&gt;
**How long the trail lasts.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds&lt;br /&gt;
*&#039;&#039;&#039;+Bitmap:&#039;&#039;&#039;&lt;br /&gt;
**The graphic file to use for the trail.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*&#039;&#039;&#039;+Faded Out Sections:&#039;&#039;&#039;&lt;br /&gt;
**Defines the number of the trail sections (counting from the leading edge) which are gradually faded out.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;, number of trail sections}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Icon:===&lt;br /&gt;
*Loadout icon used in the weapons selection screen.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Anim:===&lt;br /&gt;
*Green grid animation used on the weapons screen.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Collide Ship:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Has been replaced with &#039;&#039;&#039;#Conditional Hooks&#039;&#039;&#039;, see [[Scripting.tbl]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Collide Weapon:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Has been replaced with &#039;&#039;&#039;#Conditional Hooks&#039;&#039;&#039;, see [[Scripting.tbl]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Impact Explosion:===&lt;br /&gt;
*Impact explosion used. Must be defined in weapon_expl.tbl,&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename or &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Impact Explosion Radius:===&lt;br /&gt;
*Radius of the defined impact explosion.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Dinky impact explosion:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Same as Impact explosion but for Dinky (not armed) explosions&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename or &#039;&#039;none&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Dinky impact explosion radius:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Same as Impact explosion radius but for Dinky explosions&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Piercing Impact Explosion:===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Defines the effect used for events when weapon pierces the target&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename or &#039;&#039;none&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Piercing Impact Radius:===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Defines the base radius of the effect used for piercing weapon impacts&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Piercing Impact Velocity:===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Defines the base velocity for the particles piercing the target&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Piercing Impact Splash Velocity:===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Defines the base velocity for the particles splashing from the target (secondary piercing effects&lt;br /&gt;
*Negative value causes the second batch or particles to splash to opposite direction&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Piercing Impact Variance:===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Defines the variance added to the particles&lt;br /&gt;
*Values near 0 cause very little variance and values close to 1 cause extreme dispersal.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Piercing Impact Life:===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Defines the lifetime of the effect for single frame effects&lt;br /&gt;
*For multiple frame effects the lifetime is the lifetime of the animation used&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Piercing Impact Life:===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Defines the number of particles released per impact&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Piercing Impact Draw Modifier:===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Defines the multiplier applied to the ships piercing effect limit percentage&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
*Option removed in 3.6.12. Use [[armor.tbl]] to finetune piercing effects.&lt;br /&gt;
&lt;br /&gt;
===$Muzzleflash:===&lt;br /&gt;
*Normally only with flak cannons.&lt;br /&gt;
*Defines the muzzle flash the weapon uses&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, muzzleflash name, as defined in [[mflash.tbl]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$EMP Intensity:===&lt;br /&gt;
**If it has an EMP effect, how deeply it scrambles your electronics&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$EMP Time:===&lt;br /&gt;
**Duration of the EMP effect&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Leech Weapon:===&lt;br /&gt;
**The amount of weapon energy to drain with each hit&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Leech Afterburner:===&lt;br /&gt;
**The amount of afterburner fuel to drain with each hit&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Corkscrew:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Allow corkscrew parameters to be defined&lt;br /&gt;
*&#039;&#039;&#039;+Num Fired:&#039;&#039;&#039;&lt;br /&gt;
**Defines the number of weapons fired in sequence. Same as the standard swarm entry but for corkscrew missiles&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;, number of missiles&lt;br /&gt;
*&#039;&#039;&#039;+Radius:&#039;&#039;&#039;&lt;br /&gt;
**Defines the radius used in the corkscrew motion&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
*&#039;&#039;&#039;+Fire Delay:&#039;&#039;&#039;&lt;br /&gt;
**Defines the delay between missile firings&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;, milliseconds&lt;br /&gt;
*&#039;&#039;&#039;+Counter rotate:&#039;&#039;&#039;&lt;br /&gt;
**Defines if every other missile rotates to a different direction (clockwise / anticlockwise)&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Boolean&#039;&#039;&#039;&#039;&#039;, &#039;&#039;0&#039;&#039; or &#039;&#039;1&#039;&#039;, no or yes&lt;br /&gt;
*&#039;&#039;&#039;+Twist:&#039;&#039;&#039;&lt;br /&gt;
**Defines the speed of rotation movement on the radius of corkscrew motion.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, radians per second}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Electronics:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines the weapons effect against electronics. Requires [[weapons.tbl#&amp;quot;Electronics&amp;quot;|&amp;quot;electronics&amp;quot;]] flag. &#039;&#039;&#039;+New Style:&#039;&#039;&#039; and &#039;&#039;&#039;+Old Style:&#039;&#039;&#039; options are mutually exclusive.&lt;br /&gt;
*&#039;&#039;&#039;+New Style:&#039;&#039;&#039;&lt;br /&gt;
**Defines that the electronics use the new style which enables more options.&lt;br /&gt;
*&#039;&#039;&#039;+Old Style:&#039;&#039;&#039;&lt;br /&gt;
**Defines that the electronics use the old style.  The old style was the way the D-Missile worked in Descent: FreeSpace.&lt;br /&gt;
*&#039;&#039;&#039;+Intensity:&#039;&#039;&#039;&lt;br /&gt;
**May only be used with &#039;&#039;&#039;+New Style:&#039;&#039;&#039; electronics. &#039;&#039;&#039;&#039;&#039;Has been deprecated&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Lifetime:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;, milliseconds&lt;br /&gt;
*&#039;&#039;&#039;+Engine Multiplier:&#039;&#039;&#039;&lt;br /&gt;
**May only be used with &#039;&#039;&#039;+New Style:&#039;&#039;&#039; electronics. Defines how much longer the disruption effect lasts for engine subsystems.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Weapon Multiplier:&#039;&#039;&#039;&lt;br /&gt;
**May only be used with &#039;&#039;&#039;+New Style:&#039;&#039;&#039; electronics. Defines how much longer the disruption effect lasts for non-beam turrets.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Beam Turret Multiplier:&#039;&#039;&#039;&lt;br /&gt;
**May only be used with &#039;&#039;&#039;+New Style:&#039;&#039;&#039; electronics. Defines how much longer the disruption effect lasts for beam turrets.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Sensors Multiplier:&#039;&#039;&#039;&lt;br /&gt;
**May only be used with &#039;&#039;&#039;+New Style:&#039;&#039;&#039; electronics. Defines how much longer the disruption effect lasts for sensor subsystems.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Randomness Time:&#039;&#039;&#039;&lt;br /&gt;
**Defines the randomness of duration target suffers from the electronics hit. A random number between 0 and this time will be added or subtracted from the disruption time.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;, milliseconds&lt;br /&gt;
&lt;br /&gt;
* Without any electronics parameters, a weapon with the &amp;quot;electronics&amp;quot; flag will default to the &#039;&#039;Old Style&#039;&#039; mode with a lifetime of 6000 milliseconds and a randomness of 4000 milliseconds.  Thus any ship that gets hit can get disrupted for anywhere between 2 to 10 seconds.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;WARNING: Putting +Old Style doesn&#039;t seem to work either.&lt;br /&gt;
To have a working electronics weapon just put the electronics flag in the weapon and make sure it has a big shockwave radius and a shockwave speed of 0.&#039;&#039;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===$Spawn Angle:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines the cone (with an angle) where the spawned weapons appear. &#039;&#039;Value&#039;&#039; gives the angle from the missiles centerline.  The maximum possible angle between any two child weapons would be &#039;&#039;Value*2&#039;&#039;.&lt;br /&gt;
*Spawn angle can be defined as many times as the carrier missile has child weapons defined for it (up to 5).&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, degrees}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Local SSM:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines the local SSM (Subspace Missile). In effect missile moves via subspace to a position close to the target and starts homing.&lt;br /&gt;
*Weapon must be &#039;&#039;&#039;&#039;&#039;aspect seeking missile&#039;&#039;&#039;&#039;&#039; and must have &#039;&#039;&#039;&#039;&#039;[[Weapons.tbl#&amp;quot;local ssm&amp;quot;|local ssm]]&#039;&#039;&#039;&#039;&#039; flag.&lt;br /&gt;
*&#039;&#039;&#039;+Warpout Delay:&#039;&#039;&#039;&lt;br /&gt;
**Defines the time between the missile launch and the subspace jump.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;, milliseconds&lt;br /&gt;
*&#039;&#039;&#039;+Warpin Delay:&#039;&#039;&#039;&lt;br /&gt;
**Defines the time missile stays in subspace before exiting.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;, milliseconds&lt;br /&gt;
*&#039;&#039;&#039;+Stage 5 Velocity:&#039;&#039;&#039;&lt;br /&gt;
**Defines the velocity of the missile after the subspace jump.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters per second&lt;br /&gt;
*&#039;&#039;&#039;+Warpin Radius:&#039;&#039;&#039;&lt;br /&gt;
**Defines how far from the SSM will appear from the outer radius of the target.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
*&#039;&#039;&#039;+Lock Range:&#039;&#039;&#039;&lt;br /&gt;
**Defines the maximum range where SSM can achieve target lock&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Countermeasure:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines the countermeasure effectiveness and radius&lt;br /&gt;
*&#039;&#039;&#039;+Heat Effectiveness:&#039;&#039;&#039;&lt;br /&gt;
**Defines the countermeasures effectiveness against heat seeking missiles&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, cm effectiveness&lt;br /&gt;
***Default: 1&lt;br /&gt;
*&#039;&#039;&#039;+Aspect Effectiveness:&#039;&#039;&#039;&lt;br /&gt;
**Defines the countermeasures effectiveness against aspect seeking missiles&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, cm effectiveness&lt;br /&gt;
***Default: 1&lt;br /&gt;
*&#039;&#039;&#039;+Effective Radius:&#039;&#039;&#039;&lt;br /&gt;
**Defines the countermeasures effective radius&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
***Default: 300}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$BeamInfo:===&lt;br /&gt;
*&#039;&#039;&#039;+Type:&#039;&#039;&#039;&lt;br /&gt;
**Defines the type of beam in question. Beam types: 0 is a standard non-slashing type beam. 1 is a slashing type beam. 2 is a targetting beam that doesn&#039;t seem to have much of an effect on anything. 3 is a beam type that fires pulses in anti-fighter role and acts like type 0 beam in other roles. 4 is a beam that is restricted to what is directly in front of it, along turrets firepoints normal.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;,, only values from 0 to 4 are legal&lt;br /&gt;
*&#039;&#039;&#039;+Life:&#039;&#039;&#039;&lt;br /&gt;
**How long it lasts once the beam is actually firing.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds&lt;br /&gt;
*&#039;&#039;&#039;+Warmup:&#039;&#039;&#039;&lt;br /&gt;
**Warmup time&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;, milliseconds&lt;br /&gt;
*&#039;&#039;&#039;+Warmdown:&#039;&#039;&#039;&lt;br /&gt;
**Warmdown time&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;, milliseconds&lt;br /&gt;
*&#039;&#039;&#039;+Radius:&#039;&#039;&#039;&lt;br /&gt;
**Muzzle glow radius&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
*&#039;&#039;&#039;+PCount:&#039;&#039;&#039;&lt;br /&gt;
**Particles spewed every interval. ??&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+PRadius:&#039;&#039;&#039;&lt;br /&gt;
**Particle radius&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
*&#039;&#039;&#039;+PAngle:&#039;&#039;&#039;&lt;br /&gt;
**Defines the random &amp;quot;cone&amp;quot; where the particles are generated&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, angle of the cone&lt;br /&gt;
*&#039;&#039;&#039;+PAni:&#039;&#039;&#039;&lt;br /&gt;
**Animation used to represent the particles&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
*&#039;&#039;&#039;+Miss Factor:&#039;&#039;&#039;&lt;br /&gt;
**The higher the numbers, the more likely that this beam will miss. One value for every difficulty level&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Miss Factor&#039;&#039;&#039;&#039;&#039;, five &#039;&#039;&#039;floats&#039;&#039;&#039;, very easy, easy, moderate, hard, insane, respectively.&lt;br /&gt;
***Example: 0.5 0.975 1.35 1.875 2.5&lt;br /&gt;
{{Table3613|&lt;br /&gt;
*&#039;&#039;&#039;IFF specific miss factors&#039;&#039;&#039;&lt;br /&gt;
**Identical to the preceding entry but IFF specific. Replace the &amp;lt;IFF&amp;gt; with the name of the IFF from [[iff_defs.tbl]]&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;+&amp;lt;IFF&amp;gt; Miss Factor:&#039;&#039;&#039;&#039;&#039;, five &#039;&#039;&#039;floats&#039;&#039;&#039;, very easy, easy, moderate, hard, insane, respectively.&lt;br /&gt;
***Example: 0.5 0.975 1.35 1.875 2.5}}&lt;br /&gt;
*&#039;&#039;&#039;+BeamSound:&#039;&#039;&#039;&lt;br /&gt;
**Corresponding looping sound effect when the beam is firing.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name or identification number of the sound as defined in [[sounds.tbl]]&lt;br /&gt;
*&#039;&#039;&#039;+WarmupSound:&#039;&#039;&#039;&lt;br /&gt;
**Corresponding sound effect when the beam is beam warmed up.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name or identification number of the sound as defined in [[sounds.tbl]]&lt;br /&gt;
*&#039;&#039;&#039;+WarmdownSound:&#039;&#039;&#039;&lt;br /&gt;
**Corresponding sound effect when the beam is warming down.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name or identification number of the sound as defined in [[sounds.tbl]]&lt;br /&gt;
*&#039;&#039;&#039;+Muzzleglow:&#039;&#039;&#039;&lt;br /&gt;
**Defines the bitmap used to create the muzzle glow&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
*&#039;&#039;&#039;+Shots:&#039;&#039;&#039;&lt;br /&gt;
**Defines into how may invidual shots the type 3 (AAA) beams are divided. Note total firing is the same as the +Life:&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+ShrinkFactor:&#039;&#039;&#039;&lt;br /&gt;
**What percentage of lifetime where beam starts shrinking (0.1 == 10% life left)&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+ShrinkPct:&#039;&#039;&#039;&lt;br /&gt;
**What percentage of max width we subtract per second&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*&#039;&#039;&#039;+Range:&#039;&#039;&#039;&lt;br /&gt;
**Defines the maximum range where the beam still has any effect.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
*&#039;&#039;&#039;+Attenuation:&#039;&#039;&#039;&lt;br /&gt;
**Defines the point where the damage caused by the beam starts to attenuate. At maximum range damage is zero.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, from 0 - firing point to 1 - no effect&lt;br /&gt;
***Default: 1}}&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*&#039;&#039;&#039;+BeamWidth:&#039;&#039;&#039;&lt;br /&gt;
**Defines the width of the beam for collision test purposes instead of using widest beam section.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Beam Flash Effect:&#039;&#039;&#039;&lt;br /&gt;
**Defines the additional impact flash effect for the beam.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
*&#039;&#039;&#039;+Beam Flash Radius:&#039;&#039;&#039;&lt;br /&gt;
**Defines the radius for the additional impact flash effect.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Beam Piercing Effect:&#039;&#039;&#039;&lt;br /&gt;
**Defines the beam piercing (bursting flames) effect for the beam.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
*&#039;&#039;&#039;+Beam Piercing Radius:&#039;&#039;&#039;&lt;br /&gt;
**Defines the average radius used for the beam piercing effects.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Beam Piercing Effect Velocity:&#039;&#039;&#039;&lt;br /&gt;
**Defines the base velocity for the piercing effects&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Beam Piercing Splash Effect Velocity:&#039;&#039;&#039;&lt;br /&gt;
**Defines the base velocity for the secondary piercing effects&lt;br /&gt;
**Negative velocity causes the particles to move to opposite direction&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Beam Piercing Effect Variance:&#039;&#039;&#039;&lt;br /&gt;
**Defines the variances of the particles from the main path&lt;br /&gt;
**Values close to 0 cause minimum variance, higher values cause higher variances&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;$Section:&#039;&#039;&#039;&lt;br /&gt;
**Beams are made up of up to five sections layered atop one another to create the effect. Each section has its own parameters.&lt;br /&gt;
{{Table3610|&lt;br /&gt;
:*&#039;&#039;&#039;+Index:&#039;&#039;&#039;&lt;br /&gt;
:**Field used to define with [[Modular Tables]] the beam section which is edited.&lt;br /&gt;
:**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;, index number legal values are from 0 to 5&lt;br /&gt;
:*&#039;&#039;&#039;+remove&#039;&#039;&#039;&lt;br /&gt;
:**Removes the set beam section.&lt;br /&gt;
:*&#039;&#039;&#039;+nocreate&#039;&#039;&#039;&lt;br /&gt;
:**Does not create new section for the beam}}&lt;br /&gt;
&lt;br /&gt;
:*&#039;&#039;&#039;+Width:&#039;&#039;&#039;&lt;br /&gt;
:**Width of the section&lt;br /&gt;
:**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
:*&#039;&#039;&#039;+Texture:&#039;&#039;&#039;&lt;br /&gt;
:**Texture for the section&lt;br /&gt;
:**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
:*&#039;&#039;&#039;+RGBA Inner:&#039;&#039;&#039;&lt;br /&gt;
:**Defines the color and transparency of the center of the section&lt;br /&gt;
:**Syntax: &#039;&#039;&#039;&#039;&#039;Color&#039;&#039;&#039;&#039;&#039;, red, green, blue, alpha, respectively, value from 0 to 255&lt;br /&gt;
:***Example: 255 255 255 255&lt;br /&gt;
:*&#039;&#039;&#039;+RGBA Outer:&#039;&#039;&#039;&lt;br /&gt;
:**Defines the color and transparency of the edges of the section&lt;br /&gt;
:**Syntax: &#039;&#039;&#039;&#039;&#039;Color&#039;&#039;&#039;&#039;&#039;, red, green, blue, alpha, respectively, value from 0 to 255&lt;br /&gt;
:***Example: 150 150 150 10&lt;br /&gt;
:*&#039;&#039;&#039;+Flicker:&#039;&#039;&#039;&lt;br /&gt;
:**Defines how much the section flickers&lt;br /&gt;
:**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, value from 0 to 1&lt;br /&gt;
:*&#039;&#039;&#039;+Zadd:&#039;&#039;&#039;&lt;br /&gt;
:**Defines the &#039;thickness&#039; of the section. The higher the Zadd, the closer the section appears to be.&lt;br /&gt;
:**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
{{Table3610|&lt;br /&gt;
:*&#039;&#039;&#039;+Tile Factor:&#039;&#039;&#039;&lt;br /&gt;
:**Defines the beam texture tileing factor. Second number defines the tileing type. Type 0 tiles the graphic in the beam as many times as defined by the 1st number. Type 1 uses the 1st value as the lenght of the tile.&lt;br /&gt;
:**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:*&#039;&#039;&#039;+Translation:&#039;&#039;&#039;&lt;br /&gt;
:**Defines the speed of translation of the beam, a positive value moves from the impact point to the firing point, while a negative value moves away from the firing point towards the impact point. Measured in tiles per second, where the tile count is defined in the &amp;quot;+Tile Factor:&amp;quot; field above.&lt;br /&gt;
:**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Pspew:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines a particle spew effect for the given weapon&lt;br /&gt;
}}{{Table3613|&lt;br /&gt;
*&#039;&#039;&#039;+Index:&#039;&#039;&#039;&lt;br /&gt;
**indicates which spewer to add/edit/delete. may be 0-3. used for xmt compatibility.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Remove&#039;&#039;&#039;&lt;br /&gt;
**removes spewer at +Index: (requires +index:)&lt;br /&gt;
*&#039;&#039;&#039;+Type:&#039;&#039;&#039;&lt;br /&gt;
**type of particle spew&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;, Default, Helix, Sparkler, Ring, or Plume &#039;&#039;&#039;&lt;br /&gt;
}}{{Table3610|&lt;br /&gt;
*&#039;&#039;&#039;+Count:&#039;&#039;&#039;&lt;br /&gt;
**Defines how many particles are spawn when they are ready to be created (at each +Time: interval)&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Time:&#039;&#039;&#039;&lt;br /&gt;
**Defines the time in milliseconds between next particle(s) spewed&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;, milliseconds&lt;br /&gt;
*&#039;&#039;&#039;+Vel:&#039;&#039;&#039;&lt;br /&gt;
**Defines the created particles velocity as percentage of the weapons velocity&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Radius:&#039;&#039;&#039;&lt;br /&gt;
**Defines the size of the created particles&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
*&#039;&#039;&#039;+Life:&#039;&#039;&#039;&lt;br /&gt;
**Defines how long the particles last.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds&lt;br /&gt;
*&#039;&#039;&#039;+Scale:&#039;&#039;&#039;&lt;br /&gt;
**Defines the particle spread. Small value will make particles group together&lt;br /&gt;
**typically controls how big the effect is or how fast it moves away from the weapon path on a perpendicular (or sometimes arbitrary) axis. &lt;br /&gt;
**helical spews and rings use this value to control how fast the particle helix moves away from the central axis.&lt;br /&gt;
**sparklers use this to control how fast particles move away from the spawn point, in any direction&lt;br /&gt;
**plumes use this to set the diameter of the disk across which particles are spawned&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
}}{{Table3613|&lt;br /&gt;
*&#039;&#039;&#039;+Z Scale:&#039;&#039;&#039;&lt;br /&gt;
**for sparklers, allows you to elongate the effect to surround other effects, like lasers. essentially a length multiplier&lt;br /&gt;
**for plume, it multiplies against +scale to set the plume to spread or converge, zero would be full convergence, 1 would be straight flight, and bigger numbers would cause particles to diverge from the disk.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Rotation Rate:&#039;&#039;&#039;&lt;br /&gt;
**used only by helical spews, controls how many rotations per second the helix makes&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;, may be negative, useful for setting up 2 spews that spin in opposite directions&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Offset:&#039;&#039;&#039;&lt;br /&gt;
**position of effect with regards to the weapon center&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Vector&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Initial Velocity:&#039;&#039;&#039;&lt;br /&gt;
**to indicate both direction and speed of particle effects regards to the weapon velocity and +scale:&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Vector&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
}}{{Table3610|&lt;br /&gt;
*&#039;&#039;&#039;+Bitmap:&lt;br /&gt;
**Defines the animation used to create the particle spew effect&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename}}&lt;br /&gt;
&lt;br /&gt;
===$Tag:===&lt;br /&gt;
*Allowed for secondary weapons&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Allowed for primary weapons and secondary weapons}}&lt;br /&gt;
&lt;br /&gt;
*Sets this weapon as a TAG missile, level 1, 2, or 3. The second number is the duration in seconds.&lt;br /&gt;
*TAG Level 1 will illuminate hidden targets such as stealth fighters or ships normally obscured by nebula conditions.&lt;br /&gt;
*TAG Level 2 illiminates targets much like TAG Level 1, but turrets will prefer to shoot at them over other ships.&lt;br /&gt;
*TAG Level 3 has no effect in retail.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, TAG level and seconds respectively&lt;br /&gt;
&lt;br /&gt;
===$SSM:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines the weapons SSM index number:&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$FOF:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines the field of fire for the weapon. Causes weapon to fire into a firing cone instead of direct firing line thus causing light inaccuracy&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, degrees}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Shots:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines the number of shots every time the weapon is fired.&lt;br /&gt;
*Works only for primary weapons&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;, number of shots}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$decal:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines impact decals if they are in use&lt;br /&gt;
*&#039;&#039;&#039;+texture:&#039;&#039;&#039;&lt;br /&gt;
**Defines the texture used for impact decals (can use &#039;&#039;&#039;&#039;&#039;-burn&#039;&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;&#039;-glow&#039;&#039;&#039;&#039;&#039; textures)&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
*&#039;&#039;&#039;+backface texture:&#039;&#039;&#039;&lt;br /&gt;
**Defines ???&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
*&#039;&#039;&#039;+radius:&#039;&#039;&#039;&lt;br /&gt;
**Defines the size of the impact decals on target&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
*&#039;&#039;&#039;+burn time:&#039;&#039;&#039;&lt;br /&gt;
**Defines the time the &#039;&#039;&#039;&#039;&#039;-burn&#039;&#039;&#039;&#039;&#039; texture appears on the target&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;, milliseconds}}&lt;br /&gt;
{{Table3613|&lt;br /&gt;
*Feature removed - table parsing retained to maintain compatibility}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Transparent:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines weapon effect as transparent. Enables optional fields for &#039;alpha animations&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Alpha:&#039;&#039;&#039;&lt;br /&gt;
**Defines the strenght of the alpha (transparency). And also the maximum value for the alpha cycle option&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, from 0 to 1&lt;br /&gt;
*&#039;&#039;&#039;+Alpha Min:&#039;&#039;&#039;&lt;br /&gt;
**Defines the minimum alpha value for alpha cycle option&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, from 0 to 1&lt;br /&gt;
*&#039;&#039;&#039;+Alpha Cycle:&#039;&#039;&#039;&lt;br /&gt;
**Defines the change in alpha per frame, between &#039;&#039;&#039;Alpha&#039;&#039;&#039; and &#039;&#039;&#039;Alpha Min&#039;&#039;&#039; values&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Weapon Hitpoints:===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Defines the amount of hitpoints a weapon has.&lt;br /&gt;
*Weapons with &#039;&#039;&#039;&amp;quot;bomb&amp;quot;&#039;&#039;&#039; flag have 50 hitpoints by default&lt;br /&gt;
*Giving weapon hitpoints makes it possible for the weapon to be shot down or be destroyed by EMP.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Burst Shots:===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Defines the number of shots in a burst&lt;br /&gt;
*Shots in a burst use shorter ( &#039;&#039;&#039;$Burst Delay:&#039;&#039;&#039; ) delay than usually&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
===$Burst Delay:===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Defines the time in milliseconds between the shots in a burst&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Burst Flags:===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Defines the flags used to define the burst firing behaviour&lt;br /&gt;
**Syntax: ( &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039; ), list of flags&lt;br /&gt;
**Available burst flags:&lt;br /&gt;
***&#039;&#039;&#039;&amp;quot;fast firing&amp;quot;&#039;&#039;&#039;, acts as if &#039;&#039;&#039;same turret cooldown&#039;&#039;&#039; flag would be used between the shots in the burst.&lt;br /&gt;
***&#039;&#039;&#039;&amp;quot;random length&amp;quot;&#039;&#039;&#039;, makes AI to fire burst of random length (from 1 to burst shots).}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Thruster Flame Effect:===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Defines the filename of the effect used on the modeled thruster of the missile&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Thruster Glow Effect:===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Defines the filename of the effect used on the glow type effect of the missile&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Thruster Glow Radius Factor:===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Defines the radius multiplier for the thruster&#039;s glow type effect&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
===$Substitute:===&lt;br /&gt;
{{Table3613|&lt;br /&gt;
*Defines a pattern of ammo to substitute for primary or secondary weapons. &#039;&#039;&#039;$substitute:&#039;&#039;&#039; can be repeated any number of times. &#039;&#039;+frequency&#039;&#039; and &#039;&#039;+index&#039;&#039; will grow the pattern array anytime something does not fit so any whole number will be accepted.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Weapon Name&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+frequency:&#039;&#039;&#039;&lt;br /&gt;
*Substitute &#039;&#039;&#039;Weapon Name&#039;&#039;&#039; every &#039;&#039;frequency&#039;&#039; shots.  &#039;&#039;&#039;Mutually exclusive with &#039;&#039;+index&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Positive Integer&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+offset:&#039;&#039;&#039;&lt;br /&gt;
*Shift frequency pattern &#039;&#039;offset&#039;&#039; shots.  &#039;&#039;&#039;Must be used with &#039;&#039;+frequency&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Positive Integer&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+index:&#039;&#039;&#039;&lt;br /&gt;
*Substitute the &#039;&#039;&#039;Weapon Name&#039;&#039;&#039; at &#039;&#039;index&#039;&#039; in the shot pattern. &#039;&#039;&#039;Mutually exclusive with &#039;&#039;+frequency&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Positive Integer&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Weapons.tbl Flags==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;Electronics&amp;quot;===&lt;br /&gt;
*Will seize up the weapons and engines systems of any ship for a short period of time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;Spawn &#039;&#039;Name&#039;&#039;,&#039;&#039;Value&#039;&#039;&amp;quot;===&lt;br /&gt;
*Will spawn the specified number of defined missiles upon detonation.&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Multiple spawn types can be defined for a single &#039;carrier&#039; weapon up to maximum of 5 different weapons}}&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;Remote Detonate&amp;quot;===&lt;br /&gt;
*Can be triggered remotely via a second press on the trigger&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;Big Ship&amp;quot;===&lt;br /&gt;
*These weapons cannot be mounted on small ships like fighters, bombers, sentry guns etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;Huge&amp;quot;===&lt;br /&gt;
*Allows this weapon to do the final 10% damage to a ship with the &amp;quot;Big Damage&amp;quot; flag. Also the AI will not try to hit fighters with it.&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;Supercap&amp;quot;===&lt;br /&gt;
*Allows this weapon to do the final 75% damage to a ship with the &amp;quot;supercap&amp;quot; flag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;Bomber+&amp;quot;===&lt;br /&gt;
*The AI will prefer to use this weapon against bombers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;child&amp;quot;===&lt;br /&gt;
*Cannot be set as a weapon on any ship, but is instead a child of a weapon. Usually defined with &amp;quot;Spawn &#039;&#039;Name&#039;&#039;,&#039;&#039;Value&#039;&#039;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;Bomb&amp;quot;===&lt;br /&gt;
*Makes this weapon targetable with the B key, and the AI prefers to use it against large ships&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;No Dumbfire&amp;quot;===&lt;br /&gt;
*Missile will not fire without a lock&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;in tech database&amp;quot;===&lt;br /&gt;
*Has the weapon in the tech database at the start of the campaign&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;Player allowed&amp;quot;===&lt;br /&gt;
*Allows this weapon as a player weapon.&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*&#039;&#039;&#039;EXTREMELY IMPORTANT NOTE:&#039;&#039;&#039;&lt;br /&gt;
**Whenever you plan to use a weapon as a player one in your campaign or missions, &#039;&#039;&#039;USE THIS FLAG&#039;&#039;&#039;.&lt;br /&gt;
**Not using it can cause problems within fs_open and it&#039;s a BAD MOD DESIGN.&lt;br /&gt;
**In the future, fs_open will maybe be able to avoid these problems but, nevertheless, it&#039;s still a BAD DESIGN.&lt;br /&gt;
**As another possible example: be careful to update &amp;quot;retail&amp;quot; tables if you plan to use Shivan weapons in player fighters.}}&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;Particle Spew&amp;quot;===&lt;br /&gt;
*Makes the weapon projectile spew out particles&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Can be defined with [[Weapons.tbl#$Pspew:|Particle Spew parameters]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;EMP&amp;quot;===&lt;br /&gt;
*This weapon will have an EMP effect on any ship within the blast radius&lt;br /&gt;
*Can be defined with [[Weapons.tbl#$EMP_Intensity:|EMP Intensity]] and [[Weapons.tbl#$EMP_Time:|EMP Time]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;Esuck&amp;quot;===&lt;br /&gt;
*Drains the target&#039;s energy banks&lt;br /&gt;
*Can be defined with [[Weapons.tbl#$Leech_Weapon:|Leech Weapon]] and [[Weapons.tbl#$Leech_Afterburner:|Leech Afterburner]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;Flak&amp;quot;===&lt;br /&gt;
*Makes this weapon a [[weapons.tbl#Flak_Guns|flak gun]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;Corkscrew&amp;quot;===&lt;br /&gt;
*Makes this weapon spiral AND swarm 4.&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Can be defined with [[Weapons.tbl#$Corkscrew:|Corkscrew parameters]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;Shudder&amp;quot;===&lt;br /&gt;
*Makes your ship shudder while you&#039;re firing the weapon&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;lockarm&amp;quot;===&lt;br /&gt;
*Requires a target lock in order to arm its warhead. In other words weapon causes less damage if it hits the target without target lock.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;beam&amp;quot;===&lt;br /&gt;
*Makes this weapon a [[weapons.tbl#Beam Cannons|beam cannon]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;stream&amp;quot;===&lt;br /&gt;
* Does nothing&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;puncture&amp;quot;===&lt;br /&gt;
*Reduces hull damage by 75%&lt;br /&gt;
The AI will prefer these weapons for anti-subsystem use&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;countermeasure&amp;quot;===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines the weapon as a countermeasure}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;Ballistic&amp;quot;===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines the weapon as a ballistic weapon that needs ammunition.&lt;br /&gt;
*Make sure you define the size and reload rate for ballistic weapons}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;pierce shields&amp;quot;===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Causes weapons to penetrate shield without causing damage to it.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;no pierce shields&amp;quot;===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Prevents weapons (beams) from piercing shields causing shields to be damaged by weapons first.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;local ssm&amp;quot;===&lt;br /&gt;
{{Table3610| }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;tagged only&amp;quot;===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Weapon can only be fired at tagged targets}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;beam no whack&amp;quot;===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Disables beam whacking (push). Practically same as setting beam mass to zero.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;cycle&amp;quot;===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Causes weapon to alternate between firing points}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;small only&amp;quot;===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Causes AI to use the weapon only on small targets (fighters, bombers etc.)}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;same turret cooldown&amp;quot;===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Forces the turrets to fire on the designated rate of fire on all difficulty levels and all AI levels}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;apply no light&amp;quot;===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Prevents light from being applied to the weapon model.}}&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;training&amp;quot;===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Sets weapon to be of training weapon type. ?}}&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;smart spawn&amp;quot;===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Forces turret fired spawn weapon of this type to be fired like normal weapons.}}&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;inherit parent target&amp;quot;===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Sets spawned &#039;child&#039; weapons to use parent weapon&#039;s target.}}&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;no emp kill&amp;quot;===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Defines the weapon (with hitpoints) to be immune to automatic EMP destruction.}}&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;untargeted heat seeker&amp;quot;===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Defines the weapon as a heatseeker type missile which acquires its target by itself.}}&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;no radius doubling&amp;quot;===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Prevents weapon radius from being doubled when doing collision test. Makes bombs harder to intercept.}}&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;no subsystem homing&amp;quot;===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Prevents weapon from acquiring a subsystem as its target. Missile homing points are spread over the target ship.}}&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;no lifeleft penalty&amp;quot;===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Prevents weapon lifetime from being penalized if the angle to the target is too big.}}&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;can be targeted&amp;quot;===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Allows weapon to be targeted by player. Does not influence AI}}&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;show on radar&amp;quot;===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Allows weapon to be visible on the radar}}&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;show friendly on radar&amp;quot;===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Allows friendly, otherwise visible to radar weapon, to be visible on player radar}}&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;capital+&amp;quot;===&lt;br /&gt;
{{Table3613|&lt;br /&gt;
*Tells AI to use this weapon only on capital ships}}&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;chain external model fps&amp;quot;===&lt;br /&gt;
{{Table3613|&lt;br /&gt;
*Tells game to keep switching external model firingpoints when firing}}&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;external model launcher&amp;quot;===&lt;br /&gt;
{{Table3613|&lt;br /&gt;
*Tells game that the external model is a launcher so that it would be kept static without loading motion}}&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;takes blast damage&amp;quot;===&lt;br /&gt;
{{Table3613|&lt;br /&gt;
*Weapon takes damage from weapon blasts}}&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;takes shockwave damage&amp;quot;===&lt;br /&gt;
{{Table3613|&lt;br /&gt;
*Weapon takes damage from shockwaves}}&lt;br /&gt;
&lt;br /&gt;
==Countermeasures==&lt;br /&gt;
*Usually not altered. Only one can exist&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*More than one can exist}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Name:===&lt;br /&gt;
*Name of the countermeasure&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Velocity:===&lt;br /&gt;
*Defines the speed of the countermeasure, relative to the ship.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meter per second&lt;br /&gt;
&lt;br /&gt;
===$Fire Wait:===&lt;br /&gt;
*Definies the minumum time between the countermeasure launches&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Lifetime===&lt;br /&gt;
*Countermeasure&#039;s life time is defined between with minimum and maximum lifetime&lt;br /&gt;
*&#039;&#039;&#039;$Lifetime Min:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds&lt;br /&gt;
*&#039;&#039;&#039;$Lifetime Max:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$LaunchSnd:===&lt;br /&gt;
*Defines the sound for the countermeasure launch&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name or identification number of the sound as defined in [[sounds.tbl]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Model:===&lt;br /&gt;
*Defines the used model file (.pof)&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String.pof&#039;&#039;&#039;&#039;&#039;, model filename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Player Weapon Precedence==&lt;br /&gt;
*First the primary weapons are defined, from most powerful to least powerful, and then the same for secondaries&lt;br /&gt;
*Syntax: ( &#039;&#039;&#039;&#039;&#039;&amp;quot;String&amp;quot; &amp;quot;String&amp;quot;&#039;&#039;&#039;&#039;&#039;), names of the weapons&lt;br /&gt;
*Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$Player Weapon Precedence: (&lt;br /&gt;
     &amp;quot;UD-8 Kayser&amp;quot;&lt;br /&gt;
     &amp;quot;Prometheus R&amp;quot;&lt;br /&gt;
     &amp;quot;Subach HL-7&amp;quot;&lt;br /&gt;
     &amp;quot;Harpoon&amp;quot;&lt;br /&gt;
     &amp;quot;Tempest&amp;quot;&lt;br /&gt;
     &amp;quot;Rockeye&amp;quot;   )&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Sample==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#Primary Weapons&lt;br /&gt;
&lt;br /&gt;
$Name:                            @Subach HL-7&lt;br /&gt;
   +Title:                           XSTR(&amp;quot;GTW Subach HL-7&amp;quot;, 3243)&lt;br /&gt;
   +Description:&lt;br /&gt;
XSTR( &amp;quot;Standard Issue&lt;br /&gt;
Level 3 Hull Damage&lt;br /&gt;
Level 2 Shield Damage&amp;quot;, 3244)&lt;br /&gt;
$end_multi_text&lt;br /&gt;
   +Tech Title:                      XSTR(&amp;quot;Subach HL-7&amp;quot;, 146)&lt;br /&gt;
   +Tech Anim:                       Tech_Subach_HL-7&lt;br /&gt;
   +Tech Description:&lt;br /&gt;
XSTR(&lt;br /&gt;
&amp;quot;Descriptive text...&amp;quot;, -1)&lt;br /&gt;
$end_multi_text&lt;br /&gt;
$Model File:                      none&lt;br /&gt;
   @Laser Bitmap:                    newglo9&lt;br /&gt;
   @Laser Glow:                      2_laserglow03&lt;br /&gt;
   @Laser Color:                     250, 0, 0&lt;br /&gt;
   @Laser Color2:                    0, 0, 250&lt;br /&gt;
   @Laser Length:                    10.0&lt;br /&gt;
   @Laser Head Radius:               0.90&lt;br /&gt;
   @Laser Tail Radius:               0.90&lt;br /&gt;
$Mass:                            0.2&lt;br /&gt;
$Velocity:                        450.0&lt;br /&gt;
$Fire Wait:                       0.2&lt;br /&gt;
$Damage:                          15&lt;br /&gt;
$Armor Factor:                    0.9&lt;br /&gt;
$Shield Factor:                   0.7&lt;br /&gt;
$Subsystem Factor:                0.3&lt;br /&gt;
$Lifetime:                        2.0&lt;br /&gt;
$Energy Consumed:                 0.20&lt;br /&gt;
$Cargo Size:                      0.0&lt;br /&gt;
$Homing:                          NO&lt;br /&gt;
$LaunchSnd:                       76&lt;br /&gt;
$ImpactSnd:                       85&lt;br /&gt;
$Flags:                           (  &amp;quot;in tech database&amp;quot;&lt;br /&gt;
                                     &amp;quot;player allowed&amp;quot;&lt;br /&gt;
                                     &amp;quot;stream&amp;quot;)&lt;br /&gt;
$Icon:                            iconSD4&lt;br /&gt;
$Anim:                            SD4&lt;br /&gt;
$Impact Explosion:                none&lt;br /&gt;
&lt;br /&gt;
#End&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#Secondary Weapons&lt;br /&gt;
&lt;br /&gt;
$Name:                            EMP Adv.&lt;br /&gt;
   +Title:                           XSTR(&amp;quot;GTM-14 EMP Adv.&amp;quot;, 3396)&lt;br /&gt;
   +Description:&lt;br /&gt;
XSTR( &amp;quot;Advanced Missile&lt;br /&gt;
Electromagnetic Pulse Weapon&lt;br /&gt;
General Purpose Suppression&amp;quot;, 3397)&lt;br /&gt;
$end_multi_text&lt;br /&gt;
   +Tech Title:                      XSTR(&amp;quot;GTM-14 EM Pulse Adv.&amp;quot;, 3398)&lt;br /&gt;
   +Tech Anim:                       Tech_EMP&lt;br /&gt;
   +Tech Description:&lt;br /&gt;
XSTR(&lt;br /&gt;
&amp;quot;Descriptive text...&amp;quot;, -1)&lt;br /&gt;
$end_multi_text&lt;br /&gt;
$Model File:                      EMPulse2.pof&lt;br /&gt;
$Mass:                            15.0&lt;br /&gt;
$Velocity:                        275.0&lt;br /&gt;
$Fire Wait:                       2.0&lt;br /&gt;
$Damage:                          45&lt;br /&gt;
$Blast Force:                     20.0&lt;br /&gt;
$Inner Radius:                    80.0&lt;br /&gt;
$Outer Radius:                    300.0&lt;br /&gt;
$Shockwave Speed:                 120.0&lt;br /&gt;
$Armor Factor:                    1.0&lt;br /&gt;
$Shield Factor:                   0.8&lt;br /&gt;
$Subsystem Factor:                0.5&lt;br /&gt;
$Lifetime:                        5.0&lt;br /&gt;
$Energy Consumed:                 0.0&lt;br /&gt;
$Cargo Size:                      4.0&lt;br /&gt;
$Homing:                          YES&lt;br /&gt;
   +Type:                            ASPECT&lt;br /&gt;
   +Turn Time:                       1.0&lt;br /&gt;
   +Min Lock Time:                   2.0&lt;br /&gt;
   +Lock Pixels/Sec:                 70&lt;br /&gt;
   +Catch-up Pixels/Sec:             100&lt;br /&gt;
   +Catch-up Penalty:                30&lt;br /&gt;
$LaunchSnd:                       118&lt;br /&gt;
$ImpactSnd:                       88&lt;br /&gt;
$FlyBySnd:                        -1&lt;br /&gt;
$Rearm Rate:                      2.0&lt;br /&gt;
$Flags:                           (  &amp;quot;player allowed&amp;quot;&lt;br /&gt;
                                     &amp;quot;EMP&amp;quot;)&lt;br /&gt;
$Trail:&lt;br /&gt;
   +Start Width:                     0.25&lt;br /&gt;
   +End Width:                       0.75&lt;br /&gt;
   +Start Alpha:                     1.0&lt;br /&gt;
   +End Alpha:                       0.0&lt;br /&gt;
   +Max Life:                        1.5&lt;br /&gt;
   +Bitmap:                          MissileTrail04&lt;br /&gt;
$Icon:                            iconEMPulse&lt;br /&gt;
$Anim:                            ecm&lt;br /&gt;
$Impact Explosion:                ExpMissileHit1&lt;br /&gt;
$Impact Explosion Radius:         10.0&lt;br /&gt;
$EMP Intensity:                   375.0&lt;br /&gt;
$EMP Time:                        20.0&lt;br /&gt;
&lt;br /&gt;
#End&lt;br /&gt;
&lt;br /&gt;
$Player Weapon Precedence: (&lt;br /&gt;
     &amp;quot;Subach HL-7&amp;quot;&lt;br /&gt;
     &amp;quot;EMP Adv.&amp;quot;   )&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Tables]]&lt;/div&gt;</summary>
		<author><name>Nuke</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Weapons.tbl&amp;diff=33406</id>
		<title>Weapons.tbl</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Weapons.tbl&amp;diff=33406"/>
		<updated>2011-02-04T17:34:50Z</updated>

		<summary type="html">&lt;p&gt;Nuke: /* $Pspew: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Fileversion|6978}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Special Case Weapons==&lt;br /&gt;
===Beam Cannons===&lt;br /&gt;
*&#039;&#039;&#039;REQUIRES: &amp;quot;beam&amp;quot; flag&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;REQUIRES: [[weapons.tbl#$BeamInfo:|$BeamInfo:]]&#039;&#039;&#039;&lt;br /&gt;
===Flak Guns===&lt;br /&gt;
*&#039;&#039;&#039;REQUIRE: &amp;quot;flak&amp;quot; and &amp;quot;particle spew&amp;quot; flags&#039;&#039;&#039;&lt;br /&gt;
*Must have inner and outer radius defined to have any effect.&lt;br /&gt;
*Does not use any model or weapon effect though model must be defined, usually Hornet.pof. Instead it uses [[Weapons.tbl#$Pspew:|particle spew]]. Trails can also be added.&lt;br /&gt;
&lt;br /&gt;
==Weapons Table==&lt;br /&gt;
&lt;br /&gt;
==General Format==&lt;br /&gt;
*The weapons table consist of several sections&lt;br /&gt;
*All sections beginning with &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; need &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;End&#039;&#039;&#039; before the next section.&lt;br /&gt;
**&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;Primary Weapons&#039;&#039;&#039;&lt;br /&gt;
***Defines all &#039;&#039;&#039;standard primaries weapons&#039;&#039;&#039; as well as &#039;&#039;&#039;beam cannons&#039;&#039;&#039; and &#039;&#039;&#039;flak cannons&#039;&#039;&#039;.&lt;br /&gt;
**&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;Secondary Weapons&#039;&#039;&#039;&lt;br /&gt;
***Defines all &#039;&#039;&#039;secondary weapons&#039;&#039;&#039;.&lt;br /&gt;
**&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;Beam Weapons&#039;&#039;&#039;&lt;br /&gt;
***I haven&#039;t got any ideas for this one.&lt;br /&gt;
**&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;[[Weapons.tbl#Countermeasures|Countermeasures]]&#039;&#039;&#039;&lt;br /&gt;
***Defines the used countermeasure.&lt;br /&gt;
**&#039;&#039;&#039;$Player Weapon Precedence&#039;&#039;&#039;&lt;br /&gt;
***Player Weapon Precedence is used in weapon selection when a default specified by the mission designer is not available to the player. The next weapon on the list is used in its place (assuming that weapon is allowed for the player).&lt;br /&gt;
&lt;br /&gt;
==Core Table==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Name:===&lt;br /&gt;
*This is the name of the weapon. If it&#039;s going to be used by the player, keep it under 12 characters so it doesn&#039;t spill over the HUD box.&amp;lt;br&amp;gt;Two special characters can be used in the name: &#039;&#039;&#039;#&#039;&#039;&#039; and &#039;&#039;&#039;@&#039;&#039;&#039;. Their usage details are the very same than inside the [[Ships.tbl#.24Name:_2|$Name field from Ships.tbl]].&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====+nocreate====&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*In [[Modular Tables]] name can be followed by line &#039;&#039;&#039;+nocreate&#039;&#039;&#039; that prevent game from creating an incomplete entry by leaving the entry unread unless it already exists (either in ship.tbl or in earlier parsed *-shp.tbm files) by the time the *-shp.tbm is read.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Alt Name:===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*An alternative name that can be referenced instead of $Name:&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Subtype:===&lt;br /&gt;
{{Table3610| }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===+Title:===&lt;br /&gt;
*This is the title of the weapon in the Weapons loadout screen. Only needed for player allowed weapons. Title may be anything.  Numerical value is a reference to translations in [[Tstrings.tbl]]&lt;br /&gt;
*Syntax: XSTR(&#039;&#039;&#039;&#039;&#039;&amp;quot;String&amp;quot;&#039;&#039;&#039;&#039;&#039;, -1)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===+Description:===&lt;br /&gt;
*This is the description you see in the weapons loadout screen. Again, these aren&#039;t based on any hard numbers, just approximations. Only needed for player allowed weapons. Numerical value is a reference to translations in [[Tstrings.tbl]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
XSTR(&lt;br /&gt;
&amp;quot;&#039;&#039;Standard Issue&lt;br /&gt;
&#039;&#039;Level 3 Hull Damage&lt;br /&gt;
&#039;&#039;Level 2 Shield Damage&#039;&#039;&amp;quot;, -1)&lt;br /&gt;
$end_multi_text&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===+Tech Title:===&lt;br /&gt;
*Title of the weapon in the Tech room. Only needed for player allowed weapons.&lt;br /&gt;
*Syntax: XSTR(&#039;&#039;&#039;&#039;&#039;&amp;quot;String&amp;quot;&#039;&#039;&#039;&#039;&#039;, -1)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===+Tech Anim:===&lt;br /&gt;
*Animation used for the weapon in the Tech room. Only needed for player allowed weapons.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, animation filename&lt;br /&gt;
**Example: &#039;&#039;Tech_Subach_HL-7&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===+Tech Description:===&lt;br /&gt;
*Descriptive text you see in the tech room. Only needed for player allowed weapons. Numerical value is a reference to translations in [[Tstrings.tbl]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Example&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
XSTR(&lt;br /&gt;
&amp;quot;&#039;&#039;The Subach-Innes HL-7...&#039;&#039;&amp;quot;, 3245)&lt;br /&gt;
$end_multi_text&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Tech Model:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines model used in wing loadout screen and in Tech Room for the weapon.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String.pof&#039;&#039;&#039;&#039;&#039;, model filename}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$HUD Image:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines the picture used to represent the weapon in HUD loadout list&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Model File:===&lt;br /&gt;
*Filename of the model file (.pof) at data/models folder. Additional fields beginning from &#039;&#039;&#039;&#039;&#039;@Laser Bitmap:&#039;&#039;&#039;&#039;&#039; and ending to &#039;&#039;&#039;&#039;&#039;@Laser Tail Radius:&#039;&#039;&#039;&#039;&#039; are not needed if a model has been defined for the weapon.&lt;br /&gt;
*Standard primaries and beam cannons do not use specific models so for those the name is &#039;none&#039;.&lt;br /&gt;
*Flak weapons and secondaries use models, though the exact model is not important with the flak weapons.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String.pof&#039;&#039;&#039;&#039;&#039; or &#039;&#039;none&#039;&#039;, model filename&lt;br /&gt;
**Example: &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$POF target LOD:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines the LOD (Level-Of-Detail) of the model used in HUD targetting view&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
===$Detail Distance:===&lt;br /&gt;
{{Table3613|&lt;br /&gt;
*Defines the distance where the change between different Levels-Of-Details (LODs) occurs&lt;br /&gt;
*Take notice that these are base values. Model detail in Detail options, (within game press F2), applies a multiplier to these values. These multipliers are (from left to right): 1/8, 1/4, 1, 4, 8&lt;br /&gt;
*Optional.  If not defined the game uses the formula ((radius * 20.0 + 20.0) * LOD)&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;(Detail Distances)&#039;&#039;&#039;&#039;&#039; , list of &#039;&#039;&#039;integers&#039;&#039;&#039; (same amount as LODs), distances from the model in meters&lt;br /&gt;
**Example: &#039;&#039;(0, 80, 300, 900)&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
===$External Model File:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines the models shown on the gunpoint, used with Bobb&#039;s external-visible-weapon code.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String.pof&#039;&#039;&#039;&#039;&#039;, model filename}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Submodel Rotation Speed:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines the rotation speed of the external weapon model&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Submodel Rotation Acceleration:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines the rotation acceleration of the external weapon model&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===@Laser Bitmap:===&lt;br /&gt;
**The graphic file to be used as the weapon effect if no model is defined.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===@Laser Glow:===&lt;br /&gt;
**The graphic file that determines the glow of the weapon effect if no model is defined. The color in which this gets drawn is determined by @Laser Color and @Laser Color2.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===@Laser Color:===&lt;br /&gt;
**The color of the glow effect when you fire the weapon.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Color&#039;&#039;&#039;&#039;&#039;, red, green, blue respectively, value from 0 to 255&lt;br /&gt;
***Example: &#039;&#039;250, 0, 0&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===@Laser Color2:===&lt;br /&gt;
**The color of the glow effect at the weapon&#039;s maximum range.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Color&#039;&#039;&#039;&#039;&#039;, red, green, blue respectively, value from 0 to 255&lt;br /&gt;
***Example: &#039;&#039;0, 0, 250&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===@Laser Length:===&lt;br /&gt;
**Length of the weapon effect.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===@Laser Head Radius:===&lt;br /&gt;
**Width of the head of the weapon effect.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===@Laser Tail Radius:===&lt;br /&gt;
**Width of the tail of the weapon effect.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Mass:===&lt;br /&gt;
*How much of a kinetic effect this weapon has on its target. 3+ gives you the Flail effect. Set it to 10 and you can knock cruisers around.&lt;br /&gt;
*This is somehow multiplied by the speed. ie &#039;&#039;$Mass: 3&#039;&#039; and &#039;&#039;$Velocity: 200&#039;&#039; has much weaker kinetic effect than &#039;&#039;$Mass: 3&#039;&#039; and &#039;&#039;$Velocity: 1000&#039;&#039;. Also $Mass is used to calculate intensity of &amp;quot;shudder&amp;quot; effect if flagged.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, blast effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Velocity:===&lt;br /&gt;
*How fast the weapon travels. Is also used to define the weapon range, &#039;&#039;&#039;&#039;&#039;$Velocity x $Lifetime = range&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
*Beams travel instantly so this field has effect only on weapon range and AI beam targetting with certain beam types. $Velocity of beam also applies to its kinetic effect along with $Mass.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters per second&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Fire Wait:===&lt;br /&gt;
*Time in seconds between firings&lt;br /&gt;
*Note that Fire wait will be reset to 1 if it is set over 5 for non turreted primary weapons &lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds&lt;br /&gt;
&lt;br /&gt;
===$Damage:===&lt;br /&gt;
*Base damage this weapon does. The actual damage is this number multiplied by the factors below.&lt;br /&gt;
*Base damage this beam does is continuous damage, damage is 5.5 times the damage value per second. The actual damage is this number multiplied by one of the factors below.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, damage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Damage Type:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines the damage type that this weapon uses. All armor effects are applied after shield and have no function against shockwave or subsystem damage. &#039;&#039;&#039;REQUIRES ADDITIONAL TABLE&#039;&#039;&#039;.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name of the damage type as defined in [[armor.tbl]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Arm time:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines the time after the launch that is required before the weapon comes hot&lt;br /&gt;
*If the time has not been reached when the weapon detonates the Dinky explosion is used&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Arm distance:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines the distance from the firing ships that is required before the weapon comes hot&lt;br /&gt;
*If the distance has not been reached when the weapon detonates the Dinky explosion is used&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Arm radius:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines the distance from the target where the weapon will arm itself&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Detonation Range:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines the distance from the point in space that the weapon was launched where the weapon will detonate&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Detonation Radius:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines the distance between the target center point point and the weapon which detonates the weapon.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Shockwave damage:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Override for the damage caused by shockwaves&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, damage}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Shockwave Damage Type:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*&#039;&#039;&#039;REQUIRES ADDITIONAL TABLE&#039;&#039;&#039;. Defines the damage type used for the weapon explosions&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name as defined in [[armor.tbl]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Blast Force:===&lt;br /&gt;
*The intensity of the kinetic blast effect when ship is within the outer radius of the explosion. Comes in effect only if inner and outer radius are defined.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, blast effect&lt;br /&gt;
&lt;br /&gt;
===$Inner Radius:===&lt;br /&gt;
*Radius at which the full explosion damage is done. Marks the line where damage attenuation begins.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Outer Radius:===&lt;br /&gt;
*Maximum radius at which any damage is done&lt;br /&gt;
*Also defines the size of the shockwave (if shockwave speed is &amp;gt; 0)&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
&lt;br /&gt;
===$Shockwave Speed:===&lt;br /&gt;
*Speed shockwave expands at. Zero means no shockwave and that damage is applied immediately&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters per second&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Shockwave rotation:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines how the 3D shockwave is rotated.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Angle&#039;&#039;&#039;&#039;&#039;, three values, pitch, bank, heading respectively, in degrees}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Shockwave model:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines the model file (.pof) used as a shockwave for the 3D shockwaves.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String.pof&#039;&#039;&#039;&#039;&#039;, model filename}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Shockwave name:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines the name of the animation used for the 2D shockwave&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Dinky shockwave:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Dinky shockwave are used if the weapon is shot down before arming or if the conditions marked at &#039;&#039;&#039;Arm time&#039;&#039;&#039; and &#039;&#039;&#039;Arm distance&#039;&#039;&#039; are not reached before impact&lt;br /&gt;
*It uses exactly same entries as the standard shockwaves&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;+Shockwave damage:&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;+Shockwave damage type:&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;+Blast Force:&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;+Inner Radius:&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;+Outer Radius:&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;+Shockwave Speed:&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;+Shockwave Rotation:&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;+Shockwave Model:&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;&#039;&#039;+Shockwave Name:&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Armor Factor:===&lt;br /&gt;
*Multiplier for the damage done to armor&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, damage multiplier&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Shield Factor:===&lt;br /&gt;
*Multiplier for the damage done to shields&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, damage multiplier&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Subsystem Factor:===&lt;br /&gt;
*Multiplier for the damage done to subsystems&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, damage multiplier&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Lifetime Min:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines the minimum lifetime of the weapon&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Lifetime Max:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines the maximum lifetime of the weapon&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Lifetime:===&lt;br /&gt;
*Time before the standard primaries fizzle out and secondaries self destruct. Multiply this by the speed to get the range. If values are too low (below framerate) then the collision detection and graphic effects may suffer.&lt;br /&gt;
*This field has no effect for the beams apart from weapon range and AI beam targeting with certain beam types&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Energy Consumed:===&lt;br /&gt;
*The amount of energy each bolt drains firing ship. Has no effect on turretted weapons.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Cargo Size:===&lt;br /&gt;
*Cargo size, is not used with non-ballistic primaries.&lt;br /&gt;
*Amount of missiles available = Bank capacity / Cargo Size.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Homing:===&lt;br /&gt;
*Only for secondaries. You can&#039;t have homing primaries. If this is set to YES with primaries, then the bolts turn to face their target but keep moving in the same direction. If the field is set to NO then following fields are not required in the table.&lt;br /&gt;
*Defines if the missiles in question is homing&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Boolean&#039;&#039;&#039;&#039;&#039;, yes or no&lt;br /&gt;
*&#039;&#039;&#039;+Type:&#039;&#039;&#039;&lt;br /&gt;
**Defines the homing method&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, &#039;&#039;ASPECT&#039;&#039; or &#039;&#039;HEAT&#039;&#039;&lt;br /&gt;
{{Table3610| An additional option, &#039;&#039;JAVELIN&#039;&#039;, has been added.  This behaves like an aspect missile but automatically only locks onto the engines of a target, and only if the engines are in sight.}}&lt;br /&gt;
*&#039;&#039;&#039;+Turn Time:&#039;&#039;&#039;&lt;br /&gt;
**Defines how well missile maneuvers. Number of seconds it takes the missile to do a 360 degree circle&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds&lt;br /&gt;
*&#039;&#039;&#039;+View Cone:&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;Heat-seeking missiles only&#039;&#039;&#039;, this is then number of degrees the missile sees. Value / 2 gives the angle from the missile&#039;s centerline.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, degrees&lt;br /&gt;
{{Table3610| Has been enabled also to aspect seekers as an option.}}&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;+Min Lock Time:&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;For aspect/javelin missiles only&#039;&#039;&#039;, the minimum number of seconds to gain target lock&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds&lt;br /&gt;
*&#039;&#039;&#039;+Lock Pixels/Sec:&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;For aspect/javelin missiles only&#039;&#039;&#039;, pixels the aspect triangle moves per second while attempting lock-on&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;, pixels per second&lt;br /&gt;
*&#039;&#039;&#039;+Catch-up Pixels/Sec:&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;For aspect/javelin missiles only&#039;&#039;&#039;, pixels moved per second while attempting to catch up to the target&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;, pixels per second&lt;br /&gt;
*&#039;&#039;&#039;+Catch-up Penalty:&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;For aspect/javelin missiles only&#039;&#039;&#039;, extra pixels to move after catching up ????&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;, pixels&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*&#039;&#039;&#039;+Seeker Strength:&#039;&#039;&#039;&lt;br /&gt;
**Defines the seeking ability of the homing system. Default of heat seekers is 3 and for aspect seekers 2. Spoofing change is defined as &#039;&#039;&#039;cm type effectiveness&#039;&#039;&#039;/&#039;&#039;&#039;seeker strength&#039;&#039;&#039;.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seeker strength}}&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*&#039;&#039;&#039;+Target Lead Scaler:&#039;&#039;&#039;&lt;br /&gt;
**Defines the type of pursuit course the missile tries to obtain.&lt;br /&gt;
**Values &amp;lt; 0 give lag pursuit, values ~ 0 give pure pursuit, values &amp;gt; 0 give lead pursuit.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, default for heat seekers: 0, default for aspect or javelin seekers: 1.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Swarm:===&lt;br /&gt;
*The number of missiles to fire per volley if it&#039;s a swarm missile&lt;br /&gt;
*Can be issued to Standard primaries also. Causes single part turrets to malfunction but causes multi part turrets to fire only on their barrel line. Can be used for &#039;burst fire weapons&#039;. Does not work with player weapons.&lt;br /&gt;
*Is incompatible with &amp;quot;Corkscrew&amp;quot; option.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;, number of shots in a swarm&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*&#039;&#039;&#039;+SwarmWait:&#039;&#039;&#039;&lt;br /&gt;
**Defines the time between weapons fired in a swarm&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds&lt;br /&gt;
***Default: 0.150}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Free Flight Time:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines the free flight time of homing weapons. During this time weapon flies at 1/4 of its velocity + firing ships velocity in a straight line.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds&lt;br /&gt;
**Default: 0.25}}&lt;br /&gt;
&lt;br /&gt;
===$Free Flight Speed:===&lt;br /&gt;
{{Table3613|&lt;br /&gt;
*Defines the speed that the weapon will be travelling at during the free flight segment (see above).&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, Multiplier for the actual speed, minimum 0.01.&lt;br /&gt;
**Default: 0.25}}&lt;br /&gt;
&lt;br /&gt;
===$LaunchSnd:===&lt;br /&gt;
*Corresponding sound effect when the weapon is launched.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name or identification number of the sound as defined in [[sounds.tbl]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$ImpactSnd:===&lt;br /&gt;
*Sound the weapon makes when it hits a hull.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name or identification number of the sound as defined in [[sounds.tbl]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Disarmed ImpactSnd:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Sound the weapon makes when it hits a hull before being armed.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name or identification number of the sound as defined in [[sounds.tbl]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$FlyBySnd:===&lt;br /&gt;
*The sound this weapon makes if it narrowly misses you. -1 is no sound.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name or identification number of the sound as defined in [[sounds.tbl]], usually -1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Model:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines used model file. Included for compatibility with countermeasures as they have been merged with weapons in the code.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String.pof&#039;&#039;&#039;&#039;&#039;, model filename}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Rearm Rate:===&lt;br /&gt;
*Defines the rate the weapons are loaded to the ship&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, missiles loaded per second&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===+Weapon Range:===&lt;br /&gt;
*Defines the range to the target where the weapons under AI will start firing.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===+Weapon Min Range:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines the minimum range to the target where the weapons under AI will still fire.&lt;br /&gt;
*Implemented before FS_Open 3.6.5&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Flags:===&lt;br /&gt;
*See [[Weapons.tbl#Weapons.tbl_Flags|below]]&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;( &amp;quot;String&amp;quot; &amp;quot;String&amp;quot; )&#039;&#039;&#039;&#039;&#039;, names of the flags assigned to the weapon&lt;br /&gt;
**Example: ( &amp;quot;Player allowed&amp;quot; &amp;quot;in tech database&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Can be followed by &#039;&#039;&#039;+override&#039;&#039;&#039; option in order to reset the weapon flags before parsing in the new ones&lt;br /&gt;
*Using this option will erase all &#039;&#039;&#039;homing&#039;&#039;&#039;-related flags as well as &#039;&#039;&#039;swarm&#039;&#039;&#039;, &#039;&#039;&#039;variable lead&#039;&#039;&#039;, &#039;&#039;&#039;trail&#039;&#039;&#039;, &#039;&#039;&#039;TAG&#039;&#039;&#039;, and &#039;&#039;&#039;transparent&#039;&#039;&#039; settings in addition to the listed flags. All these should be set again - if they are required - when this option is used.&lt;br /&gt;
&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;+override&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Trail:===&lt;br /&gt;
*This is used if you want your weapon to have a trail. Trail is often used only with secondaries though it works with standard primaries as well.&lt;br /&gt;
*&#039;&#039;&#039;+Start Width:&#039;&#039;&#039;&lt;br /&gt;
**How wide the head of the trail is.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
*&#039;&#039;&#039;+End Width:&#039;&#039;&#039;&lt;br /&gt;
**How wide the tail of the trail is.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
*&#039;&#039;&#039;+Start Alpha:&#039;&#039;&#039;&lt;br /&gt;
**The opacity of the trail head.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, value between 0 and 1&lt;br /&gt;
*&#039;&#039;&#039;+End Alpha:&#039;&#039;&#039;&lt;br /&gt;
**The opacity of the trail tail.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, value between 0 and 1&lt;br /&gt;
*&#039;&#039;&#039;+Max Life:&#039;&#039;&#039;&lt;br /&gt;
**How long the trail lasts.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds&lt;br /&gt;
*&#039;&#039;&#039;+Bitmap:&#039;&#039;&#039;&lt;br /&gt;
**The graphic file to use for the trail.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*&#039;&#039;&#039;+Faded Out Sections:&#039;&#039;&#039;&lt;br /&gt;
**Defines the number of the trail sections (counting from the leading edge) which are gradually faded out.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;, number of trail sections}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Icon:===&lt;br /&gt;
*Loadout icon used in the weapons selection screen.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Anim:===&lt;br /&gt;
*Green grid animation used on the weapons screen.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Collide Ship:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Has been replaced with &#039;&#039;&#039;#Conditional Hooks&#039;&#039;&#039;, see [[Scripting.tbl]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Collide Weapon:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Has been replaced with &#039;&#039;&#039;#Conditional Hooks&#039;&#039;&#039;, see [[Scripting.tbl]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Impact Explosion:===&lt;br /&gt;
*Impact explosion used. Must be defined in weapon_expl.tbl,&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename or &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Impact Explosion Radius:===&lt;br /&gt;
*Radius of the defined impact explosion.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Dinky impact explosion:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Same as Impact explosion but for Dinky (not armed) explosions&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename or &#039;&#039;none&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Dinky impact explosion radius:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Same as Impact explosion radius but for Dinky explosions&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Piercing Impact Explosion:===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Defines the effect used for events when weapon pierces the target&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename or &#039;&#039;none&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Piercing Impact Radius:===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Defines the base radius of the effect used for piercing weapon impacts&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Piercing Impact Velocity:===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Defines the base velocity for the particles piercing the target&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Piercing Impact Splash Velocity:===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Defines the base velocity for the particles splashing from the target (secondary piercing effects&lt;br /&gt;
*Negative value causes the second batch or particles to splash to opposite direction&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Piercing Impact Variance:===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Defines the variance added to the particles&lt;br /&gt;
*Values near 0 cause very little variance and values close to 1 cause extreme dispersal.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Piercing Impact Life:===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Defines the lifetime of the effect for single frame effects&lt;br /&gt;
*For multiple frame effects the lifetime is the lifetime of the animation used&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Piercing Impact Life:===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Defines the number of particles released per impact&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Piercing Impact Draw Modifier:===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Defines the multiplier applied to the ships piercing effect limit percentage&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
*Option removed in 3.6.12. Use [[armor.tbl]] to finetune piercing effects.&lt;br /&gt;
&lt;br /&gt;
===$Muzzleflash:===&lt;br /&gt;
*Normally only with flak cannons.&lt;br /&gt;
*Defines the muzzle flash the weapon uses&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, muzzleflash name, as defined in [[mflash.tbl]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$EMP Intensity:===&lt;br /&gt;
**If it has an EMP effect, how deeply it scrambles your electronics&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$EMP Time:===&lt;br /&gt;
**Duration of the EMP effect&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Leech Weapon:===&lt;br /&gt;
**The amount of weapon energy to drain with each hit&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Leech Afterburner:===&lt;br /&gt;
**The amount of afterburner fuel to drain with each hit&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Corkscrew:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Allow corkscrew parameters to be defined&lt;br /&gt;
*&#039;&#039;&#039;+Num Fired:&#039;&#039;&#039;&lt;br /&gt;
**Defines the number of weapons fired in sequence. Same as the standard swarm entry but for corkscrew missiles&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;, number of missiles&lt;br /&gt;
*&#039;&#039;&#039;+Radius:&#039;&#039;&#039;&lt;br /&gt;
**Defines the radius used in the corkscrew motion&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
*&#039;&#039;&#039;+Fire Delay:&#039;&#039;&#039;&lt;br /&gt;
**Defines the delay between missile firings&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;, milliseconds&lt;br /&gt;
*&#039;&#039;&#039;+Counter rotate:&#039;&#039;&#039;&lt;br /&gt;
**Defines if every other missile rotates to a different direction (clockwise / anticlockwise)&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Boolean&#039;&#039;&#039;&#039;&#039;, &#039;&#039;0&#039;&#039; or &#039;&#039;1&#039;&#039;, no or yes&lt;br /&gt;
*&#039;&#039;&#039;+Twist:&#039;&#039;&#039;&lt;br /&gt;
**Defines the speed of rotation movement on the radius of corkscrew motion.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, radians per second}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Electronics:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines the weapons effect against electronics. Requires [[weapons.tbl#&amp;quot;Electronics&amp;quot;|&amp;quot;electronics&amp;quot;]] flag. &#039;&#039;&#039;+New Style:&#039;&#039;&#039; and &#039;&#039;&#039;+Old Style:&#039;&#039;&#039; options are mutually exclusive.&lt;br /&gt;
*&#039;&#039;&#039;+New Style:&#039;&#039;&#039;&lt;br /&gt;
**Defines that the electronics use the new style which enables more options.&lt;br /&gt;
*&#039;&#039;&#039;+Old Style:&#039;&#039;&#039;&lt;br /&gt;
**Defines that the electronics use the old style.  The old style was the way the D-Missile worked in Descent: FreeSpace.&lt;br /&gt;
*&#039;&#039;&#039;+Intensity:&#039;&#039;&#039;&lt;br /&gt;
**May only be used with &#039;&#039;&#039;+New Style:&#039;&#039;&#039; electronics. &#039;&#039;&#039;&#039;&#039;Has been deprecated&#039;&#039;&#039;&#039;&#039;.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Lifetime:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;, milliseconds&lt;br /&gt;
*&#039;&#039;&#039;+Engine Multiplier:&#039;&#039;&#039;&lt;br /&gt;
**May only be used with &#039;&#039;&#039;+New Style:&#039;&#039;&#039; electronics. Defines how much longer the disruption effect lasts for engine subsystems.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Weapon Multiplier:&#039;&#039;&#039;&lt;br /&gt;
**May only be used with &#039;&#039;&#039;+New Style:&#039;&#039;&#039; electronics. Defines how much longer the disruption effect lasts for non-beam turrets.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Beam Turret Multiplier:&#039;&#039;&#039;&lt;br /&gt;
**May only be used with &#039;&#039;&#039;+New Style:&#039;&#039;&#039; electronics. Defines how much longer the disruption effect lasts for beam turrets.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Sensors Multiplier:&#039;&#039;&#039;&lt;br /&gt;
**May only be used with &#039;&#039;&#039;+New Style:&#039;&#039;&#039; electronics. Defines how much longer the disruption effect lasts for sensor subsystems.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Randomness Time:&#039;&#039;&#039;&lt;br /&gt;
**Defines the randomness of duration target suffers from the electronics hit. A random number between 0 and this time will be added or subtracted from the disruption time.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;, milliseconds&lt;br /&gt;
&lt;br /&gt;
* Without any electronics parameters, a weapon with the &amp;quot;electronics&amp;quot; flag will default to the &#039;&#039;Old Style&#039;&#039; mode with a lifetime of 6000 milliseconds and a randomness of 4000 milliseconds.  Thus any ship that gets hit can get disrupted for anywhere between 2 to 10 seconds.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;WARNING: Putting +Old Style doesn&#039;t seem to work either.&lt;br /&gt;
To have a working electronics weapon just put the electronics flag in the weapon and make sure it has a big shockwave radius and a shockwave speed of 0.&#039;&#039;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===$Spawn Angle:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines the cone (with an angle) where the spawned weapons appear. &#039;&#039;Value&#039;&#039; gives the angle from the missiles centerline.  The maximum possible angle between any two child weapons would be &#039;&#039;Value*2&#039;&#039;.&lt;br /&gt;
*Spawn angle can be defined as many times as the carrier missile has child weapons defined for it (up to 5).&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, degrees}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Local SSM:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines the local SSM (Subspace Missile). In effect missile moves via subspace to a position close to the target and starts homing.&lt;br /&gt;
*Weapon must be &#039;&#039;&#039;&#039;&#039;aspect seeking missile&#039;&#039;&#039;&#039;&#039; and must have &#039;&#039;&#039;&#039;&#039;[[Weapons.tbl#&amp;quot;local ssm&amp;quot;|local ssm]]&#039;&#039;&#039;&#039;&#039; flag.&lt;br /&gt;
*&#039;&#039;&#039;+Warpout Delay:&#039;&#039;&#039;&lt;br /&gt;
**Defines the time between the missile launch and the subspace jump.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;, milliseconds&lt;br /&gt;
*&#039;&#039;&#039;+Warpin Delay:&#039;&#039;&#039;&lt;br /&gt;
**Defines the time missile stays in subspace before exiting.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;, milliseconds&lt;br /&gt;
*&#039;&#039;&#039;+Stage 5 Velocity:&#039;&#039;&#039;&lt;br /&gt;
**Defines the velocity of the missile after the subspace jump.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters per second&lt;br /&gt;
*&#039;&#039;&#039;+Warpin Radius:&#039;&#039;&#039;&lt;br /&gt;
**Defines how far from the SSM will appear from the outer radius of the target.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
*&#039;&#039;&#039;+Lock Range:&#039;&#039;&#039;&lt;br /&gt;
**Defines the maximum range where SSM can achieve target lock&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Countermeasure:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines the countermeasure effectiveness and radius&lt;br /&gt;
*&#039;&#039;&#039;+Heat Effectiveness:&#039;&#039;&#039;&lt;br /&gt;
**Defines the countermeasures effectiveness against heat seeking missiles&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, cm effectiveness&lt;br /&gt;
***Default: 1&lt;br /&gt;
*&#039;&#039;&#039;+Aspect Effectiveness:&#039;&#039;&#039;&lt;br /&gt;
**Defines the countermeasures effectiveness against aspect seeking missiles&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, cm effectiveness&lt;br /&gt;
***Default: 1&lt;br /&gt;
*&#039;&#039;&#039;+Effective Radius:&#039;&#039;&#039;&lt;br /&gt;
**Defines the countermeasures effective radius&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
***Default: 300}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$BeamInfo:===&lt;br /&gt;
*&#039;&#039;&#039;+Type:&#039;&#039;&#039;&lt;br /&gt;
**Defines the type of beam in question. Beam types: 0 is a standard non-slashing type beam. 1 is a slashing type beam. 2 is a targetting beam that doesn&#039;t seem to have much of an effect on anything. 3 is a beam type that fires pulses in anti-fighter role and acts like type 0 beam in other roles. 4 is a beam that is restricted to what is directly in front of it, along turrets firepoints normal.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;,, only values from 0 to 4 are legal&lt;br /&gt;
*&#039;&#039;&#039;+Life:&#039;&#039;&#039;&lt;br /&gt;
**How long it lasts once the beam is actually firing.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds&lt;br /&gt;
*&#039;&#039;&#039;+Warmup:&#039;&#039;&#039;&lt;br /&gt;
**Warmup time&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;, milliseconds&lt;br /&gt;
*&#039;&#039;&#039;+Warmdown:&#039;&#039;&#039;&lt;br /&gt;
**Warmdown time&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;, milliseconds&lt;br /&gt;
*&#039;&#039;&#039;+Radius:&#039;&#039;&#039;&lt;br /&gt;
**Muzzle glow radius&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
*&#039;&#039;&#039;+PCount:&#039;&#039;&#039;&lt;br /&gt;
**Particles spewed every interval. ??&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+PRadius:&#039;&#039;&#039;&lt;br /&gt;
**Particle radius&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
*&#039;&#039;&#039;+PAngle:&#039;&#039;&#039;&lt;br /&gt;
**Defines the random &amp;quot;cone&amp;quot; where the particles are generated&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, angle of the cone&lt;br /&gt;
*&#039;&#039;&#039;+PAni:&#039;&#039;&#039;&lt;br /&gt;
**Animation used to represent the particles&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
*&#039;&#039;&#039;+Miss Factor:&#039;&#039;&#039;&lt;br /&gt;
**The higher the numbers, the more likely that this beam will miss. One value for every difficulty level&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Miss Factor&#039;&#039;&#039;&#039;&#039;, five &#039;&#039;&#039;floats&#039;&#039;&#039;, very easy, easy, moderate, hard, insane, respectively.&lt;br /&gt;
***Example: 0.5 0.975 1.35 1.875 2.5&lt;br /&gt;
{{Table3613|&lt;br /&gt;
*&#039;&#039;&#039;IFF specific miss factors&#039;&#039;&#039;&lt;br /&gt;
**Identical to the preceding entry but IFF specific. Replace the &amp;lt;IFF&amp;gt; with the name of the IFF from [[iff_defs.tbl]]&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;+&amp;lt;IFF&amp;gt; Miss Factor:&#039;&#039;&#039;&#039;&#039;, five &#039;&#039;&#039;floats&#039;&#039;&#039;, very easy, easy, moderate, hard, insane, respectively.&lt;br /&gt;
***Example: 0.5 0.975 1.35 1.875 2.5}}&lt;br /&gt;
*&#039;&#039;&#039;+BeamSound:&#039;&#039;&#039;&lt;br /&gt;
**Corresponding looping sound effect when the beam is firing.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name or identification number of the sound as defined in [[sounds.tbl]]&lt;br /&gt;
*&#039;&#039;&#039;+WarmupSound:&#039;&#039;&#039;&lt;br /&gt;
**Corresponding sound effect when the beam is beam warmed up.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name or identification number of the sound as defined in [[sounds.tbl]]&lt;br /&gt;
*&#039;&#039;&#039;+WarmdownSound:&#039;&#039;&#039;&lt;br /&gt;
**Corresponding sound effect when the beam is warming down.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name or identification number of the sound as defined in [[sounds.tbl]]&lt;br /&gt;
*&#039;&#039;&#039;+Muzzleglow:&#039;&#039;&#039;&lt;br /&gt;
**Defines the bitmap used to create the muzzle glow&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
*&#039;&#039;&#039;+Shots:&#039;&#039;&#039;&lt;br /&gt;
**Defines into how may invidual shots the type 3 (AAA) beams are divided. Note total firing is the same as the +Life:&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+ShrinkFactor:&#039;&#039;&#039;&lt;br /&gt;
**What percentage of lifetime where beam starts shrinking (0.1 == 10% life left)&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+ShrinkPct:&#039;&#039;&#039;&lt;br /&gt;
**What percentage of max width we subtract per second&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*&#039;&#039;&#039;+Range:&#039;&#039;&#039;&lt;br /&gt;
**Defines the maximum range where the beam still has any effect.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
*&#039;&#039;&#039;+Attenuation:&#039;&#039;&#039;&lt;br /&gt;
**Defines the point where the damage caused by the beam starts to attenuate. At maximum range damage is zero.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, from 0 - firing point to 1 - no effect&lt;br /&gt;
***Default: 1}}&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*&#039;&#039;&#039;+BeamWidth:&#039;&#039;&#039;&lt;br /&gt;
**Defines the width of the beam for collision test purposes instead of using widest beam section.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Beam Flash Effect:&#039;&#039;&#039;&lt;br /&gt;
**Defines the additional impact flash effect for the beam.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
*&#039;&#039;&#039;+Beam Flash Radius:&#039;&#039;&#039;&lt;br /&gt;
**Defines the radius for the additional impact flash effect.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Beam Piercing Effect:&#039;&#039;&#039;&lt;br /&gt;
**Defines the beam piercing (bursting flames) effect for the beam.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
*&#039;&#039;&#039;+Beam Piercing Radius:&#039;&#039;&#039;&lt;br /&gt;
**Defines the average radius used for the beam piercing effects.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Beam Piercing Effect Velocity:&#039;&#039;&#039;&lt;br /&gt;
**Defines the base velocity for the piercing effects&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Beam Piercing Splash Effect Velocity:&#039;&#039;&#039;&lt;br /&gt;
**Defines the base velocity for the secondary piercing effects&lt;br /&gt;
**Negative velocity causes the particles to move to opposite direction&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Beam Piercing Effect Variance:&#039;&#039;&#039;&lt;br /&gt;
**Defines the variances of the particles from the main path&lt;br /&gt;
**Values close to 0 cause minimum variance, higher values cause higher variances&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;$Section:&#039;&#039;&#039;&lt;br /&gt;
**Beams are made up of up to five sections layered atop one another to create the effect. Each section has its own parameters.&lt;br /&gt;
{{Table3610|&lt;br /&gt;
:*&#039;&#039;&#039;+Index:&#039;&#039;&#039;&lt;br /&gt;
:**Field used to define with [[Modular Tables]] the beam section which is edited.&lt;br /&gt;
:**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;, index number legal values are from 0 to 5&lt;br /&gt;
:*&#039;&#039;&#039;+remove&#039;&#039;&#039;&lt;br /&gt;
:**Removes the set beam section.&lt;br /&gt;
:*&#039;&#039;&#039;+nocreate&#039;&#039;&#039;&lt;br /&gt;
:**Does not create new section for the beam}}&lt;br /&gt;
&lt;br /&gt;
:*&#039;&#039;&#039;+Width:&#039;&#039;&#039;&lt;br /&gt;
:**Width of the section&lt;br /&gt;
:**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
:*&#039;&#039;&#039;+Texture:&#039;&#039;&#039;&lt;br /&gt;
:**Texture for the section&lt;br /&gt;
:**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
:*&#039;&#039;&#039;+RGBA Inner:&#039;&#039;&#039;&lt;br /&gt;
:**Defines the color and transparency of the center of the section&lt;br /&gt;
:**Syntax: &#039;&#039;&#039;&#039;&#039;Color&#039;&#039;&#039;&#039;&#039;, red, green, blue, alpha, respectively, value from 0 to 255&lt;br /&gt;
:***Example: 255 255 255 255&lt;br /&gt;
:*&#039;&#039;&#039;+RGBA Outer:&#039;&#039;&#039;&lt;br /&gt;
:**Defines the color and transparency of the edges of the section&lt;br /&gt;
:**Syntax: &#039;&#039;&#039;&#039;&#039;Color&#039;&#039;&#039;&#039;&#039;, red, green, blue, alpha, respectively, value from 0 to 255&lt;br /&gt;
:***Example: 150 150 150 10&lt;br /&gt;
:*&#039;&#039;&#039;+Flicker:&#039;&#039;&#039;&lt;br /&gt;
:**Defines how much the section flickers&lt;br /&gt;
:**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, value from 0 to 1&lt;br /&gt;
:*&#039;&#039;&#039;+Zadd:&#039;&#039;&#039;&lt;br /&gt;
:**Defines the &#039;thickness&#039; of the section. The higher the Zadd, the closer the section appears to be.&lt;br /&gt;
:**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
{{Table3610|&lt;br /&gt;
:*&#039;&#039;&#039;+Tile Factor:&#039;&#039;&#039;&lt;br /&gt;
:**Defines the beam texture tileing factor. Second number defines the tileing type. Type 0 tiles the graphic in the beam as many times as defined by the 1st number. Type 1 uses the 1st value as the lenght of the tile.&lt;br /&gt;
:**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
:*&#039;&#039;&#039;+Translation:&#039;&#039;&#039;&lt;br /&gt;
:**Defines the speed of translation of the beam, a positive value moves from the impact point to the firing point, while a negative value moves away from the firing point towards the impact point. Measured in tiles per second, where the tile count is defined in the &amp;quot;+Tile Factor:&amp;quot; field above.&lt;br /&gt;
:**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Pspew:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines a particle spew effect for the given weapon&lt;br /&gt;
}}{{Table3613|&lt;br /&gt;
*&#039;&#039;&#039;+Index:&#039;&#039;&#039;&lt;br /&gt;
**indicates which spewer to add/edit. may be 0-3. used for xmt compatibility.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Remove&#039;&#039;&#039;&lt;br /&gt;
**removes spewer at +Index: (requires +index:)&lt;br /&gt;
*&#039;&#039;&#039;+Type:&#039;&#039;&#039;&lt;br /&gt;
**type of particle spew&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;, Default, Helix, Sparkler, Ring, or Plume &#039;&#039;&#039;&lt;br /&gt;
}}{{Table3610|&lt;br /&gt;
*&#039;&#039;&#039;+Count:&#039;&#039;&#039;&lt;br /&gt;
**Defines how many particles are spawn when they are ready to be created (at each +Time: interval)&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Time:&#039;&#039;&#039;&lt;br /&gt;
**Defines the time in milliseconds between next particle(s) spewed&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;, milliseconds&lt;br /&gt;
*&#039;&#039;&#039;+Vel:&#039;&#039;&#039;&lt;br /&gt;
**Defines the created particles velocity as percentage of the weapons velocity&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Radius:&#039;&#039;&#039;&lt;br /&gt;
**Defines the size of the created particles&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
*&#039;&#039;&#039;+Life:&#039;&#039;&#039;&lt;br /&gt;
**Defines how long the particles last.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds&lt;br /&gt;
*&#039;&#039;&#039;+Scale:&#039;&#039;&#039;&lt;br /&gt;
**Defines the particle spread. Small value will make particles group together&lt;br /&gt;
**typically controls how big the effect is or how fast it moves away from the weapon path on a perpendicular (or sometimes arbitrary) axis. &lt;br /&gt;
**helical spews and rings use this value to control how fast the particle helix moves away from the central axis.&lt;br /&gt;
**sparklers use this to control how fast particles move away from the spawn point, in any direction&lt;br /&gt;
**plumes use this to set the diameter of the disk across which particles are spawned&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
}}{{Table3613|&lt;br /&gt;
*&#039;&#039;&#039;+Z Scale:&#039;&#039;&#039;&lt;br /&gt;
**for sparklers, allows you to elongate the effect to surround other effects, like lasers. essentially a length multiplier&lt;br /&gt;
**for plume, it multiplies against +scale to set the plume to spread or converge, zero would be full convergence, 1 would be straight flight, and bigger numbers would cause particles to diverge from the disk.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Rotation Rate:&#039;&#039;&#039;&lt;br /&gt;
**used only by helical spews, controls how many rotations per second the helix makes&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;, may be negative, useful for setting up 2 spews that spin in opposite directions&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Offset:&#039;&#039;&#039;&lt;br /&gt;
**position of effect with regards to the weapon center&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Vector&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Initial Velocity:&#039;&#039;&#039;&lt;br /&gt;
**to indicate both direction and speed of particle effects regards to the weapon velocity and +scale:&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Vector&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
}}{{Table3610|&lt;br /&gt;
*&#039;&#039;&#039;+Bitmap:&lt;br /&gt;
**Defines the animation used to create the particle spew effect&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename}}&lt;br /&gt;
&lt;br /&gt;
===$Tag:===&lt;br /&gt;
*Allowed for secondary weapons&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Allowed for primary weapons and secondary weapons}}&lt;br /&gt;
&lt;br /&gt;
*Sets this weapon as a TAG missile, level 1, 2, or 3. The second number is the duration in seconds.&lt;br /&gt;
*TAG Level 1 will illuminate hidden targets such as stealth fighters or ships normally obscured by nebula conditions.&lt;br /&gt;
*TAG Level 2 illiminates targets much like TAG Level 1, but turrets will prefer to shoot at them over other ships.&lt;br /&gt;
*TAG Level 3 has no effect in retail.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, TAG level and seconds respectively&lt;br /&gt;
&lt;br /&gt;
===$SSM:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines the weapons SSM index number:&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$FOF:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines the field of fire for the weapon. Causes weapon to fire into a firing cone instead of direct firing line thus causing light inaccuracy&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, degrees}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Shots:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines the number of shots every time the weapon is fired.&lt;br /&gt;
*Works only for primary weapons&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;, number of shots}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$decal:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines impact decals if they are in use&lt;br /&gt;
*&#039;&#039;&#039;+texture:&#039;&#039;&#039;&lt;br /&gt;
**Defines the texture used for impact decals (can use &#039;&#039;&#039;&#039;&#039;-burn&#039;&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;&#039;-glow&#039;&#039;&#039;&#039;&#039; textures)&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
*&#039;&#039;&#039;+backface texture:&#039;&#039;&#039;&lt;br /&gt;
**Defines ???&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
*&#039;&#039;&#039;+radius:&#039;&#039;&#039;&lt;br /&gt;
**Defines the size of the impact decals on target&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
*&#039;&#039;&#039;+burn time:&#039;&#039;&#039;&lt;br /&gt;
**Defines the time the &#039;&#039;&#039;&#039;&#039;-burn&#039;&#039;&#039;&#039;&#039; texture appears on the target&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;, milliseconds}}&lt;br /&gt;
{{Table3613|&lt;br /&gt;
*Feature removed - table parsing retained to maintain compatibility}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Transparent:===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines weapon effect as transparent. Enables optional fields for &#039;alpha animations&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Alpha:&#039;&#039;&#039;&lt;br /&gt;
**Defines the strenght of the alpha (transparency). And also the maximum value for the alpha cycle option&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, from 0 to 1&lt;br /&gt;
*&#039;&#039;&#039;+Alpha Min:&#039;&#039;&#039;&lt;br /&gt;
**Defines the minimum alpha value for alpha cycle option&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, from 0 to 1&lt;br /&gt;
*&#039;&#039;&#039;+Alpha Cycle:&#039;&#039;&#039;&lt;br /&gt;
**Defines the change in alpha per frame, between &#039;&#039;&#039;Alpha&#039;&#039;&#039; and &#039;&#039;&#039;Alpha Min&#039;&#039;&#039; values&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Weapon Hitpoints:===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Defines the amount of hitpoints a weapon has.&lt;br /&gt;
*Weapons with &#039;&#039;&#039;&amp;quot;bomb&amp;quot;&#039;&#039;&#039; flag have 50 hitpoints by default&lt;br /&gt;
*Giving weapon hitpoints makes it possible for the weapon to be shot down or be destroyed by EMP.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Burst Shots:===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Defines the number of shots in a burst&lt;br /&gt;
*Shots in a burst use shorter ( &#039;&#039;&#039;$Burst Delay:&#039;&#039;&#039; ) delay than usually&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
===$Burst Delay:===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Defines the time in milliseconds between the shots in a burst&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Burst Flags:===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Defines the flags used to define the burst firing behaviour&lt;br /&gt;
**Syntax: ( &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039; ), list of flags&lt;br /&gt;
**Available burst flags:&lt;br /&gt;
***&#039;&#039;&#039;&amp;quot;fast firing&amp;quot;&#039;&#039;&#039;, acts as if &#039;&#039;&#039;same turret cooldown&#039;&#039;&#039; flag would be used between the shots in the burst.&lt;br /&gt;
***&#039;&#039;&#039;&amp;quot;random length&amp;quot;&#039;&#039;&#039;, makes AI to fire burst of random length (from 1 to burst shots).}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Thruster Flame Effect:===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Defines the filename of the effect used on the modeled thruster of the missile&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Thruster Glow Effect:===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Defines the filename of the effect used on the glow type effect of the missile&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Thruster Glow Radius Factor:===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Defines the radius multiplier for the thruster&#039;s glow type effect&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
===$Substitute:===&lt;br /&gt;
{{Table3613|&lt;br /&gt;
*Defines a pattern of ammo to substitute for primary or secondary weapons. &#039;&#039;&#039;$substitute:&#039;&#039;&#039; can be repeated any number of times. &#039;&#039;+frequency&#039;&#039; and &#039;&#039;+index&#039;&#039; will grow the pattern array anytime something does not fit so any whole number will be accepted.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Weapon Name&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+frequency:&#039;&#039;&#039;&lt;br /&gt;
*Substitute &#039;&#039;&#039;Weapon Name&#039;&#039;&#039; every &#039;&#039;frequency&#039;&#039; shots.  &#039;&#039;&#039;Mutually exclusive with &#039;&#039;+index&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Positive Integer&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+offset:&#039;&#039;&#039;&lt;br /&gt;
*Shift frequency pattern &#039;&#039;offset&#039;&#039; shots.  &#039;&#039;&#039;Must be used with &#039;&#039;+frequency&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Positive Integer&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+index:&#039;&#039;&#039;&lt;br /&gt;
*Substitute the &#039;&#039;&#039;Weapon Name&#039;&#039;&#039; at &#039;&#039;index&#039;&#039; in the shot pattern. &#039;&#039;&#039;Mutually exclusive with &#039;&#039;+frequency&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Positive Integer&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==Weapons.tbl Flags==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;Electronics&amp;quot;===&lt;br /&gt;
*Will seize up the weapons and engines systems of any ship for a short period of time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;Spawn &#039;&#039;Name&#039;&#039;,&#039;&#039;Value&#039;&#039;&amp;quot;===&lt;br /&gt;
*Will spawn the specified number of defined missiles upon detonation.&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Multiple spawn types can be defined for a single &#039;carrier&#039; weapon up to maximum of 5 different weapons}}&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;Remote Detonate&amp;quot;===&lt;br /&gt;
*Can be triggered remotely via a second press on the trigger&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;Big Ship&amp;quot;===&lt;br /&gt;
*These weapons cannot be mounted on small ships like fighters, bombers, sentry guns etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;Huge&amp;quot;===&lt;br /&gt;
*Allows this weapon to do the final 10% damage to a ship with the &amp;quot;Big Damage&amp;quot; flag. Also the AI will not try to hit fighters with it.&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;Supercap&amp;quot;===&lt;br /&gt;
*Allows this weapon to do the final 75% damage to a ship with the &amp;quot;supercap&amp;quot; flag.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;Bomber+&amp;quot;===&lt;br /&gt;
*The AI will prefer to use this weapon against bombers&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;child&amp;quot;===&lt;br /&gt;
*Cannot be set as a weapon on any ship, but is instead a child of a weapon. Usually defined with &amp;quot;Spawn &#039;&#039;Name&#039;&#039;,&#039;&#039;Value&#039;&#039;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;Bomb&amp;quot;===&lt;br /&gt;
*Makes this weapon targetable with the B key, and the AI prefers to use it against large ships&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;No Dumbfire&amp;quot;===&lt;br /&gt;
*Missile will not fire without a lock&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;in tech database&amp;quot;===&lt;br /&gt;
*Has the weapon in the tech database at the start of the campaign&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;Player allowed&amp;quot;===&lt;br /&gt;
*Allows this weapon as a player weapon.&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*&#039;&#039;&#039;EXTREMELY IMPORTANT NOTE:&#039;&#039;&#039;&lt;br /&gt;
**Whenever you plan to use a weapon as a player one in your campaign or missions, &#039;&#039;&#039;USE THIS FLAG&#039;&#039;&#039;.&lt;br /&gt;
**Not using it can cause problems within fs_open and it&#039;s a BAD MOD DESIGN.&lt;br /&gt;
**In the future, fs_open will maybe be able to avoid these problems but, nevertheless, it&#039;s still a BAD DESIGN.&lt;br /&gt;
**As another possible example: be careful to update &amp;quot;retail&amp;quot; tables if you plan to use Shivan weapons in player fighters.}}&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;Particle Spew&amp;quot;===&lt;br /&gt;
*Makes the weapon projectile spew out particles&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Can be defined with [[Weapons.tbl#$Pspew:|Particle Spew parameters]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;EMP&amp;quot;===&lt;br /&gt;
*This weapon will have an EMP effect on any ship within the blast radius&lt;br /&gt;
*Can be defined with [[Weapons.tbl#$EMP_Intensity:|EMP Intensity]] and [[Weapons.tbl#$EMP_Time:|EMP Time]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;Esuck&amp;quot;===&lt;br /&gt;
*Drains the target&#039;s energy banks&lt;br /&gt;
*Can be defined with [[Weapons.tbl#$Leech_Weapon:|Leech Weapon]] and [[Weapons.tbl#$Leech_Afterburner:|Leech Afterburner]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;Flak&amp;quot;===&lt;br /&gt;
*Makes this weapon a [[weapons.tbl#Flak_Guns|flak gun]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;Corkscrew&amp;quot;===&lt;br /&gt;
*Makes this weapon spiral AND swarm 4.&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Can be defined with [[Weapons.tbl#$Corkscrew:|Corkscrew parameters]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;Shudder&amp;quot;===&lt;br /&gt;
*Makes your ship shudder while you&#039;re firing the weapon&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;lockarm&amp;quot;===&lt;br /&gt;
*Requires a target lock in order to arm its warhead. In other words weapon causes less damage if it hits the target without target lock.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;beam&amp;quot;===&lt;br /&gt;
*Makes this weapon a [[weapons.tbl#Beam Cannons|beam cannon]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;stream&amp;quot;===&lt;br /&gt;
* Does nothing&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;puncture&amp;quot;===&lt;br /&gt;
*Reduces hull damage by 75%&lt;br /&gt;
The AI will prefer these weapons for anti-subsystem use&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;countermeasure&amp;quot;===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines the weapon as a countermeasure}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;Ballistic&amp;quot;===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Defines the weapon as a ballistic weapon that needs ammunition.&lt;br /&gt;
*Make sure you define the size and reload rate for ballistic weapons}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;pierce shields&amp;quot;===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Causes weapons to penetrate shield without causing damage to it.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;no pierce shields&amp;quot;===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Prevents weapons (beams) from piercing shields causing shields to be damaged by weapons first.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;local ssm&amp;quot;===&lt;br /&gt;
{{Table3610| }}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;tagged only&amp;quot;===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Weapon can only be fired at tagged targets}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;beam no whack&amp;quot;===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Disables beam whacking (push). Practically same as setting beam mass to zero.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;cycle&amp;quot;===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Causes weapon to alternate between firing points}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;small only&amp;quot;===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Causes AI to use the weapon only on small targets (fighters, bombers etc.)}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;same turret cooldown&amp;quot;===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Forces the turrets to fire on the designated rate of fire on all difficulty levels and all AI levels}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;apply no light&amp;quot;===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Prevents light from being applied to the weapon model.}}&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;training&amp;quot;===&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*Sets weapon to be of training weapon type. ?}}&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;smart spawn&amp;quot;===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Forces turret fired spawn weapon of this type to be fired like normal weapons.}}&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;inherit parent target&amp;quot;===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Sets spawned &#039;child&#039; weapons to use parent weapon&#039;s target.}}&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;no emp kill&amp;quot;===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Defines the weapon (with hitpoints) to be immune to automatic EMP destruction.}}&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;untargeted heat seeker&amp;quot;===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Defines the weapon as a heatseeker type missile which acquires its target by itself.}}&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;no radius doubling&amp;quot;===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Prevents weapon radius from being doubled when doing collision test. Makes bombs harder to intercept.}}&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;no subsystem homing&amp;quot;===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Prevents weapon from acquiring a subsystem as its target. Missile homing points are spread over the target ship.}}&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;no lifeleft penalty&amp;quot;===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Prevents weapon lifetime from being penalized if the angle to the target is too big.}}&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;can be targeted&amp;quot;===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Allows weapon to be targeted by player. Does not influence AI}}&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;show on radar&amp;quot;===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Allows weapon to be visible on the radar}}&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;show friendly on radar&amp;quot;===&lt;br /&gt;
{{Table3611|&lt;br /&gt;
*Allows friendly, otherwise visible to radar weapon, to be visible on player radar}}&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;capital+&amp;quot;===&lt;br /&gt;
{{Table3613|&lt;br /&gt;
*Tells AI to use this weapon only on capital ships}}&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;chain external model fps&amp;quot;===&lt;br /&gt;
{{Table3613|&lt;br /&gt;
*Tells game to keep switching external model firingpoints when firing}}&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;external model launcher&amp;quot;===&lt;br /&gt;
{{Table3613|&lt;br /&gt;
*Tells game that the external model is a launcher so that it would be kept static without loading motion}}&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;takes blast damage&amp;quot;===&lt;br /&gt;
{{Table3613|&lt;br /&gt;
*Weapon takes damage from weapon blasts}}&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;takes shockwave damage&amp;quot;===&lt;br /&gt;
{{Table3613|&lt;br /&gt;
*Weapon takes damage from shockwaves}}&lt;br /&gt;
&lt;br /&gt;
==Countermeasures==&lt;br /&gt;
*Usually not altered. Only one can exist&lt;br /&gt;
{{Table3610|&lt;br /&gt;
*More than one can exist}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Name:===&lt;br /&gt;
*Name of the countermeasure&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Velocity:===&lt;br /&gt;
*Defines the speed of the countermeasure, relative to the ship.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meter per second&lt;br /&gt;
&lt;br /&gt;
===$Fire Wait:===&lt;br /&gt;
*Definies the minumum time between the countermeasure launches&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Lifetime===&lt;br /&gt;
*Countermeasure&#039;s life time is defined between with minimum and maximum lifetime&lt;br /&gt;
*&#039;&#039;&#039;$Lifetime Min:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds&lt;br /&gt;
*&#039;&#039;&#039;$Lifetime Max:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$LaunchSnd:===&lt;br /&gt;
*Defines the sound for the countermeasure launch&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name or identification number of the sound as defined in [[sounds.tbl]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Model:===&lt;br /&gt;
*Defines the used model file (.pof)&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String.pof&#039;&#039;&#039;&#039;&#039;, model filename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Player Weapon Precedence==&lt;br /&gt;
*First the primary weapons are defined, from most powerful to least powerful, and then the same for secondaries&lt;br /&gt;
*Syntax: ( &#039;&#039;&#039;&#039;&#039;&amp;quot;String&amp;quot; &amp;quot;String&amp;quot;&#039;&#039;&#039;&#039;&#039;), names of the weapons&lt;br /&gt;
*Example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$Player Weapon Precedence: (&lt;br /&gt;
     &amp;quot;UD-8 Kayser&amp;quot;&lt;br /&gt;
     &amp;quot;Prometheus R&amp;quot;&lt;br /&gt;
     &amp;quot;Subach HL-7&amp;quot;&lt;br /&gt;
     &amp;quot;Harpoon&amp;quot;&lt;br /&gt;
     &amp;quot;Tempest&amp;quot;&lt;br /&gt;
     &amp;quot;Rockeye&amp;quot;   )&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Sample==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#Primary Weapons&lt;br /&gt;
&lt;br /&gt;
$Name:                            @Subach HL-7&lt;br /&gt;
   +Title:                           XSTR(&amp;quot;GTW Subach HL-7&amp;quot;, 3243)&lt;br /&gt;
   +Description:&lt;br /&gt;
XSTR( &amp;quot;Standard Issue&lt;br /&gt;
Level 3 Hull Damage&lt;br /&gt;
Level 2 Shield Damage&amp;quot;, 3244)&lt;br /&gt;
$end_multi_text&lt;br /&gt;
   +Tech Title:                      XSTR(&amp;quot;Subach HL-7&amp;quot;, 146)&lt;br /&gt;
   +Tech Anim:                       Tech_Subach_HL-7&lt;br /&gt;
   +Tech Description:&lt;br /&gt;
XSTR(&lt;br /&gt;
&amp;quot;Descriptive text...&amp;quot;, -1)&lt;br /&gt;
$end_multi_text&lt;br /&gt;
$Model File:                      none&lt;br /&gt;
   @Laser Bitmap:                    newglo9&lt;br /&gt;
   @Laser Glow:                      2_laserglow03&lt;br /&gt;
   @Laser Color:                     250, 0, 0&lt;br /&gt;
   @Laser Color2:                    0, 0, 250&lt;br /&gt;
   @Laser Length:                    10.0&lt;br /&gt;
   @Laser Head Radius:               0.90&lt;br /&gt;
   @Laser Tail Radius:               0.90&lt;br /&gt;
$Mass:                            0.2&lt;br /&gt;
$Velocity:                        450.0&lt;br /&gt;
$Fire Wait:                       0.2&lt;br /&gt;
$Damage:                          15&lt;br /&gt;
$Armor Factor:                    0.9&lt;br /&gt;
$Shield Factor:                   0.7&lt;br /&gt;
$Subsystem Factor:                0.3&lt;br /&gt;
$Lifetime:                        2.0&lt;br /&gt;
$Energy Consumed:                 0.20&lt;br /&gt;
$Cargo Size:                      0.0&lt;br /&gt;
$Homing:                          NO&lt;br /&gt;
$LaunchSnd:                       76&lt;br /&gt;
$ImpactSnd:                       85&lt;br /&gt;
$Flags:                           (  &amp;quot;in tech database&amp;quot;&lt;br /&gt;
                                     &amp;quot;player allowed&amp;quot;&lt;br /&gt;
                                     &amp;quot;stream&amp;quot;)&lt;br /&gt;
$Icon:                            iconSD4&lt;br /&gt;
$Anim:                            SD4&lt;br /&gt;
$Impact Explosion:                none&lt;br /&gt;
&lt;br /&gt;
#End&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#Secondary Weapons&lt;br /&gt;
&lt;br /&gt;
$Name:                            EMP Adv.&lt;br /&gt;
   +Title:                           XSTR(&amp;quot;GTM-14 EMP Adv.&amp;quot;, 3396)&lt;br /&gt;
   +Description:&lt;br /&gt;
XSTR( &amp;quot;Advanced Missile&lt;br /&gt;
Electromagnetic Pulse Weapon&lt;br /&gt;
General Purpose Suppression&amp;quot;, 3397)&lt;br /&gt;
$end_multi_text&lt;br /&gt;
   +Tech Title:                      XSTR(&amp;quot;GTM-14 EM Pulse Adv.&amp;quot;, 3398)&lt;br /&gt;
   +Tech Anim:                       Tech_EMP&lt;br /&gt;
   +Tech Description:&lt;br /&gt;
XSTR(&lt;br /&gt;
&amp;quot;Descriptive text...&amp;quot;, -1)&lt;br /&gt;
$end_multi_text&lt;br /&gt;
$Model File:                      EMPulse2.pof&lt;br /&gt;
$Mass:                            15.0&lt;br /&gt;
$Velocity:                        275.0&lt;br /&gt;
$Fire Wait:                       2.0&lt;br /&gt;
$Damage:                          45&lt;br /&gt;
$Blast Force:                     20.0&lt;br /&gt;
$Inner Radius:                    80.0&lt;br /&gt;
$Outer Radius:                    300.0&lt;br /&gt;
$Shockwave Speed:                 120.0&lt;br /&gt;
$Armor Factor:                    1.0&lt;br /&gt;
$Shield Factor:                   0.8&lt;br /&gt;
$Subsystem Factor:                0.5&lt;br /&gt;
$Lifetime:                        5.0&lt;br /&gt;
$Energy Consumed:                 0.0&lt;br /&gt;
$Cargo Size:                      4.0&lt;br /&gt;
$Homing:                          YES&lt;br /&gt;
   +Type:                            ASPECT&lt;br /&gt;
   +Turn Time:                       1.0&lt;br /&gt;
   +Min Lock Time:                   2.0&lt;br /&gt;
   +Lock Pixels/Sec:                 70&lt;br /&gt;
   +Catch-up Pixels/Sec:             100&lt;br /&gt;
   +Catch-up Penalty:                30&lt;br /&gt;
$LaunchSnd:                       118&lt;br /&gt;
$ImpactSnd:                       88&lt;br /&gt;
$FlyBySnd:                        -1&lt;br /&gt;
$Rearm Rate:                      2.0&lt;br /&gt;
$Flags:                           (  &amp;quot;player allowed&amp;quot;&lt;br /&gt;
                                     &amp;quot;EMP&amp;quot;)&lt;br /&gt;
$Trail:&lt;br /&gt;
   +Start Width:                     0.25&lt;br /&gt;
   +End Width:                       0.75&lt;br /&gt;
   +Start Alpha:                     1.0&lt;br /&gt;
   +End Alpha:                       0.0&lt;br /&gt;
   +Max Life:                        1.5&lt;br /&gt;
   +Bitmap:                          MissileTrail04&lt;br /&gt;
$Icon:                            iconEMPulse&lt;br /&gt;
$Anim:                            ecm&lt;br /&gt;
$Impact Explosion:                ExpMissileHit1&lt;br /&gt;
$Impact Explosion Radius:         10.0&lt;br /&gt;
$EMP Intensity:                   375.0&lt;br /&gt;
$EMP Time:                        20.0&lt;br /&gt;
&lt;br /&gt;
#End&lt;br /&gt;
&lt;br /&gt;
$Player Weapon Precedence: (&lt;br /&gt;
     &amp;quot;Subach HL-7&amp;quot;&lt;br /&gt;
     &amp;quot;EMP Adv.&amp;quot;   )&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Tables]]&lt;/div&gt;</summary>
		<author><name>Nuke</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Scripting.tbl&amp;diff=28258</id>
		<title>Scripting.tbl</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Scripting.tbl&amp;diff=28258"/>
		<updated>2010-03-02T12:13:03Z</updated>

		<summary type="html">&lt;p&gt;Nuke: /* Format */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;&#039;&#039;This feature requires SCP&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
The scripting table is used for scripting special features like alternate HUDs or ship viewer into the game.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Usefull references:&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;[[FS2 Open Lua Scripting]]&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;[[Scripting API]]&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;!---*&#039;&#039;&#039;[http://fs2source.warpcore.org/temp/scripting.html Scripting.html]&#039;&#039;&#039; - Link OOA ---&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;[[Command-Line_Reference#-output_scripting|Command-Line Reference for creating scripting.html]]&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;[http://lua-users.org/wiki/ Lua-Users Wiki]&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;[http://www.lua.org/manual/5.0/ Reference manual for Lua 5.0]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==General Info==&lt;br /&gt;
*Scripting table consist of several sections&lt;br /&gt;
*All sections and most of the entries are optional&lt;br /&gt;
*All sections end with #&#039;&#039;&#039;End&#039;&#039;&#039;&lt;br /&gt;
*No scripting hooks are not executed on a separate thread, at least as of this writing. They are executed at given points in the code, and all other execution will not take place until a scripting hook has finished. This means that, in theory, a large and complicated enough script will cause noticeable lag or slowdown when executed.&lt;br /&gt;
*Information in this document applies only to the HEAD branch. Scripting in 3.6.9, or in any builds based on 3.6.9, is considered unsupported.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
===Frames===&lt;br /&gt;
One of the most important things to understand when reading this guide is the concept of &amp;quot;frames&amp;quot;. (Experienced modders can probably skip this part) In gameplay, motion is achieved by making incremental changes every fraction of a second. A ship will be moved slightly, and then drawn to the screen. This happens 30-120 times a second; anything lower, and the game will become choppy and difficult to play.&lt;br /&gt;
&lt;br /&gt;
There is also a difference in the moving of objects in-game, and the moving of objects onscreen. All ships are first &amp;quot;moved&amp;quot;, in memory. This probably consists of physics calculations, that change the ship&#039;s position based on if their engines are turned on, or if they run into another object. After this, the game then renders the now-moved ships to what is referred to as a &amp;quot;backbuffer&amp;quot; - a place in memory that takes the place of the computer screen. Once rendering has finished, the backbuffer is instantly drawn to the screen. This prevents objects from flickering as they are drawn. You do not have to worry about flipping the backbuffer in scripting; FS2_Open will take care of that for you.&lt;br /&gt;
&lt;br /&gt;
For scripting, &#039;&#039;&#039;it is important to understand that each block of code will therefore be executed several times a second, but only once per frame&#039;&#039;&#039;. However, the exact number of times per second will depend on how much work the computer has to do (And therefore how much time it takes) for each frame. To determine how much time you should consider to have passed, you must use the ba.getFrametime() function; which will return the approximate time the frame will take, in seconds. In addition, if you &amp;quot;move&amp;quot; a ship after it has already been rendered, the change will not become apparent until the next frame.&lt;br /&gt;
&lt;br /&gt;
This does mean that if you want to make a block of text move across the screen, at a rate of 5 pixels per second, all you have to do is multiply the speed by the frametime:&lt;br /&gt;
&amp;lt;pre&amp;gt;#Global Hooks&lt;br /&gt;
$Global: [&lt;br /&gt;
   --If the g_WheeXPosition variable does not exist,&lt;br /&gt;
   --it means we are on the first frame.&lt;br /&gt;
   --If that is the case, set it to zero.&lt;br /&gt;
   if not g_WheeXPosition then&lt;br /&gt;
      g_WheeXPosition = 0&lt;br /&gt;
   end&lt;br /&gt;
&lt;br /&gt;
   --Move the text&lt;br /&gt;
   g_WheeXPosition = g_WheeXPosition + (5 * ba.getFrametime())&lt;br /&gt;
&lt;br /&gt;
   --Draw &amp;quot;WHEE!!!&amp;quot;&lt;br /&gt;
   gr.drawString(&amp;quot;WHEE!!!&amp;quot;, g_WheeXPosition, 10)&lt;br /&gt;
]&lt;br /&gt;
#End&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===Hooks===&lt;br /&gt;
Scripting &amp;quot;hooks&amp;quot; form the basis of the scripting system. A &amp;quot;hook&amp;quot; simply refers to a point in the code where code to execute scripting has been added. The hook may then be added to a table, or added to a SEXP. In general usage, &amp;quot;hook&amp;quot; refers to an entry in scripting.tbl.&lt;br /&gt;
&lt;br /&gt;
All hooks take the form of an identifer (such as $Global:), followed by brackets to determine what type of scripting is being executed. A lack of brackets also indicates a type of scripting execution. All current bracket configurations are listed below. Note that &amp;quot;$Hook:&amp;quot; is used merely as a placeholder, and should be replaced with the actual hook name ($Global:, $HUD:, $On Frame:, etc).&lt;br /&gt;
#&amp;lt;pre&amp;gt;$Hook: scripting&amp;lt;/pre&amp;gt;Specifies one line of LUA scripting. In addition, the return value of that line will be passed to the interpreter and used (if applicable). Specifying a variable or value on this line will result in it being returned, as well.&lt;br /&gt;
#&amp;lt;pre&amp;gt;$Hook: [scripting]&amp;lt;/pre&amp;gt;A single set of brackets specifies a block of LUA scripting. Does not return a value unless explicitly specified. (Explicit specification is not possible at this time; but may be implemented in the future if/when more future hooks take a return value.)&lt;br /&gt;
#&amp;lt;pre&amp;gt;$Hook: [[scriptfilename.lua]]&amp;lt;/pre&amp;gt;Double brackets specify a file. This file is read out of the data/scripts directory, and must include the file extension. You may specify a compiled lua file as a target as well; this may result in crossplatform issues for a mod, however.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
====+Override====&lt;br /&gt;
Some hooks additionally take a +Override: field. This field uses the same bracket configurations as above. If a hook includes a +Override field, this hook always determines whether the default FS2_Open behavior that the hook is associated with will function, or will be disabled. This should be used in cases where scripting will replace the original FS2_Open behavior. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;$HUD: [&lt;br /&gt;
    gr.setColor(255, 255, 255, 255)&lt;br /&gt;
    gr.drawString(&amp;quot;HUD Disabled&amp;quot;, 50, 50)&lt;br /&gt;
 ]&lt;br /&gt;
    +Override: true&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Additionally, override hooks are (by convention) executed before FS2_Open behavior. The HUD hook override, for example, is executed before any part of the HUD is actually drawn.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Sections==&lt;br /&gt;
* #&#039;&#039;&#039;Global Hooks&#039;&#039;&#039;&lt;br /&gt;
* #&#039;&#039;&#039;State Hooks&#039;&#039;&#039; (3.6.9)&lt;br /&gt;
* #&#039;&#039;&#039;Conditional Hooks&#039;&#039;&#039; (HEAD)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==#Global Hooks==&lt;br /&gt;
&lt;br /&gt;
Global hooks are the simplest form of scripting hooks available. They are at preset locations in the code, and are generally executed every time that point is reached. Exceptions to this rule (such as the HUD hook) only depend on one or two variables to determine execution. All other scripting execution is determined by the modder.&lt;br /&gt;
Note that, as with other tables, the game expects these entries in precisely the order given here; if this is not followed, the parser will throw an error.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===Format===&lt;br /&gt;
;&#039;&#039;&#039;$Global:&#039;&#039;&#039;: Script in this section is executed almost immediately before each frame is drawn. This means that any scripting elements will be drawn, or take effect, after everything else, except for the &amp;quot;On Frame&amp;quot; conditional hook. It is not used with the standalone server. In addition, note that use of this hook should generally be avoided, since all scripting will have to be processed every frame.&lt;br /&gt;
;&#039;&#039;&#039;$Splash:&#039;&#039;&#039;: This hook is executed once, when the splash images (PreLoad and PreLoadLogo) would be drawn. This hook should generally be used only for drawing the splash screen; any initialization could should be placed in GameInit. This hook is executed before virtually any other subsystem has been loaded, aside from the graphics and filesystem subsystems, so scripting elements such as the table and mission libraries will be nonfunctional.&lt;br /&gt;
*;&#039;&#039;&#039;+Override:&#039;&#039;&#039;: Executed just before default splash images are loaded and displayed. Note that the frame is still drawn regardless; it is not necessary to flip the backbuffer manually.&lt;br /&gt;
;&#039;&#039;&#039;$GameInit:&#039;&#039;&#039;: This hook is executed once, after all of the Freespace2 subsystems have been initialized. It is executed before the game switches to the main hall or, in the case of standalone server mode, begins the game.&lt;br /&gt;
;&#039;&#039;&#039;$Simulation:&#039;&#039;&#039;: This hook is executed only during missions. It is executed after all damage, movement, physics, SEXPs, and other &amp;quot;physical&amp;quot; in-game changes have been applied. It is executed before anything has been rendered. This hook should be used only for damage, movement, and physics related scripting, as if the game needs to be rendered without any in-game time having been passed, this function will not be called.&lt;br /&gt;
;&#039;&#039;&#039;$HUD:&#039;&#039;&#039;: The HUD hook is executed after the HUD has been drawn. Note that if the HUD is turned off, this hook will be disabled as well, until the HUD is turned back on.&lt;br /&gt;
*;&#039;&#039;&#039;+Override:&#039;&#039;&#039;: Executed immediately before anything on the HUD is drawn, and controls whether the default FS2_Open is drawn.&lt;br /&gt;
&lt;br /&gt;
==#State Hooks==&lt;br /&gt;
&lt;br /&gt;
In Freespace2, a &amp;quot;state&amp;quot; more or less refers to a room. It may also refer to a separate mode - playing a mission is the GS_STATE_GAME_PLAY state. The main menu is the GS_STATE_MAIN_MENU state. This section should only exist in 3.6.9. It is included here for the sake of documentation; it has since been removed and superseded by the conditional hook system.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===Format===&lt;br /&gt;
;&#039;&#039;&#039;$State:&#039;&#039;&#039;: Specifies the state name. A full list of states is located here: &#039;&#039;[[List of Game States]]&#039;&#039;&lt;br /&gt;
*;&#039;&#039;&#039;$Hook:&#039;&#039;&#039;: Executed after all of the state code has been executed, but before the game frame is actually drawn.&lt;br /&gt;
**;&#039;&#039;&#039;+Override:&#039;&#039;&#039;: Determines whether the specified state is handled at all by Freespace. If true, then none of the loading or exit code for the state will be specified as well.&lt;br /&gt;
&lt;br /&gt;
==#Conditional Hooks==&lt;br /&gt;
Scripting hooks are only available in HEAD builds. They consist of any number of conditions, followed by any number of actions. All available conditions and actions are located in the file generated by -output_scripting.&lt;br /&gt;
&lt;br /&gt;
One way to think of conditional scripting is like this: The condition specifies the object that the action will apply to, or the place that the action will occur in. All conditions must be met for their associated actions to execute. Actions are associated with a set of conditions by simply adding them after that set of conditions. (Obviously, you may want to space out each pair of action/condition sets in the TBL to make it easier to read.)&lt;br /&gt;
&lt;br /&gt;
The flexibility of conditional scripting comes in due to its inherent scalability. If you specify a mission and ship condition with a warpin action, that script will only be executed when the ship warps in on that particular mission. Removing the mission field will make that warpin scripting apply to the ship for all missions; or removing the ship field will make the warpin scripting apply to all ships in that mission.&lt;br /&gt;
&lt;br /&gt;
This prompts the question: if this is all conditional scripting does, why not just use the global hook? &lt;br /&gt;
#Organization - conditional scripting is generally easier to read and modify because it is grouped in a standardized manner.&lt;br /&gt;
#Speed - All conditions can be evaluated by FS2_Open itself, without invoking the Lua interpreter at all.&lt;br /&gt;
#Scalability - As of the time of this writing, you can only have one global hook. Modular tables will simply replace it. With conditional scripting, if you want to specify additional actions for a set of conditions in a modular table file, you may do so.&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
;&#039;&#039;&#039;$Condition:&#039;&#039;&#039;: Where &amp;quot;$Condition:&amp;quot; is one of several conditions specified in scripting.html, such as $State: or $Ship:. Takes a value representing the object the condition should be checked against (such as a state, ship, or mission name)&lt;br /&gt;
;&#039;&#039;&#039;$Condition:&#039;&#039;&#039;: ...&lt;br /&gt;
;&#039;&#039;&#039;...&#039;&#039;&#039;:&lt;br /&gt;
;&#039;&#039;&#039;$Action:&#039;&#039;&#039;: Where &amp;quot;$Action:&amp;quot; is one of several actions specified in scripting.html, such as $On Frame or $On Warp In. Takes a scripting hook, using the bracket configuration outlined at the top of this article.&lt;br /&gt;
;&#039;&#039;&#039;$Condition:&#039;&#039;&#039;: ...&lt;br /&gt;
;&#039;&#039;&#039;...&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
A brief description of all Conditions and Actions at the time of this writing:&lt;br /&gt;
&lt;br /&gt;
===Conditions===&lt;br /&gt;
;State: Controls execution based on what state FS2_Open is in, such as the main hall, options screen, or in a mission. The full list of states can be found here: &#039;&#039;[[List of Game States]]&#039;&#039;&lt;br /&gt;
;Campaign: Controls execution based on the current campaign&#039;s filename. (It is under consideration to change this to the campaign&#039;s name, instead).&lt;br /&gt;
;Mission: Controls execution based on the current mission&#039;s filename. (Also under consideration).&lt;br /&gt;
;Object Type: Defines a specific object type that the action will apply for, such as a &amp;quot;Ship&amp;quot;, &amp;quot;Asteroid&amp;quot;, or &amp;quot;Jump Node&amp;quot;.&lt;br /&gt;
;Ship: Defines a specific ship (name) that the action will apply for.&lt;br /&gt;
;Ship class: Defines a specific ship class (name) that the action will apply for.&lt;br /&gt;
;Ship type: Defines a specific ship type (name) that the action will apply for.&lt;br /&gt;
;Weapon class: Defines a specific weapon class (name) that the action will apply for.&lt;br /&gt;
;KeyPress: Experimental.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Actions===&lt;br /&gt;
;On Game Init: Executes immediately after game has been started.&lt;br /&gt;
::* No associated hook variables.&lt;br /&gt;
;On Splash Screen: Executes when initial game splash screen is shown&lt;br /&gt;
::* No associated hook variables.&lt;br /&gt;
;On State Start: Executed when specified game state starts&lt;br /&gt;
::* No associated hook variables.&lt;br /&gt;
;On Frame: Executes immediately after the global scripting hook, which is right before the frame is drawn.&lt;br /&gt;
::* No associated hook variables.&lt;br /&gt;
;On Key Pressed: Executed when specified key is pressed&lt;br /&gt;
::* &#039;&#039;&#039;Key&#039;&#039;&#039;, The pressed key&lt;br /&gt;
;On Key Released: Executed when specified key is released&lt;br /&gt;
::* &#039;&#039;&#039;Key&#039;&#039;&#039;, The released key&lt;br /&gt;
;On Mouse Moved: Executed when mouse is moved&lt;br /&gt;
::* No associated hook variables.&lt;br /&gt;
;On Mouse Pressed: Executed when mouse button is pressed&lt;br /&gt;
::* No associated hook variables.&lt;br /&gt;
;On Mouse Released: Executed when mouse button is released&lt;br /&gt;
::* No associated hook variables.&lt;br /&gt;
;On State End: Executed when specified game state ends&lt;br /&gt;
::* No associated hook variables.&lt;br /&gt;
;On Mission Start: Executed when mission starts&lt;br /&gt;
::* No associated hook variables.&lt;br /&gt;
;On HUD Draw: Executed after the HUD has been drawn. Note that if the HUD is turned off, this hook will be disabled as well, until the HUD is turned back on&lt;br /&gt;
::* &#039;&#039;&#039;Self&#039;&#039;&#039;, the viewer (object)&lt;br /&gt;
;On Ship Collision: Executes when the specified object collides with a ship. Sets a handle in the HookVariables library with the name of the object type (&amp;quot;Weapon&amp;quot;, &amp;quot;Debris&amp;quot;, and so on) with the type of the object. If both objects are ships, the other object gains the name &amp;quot;ShipB&amp;quot;. (If both ship objects define a collision hook, the variables will be swapped for the other ship, so the ship that the script is executing for will always be called &amp;quot;Script&amp;quot;.) The override will disable FS2_Open code, as well as the other object&#039;s collision code. If both objects have an override set, only one of the objects&#039; hooks will be used (Chosen arbitrarily). Note that the override receives the same variables.&lt;br /&gt;
::* When colliding something other than other ship:&lt;br /&gt;
::** &#039;&#039;&#039;Ship&#039;&#039;&#039;, the ship (object)&lt;br /&gt;
::** &#039;&#039;&#039;Debris&#039;&#039;&#039;, &#039;&#039;&#039;Asteroid&#039;&#039;&#039;, &#039;&#039;&#039;Weapon&#039;&#039;&#039;, depending what it collided with (object)&lt;br /&gt;
::** &#039;&#039;&#039;Self&#039;&#039;&#039;, the object referred by the condition (object)&lt;br /&gt;
::** &#039;&#039;&#039;Object&#039;&#039;&#039;, the ship (object)&lt;br /&gt;
::* When colliding with other ship:&lt;br /&gt;
::** &#039;&#039;&#039;Ship&#039;&#039;&#039;, the ship (object) referred by the condition (object)&lt;br /&gt;
::** &#039;&#039;&#039;ShipB&#039;&#039;&#039;, the other ship (object)&lt;br /&gt;
::** &#039;&#039;&#039;Self&#039;&#039;&#039;, the ship (object) referred by the condition (object)&lt;br /&gt;
::** &#039;&#039;&#039;Object&#039;&#039;&#039;, the other ship (object)&lt;br /&gt;
;On Weapon Collision: Like the ship collision hook, but for weapons.&lt;br /&gt;
::* When colliding something other than other weapon:&lt;br /&gt;
::** &#039;&#039;&#039;Weapon&#039;&#039;&#039;, the weapon (object)&lt;br /&gt;
::** &#039;&#039;&#039;Debris&#039;&#039;&#039;, &#039;&#039;&#039;Asteroid&#039;&#039;&#039;, &#039;&#039;&#039;Ship&#039;&#039;&#039;, depending what it collided with (object)&lt;br /&gt;
::** &#039;&#039;&#039;Self&#039;&#039;&#039;, the object the weapon collided with (object)&lt;br /&gt;
::** &#039;&#039;&#039;Object&#039;&#039;&#039;, the weapon (object)&lt;br /&gt;
::* When colliding with other weapon:&lt;br /&gt;
::** &#039;&#039;&#039;Weapon&#039;&#039;&#039;, the weapon (object) referred by the condition&lt;br /&gt;
::** &#039;&#039;&#039;WeaponB&#039;&#039;&#039;, the other weapon (object)&lt;br /&gt;
::** &#039;&#039;&#039;Self&#039;&#039;&#039;, the weapon (object) referred by the condition&lt;br /&gt;
::** &#039;&#039;&#039;Object&#039;&#039;&#039;, the other weapon (object)&lt;br /&gt;
;On Debris Collision: Like the ship collision hook, except for debris.&lt;br /&gt;
::* &#039;&#039;&#039;Debris&#039;&#039;&#039;, the debris (object)&lt;br /&gt;
::* &#039;&#039;&#039;Weapon&#039;&#039;&#039;, &#039;&#039;&#039;Ship&#039;&#039;&#039;, depending what it collided with (object)&lt;br /&gt;
::* &#039;&#039;&#039;Self&#039;&#039;&#039;, the object the debris collided with (object)&lt;br /&gt;
::* &#039;&#039;&#039;Object&#039;&#039;&#039;, the debris (object)&lt;br /&gt;
;On Asteroid Collision: Like the ship collision hook, only for asteroids.&lt;br /&gt;
::* &#039;&#039;&#039;Asteroid&#039;&#039;&#039;, the asteroid (object)&lt;br /&gt;
::* &#039;&#039;&#039;Weapon&#039;&#039;&#039;, &#039;&#039;&#039;Ship&#039;&#039;&#039;, depending what it collided with (object)&lt;br /&gt;
::* &#039;&#039;&#039;Self&#039;&#039;&#039;, the object the asteroid collided with (object)&lt;br /&gt;
::* &#039;&#039;&#039;Object&#039;&#039;&#039;, the asteroid (object)&lt;br /&gt;
;On Object Render: Executes when the specified object is rendered. The override is run before the object is rendered, and both the hook and its override receive an &amp;quot;Object&amp;quot; variable of the object to be rendered.&lt;br /&gt;
::* &#039;&#039;&#039;Self&#039;&#039;&#039;, the object rendered (object)&lt;br /&gt;
;On Warp In:Run when a ship has begun warping in, immediately after everything has been set up for per-frame processing. This hook is only executed once, when the ship begins warping in. An override will disable _all_ behavior related to warpin. Both the hook and an override receive an &amp;quot;Object&amp;quot; handle in the HookVariables library, with the type of the object that is warping in.&lt;br /&gt;
::* &#039;&#039;&#039;Self&#039;&#039;&#039;, the object warping in (object)&lt;br /&gt;
;On Warp Out: Same as warping in, except for warping out.&lt;br /&gt;
::* &#039;&#039;&#039;Self&#039;&#039;&#039;, the object warping out (object)&lt;br /&gt;
;On Death: On Death: Currently only valid for ships. Receives &amp;quot;Self&amp;quot; and &amp;quot;Killer&amp;quot; variables of the object and killer, respectively. Overriding it will override all default death behavior.&lt;br /&gt;
::* For asteroids:&lt;br /&gt;
::** &#039;&#039;&#039;Self&#039;&#039;&#039;, the asteroid (object)&lt;br /&gt;
::* For ships:&lt;br /&gt;
::** &#039;&#039;&#039;Self&#039;&#039;&#039;, the ship (object)&lt;br /&gt;
::** &#039;&#039;&#039;Killer&#039;&#039;&#039;, the other object (object) - NOTE, not guaranteed to exists&lt;br /&gt;
;On Mission End: Run on mission end.&lt;br /&gt;
::* No associated hook variables.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Other hook variables:&lt;br /&gt;
::* &#039;&#039;&#039;Viewer&#039;&#039;&#039;, active if (non-player) viewing object is valid&lt;br /&gt;
::* &#039;&#039;&#039;Player&#039;&#039;&#039;, active if player obj is valid &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Examples==&lt;br /&gt;
See [[:Category:Scripting Examples|Scripting Examples category]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Tables]]&lt;/div&gt;</summary>
		<author><name>Nuke</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Scripting.tbl&amp;diff=28257</id>
		<title>Scripting.tbl</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Scripting.tbl&amp;diff=28257"/>
		<updated>2010-03-02T12:11:52Z</updated>

		<summary type="html">&lt;p&gt;Nuke: /* Conditions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;&#039;&#039;This feature requires SCP&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
The scripting table is used for scripting special features like alternate HUDs or ship viewer into the game.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Usefull references:&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;[[FS2 Open Lua Scripting]]&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;[[Scripting API]]&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;!---*&#039;&#039;&#039;[http://fs2source.warpcore.org/temp/scripting.html Scripting.html]&#039;&#039;&#039; - Link OOA ---&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;[[Command-Line_Reference#-output_scripting|Command-Line Reference for creating scripting.html]]&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;[http://lua-users.org/wiki/ Lua-Users Wiki]&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;[http://www.lua.org/manual/5.0/ Reference manual for Lua 5.0]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==General Info==&lt;br /&gt;
*Scripting table consist of several sections&lt;br /&gt;
*All sections and most of the entries are optional&lt;br /&gt;
*All sections end with #&#039;&#039;&#039;End&#039;&#039;&#039;&lt;br /&gt;
*No scripting hooks are not executed on a separate thread, at least as of this writing. They are executed at given points in the code, and all other execution will not take place until a scripting hook has finished. This means that, in theory, a large and complicated enough script will cause noticeable lag or slowdown when executed.&lt;br /&gt;
*Information in this document applies only to the HEAD branch. Scripting in 3.6.9, or in any builds based on 3.6.9, is considered unsupported.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
===Frames===&lt;br /&gt;
One of the most important things to understand when reading this guide is the concept of &amp;quot;frames&amp;quot;. (Experienced modders can probably skip this part) In gameplay, motion is achieved by making incremental changes every fraction of a second. A ship will be moved slightly, and then drawn to the screen. This happens 30-120 times a second; anything lower, and the game will become choppy and difficult to play.&lt;br /&gt;
&lt;br /&gt;
There is also a difference in the moving of objects in-game, and the moving of objects onscreen. All ships are first &amp;quot;moved&amp;quot;, in memory. This probably consists of physics calculations, that change the ship&#039;s position based on if their engines are turned on, or if they run into another object. After this, the game then renders the now-moved ships to what is referred to as a &amp;quot;backbuffer&amp;quot; - a place in memory that takes the place of the computer screen. Once rendering has finished, the backbuffer is instantly drawn to the screen. This prevents objects from flickering as they are drawn. You do not have to worry about flipping the backbuffer in scripting; FS2_Open will take care of that for you.&lt;br /&gt;
&lt;br /&gt;
For scripting, &#039;&#039;&#039;it is important to understand that each block of code will therefore be executed several times a second, but only once per frame&#039;&#039;&#039;. However, the exact number of times per second will depend on how much work the computer has to do (And therefore how much time it takes) for each frame. To determine how much time you should consider to have passed, you must use the ba.getFrametime() function; which will return the approximate time the frame will take, in seconds. In addition, if you &amp;quot;move&amp;quot; a ship after it has already been rendered, the change will not become apparent until the next frame.&lt;br /&gt;
&lt;br /&gt;
This does mean that if you want to make a block of text move across the screen, at a rate of 5 pixels per second, all you have to do is multiply the speed by the frametime:&lt;br /&gt;
&amp;lt;pre&amp;gt;#Global Hooks&lt;br /&gt;
$Global: [&lt;br /&gt;
   --If the g_WheeXPosition variable does not exist,&lt;br /&gt;
   --it means we are on the first frame.&lt;br /&gt;
   --If that is the case, set it to zero.&lt;br /&gt;
   if not g_WheeXPosition then&lt;br /&gt;
      g_WheeXPosition = 0&lt;br /&gt;
   end&lt;br /&gt;
&lt;br /&gt;
   --Move the text&lt;br /&gt;
   g_WheeXPosition = g_WheeXPosition + (5 * ba.getFrametime())&lt;br /&gt;
&lt;br /&gt;
   --Draw &amp;quot;WHEE!!!&amp;quot;&lt;br /&gt;
   gr.drawString(&amp;quot;WHEE!!!&amp;quot;, g_WheeXPosition, 10)&lt;br /&gt;
]&lt;br /&gt;
#End&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===Hooks===&lt;br /&gt;
Scripting &amp;quot;hooks&amp;quot; form the basis of the scripting system. A &amp;quot;hook&amp;quot; simply refers to a point in the code where code to execute scripting has been added. The hook may then be added to a table, or added to a SEXP. In general usage, &amp;quot;hook&amp;quot; refers to an entry in scripting.tbl.&lt;br /&gt;
&lt;br /&gt;
All hooks take the form of an identifer (such as $Global:), followed by brackets to determine what type of scripting is being executed. A lack of brackets also indicates a type of scripting execution. All current bracket configurations are listed below. Note that &amp;quot;$Hook:&amp;quot; is used merely as a placeholder, and should be replaced with the actual hook name ($Global:, $HUD:, $On Frame:, etc).&lt;br /&gt;
#&amp;lt;pre&amp;gt;$Hook: scripting&amp;lt;/pre&amp;gt;Specifies one line of LUA scripting. In addition, the return value of that line will be passed to the interpreter and used (if applicable). Specifying a variable or value on this line will result in it being returned, as well.&lt;br /&gt;
#&amp;lt;pre&amp;gt;$Hook: [scripting]&amp;lt;/pre&amp;gt;A single set of brackets specifies a block of LUA scripting. Does not return a value unless explicitly specified. (Explicit specification is not possible at this time; but may be implemented in the future if/when more future hooks take a return value.)&lt;br /&gt;
#&amp;lt;pre&amp;gt;$Hook: [[scriptfilename.lua]]&amp;lt;/pre&amp;gt;Double brackets specify a file. This file is read out of the data/scripts directory, and must include the file extension. You may specify a compiled lua file as a target as well; this may result in crossplatform issues for a mod, however.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
====+Override====&lt;br /&gt;
Some hooks additionally take a +Override: field. This field uses the same bracket configurations as above. If a hook includes a +Override field, this hook always determines whether the default FS2_Open behavior that the hook is associated with will function, or will be disabled. This should be used in cases where scripting will replace the original FS2_Open behavior. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;$HUD: [&lt;br /&gt;
    gr.setColor(255, 255, 255, 255)&lt;br /&gt;
    gr.drawString(&amp;quot;HUD Disabled&amp;quot;, 50, 50)&lt;br /&gt;
 ]&lt;br /&gt;
    +Override: true&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Additionally, override hooks are (by convention) executed before FS2_Open behavior. The HUD hook override, for example, is executed before any part of the HUD is actually drawn.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Sections==&lt;br /&gt;
* #&#039;&#039;&#039;Global Hooks&#039;&#039;&#039;&lt;br /&gt;
* #&#039;&#039;&#039;State Hooks&#039;&#039;&#039; (3.6.9)&lt;br /&gt;
* #&#039;&#039;&#039;Conditional Hooks&#039;&#039;&#039; (HEAD)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==#Global Hooks==&lt;br /&gt;
&lt;br /&gt;
Global hooks are the simplest form of scripting hooks available. They are at preset locations in the code, and are generally executed every time that point is reached. Exceptions to this rule (such as the HUD hook) only depend on one or two variables to determine execution. All other scripting execution is determined by the modder.&lt;br /&gt;
Note that, as with other tables, the game expects these entries in precisely the order given here; if this is not followed, the parser will throw an error.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===Format===&lt;br /&gt;
;&#039;&#039;&#039;$Global:&#039;&#039;&#039;: Script in this section is executed almost immediately before each frame is drawn. This means that any scripting elements will be drawn, or take effect, after everything else, except for the &amp;quot;On Frame&amp;quot; conditional hook. It is not used with the standalone server. In addition, note that use of this hook should generally be avoided, since all scripting will have to be processed every frame.&lt;br /&gt;
;&#039;&#039;&#039;$Splash:&#039;&#039;&#039;: This hook is executed once, when the splash images (PreLoad and PreLoadLogo) would be drawn. This hook should generally be used only for drawing the splash screen; any initialization could should be placed in GameInit. This hook is executed before virtually any other subsystem has been loaded, aside from the graphics and filesystem subsystems, so scripting elements such as the table and mission libraries will be nonfunctional.&lt;br /&gt;
*;&#039;&#039;&#039;+Override:&#039;&#039;&#039;: Executed just before default splash images are loaded and displayed. Note that the frame is still drawn regardless; it is not necessary to flip the backbuffer manually.&lt;br /&gt;
;&#039;&#039;&#039;$GameInit:&#039;&#039;&#039;: This hook is executed once, after all of the Freespace2 subsystems have been initialized. It is executed before the game switches to the main hall or, in the case of standalone server mode, begins the game.&lt;br /&gt;
;&#039;&#039;&#039;$Simulation:&#039;&#039;&#039;: This hook is executed only during missions. It is executed after all damage, movement, physics, SEXPs, and other &amp;quot;physical&amp;quot; in-game changes have been applied. It is executed before anything has been rendered. This hook should be used only for damage, movement, and physics related scripting, as if the game needs to be rendered without any in-game time having been passed, this function will not be called.&lt;br /&gt;
;&#039;&#039;&#039;$HUD:&#039;&#039;&#039;: The HUD hook is executed after the HUD has been drawn. Note that if the HUD is turned off, this hook will be disabled as well, until the HUD is turned back on.&lt;br /&gt;
*;&#039;&#039;&#039;+Override:&#039;&#039;&#039;: Executed immediately before anything on the HUD is drawn, and controls whether the default FS2_Open is drawn.&lt;br /&gt;
&lt;br /&gt;
==#State Hooks==&lt;br /&gt;
&lt;br /&gt;
In Freespace2, a &amp;quot;state&amp;quot; more or less refers to a room. It may also refer to a separate mode - playing a mission is the GS_STATE_GAME_PLAY state. The main menu is the GS_STATE_MAIN_MENU state. This section should only exist in 3.6.9. It is included here for the sake of documentation; it has since been removed and superseded by the conditional hook system.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===Format===&lt;br /&gt;
;&#039;&#039;&#039;$State:&#039;&#039;&#039;: Specifies the state name. A full list of states is located [http://fs2source.warpcore.org/cgi-bin/cvsweb/cvsweb.cgi/fs2_open/code/gamesequence/gamesequence.h?rev=2.10&amp;amp;content-type=text/x-cvsweb-markup within a source code file.] Search for &amp;quot;GS_STATE_MAIN_MENU&amp;quot; and look for other &amp;quot;GS_STATE&amp;quot; text.&lt;br /&gt;
*;&#039;&#039;&#039;$Hook:&#039;&#039;&#039;: Executed after all of the state code has been executed, but before the game frame is actually drawn.&lt;br /&gt;
**;&#039;&#039;&#039;+Override:&#039;&#039;&#039;: Determines whether the specified state is handled at all by Freespace. If true, then none of the loading or exit code for the state will be specified as well.&lt;br /&gt;
&lt;br /&gt;
==#Conditional Hooks==&lt;br /&gt;
Scripting hooks are only available in HEAD builds. They consist of any number of conditions, followed by any number of actions. All available conditions and actions are located in the file generated by -output_scripting.&lt;br /&gt;
&lt;br /&gt;
One way to think of conditional scripting is like this: The condition specifies the object that the action will apply to, or the place that the action will occur in. All conditions must be met for their associated actions to execute. Actions are associated with a set of conditions by simply adding them after that set of conditions. (Obviously, you may want to space out each pair of action/condition sets in the TBL to make it easier to read.)&lt;br /&gt;
&lt;br /&gt;
The flexibility of conditional scripting comes in due to its inherent scalability. If you specify a mission and ship condition with a warpin action, that script will only be executed when the ship warps in on that particular mission. Removing the mission field will make that warpin scripting apply to the ship for all missions; or removing the ship field will make the warpin scripting apply to all ships in that mission.&lt;br /&gt;
&lt;br /&gt;
This prompts the question: if this is all conditional scripting does, why not just use the global hook? &lt;br /&gt;
#Organization - conditional scripting is generally easier to read and modify because it is grouped in a standardized manner.&lt;br /&gt;
#Speed - All conditions can be evaluated by FS2_Open itself, without invoking the Lua interpreter at all.&lt;br /&gt;
#Scalability - As of the time of this writing, you can only have one global hook. Modular tables will simply replace it. With conditional scripting, if you want to specify additional actions for a set of conditions in a modular table file, you may do so.&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
;&#039;&#039;&#039;$Condition:&#039;&#039;&#039;: Where &amp;quot;$Condition:&amp;quot; is one of several conditions specified in scripting.html, such as $State: or $Ship:. Takes a value representing the object the condition should be checked against (such as a state, ship, or mission name)&lt;br /&gt;
;&#039;&#039;&#039;$Condition:&#039;&#039;&#039;: ...&lt;br /&gt;
;&#039;&#039;&#039;...&#039;&#039;&#039;:&lt;br /&gt;
;&#039;&#039;&#039;$Action:&#039;&#039;&#039;: Where &amp;quot;$Action:&amp;quot; is one of several actions specified in scripting.html, such as $On Frame or $On Warp In. Takes a scripting hook, using the bracket configuration outlined at the top of this article.&lt;br /&gt;
;&#039;&#039;&#039;$Condition:&#039;&#039;&#039;: ...&lt;br /&gt;
;&#039;&#039;&#039;...&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
A brief description of all Conditions and Actions at the time of this writing:&lt;br /&gt;
&lt;br /&gt;
===Conditions===&lt;br /&gt;
;State: Controls execution based on what state FS2_Open is in, such as the main hall, options screen, or in a mission. The full list of states can be found here: &#039;&#039;[[List of Game States]]&#039;&#039;&lt;br /&gt;
;Campaign: Controls execution based on the current campaign&#039;s filename. (It is under consideration to change this to the campaign&#039;s name, instead).&lt;br /&gt;
;Mission: Controls execution based on the current mission&#039;s filename. (Also under consideration).&lt;br /&gt;
;Object Type: Defines a specific object type that the action will apply for, such as a &amp;quot;Ship&amp;quot;, &amp;quot;Asteroid&amp;quot;, or &amp;quot;Jump Node&amp;quot;.&lt;br /&gt;
;Ship: Defines a specific ship (name) that the action will apply for.&lt;br /&gt;
;Ship class: Defines a specific ship class (name) that the action will apply for.&lt;br /&gt;
;Ship type: Defines a specific ship type (name) that the action will apply for.&lt;br /&gt;
;Weapon class: Defines a specific weapon class (name) that the action will apply for.&lt;br /&gt;
;KeyPress: Experimental.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Actions===&lt;br /&gt;
;On Game Init: Executes immediately after game has been started.&lt;br /&gt;
::* No associated hook variables.&lt;br /&gt;
;On Splash Screen: Executes when initial game splash screen is shown&lt;br /&gt;
::* No associated hook variables.&lt;br /&gt;
;On State Start: Executed when specified game state starts&lt;br /&gt;
::* No associated hook variables.&lt;br /&gt;
;On Frame: Executes immediately after the global scripting hook, which is right before the frame is drawn.&lt;br /&gt;
::* No associated hook variables.&lt;br /&gt;
;On Key Pressed: Executed when specified key is pressed&lt;br /&gt;
::* &#039;&#039;&#039;Key&#039;&#039;&#039;, The pressed key&lt;br /&gt;
;On Key Released: Executed when specified key is released&lt;br /&gt;
::* &#039;&#039;&#039;Key&#039;&#039;&#039;, The released key&lt;br /&gt;
;On Mouse Moved: Executed when mouse is moved&lt;br /&gt;
::* No associated hook variables.&lt;br /&gt;
;On Mouse Pressed: Executed when mouse button is pressed&lt;br /&gt;
::* No associated hook variables.&lt;br /&gt;
;On Mouse Released: Executed when mouse button is released&lt;br /&gt;
::* No associated hook variables.&lt;br /&gt;
;On State End: Executed when specified game state ends&lt;br /&gt;
::* No associated hook variables.&lt;br /&gt;
;On Mission Start: Executed when mission starts&lt;br /&gt;
::* No associated hook variables.&lt;br /&gt;
;On HUD Draw: Executed after the HUD has been drawn. Note that if the HUD is turned off, this hook will be disabled as well, until the HUD is turned back on&lt;br /&gt;
::* &#039;&#039;&#039;Self&#039;&#039;&#039;, the viewer (object)&lt;br /&gt;
;On Ship Collision: Executes when the specified object collides with a ship. Sets a handle in the HookVariables library with the name of the object type (&amp;quot;Weapon&amp;quot;, &amp;quot;Debris&amp;quot;, and so on) with the type of the object. If both objects are ships, the other object gains the name &amp;quot;ShipB&amp;quot;. (If both ship objects define a collision hook, the variables will be swapped for the other ship, so the ship that the script is executing for will always be called &amp;quot;Script&amp;quot;.) The override will disable FS2_Open code, as well as the other object&#039;s collision code. If both objects have an override set, only one of the objects&#039; hooks will be used (Chosen arbitrarily). Note that the override receives the same variables.&lt;br /&gt;
::* When colliding something other than other ship:&lt;br /&gt;
::** &#039;&#039;&#039;Ship&#039;&#039;&#039;, the ship (object)&lt;br /&gt;
::** &#039;&#039;&#039;Debris&#039;&#039;&#039;, &#039;&#039;&#039;Asteroid&#039;&#039;&#039;, &#039;&#039;&#039;Weapon&#039;&#039;&#039;, depending what it collided with (object)&lt;br /&gt;
::** &#039;&#039;&#039;Self&#039;&#039;&#039;, the object referred by the condition (object)&lt;br /&gt;
::** &#039;&#039;&#039;Object&#039;&#039;&#039;, the ship (object)&lt;br /&gt;
::* When colliding with other ship:&lt;br /&gt;
::** &#039;&#039;&#039;Ship&#039;&#039;&#039;, the ship (object) referred by the condition (object)&lt;br /&gt;
::** &#039;&#039;&#039;ShipB&#039;&#039;&#039;, the other ship (object)&lt;br /&gt;
::** &#039;&#039;&#039;Self&#039;&#039;&#039;, the ship (object) referred by the condition (object)&lt;br /&gt;
::** &#039;&#039;&#039;Object&#039;&#039;&#039;, the other ship (object)&lt;br /&gt;
;On Weapon Collision: Like the ship collision hook, but for weapons.&lt;br /&gt;
::* When colliding something other than other weapon:&lt;br /&gt;
::** &#039;&#039;&#039;Weapon&#039;&#039;&#039;, the weapon (object)&lt;br /&gt;
::** &#039;&#039;&#039;Debris&#039;&#039;&#039;, &#039;&#039;&#039;Asteroid&#039;&#039;&#039;, &#039;&#039;&#039;Ship&#039;&#039;&#039;, depending what it collided with (object)&lt;br /&gt;
::** &#039;&#039;&#039;Self&#039;&#039;&#039;, the object the weapon collided with (object)&lt;br /&gt;
::** &#039;&#039;&#039;Object&#039;&#039;&#039;, the weapon (object)&lt;br /&gt;
::* When colliding with other weapon:&lt;br /&gt;
::** &#039;&#039;&#039;Weapon&#039;&#039;&#039;, the weapon (object) referred by the condition&lt;br /&gt;
::** &#039;&#039;&#039;WeaponB&#039;&#039;&#039;, the other weapon (object)&lt;br /&gt;
::** &#039;&#039;&#039;Self&#039;&#039;&#039;, the weapon (object) referred by the condition&lt;br /&gt;
::** &#039;&#039;&#039;Object&#039;&#039;&#039;, the other weapon (object)&lt;br /&gt;
;On Debris Collision: Like the ship collision hook, except for debris.&lt;br /&gt;
::* &#039;&#039;&#039;Debris&#039;&#039;&#039;, the debris (object)&lt;br /&gt;
::* &#039;&#039;&#039;Weapon&#039;&#039;&#039;, &#039;&#039;&#039;Ship&#039;&#039;&#039;, depending what it collided with (object)&lt;br /&gt;
::* &#039;&#039;&#039;Self&#039;&#039;&#039;, the object the debris collided with (object)&lt;br /&gt;
::* &#039;&#039;&#039;Object&#039;&#039;&#039;, the debris (object)&lt;br /&gt;
;On Asteroid Collision: Like the ship collision hook, only for asteroids.&lt;br /&gt;
::* &#039;&#039;&#039;Asteroid&#039;&#039;&#039;, the asteroid (object)&lt;br /&gt;
::* &#039;&#039;&#039;Weapon&#039;&#039;&#039;, &#039;&#039;&#039;Ship&#039;&#039;&#039;, depending what it collided with (object)&lt;br /&gt;
::* &#039;&#039;&#039;Self&#039;&#039;&#039;, the object the asteroid collided with (object)&lt;br /&gt;
::* &#039;&#039;&#039;Object&#039;&#039;&#039;, the asteroid (object)&lt;br /&gt;
;On Object Render: Executes when the specified object is rendered. The override is run before the object is rendered, and both the hook and its override receive an &amp;quot;Object&amp;quot; variable of the object to be rendered.&lt;br /&gt;
::* &#039;&#039;&#039;Self&#039;&#039;&#039;, the object rendered (object)&lt;br /&gt;
;On Warp In:Run when a ship has begun warping in, immediately after everything has been set up for per-frame processing. This hook is only executed once, when the ship begins warping in. An override will disable _all_ behavior related to warpin. Both the hook and an override receive an &amp;quot;Object&amp;quot; handle in the HookVariables library, with the type of the object that is warping in.&lt;br /&gt;
::* &#039;&#039;&#039;Self&#039;&#039;&#039;, the object warping in (object)&lt;br /&gt;
;On Warp Out: Same as warping in, except for warping out.&lt;br /&gt;
::* &#039;&#039;&#039;Self&#039;&#039;&#039;, the object warping out (object)&lt;br /&gt;
;On Death: On Death: Currently only valid for ships. Receives &amp;quot;Self&amp;quot; and &amp;quot;Killer&amp;quot; variables of the object and killer, respectively. Overriding it will override all default death behavior.&lt;br /&gt;
::* For asteroids:&lt;br /&gt;
::** &#039;&#039;&#039;Self&#039;&#039;&#039;, the asteroid (object)&lt;br /&gt;
::* For ships:&lt;br /&gt;
::** &#039;&#039;&#039;Self&#039;&#039;&#039;, the ship (object)&lt;br /&gt;
::** &#039;&#039;&#039;Killer&#039;&#039;&#039;, the other object (object) - NOTE, not guaranteed to exists&lt;br /&gt;
;On Mission End: Run on mission end.&lt;br /&gt;
::* No associated hook variables.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Other hook variables:&lt;br /&gt;
::* &#039;&#039;&#039;Viewer&#039;&#039;&#039;, active if (non-player) viewing object is valid&lt;br /&gt;
::* &#039;&#039;&#039;Player&#039;&#039;&#039;, active if player obj is valid &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Examples==&lt;br /&gt;
See [[:Category:Scripting Examples|Scripting Examples category]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Tables]]&lt;/div&gt;</summary>
		<author><name>Nuke</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=List_of_Game_States&amp;diff=28256</id>
		<title>List of Game States</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=List_of_Game_States&amp;diff=28256"/>
		<updated>2010-03-02T12:09:47Z</updated>

		<summary type="html">&lt;p&gt;Nuke: Created page with &amp;#039;===List of Game States=== ---- *NOT A VALID STATE *GS_STATE_MAIN_MENU *GS_STATE_GAME_PLAY *GS_STATE_GAME_PAUSED *GS_STATE_QUIT_GAME *GS_STATE_OPTIONS_MENU *GS_STATE_BARRACKS_MENU…&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===List of Game States===&lt;br /&gt;
----&lt;br /&gt;
*NOT A VALID STATE&lt;br /&gt;
*GS_STATE_MAIN_MENU&lt;br /&gt;
*GS_STATE_GAME_PLAY&lt;br /&gt;
*GS_STATE_GAME_PAUSED&lt;br /&gt;
*GS_STATE_QUIT_GAME&lt;br /&gt;
*GS_STATE_OPTIONS_MENU&lt;br /&gt;
*GS_STATE_BARRACKS_MENU&lt;br /&gt;
*GS_STATE_TECH_MENU&lt;br /&gt;
*GS_STATE_TRAINING_MENU&lt;br /&gt;
*GS_STATE_LOAD_MISSION_MENU&lt;br /&gt;
*GS_STATE_BRIEFING&lt;br /&gt;
*GS_STATE_SHIP_SELECT&lt;br /&gt;
*GS_STATE_DEBUG_PAUSED&lt;br /&gt;
*GS_STATE_HUD_CONFIG&lt;br /&gt;
*GS_STATE_MULTI_JOIN_GAME&lt;br /&gt;
*GS_STATE_CONTROL_CONFIG&lt;br /&gt;
*GS_STATE_WEAPON_SELECT&lt;br /&gt;
*GS_STATE_MISSION_LOG_SCROLLBACK&lt;br /&gt;
*GS_STATE_DEATH_DIED&lt;br /&gt;
*GS_STATE_DEATH_BLEW_UP&lt;br /&gt;
*GS_STATE_SIMULATOR_ROOM&lt;br /&gt;
*GS_STATE_CREDITS&lt;br /&gt;
*GS_STATE_SHOW_GOALS&lt;br /&gt;
*GS_STATE_HOTKEY_SCREEN&lt;br /&gt;
*GS_STATE_VIEW_MEDALS&lt;br /&gt;
*GS_STATE_MULTI_HOST_SETUP&lt;br /&gt;
*GS_STATE_MULTI_CLIENT_SETUP&lt;br /&gt;
*GS_STATE_DEBRIEF&lt;br /&gt;
*GS_STATE_VIEW_CUTSCENES&lt;br /&gt;
*GS_STATE_MULTI_STD_WAIT&lt;br /&gt;
*GS_STATE_STANDALONE_MAIN&lt;br /&gt;
*GS_STATE_MULTI_PAUSED&lt;br /&gt;
*GS_STATE_TEAM_SELECT&lt;br /&gt;
*GS_STATE_TRAINING_PAUSED&lt;br /&gt;
*GS_STATE_INGAME_PRE_JOIN&lt;br /&gt;
*GS_STATE_EVENT_DEBUG&lt;br /&gt;
*GS_STATE_STANDALONE_POSTGAME&lt;br /&gt;
*GS_STATE_INITIAL_PLAYER_SELECT&lt;br /&gt;
*GS_STATE_MULTI_MISSION_SYNC&lt;br /&gt;
*GS_STATE_MULTI_START_GAME&lt;br /&gt;
*GS_STATE_MULTI_HOST_OPTIONS&lt;br /&gt;
*GS_STATE_MULTI_DOGFIGHT_DEBRIEF&lt;br /&gt;
*GS_STATE_CAMPAIGN_ROOM&lt;br /&gt;
*GS_STATE_CMD_BRIEF&lt;br /&gt;
*GS_STATE_RED_ALERT&lt;br /&gt;
*GS_STATE_END_OF_CAMPAIGN&lt;br /&gt;
*GS_STATE_GAMEPLAY_HELP&lt;br /&gt;
*GS_STATE_END_DEMO&lt;br /&gt;
*GS_STATE_LOOP_BRIEF&lt;br /&gt;
*GS_STATE_PXO&lt;br /&gt;
*GS_STATE_LAB&lt;br /&gt;
*GS_STATE_PXO_HELP&lt;br /&gt;
*GS_STATE_START_GAME&lt;br /&gt;
*GS_STATE_FICTION_VIEWER&amp;quot;&lt;/div&gt;</summary>
		<author><name>Nuke</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Scripting.tbl&amp;diff=28255</id>
		<title>Scripting.tbl</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Scripting.tbl&amp;diff=28255"/>
		<updated>2010-03-02T12:03:44Z</updated>

		<summary type="html">&lt;p&gt;Nuke: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;&#039;&#039;This feature requires SCP&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
The scripting table is used for scripting special features like alternate HUDs or ship viewer into the game.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Usefull references:&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;[[FS2 Open Lua Scripting]]&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;[[Scripting API]]&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;!---*&#039;&#039;&#039;[http://fs2source.warpcore.org/temp/scripting.html Scripting.html]&#039;&#039;&#039; - Link OOA ---&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;[[Command-Line_Reference#-output_scripting|Command-Line Reference for creating scripting.html]]&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;[http://lua-users.org/wiki/ Lua-Users Wiki]&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;[http://www.lua.org/manual/5.0/ Reference manual for Lua 5.0]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==General Info==&lt;br /&gt;
*Scripting table consist of several sections&lt;br /&gt;
*All sections and most of the entries are optional&lt;br /&gt;
*All sections end with #&#039;&#039;&#039;End&#039;&#039;&#039;&lt;br /&gt;
*No scripting hooks are not executed on a separate thread, at least as of this writing. They are executed at given points in the code, and all other execution will not take place until a scripting hook has finished. This means that, in theory, a large and complicated enough script will cause noticeable lag or slowdown when executed.&lt;br /&gt;
*Information in this document applies only to the HEAD branch. Scripting in 3.6.9, or in any builds based on 3.6.9, is considered unsupported.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Prerequisites==&lt;br /&gt;
===Frames===&lt;br /&gt;
One of the most important things to understand when reading this guide is the concept of &amp;quot;frames&amp;quot;. (Experienced modders can probably skip this part) In gameplay, motion is achieved by making incremental changes every fraction of a second. A ship will be moved slightly, and then drawn to the screen. This happens 30-120 times a second; anything lower, and the game will become choppy and difficult to play.&lt;br /&gt;
&lt;br /&gt;
There is also a difference in the moving of objects in-game, and the moving of objects onscreen. All ships are first &amp;quot;moved&amp;quot;, in memory. This probably consists of physics calculations, that change the ship&#039;s position based on if their engines are turned on, or if they run into another object. After this, the game then renders the now-moved ships to what is referred to as a &amp;quot;backbuffer&amp;quot; - a place in memory that takes the place of the computer screen. Once rendering has finished, the backbuffer is instantly drawn to the screen. This prevents objects from flickering as they are drawn. You do not have to worry about flipping the backbuffer in scripting; FS2_Open will take care of that for you.&lt;br /&gt;
&lt;br /&gt;
For scripting, &#039;&#039;&#039;it is important to understand that each block of code will therefore be executed several times a second, but only once per frame&#039;&#039;&#039;. However, the exact number of times per second will depend on how much work the computer has to do (And therefore how much time it takes) for each frame. To determine how much time you should consider to have passed, you must use the ba.getFrametime() function; which will return the approximate time the frame will take, in seconds. In addition, if you &amp;quot;move&amp;quot; a ship after it has already been rendered, the change will not become apparent until the next frame.&lt;br /&gt;
&lt;br /&gt;
This does mean that if you want to make a block of text move across the screen, at a rate of 5 pixels per second, all you have to do is multiply the speed by the frametime:&lt;br /&gt;
&amp;lt;pre&amp;gt;#Global Hooks&lt;br /&gt;
$Global: [&lt;br /&gt;
   --If the g_WheeXPosition variable does not exist,&lt;br /&gt;
   --it means we are on the first frame.&lt;br /&gt;
   --If that is the case, set it to zero.&lt;br /&gt;
   if not g_WheeXPosition then&lt;br /&gt;
      g_WheeXPosition = 0&lt;br /&gt;
   end&lt;br /&gt;
&lt;br /&gt;
   --Move the text&lt;br /&gt;
   g_WheeXPosition = g_WheeXPosition + (5 * ba.getFrametime())&lt;br /&gt;
&lt;br /&gt;
   --Draw &amp;quot;WHEE!!!&amp;quot;&lt;br /&gt;
   gr.drawString(&amp;quot;WHEE!!!&amp;quot;, g_WheeXPosition, 10)&lt;br /&gt;
]&lt;br /&gt;
#End&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===Hooks===&lt;br /&gt;
Scripting &amp;quot;hooks&amp;quot; form the basis of the scripting system. A &amp;quot;hook&amp;quot; simply refers to a point in the code where code to execute scripting has been added. The hook may then be added to a table, or added to a SEXP. In general usage, &amp;quot;hook&amp;quot; refers to an entry in scripting.tbl.&lt;br /&gt;
&lt;br /&gt;
All hooks take the form of an identifer (such as $Global:), followed by brackets to determine what type of scripting is being executed. A lack of brackets also indicates a type of scripting execution. All current bracket configurations are listed below. Note that &amp;quot;$Hook:&amp;quot; is used merely as a placeholder, and should be replaced with the actual hook name ($Global:, $HUD:, $On Frame:, etc).&lt;br /&gt;
#&amp;lt;pre&amp;gt;$Hook: scripting&amp;lt;/pre&amp;gt;Specifies one line of LUA scripting. In addition, the return value of that line will be passed to the interpreter and used (if applicable). Specifying a variable or value on this line will result in it being returned, as well.&lt;br /&gt;
#&amp;lt;pre&amp;gt;$Hook: [scripting]&amp;lt;/pre&amp;gt;A single set of brackets specifies a block of LUA scripting. Does not return a value unless explicitly specified. (Explicit specification is not possible at this time; but may be implemented in the future if/when more future hooks take a return value.)&lt;br /&gt;
#&amp;lt;pre&amp;gt;$Hook: [[scriptfilename.lua]]&amp;lt;/pre&amp;gt;Double brackets specify a file. This file is read out of the data/scripts directory, and must include the file extension. You may specify a compiled lua file as a target as well; this may result in crossplatform issues for a mod, however.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
====+Override====&lt;br /&gt;
Some hooks additionally take a +Override: field. This field uses the same bracket configurations as above. If a hook includes a +Override field, this hook always determines whether the default FS2_Open behavior that the hook is associated with will function, or will be disabled. This should be used in cases where scripting will replace the original FS2_Open behavior. For example:&lt;br /&gt;
&amp;lt;pre&amp;gt;$HUD: [&lt;br /&gt;
    gr.setColor(255, 255, 255, 255)&lt;br /&gt;
    gr.drawString(&amp;quot;HUD Disabled&amp;quot;, 50, 50)&lt;br /&gt;
 ]&lt;br /&gt;
    +Override: true&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Additionally, override hooks are (by convention) executed before FS2_Open behavior. The HUD hook override, for example, is executed before any part of the HUD is actually drawn.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Sections==&lt;br /&gt;
* #&#039;&#039;&#039;Global Hooks&#039;&#039;&#039;&lt;br /&gt;
* #&#039;&#039;&#039;State Hooks&#039;&#039;&#039; (3.6.9)&lt;br /&gt;
* #&#039;&#039;&#039;Conditional Hooks&#039;&#039;&#039; (HEAD)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==#Global Hooks==&lt;br /&gt;
&lt;br /&gt;
Global hooks are the simplest form of scripting hooks available. They are at preset locations in the code, and are generally executed every time that point is reached. Exceptions to this rule (such as the HUD hook) only depend on one or two variables to determine execution. All other scripting execution is determined by the modder.&lt;br /&gt;
Note that, as with other tables, the game expects these entries in precisely the order given here; if this is not followed, the parser will throw an error.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===Format===&lt;br /&gt;
;&#039;&#039;&#039;$Global:&#039;&#039;&#039;: Script in this section is executed almost immediately before each frame is drawn. This means that any scripting elements will be drawn, or take effect, after everything else, except for the &amp;quot;On Frame&amp;quot; conditional hook. It is not used with the standalone server. In addition, note that use of this hook should generally be avoided, since all scripting will have to be processed every frame.&lt;br /&gt;
;&#039;&#039;&#039;$Splash:&#039;&#039;&#039;: This hook is executed once, when the splash images (PreLoad and PreLoadLogo) would be drawn. This hook should generally be used only for drawing the splash screen; any initialization could should be placed in GameInit. This hook is executed before virtually any other subsystem has been loaded, aside from the graphics and filesystem subsystems, so scripting elements such as the table and mission libraries will be nonfunctional.&lt;br /&gt;
*;&#039;&#039;&#039;+Override:&#039;&#039;&#039;: Executed just before default splash images are loaded and displayed. Note that the frame is still drawn regardless; it is not necessary to flip the backbuffer manually.&lt;br /&gt;
;&#039;&#039;&#039;$GameInit:&#039;&#039;&#039;: This hook is executed once, after all of the Freespace2 subsystems have been initialized. It is executed before the game switches to the main hall or, in the case of standalone server mode, begins the game.&lt;br /&gt;
;&#039;&#039;&#039;$Simulation:&#039;&#039;&#039;: This hook is executed only during missions. It is executed after all damage, movement, physics, SEXPs, and other &amp;quot;physical&amp;quot; in-game changes have been applied. It is executed before anything has been rendered. This hook should be used only for damage, movement, and physics related scripting, as if the game needs to be rendered without any in-game time having been passed, this function will not be called.&lt;br /&gt;
;&#039;&#039;&#039;$HUD:&#039;&#039;&#039;: The HUD hook is executed after the HUD has been drawn. Note that if the HUD is turned off, this hook will be disabled as well, until the HUD is turned back on.&lt;br /&gt;
*;&#039;&#039;&#039;+Override:&#039;&#039;&#039;: Executed immediately before anything on the HUD is drawn, and controls whether the default FS2_Open is drawn.&lt;br /&gt;
&lt;br /&gt;
==#State Hooks==&lt;br /&gt;
&lt;br /&gt;
In Freespace2, a &amp;quot;state&amp;quot; more or less refers to a room. It may also refer to a separate mode - playing a mission is the GS_STATE_GAME_PLAY state. The main menu is the GS_STATE_MAIN_MENU state. This section should only exist in 3.6.9. It is included here for the sake of documentation; it has since been removed and superseded by the conditional hook system.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===Format===&lt;br /&gt;
;&#039;&#039;&#039;$State:&#039;&#039;&#039;: Specifies the state name. A full list of states is located [http://fs2source.warpcore.org/cgi-bin/cvsweb/cvsweb.cgi/fs2_open/code/gamesequence/gamesequence.h?rev=2.10&amp;amp;content-type=text/x-cvsweb-markup within a source code file.] Search for &amp;quot;GS_STATE_MAIN_MENU&amp;quot; and look for other &amp;quot;GS_STATE&amp;quot; text.&lt;br /&gt;
*;&#039;&#039;&#039;$Hook:&#039;&#039;&#039;: Executed after all of the state code has been executed, but before the game frame is actually drawn.&lt;br /&gt;
**;&#039;&#039;&#039;+Override:&#039;&#039;&#039;: Determines whether the specified state is handled at all by Freespace. If true, then none of the loading or exit code for the state will be specified as well.&lt;br /&gt;
&lt;br /&gt;
==#Conditional Hooks==&lt;br /&gt;
Scripting hooks are only available in HEAD builds. They consist of any number of conditions, followed by any number of actions. All available conditions and actions are located in the file generated by -output_scripting.&lt;br /&gt;
&lt;br /&gt;
One way to think of conditional scripting is like this: The condition specifies the object that the action will apply to, or the place that the action will occur in. All conditions must be met for their associated actions to execute. Actions are associated with a set of conditions by simply adding them after that set of conditions. (Obviously, you may want to space out each pair of action/condition sets in the TBL to make it easier to read.)&lt;br /&gt;
&lt;br /&gt;
The flexibility of conditional scripting comes in due to its inherent scalability. If you specify a mission and ship condition with a warpin action, that script will only be executed when the ship warps in on that particular mission. Removing the mission field will make that warpin scripting apply to the ship for all missions; or removing the ship field will make the warpin scripting apply to all ships in that mission.&lt;br /&gt;
&lt;br /&gt;
This prompts the question: if this is all conditional scripting does, why not just use the global hook? &lt;br /&gt;
#Organization - conditional scripting is generally easier to read and modify because it is grouped in a standardized manner.&lt;br /&gt;
#Speed - All conditions can be evaluated by FS2_Open itself, without invoking the Lua interpreter at all.&lt;br /&gt;
#Scalability - As of the time of this writing, you can only have one global hook. Modular tables will simply replace it. With conditional scripting, if you want to specify additional actions for a set of conditions in a modular table file, you may do so.&lt;br /&gt;
&lt;br /&gt;
===Format===&lt;br /&gt;
;&#039;&#039;&#039;$Condition:&#039;&#039;&#039;: Where &amp;quot;$Condition:&amp;quot; is one of several conditions specified in scripting.html, such as $State: or $Ship:. Takes a value representing the object the condition should be checked against (such as a state, ship, or mission name)&lt;br /&gt;
;&#039;&#039;&#039;$Condition:&#039;&#039;&#039;: ...&lt;br /&gt;
;&#039;&#039;&#039;...&#039;&#039;&#039;:&lt;br /&gt;
;&#039;&#039;&#039;$Action:&#039;&#039;&#039;: Where &amp;quot;$Action:&amp;quot; is one of several actions specified in scripting.html, such as $On Frame or $On Warp In. Takes a scripting hook, using the bracket configuration outlined at the top of this article.&lt;br /&gt;
;&#039;&#039;&#039;$Condition:&#039;&#039;&#039;: ...&lt;br /&gt;
;&#039;&#039;&#039;...&#039;&#039;&#039;:&lt;br /&gt;
&lt;br /&gt;
A brief description of all Conditions and Actions at the time of this writing:&lt;br /&gt;
&lt;br /&gt;
===Conditions===&lt;br /&gt;
;State: Controls execution based on what state FS2_Open is in, such as the main hall, options screen, or in a mission. The full list of states can be found in the source, as part of [http://fs2source.warpcore.org/cgi-bin/cvsweb/cvsweb.cgi/fs2_open/code/gamesequence/gamesequence.h?rev=2.10&amp;amp;content-type=text/x-cvsweb-markup gamesequence.cpp]. Search this file for &amp;quot;GS_STATE&amp;quot; to find the list, or here &#039;&#039;&#039;[[List of Game States]]&#039;&#039;&#039;&lt;br /&gt;
;Campaign: Controls execution based on the current campaign&#039;s filename. (It is under consideration to change this to the campaign&#039;s name, instead).&lt;br /&gt;
;Mission: Controls execution based on the current mission&#039;s filename. (Also under consideration).&lt;br /&gt;
;Object Type: Defines a specific object type that the action will apply for, such as a &amp;quot;Ship&amp;quot;, &amp;quot;Asteroid&amp;quot;, or &amp;quot;Jump Node&amp;quot;.&lt;br /&gt;
;Ship: Defines a specific ship (name) that the action will apply for.&lt;br /&gt;
;Ship class: Defines a specific ship class (name) that the action will apply for.&lt;br /&gt;
;Ship type: Defines a specific ship type (name) that the action will apply for.&lt;br /&gt;
;Weapon class: Defines a specific weapon class (name) that the action will apply for.&lt;br /&gt;
;KeyPress: Experimental.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===Actions===&lt;br /&gt;
;On Game Init: Executes immediately after game has been started.&lt;br /&gt;
::* No associated hook variables.&lt;br /&gt;
;On Splash Screen: Executes when initial game splash screen is shown&lt;br /&gt;
::* No associated hook variables.&lt;br /&gt;
;On State Start: Executed when specified game state starts&lt;br /&gt;
::* No associated hook variables.&lt;br /&gt;
;On Frame: Executes immediately after the global scripting hook, which is right before the frame is drawn.&lt;br /&gt;
::* No associated hook variables.&lt;br /&gt;
;On Key Pressed: Executed when specified key is pressed&lt;br /&gt;
::* &#039;&#039;&#039;Key&#039;&#039;&#039;, The pressed key&lt;br /&gt;
;On Key Released: Executed when specified key is released&lt;br /&gt;
::* &#039;&#039;&#039;Key&#039;&#039;&#039;, The released key&lt;br /&gt;
;On Mouse Moved: Executed when mouse is moved&lt;br /&gt;
::* No associated hook variables.&lt;br /&gt;
;On Mouse Pressed: Executed when mouse button is pressed&lt;br /&gt;
::* No associated hook variables.&lt;br /&gt;
;On Mouse Released: Executed when mouse button is released&lt;br /&gt;
::* No associated hook variables.&lt;br /&gt;
;On State End: Executed when specified game state ends&lt;br /&gt;
::* No associated hook variables.&lt;br /&gt;
;On Mission Start: Executed when mission starts&lt;br /&gt;
::* No associated hook variables.&lt;br /&gt;
;On HUD Draw: Executed after the HUD has been drawn. Note that if the HUD is turned off, this hook will be disabled as well, until the HUD is turned back on&lt;br /&gt;
::* &#039;&#039;&#039;Self&#039;&#039;&#039;, the viewer (object)&lt;br /&gt;
;On Ship Collision: Executes when the specified object collides with a ship. Sets a handle in the HookVariables library with the name of the object type (&amp;quot;Weapon&amp;quot;, &amp;quot;Debris&amp;quot;, and so on) with the type of the object. If both objects are ships, the other object gains the name &amp;quot;ShipB&amp;quot;. (If both ship objects define a collision hook, the variables will be swapped for the other ship, so the ship that the script is executing for will always be called &amp;quot;Script&amp;quot;.) The override will disable FS2_Open code, as well as the other object&#039;s collision code. If both objects have an override set, only one of the objects&#039; hooks will be used (Chosen arbitrarily). Note that the override receives the same variables.&lt;br /&gt;
::* When colliding something other than other ship:&lt;br /&gt;
::** &#039;&#039;&#039;Ship&#039;&#039;&#039;, the ship (object)&lt;br /&gt;
::** &#039;&#039;&#039;Debris&#039;&#039;&#039;, &#039;&#039;&#039;Asteroid&#039;&#039;&#039;, &#039;&#039;&#039;Weapon&#039;&#039;&#039;, depending what it collided with (object)&lt;br /&gt;
::** &#039;&#039;&#039;Self&#039;&#039;&#039;, the object referred by the condition (object)&lt;br /&gt;
::** &#039;&#039;&#039;Object&#039;&#039;&#039;, the ship (object)&lt;br /&gt;
::* When colliding with other ship:&lt;br /&gt;
::** &#039;&#039;&#039;Ship&#039;&#039;&#039;, the ship (object) referred by the condition (object)&lt;br /&gt;
::** &#039;&#039;&#039;ShipB&#039;&#039;&#039;, the other ship (object)&lt;br /&gt;
::** &#039;&#039;&#039;Self&#039;&#039;&#039;, the ship (object) referred by the condition (object)&lt;br /&gt;
::** &#039;&#039;&#039;Object&#039;&#039;&#039;, the other ship (object)&lt;br /&gt;
;On Weapon Collision: Like the ship collision hook, but for weapons.&lt;br /&gt;
::* When colliding something other than other weapon:&lt;br /&gt;
::** &#039;&#039;&#039;Weapon&#039;&#039;&#039;, the weapon (object)&lt;br /&gt;
::** &#039;&#039;&#039;Debris&#039;&#039;&#039;, &#039;&#039;&#039;Asteroid&#039;&#039;&#039;, &#039;&#039;&#039;Ship&#039;&#039;&#039;, depending what it collided with (object)&lt;br /&gt;
::** &#039;&#039;&#039;Self&#039;&#039;&#039;, the object the weapon collided with (object)&lt;br /&gt;
::** &#039;&#039;&#039;Object&#039;&#039;&#039;, the weapon (object)&lt;br /&gt;
::* When colliding with other weapon:&lt;br /&gt;
::** &#039;&#039;&#039;Weapon&#039;&#039;&#039;, the weapon (object) referred by the condition&lt;br /&gt;
::** &#039;&#039;&#039;WeaponB&#039;&#039;&#039;, the other weapon (object)&lt;br /&gt;
::** &#039;&#039;&#039;Self&#039;&#039;&#039;, the weapon (object) referred by the condition&lt;br /&gt;
::** &#039;&#039;&#039;Object&#039;&#039;&#039;, the other weapon (object)&lt;br /&gt;
;On Debris Collision: Like the ship collision hook, except for debris.&lt;br /&gt;
::* &#039;&#039;&#039;Debris&#039;&#039;&#039;, the debris (object)&lt;br /&gt;
::* &#039;&#039;&#039;Weapon&#039;&#039;&#039;, &#039;&#039;&#039;Ship&#039;&#039;&#039;, depending what it collided with (object)&lt;br /&gt;
::* &#039;&#039;&#039;Self&#039;&#039;&#039;, the object the debris collided with (object)&lt;br /&gt;
::* &#039;&#039;&#039;Object&#039;&#039;&#039;, the debris (object)&lt;br /&gt;
;On Asteroid Collision: Like the ship collision hook, only for asteroids.&lt;br /&gt;
::* &#039;&#039;&#039;Asteroid&#039;&#039;&#039;, the asteroid (object)&lt;br /&gt;
::* &#039;&#039;&#039;Weapon&#039;&#039;&#039;, &#039;&#039;&#039;Ship&#039;&#039;&#039;, depending what it collided with (object)&lt;br /&gt;
::* &#039;&#039;&#039;Self&#039;&#039;&#039;, the object the asteroid collided with (object)&lt;br /&gt;
::* &#039;&#039;&#039;Object&#039;&#039;&#039;, the asteroid (object)&lt;br /&gt;
;On Object Render: Executes when the specified object is rendered. The override is run before the object is rendered, and both the hook and its override receive an &amp;quot;Object&amp;quot; variable of the object to be rendered.&lt;br /&gt;
::* &#039;&#039;&#039;Self&#039;&#039;&#039;, the object rendered (object)&lt;br /&gt;
;On Warp In:Run when a ship has begun warping in, immediately after everything has been set up for per-frame processing. This hook is only executed once, when the ship begins warping in. An override will disable _all_ behavior related to warpin. Both the hook and an override receive an &amp;quot;Object&amp;quot; handle in the HookVariables library, with the type of the object that is warping in.&lt;br /&gt;
::* &#039;&#039;&#039;Self&#039;&#039;&#039;, the object warping in (object)&lt;br /&gt;
;On Warp Out: Same as warping in, except for warping out.&lt;br /&gt;
::* &#039;&#039;&#039;Self&#039;&#039;&#039;, the object warping out (object)&lt;br /&gt;
;On Death: On Death: Currently only valid for ships. Receives &amp;quot;Self&amp;quot; and &amp;quot;Killer&amp;quot; variables of the object and killer, respectively. Overriding it will override all default death behavior.&lt;br /&gt;
::* For asteroids:&lt;br /&gt;
::** &#039;&#039;&#039;Self&#039;&#039;&#039;, the asteroid (object)&lt;br /&gt;
::* For ships:&lt;br /&gt;
::** &#039;&#039;&#039;Self&#039;&#039;&#039;, the ship (object)&lt;br /&gt;
::** &#039;&#039;&#039;Killer&#039;&#039;&#039;, the other object (object) - NOTE, not guaranteed to exists&lt;br /&gt;
;On Mission End: Run on mission end.&lt;br /&gt;
::* No associated hook variables.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
;Other hook variables:&lt;br /&gt;
::* &#039;&#039;&#039;Viewer&#039;&#039;&#039;, active if (non-player) viewing object is valid&lt;br /&gt;
::* &#039;&#039;&#039;Player&#039;&#039;&#039;, active if player obj is valid &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Examples==&lt;br /&gt;
See [[:Category:Scripting Examples|Scripting Examples category]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Tables]]&lt;/div&gt;</summary>
		<author><name>Nuke</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Ships.tbl&amp;diff=15926</id>
		<title>Ships.tbl</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Ships.tbl&amp;diff=15926"/>
		<updated>2008-04-11T23:15:24Z</updated>

		<summary type="html">&lt;p&gt;Nuke: /* $Banking Constant: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TableVersion|4562|4499}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- I&#039;ll leave these here - commented away - until we can be sure they are not needed&lt;br /&gt;
Links to archived versions:&lt;br /&gt;
*[[Ships.tbl/CVS_version|CVS version of ships.tbl]]&lt;br /&gt;
*[[Ships.tbl/Retail_version|Retail version of ships.tbl]]&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
==General Format==&lt;br /&gt;
*Ship.tbl is formed of several different sections.&lt;br /&gt;
*All sections beginning with &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt; need &amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt;End before the next section.&lt;br /&gt;
**&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;Default Player Ship&#039;&#039;&#039;&lt;br /&gt;
***Defines the default player ship in the game and also in the FRED. If in a mission appears a ship that has not been properly included to tables then game replaces the ship with the Default Player Ship.&lt;br /&gt;
**&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;Engine Wash Info&#039;&#039;&#039;&lt;br /&gt;
***Includes all the definitions of all engine washes used in the game.&lt;br /&gt;
{{Table37|&lt;br /&gt;
:*&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;Ship Templates&#039;&#039;&#039;&lt;br /&gt;
:**Includes entries for ship templates}}&lt;br /&gt;
&lt;br /&gt;
:*&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;Ship Classes&#039;&#039;&#039;&lt;br /&gt;
:**Includes entries for every ship and also defines their attributes that are used in the game&lt;br /&gt;
:**Is discussed in detail at [[Ships.tbl#Table_Options|Table Options]] section.&lt;br /&gt;
:*&#039;&#039;&#039;$Player Ship Precedence&#039;&#039;&#039;&lt;br /&gt;
:**Player Ship Precedence is used in ship selection when a ship specified by the mission designer is not available to the player.  The next ship on the list is used in its place (assuming that ship is allowed for the player)&lt;br /&gt;
&lt;br /&gt;
==Default Player Ship==&lt;br /&gt;
*Defines the default ship in the game.&lt;br /&gt;
*Syntax: &#039;&#039;Name&#039;&#039;, name of ship model as defined in [[Ships.tbl#Table_Options|Table Options]].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Engine Wash==&lt;br /&gt;
*Defines the engines washes&lt;br /&gt;
*First entry must be named &#039;default&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Name:===&lt;br /&gt;
*Defines the name of the engine wash. &lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===+nocreate===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*In [[Modular Tables]] name can be followed by line &#039;&#039;&#039;+nocreate&#039;&#039;&#039; that prevent game from creating an incomplete entry by leaving the entry unread unless it already exists (either in ship.tbl or in earlier parsed *-shp.tbm files) by the time the *-shp.tbm is read.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Angle:===&lt;br /&gt;
*Defines the angle from the engine where the engine wash exists&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, degrees&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Radius Mult:===&lt;br /&gt;
*Defines engine wash multiplier&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Length:===&lt;br /&gt;
*Defines the length of the engine wash&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Intensity:===&lt;br /&gt;
*Defines the strength of the engine wash&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, blast effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&lt;br /&gt;
   $Name:           Default&lt;br /&gt;
   $Angle:          10.0&lt;br /&gt;
   $Radius Mult:    1.2&lt;br /&gt;
   $Length:         400&lt;br /&gt;
   $Intensity:      1.0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ship Template Options==&lt;br /&gt;
{{Table37|&lt;br /&gt;
*Example of template usage [[Ship_Templates]] in which both [[GTB Artemis]] variants have been defined using a single template}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Template:===&lt;br /&gt;
{{Table37|&lt;br /&gt;
*Defines the name of template&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===+Use Template:===&lt;br /&gt;
{{Table37|&lt;br /&gt;
*Another template can be used as template for the current template&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ships Table Options==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Name:===&lt;br /&gt;
*Model name that is used also in game. It is also used as name for the whole ship entry.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;&#039;, name&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===+nocreate===&lt;br /&gt;
{{Table36| &lt;br /&gt;
*In [[Modular Tables]] name can be followed by line &#039;&#039;&#039;+nocreate&#039;&#039;&#039; that prevent game from creating an incomplete entry by leaving the entry unread unless it already exists (either in ship.tbl or in earlier parsed *-shp.tbm files) by the time the *-shp.tbm is read.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===+Use Template:===&lt;br /&gt;
{{Table37|&lt;br /&gt;
*Sets the table entry to use template based on an existing table entry instead of creating totally new one&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name of the template}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Short name:===&lt;br /&gt;
*Shortened model name, for FRED, Usually more descriptive than the real name.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Species:===&lt;br /&gt;
*Defines species (Terran, Vasudan or Shivan). Determines many things, including the color of the engine glow, the flyby sound effects, the briefing icon and the support ship. &lt;br /&gt;
{{Table36|&lt;br /&gt;
*More species have been enabled, and all of these have to be defined in [[species_defs.tbl]].}}&lt;br /&gt;
&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name of the species&lt;br /&gt;
**Example: &#039;&#039;Terran&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Technical description===&lt;br /&gt;
List of descriptive terms for techroom and ship selection screens. Number after the quotes refers to [[tstrings.tbl]]&lt;br /&gt;
&lt;br /&gt;
====+Type:====&lt;br /&gt;
*Syntax: XSTR(&amp;quot;&#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;&amp;quot;, integer)&lt;br /&gt;
*Example: XSTR(&amp;quot;&amp;quot;, -1)&lt;br /&gt;
&lt;br /&gt;
====+Maneuverability:====&lt;br /&gt;
*Syntax: XSTR(&amp;quot;&#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;&amp;quot;, integer)&lt;br /&gt;
*Example: XSTR(&amp;quot;&amp;quot;, -1)&lt;br /&gt;
&lt;br /&gt;
====+Armor:====&lt;br /&gt;
*Syntax: XSTR(&amp;quot;&#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;&amp;quot;, integer)&lt;br /&gt;
*Example: XSTR(&amp;quot;&amp;quot;, -1)&lt;br /&gt;
&lt;br /&gt;
====+Manufacturer:====&lt;br /&gt;
*Syntax: XSTR(&amp;quot;&#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;&amp;quot;, integer)&lt;br /&gt;
*Example: XSTR(&amp;quot;&amp;quot;, -1)&lt;br /&gt;
&lt;br /&gt;
====+Description:====&lt;br /&gt;
*Syntax: XSTR(&amp;quot;&#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;&amp;quot;, integer)&lt;br /&gt;
*Requires &#039;&#039;&#039;$end_multi_text&#039;&#039;&#039; after the entry&lt;br /&gt;
*Example: &lt;br /&gt;
::XSTR(&amp;quot;&amp;quot;, -1)&lt;br /&gt;
::$end_multi_text&lt;br /&gt;
&lt;br /&gt;
====+Tech Description:==== &lt;br /&gt;
*Syntax: XSTR(&amp;quot;&#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;&amp;quot;, integer)&lt;br /&gt;
*Requires &#039;&#039;&#039;$end_multi_text&#039;&#039;&#039; after the entry&lt;br /&gt;
*Example: &lt;br /&gt;
::XSTR(&amp;quot;&amp;quot;, -1)&lt;br /&gt;
::$end_multi_text&lt;br /&gt;
&lt;br /&gt;
====+Length:====&lt;br /&gt;
*Syntax: XSTR(&amp;quot;&#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;&amp;quot;, integer)&lt;br /&gt;
*Example: XSTR(&amp;quot;&amp;quot;, -1)&lt;br /&gt;
&lt;br /&gt;
====+Gun Mounts:====&lt;br /&gt;
*Syntax: XSTR(&amp;quot;&#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;&amp;quot;, integer)&lt;br /&gt;
*Example: XSTR(&amp;quot;&amp;quot;, -1)&lt;br /&gt;
&lt;br /&gt;
====+Missile Banks:====&lt;br /&gt;
*Syntax: XSTR(&amp;quot;&#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;&amp;quot;, integer)&lt;br /&gt;
*Example: XSTR(&amp;quot;&amp;quot;, -1)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Cockpit POF file:===&lt;br /&gt;
{{Table36|*Filename of the cockpit model file&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String.pof&#039;&#039;&#039;&#039;&#039;, model filename}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===+Cockpit offset:===&lt;br /&gt;
{{Table36|*Defines the offset of the cockpit model&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Vector&#039;&#039;&#039;&#039;&#039;, three &#039;&#039;&#039;floats&#039;&#039;&#039;, x-axis, y-axis, z-axis, respectively}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$POF file:===&lt;br /&gt;
*Filename of the model file (.pof) at data/models folder&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String.pof&#039;&#039;&#039;&#039;&#039;, model filename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Texture Replace:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*&#039;&#039;&#039;+old:&#039;&#039;&#039;&lt;br /&gt;
*Defines the texture to be replaced&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
*&#039;&#039;&#039;+new:&#039;&#039;&#039;&lt;br /&gt;
*Defines the new texture&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$POF target file:===&lt;br /&gt;
*Optional hud targeting model&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String.pof&#039;&#039;&#039;&#039;&#039;, model filename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$POF target LOD:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines the LOD (Level-Of-Detail) of target model used in the HUD targetbox&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Detail distance:===&lt;br /&gt;
*Defines the distance where the change between different Levels-Of-Details (LODs) occurs&lt;br /&gt;
*Take notice that these are base values. Model detail in Detail options, (within game press F2), applies a multiplier to these values. &#039;&#039;(We need a coder to post here the multiplier values that each level sets)&#039;&#039;.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;(Detail Distances)&#039;&#039;&#039;&#039;&#039; , list of &#039;&#039;&#039;integers&#039;&#039;&#039; (same amount as LODs), distances from the model in meters&lt;br /&gt;
**Example: &#039;&#039;(0, 80, 300, 900)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$ND:===&lt;br /&gt;
*No Dim field field was used in FreeSpace for ship lights. Use of glowmaps is preferred to the $ND entry. Only noticeable in Glide or Software mode.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Color&#039;&#039;&#039;&#039;&#039;, red, green, blue respectively, value from 0 to 255&lt;br /&gt;
**Example: &#039;&#039;42, 42, 224&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Show damage:===&lt;br /&gt;
*No known function. Best left alone to avoid possible compatibility issues.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Boolean&#039;&#039;&#039;&#039;&#039;, yes or no, usually yes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Impact:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*&#039;&#039;&#039;+Damage Type:&#039;&#039;&#039;&lt;br /&gt;
**Defines the damage type of the collision&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name of the armor as defined in [[armor.tbl]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Impact Spew:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Used to define the impact particle spew&lt;br /&gt;
*&#039;&#039;&#039;+Max particles:&#039;&#039;&#039;&lt;br /&gt;
**Defines the maximum number of particles spewed&lt;br /&gt;
**Setting to zero causes model to generate no particles at all&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
{{Table37|&lt;br /&gt;
*In 3.7 impact spew earlier entry has been replaced with full particle emitter&lt;br /&gt;
*&#039;&#039;&#039;+Texture:&#039;&#039;&#039;&lt;br /&gt;
**Defines the texture used for the particle&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
*&#039;&#039;&#039;+Relative Position:&#039;&#039;&#039;&lt;br /&gt;
**Defines the relative position of the particle&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Vector&#039;&#039;&#039;&#039;, three &#039;&#039;&#039;floats&#039;&#039;&#039;, x-axis, y-axis, z-axis, respectively&lt;br /&gt;
*&#039;&#039;&#039;+Relative Velocity:&#039;&#039;&#039;&lt;br /&gt;
**Defines the relative velocity of the particle emitter&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Vector&#039;&#039;&#039;&#039;, three &#039;&#039;&#039;floats&#039;&#039;&#039;, x-axis, y-axis, z-axis, respectively&lt;br /&gt;
*&#039;&#039;&#039;+Relative Normal:&#039;&#039;&#039;&lt;br /&gt;
**Defines the relative normal of the particle emitter&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Vector&#039;&#039;&#039;&#039;, three &#039;&#039;&#039;floats&#039;&#039;&#039;, x-axis, y-axis, z-axis, respectively&lt;br /&gt;
*&#039;&#039;&#039;+Normal Variance:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Min Radius:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Max Radius:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Min Speed:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Max Speed:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Min Lifetime:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Max Lifetime:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Min Particles:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Max Particles:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Damage Spew:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Used to define the damage particle spew&lt;br /&gt;
*&#039;&#039;&#039;+Max particles:&#039;&#039;&#039;&lt;br /&gt;
**Defines the maximum number of particles spewed&lt;br /&gt;
**Setting to zero causes model to generate no particles at all&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
{{Table37|&lt;br /&gt;
*In 3.7 damage spew earlier entry has been replaced with full particle emitter&lt;br /&gt;
*&#039;&#039;&#039;+Texture:&#039;&#039;&#039;&lt;br /&gt;
**Defines the texture used for the particle&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
*&#039;&#039;&#039;+Relative Position:&#039;&#039;&#039;&lt;br /&gt;
**Defines the relative position of the particle&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Vector&#039;&#039;&#039;&#039;, three &#039;&#039;&#039;floats&#039;&#039;&#039;, x-axis, y-axis, z-axis, respectively&lt;br /&gt;
*&#039;&#039;&#039;+Relative Velocity:&#039;&#039;&#039;&lt;br /&gt;
**Defines the relative velocity of the particle emitter&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Vector&#039;&#039;&#039;&#039;, three &#039;&#039;&#039;floats&#039;&#039;&#039;, x-axis, y-axis, z-axis, respectively&lt;br /&gt;
*&#039;&#039;&#039;+Relative Normal:&#039;&#039;&#039;&lt;br /&gt;
**Defines the relative normal of the particle emitter&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Vector&#039;&#039;&#039;&#039;, three &#039;&#039;&#039;floats&#039;&#039;&#039;, x-axis, y-axis, z-axis, respectively&lt;br /&gt;
*&#039;&#039;&#039;+Normal Variance:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Min Radius:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Max Radius:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Min Speed:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Max Speed:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Min Lifetime:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Max Lifetime:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Min Particles:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Max Particles:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Debris:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*&#039;&#039;&#039;+Damage Type:&#039;&#039;&#039;&lt;br /&gt;
**Defines the damage type of the debris&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name of the armor as defined in [[armor.tbl]]}}&lt;br /&gt;
{{Table37|&lt;br /&gt;
*&#039;&#039;&#039;+Min Lifetime:&#039;&#039;&#039;&lt;br /&gt;
**Defines the minimum lifetime of the debris&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&lt;br /&gt;
*+Max Lifetime:&lt;br /&gt;
**Defines the maximum lifetime of the debris&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&lt;br /&gt;
*+Min Speed:&lt;br /&gt;
**Defines the minimum speed of the debris&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&lt;br /&gt;
*+Max Speed:&lt;br /&gt;
**Defines the maximum speed of the debris&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&lt;br /&gt;
*+Min Rotation speed:&lt;br /&gt;
**Defines the minimum rotational speed of the debris&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&lt;br /&gt;
*+Max Rotation speed:&lt;br /&gt;
**Defines the maximum rotational speed of the debris&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Density:===&lt;br /&gt;
*This defines how hard you hit something. If you set it very high, a collision will severely damage your ship, and push the lower density object away; the higher the numbers are, the harder they will hit and the farther they will be pushed. Setting a density of 10 on a fighter with 180 hitpoints will cause the fighter to immediately explode if it collides with, say, an asteroid.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, usually 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Damp:===&lt;br /&gt;
*Damp affects how quickly you will accel/decel to your target velocity. Higher damp means slow acceleration and deceleration. The lower this number, the faster the ship responds. For example, specifying a value of 0.0 means there is no damping, in other words, people would say, &amp;quot;this has no physics, like Wing Commander.&amp;quot; The more damping, the harder to control, but the more smoothly it moves.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Rotdamp:===&lt;br /&gt;
*Same thing, but for rotational movement.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Banking Constant:===&lt;br /&gt;
{{Table37|&lt;br /&gt;
*Defines a factor for how much roll is added during a yaw. Set as 1 for full roll and 0 is no roll. Default is 0.5.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
===$Max Velocity:===&lt;br /&gt;
*Defines maximum velocities with standard energy settings on x (left/right), y (up/down), and z (forward) -axis (respectively). z -axis velocity defines the maximum forward velocity.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Vector&#039;&#039;&#039;&#039;&#039;, three &#039;&#039;&#039;floats&#039;&#039;&#039;, x-axis, y-axis, z-axis, respectively, meters per second&lt;br /&gt;
**Example: &#039;&#039;0.0, 0.0, 80.0&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Rotation time:===&lt;br /&gt;
*Defines rotation times around the x, y, and z -axis. Number is seconds it takes to complete rotate a ship (360 degrees) around the given axis&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Vector&#039;&#039;&#039;&#039;&#039;, three &#039;&#039;&#039;floats&#039;&#039;&#039;, seconds per 360 degree turn around x-axis, y-axis, z-axis, respectively&lt;br /&gt;
**Example: &#039;&#039;3.0, 2.6, 5.0&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Rear Velocity:===&lt;br /&gt;
*Defines rear velocity&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters per second&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Forward accel:===&lt;br /&gt;
*Number of seconds needed from full stop to maximum velocity&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Forward decel:===&lt;br /&gt;
*Number of seconds needed from maximum velocity to full stop&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Slide accel:=== &lt;br /&gt;
*Same for sliding as the $Forward accel: is for for normal movement.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Slide decel:===&lt;br /&gt;
*Same for sliding as the $Forward decel: is for for normal movement.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Glide:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Allows gliding in game, i.e. turning the ship&#039;s facing without changing its direction.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Boolean&#039;&#039;&#039;&#039;&#039;, yes or no}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===+Max Glide Speed:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines the maximum glide speed if the glide has been enabled&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Autoaim FOV:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines the field of view for autoaim&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Warpin type:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Allow an animation to be defined as a warpin effect.&lt;br /&gt;
*Can be defined as:&lt;br /&gt;
**&#039;&#039;Default&#039;&#039;&lt;br /&gt;
**&#039;&#039;BTRL&#039;&#039;&lt;br /&gt;
**&#039;&#039;Homeworld&#039;&#039;&lt;br /&gt;
**&#039;&#039;Hyperspace&#039;&#039;&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
{{Table37|&lt;br /&gt;
*Can be defined as:&lt;br /&gt;
**&#039;&#039;Default&#039;&#039;&lt;br /&gt;
**&#039;&#039;BTRL&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Warpin speed:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Sets the speed at which the ship warps in for &#039;&#039;&#039;default&#039;&#039;&#039; warpin effect&lt;br /&gt;
*Sets the time that the ships warp in (not the animation itself) takes for &#039;&#039;&#039;BTRL&#039;&#039;&#039; type warpin effects&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters per second or miiliseconds}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Warpin time:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines the effect duration&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Warpin radius:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines the effect radius&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Warpin animation:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines the animation used as the warpin effect.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Warpout type:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Allow an animation to be defined as a warpout effect.&lt;br /&gt;
*Can be defined as &#039;&#039;BTRL&#039;&#039; or &#039;&#039;default&#039;&#039;.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Warpout speed:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Sets the speed at which the ship warps out for &#039;&#039;&#039;default&#039;&#039;&#039; warpout effect&lt;br /&gt;
*Sets the time that the ships warp out (not the animation itself) takes for &#039;&#039;&#039;BTRL&#039;&#039;&#039; type warpout effects&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters per second or milliseconds}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Warpout time:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines the effect duration&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Warpout radius:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines the effect radius&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Warpout animation:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines the animation used as the warpout effect.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Player warpout speed:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Sets the speed at which the player warps out from the game&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Expl inner rad:===&lt;br /&gt;
*Radius at which the full explosion damage is done&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Expl outer rad:===&lt;br /&gt;
*Maximum radius at which any damage is done&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Expl damage:===&lt;br /&gt;
*Amount of damage done inside the inner radius&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, damage&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Expl blast:===&lt;br /&gt;
*The intensity of the blast effect when you&#039;re within the outer radius&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, blast effect&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Expl Propagates:===&lt;br /&gt;
*This decides whether the ship explodes into debris immediately, or whether it has the many small explosions before breaking apart slowly&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Boolean&#039;&#039;&#039;&#039;&#039;, yes or no&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Shockwave Damage Type:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*&#039;&#039;&#039;REQUIRES ADDITIONAL TABLE&#039;&#039;&#039;. Defines the damage type used for the ship explosions&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name of the armor as defined in [[armor.tbl]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Shockwave Speed:===&lt;br /&gt;
*Speed shockwave expands at, 0 means no shockwave&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters per second&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Shockwave count:===&lt;br /&gt;
*Defines the number of shockwaves to spawned&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Shockwave model:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines the textured model used as the ship&#039;s 3D shockwave&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String.pof&#039;&#039;&#039;&#039;&#039;, model filename}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Shockwave name:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines the name of the animation to used for the 2D shockwave&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Weapon Model Draw Distance:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Distance that external weapons are shown, ie. missiles and such.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
**Default: &#039;&#039;200&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Primary Weapons===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====$Allowed PBanks:====&lt;br /&gt;
*List of allowed primary weapons in brackets (weapon name marked with quotes). &lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;( &amp;quot;String&amp;quot; &amp;quot;String&amp;quot; )&#039;&#039;&#039;&#039;&#039;, names of the weapons&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Each of the primary weapon banks &#039;&#039;&#039;can optionally&#039;&#039;&#039; be given their own list of allowed weapons, in which case each bank has its own bracketed entry.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;( &amp;quot;String&amp;quot; &amp;quot;String&amp;quot; ) ( &amp;quot;String&amp;quot; &amp;quot;String&amp;quot; )&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====$Allowed Dogfight PBanks:====&lt;br /&gt;
*Primary weapons for multiplayer dogfights.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;( &amp;quot;String&amp;quot; &amp;quot;String&amp;quot; )&#039;&#039;&#039;&#039;&#039;, names of the weapons&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Each of the primary weapon dogfight banks &#039;&#039;&#039;can optionally&#039;&#039;&#039; be given their own list of allowed weapons, in which case each bank has it&#039;s own bracketed entry.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;( &amp;quot;String&amp;quot; &amp;quot;String&amp;quot; ) ( &amp;quot;String&amp;quot; &amp;quot;String&amp;quot; )&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====$Default PBanks:====&lt;br /&gt;
*Defines default primary weapons for each of the primary weapon banks&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;( &amp;quot;String&amp;quot; &amp;quot;String&amp;quot; )&#039;&#039;&#039;&#039;&#039;, names of the weapons&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====$PBank Capacity:====&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines ammunition capacity of primary weapon banks. In brackets, different weapon banks separated by commas.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;( Integer, Integer )&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====$Show Primary Models:====&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines the use of weapon models for primary weapons. In brackets, different weapon banks may have different definitions&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;( Boolean Boolean )&#039;&#039;&#039;&#039;&#039;, yes or no&lt;br /&gt;
**Example: &#039;&#039;( YES YES )&#039;&#039; - Note the spaces on the insides of the brackets.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Secondary Weapons===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====$Allowed SBanks:====&lt;br /&gt;
*Same for secondary weapons.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;( &amp;quot;String&amp;quot; &amp;quot;String&amp;quot; )&#039;&#039;&#039;&#039;&#039;, names of the weapons&lt;br /&gt;
{{Table36| &lt;br /&gt;
*Each of the secondary weapon banks can be given their own list of allowed weapons, in which case each bank has it&#039;s own bracketed entry.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;( &amp;quot;String&amp;quot; &amp;quot;String&amp;quot; ) ( &amp;quot;String&amp;quot; &amp;quot;String&amp;quot; )&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====$Allowed Dogfight SBanks:====&lt;br /&gt;
*Same for secondary weapons.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;( &amp;quot;String&amp;quot; &amp;quot;String&amp;quot; )&#039;&#039;&#039;&#039;&#039;, names of the weapons&lt;br /&gt;
{{Table36| &lt;br /&gt;
*Each of the secondary weapon dogfight banks can be given their own list of allowed weapons, in which case each bank has it&#039;s own bracketed entry.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;( &amp;quot;String&amp;quot; &amp;quot;String&amp;quot; ) ( &amp;quot;String&amp;quot; &amp;quot;String&amp;quot; )&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====$Default SBanks:====&lt;br /&gt;
*Defines default primary weapons for each of the primary weapon banks&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;( &amp;quot;String&amp;quot; &amp;quot;String&amp;quot; )&#039;&#039;&#039;&#039;&#039;, names of the weapons&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====$SBank Capacity:====&lt;br /&gt;
*Defines ammunition capacity of secondary weapon banks. In brackets, different weapon banks separated by commas.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;( Integer, Integer )&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====$Show Secondary Models:====&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines the use of weapon models for secondary weapons. In brackets, different weapon banks may have different definitions&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;( Boolean Boolean )&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
**Example: &#039;&#039;(YES YES)&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Shields:===&lt;br /&gt;
*Determines the shield strength&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, total shield strength&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Shield Color:===&lt;br /&gt;
*RGB value for shield color&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Color&#039;&#039;&#039;&#039;&#039;, red, green, blue respectively, value from 0 to 255&lt;br /&gt;
**Example: &#039;&#039;100, 100, 255&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Power Output:===&lt;br /&gt;
*The amount of energy available. The higher the output, the faster your weapons recharge.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Shield Regeneration Rate:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Repair rates for shields at percent per second&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, multiplier of total shield hitpoints recharged each second. (&#039;&#039;&#039;NOT A PERCENTAGE&#039;&#039;&#039;, 0.02 equals 2% recharged per second)&lt;br /&gt;
**Default: &#039;&#039;0.02&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Weapon Regeneration Rate:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Regeneration rates for primary guns at percent per second&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, multiplier of total gun energy recharged each second (&#039;&#039;&#039;NOT A PERCENTAGE&#039;&#039;&#039;, 0.04 equals 4% recharged per second)&lt;br /&gt;
**Default: &#039;&#039;0.04&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Max Oclk Speed:===&lt;br /&gt;
*Can also be &#039;&#039;&#039;$Max Overclock Speed:&#039;&#039;&#039;&lt;br /&gt;
*Maximum velocity with all energy diverted to engines&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters per second&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Max Weapon Eng:===&lt;br /&gt;
*Can also be &#039;&#039;&#039;$Max Weapon Energy:&#039;&#039;&#039;&lt;br /&gt;
*The maximum amount of energy you can store in your primary weapons bank.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Hitpoints:===&lt;br /&gt;
*How much damage the ship can take&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, hitpoints&lt;br /&gt;
**Default: &#039;&#039;100&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Hull Repair Rate:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Repair rates for hull at percent per second&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, multiplier of hitpoints repaired per second, &#039;&#039;&#039;NOT A PERCENTAGE&#039;&#039;&#039;, 0.01 equals 1% recharged per second}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Subsystem Repair Rate:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Repair rates for sybsystems percent per second&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, multiplier of total subsystem hitpoints repaired per second, &#039;&#039;&#039;NOT A PERCENTAGE&#039;&#039;&#039;, 0.01 equals 1% recharged per second}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Armor Type===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*&#039;&#039;&#039;REQUIRES ADDITIONAL TABLE&#039;&#039;&#039;. Defines armor type used for the ship&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name of the armor as defined in [[armor.tbl]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Flags:===&lt;br /&gt;
*See [[Ships.tbl#Ships.tbl_flags|below]]&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;( &amp;quot;String&amp;quot; &amp;quot;String&amp;quot; )&#039;&#039;&#039;&#039;&#039;, names of the flags assigned to the ship&lt;br /&gt;
**Example: ( &amp;quot;fighter&amp;quot; &amp;quot;in tech database&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$AI Class:===&lt;br /&gt;
*Default AI class&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name of the AI class as defined in [[ai.tbl]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Afterburner:===&lt;br /&gt;
*Defines if the ships has afterburner&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Boolean&#039;&#039;&#039;&#039;&#039;, yes or no&lt;br /&gt;
*&#039;&#039;&#039;+Aburn Max Vel:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Vector&#039;&#039;&#039;&#039;&#039;, three &#039;&#039;&#039;floats&#039;&#039;&#039;, x-axis, y-axis, z-axis, respectively, meters per second&lt;br /&gt;
*&#039;&#039;&#039;+Aburn For accel:&#039;&#039;&#039;&lt;br /&gt;
**Defined only for the forward acceleration. In same format as $Forward accel:&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds&lt;br /&gt;
*&#039;&#039;&#039;+Aburn Fuel:&#039;&#039;&#039;&lt;br /&gt;
**Amount of afterburner fuel the ship has&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, fuel&lt;br /&gt;
*&#039;&#039;&#039;+Aburn Burn Rate:&#039;&#039;&#039;&lt;br /&gt;
**Rate the fuel is consumed when afterburner is engaged (in units per seconds)&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, fuel units per second&lt;br /&gt;
*&#039;&#039;&#039;+Aburn Rec Rate:&#039;&#039;&#039;&lt;br /&gt;
**Rate the fuel is restored.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, fuel units per second&lt;br /&gt;
{{Table36|&lt;br /&gt;
*&#039;&#039;&#039;$Trails:&#039;&#039;&#039;&lt;br /&gt;
**Allows afterburner trails to be used&lt;br /&gt;
**&#039;&#039;&#039;+Bitmap:&#039;&#039;&#039;&lt;br /&gt;
***Texture used to draw the afterburner trail&lt;br /&gt;
***Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
**&#039;&#039;&#039;+Width:&#039;&#039;&#039;&lt;br /&gt;
***Width of afterburner trail at the beginning of it (ie. the thruster end)&lt;br /&gt;
***Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
**&#039;&#039;&#039;+Alpha:&#039;&#039;&#039;&lt;br /&gt;
***Transparancy of the trail, value from 1 (non-transparent) to 0 (totally transparent)&lt;br /&gt;
***Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;+Life:&#039;&#039;&#039;&lt;br /&gt;
***How long the trail will last&lt;br /&gt;
***Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, seconds}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Countermeasure Type:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines the weapon used as a countermeasure. Weapon does not have to be included in the countermeasure section of the weapons.tbl, but it has to have &amp;quot;countermeasure&amp;quot; flag in that case.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name of the weapon as defined in [[weapons.tbl]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Countermeasures:===&lt;br /&gt;
*Number of countermeasures that can be loaded to the ship&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Scan time:===&lt;br /&gt;
*Time it takes to scan the ship&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;, milliseconds&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$EngineSnd:===&lt;br /&gt;
*Engine sound used for the ship with number referring to sounds.tbl&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name or identification number of the sound as defined in [[sounds.tbl]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Closeup_pos:===&lt;br /&gt;
*How the model will show at techroom. The position of the camera relative to the model in the tech room and the target box view&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Vector&#039;&#039;&#039;&#039;&#039;, three &#039;&#039;&#039;floats&#039;&#039;&#039;, x, y and z values respectively&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Closeup_zoom:===&lt;br /&gt;
*How the model will show at techroom. How far the camera&#039;s zoomed in, defines camera&#039;s FOV.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, radians&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Topdown offset:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Specifies how high the camera is above the center point of a ship in topdown camera views, or 2D missions.&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Shield_icon:===&lt;br /&gt;
*This .ani file must be at data/hud and included to the hud.tbl.&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Reference to the hud.tbl is no longer needed.}}&lt;br /&gt;
&lt;br /&gt;
*Syntax: &#039;&#039;Filename&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Ship_icon:===&lt;br /&gt;
*The icon used in ship selection. &lt;br /&gt;
{{Table36|&lt;br /&gt;
*Ship model is used by default to generate the image.}}&lt;br /&gt;
&lt;br /&gt;
*Syntax: &#039;&#039;Filename&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Ship_anim:===&lt;br /&gt;
*The glowing green grid animation used in ship selection.&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Ship model is used by default to generate the image.}}&lt;br /&gt;
&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Ship_overhead:===&lt;br /&gt;
*The overhead view used in the weapons loadout. &lt;br /&gt;
{{Table36|&lt;br /&gt;
*Ship model is used by default to generate the image.}}&lt;br /&gt;
&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Score:===&lt;br /&gt;
*Points awarded for destroying the ship&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Customized Thruster Effects===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*&#039;&#039;&#039;Defines the primary thruster glow - the one visible only from behind&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;$Thruster Bitmap 1:&#039;&#039;&#039;&lt;br /&gt;
***Defines the effect for the standard drives. Overrides [[Species_defs.tbl]] line &#039;&#039;&#039;+Normal:&#039;&#039;&#039; under the &#039;&#039;&#039;$Thrustglows:&#039;&#039;&#039; entry.&lt;br /&gt;
***Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
**&#039;&#039;&#039;$Thruster Bitmap 1a:&#039;&#039;&#039;&lt;br /&gt;
***Defines the effect for the afterburner. Overrides [[Species_defs.tbl]] line &#039;&#039;&#039;+Afterburner:&#039;&#039;&#039; under the &#039;&#039;&#039;$Thrustglows:&#039;&#039;&#039; entry.&lt;br /&gt;
***Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
**&#039;&#039;&#039;$Thruster01 Radius factor:&#039;&#039;&#039;&lt;br /&gt;
***Defines the radius multiplier&lt;br /&gt;
***Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Defines the secondary glow type-effect for thrusters - the feathery trail like haze behind the main glow&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;$Thruster Bitmap 2:&#039;&#039;&#039;&lt;br /&gt;
***Defines the effect for the standard drives. Overrides [[Species_defs.tbl]] line &#039;&#039;&#039;+Sec_Normal:&#039;&#039;&#039; under the &#039;&#039;&#039;$ThrustAnims:&#039;&#039;&#039; entry.&lt;br /&gt;
***Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
**&#039;&#039;&#039;$Thruster Bitmap 2a:&#039;&#039;&#039;&lt;br /&gt;
***Defines the effect for the afterburner. Overrides [[Species_defs.tbl]] line &#039;&#039;&#039;+Sec_Afterburn:&#039;&#039;&#039; under the &#039;&#039;&#039;$ThrustAnims:&#039;&#039;&#039; entry.&lt;br /&gt;
***Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
**&#039;&#039;&#039;$Thruster02 Radius factor:&#039;&#039;&#039;&lt;br /&gt;
***Defines the radius multiplier&lt;br /&gt;
***Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;$Thruster02 Length factor:&#039;&#039;&#039;&lt;br /&gt;
***Defines the length multiplier for the trail type (secondary) glowpoint thrusters&lt;br /&gt;
***Replaces the older &#039;&#039;&#039;$Thruster01 Length factor:&#039;&#039;&#039;&lt;br /&gt;
***Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Defines the tertiary glow type-effect for thrusters - the one visible from all directions&#039;&#039;&#039;&lt;br /&gt;
**NOTE: The rotation of this effect is jittered, which can look quite bad with certain types of effects.&lt;br /&gt;
**&#039;&#039;&#039;$Thruster Bitmap 3:&#039;&#039;&#039;&lt;br /&gt;
***Defines the effect for the standard drives. Overrides [[Species_defs.tbl]] line &#039;&#039;&#039;+Ter_Normal:&#039;&#039;&#039; under the &#039;&#039;&#039;$ThrustAnims:&#039;&#039;&#039; entry.&lt;br /&gt;
***Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
**&#039;&#039;&#039;$Thruster Bitmap 3a:&#039;&#039;&#039;&lt;br /&gt;
***Defines the effect for the afterburner. Overrides [[Species_defs.tbl]] line &#039;&#039;&#039;+Ter_Afterburn:&#039;&#039;&#039; under the &#039;&#039;&#039;$ThrustAnims:&#039;&#039;&#039; entry.&lt;br /&gt;
***Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
**&#039;&#039;&#039;$Thruster03 Radius factor:&#039;&#039;&#039;&lt;br /&gt;
***Defines the radius multiplier&lt;br /&gt;
***Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
===$Thruster Particles:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines the alternative particle thruster&lt;br /&gt;
*&#039;&#039;&#039;$Thruster Particle Bitmap:&#039;&#039;&#039; OR &#039;&#039;&#039;$Afterburner Particle Bitmap:&#039;&#039;&#039;&lt;br /&gt;
**Name of the animation used for particle thrusters, up to &#039;&#039;&#039;three&#039;&#039;&#039; can be defined for both &#039;&#039;&#039;standard&#039;&#039;&#039; thrusters and &#039;&#039;&#039;afterburners&#039;&#039;&#039; (6 in total). Afterburner particles require at least 1 existing particle thruster entry.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
*&#039;&#039;&#039;$Min Radius:&#039;&#039;&#039;&lt;br /&gt;
**Defines the minimum radius of new particles&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
*&#039;&#039;&#039;$Max Radius:&#039;&#039;&#039;&lt;br /&gt;
**Defines the maximum radius of new particles&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
*&#039;&#039;&#039;$Min created:&#039;&#039;&#039;&lt;br /&gt;
**Defines the minimum amount of particles created&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;$Max created:&#039;&#039;&#039;&lt;br /&gt;
**Defines the maximum amount of particles created&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;$Variance:&#039;&#039;&#039;&lt;br /&gt;
**Value that describes the randomness of particle generation, values close to 0 will cause particles to spew very close to the thrusters normal while values close 1 will cause some particles to be spewed even to opposite direction&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Stealth:===&lt;br /&gt;
*Defines: Ship behaves as a stealth-ship: non-targettable, and not on radar. &lt;br /&gt;
{{Table36|&lt;br /&gt;
This field is deprecated, and mods using 3.6.8 and above should use the &amp;quot;stealth&amp;quot; flag.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Max decals:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines: Maximum number of weapon decals on a ship&lt;br /&gt;
*Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;, maximum number of decals on ship&lt;br /&gt;
**Default: 50 for anything below cruiser size, 100 for anything below superdestroyer/installation size, 300 for anything above destroyer size, 10 for everything else.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Trail:===&lt;br /&gt;
*These are the origins of the white contrails that appear in the nebula missions. Ship may have multiple trails.&lt;br /&gt;
*&#039;&#039;&#039;+Offset:&#039;&#039;&#039;&lt;br /&gt;
**The position of the contrail&#039;s head&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Vector&#039;&#039;&#039;&#039;&#039;, three &#039;&#039;&#039;floats&#039;&#039;&#039;, x, y and z values respectively, relative to the center point of the model&lt;br /&gt;
*&#039;&#039;&#039;+Start Width:&#039;&#039;&#039;&lt;br /&gt;
**The width of the contrail&#039;s head&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
*&#039;&#039;&#039;+End Width:&#039;&#039;&#039;&lt;br /&gt;
**The width of the contrail&#039;s tail&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
*&#039;&#039;&#039;+Start Alpha:&#039;&#039;&#039;&lt;br /&gt;
**The opacity of the contrail&#039;s head&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, value between 0 and 1&lt;br /&gt;
*&#039;&#039;&#039;+End Alpha:&#039;&#039;&#039;&lt;br /&gt;
**The opacity of the contrail&#039;s tail&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, value between 0 and 1&lt;br /&gt;
*&#039;&#039;&#039;+Max Life:&#039;&#039;&#039;&lt;br /&gt;
**How long the contrail remains&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;&#039;, seconds&lt;br /&gt;
*&#039;&#039;&#039;+Spew Time:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Bitmap:&#039;&#039;&#039;&lt;br /&gt;
**The image to use for the contrail.&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===$Thruster:===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines maneuvering thrusters. Ship may have multiple $Thrusters defined.&lt;br /&gt;
*&#039;&#039;&#039;+Index:&#039;&#039;&#039;&lt;br /&gt;
**Defines the index number of the manoeuvring thruster defined in this entry&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Used for:&#039;&#039;&#039;&lt;br /&gt;
**Defines the maneuver that triggers the maneuvering thruster&lt;br /&gt;
**List of maneuvers: Bank right, Bank left, Pitch up, Pitch down, Roll right, Roll left, Slide right, Slide left, Slide up, Slide down, Forward, Reverse&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;}}&lt;br /&gt;
{{Table37|&lt;br /&gt;
*&#039;&#039;&#039;+Flags:&#039;&#039;&#039;&lt;br /&gt;
**Flags that modify thruster behavior. As of now, only &amp;quot;no scale&amp;quot; exists, which causes all thrusters to be displayed at the same size regardless of thrust amount.&lt;br /&gt;
**List of flags: no scale&lt;br /&gt;
**Syntax: (&amp;quot;&#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;&amp;quot;), names of the flags}}&lt;br /&gt;
{{Table36|&lt;br /&gt;
*&#039;&#039;&#039;+Position:&#039;&#039;&#039;&lt;br /&gt;
**Defines thruster location&lt;br /&gt;
**Syntax: ( &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039; ), position from the ships center point, x, y, z axis respectively&lt;br /&gt;
*&#039;&#039;&#039;+Normal:&#039;&#039;&#039;&lt;br /&gt;
**Defines the direction where the thruster points to&lt;br /&gt;
**Syntax: ( &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039; &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039; ), direction of the thrusters normal, x, y, z axis respectively&lt;br /&gt;
*&#039;&#039;&#039;+Texture:&#039;&#039;&#039;&lt;br /&gt;
**Defines the graphic that will be used for trail, rendered like beams&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, filename&lt;br /&gt;
*&#039;&#039;&#039;+Radius:&#039;&#039;&#039;&lt;br /&gt;
**Defines the radius of cylinder&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
*&#039;&#039;&#039;+Length:&#039;&#039;&#039;&lt;br /&gt;
**Defines the length of thruster trail&lt;br /&gt;
**Syntax: &#039;&#039;&#039;&#039;&#039;Float&#039;&#039;&#039;&#039;&#039;, meters&lt;br /&gt;
*&#039;&#039;&#039;+StartSnd:&#039;&#039;&#039;&lt;br /&gt;
**Defines the sound played when the thruster is started &lt;br /&gt;
**Syntax:  &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name or identification number of the sound as defined in [[sounds.tbl]]&lt;br /&gt;
*&#039;&#039;&#039;+LoopSnd:&#039;&#039;&#039;&lt;br /&gt;
**Defines the sound played when the thruster is continuously used&lt;br /&gt;
**Syntax:  &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name or identification number of the sound as defined in [[sounds.tbl]]&lt;br /&gt;
*&#039;&#039;&#039;+StopSnd:&#039;&#039;&#039;&lt;br /&gt;
**Defines the sound played when the thruster is shutting down&lt;br /&gt;
**Syntax:  &#039;&#039;&#039;&#039;&#039;Integer&#039;&#039;&#039;&#039;&#039; or &#039;&#039;&#039;&#039;&#039;String&#039;&#039;&#039;&#039;&#039;, name or identification number of the sound as defined in [[sounds.tbl]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===[[Subsystems|$Subsystem:]]===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Ships.tbl flags==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;no_collide&amp;quot;===&lt;br /&gt;
*Defines ship as non-collideable, ie. everything will go through it&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;player_ship&amp;quot;===&lt;br /&gt;
*Makes it possible to player to fly the ship&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;default_player_ship&amp;quot;===&lt;br /&gt;
*Makes this ship as a default part of the loadout options in FRED&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Ship Type===&lt;br /&gt;
*Flags in this section are used to define the type of the ship&lt;br /&gt;
*Use only one &#039;&#039;&#039;ship type&#039;&#039;&#039; flag per table entry&lt;br /&gt;
{{Table36|&lt;br /&gt;
*New ship types can be defined in [[objecttypes.tbl]]}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;repair_rearm&amp;quot;====&lt;br /&gt;
*Alternate name for &amp;quot;support&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
====&amp;quot;support&amp;quot;====&lt;br /&gt;
*Defines the ship as repair and rearm vessel and sets AI behaviour accordingly&lt;br /&gt;
*Only one such vessel can be defined per species&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;cargo&amp;quot;====&lt;br /&gt;
*Defines ship as a cargo crate and also sets the AI behaviour&lt;br /&gt;
*In FS1/FS2 ships that are marked with this flag cannot accept any player orders&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;fighter&amp;quot;====&lt;br /&gt;
*Defines ship as a fighter and also sets the AI behaviour&lt;br /&gt;
*In FS1/FS2 only ships flagged as fighters or bombers can accept the full set of player orders&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;bomber&amp;quot;====&lt;br /&gt;
*Defines ship as a bomber and also sets the AI behaviour&lt;br /&gt;
*In FS1/FS2 only ships flagged as fighters or bombers can accept the full set of player orders&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;transport&amp;quot;====&lt;br /&gt;
*Defines ship as a transport and also sets the AI behaviour&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;freighter&amp;quot;====&lt;br /&gt;
*Defines ship as a freighter and also sets the AI behaviour&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;capital&amp;quot;====&lt;br /&gt;
*Defines ship as a capital ship and also sets the AI behaviour&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;supercap&amp;quot;====&lt;br /&gt;
*Alternate name for &amp;quot;super cap&amp;quot; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;super cap&amp;quot;====&lt;br /&gt;
*Defines ship as a super capital ship and also sets the AI behaviour&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;drydock&amp;quot;====&lt;br /&gt;
*Defines ship as a drydock and also sets the AI behaviour&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;cruiser&amp;quot;====&lt;br /&gt;
*Defines ship as a cruiser and also sets the AI behaviour&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;navbuoy&amp;quot;====&lt;br /&gt;
*Defines ship as a navbuoy and also sets the AI behaviour&lt;br /&gt;
*In FS1/FS2 ships that are marked with this flag cannot accept any player orders&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;sentrygun&amp;quot;====&lt;br /&gt;
*Alternate name for &amp;quot;sentry gun&amp;quot; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;sentry gun&amp;quot;====&lt;br /&gt;
*Defines ship as a sentrygun and also sets the AI behaviour&lt;br /&gt;
*In FS1/FS2 ships that are marked with this flag cannot accept any player orders&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;escapepod&amp;quot;====&lt;br /&gt;
*Alternate name for &amp;quot;escape pod&amp;quot; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;escape pod&amp;quot;====&lt;br /&gt;
*Defines ship as a escapepod and also sets the AI behaviour&lt;br /&gt;
*In FS1/FS2 ships that are marked with this flag cannot accept any player orders&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;corvette&amp;quot;====&lt;br /&gt;
*Defines ship as a corvette and also sets the AI behaviour&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;gas miner&amp;quot;====&lt;br /&gt;
*Defines ship as a gas miner and also sets the AI behaviour&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;awacs&amp;quot;====&lt;br /&gt;
*Defines ship as a AWACS and also sets the AI behaviour&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;knossos&amp;quot;====&lt;br /&gt;
*Alternate name for the &amp;quot;Knossos device&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;knossos device&amp;quot;====&lt;br /&gt;
*Defines ship as a Knossos and also sets the AI behaviour&lt;br /&gt;
*In FS1/FS2 ships that are marked with this flag cannot accept any player orders&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;stealth&amp;quot;====&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Defines ship as a stealth-ship: non-targettable, and not on radar.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====&amp;quot;no type&amp;quot;====&lt;br /&gt;
*Does ???&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;ship copy&amp;quot;===&lt;br /&gt;
*Defines the ship as a copy of another model&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;in tech database&amp;quot;===&lt;br /&gt;
*Includes ships description to the tech database from the beginning of the campaign&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;in tech database multi&amp;quot;===&lt;br /&gt;
*Includes the ship to multiplayer tech database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;dont collide invisible&amp;quot;===&lt;br /&gt;
*Defines invisible textures as non-collideable (For example, a hangar entrace)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;big damage&amp;quot;===&lt;br /&gt;
*Limits the damage made to the ship by non-huge weapons.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;no_fred&amp;quot;===&lt;br /&gt;
*Ship will not appear in FRED.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;ballistic primaries&amp;quot;===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Enables the ship to use ballistic primaries&lt;br /&gt;
*No longer needed, game handles it automatically}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;flash&amp;quot;===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Makes a flash when a ship dies}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;surface shields&amp;quot;===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Shots that impact the hull are applied to shields, regardless of if the ship has a shield mesh.}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;show ship&amp;quot;===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Enable rendering the ship even when the ship is a player ship&lt;br /&gt;
*Will result in the player&#039;s ship model being rendered, when in cockpit mode}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;generate icon&amp;quot;===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Creates a HUD icon from the model itself}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;gun convergence&amp;quot;===&lt;br /&gt;
{{Table36|&lt;br /&gt;
*Enables ship to use the firing points&#039; normals in defining the direction where the weapon fire}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;no primary linking&amp;quot;===&lt;br /&gt;
{{Table37|&lt;br /&gt;
*Prevents ships from linking primary weapons}}&lt;br /&gt;
&lt;br /&gt;
==Player Ship Precedence==&lt;br /&gt;
*Syntax: ( &#039;&#039;&#039;&#039;&#039;&amp;quot;String&amp;quot; &amp;quot;String&amp;quot;&#039;&#039;&#039;&#039;&#039;)&lt;br /&gt;
===Example===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$Player Ship Precedence: (&lt;br /&gt;
     &amp;quot;GTF Ulysses&amp;quot;&lt;br /&gt;
     &amp;quot;GTF Hercules&amp;quot;&lt;br /&gt;
     &amp;quot;GTB Medusa&amp;quot;&lt;br /&gt;
     &amp;quot;GTB Ursa&amp;quot;   )&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sample==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#Default Player Ship&lt;br /&gt;
&lt;br /&gt;
$Name:                       GTF Ulysses&lt;br /&gt;
&lt;br /&gt;
#End&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#Engine Wash Info&lt;br /&gt;
&lt;br /&gt;
$Name:                       Default&lt;br /&gt;
$Angle:                      10.0&lt;br /&gt;
$Radius Mult:                1.2&lt;br /&gt;
$Length:                     400&lt;br /&gt;
$Intensity:                  1.0&lt;br /&gt;
&lt;br /&gt;
#End&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#Ship Classes&lt;br /&gt;
$Name:                       GTF Ulysses&lt;br /&gt;
$Short name:                 TFight&lt;br /&gt;
$Species:                    Terran&lt;br /&gt;
   +Type:                       XSTR(&amp;quot;Space Superiority&amp;quot;, -1)&lt;br /&gt;
   +Maneuverability:            XSTR(&amp;quot;Excellent&amp;quot;, -1)&lt;br /&gt;
   +Armor:                      XSTR(&amp;quot;Light&amp;quot;, -1&lt;br /&gt;
   +Manufacturer:               XSTR(&amp;quot;Triton / Mekhu&amp;quot;, -1)&lt;br /&gt;
   +Description:                XSTR( &amp;quot; &amp;quot;, -1)&lt;br /&gt;
   $end_multi_text&lt;br /&gt;
   +Tech Description:           XSTR(&amp;quot;Descriptive text&amp;quot;, -1)&lt;br /&gt;
   $end_multi_text&lt;br /&gt;
   +Length:                     16 m&lt;br /&gt;
   +Gun Mounts:                 4&lt;br /&gt;
   +Missile Banks:              1&lt;br /&gt;
$POF file:                   fighter01.pof&lt;br /&gt;
$Detail distance:            (0, 80, 300, 900)&lt;br /&gt;
$ND:                         42 42 244&lt;br /&gt;
$Show damage:                YES&lt;br /&gt;
$Density:                    1&lt;br /&gt;
$Damp:                       0.1&lt;br /&gt;
$Rotdamp:                    0.35&lt;br /&gt;
$Max Velocity:               0.0, 0.0, 70.0&lt;br /&gt;
$Rotation time:              3.0, 2.6, 5.0&lt;br /&gt;
$Rear Velocity:              0.0&lt;br /&gt;
$Forward accel:              2.0&lt;br /&gt;
$Forward decel:              1.5&lt;br /&gt;
$Slide accel:                0.0&lt;br /&gt;
$Slide decel:                0.0&lt;br /&gt;
$Expl inner rad:             25.0&lt;br /&gt;
$Expl outer rad:             55.0&lt;br /&gt;
$Expl damage:                15.0&lt;br /&gt;
$Expl blast:                 1000.0&lt;br /&gt;
$Expl Propagates:            NO&lt;br /&gt;
$Shockwave Speed:            0.0&lt;br /&gt;
$Allowed PBanks:             ( &amp;quot;Subach HL-7&amp;quot; &amp;quot;Prometheus R&amp;quot;)&lt;br /&gt;
$Allowed Dogfight PBanks:    ( &amp;quot;Subach HL-D&amp;quot; &amp;quot;Prometheus D&amp;quot; )&lt;br /&gt;
$Default PBanks:             ( &amp;quot;Subach HL-7&amp;quot; &amp;quot;Prometheus R&amp;quot; )&lt;br /&gt;
$Allowed SBanks:             ( &amp;quot;Rockeye&amp;quot; &amp;quot;Tempest&amp;quot; )&lt;br /&gt;
$Allowed Dogfight SBanks:    ( &amp;quot;Tempest D&amp;quot;  &amp;quot;Hornet D&amp;quot; )&lt;br /&gt;
$Default SBanks:             ( &amp;quot;Harpoon&amp;quot; )&lt;br /&gt;
$SBank Capacity:             ( 40 )&lt;br /&gt;
$Shields:                    380&lt;br /&gt;
$Shield Color:               100 100 255&lt;br /&gt;
$Power Output:               2.0&lt;br /&gt;
$Max Oclk Speed:             94.0&lt;br /&gt;
$Max Weapon Eng:             80.0&lt;br /&gt;
$Hitpoints:                  180&lt;br /&gt;
$Flags:                      (  &amp;quot;player_ship&amp;quot;&lt;br /&gt;
                                &amp;quot;default_player_ship&amp;quot;&lt;br /&gt;
                                &amp;quot;fighter&amp;quot;&lt;br /&gt;
                                &amp;quot;in tech database&amp;quot;)&lt;br /&gt;
$AI Class:                   Captain&lt;br /&gt;
$Afterburner:                YES&lt;br /&gt;
   +Aburn Max Vel:              0.0, 0.0, 150.0&lt;br /&gt;
   +Aburn For accel:            0.7&lt;br /&gt;
   +Aburn Fuel:                 300.0&lt;br /&gt;
   +Aburn Burn Rate:            50.0&lt;br /&gt;
   +Aburn Rec Rate:             25.0&lt;br /&gt;
$Countermeasures:            25&lt;br /&gt;
$Scan time:                  2000&lt;br /&gt;
$EngineSnd:                  128&lt;br /&gt;
$Closeup_pos:                0.0, 0.0, -22&lt;br /&gt;
$Closeup_zoom:               0.5&lt;br /&gt;
$Shield_icon:                shield-f01&lt;br /&gt;
$Ship_icon:                  iconfighter01&lt;br /&gt;
$Ship_anim:                  ssfighter01&lt;br /&gt;
$Ship_overhead:              loadfighter01&lt;br /&gt;
$Score:                      8&lt;br /&gt;
$Trail:&lt;br /&gt;
   +Offset:                     -7.75 -2.8 0.75&lt;br /&gt;
   +Start Width:                0.25&lt;br /&gt;
   +End Width:                  0.05&lt;br /&gt;
   +Start Alpha:                1.0&lt;br /&gt;
   +End Alpha:                  0.0&lt;br /&gt;
   +Max Life:                   1.0&lt;br /&gt;
   +Spew Time:                  60&lt;br /&gt;
   +Bitmap:                     Contrail01&lt;br /&gt;
$Trail:&lt;br /&gt;
   +Offset:                     7.75 -2.8 0.75&lt;br /&gt;
   +Start Width:                0.25&lt;br /&gt;
   +End Width:                  0.05&lt;br /&gt;
   +Start Alpha:                1.0&lt;br /&gt;
   +End Alpha:                  0.0&lt;br /&gt;
   +Max Life:                   1.0&lt;br /&gt;
   +Spew Time:                  60&lt;br /&gt;
   +Bitmap:                     Contrail01&lt;br /&gt;
$Subsystem:    communication,   10, 0&lt;br /&gt;
$Subsystem:    navigation,      10, 0&lt;br /&gt;
$Subsystem:    weapons,         20, 0&lt;br /&gt;
$Subsystem:    sensors,         10, 0&lt;br /&gt;
$Subsystem:    engines,         35, 0&lt;br /&gt;
&lt;br /&gt;
#End&lt;br /&gt;
&lt;br /&gt;
$Player Ship Precedence: (&lt;br /&gt;
      &amp;quot;GTF Ulysses&amp;quot;)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Tables]]&lt;/div&gt;</summary>
		<author><name>Nuke</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Script_-_Hud_Pong&amp;diff=6702</id>
		<title>Script - Hud Pong</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Script_-_Hud_Pong&amp;diff=6702"/>
		<updated>2006-07-11T04:59:08Z</updated>

		<summary type="html">&lt;p&gt;Nuke: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Function==&lt;br /&gt;
Creates a special hud gauge that allows you to play pong. Use the mouse to manipulate the paddles.&lt;br /&gt;
&lt;br /&gt;
==Table Entry==&lt;br /&gt;
&amp;lt;pre&amp;gt;#Global Hooks&lt;br /&gt;
&lt;br /&gt;
$GameInit:&lt;br /&gt;
&lt;br /&gt;
[&lt;br /&gt;
&lt;br /&gt;
--HudPong (tm)&lt;br /&gt;
w = gr.getScreenWidth() &lt;br /&gt;
h = gr.getScreenHeight()&lt;br /&gt;
&lt;br /&gt;
poneh = 0&lt;br /&gt;
ptwoh = 0&lt;br /&gt;
gameh = 300		--you can change this to what&lt;br /&gt;
gamew = 600		--ever resolution you want.&lt;br /&gt;
gamex = w / 2	--set what coords to draw&lt;br /&gt;
gamey = h / 2	--the game at here (game center).&lt;br /&gt;
ballx = gamex&lt;br /&gt;
bally = gamey&lt;br /&gt;
ballxvel = 1	--or change theese if you&lt;br /&gt;
ballyvel = 1	--want a faster ball speed&lt;br /&gt;
balla = 255&lt;br /&gt;
deathmsg = &amp;quot;Dont Loose Your Balls!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
drawpongarea = function(x, y, sx, sy)	--pong box here&lt;br /&gt;
	gr.setColor(0,200,0,255)		--pong green&lt;br /&gt;
	gr.drawLine(x-sx, y+sy, x+sx, y+sy)&lt;br /&gt;
	gr.drawLine(x-sx, y-sy, x+sx, y-sy)&lt;br /&gt;
	gr.setColor(0,100,0,20)&lt;br /&gt;
	gr.drawRectangle(x-sx, y+sy, x+sx, y-sy)	--now featuring a transparent back&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
drawpongpaddle = function(x, y)&lt;br /&gt;
	gr.setColor(0,0,200,255)&lt;br /&gt;
	gr.drawRectangle(x+5, y+15, x-5, y-15, true)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
drawpongball = function(x, y, a)&lt;br /&gt;
	gr.setColor(200,0,0,a)&lt;br /&gt;
	gr.drawCircle(10,x,y)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--im nuts&lt;br /&gt;
&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
$HUD:&lt;br /&gt;
&lt;br /&gt;
[&lt;br /&gt;
&lt;br /&gt;
--HudPong&lt;br /&gt;
&lt;br /&gt;
drawpongarea(gamex,gamey,gamew/2,gameh/2)	--draw playing area every frame&lt;br /&gt;
&lt;br /&gt;
if w &amp;gt;= 1024 then		--compensate for resolution&lt;br /&gt;
	maxis1 = ((ms.getY() /  768) * (gameh * 0.9))	--paddels, what a mess, my math sucks&lt;br /&gt;
	maxis2 = ((ms.getX() / 1024) * (gameh * 0.9))&lt;br /&gt;
else&lt;br /&gt;
	maxis1 = ((ms.getY() / 480) * (gameh * 0.9))	--paddels, what a mess, my math sucks, now in lowres!&lt;br /&gt;
	maxis2 = ((ms.getX() / 640) * (gameh * 0.9))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
poneh = (maxis1 + (gamey - (gameh / 2))) + ((gameh - (gameh * 0.9)) / 2)&lt;br /&gt;
ptwoh = (maxis2 + (gamey - (gameh / 2))) + ((gameh - (gameh * 0.9)) / 2)&lt;br /&gt;
drawpongpaddle(gamex + (gamew/2) - 5, poneh)&lt;br /&gt;
drawpongpaddle(gamex - (gamew/2) + 5, ptwoh)&lt;br /&gt;
&lt;br /&gt;
ballx = ballx + ballxvel	--move and draw the ball&lt;br /&gt;
bally = bally + ballyvel&lt;br /&gt;
drawpongball(ballx, bally, balla)&lt;br /&gt;
&lt;br /&gt;
if bally &amp;lt; (gamey - (gameh / 2)) + 5 or bally &amp;gt; (gamey + (gameh / 2)) - 5 then&lt;br /&gt;
	ballyvel = ballyvel * -1	--bounce off borders&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
if ballx &amp;lt; (gamex - (gamew / 2)) or ballx &amp;gt; (gamex + (gamew / 2)) then	--tell the player when he gets castrated and reset the game&lt;br /&gt;
	gr.setColor(200,200,200,255)&lt;br /&gt;
	gr.drawString(deathmsg, gamex - (gr.getStringWidth(deathmsg) / 2) , gamey)&lt;br /&gt;
	balla = balla - 8&lt;br /&gt;
	if balla &amp;lt; 1 then&lt;br /&gt;
		ballx = gamex&lt;br /&gt;
		bally = gamey&lt;br /&gt;
		balla = 255&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
if (ballx &amp;lt; (gamex - (gamew / 2)) + 15 and bally &amp;gt; ptwoh - 15 and bally &amp;lt; ptwoh + 15) or (ballx &amp;gt; (gamex + (gamew / 2)) - 15 and bally &amp;gt; poneh - 15 and bally &amp;lt; poneh + 15) then&lt;br /&gt;
	ballxvel = ballxvel * -1	--bounce off paddles&lt;br /&gt;
end &lt;br /&gt;
&lt;br /&gt;
--nuts indeed&lt;br /&gt;
&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
#End&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
This gives an example of how to handel multiple resolutions. Its also a good introduction to using the mouse in a hud script. &lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting Examples|Hud Pong]]&lt;/div&gt;</summary>
		<author><name>Nuke</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Script_-_Hud_Pong&amp;diff=6701</id>
		<title>Script - Hud Pong</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Script_-_Hud_Pong&amp;diff=6701"/>
		<updated>2006-07-11T04:57:55Z</updated>

		<summary type="html">&lt;p&gt;Nuke: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Function==&lt;br /&gt;
Creates a special hud gauge that allows you to play pong. Use the mouse to manipulate the paddles.&lt;br /&gt;
&lt;br /&gt;
==Table Entry==&lt;br /&gt;
&amp;lt;pre&amp;gt;#Global Hooks&lt;br /&gt;
&lt;br /&gt;
$GameInit:&lt;br /&gt;
&lt;br /&gt;
[&lt;br /&gt;
&lt;br /&gt;
--HudPong (tm)&lt;br /&gt;
w = gr.getScreenWidth() &lt;br /&gt;
h = gr.getScreenHeight()&lt;br /&gt;
&lt;br /&gt;
poneh = 0&lt;br /&gt;
ptwoh = 0&lt;br /&gt;
gameh = 300		--you can change this to what&lt;br /&gt;
gamew = 600		--ever resolution you want.&lt;br /&gt;
gamex = w / 2	--set what coords to draw&lt;br /&gt;
gamey = h / 2	--the game at here (game center).&lt;br /&gt;
ballx = gamex&lt;br /&gt;
bally = gamey&lt;br /&gt;
ballxvel = 1	--or change theese if you&lt;br /&gt;
ballyvel = 1	--want a faster ball speed&lt;br /&gt;
balla = 255&lt;br /&gt;
deathmsg = &amp;quot;Dont Loose Your Balls!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
drawpongarea = function(x, y, sx, sy)	--pong box here&lt;br /&gt;
	gr.setColor(0,200,0,255)		--pong green&lt;br /&gt;
	gr.drawLine(x-sx, y+sy, x+sx, y+sy)&lt;br /&gt;
	gr.drawLine(x-sx, y-sy, x+sx, y-sy)&lt;br /&gt;
	gr.setColor(0,100,0,20)&lt;br /&gt;
	gr.drawRectangle(x-sx, y+sy, x+sx, y-sy)	--now featuring a transparent back&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
drawpongpaddle = function(x, y)&lt;br /&gt;
	gr.setColor(0,0,200,255)&lt;br /&gt;
	gr.drawRectangle(x+5, y+15, x-5, y-15, true)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
drawpongball = function(x, y, a)&lt;br /&gt;
	gr.setColor(200,0,0,a)&lt;br /&gt;
	gr.drawCircle(10,x,y)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--im nuts&lt;br /&gt;
&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
$HUD:&lt;br /&gt;
&lt;br /&gt;
[&lt;br /&gt;
&lt;br /&gt;
--HudPong&lt;br /&gt;
&lt;br /&gt;
drawpongarea(gamex,gamey,gamew/2,gameh/2)	--draw playing area every frame&lt;br /&gt;
&lt;br /&gt;
if w &amp;gt;= 1024 then		--compensate for resolution&lt;br /&gt;
	maxis1 = ((ms.getY() /  768) * (gameh * 0.9))	--paddels, what a mess, my math sucks&lt;br /&gt;
	maxis2 = ((ms.getX() / 1024) * (gameh * 0.9))&lt;br /&gt;
else&lt;br /&gt;
	maxis1 = ((ms.getY() / 480) * (gameh * 0.9))	--paddels, what a mess, my math sucks, now in lowres!&lt;br /&gt;
	maxis2 = ((ms.getX() / 640) * (gameh * 0.9))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
poneh = (maxis1 + (gamey - (gameh / 2))) + ((gameh - (gameh * 0.9)) / 2)&lt;br /&gt;
ptwoh = (maxis2 + (gamey - (gameh / 2))) + ((gameh - (gameh * 0.9)) / 2)&lt;br /&gt;
drawpongpaddle(gamex + (gamew/2) - 5, poneh)&lt;br /&gt;
drawpongpaddle(gamex - (gamew/2) + 5, ptwoh)&lt;br /&gt;
&lt;br /&gt;
ballx = ballx + ballxvel	--move and draw the ball&lt;br /&gt;
bally = bally + ballyvel&lt;br /&gt;
drawpongball(ballx, bally, balla)&lt;br /&gt;
&lt;br /&gt;
if bally &amp;lt; (gamey - (gameh / 2)) + 5 or bally &amp;gt; (gamey + (gameh / 2)) - 5 then&lt;br /&gt;
	ballyvel = ballyvel * -1	--bounce off borders&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
if ballx &amp;lt; (gamex - (gamew / 2)) or ballx &amp;gt; (gamex + (gamew / 2)) then	--tell the player when he gets castrated and reset the game&lt;br /&gt;
	gr.setColor(200,200,200,255)&lt;br /&gt;
	gr.drawString(deathmsg, gamex - (gr.getStringWidth(deathmsg) / 2) , gamey)&lt;br /&gt;
	balla = balla - 8&lt;br /&gt;
	if balla &amp;lt; 1 then&lt;br /&gt;
		ballx = gamex&lt;br /&gt;
		bally = gamey&lt;br /&gt;
		balla = 255&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
if (ballx &amp;lt; (gamex - (gamew / 2)) + 15 and bally &amp;gt; ptwoh - 15 and bally &amp;lt; ptwoh + 15) or (ballx &amp;gt; (gamex + (gamew / 2)) - 15 and bally &amp;gt; poneh - 15 and bally &amp;lt; poneh + 15) then&lt;br /&gt;
	ballxvel = ballxvel * -1	--bounce off paddles&lt;br /&gt;
end &lt;br /&gt;
&lt;br /&gt;
--nuts indeed&lt;br /&gt;
&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
#End&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
This gives an example of how to handel multiple resolutions. Its also a good introduction to using the mouse in a hud script. &lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting Examples|Velocity Indicator]]&lt;/div&gt;</summary>
		<author><name>Nuke</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Script_-_Hud_Pong&amp;diff=6700</id>
		<title>Script - Hud Pong</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Script_-_Hud_Pong&amp;diff=6700"/>
		<updated>2006-07-11T04:55:38Z</updated>

		<summary type="html">&lt;p&gt;Nuke: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Function==&lt;br /&gt;
Creates a special hud gauge that allows you to play pong.&lt;br /&gt;
&lt;br /&gt;
==Table Entry==&lt;br /&gt;
&amp;lt;pre&amp;gt;#Global Hooks&lt;br /&gt;
&lt;br /&gt;
$GameInit:&lt;br /&gt;
&lt;br /&gt;
[&lt;br /&gt;
&lt;br /&gt;
--HudPong (tm)&lt;br /&gt;
w = gr.getScreenWidth() &lt;br /&gt;
h = gr.getScreenHeight()&lt;br /&gt;
&lt;br /&gt;
poneh = 0&lt;br /&gt;
ptwoh = 0&lt;br /&gt;
gameh = 300		--you can change this to what&lt;br /&gt;
gamew = 600		--ever resolution you want.&lt;br /&gt;
gamex = w / 2	--set what coords to draw&lt;br /&gt;
gamey = h / 2	--the game at here (game center).&lt;br /&gt;
ballx = gamex&lt;br /&gt;
bally = gamey&lt;br /&gt;
ballxvel = 1	--or change theese if you&lt;br /&gt;
ballyvel = 1	--want a faster ball speed&lt;br /&gt;
balla = 255&lt;br /&gt;
deathmsg = &amp;quot;Dont Loose Your Balls!&amp;quot;&lt;br /&gt;
&lt;br /&gt;
drawpongarea = function(x, y, sx, sy)	--pong box here&lt;br /&gt;
	gr.setColor(0,200,0,255)		--pong green&lt;br /&gt;
	gr.drawLine(x-sx, y+sy, x+sx, y+sy)&lt;br /&gt;
	gr.drawLine(x-sx, y-sy, x+sx, y-sy)&lt;br /&gt;
	gr.setColor(0,100,0,20)&lt;br /&gt;
	gr.drawRectangle(x-sx, y+sy, x+sx, y-sy)	--now featuring a transparent back&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
drawpongpaddle = function(x, y)&lt;br /&gt;
	gr.setColor(0,0,200,255)&lt;br /&gt;
	gr.drawRectangle(x+5, y+15, x-5, y-15, true)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
drawpongball = function(x, y, a)&lt;br /&gt;
	gr.setColor(200,0,0,a)&lt;br /&gt;
	gr.drawCircle(10,x,y)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--im nuts&lt;br /&gt;
&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
$HUD:&lt;br /&gt;
&lt;br /&gt;
[&lt;br /&gt;
&lt;br /&gt;
--HudPong&lt;br /&gt;
&lt;br /&gt;
drawpongarea(gamex,gamey,gamew/2,gameh/2)	--draw playing area every frame&lt;br /&gt;
&lt;br /&gt;
if w &amp;gt;= 1024 then		--compensate for resolution&lt;br /&gt;
	maxis1 = ((ms.getY() /  768) * (gameh * 0.9))	--paddels, what a mess, my math sucks&lt;br /&gt;
	maxis2 = ((ms.getX() / 1024) * (gameh * 0.9))&lt;br /&gt;
else&lt;br /&gt;
	maxis1 = ((ms.getY() / 480) * (gameh * 0.9))	--paddels, what a mess, my math sucks, now in lowres!&lt;br /&gt;
	maxis2 = ((ms.getX() / 640) * (gameh * 0.9))&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
poneh = (maxis1 + (gamey - (gameh / 2))) + ((gameh - (gameh * 0.9)) / 2)&lt;br /&gt;
ptwoh = (maxis2 + (gamey - (gameh / 2))) + ((gameh - (gameh * 0.9)) / 2)&lt;br /&gt;
drawpongpaddle(gamex + (gamew/2) - 5, poneh)&lt;br /&gt;
drawpongpaddle(gamex - (gamew/2) + 5, ptwoh)&lt;br /&gt;
&lt;br /&gt;
ballx = ballx + ballxvel	--move and draw the ball&lt;br /&gt;
bally = bally + ballyvel&lt;br /&gt;
drawpongball(ballx, bally, balla)&lt;br /&gt;
&lt;br /&gt;
if bally &amp;lt; (gamey - (gameh / 2)) + 5 or bally &amp;gt; (gamey + (gameh / 2)) - 5 then&lt;br /&gt;
	ballyvel = ballyvel * -1	--bounce off borders&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
if ballx &amp;lt; (gamex - (gamew / 2)) or ballx &amp;gt; (gamex + (gamew / 2)) then	--tell the player when he gets castrated and reset the game&lt;br /&gt;
	gr.setColor(200,200,200,255)&lt;br /&gt;
	gr.drawString(deathmsg, gamex - (gr.getStringWidth(deathmsg) / 2) , gamey)&lt;br /&gt;
	balla = balla - 8&lt;br /&gt;
	if balla &amp;lt; 1 then&lt;br /&gt;
		ballx = gamex&lt;br /&gt;
		bally = gamey&lt;br /&gt;
		balla = 255&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
if (ballx &amp;lt; (gamex - (gamew / 2)) + 15 and bally &amp;gt; ptwoh - 15 and bally &amp;lt; ptwoh + 15) or (ballx &amp;gt; (gamex + (gamew / 2)) - 15 and bally &amp;gt; poneh - 15 and bally &amp;lt; poneh + 15) then&lt;br /&gt;
	ballxvel = ballxvel * -1	--bounce off paddles&lt;br /&gt;
end &lt;br /&gt;
&lt;br /&gt;
--nuts indeed&lt;br /&gt;
&lt;br /&gt;
]&lt;br /&gt;
&lt;br /&gt;
#End&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Notes==&lt;br /&gt;
This gives an example of how to handel multiple resolutions. Its also a good introduction to using the mouse in a hud script. &lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting Examples|Velocity Indicator]]&lt;/div&gt;</summary>
		<author><name>Nuke</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Scripting.tbl&amp;diff=6699</id>
		<title>Scripting.tbl</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Scripting.tbl&amp;diff=6699"/>
		<updated>2006-07-11T04:52:13Z</updated>

		<summary type="html">&lt;p&gt;Nuke: /* Examples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;&#039;&#039;This feature requires SCP&#039;&#039;&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
The scripting table is used for scripting special features like alternate HUDs or ship viewer into the game.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Usefull references:&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;[[FS2 Open Lua Scripting]]&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;[[Scripting API]]&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;[http://fs2source.warpcore.org/temp/scripting.html Scripting.html]&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;[[Command-Line_Reference#-output_scripting|Command-Line Reference for creating scripting.html]]&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;[http://lua-users.org/wiki/ Lua-Users Wiki]&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;[http://www.lua.org/manual/5.0/ Reference manual for Lua 5.0]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==General Format==&lt;br /&gt;
*Scripting table consist of several sections&lt;br /&gt;
*All sections and most of the entries are optional&lt;br /&gt;
*All sections end with #&#039;&#039;&#039;End&#039;&#039;&#039;&lt;br /&gt;
* #&#039;&#039;&#039;Global Hooks&#039;&#039;&#039;&lt;br /&gt;
* #&#039;&#039;&#039;State Hooks&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==#Global Hooks==&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;$Global:&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;$Splash:&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;$GameInit:&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;$Simulation:&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;$HUD:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==#State Hooks==&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;$State:&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;$Hook:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
[[Script - Escort Reticle|Escort Reticle]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Script - Example HUD|Example HUD]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Script - Scripted Flak|Scripted Flak]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Script - Ship Viewer|Ship Viewer]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Script - Splash Screen|Splash Screen]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Script - Velocity Indicator|Velocity Indicator]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Script - Hud Pong|Hud Pong]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Tables]]&lt;br /&gt;
[[Category:Scripting Examples]]&lt;/div&gt;</summary>
		<author><name>Nuke</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Animation_Code&amp;diff=6106</id>
		<title>Animation Code</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Animation_Code&amp;diff=6106"/>
		<updated>2006-06-18T11:17:57Z</updated>

		<summary type="html">&lt;p&gt;Nuke: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Known commonly as Bob&#039;s animation code as the code was written by Bobboau. Enables submodels defined in [[ships.tbl]] or in any related modular table to be animated in game. Animation code is included to the subsystem entry in similar manner as with [[Animation_Code#Setting_Turret_Angle|multipart turrets]]&lt;br /&gt;
&lt;br /&gt;
==Animation Class==&lt;br /&gt;
*Animation classes are defined in submodels description&lt;br /&gt;
*Syntax: &#039;&#039;&#039;$animation:&#039;&#039;&#039; &#039;&#039;Class&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Triggered&#039;&#039;&#039;&lt;br /&gt;
**Currently only supported animation class&lt;br /&gt;
&lt;br /&gt;
===Animation Type===&lt;br /&gt;
*Animation type defines when the animation is used&lt;br /&gt;
*Currently supported animation types:&lt;br /&gt;
**&#039;&#039;&#039;initial&#039;&#039;&#039;&lt;br /&gt;
***Animation code is started when the mission begins. Unlike other animation types this requires only &#039;&#039;&#039;angle&#039;&#039;&#039; to be set&lt;br /&gt;
**&#039;&#039;&#039;docking&#039;&#039;&#039;&lt;br /&gt;
***Animation code is started when ship starts docking&lt;br /&gt;
**&#039;&#039;&#039;docked&#039;&#039;&#039;&lt;br /&gt;
***Animation code is started when ship is docked&lt;br /&gt;
**&#039;&#039;&#039;primary_bank&#039;&#039;&#039;&lt;br /&gt;
***Animation code is started when a primary bank is selected (armed)&lt;br /&gt;
**&#039;&#039;&#039;secondary_bank&#039;&#039;&#039;&lt;br /&gt;
***Animation code is started when a secondary bank is selected (armed)&lt;br /&gt;
**&#039;&#039;&#039;door&#039;&#039;&#039;&lt;br /&gt;
***Animation code starts when ship launches or retrives others through it&#039;s fighterbay.&lt;br /&gt;
**&#039;&#039;&#039;afterburner&#039;&#039;&#039;&lt;br /&gt;
***Animation code is started when ships afterburner is engaged&lt;br /&gt;
**&#039;&#039;&#039;turret firing&#039;&#039;&#039;&lt;br /&gt;
***Animation code is started when selected turret is firing&lt;br /&gt;
**&#039;&#039;&#039;scripted&#039;&#039;&#039;&lt;br /&gt;
***Animation code is started when it is triggered with scripts (see [[scripting.tbl]])&lt;br /&gt;
*Syntax: &#039;&#039;&#039;$type:&#039;&#039;&#039; &#039;&#039;Type&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Animation Sub-Type===&lt;br /&gt;
*Optional more accurate descriptor for the animation type&lt;br /&gt;
*&#039;&#039;&#039;primary bank&#039;&#039;&#039; or &#039;&#039;&#039;secondary bank&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;+sub_type:&#039;&#039;&#039; &#039;&#039;Value&#039;&#039;, (0 = 1st weapon bank, 1 = 2nd weapon bank, etc.)&lt;br /&gt;
*&#039;&#039;&#039;turret firing&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;&#039;+sub_type:&#039;&#039;&#039; &#039;&#039;Value&#039;&#039;, (model number of the turret that triggers the animation)&lt;br /&gt;
&lt;br /&gt;
===Animation Code===&lt;br /&gt;
*&#039;&#039;&#039;+delay:&#039;&#039;&#039;&lt;br /&gt;
**Defines how long til the trigger starts.&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;, (milliseconds)&lt;br /&gt;
*&#039;&#039;&#039;+reverse delay:&#039;&#039;&#039;&lt;br /&gt;
**&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;, (seconds)&lt;br /&gt;
*&#039;&#039;&#039;+absolute angle:&#039;&#039;&#039; OR &#039;&#039;&#039;+relative angle:&#039;&#039;&#039;&lt;br /&gt;
**Defines the rotation degrees with three floats that give the x, y, and z. Absolute means in world terms; relative means relative to the ship. So a 90 degree angle on the ship would always be straight up in relative degrees; it would vary depending how the ship was rotated in absolute degrees. &lt;br /&gt;
**Syntax: &#039;&#039;Value,Value,Value&#039;&#039;, (degrees)&lt;br /&gt;
*&#039;&#039;&#039;+velocity:&#039;&#039;&#039;&lt;br /&gt;
**Defines subobject rotation speed, in relative terms. Defined with x, y and z floats.&lt;br /&gt;
**Syntax: &#039;&#039;Value,Value,Value&#039;&#039;, (meters)&lt;br /&gt;
*&#039;&#039;&#039;+acceleration:&#039;&#039;&#039;&lt;br /&gt;
**Defeines acceleration speed of subobject rotation. Defined with three floats, x, y and z&lt;br /&gt;
**Syntax: &#039;&#039;Value,Value,Value&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+time:&#039;&#039;&#039;&lt;br /&gt;
**Defines time for object to rotate, move, whatever. &lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;, (milliseconds)&lt;br /&gt;
*&#039;&#039;&#039;$Sound:&#039;&#039;&#039; (Does not work with &#039;initial&#039; animations)&lt;br /&gt;
**Defines sounds that are played with the animation&lt;br /&gt;
**&#039;&#039;&#039;+Start:&#039;&#039;&#039;&lt;br /&gt;
***Defines the sound that is played when animation starts&lt;br /&gt;
***Syntax: ????&lt;br /&gt;
**&#039;&#039;&#039;+Loop:&#039;&#039;&#039;&lt;br /&gt;
***Defines the sound that is played when animation is going on&lt;br /&gt;
***Syntax: ????&lt;br /&gt;
**&#039;&#039;&#039;+End:&#039;&#039;&#039;&lt;br /&gt;
***Defines the sound that is played when animation stops&lt;br /&gt;
***Syntax: ????&lt;br /&gt;
**&#039;&#039;&#039;+Radius:&#039;&#039;&#039;&lt;br /&gt;
***Defines the distance from the submodel where the sound is audible&lt;br /&gt;
***Syntax: &#039;&#039;Value&#039;&#039;, (meters)&lt;br /&gt;
&lt;br /&gt;
==Animation Examples==&lt;br /&gt;
===Setting Turret Angle===&lt;br /&gt;
*Animation code can be used to set multipart turrets barrel angle at the beginning of the mission&lt;br /&gt;
*&#039;&#039;&#039;Animation Class&#039;&#039;&#039; = triggered&lt;br /&gt;
**The only one available&lt;br /&gt;
*&#039;&#039;&#039;Animation Type&#039;&#039;&#039; = initial&lt;br /&gt;
**As we want the barrels to align themselves at the beginning of the mission&lt;br /&gt;
*&#039;&#039;&#039;Animation Code&#039;&#039;&#039; &lt;br /&gt;
**&#039;&#039;&#039;+relative_angle:&#039;&#039;&#039; is good for this purpose&lt;br /&gt;
**Notes about angles:&lt;br /&gt;
***First value is used to determine the turret&#039;s barrels deviation from the turrets normal. So barrel elevation in degrees is ( 90 - the first value ).&lt;br /&gt;
***Second value is used to determine the turret facing. With &#039;&#039;0&#039;&#039; the turret facing is in the normal setting and with &#039;&#039;180&#039;&#039; turn the turret completely around. Do note that turrets on the underside of the model normally face backwards so to get these turrets pointing to forward directin the second value has to be set to 180.&lt;br /&gt;
 &lt;br /&gt;
====Example====&lt;br /&gt;
   $Subsystem:            turret02,0.833,1.0&lt;br /&gt;
   $Default PBanks:       (  &amp;quot;Terran Turret&amp;quot; )&lt;br /&gt;
   $animation: triggered&lt;br /&gt;
   $type: initial&lt;br /&gt;
   +relative_angle:       90,180,0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Tables]]&lt;/div&gt;</summary>
		<author><name>Nuke</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Feature_Requests&amp;diff=1900</id>
		<title>Feature Requests</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Feature_Requests&amp;diff=1900"/>
		<updated>2006-01-01T06:18:42Z</updated>

		<summary type="html">&lt;p&gt;Nuke: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is primarily to serve as a database for feature requests for the Source Code Project.&lt;br /&gt;
&lt;br /&gt;
== New Requests ==&lt;br /&gt;
&lt;br /&gt;
=== Toggleable subsystems ===&lt;br /&gt;
Support for subsystems that can be turned on and off (ie when &#039;off&#039;, act as though they never existed - are untargetable, leave behind no damage LOD, do not take damage, cannot be collided with, etc.) This would be useful for ships where someone might want to remove or swap a subsystem (ie fighter cockpits could have Terran and Vasudan versions).&lt;br /&gt;
* &#039;&#039;&#039;Supported By:&#039;&#039;&#039; No mods or campaigns AFAIK&lt;br /&gt;
&lt;br /&gt;
=== Side Multipart Turrets ===&lt;br /&gt;
Support for fully rotating turrets on the sides of ships.&lt;br /&gt;
* &#039;&#039;&#039;Supported By:&#039;&#039;&#039; Battlestar Galactica, The Babylon Project, Wing Commander Saga, Nukemod - Children of Shiva&lt;br /&gt;
&lt;br /&gt;
=== Gatling Turrets ===&lt;br /&gt;
Support for Gatling gun turrets, which work same as a regular multipart turret but has an extra subobject (child of the barel) that rotates while the turret is firing.&lt;br /&gt;
* &#039;&#039;&#039;Supported By:&#039;&#039;&#039; Nukemod - Children of Shiva&lt;br /&gt;
&lt;br /&gt;
=== Submodel Animation Triggers &amp;amp; Upgrades ===&lt;br /&gt;
Trigger Requests:&lt;br /&gt;
* Subspace - Performs animation on entrance to supspace, and undoes when a ship comes out of subspace, and acts as a initial position if the &amp;quot;mission takes place in subspace&amp;quot; flag is set.&lt;br /&gt;
*Afterburners - Performs animation when afterburners are used and undoes the anumation when they go off.&lt;br /&gt;
*Weapon Fire - Performs animation when weapon is fired and undoes it before the weapon can fire again.&lt;br /&gt;
*Sexp - Animation triggered by sexp.&lt;br /&gt;
*Flight Control - Triggered by the the activation, toggle or motion of a particular flight control.&lt;br /&gt;
*Turret Fire - Performs animation when a particular turret is fired and undoes it before the turret can fire again.&lt;br /&gt;
Requested Upgrades:&lt;br /&gt;
*Support for &amp;quot;model-relative&amp;quot; movement in addition to &amp;quot;current submodel position-relitive&amp;quot; movement that already exists.&lt;br /&gt;
*Incremental movement - moves a submodel to the position indicated, but does not undo the motion.&lt;br /&gt;
*Glowpoint linking - Make it possible to activate/deactivate/toggel a certain bank/slot of glowpoint(s).&lt;br /&gt;
*Counter-rotate option - allow an object to inherit its parent&#039;s motion while counter-rotating, usefull for translation effect.&lt;br /&gt;
*Increase heirarchy depth instance limit to at least 10 levels of heirarchy.&lt;br /&gt;
*Simple linked animation support - Support for animations liked with flight controls and other variable setting ship controls, usefull for making animated cockpit controls, control surfaces, and thrust vectoring nozzels.&lt;br /&gt;
* &#039;&#039;&#039;Supported By:&#039;&#039;&#039; Nukemod - Children of Shiva, Twisted Infinities, Shadows of Lylat&lt;br /&gt;
&lt;br /&gt;
=== 3D Muzzle Flashes ===&lt;br /&gt;
Support for pof based 3d muzzel flashes. perhaps also add variables for scale factor and fade speed. &lt;br /&gt;
* &#039;&#039;&#039;Supported By:&#039;&#039;&#039; Nukemod - Children of Shiva&lt;br /&gt;
&lt;br /&gt;
=== Arrays and Other Collections ===&lt;br /&gt;
Support for FRED using arrays or other collections (or both) in a similar fashion to variables as there is currently no way to directly associate two variables with each other. Obviously some way to search the collection for a certain value would be needed. &lt;br /&gt;
* &#039;&#039;&#039;Supported By:&#039;&#039;&#039; MindGames, The Babylon Project&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== In Progress ==&lt;br /&gt;
=== Customizable ship types ===&lt;br /&gt;
Add a new table (or an addendum to ships.tbl) that would allow modders to turn on and off individual aspects of ship types, as well as define new ones. Type should be settable in the $Flags: variable, just as it is now, and the :V: defaults should be integrated so that they may be overriden by mods.&lt;br /&gt;
* &#039;&#039;&#039;Supported By:&#039;&#039;&#039; The Babylon Project&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Implemented ==&lt;br /&gt;
=== Flak Screen ===&lt;br /&gt;
Ability to set detonation range/time for flak shots so that flak weapons could fire at approaching ships beyond their &#039;detonation range&#039; thus generating a flak screen in front of the approaching ships with the flak explosions. Preferably with little variance in the exact detonation time as there is always a little variance in normal flak explosions. Beams already support this sort of firing with +range: option.&amp;lt;br&amp;gt;&lt;br /&gt;
[[User:Wanderer|Wanderer]] 10:56, 9 Dec 2005 (GMT)&lt;br /&gt;
* &#039;&#039;&#039;Supported By:&#039;&#039;&#039; The Apocalypse Project&lt;/div&gt;</summary>
		<author><name>Nuke</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Feature_Requests&amp;diff=1645</id>
		<title>Feature Requests</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Feature_Requests&amp;diff=1645"/>
		<updated>2006-01-01T06:18:02Z</updated>

		<summary type="html">&lt;p&gt;Nuke: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is primarily to serve as a database for feature requests for the Source Code Project.&lt;br /&gt;
&lt;br /&gt;
== New Requests ==&lt;br /&gt;
&lt;br /&gt;
=== Toggleable subsystems ===&lt;br /&gt;
Support for subsystems that can be turned on and off (ie when &#039;off&#039;, act as though they never existed - are untargetable, leave behind no damage LOD, do not take damage, cannot be collided with, etc.) This would be useful for ships where someone might want to remove or swap a subsystem (ie fighter cockpits could have Terran and Vasudan versions).&lt;br /&gt;
* &#039;&#039;&#039;Supported By:&#039;&#039;&#039; No mods or campaigns AFAIK&lt;br /&gt;
&lt;br /&gt;
=== Side Multipart Turrets ===&lt;br /&gt;
Support for fully rotating turrets on the sides of ships.&lt;br /&gt;
* &#039;&#039;&#039;Supported By:&#039;&#039;&#039; Battlestar Galactica, The Babylon Project, Wing Commander Saga, Nukemod - Children of Shiva&lt;br /&gt;
&lt;br /&gt;
=== Gatling Turrets ===&lt;br /&gt;
Support for Gatling gun turrets, which work same as a regular multipart turret but has an extra subobject (child of the barel) that rotates while the turret is firing.&lt;br /&gt;
* &#039;&#039;&#039;Supported By:&#039;&#039;&#039; Nukemod - Children of Shiva&lt;br /&gt;
&lt;br /&gt;
=== Submodel Animation Triggers &amp;amp; Upgrades ===&lt;br /&gt;
Trigger Requests:&lt;br /&gt;
* Subspace - Performs animation on entrance to supspace, and undoes when a ship comes out of subspace, and acts as a initial position if the &amp;quot;mission takes place in subspace&amp;quot; flag is set.&lt;br /&gt;
*Afterburners - Performs animation when afterburners are used and undoes the anumation when they go off.&lt;br /&gt;
*Weapon Fire - Performs animation when weapon is fired and undoes it before the weapon can fire again.&lt;br /&gt;
*Sexp - Animation triggered by sexp.&lt;br /&gt;
*Flight Control - Triggered by the the activation, toggle or motion of a particular flight control.&lt;br /&gt;
*Turret Fire - Performs animation when a particular turret is fired and undoes it before the turret can fire again.&lt;br /&gt;
Requested Upgrades:&lt;br /&gt;
*Support for &amp;quot;model-relative&amp;quot; movement in addition to &amp;quot;current submodel position-relitive&amp;quot; movement that already exists.&lt;br /&gt;
*Incremental movement - moves a submodel to the position indicated, but does not undo the motion.&lt;br /&gt;
*Glowpoint linking - Make it possible to activate/deactivate/toggel a certain bank/slot of glowpoint(s).&lt;br /&gt;
*Counter-rotate option - allow an object to inherit its parent&#039;s motion while counter-rotating, usefull for translation effect.&lt;br /&gt;
*Increase heirarchy depth instance limit to at least 10 levels of heirarchy.&lt;br /&gt;
*Simple linked animation support - Support for animations liked with flight controls and other variable setting ship controls, usefull for making animated cockpit controls, control surfaces, and thrust vectoring nozzels.&lt;br /&gt;
* &#039;&#039;&#039;Supported By:&#039;&#039;&#039; Nukemod - Children of Shiva, Twisted Infinities, Shadows of Lylat&lt;br /&gt;
&lt;br /&gt;
=== 3D Muzzle Flashes ===&lt;br /&gt;
Support for pof based 3d muzzel flashes. perhaps also add variables for scale factor and fade speed. &lt;br /&gt;
* &#039;&#039;&#039;Supported By:&#039;&#039;&#039; Nukemod - Children of Shiva&lt;br /&gt;
&lt;br /&gt;
=== Arrays and Other Collections ===&lt;br /&gt;
Support for FRED using arrays or other collections (or both) in a similar fashion to variables as there is currently no way to directly associate two variables with each other. Obviously some way to search the collection for a certain value would be needed. &lt;br /&gt;
* &#039;&#039;&#039;Supported By:&#039;&#039;&#039; MindGames, The Babylon Project&lt;br /&gt;
&lt;br /&gt;
== In Progress ==&lt;br /&gt;
=== Customizable ship types ===&lt;br /&gt;
Add a new table (or an addendum to ships.tbl) that would allow modders to turn on and off individual aspects of ship types, as well as define new ones. Type should be settable in the $Flags: variable, just as it is now, and the :V: defaults should be integrated so that they may be overriden by mods.&lt;br /&gt;
* &#039;&#039;&#039;Supported By:&#039;&#039;&#039; The Babylon Project&lt;br /&gt;
&lt;br /&gt;
== Implemented ==&lt;br /&gt;
=== Flak Screen ===&lt;br /&gt;
Ability to set detonation range/time for flak shots so that flak weapons could fire at approaching ships beyond their &#039;detonation range&#039; thus generating a flak screen in front of the approaching ships with the flak explosions. Preferably with little variance in the exact detonation time as there is always a little variance in normal flak explosions. Beams already support this sort of firing with +range: option.&amp;lt;br&amp;gt;&lt;br /&gt;
[[User:Wanderer|Wanderer]] 10:56, 9 Dec 2005 (GMT)&lt;br /&gt;
* &#039;&#039;&#039;Supported By:&#039;&#039;&#039; The Apocalypse Project&lt;/div&gt;</summary>
		<author><name>Nuke</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Feature_Requests&amp;diff=1310</id>
		<title>Feature Requests</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Feature_Requests&amp;diff=1310"/>
		<updated>2005-12-15T01:02:40Z</updated>

		<summary type="html">&lt;p&gt;Nuke: /* Submodel Animation Triggers &amp;amp; Upgrades */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is primarily to serve as a database for feature requests for the Source Code Project.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Side Multipart Turrets ==&lt;br /&gt;
Support for fully rotating turrets on the sides of ships.&lt;br /&gt;
* &#039;&#039;&#039;Supported By:&#039;&#039;&#039; Battlestar Galactica, The Babylon Project, Wing Commander Saga, Nukemod - Children of Shiva&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Customizable ship types ==&lt;br /&gt;
Add a new table (or an addendum to ships.tbl) that would allow modders to turn on and off individual aspects of ship types, as well as define new ones. Type should be settable in the $Flags: variable, just as it is now, and the :V: defaults should be integrated so that they may be overriden by mods.&lt;br /&gt;
* &#039;&#039;&#039;Supported By:&#039;&#039;&#039; The Babylon Project&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Flak Screen ==&lt;br /&gt;
Ability to set detonation range/time for flak shots so that flak weapons could fire at approaching ships beyond their &#039;detonation range&#039; thus generating a flak screen in front of the approaching ships with the flak explosions. Preferably with little variance in the exact detonation time as there is always a little variance in normal flak explosions. Beams already support this sort of firing with +range: option.&amp;lt;br&amp;gt;&lt;br /&gt;
[[User:Wanderer|Wanderer]] 10:56, 9 Dec 2005 (GMT)&lt;br /&gt;
* &#039;&#039;&#039;Supported By:&#039;&#039;&#039; ???&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gatling Turrets ==&lt;br /&gt;
Support for Gatling gun turrets, which work same as a regular multipart turret but has an extra subobject (child of the barel) that rotates while the turret is firing.&lt;br /&gt;
* &#039;&#039;&#039;Supported By:&#039;&#039;&#039; Nukemod - Children of Shiva&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Submodel Animation Triggers &amp;amp; Upgrades ==&lt;br /&gt;
&lt;br /&gt;
Trigger Requests:&lt;br /&gt;
* Subspace - Performs animation on entrance to supspace, and undoes when a ship comes out of subspace, and acts as a initial position if the &amp;quot;mission takes place in subspace&amp;quot; flag is set.&lt;br /&gt;
*Afterburners - Performs animation when afterburners are used and undoes the anumation when they go off.&lt;br /&gt;
*Weapon Fire - Performs animation when weapon is fired and undoes it before the weapon can fire again.&lt;br /&gt;
*Sexp - Animation triggered by sexp.&lt;br /&gt;
*Flight Control - Triggered by the the activation, toggle or motion of a particular flight control.&lt;br /&gt;
*Turret Fire - Performs animation when a particular turret is fired and undoes it before the turret can fire again.&lt;br /&gt;
Requested Upgrades:&lt;br /&gt;
*Support for &amp;quot;model-relative&amp;quot; movement in addition to &amp;quot;current submodel position-relitive&amp;quot; movement that already exists.&lt;br /&gt;
*Incremental movement - moves a submodel to the position indicated, but does not undo the motion.&lt;br /&gt;
*Glowpoint linking - Make it possible to activate/deactivate/toggel a certain bank/slot of glowpoint(s).&lt;br /&gt;
*Counter-rotate option - allow an object to inherit its parent&#039;s motion while counter-rotating, usefull for translation effect.&lt;br /&gt;
*Increase heirarchy depth instance limit to at least 10 levels of heirarchy.&lt;br /&gt;
*Simple linked animation support - Support for animations liked with flight controls and other variable setting ship controls, usefull for making animated cockpit controls, control surfaces, and thrust vectoring nozzels.&lt;br /&gt;
* &#039;&#039;&#039;Supported By:&#039;&#039;&#039; Nukemod - Children of Shiva&lt;/div&gt;</summary>
		<author><name>Nuke</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Feature_Requests&amp;diff=1305</id>
		<title>Feature Requests</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Feature_Requests&amp;diff=1305"/>
		<updated>2005-12-15T01:01:55Z</updated>

		<summary type="html">&lt;p&gt;Nuke: /* Submodel Animation Triggers &amp;amp; Upgrades */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is primarily to serve as a database for feature requests for the Source Code Project.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Side Multipart Turrets ==&lt;br /&gt;
Support for fully rotating turrets on the sides of ships.&lt;br /&gt;
* &#039;&#039;&#039;Supported By:&#039;&#039;&#039; Battlestar Galactica, The Babylon Project, Wing Commander Saga, Nukemod - Children of Shiva&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Customizable ship types ==&lt;br /&gt;
Add a new table (or an addendum to ships.tbl) that would allow modders to turn on and off individual aspects of ship types, as well as define new ones. Type should be settable in the $Flags: variable, just as it is now, and the :V: defaults should be integrated so that they may be overriden by mods.&lt;br /&gt;
* &#039;&#039;&#039;Supported By:&#039;&#039;&#039; The Babylon Project&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Flak Screen ==&lt;br /&gt;
Ability to set detonation range/time for flak shots so that flak weapons could fire at approaching ships beyond their &#039;detonation range&#039; thus generating a flak screen in front of the approaching ships with the flak explosions. Preferably with little variance in the exact detonation time as there is always a little variance in normal flak explosions. Beams already support this sort of firing with +range: option.&amp;lt;br&amp;gt;&lt;br /&gt;
[[User:Wanderer|Wanderer]] 10:56, 9 Dec 2005 (GMT)&lt;br /&gt;
* &#039;&#039;&#039;Supported By:&#039;&#039;&#039; ???&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gatling Turrets ==&lt;br /&gt;
Support for Gatling gun turrets, which work same as a regular multipart turret but has an extra subobject (child of the barel) that rotates while the turret is firing.&lt;br /&gt;
* &#039;&#039;&#039;Supported By:&#039;&#039;&#039; Nukemod - Children of Shiva&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Submodel Animation Triggers &amp;amp; Upgrades ==&lt;br /&gt;
&lt;br /&gt;
Trigger Requests:&lt;br /&gt;
* Subspace - Performs animation on entrance to supspace, and undoes when a ship comes out of subspace, and acts as a initial position if the &amp;quot;mission takes place in subspace&amp;quot; flag is set.&lt;br /&gt;
*Afterburners - Performs animation when afterburners are used and undoes the anumation when they go off.&lt;br /&gt;
*Weapon Fire - Performs animation when weapon is fired and undoes it before the weapon can fire again.&lt;br /&gt;
*Sexp - Animation triggered by sexp.&lt;br /&gt;
*Flight Control - Triggered by the the activation, toggle or motion of a particular flight control.&lt;br /&gt;
*Turret Fire - Performs animation when a particular turret is fired and undoes it before the turret can fire again.&lt;br /&gt;
Requested Upgrades:&lt;br /&gt;
*Support for &amp;quot;model-relative&amp;quot; movement in addition to &amp;quot;current submodel position-relitive&amp;quot; movement that already exists.&lt;br /&gt;
*Ingremental movement - moves a submodel to the position indicated, but does not undo the motion.&lt;br /&gt;
*Glowpoint linking - Make it possible to activate/deactivate/toggel a certain bank/slot of glowpoint(s).&lt;br /&gt;
*Counter-rotate option - allow an object to inherit its parent&#039;s motion while counter-rotating, usefull for translation effect.&lt;br /&gt;
*Increase heirarchy depth instance limit to at least 10 levels of heirarchy.&lt;br /&gt;
*Simple linked animation support - Support for animations liked with flight controls and other variable setting ship controls, usefull for making animated cockpit controls, control surfaces, and thrust vectoring nozzels.&lt;br /&gt;
* &#039;&#039;&#039;Supported By:&#039;&#039;&#039; Nukemod - Children of Shiva&lt;/div&gt;</summary>
		<author><name>Nuke</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Feature_Requests&amp;diff=1304</id>
		<title>Feature Requests</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Feature_Requests&amp;diff=1304"/>
		<updated>2005-12-15T00:51:18Z</updated>

		<summary type="html">&lt;p&gt;Nuke: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is primarily to serve as a database for feature requests for the Source Code Project.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Side Multipart Turrets ==&lt;br /&gt;
Support for fully rotating turrets on the sides of ships.&lt;br /&gt;
* &#039;&#039;&#039;Supported By:&#039;&#039;&#039; Battlestar Galactica, The Babylon Project, Wing Commander Saga, Nukemod - Children of Shiva&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Customizable ship types ==&lt;br /&gt;
Add a new table (or an addendum to ships.tbl) that would allow modders to turn on and off individual aspects of ship types, as well as define new ones. Type should be settable in the $Flags: variable, just as it is now, and the :V: defaults should be integrated so that they may be overriden by mods.&lt;br /&gt;
* &#039;&#039;&#039;Supported By:&#039;&#039;&#039; The Babylon Project&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Flak Screen ==&lt;br /&gt;
Ability to set detonation range/time for flak shots so that flak weapons could fire at approaching ships beyond their &#039;detonation range&#039; thus generating a flak screen in front of the approaching ships with the flak explosions. Preferably with little variance in the exact detonation time as there is always a little variance in normal flak explosions. Beams already support this sort of firing with +range: option.&amp;lt;br&amp;gt;&lt;br /&gt;
[[User:Wanderer|Wanderer]] 10:56, 9 Dec 2005 (GMT)&lt;br /&gt;
* &#039;&#039;&#039;Supported By:&#039;&#039;&#039; ???&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gatling Turrets ==&lt;br /&gt;
Support for Gatling gun turrets, which work same as a regular multipart turret but has an extra subobject (child of the barel) that rotates while the turret is firing.&lt;br /&gt;
* &#039;&#039;&#039;Supported By:&#039;&#039;&#039; Nukemod - Children of Shiva&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Submodel Animation Triggers &amp;amp; Upgrades ==&lt;br /&gt;
Trigger Requests:&lt;br /&gt;
Subspace - Performs animation on entrance to supspace, and undoes when a ship comes out of subspace and acts as a initial position if the &amp;quot;mission takes place in subspace&amp;quot; flag is set.&lt;br /&gt;
Afterburners - Performs animation when afterburners are used and undoes the anumation when they go off.&lt;br /&gt;
Weapon Fire - Performs animation when weapon is fired and undoes it before the weapon can fire again.&lt;br /&gt;
Sexp - animation triggered by sexp.&lt;br /&gt;
Flight Control - triggered by the the activation, toggle or motion of a particular flight control.&lt;br /&gt;
Turret Fire - Performs animation when a particular turret is fired and undoes it before the turret can fire again&lt;br /&gt;
Upgrades:&lt;br /&gt;
Support for &amp;quot;model-relative&amp;quot; movement in addition to &amp;quot;current submodel position-relitive&amp;quot; movement that already exists&lt;br /&gt;
ingremental movement - moves a submodel to the position indicated, but does not undo the motion&lt;br /&gt;
glowpoint linking - make it possible to activate/deactivate/toggel a certain bank/slot of glowpoint(s)&lt;br /&gt;
counter-rotate option - allow an object to inherit its parent&#039;s motion while counter-rotating, usefull for translation effect&lt;br /&gt;
increase heirarchy depth instance limit to at least 10&lt;br /&gt;
simple linked animation support - support for animations liked with flight controls and other variable setting ship controls, usefull for making animated cockpit controls, control surfaces, and thrust vectoring nozzels.&lt;br /&gt;
* &#039;&#039;&#039;Supported By:&#039;&#039;&#039; Nukemod - Children of Shiva&lt;/div&gt;</summary>
		<author><name>Nuke</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Various_Terms&amp;diff=1263</id>
		<title>Various Terms</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Various_Terms&amp;diff=1263"/>
		<updated>2005-12-10T00:32:33Z</updated>

		<summary type="html">&lt;p&gt;Nuke: /* Abbreviations of campaign names */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Terms used by the Freespace community= &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Terms related to abbreviations==&lt;br /&gt;
*V: This is equal with Volition, the creator of both Freespace games. On most occassions, the V is encircled by square brackets or ordinary brackets.&lt;br /&gt;
*SEXP: Do not think it has anything to do with copulation, it is the abbreviation for S-Expression, a term used by Mission Editors.&lt;br /&gt;
*FRED: FReeepace EDitor. The program we make missions with.&lt;br /&gt;
*FREDder: Mission designer/maker. Somebody who uses FRED.&lt;br /&gt;
*Mapper: Newcomers who have had any preliminary experience in level designing/creating for action games may think this term is the same as FREDer. Mappers are the same who most people would call texturers. In a word, the terms Mapper and Texturer mean exactly the same.&lt;br /&gt;
*SCP: The Source Code Project. &amp;lt;br&amp;gt;&lt;br /&gt;
**See [[Freespace Source Code Project]] for a lot of details&lt;br /&gt;
*HLP: [http://www.3dap.com/hlp Hard Light Productions]. The best known and most important forum of the Freespace community&lt;br /&gt;
*NW: [http://nodewar.penguinbomb.com/forum NodeWars ], now also called Penguinbomb; a forum run by a community member called an0n&lt;br /&gt;
*SG: [http://www.sectorgame.com/f2s/ Sectorgame]&lt;br /&gt;
*WS: [http://www.warpstorm.com/ Warpstorm], another forum where a few people of this community post. Not directly FS related.&lt;br /&gt;
*VWBB: Volition Watch Bulletin Board (site removed)&lt;br /&gt;
*VBB: Volition Bulletin Board (site removed, once was the official forum at www.freespace2.com&lt;br /&gt;
*COB: COB is a file extension. which are models which can be converted into POF files and then into the game&lt;br /&gt;
*POF: FreeSpace ships MUST be in POF extension. POF files contain all the necessary information about the model/ship, including dockpoints, subsystems, squadron logo locations and paths.&lt;br /&gt;
*PCS: POF Converter Suite. &amp;lt;br&amp;gt;&lt;br /&gt;
**&amp;lt;b&amp;gt;SEE ALSO:&amp;lt;/b&amp;gt;&lt;br /&gt;
[[PCS]]&lt;br /&gt;
*FS2: This can not only mean FreeSpace 2, it also stands for an extension that is used for FreeSpace Missions&lt;br /&gt;
*FSM: Extension for Conflict: FreeSpace Missions&lt;br /&gt;
*TS: [[Truespace]], a model creation programma that many people use and almost as many people hate.&lt;br /&gt;
*3DMAX: 3D Max is a model creation programme that is used by some people in the community&lt;br /&gt;
*GMax: GMax is just another model creation programme that a few people use.&lt;br /&gt;
&lt;br /&gt;
==Terms related to modelling==&lt;br /&gt;
*Greeble: Small piece of detail which serve no other purpose only to make a ship look better.&lt;br /&gt;
*LOD: Level of Detail. The further you get away from a ship, the less detailed it will be rendered.&lt;br /&gt;
*TrueView: A plugin utility for [[TrueSpace]]. Ideal for building hierarchy, however, not a must.&lt;br /&gt;
*Single-part turret: A single-part turret, is, in a word, a turret without any barrels.&lt;br /&gt;
*Multi-part turret: A multi-part turret is, in a word, a turret with one, two or three barrels.&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
=Abbreviations of campaign names=&lt;br /&gt;
*The 158th: The 158th Banshee Squadron&lt;br /&gt;
*AAB: Ascension and Beyond (dead)&lt;br /&gt;
*AHTW: All Hands to War (not hosted at HLP)&lt;br /&gt;
*AotD: Angels of the Damned (not hosted at HLP)&lt;br /&gt;
*TAP: The Apocalypse Project&lt;br /&gt;
*TBP: The Bablyon Project&lt;br /&gt;
*BWO: Blackwater Operations&lt;br /&gt;
*CoW: Casualties of War&lt;br /&gt;
*DEM: Deus Ex Machina&lt;br /&gt;
*FA: FRED Academy (This is not a campaign)&lt;br /&gt;
*FSC or FSPort: Freespace Conversion or Freespace Port (they&#039;re the same project)&lt;br /&gt;
*FSU: Freespace Upgrade Project&lt;br /&gt;
*ITHOV: Into the Halls of Valhalla&lt;br /&gt;
*JAD: Just Another Day&lt;br /&gt;
*JtEP: The Journey to Epsilon Pegasi&lt;br /&gt;
*LM: The Lightning Marshal&lt;br /&gt;
*MT: Machina Terra&lt;br /&gt;
*MG: Mind Games&lt;br /&gt;
*NTV: Neo-Terra victorious&lt;br /&gt;
*PI: The Procyon Insurgency (postponed indefinitely)&lt;br /&gt;
*RR: Renegade Ressurgence&lt;br /&gt;
*SA: Scroll of Antankharzim&lt;br /&gt;
*ST:R: Silent Threat: Reborn (a Freespace Port campaign)&lt;br /&gt;
*SWC: Star Wars Conversion. Also SWTC&lt;br /&gt;
*TI: Twisted Infinities&lt;br /&gt;
*TS: Technological Superiority (discontinued)&lt;br /&gt;
*TVWP: Terran-Vasudan War Project&lt;br /&gt;
*WCS: Wing Commander Saga&lt;br /&gt;
*CoS: Nukemod - Children of Shiva (also refered to as Nukemod-CoS or just Nukemod)&lt;br /&gt;
&lt;br /&gt;
For more campaigns, and for info about them, see [http://fs2.kissifrot.com/ Skippy&#039;s campaign list]&lt;br /&gt;
&lt;br /&gt;
[[Category:Lists]]&lt;/div&gt;</summary>
		<author><name>Nuke</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Feature_Requests&amp;diff=1303</id>
		<title>Feature Requests</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Feature_Requests&amp;diff=1303"/>
		<updated>2005-12-10T00:18:54Z</updated>

		<summary type="html">&lt;p&gt;Nuke: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is primarily to serve as a database for feature requests for the Source Code Project.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Side Multipart Turrets ==&lt;br /&gt;
Support for fully rotating turrets on the sides of ships.&lt;br /&gt;
* &#039;&#039;&#039;Supported By:&#039;&#039;&#039; Battlestar Galactica, The Babylon Project, Wing Commander Saga, Nukemod - Children of Shiva&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Customizable ship types ==&lt;br /&gt;
Add a new table (or an addendum to ships.tbl) that would allow modders to turn on and off individual aspects of ship types, as well as define new ones. Type should be settable in the $Flags: variable, just as it is now, and the :V: defaults should be integrated so that they may be overriden by mods.&lt;br /&gt;
* &#039;&#039;&#039;Supported By:&#039;&#039;&#039; The Babylon Project&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Flak Screen ==&lt;br /&gt;
Ability to set detonation range/time for flak shots so that flak weapons could fire at approaching ships beyond their &#039;detonation range&#039; thus generating a flak screen in front of the approaching ships with the flak explosions. Preferably with little variance in the exact detonation time as there is always a little variance in normal flak explosions. Beams already support this sort of firing with +range: option.&amp;lt;br&amp;gt;&lt;br /&gt;
[[User:Wanderer|Wanderer]] 10:56, 9 Dec 2005 (GMT)&lt;br /&gt;
* &#039;&#039;&#039;Supported By:&#039;&#039;&#039; ???&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Gatling Turrets ==&lt;br /&gt;
&lt;br /&gt;
Support for Gatling gun turrets, which work same as a regular multipart turret but has an extra subobject (child of the barel) that rotates while the turret is firing.&lt;br /&gt;
* &#039;&#039;&#039;Supported By:&#039;&#039;&#039; Nukemod - Children of Shiva&lt;/div&gt;</summary>
		<author><name>Nuke</name></author>
	</entry>
</feed>