<?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=WMCoolmon</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=WMCoolmon"/>
	<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php/Special:Contributions/WMCoolmon"/>
	<updated>2026-11-15T10:19:59Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Pof&amp;diff=16722</id>
		<title>Pof</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Pof&amp;diff=16722"/>
		<updated>2008-07-02T08:47:57Z</updated>

		<summary type="html">&lt;p&gt;WMCoolmon: Redirecting to *.POF&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[*.POF]]&lt;/div&gt;</summary>
		<author><name>WMCoolmon</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=VP&amp;diff=16721</id>
		<title>VP</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=VP&amp;diff=16721"/>
		<updated>2008-07-02T08:47:28Z</updated>

		<summary type="html">&lt;p&gt;WMCoolmon: Redirecting to *.VP&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[*.VP]]&lt;/div&gt;</summary>
		<author><name>WMCoolmon</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Tbm&amp;diff=16720</id>
		<title>Tbm</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Tbm&amp;diff=16720"/>
		<updated>2008-07-02T08:46:54Z</updated>

		<summary type="html">&lt;p&gt;WMCoolmon: Redirecting to Modular Tables&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Modular Tables]]&lt;/div&gt;</summary>
		<author><name>WMCoolmon</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Tbl&amp;diff=16719</id>
		<title>Tbl</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Tbl&amp;diff=16719"/>
		<updated>2008-07-02T08:46:07Z</updated>

		<summary type="html">&lt;p&gt;WMCoolmon: Redirecting to Tables&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Tables]]&lt;/div&gt;</summary>
		<author><name>WMCoolmon</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Shrouding_the_Light&amp;diff=14921</id>
		<title>Shrouding the Light</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Shrouding_the_Light&amp;diff=14921"/>
		<updated>2008-01-12T22:42:28Z</updated>

		<summary type="html">&lt;p&gt;WMCoolmon: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==General==&lt;br /&gt;
Status: Released by Blaise Russel in 2004&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
A year has passed since the destruction of the Lucifer and the flight of the Shivan armada. In the year 2336, the Terran and Vasudan peoples attempt to reclaim their former empires and piece together their shattered lives. However, dissidents and splinter groups from within jeopardise their hopes of peace - fighting for independence or against hated alien foes. In the midst of all this turmoil, you are transferred, from the safety of the 1st Battlegroup of Vasuda to the 13th Battlegroup&#039;s PVD Guardian and the troubled hotspot of Deneb...&lt;br /&gt;
&lt;br /&gt;
==Related Links==&lt;br /&gt;
[http://mysite.wanadoo-members.co.uk/sbre/stl/stl.htm Shrouding the Light website]&amp;lt;br&amp;gt;&lt;br /&gt;
[http://www.hard-light.net/forums/index.php/topic,26961.0.html Shrouding the Light SCP release thread]&lt;br /&gt;
&lt;br /&gt;
[[Category:User-made_Campaigns]]&lt;/div&gt;</summary>
		<author><name>WMCoolmon</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Shrouding_the_Light&amp;diff=14919</id>
		<title>Shrouding the Light</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Shrouding_the_Light&amp;diff=14919"/>
		<updated>2008-01-12T22:41:54Z</updated>

		<summary type="html">&lt;p&gt;WMCoolmon: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==General==&lt;br /&gt;
Status: Released by Blaise Russel in 2004&lt;br /&gt;
&lt;br /&gt;
==Description==&lt;br /&gt;
&lt;br /&gt;
A year has passed since the destruction of the Lucifer and the flight of the Shivan armada. In the year 2336, the Terran and Vasudan peoples attempt to reclaim their former empires and piece together their shattered lives. However, dissidents and splinter groups from within jeopardise their hopes of peace - fighting for independence or against hated alien foes. In the midst of all this turmoil, you are transferred, from the safety of the 1st Battlegroup of Vasuda to the 13th Battlegroup&#039;s PVD Guardian and the troubled hotspot of Deneb...&lt;br /&gt;
&lt;br /&gt;
==Related Links==&lt;br /&gt;
[http://mysite.wanadoo-members.co.uk/sbre/stl/stl.htm Shrouding the Light website]&lt;br /&gt;
[http://www.hard-light.net/forums/index.php/topic,26961.0.html Shrouding the Light SCP release thread]&lt;br /&gt;
&lt;br /&gt;
[[Category:User-made_Campaigns]]&lt;/div&gt;</summary>
		<author><name>WMCoolmon</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Sandbox&amp;diff=14807</id>
		<title>Sandbox</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Sandbox&amp;diff=14807"/>
		<updated>2008-01-07T00:17:41Z</updated>

		<summary type="html">&lt;p&gt;WMCoolmon: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| cellpadding=5 style=&amp;quot;text-align: center; margin: 0 0 1em 1em; background: #113; border: 2px #33D solid; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! | Campaign Name&lt;br /&gt;
! | Release&lt;br /&gt;
! | Requirements&lt;br /&gt;
! | Voice Acted&lt;br /&gt;
! | Missions&lt;br /&gt;
! | Author&lt;br /&gt;
! | Additional Mods&lt;br /&gt;
&lt;br /&gt;
|- style= &amp;quot;border: 1px #22D solid;&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;7&amp;quot; align=&amp;quot;left&amp;quot; | &amp;lt;font size=4&amp;gt;&#039;&#039;&#039;Pre Awesome War Campaigns&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style= &amp;quot;border: 1px #22D solid;&amp;quot;&lt;br /&gt;
! valign = &amp;quot;top&amp;quot; rowspan=&amp;quot;2&amp;quot; | [[Awesome Campaign]]&lt;br /&gt;
| Yes&lt;br /&gt;
| [[SCP]]&lt;br /&gt;
| Yes&lt;br /&gt;
| &amp;lt;span style=&amp;quot;cursor:help&amp;quot; title=&amp;quot;The Awesomians attack the Borons in the Awesome War.&amp;quot;&amp;gt;55&amp;lt;/span&amp;gt; &lt;br /&gt;
| [[Mr FRED]]&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;6&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;The Awesomians attack the Borons in the Awesome War. Is there any hope when the Borons launch the Boran?&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|- style= &amp;quot;border: 1px #22D solid;&amp;quot;&lt;br /&gt;
! valign = &amp;quot;top&amp;quot; rowspan=&amp;quot;2&amp;quot; | [[Another Awesome Campaign]]&lt;br /&gt;
| Demo&lt;br /&gt;
| Retail&lt;br /&gt;
| No&lt;br /&gt;
| &amp;lt;span style=&amp;quot;cursor:help&amp;quot; title=&amp;quot;The Borons take their revenge on the Awesomians with their new friends, the Hippies.&amp;quot;&amp;gt;2&amp;lt;/span&amp;gt;&lt;br /&gt;
| [[Mrs FRED]]&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;6&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;The Borons take their revenge on the Awesomians with their new friends, the Hippies.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|- style= &amp;quot;border: 1px #22D solid;&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;7&amp;quot; align=&amp;quot;left&amp;quot; | &amp;lt;font size=4&amp;gt;&#039;&#039;&#039;Post Awesome War Campaigns&#039;&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|- style= &amp;quot;border: 1px #22D solid;&amp;quot;&lt;br /&gt;
! valign = &amp;quot;top&amp;quot; rowspan=&amp;quot;2&amp;quot; | [[A Sucky Campaign]]&lt;br /&gt;
| No&lt;br /&gt;
| [[BetaMax Mod]]&lt;br /&gt;
| No&lt;br /&gt;
| &amp;lt;span style=&amp;quot;cursor:help&amp;quot; title=&amp;quot;I&#039;ll add something later. I guess. I dunno.&amp;quot;&amp;gt;0&amp;lt;/span&amp;gt;&lt;br /&gt;
| [[Uncle FRED]]&lt;br /&gt;
| No&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;6&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;I&#039;ll add something later. I guess. I dunno.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|- style= &amp;quot;border: 1px #22D solid;&amp;quot;&lt;br /&gt;
! valign = &amp;quot;top&amp;quot; rowspan=&amp;quot;2&amp;quot; | [[A Less Sucky Campaign]]&lt;br /&gt;
| October 2008&lt;br /&gt;
| [[Pants mod]]&lt;br /&gt;
| Yes&lt;br /&gt;
| &amp;lt;span style=&amp;quot;cursor:help&amp;quot; title=&amp;quot;Pants!&amp;quot;&amp;gt;9000&amp;lt;/span&amp;gt;&lt;br /&gt;
| [[Papa FRED]]&lt;br /&gt;
| Yes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;6&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;Pants!&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* M - Includes additional mods&lt;br /&gt;
* C - cutscenes&lt;br /&gt;
* V - Voice acted&lt;br /&gt;
{| cellpadding=5 style=&amp;quot;text-align: center; margin: 0 0 1em 1em; background: #113; border: 2px #33D solid; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! | Campaign Name&lt;br /&gt;
! | Release&lt;br /&gt;
! | Requirements&lt;br /&gt;
! | Missions&lt;br /&gt;
! | Author&lt;br /&gt;
! | &lt;br /&gt;
&lt;br /&gt;
|- style= &amp;quot;border: 1px #22D solid;&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;7&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;Pre Awesome War Campaigns&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|- style= &amp;quot;border: 1px #22D solid;&amp;quot;&lt;br /&gt;
! | [[Awesome Campaign]]&lt;br /&gt;
| Released&lt;br /&gt;
| [[SCP]]&lt;br /&gt;
| 55&lt;br /&gt;
| [[Mr FRED]]&lt;br /&gt;
| M&lt;br /&gt;
| C&lt;br /&gt;
| V&lt;br /&gt;
&lt;br /&gt;
|- style= &amp;quot;border: 1px #22D solid;&amp;quot;&lt;br /&gt;
! | [[Another Awesome Campaign]]&lt;br /&gt;
| Demo&lt;br /&gt;
| Retail&lt;br /&gt;
| 2&lt;br /&gt;
| [[Mrs FRED]]&lt;br /&gt;
| &lt;br /&gt;
| C&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
|- style= &amp;quot;border: 1px #22D solid;&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;7&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;Post Awesome War Campaigns&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|- style= &amp;quot;border: 1px #22D solid;&amp;quot;&lt;br /&gt;
! | [[A Sucky Campaign]]&lt;br /&gt;
| Abandoned&lt;br /&gt;
| [[BetaMax Mod]]&lt;br /&gt;
| 0&lt;br /&gt;
| [[Uncle FRED]]&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| V&lt;br /&gt;
&lt;br /&gt;
|- style= &amp;quot;border: 1px #22D solid;&amp;quot;&lt;br /&gt;
! | [[A Less Sucky Campaign]]&lt;br /&gt;
| October 2008&lt;br /&gt;
| [[Pants mod]]&lt;br /&gt;
| 9000&lt;br /&gt;
| [[Papa FRED]]&lt;br /&gt;
| M&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>WMCoolmon</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Sandbox&amp;diff=14786</id>
		<title>Sandbox</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Sandbox&amp;diff=14786"/>
		<updated>2008-01-04T03:34:03Z</updated>

		<summary type="html">&lt;p&gt;WMCoolmon: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| cellpadding=5 style=&amp;quot;text-align: center; margin: 0 0 1em 1em; background: #113; border: 2px #33D solid; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! | Campaign Name&lt;br /&gt;
! | Released&lt;br /&gt;
! | Requirements&lt;br /&gt;
! | Voice Acted&lt;br /&gt;
! | Missions&lt;br /&gt;
! | Author&lt;br /&gt;
! | Additional Mods&lt;br /&gt;
&lt;br /&gt;
|- style= &amp;quot;border: 1px #22D solid;&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;7&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;Pre Awesome War Campaigns&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|- style= &amp;quot;border: 1px #22D solid;&amp;quot;&lt;br /&gt;
! | [[Awesome Campaign]]&lt;br /&gt;
| bgcolor=&amp;quot;green&amp;quot; | Yes&lt;br /&gt;
| [[SCP]]&lt;br /&gt;
| bgcolor=&amp;quot;green&amp;quot; | Yes&lt;br /&gt;
| 55 Missions&lt;br /&gt;
| [[Mr FRED]]&lt;br /&gt;
| bgcolor=&amp;quot;green&amp;quot; | Yes&lt;br /&gt;
&lt;br /&gt;
|- style= &amp;quot;border: 1px #22D solid;&amp;quot;&lt;br /&gt;
! | [[Another Awesome Campaign]]&lt;br /&gt;
| bgcolor=&amp;quot;orange&amp;quot; | Demo&lt;br /&gt;
| Retail&lt;br /&gt;
| bgcolor=&amp;quot;red&amp;quot; | No&lt;br /&gt;
| 2 Missions&lt;br /&gt;
| [[Mrs FRED]]&lt;br /&gt;
| bgcolor=&amp;quot;red&amp;quot; | No&lt;br /&gt;
&lt;br /&gt;
|- style= &amp;quot;border: 1px #22D solid;&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;7&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;Post Awesome War Campaigns&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|- style= &amp;quot;border: 1px #22D solid;&amp;quot;&lt;br /&gt;
! | [[A Sucky Campaign]]&lt;br /&gt;
| bgcolor=&amp;quot;red&amp;quot; | No&lt;br /&gt;
| [[BetaMax Mod]]&lt;br /&gt;
| bgcolor=&amp;quot;red&amp;quot; | No&lt;br /&gt;
| 0 Missions&lt;br /&gt;
| [[Uncle FRED]]&lt;br /&gt;
| bgcolor=&amp;quot;red&amp;quot; | No&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* M - Includes additional mods&lt;br /&gt;
* C - cutscenes&lt;br /&gt;
* V - Voice acted&lt;br /&gt;
{| cellpadding=5 style=&amp;quot;text-align: center; margin: 0 0 1em 1em; background: #113; border: 2px #33D solid; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! | Campaign Name&lt;br /&gt;
! | Release&lt;br /&gt;
! | Requirements&lt;br /&gt;
! | Missions&lt;br /&gt;
! | Author&lt;br /&gt;
! | &lt;br /&gt;
&lt;br /&gt;
|- style= &amp;quot;border: 1px #22D solid;&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;7&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;Pre Awesome War Campaigns&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|- style= &amp;quot;border: 1px #22D solid;&amp;quot;&lt;br /&gt;
! | [[Awesome Campaign]]&lt;br /&gt;
| Released&lt;br /&gt;
| [[SCP]]&lt;br /&gt;
| 55&lt;br /&gt;
| [[Mr FRED]]&lt;br /&gt;
| M&lt;br /&gt;
| C&lt;br /&gt;
| V&lt;br /&gt;
&lt;br /&gt;
|- style= &amp;quot;border: 1px #22D solid;&amp;quot;&lt;br /&gt;
! | [[Another Awesome Campaign]]&lt;br /&gt;
| Demo&lt;br /&gt;
| Retail&lt;br /&gt;
| 2&lt;br /&gt;
| [[Mrs FRED]]&lt;br /&gt;
| &lt;br /&gt;
| C&lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
|- style= &amp;quot;border: 1px #22D solid;&amp;quot;&lt;br /&gt;
| colspan=&amp;quot;7&amp;quot; align=&amp;quot;left&amp;quot; | &#039;&#039;Post Awesome War Campaigns&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|- style= &amp;quot;border: 1px #22D solid;&amp;quot;&lt;br /&gt;
! | [[A Sucky Campaign]]&lt;br /&gt;
| Abandoned&lt;br /&gt;
| [[BetaMax Mod]]&lt;br /&gt;
| 0&lt;br /&gt;
| [[Uncle FRED]]&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
| V&lt;br /&gt;
&lt;br /&gt;
|- style= &amp;quot;border: 1px #22D solid;&amp;quot;&lt;br /&gt;
! | [[A Less Sucky Campaign]]&lt;br /&gt;
| October 2008&lt;br /&gt;
| [[Pants mod]]&lt;br /&gt;
| 9000&lt;br /&gt;
| [[Papa FRED]]&lt;br /&gt;
| M&lt;br /&gt;
| &lt;br /&gt;
| &lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>WMCoolmon</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=FS2_Open_Lua_Scripting&amp;diff=9664</id>
		<title>FS2 Open Lua Scripting</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=FS2_Open_Lua_Scripting&amp;diff=9664"/>
		<updated>2007-05-27T07:29:44Z</updated>

		<summary type="html">&lt;p&gt;WMCoolmon: Updated page to reflect changes in newer builds&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is intended as a crash-course in Lua scripting as it relates to Freespace 2. It&#039;s only meant to get you started with Lua scripting - more advanced concepts such as metatables will not be covered.&lt;br /&gt;
&lt;br /&gt;
You don&#039;t need to read the Appendices, but I recommend at least reading the &amp;quot;Optimizing&amp;quot; section if you&#039;re doing much scripting.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;&#039;&#039;&#039;IMPORTANT: This page was last updated on 5/27/2007 and assumes you are using the most up-to-date build at that time, [http://www.hard-light.net/forums/index.php/topic,47201.0.html C05202007]. There may be slight syntax differences with significantly newer or older builds. You should also make sure you are using a build from the Unstable/HEAD CVS branch.&#039;&#039;&#039;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== What You Need ==&lt;br /&gt;
You will need a basic understanding of how to open and edit computer files, a copy of Freespace 2, and an open mind. Any kind of prior scripting experience will be immensely helpful, but you shouldn&#039;t need any to understand this document.&lt;br /&gt;
&lt;br /&gt;
Here we go!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; Although all the examples should not cause syntax errors anywhere, they may not work in certain places. For example, you have to load a mission before you can get handles to ships in the mission.&lt;br /&gt;
&lt;br /&gt;
== Scripting hooks ==&lt;br /&gt;
A scripting hook is a segment of Lua code, that is run at a specific place in FS2_Open. Some scripting hooks, such as $GameInit, are executed only once. Others, such as state hooks, are executed every frame. Others may be executed only when a specific action occurs (such as a keypress or a ship warping out).&lt;br /&gt;
&lt;br /&gt;
There are three different types of hooks. All hooks are parsed and loaded into memory when they are read, so there is no speed difference. Also, the optional field &amp;quot;+Override: YES&amp;quot; can be used to make a scripting hook completely override fs2_open&#039;s usual behavior. (For example, for the HUD, this would completely disable the default fs2_open HUD and use the scripting version instead)&lt;br /&gt;
&lt;br /&gt;
For the sake of organization, information on different scripting hooks can be found in the wiki page for the table that they are actually in.&lt;br /&gt;
&lt;br /&gt;
=== Return hook ===&lt;br /&gt;
 $Hook: 2 + #Mission.Ships&lt;br /&gt;
This works like a normal table variable, except that you can use scripting functions as well.&lt;br /&gt;
&lt;br /&gt;
=== Normal hook ===&lt;br /&gt;
 $Hook: [&lt;br /&gt;
 	gr.setColor(255, 255, 255)&lt;br /&gt;
 	gr.drawString(&amp;quot;Hello, world!&amp;quot;)&lt;br /&gt;
 &lt;br /&gt;
 	return 2 + #Mission.Ships&lt;br /&gt;
 ]&lt;br /&gt;
A normal hook is denoted by [ and ]. Whatever is within the brackets is passed to the Lua interpreter. This means that you cannot use table-style ;; comments within brackets; you must use Lua&#039;s comments.&lt;br /&gt;
&lt;br /&gt;
However, you can still use it with a .tbl field that takes a value, using the &amp;quot;return&amp;quot; command. In this case, even though the other lines are still run, the $Hook: variable would be set to the same value as in the &#039;Return hook&#039; example.&lt;br /&gt;
&lt;br /&gt;
=== File hook ===&lt;br /&gt;
&amp;lt;pre&amp;gt;$Hook: [[script.lua]]&amp;lt;/pre&amp;gt;&lt;br /&gt;
A file hook loads the scripting from the file in the data/scripts directory. In all other respects, it is the same as a normal hook.&lt;br /&gt;
&lt;br /&gt;
== Comments ==&lt;br /&gt;
A &amp;quot;comment&amp;quot; (in any programming or scripting language) is a block of a script that is ignored. In Lua there is only one kind of comment, which starts with double-dashes. Any time you put two dashes in a Lua script outside of a string, the rest of the line will be ignored. (This is the same as putting a double-semicolon in a Freespace table)&lt;br /&gt;
&lt;br /&gt;
For example, this:&lt;br /&gt;
 --Load a mission for use in the mainhall&lt;br /&gt;
 Mission.loadMission(&amp;quot;sm2-10.fs2&amp;quot;) --Use &#039;King&#039;s Gambit&#039; for now.&lt;br /&gt;
&lt;br /&gt;
Will do exactly the same thing as this:&lt;br /&gt;
 Mission.loadMission(&amp;quot;sm2-10.fs2&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
== Variables ==&lt;br /&gt;
A variable is the simplest kind of thing that there is in Lua. All it really does is hold data; no more, no less. They really aren&#039;t that scary. Here are some different types of variables&lt;br /&gt;
&lt;br /&gt;
 --Number variable&lt;br /&gt;
 life = 42&lt;br /&gt;
 &lt;br /&gt;
 --String variable&lt;br /&gt;
 name = &amp;quot;Bob&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 --Boolean variables&lt;br /&gt;
 smoking = true&lt;br /&gt;
 healthy = false&lt;br /&gt;
 &lt;br /&gt;
 --Userdata (Handle or object) variable&lt;br /&gt;
 player = Mission.Ships[&#039;Alpha 1&#039;]&lt;br /&gt;
 &lt;br /&gt;
 --Nil variable&lt;br /&gt;
 --Erases a previously set variable&lt;br /&gt;
 life = nil&lt;br /&gt;
 &lt;br /&gt;
 --Member variable of userdata. Can be any of the above types.&lt;br /&gt;
 player.Name = &amp;quot;Ship&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; Although technically objects and handles are all userdata, it&#039;s easier to just think of every object and handle as being different types of variables.&lt;br /&gt;
&lt;br /&gt;
=== Arrays ===&lt;br /&gt;
&lt;br /&gt;
An array is a special type of variable, that holds multiple variables. The &#039;&#039;&#039;&#039;&#039;index&#039;&#039;&#039;&#039;&#039; of all Lua arrays starts at 1.&lt;br /&gt;
&lt;br /&gt;
 --Set the fifth element of array to 1&lt;br /&gt;
 a[5] = 12&lt;br /&gt;
 --Set n to the fifth element (tehe)&lt;br /&gt;
 n = a[5]&lt;br /&gt;
 --n will be 12&lt;br /&gt;
&lt;br /&gt;
The size of arrays may also be determined using the &#039;&#039;&#039;&#039;&#039;#&#039;&#039;&#039;&#039;&#039; sign&lt;br /&gt;
&lt;br /&gt;
 --Create an array&lt;br /&gt;
 a = {2, 4, 6, 8}&lt;br /&gt;
 --Set s to the size of the array&lt;br /&gt;
 s = #a&lt;br /&gt;
 --s will be 4&lt;br /&gt;
&lt;br /&gt;
== Libraries ==&lt;br /&gt;
In order to gain access to the FS2_Open engine through scripting, you must use the FS2_Open libraries. Each library represents a different section of the engine. In addition, libraries may be referenced one of two ways: the full name, or a shorthand version of the name made up of two letters. Here, the same setColor &#039;&#039;&#039;&#039;&#039;function&#039;&#039;&#039;&#039;&#039; is used twice.&lt;br /&gt;
&lt;br /&gt;
 Graphics.setColor(255, 255, 255)&lt;br /&gt;
 gr.setColor(255, 255, 255)&lt;br /&gt;
&lt;br /&gt;
For the sake of easy reading, I&#039;ve used the longhand version of names in the wiki. However, I recommend you learn the shorthand versions as they&#039;re generally faster to work with when scripting.&lt;br /&gt;
&lt;br /&gt;
To get a full list of library functions, use the &amp;quot;-output_scripting&amp;quot; command line parameter. This should create a file called scripting.html, with a list of the different libraries, functions, and types supported by that build. (Use a web browser to open it)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Functions ==&lt;br /&gt;
A function is an instruction to Lua to do something. It may change variables, or it may call (activate) other functions. Functions are the meat of scripting; they get everything done. Essentially, they are much like an individual SEXP.&lt;br /&gt;
&lt;br /&gt;
As a result, this section is pretty tough, but covers almost all of the specific knowledge you&#039;ll need to work within Lua.&lt;br /&gt;
&lt;br /&gt;
=== Function vocabulary ===&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;Return value&#039;&#039;&#039;&#039;&#039; - Data that a function returns. Any data that a function returns may be stored in a variable.&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;Arguments&#039;&#039;&#039;&#039;&#039; - Data that is given to a function. May be data itself, a variable containing the data, or even the return value of another function.&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;Call&#039;&#039;&#039;&#039;&#039; - To run a function.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Typical function use ===&lt;br /&gt;
&amp;lt;b&amp;gt;Example:&amp;lt;/b&amp;gt; This will write &amp;quot;Alpha 1&amp;quot; in the upper-left corner of the screen.&lt;br /&gt;
 player = Mission.Ships[&#039;Alpha 1&#039;]&lt;br /&gt;
 Graphics.setColor(255, 255, 255)&lt;br /&gt;
 Graphics.drawString(player.Name, 5, 5)&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Line 1:&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;In the first line, the &amp;quot;Ships&amp;quot; array of the mission library is indexed. Because &#039;Alpha 1&#039; is specified, it will set either the handle to the ship named &#039;Alpha 1&#039;, or it will return an invalid handle if Alpha 1 is dead or there was no Alpha 1 in the mission to begin with. Because the player variable is set to the result of the Array index, it will receive whatever handle is accessed by the array. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;b&amp;gt;Result&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;After the first line, the player variable is a ship handle to the ship named &amp;quot;Alpha 1&amp;quot; in the current mission.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Line 2&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;In the second line, the &amp;quot;setColor&amp;quot; function is used to set the current drawing color to pure white. Unlike getShipByName, it takes at least three arguments, all numbers - the red, green, and blue scale of the current color, from 0 to 255. It&#039;s always a good idea to use the setColor function before doing any drawing in scripting, as the engine can and will change the current color between scripting hooks.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;b&amp;gt;Result&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;Current drawing color is set to pure white&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Line 3&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;In the third line, the drawString function takes three arguments - a string, followed by two numbers. The string specifies the text to write, the numbers specify the x and y position of the upper-left corner of the written text. As you can see, we&#039;ve directly used a &#039;&#039;&#039;&#039;&#039;member variable&#039;&#039;&#039;&#039;&#039; of the player variable to fill the first argument. Because we got the ship handle by its name, the Name variable will be the same as the name that we got it by (&amp;quot;Alpha 1&amp;quot;).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;b&amp;gt;Result&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;After the third line, &amp;quot;Alpha 1&amp;quot; will appear in the upper-left corner of the string in white text.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; Numbers and certain types of userdata will automatically convert to strings. In all other cases, functions will give an error if you try to use the wrong type of argument.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Debugging note:&amp;lt;/b&amp;gt; If Alpha 1 were dead in the above example, you would get an error about &#039;trying to index a nil value&#039; because it would not be able to run the getName() function.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Userdata functions ===&lt;br /&gt;
Handles and objects may also have functions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example:&amp;lt;/b&amp;gt; This will write the number of subsystem&#039;s on Alpha 1&#039;s ship in the upper-left corner.&lt;br /&gt;
 player = Mission.Ships[&#039;Alpha 1&#039;]&lt;br /&gt;
 Graphics.drawString(#player, 5, 5)&lt;br /&gt;
&lt;br /&gt;
As before, we get the handle to the Alpha 1 ship with the Ships array.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Optional arguments ===&lt;br /&gt;
&lt;br /&gt;
Sometimes you don&#039;t have to use an argument. For example, the setColor function has an optional fourth argument - how opaque the color should be. If the argument isn&#039;t used, the color is totally opaque. These two lines do the same thing:&lt;br /&gt;
&lt;br /&gt;
 Graphics.setColor(255, 255, 255)&lt;br /&gt;
 Graphics.setColor(255, 255, 255, 255)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Quick, a full example! ==&lt;br /&gt;
By this point, you may be bored of all this exposition. So here&#039;s your typical &amp;quot;Hello, World!&amp;quot; example.&lt;br /&gt;
&lt;br /&gt;
For this amazing trick, we&#039;ll make our very own splash screen. Turn off all Freespace 2 mods, and create a file called &amp;quot;scripting.tbl&amp;quot; in your data/tables directory. Open that up in a text editor, and write:&lt;br /&gt;
 #Conditional Hooks&lt;br /&gt;
 $Version: 3.7&lt;br /&gt;
 $On Splash Screen:	[&lt;br /&gt;
 	--Set the color to white&lt;br /&gt;
 	Graphics.setColor(255, 255, 255)&lt;br /&gt;
 	--Write &amp;quot;Hello, world!&amp;quot;&lt;br /&gt;
 	Graphics.drawString(&amp;quot;Hello, world!&amp;quot;, 5, 10)&lt;br /&gt;
 ]&lt;br /&gt;
 +Override: YES&lt;br /&gt;
 #End&lt;br /&gt;
&lt;br /&gt;
Now, when you start up FS2_Open, you should see &amp;quot;Hello, world!&amp;quot; in the upper-left, as it loads.&lt;br /&gt;
&lt;br /&gt;
== Control structures ==&lt;br /&gt;
A control structure is a series of statements that let you change how a script runs, based on some condition - say, a ship is dead, or the life of a certain ship has fallen below a certain amount.&lt;br /&gt;
&lt;br /&gt;
=== If statements ===&lt;br /&gt;
If statements are a way to check if something is some way or not. All if statements have the form:&lt;br /&gt;
 if (something) then&lt;br /&gt;
 	(execute)&lt;br /&gt;
 end&lt;br /&gt;
&lt;br /&gt;
(something) can be true, or false. If it&#039;s true, then (execute) will be run. If it&#039;s false, then the script will skip down to &amp;quot;end&amp;quot; and go on from there.&lt;br /&gt;
&lt;br /&gt;
To check that a handle is valid:&lt;br /&gt;
 ship = Mission.Ships[&#039;Alpha 2&#039;]&lt;br /&gt;
 if ship:isValid() then&lt;br /&gt;
 	--This will always happen while Alpha 2 is alive&lt;br /&gt;
 	Graphics.drawString(&amp;quot;MACKIE LIVES!&amp;quot;, 5, 10)&lt;br /&gt;
 end&lt;br /&gt;
&lt;br /&gt;
To check a variable value&lt;br /&gt;
 x = 42&lt;br /&gt;
 y = 23&lt;br /&gt;
 if x &amp;lt; y or x is y then&lt;br /&gt;
 	--We never get here, because x is bigger than y&lt;br /&gt;
 end&lt;br /&gt;
&lt;br /&gt;
=== For statements ===&lt;br /&gt;
A for statement is generally used to iterate through a list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example:&amp;lt;/b&amp;gt;&lt;br /&gt;
This bit of scripting will run through all of Alpha 2&#039;s subsystems if she isn&#039;t dead, and display a list of them in the upper-left.&lt;br /&gt;
&lt;br /&gt;
 ship = Mission.Ships[&#039;Alpha 2&#039;]&lt;br /&gt;
 if ship then&lt;br /&gt;
 	num_subsys = #ship&lt;br /&gt;
 	x = 5&lt;br /&gt;
 	y = 5&lt;br /&gt;
 	for i=1,num_subsys do&lt;br /&gt;
 		--Use the i variable to go through the ship&#039;s subsystems,&lt;br /&gt;
 		--and to change the y position of the text.&lt;br /&gt;
 		gr.drawString(ship[i].Name, x, y + i*10)&lt;br /&gt;
 	end&lt;br /&gt;
 end&lt;br /&gt;
&lt;br /&gt;
=== More information ===&lt;br /&gt;
For other keywords you can use with control structures, see the [http://www.lua.org/manual/5.0/manual.html#2.5.2 Lua Documentation]&lt;br /&gt;
&lt;br /&gt;
For more detailed information on if statements and other types of control structures, see the [http://lua-users.org/wiki/ControlStructureTutorial Lua-users wiki]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Appendices ==&lt;br /&gt;
&lt;br /&gt;
There&#039;s more depth to scripting than what&#039;s covered above. To make the rest of the article shorter, I&#039;ve put the topics still within the scope of this article, but not necessary to know in most cases, down here.&lt;br /&gt;
&lt;br /&gt;
However, I HIGHLY recommend you read the optimizing scripting section.&lt;br /&gt;
&lt;br /&gt;
=== Appendix: Optimizing scripting ===&lt;br /&gt;
&lt;br /&gt;
Because fs2_open is written in C, which is much faster than Lua, it is much better to store variables in C and provide Lua functions to work with them. In addition, to keep Lua scripting from messing with C scripting and to make it as friendly as possible, there are a number of safeguards to catch problems, in most of the Lua functions.&lt;br /&gt;
&lt;br /&gt;
As a result, whenever you&#039;re working with a value provided by a library or object function, you should set it to a Lua variable if you&#039;re going to use it more than 1-2 times due to the large overhead resulting from the interface.&lt;br /&gt;
&lt;br /&gt;
Thus, even though it may look like &amp;quot;Name&amp;quot; is a member variable of the ship handle, it is actually a function that performs 3-4 validity checks before returning the value, which must also be converted from C to Lua. Setting a variable to the return value of the function means that you can use that variable wherever you want to use the ship name using the native Lua environment.&lt;br /&gt;
&lt;br /&gt;
=== Appendix: Debugging scripting ===&lt;br /&gt;
&lt;br /&gt;
Unfortunately, the Lua interpreter provides only limited debugging information about hooks. (Supposedly, it will provide more information about scripting within user functions, but I haven&#039;t tested that claim yet)&lt;br /&gt;
&lt;br /&gt;
Generally, error messages complaining about referencing or indexing a &#039;nil value&#039; occur because a function could not return a handle, so it returned nil. Some functions also return false to indicate that the handle is correct, but due to some kind of wrong information being passed, it couldn&#039;t complete.&lt;br /&gt;
&lt;br /&gt;
Generally, you should check all handles before using them:&lt;br /&gt;
 player = Mission.Ships[&#039;Alpha 1&#039;]&lt;br /&gt;
 if player:isValid() then&lt;br /&gt;
 &lt;br /&gt;
 end&lt;br /&gt;
&lt;br /&gt;
With all uses of the player handle falling in the &amp;quot;if&amp;quot; statement.&lt;br /&gt;
&lt;br /&gt;
=== Appendix: Function types ===&lt;br /&gt;
&lt;br /&gt;
Here&#039;s all the different kinds of functions you can have:&lt;br /&gt;
 --A function provided by itself&lt;br /&gt;
 x = cos(y)&lt;br /&gt;
 --A function provided by a library&lt;br /&gt;
 x = Math.cos(y)&lt;br /&gt;
 --A function provided by a userdata variable.&lt;br /&gt;
 x = y:cos()&lt;br /&gt;
In every case, x would be set to the cosine of y, which is 1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; You must use a &amp;quot;:&amp;quot; with userdata functions, as in the example. This tells Lua that it needs to give the function the value of the variable that it&#039;s being called from.&lt;br /&gt;
&lt;br /&gt;
=== Appendix: Making your own functions ===&lt;br /&gt;
So, let&#039;s make the doSomething() function do, well, something.&lt;br /&gt;
 doSomething = function()&lt;br /&gt;
 	color = &amp;quot;red&amp;quot;&lt;br /&gt;
 end&lt;br /&gt;
As you can see, creating a function is much like creating a variable; you just use function() instead of the value, then write what you want the function to do. To end the function, you just write &amp;quot;end&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Now, let&#039;s use our new doSomething() function.&lt;br /&gt;
 color = &amp;quot;black&amp;quot;&lt;br /&gt;
 doSomething()&lt;br /&gt;
 --After using doSomething(), color is now red&lt;br /&gt;
&lt;br /&gt;
Functions can also &#039;&#039;&#039;&#039;&#039;return&#039;&#039;&#039;&#039;&#039; values.&lt;br /&gt;
 --Make a new function&lt;br /&gt;
 doSomethingElse = function()&lt;br /&gt;
 	return 10&lt;br /&gt;
 end&lt;br /&gt;
 x = 0&lt;br /&gt;
 doSomething()&lt;br /&gt;
 --x is now 27&lt;br /&gt;
 x = doSomethingElse()&lt;br /&gt;
 --x is now 10&lt;br /&gt;
&lt;br /&gt;
=== Appendix: Variable Scope ===&lt;br /&gt;
The &#039;&#039;&#039;&#039;&#039;scope&#039;&#039;&#039;&#039;&#039; of a variable is the area where it exists. Writing &amp;lt;tt&amp;gt;local&amp;lt;/tt&amp;gt; in front of the variable name will tell Lua that the variable should only exist within that function or hook.&lt;br /&gt;
&lt;br /&gt;
Note that this means that if you use the same variable name in two different hooks without using local, the same variable will be used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You may find it useful to have some way of distinguishing global variables from local ones, to remind yourself that the value does carry over. For example, starting global variable names with &amp;quot;g_&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example:&amp;lt;/b&amp;gt; The following will draw the text &amp;quot;Media VP&amp;quot; in the upper-left corner of the main hall, even though the variable is set in a different hook than it is used in.&lt;br /&gt;
&lt;br /&gt;
 #Conditional Hooks&lt;br /&gt;
 $Version: 3.7&lt;br /&gt;
 $On Game Init: [g_mod = &amp;quot;Media VP&amp;quot;]&lt;br /&gt;
 &lt;br /&gt;
 $State: GS_STATE_MAIN_MENU&lt;br /&gt;
 $On Frame: [Graphics.drawString(g_mod, 0, 0)]&lt;br /&gt;
 #End&lt;br /&gt;
&lt;br /&gt;
=== Appendix: Variable Types ===&lt;br /&gt;
Variables can hold different types of data. These basic types are:&lt;br /&gt;
&lt;br /&gt;
==== Boolean ====&lt;br /&gt;
A boolean is a simple variable - it can be true, or false.&lt;br /&gt;
 --It&#039;s Monday, and Dilbert is at the office&lt;br /&gt;
 working = true&lt;br /&gt;
 --Oops, he just opened Solitaire&lt;br /&gt;
 working = false&lt;br /&gt;
&lt;br /&gt;
==== Numbers ====&lt;br /&gt;
A number is any variable that holds (As you might&#039;ve guessed) a number. A number will automatically convert into a string, if needed.&lt;br /&gt;
 --A variable can be a whole number, like this&lt;br /&gt;
 x = 5&lt;br /&gt;
 --Or it can be a decimal value&lt;br /&gt;
 x = 3.141592654&lt;br /&gt;
 --Or you can divide two numbers for a fraction&lt;br /&gt;
 x = 3/4&lt;br /&gt;
&lt;br /&gt;
==== Strings ====&lt;br /&gt;
A string is a variable that holds a series of characters, and a character is any number, letter, or symbol on your keyboard (and then some). Basically, strings are the way that words and sentences are passed around in Lua.&lt;br /&gt;
 --A cow says moo!&lt;br /&gt;
 cow = &amp;quot;moo&amp;quot;&lt;br /&gt;
 --A friend&#039;s name&lt;br /&gt;
 friend = &amp;quot;Bob&amp;quot;&lt;br /&gt;
Note that actual string content is contained within double quotation marks, to mark it as a string.&lt;br /&gt;
&lt;br /&gt;
==== nil ====&lt;br /&gt;
nil isn&#039;t really a variable type, but it is important. nil means that a variable doesn&#039;t hold anything. If you want to get rid of a variable, you just set it to be nil.&lt;br /&gt;
&lt;br /&gt;
 --Today I got a new dog&lt;br /&gt;
 dog = &amp;quot;Spot&amp;quot;&lt;br /&gt;
 --But then he ran away&lt;br /&gt;
 dog = nil&lt;br /&gt;
&lt;br /&gt;
Any time an error says that a variable is nil, it usually means that it doesn&#039;t exist (Double-check your spelling).&lt;br /&gt;
&lt;br /&gt;
==== Userdata/objects ====&lt;br /&gt;
Objects (or &amp;quot;userdata&amp;quot;, as they are known in Lua) is a variable that can contain other variables, or functions. Variables or functions within an object are known as &amp;quot;member variables&amp;quot; or &amp;quot;member functions&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 --Assuming we have a my_car object, this will copy it to your_car&lt;br /&gt;
 your_car = my_car&lt;br /&gt;
 --Congratulations! But maybe you want to customize it?&lt;br /&gt;
 --Note how I refer to the member variable, color&lt;br /&gt;
 your_car.color = &amp;quot;Red&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Handles ====&lt;br /&gt;
A handle isn&#039;t technically a Lua type, but handles are used a lot in FS2_Open Lua scripting. Essentially, a handle is a variable that refers to a specific object; but doesn&#039;t actually contain that object&#039;s data. An example is the &amp;quot;shipclass&amp;quot; type; it doesn&#039;t actually contain the data in ships.tbl, it just serves to reference the ship class so that you can get and set data.&lt;br /&gt;
 --Get the &amp;quot;GTF Ulysses&amp;quot; ship type&lt;br /&gt;
 --For this, I use the ShipClasses array&lt;br /&gt;
 ulysses = tb.ShipClasses[&#039;GTF Ulysses&#039;]&lt;br /&gt;
 --Now get rid of the handle&lt;br /&gt;
 ulysses = nil&lt;br /&gt;
 --Even though we&#039;ve gotten rid of the handle, the Ulysses will still exist.&lt;br /&gt;
&lt;br /&gt;
In situations where a handle variable is an object, you must set the entire variable at once; you cannot change elements of the array individually.&lt;br /&gt;
 --So intead of this...&lt;br /&gt;
 ship = mn.Ships[1]&lt;br /&gt;
 ship.Position[&amp;quot;y&amp;quot;] = 0&lt;br /&gt;
 &lt;br /&gt;
 --You would go...&lt;br /&gt;
 ship = mn.Ships[1]&lt;br /&gt;
 pos = ship.Position[&amp;quot;y&amp;quot;]&lt;br /&gt;
 pos[&amp;quot;y&amp;quot;] = 0&lt;br /&gt;
 ship.Position = pos&lt;br /&gt;
&lt;br /&gt;
=== Appendix: External Lua references ===&lt;br /&gt;
* [http://www.devmaster.net/articles/lua/lua1.php DevMaster.net - Lua Scripting 101]&lt;br /&gt;
* [http://www.lua.org/manual/5.1/ Official Lua 5.1 Reference Manual]&lt;br /&gt;
* [http://www.lua.org/pil/ Programming in Lua]&lt;br /&gt;
* [http://www.lua-users.org/ lua-users.org]&lt;/div&gt;</summary>
		<author><name>WMCoolmon</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Scripting_API&amp;diff=9162</id>
		<title>Scripting API</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Scripting_API&amp;diff=9162"/>
		<updated>2007-03-19T02:03:44Z</updated>

		<summary type="html">&lt;p&gt;WMCoolmon: Partial update with info from Ade&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The FS2_Open scripting API is intended to be as cross-platform and as language non-specific as possible. However, it is generally assumed that the most popular language will be Lua.&lt;br /&gt;
&lt;br /&gt;
=New System (HEAD)=&lt;br /&gt;
==Introduction==&lt;br /&gt;
===Foreword: Who I Think You Are===&lt;br /&gt;
For the duration of this document, I will generally assume that you, the reader, are a coder who is interested in Doing Something With Scripting. This means that I will cover the simple stuff first, and mostly focus on how to define and use hooks and variables. However, I will try to make this document also have some value to scripters interested in how things work &amp;quot;under the hood&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
===What the heck is ADE?===&lt;br /&gt;
&amp;quot;Ade&amp;quot; is the name of the new scripting backend. I chose this name after I did a complete overhaul of the scripting backend, somewhere around the time that the official fs2_open codebase was split into the &amp;quot;HEAD&amp;quot; (unstable) and &amp;quot;3.6.9&amp;quot; (stable) branches. HEAD uses ADE, 3.6.9 does not.&lt;br /&gt;
&lt;br /&gt;
Ade itself is based on the idea that the most effective way to generate scripting support is via an object-oriented method that mirrors the way that Lua does things. It uses a master array of objects with the type &amp;quot;ade_table_entry&amp;quot;, which in turn denote their respective children and parent objects.&lt;br /&gt;
&lt;br /&gt;
Ade itself also defines a number of structs and macros that are used to easily extend functions and variables into Lua.&lt;br /&gt;
&lt;br /&gt;
===A little on Lua - Why?===&lt;br /&gt;
Lua is a crossplatform scripting language that has a syntax similar to Python and C. When adding a scripting component to FS2_Open was discussed, Lua was chosen for the following reasons:&lt;br /&gt;
* Crossplatform support&lt;br /&gt;
* Whitespace-independent syntax&lt;br /&gt;
* Lightweight parser and compact default libraries&lt;br /&gt;
* Support for semi-object-oriented syntax&lt;br /&gt;
&lt;br /&gt;
Rather than define things using traditional constructs such as structs and classes, Lua uses a system of &amp;quot;tables&amp;quot; and &amp;quot;metatables&amp;quot;. This is, quite frankly, a pain in the arse to understand. However, I will do my best to give a crash course here.&lt;br /&gt;
&lt;br /&gt;
====Tables====&lt;br /&gt;
&lt;br /&gt;
Essentially, a Lua table is just a big array. The items stored in the array (or table) can be accessed using either numbers or strings. They can also be accessed using traditional brackets [], or via traditional class syntax (using a period).&lt;br /&gt;
&lt;br /&gt;
 myTable[1] = &amp;quot;Macaroni&amp;quot;&lt;br /&gt;
 myTable[&amp;quot;Food&amp;quot;] = &amp;quot;Steak&amp;quot;&lt;br /&gt;
 print(myTable[1])   --outputs &amp;quot;Macaroni&amp;quot;&lt;br /&gt;
 print(myTable[&amp;quot;Food&amp;quot;])   --outputs &amp;quot;Steak&amp;quot;&lt;br /&gt;
 print(myTable.Food)   --also outputs &amp;quot;Steak&amp;quot;&lt;br /&gt;
&lt;br /&gt;
====Userdata====&lt;br /&gt;
Userdata is a lua type that consists of user-specified data. All ADE libraries, handles, and objects are defined using userdata and a metatable.&lt;br /&gt;
&lt;br /&gt;
====Metatables====&lt;br /&gt;
The interesting thing about lua tables is that they can also be used as &#039;&#039;&#039;metatables&#039;&#039;&#039;. A metatable is a table that is associated with an object, which provides a series of functions that control how the object or table will be accessed. This may include operators (+ - * / etc) and what happens when you try to index userdata or change the value of an index of userdata. All metatable functions start with &amp;quot;__&amp;quot;, and are called when their respective operator is used or respective event occurs.&lt;br /&gt;
&lt;br /&gt;
[[media:Adeagram.gif|Diagram showing ADE&#039;s use of metatables]]&lt;br /&gt;
&amp;lt;br&amp;gt;[http://www.lua.org/manual/5.1/manual.html#2.8 Lua Documentation: Metatables]&lt;br /&gt;
&lt;br /&gt;
==Part One: Conditional Hooks==&lt;br /&gt;
===Introduction===&lt;br /&gt;
Unlike the old scripting system, the new cool thing in Ade is support for conditional hooks. These mean a little more work for coders just starting out, but they help to improve the efficiency and flexibility of Lua.&lt;br /&gt;
&lt;br /&gt;
===Table sytax===&lt;br /&gt;
See [[Scripting.tbl#Format_3]]&lt;br /&gt;
&lt;br /&gt;
===Defining conditions===&lt;br /&gt;
# Open up parse/scripting.cpp and parse/scripting.h in your favorite text editor. Find the &amp;quot;CHC_*&amp;quot; defines in parse/scripting.h&lt;br /&gt;
# Add your define to the end of the list; make sure to use the last #define&#039;s number + 1.&lt;br /&gt;
# Add your condition to the Script_conditions[] array in parse/scripting.cpp. The string will be used for the variable name in the table (The &amp;quot;$&amp;quot; is added automatically).&lt;br /&gt;
# Scroll down to the ConditionedHook::ConditionsValid() function. In that function:&lt;br /&gt;
## Add a case for you #define. Put it in the same relative position as you put it in the Script_conditions[] array. (This is not necessary, but it keeps things organized)&lt;br /&gt;
## The value that the modder specifies after your condition is provided by scp-&amp;gt;data.name. (For example, if the modder says &amp;quot;$Version: 3.6.9&amp;quot;, then scp-&amp;gt;data.name will contain &amp;quot;3.6.9&amp;quot;). If your condition has something to do with a related object, then use the &amp;quot;objp&amp;quot; variable.&lt;br /&gt;
## Use the value provided by scp-&amp;gt;data.name to check your condition&lt;br /&gt;
## Return false if the condition is not met. &#039;&#039;&#039;&#039;&#039;Do not return true&#039;&#039;&#039;&#039;&#039;. This is unnecessary, and will cause any conditions after yours to be ignored. But don&#039;t forget to &amp;quot;break&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
That&#039;s it. _All_ actions will now be able to use your condition to check whether they ought to execute or not.&lt;br /&gt;
&lt;br /&gt;
===Defining actions===&lt;br /&gt;
# Open up parse/scripting.cpp and parse/scripting.h in your favorite text editor. Find the &amp;quot;CHA_*&amp;quot; defines in parse/scripting.h&lt;br /&gt;
# Add your define to the end of the list; make sure to use the last #define&#039;s number + 1.&lt;br /&gt;
# Add your condition to the Script_actions[] array in parse/scripting.cpp. The string will be used for the action name in the table (The &amp;quot;$&amp;quot; is added automatically).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Now you&#039;re done...with parse/scripting.*, anyway.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Go to the place in the code you want the action to be triggered.&lt;br /&gt;
# Call IsConditionOverride(action #define) to determine if the modder wants to override the retail Freespace 2 action. By convention, conditional hooks also override any other types of hooks, and IsConditionOverride should come &#039;&#039;&#039;before&#039;&#039;&#039; everything else.&lt;br /&gt;
## If this action involves an object (Like rendering a ship), pass the pointer to the object using the second argument to IsConditionOverride(). This will be used to check any conditions specified.&lt;br /&gt;
# Call Script_system.RunCondition(action #define) to actually run the method. By convention, this should be called after the retail Freespace 2 action or other types of hooks, so the modder can change anything he doesn&#039;t like.&lt;br /&gt;
## If you want the modder to be able to return a value, define a type using the format character (2nd argument) and a destination buffer with the data variable (3rd argument). If you want to pass an object, but don&#039;t want to involve a return value, set these fields to &#039;\0&#039; and NULL, respectively.&lt;br /&gt;
## If this action involves an object (Like rendering a ship), don&#039;t forget to pass the pointer to the objp argument (4th argument).&lt;br /&gt;
## A typical call might look like this:&lt;br /&gt;
# Use Script_system.SetHookObject() or Script_system.SetHookVar() to define hook variables (Hook variables are contained within the &amp;quot;hv&amp;quot; library).&lt;br /&gt;
# Don&#039;t forget to use Script_system.RemHookVars() when you&#039;re done.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p&amp;gt;Congratulations! Now anyone will be able to use your hook.&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Example:====&lt;br /&gt;
 Script_system.SetHookObject(2, &amp;quot;Self&amp;quot;, warping_object, &amp;quot;SomeOtherObject&amp;quot;, some_other_object);&lt;br /&gt;
 if(!Script_System.IsConditionOverride(CHC_WARPIN, warping_object))&lt;br /&gt;
 {&lt;br /&gt;
    //Handle the warpin normally&lt;br /&gt;
 }&lt;br /&gt;
 Script_system.RunCondition(CHC_WARPIN, &#039;\0&#039;, NULL, warping_object)&lt;br /&gt;
 Script_system.RemHookVar(2, &amp;quot;Self&amp;quot;, &amp;quot;SomeOtherObject&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
In the table, you would use this hook like so:&lt;br /&gt;
 #Conditional Hooks&lt;br /&gt;
 $Shipclass: SJ Sathanas&lt;br /&gt;
 $On Warp In: [&lt;br /&gt;
    gr.setColor(255, 0, 0)&lt;br /&gt;
    gr.drawString(&amp;quot;Danger! Supernova imminent! Sathanas detected at &amp;quot; .. tostring(Self.Position), 200, 200)&lt;br /&gt;
 ]&lt;br /&gt;
 #End&lt;br /&gt;
&lt;br /&gt;
=Old System (3.6.9)=&lt;br /&gt;
==Part One: Basic API and Scripting Hooks ==&lt;br /&gt;
===Things To Know===&lt;br /&gt;
;Script_system:This object abstracts a scripting session. It is generally used to allow for easy construction/destruction of whatever is necessary to initialize scripting system objects, and make sure that the right language session data is passed. Its constructor takes one argument, the name of the scripting session (for easy debugging)&lt;br /&gt;
;Script_system.CreateLuaSession(libraries):Initializes a Lua session. Until this is called, you will not be able to use Lua at all and fs2_open should ignore code chunks that use it.&lt;br /&gt;
;Script_system.ParseChunk(debugname):Parses a &#039;code chunk&#039;. These are snippets of code encapsulated by symbols such as square brackets or parentheses. It stores a handle to the parsed script in memory (Probably bytecode).&lt;br /&gt;
:script_system.RunBytecode(handle):Actually executes a code chunk that has been parsed with ParseChunk&lt;br /&gt;
====Example====&lt;br /&gt;
This snippet of code (using FS2_Open functions) will parse a file that has scripting after each &amp;quot;$Global:&amp;quot; variable identifier. After all the scripting has been parsed, it will evaluate every hook, once.&lt;br /&gt;
 //Create script system object&lt;br /&gt;
 script_system Script_system;&lt;br /&gt;
 &lt;br /&gt;
 //Create array that holds a series of scripting hooks&lt;br /&gt;
 std::vector&amp;lt;script_hook&amp;gt; Script_globalhooks;&lt;br /&gt;
 &lt;br /&gt;
 //Initialize Lua&lt;br /&gt;
 Script_system.CreateLuaState(Lua_libraries);&lt;br /&gt;
 &lt;br /&gt;
 //Parse file&lt;br /&gt;
 read_file_text(&amp;quot;scripting.tbl&amp;quot;);&lt;br /&gt;
 reset_parse();&lt;br /&gt;
 while(optional_string(&amp;quot;$Global:&amp;quot;))&lt;br /&gt;
 {&lt;br /&gt;
 	Script_globalhooks.push_back(st-&amp;gt;ParseChunk());&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 //Execute hooks&lt;br /&gt;
 for(uint i = 0; i &amp;lt; Script_globalhooks.size(); i++)&lt;br /&gt;
 {&lt;br /&gt;
 	Script_system.RunBytecode(Script_globalhooks[i]);&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
==Part Two: The Higher-Level Lua Library==&lt;br /&gt;
The Lua library is probably what you&#039;ll want to be the most familiar with, as it&#039;s where you&#039;ll edit to add functions, classes, libraries, and variables.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Limitations===&lt;br /&gt;
* Lbraries can only contain functions, and not variables or arrays.&lt;br /&gt;
* All &amp;quot;arrays&amp;quot; must be an object with an indexer (see LUA_INDEXER define).&amp;lt;br&amp;gt;I was not able to get this working originally, but I&#039;ve got another idea on how to try this so if you really feel an array class would be best in a given situation, tell me.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===General conventions===&lt;br /&gt;
For the internal Lua API:&lt;br /&gt;
* All internal lua functions are prefixed with lua_&lt;br /&gt;
* All Lua library and object variables are prefixed with l_, so &amp;quot;l_Graphics&amp;quot;.&lt;br /&gt;
* When failure occurs due to a bad type being passed, or a subsystem not being ready, LUA_RETURN_NIL is usually used.&lt;br /&gt;
* When failure lies with the content of data, rather than the circumstances or type, LUA_RETURN_FALSE is generally used where appropriate.&lt;br /&gt;
&lt;br /&gt;
For Scripting:&lt;br /&gt;
* All variable names have the form of &amp;quot;EverySomethingIsCapitalized&amp;quot;&lt;br /&gt;
* All function names have the form of &amp;quot;doSomethingFast()&amp;quot;&lt;br /&gt;
* All object names have the form of &amp;quot;somethingneat&amp;quot;&lt;br /&gt;
* All library names are one capitalized word. For more than one word, the same syntax as variables(?)&lt;br /&gt;
* All library shortnames are two noncapitalized letters relating to the name. &amp;quot;Sound&amp;quot; -&amp;gt; &amp;quot;sd&amp;quot;&lt;br /&gt;
* So far, I&#039;ve used three-letter noncapitalized variables for globals. But I may decide to switch to the normal variable convention soon, as it&#039;s MUCH clearer about what the variable is.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Things To Know===&lt;br /&gt;
;lua_lib:Defines a Lua library.&lt;br /&gt;
;lua_obj:Defines a Lua object type (userdata).&lt;br /&gt;
;LUA_FUNC:Defines a Lua member function. Used with both lua_lib and lua_obj.&lt;br /&gt;
;LUA_VAR:Defines a Lua member variable. Only used with lua_obj.&lt;br /&gt;
;LUA_INDEXER:Defines Lua activity when brackets are used. Only used with lua_obj.&lt;br /&gt;
&lt;br /&gt;
Once you invoke any of the above, it&#039;s not necessary to do anything else for it to be present in Lua.&lt;br /&gt;
&lt;br /&gt;
===lua_lib===&lt;br /&gt;
 lua_lib l_Base(&amp;quot;Base&amp;quot;, &amp;quot;ba&amp;quot;, &amp;quot;Base Freespace 2 functions&amp;quot;);&lt;br /&gt;
Defines a Lua library, which can contain member functions (But not any kind of variables).&lt;br /&gt;
&lt;br /&gt;
Probably the simplest and most obvious to work with. The first field is the library name; the second is the shorthand version. The last is merely the description, which is only used for -ouput_scripting&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===lua_obj===&lt;br /&gt;
 lua_obj&amp;lt;object_h&amp;gt; l_Ship(&amp;quot;ship&amp;quot;, &amp;quot;Ship object&amp;quot;, &amp;amp;l_Object);&lt;br /&gt;
Defines a lua object, via a C++ template. The &amp;lt;&amp;gt; defines what type of C data the object will hold. In general, it&#039;s better to pass a handle to Freespace data (such as the ship_info struct) than to try and copy the entire thing. For &#039;static&#039; data - such as image handles or species indices - a simple &amp;lt;int&amp;gt; with the index of the item will suffice. For perishable data, you may want to store a unique identifier - say, an object&#039;s signature. In the above example, I use a helper struct that holds both a pointer to the object, and the object&#039;s signature. That way, all I need to do is check that the object at the pointer has the same signature to make sure that the handle is still valid.&lt;br /&gt;
&lt;br /&gt;
The next two parameters are fairly obvious - the name of the object (becomes the metatable name), and the description in output_scripting.&lt;br /&gt;
&lt;br /&gt;
The last parameter warrants some explanation - it is the parent of the object. Multiple levels of derived objects aren&#039;t supported, and a derived object must have the same type as its parent object, since all of the parent object&#039;s functions will generally only support the parent object&#039;s data type, and it&#039;s just needlessly complicating.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===LUA_FUNC===&lt;br /&gt;
 LUA_FUNC(newVector, l_Math, &amp;quot;[x, y, z]&amp;quot;, &amp;quot;Vector object&amp;quot;, &amp;quot;Creates a vector object&amp;quot;)&lt;br /&gt;
One of the two most used of the Big 5. The same tactics used for a LUA_FUNC are virtually the same for LUA_VAR and LUA_INDEXER.&lt;br /&gt;
&lt;br /&gt;
There are two components to LUA_FUNC. The first is the arguments (above); the second is the actual body.&lt;br /&gt;
&lt;br /&gt;
The arguments are, the function name (As it will appear in Lua). This is also used internally for the C compiler, so it is not actually a string. The second argument is the library or object that the function is a part of. So, the above example is the &amp;quot;newVector&amp;quot; function of the &amp;quot;Math&amp;quot; library, and would be accessed by calling &amp;quot;Math.newVector()&amp;quot;&lt;br /&gt;
&lt;br /&gt;
The third, fourth, and fifth arguments are all purely descriptive, but you should always fill them in if applicable to ensure good documentation. The first is the arguments that the function will take; they may be in any form you please, but I have generally used the &amp;quot;required, required, [optional, optional]&amp;quot; form. As you can see, in the example all arguments are optional.&lt;br /&gt;
The second argument is the return value. If the function returns different types, you should note it here.&lt;br /&gt;
The last argument is the basic description. Because it can be pretty long, I&#039;ve sometimes split it up across multiple lines.&lt;br /&gt;
&lt;br /&gt;
Now, for the body of the define:&lt;br /&gt;
 {&lt;br /&gt;
 	vec3d v3 = vmd_zero_vector;&lt;br /&gt;
 	lua_get_args(L, &amp;quot;|fff&amp;quot;, &amp;amp;v3.xyz.x, &amp;amp;v3.xyz.y, &amp;amp;v3.xyz.z);&lt;br /&gt;
 	return lua_set_args(L, &amp;quot;o&amp;quot;, l_Vector.Set(v3));&lt;br /&gt;
 }&lt;br /&gt;
&#039;&#039;&#039;Defining function variables&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In the first line, we create the C vector object that we&#039;re going to return, and initialize it to 0 (since all arguments are optional).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Parsing arguments passed to your function in Lua&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
In the second line, lua_get_args is used to parse the arguments from Lua. This function is big and messy and takes care of all the warnings and errors that may be caused by invalid types and such. The first argument, L, is just the lua state data that must be passed along; ignore it but don&#039;t forget it. The second argument is a list of characters that specify the variable types. These characters represent the following C types:&lt;br /&gt;
*b - Boolean&lt;br /&gt;
*d - Double&lt;br /&gt;
*f - Float&lt;br /&gt;
*i - Int&lt;br /&gt;
*s - String&lt;br /&gt;
*x - Fix&lt;br /&gt;
*o - lua_obj (See later)&lt;br /&gt;
Finally,&lt;br /&gt;
*| - Denotes all variables after this as being optional.&lt;br /&gt;
&lt;br /&gt;
All arguments after the formatting string should be pointers to the variables you want lua_get_args to set. Be careful; compilers will not catch if you use the a boolean where you have specified a double, for example. Optional variables will only be changed if a value is specified.&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; If a wrong type is passed to an optional variable of your function, that variable will be skipped, although variables after it may be changed.&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; You do pass pointers to (char *), so you end up passing a char **. Lua will take care of all memory concerns; don&#039;t try to deallocate the pointer yourself.&lt;br /&gt;
&lt;br /&gt;
When using the &#039;o&#039; parameter, you can get objects in one of two ways:&lt;br /&gt;
 vec3d v3;&lt;br /&gt;
 vec3d *v3p;&lt;br /&gt;
 lua_get_args(L, &amp;quot;oo&amp;quot;, l_Vector.GetPtr(&amp;amp;v3p), l_Vector.Get(&amp;amp;v3));&lt;br /&gt;
&amp;quot;v3p&amp;quot; would be a pointer to the first object&#039;s data, while &amp;quot;v3&amp;quot; would merely hold a copy of the data in the second object. Because it&#039;s not necessary to allocate or copy as much memory, getting pointers may be faster; but at the same time, you should be careful not to change the data in the pointer unless you really want to, as it will change the actual object&#039;s data. &#039;&#039;&#039;&#039;&#039;When you define a member function, the object will be passed as the first argument&#039;&#039;&#039;&#039;&#039;. As a result, this lua_get_args call would be suitable for, say, a function that copies the data passed in the argument to the calling object - &amp;quot;vectora:copyData(vectorb)&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
lua_get_args will return the number of arguments parsed, or 0 if the required variables requirement was not met. So when working with required variables (or an object), you should generally use the form:&lt;br /&gt;
 if(!lua_get_args(...))&lt;br /&gt;
 	return LUA_RETURN_NIL;&lt;br /&gt;
The exception being when you want to actually know the number of arguments, in which case you should handle 0 appropriately. (More on LUA_RETURN_NIL later)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Return values&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Return values are set via the lua_set_args function, which works pretty much exactly the same as lua_get_args, except in reverse. The differences:&lt;br /&gt;
*Actual variables, rather than pointers, are passed.&lt;br /&gt;
*Objects use their .Set() function (and there is no SetPtr() function).&lt;br /&gt;
*No | character&lt;br /&gt;
&lt;br /&gt;
Always use &amp;quot;return lua_set_args&amp;quot;, or one of the following:&lt;br /&gt;
*LUA_RETURN_NIL - Function returns nothing.&lt;br /&gt;
*LUA_RETURN_FALSE - Function returns false.&lt;br /&gt;
*LUA_RETURN_TRUE - Function returns true.&lt;br /&gt;
&lt;br /&gt;
Yes, you can have multiple return values. The syntax in Lua is:&lt;br /&gt;
 a, b = Library.theFunction() --In Lua&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Operators&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Definitely an advanced topic, which I will write when someone has need for it. These are slightly crazy as you can reverse objects and I don&#039;t fully understand what happens when you try to use an operator on two different objects that have different actions defined for that one operator.&lt;br /&gt;
&lt;br /&gt;
Look at the vector class for what I&#039;ve done with operators; if you got the LUA_FUNC section, you should be able to understand it. Note that the lua_isnumber() functions take the almighty L, and the argument index to check (Starting from 1).&lt;br /&gt;
&lt;br /&gt;
Look up the lua_Operators[] array for the full list of operators, as well as a bit of descriptive text.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===LUA_VAR===&lt;br /&gt;
 LUA_VAR(Name, l_Species, &amp;quot;String&amp;quot;, &amp;quot;Species name&amp;quot;)&lt;br /&gt;
Arguments are variable name, object that this variable will be a member of, the type that this variable is, and a brief description of what the variable is.&lt;br /&gt;
&lt;br /&gt;
Variables defined by fs2_open are functions. This is generally the easiest and fastest way to go about doing things, since Lua is only a part of the much-larger fs2_open base, which cannot be going through the API to get at variables - not without causing massive code rewrites and slowdowns.&lt;br /&gt;
&lt;br /&gt;
So, if you want an object to have actual data, you&#039;ll have to rely on the internal C dataset to do this. See the vector class for a good example.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Actually doing stuff with LUA_VAR&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The two big differences with LUA_VAR are the LUA_SETTING_VAR macro, and how lua_get_args is used. Much like with functions, the first argument of lua_get_args will be the object that the variable is a member of. The second argument is optional, and is the value that the variable may be set to.&lt;br /&gt;
&lt;br /&gt;
Here&#039;s the body for the above example, minus some safeguarding to make it easier to read:&lt;br /&gt;
 	char *s = NULL;&lt;br /&gt;
 	int idx;&lt;br /&gt;
 	if(!lua_get_args(L, &amp;quot;o|s&amp;quot;, l_Species.Get(&amp;amp;idx), &amp;amp;s))&lt;br /&gt;
 		return LUA_RETURN_NIL;&lt;br /&gt;
 &lt;br /&gt;
 	if(LUA_SETTING_VAR &amp;amp;&amp;amp; s != NULL) {&lt;br /&gt;
 		strncpy(Species_info[idx].species_name, s, sizeof(Species_info[idx].species_name)-1);&lt;br /&gt;
 	}&lt;br /&gt;
 &lt;br /&gt;
 	return lua_set_args(L, &amp;quot;s&amp;quot;, Species_info[idx].species_name);&lt;br /&gt;
&lt;br /&gt;
You should consider LUA_SETTING_VAR to be the safest way of determining whether or not a variable is actually being set, because it uses Lua&#039;s own internal guidelines to determine this. &lt;br /&gt;
&lt;br /&gt;
It is good practice to return the value of the variable after changing it, so the scripter can check the value afterwards.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===LUA_INDEXER===&lt;br /&gt;
 LUA_INDEXER(l_ShipTextures, &amp;quot;Texture name or index&amp;quot;, &amp;quot;Texture&amp;quot;, &amp;quot;Ship textures&amp;quot;)&lt;br /&gt;
First argument is the object, second is what can be placed in the brackets ([]), third is the type returned, and fourth is a description of what the array is.&lt;br /&gt;
&lt;br /&gt;
The first argument passed to the indexer will be the parent object; the second, the index (This can be whatever you like - a number, a string, even an image handle, just as long as lua_get_args can handle it). The third, the value that the scripter wants the current index to be set to.&lt;br /&gt;
&lt;br /&gt;
In all other respects, it is exactly like LUA_VAR; use LUA_SETTING_VAR to determine whether you are in setting mode or not.&lt;/div&gt;</summary>
		<author><name>WMCoolmon</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=File:Adeagram.gif&amp;diff=9161</id>
		<title>File:Adeagram.gif</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=File:Adeagram.gif&amp;diff=9161"/>
		<updated>2007-03-19T01:59:57Z</updated>

		<summary type="html">&lt;p&gt;WMCoolmon: &amp;quot;Adeagram&amp;quot; showing variable access and storage for the FS2_Open ADE scripting system.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;quot;Adeagram&amp;quot; showing variable access and storage for the FS2_Open ADE scripting system.&lt;/div&gt;</summary>
		<author><name>WMCoolmon</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Modular_Tables&amp;diff=9160</id>
		<title>Modular Tables</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Modular_Tables&amp;diff=9160"/>
		<updated>2007-03-18T09:24:41Z</updated>

		<summary type="html">&lt;p&gt;WMCoolmon: speeling&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Modular tables are SCP addition to the standard FreeSpace table system. XMTs (or eXtentable Modular Tables) offer capability to add new entries or alter already existing tables without any need of editing the &#039;parent&#039; table file.&lt;br /&gt;
&lt;br /&gt;
==Extendable Tables==&lt;br /&gt;
*[[ai_profiles.tbl]] can be extended with &#039;&#039;&#039;xxx-aip.tbm&#039;&#039;&#039; (XMT)&lt;br /&gt;
*[[armor.tbl]] can be extended with &#039;&#039;&#039;xxx-amr.tbm&#039;&#039;&#039; (non-XMT)&lt;br /&gt;
*[[hud_gauges.tbl]] can be extended with &#039;&#039;&#039;xxx-hdg.tbm&#039;&#039;&#039; (non-XMT)&lt;br /&gt;
*[[mflash.tbl]] can be extended with &#039;&#039;&#039;xxx-mfl.tbm&#039;&#039;&#039; (non-XMT)&lt;br /&gt;
*[[music.tbl]] can be extended with &#039;&#039;&#039;xxx-mus.tbm&#039;&#039;&#039; (non-XMT)&lt;br /&gt;
*[[objecttypes.tbl]] can be extended with &#039;&#039;&#039;xxx-obt.tbm&#039;&#039;&#039; (XMT)&lt;br /&gt;
*[[scripting.tbl]] can be extended with &#039;&#039;&#039;xxx-sct.tbm&#039;&#039;&#039;&lt;br /&gt;
*[[ships.tbl]] can be extended with &#039;&#039;&#039;xxx-shp.tbm&#039;&#039;&#039; (XMT)&lt;br /&gt;
*[[species_defs.tbl]] can be extended with &#039;&#039;&#039;xxx-sdf.tbm&#039;&#039;&#039; (XMT)&lt;br /&gt;
*[[stars.tbl]] can be extended with &#039;&#039;&#039;xxx-str.tbm&#039;&#039;&#039; (non-XMT)&lt;br /&gt;
*[[weapons.tbl]] can be extended with &#039;&#039;&#039;xxx-wep.tbm&#039;&#039;&#039; (XMT)&lt;br /&gt;
*[[weapon_expl.tbl]] can be extended with &#039;&#039;&#039;xxx-wxp.tbm&#039;&#039;&#039; (non-XMT)&lt;br /&gt;
&lt;br /&gt;
==Other Related Tables==&lt;br /&gt;
*[[fireball.tbl]] can be &#039;&#039;&#039;&#039;&#039;edited&#039;&#039;&#039;&#039;&#039; with &#039;&#039;&#039;xxx-fbl.tbm&#039;&#039;&#039; file ([[fireball.tbl#Modular Fireball Table|special]])&lt;br /&gt;
&lt;br /&gt;
==Important Notes==&lt;br /&gt;
*Modular table files should use the &#039;parent table&#039; files sections.&lt;br /&gt;
*Completely new entries and also complete rewrites of entries in parent table file are always possible.&lt;br /&gt;
*For &#039;&#039;&#039;xxx-shp.tbm&#039;&#039;&#039; and &#039;&#039;&#039;xxx-wep.tbm&#039;&#039;&#039;&lt;br /&gt;
**Table entries in modular tables do not have to be complete. Partial entries can be used to alter the data found in parent table files when only some changes to the original are desired to be made.&lt;br /&gt;
**Adding &#039;&#039;&#039;+nocreate&#039;&#039;&#039; right after the entry&#039;s name prevents possible creation of partially undefined entry. For example if the parent table file lacked the entry that was included to the as a partial entry to the modular table file then the creation of partially undefined entry is possible which could cause problems with the game.&lt;br /&gt;
***Example:&lt;br /&gt;
&lt;br /&gt;
   $Name:              @Subach HL-7&lt;br /&gt;
      +nocreate&lt;br /&gt;
&lt;br /&gt;
==Sample - Alpha-wep.tbm==&lt;br /&gt;
*Changes the speed of the &#039;&#039;Subach HL-7&#039;&#039; and also adds a faint grey trail to it.&lt;br /&gt;
*To create it make a text file using a text editor and save the file as &#039;&#039;&#039;&#039;&#039;Alpha-wep.tbm&#039;&#039;&#039;&#039;&#039; with the following contents to the proper folder (.../data/tables).&lt;br /&gt;
&lt;br /&gt;
   #Primary Weapons&lt;br /&gt;
   $Name:              @Subach HL-7&lt;br /&gt;
      +nocreate&lt;br /&gt;
   $Velocity:         650.0	&lt;br /&gt;
   $Trail:&lt;br /&gt;
      +Start Width:      0.4&lt;br /&gt;
      +End Width:        0.0&lt;br /&gt;
      +Start Alpha:      0.35&lt;br /&gt;
      +End Alpha:        0.0&lt;br /&gt;
      +Max Life:         0.2&lt;br /&gt;
      +Bitmap:           Contrail&lt;br /&gt;
   #End&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Tables]]&lt;/div&gt;</summary>
		<author><name>WMCoolmon</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Scripting.tbl&amp;diff=9022</id>
		<title>Scripting.tbl</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Scripting.tbl&amp;diff=9022"/>
		<updated>2007-02-19T07:53:41Z</updated>

		<summary type="html">&lt;p&gt;WMCoolmon: Added the content to the article.&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;
==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 pecifies 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;
&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;
&amp;lt;br&amp;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;
&amp;lt;br&amp;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&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 Frame: Executes immediately after the global scripting hook, which is right before the frame is drawn. Does not have an override. Like the global hook, you should generally avoid using this hook; however, it is appropriate for state hooks.&lt;br /&gt;
;On HUD Draw: Identical to the $HUD: hook.&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;
;On Weapon Collision: Like the ship collision hook, but for weapons.&lt;br /&gt;
;On Debris Collision: Like the ship collision hook, except for debris.&lt;br /&gt;
;On Asteroid Collision: Like the ship collision hook, only for asteroids.&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;
;On Warpin: 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;
;On Warpout: Same as warping in, except for warping out.&lt;br /&gt;
;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;
&amp;lt;br&amp;gt;&lt;br /&gt;
==Examples==&lt;br /&gt;
[[Script - Death Flash|Death Flash]]&amp;lt;br&amp;gt;&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 - Hud Pong|Hud Pong]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Script - Proximity Trigger|Proximity Trigger]]&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;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Tables]]&lt;br /&gt;
[[Category:Scripting Examples]]&lt;/div&gt;</summary>
		<author><name>WMCoolmon</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Source_Code_Project_index&amp;diff=8726</id>
		<title>Source Code Project index</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Source_Code_Project_index&amp;diff=8726"/>
		<updated>2007-01-28T06:28:52Z</updated>

		<summary type="html">&lt;p&gt;WMCoolmon: Added Linux install method&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Getting Started with the Source Code Project===&lt;br /&gt;
&lt;br /&gt;
#[[FSSCP Introduction]]&lt;br /&gt;
#[[Getting Freespace]]&lt;br /&gt;
#Installing FSSCP&lt;br /&gt;
#*[[FreeSpace Open Installer]]&lt;br /&gt;
#*[[Installing fs2_open|Installing FreeSpace Open without the Installer]]&lt;br /&gt;
#*[[Fs2_open_on_Linux]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
====Optional post-install====&lt;br /&gt;
[[Installing mods for fs2_open]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Troubleshooting]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Bug Reporting]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
====Errata====&lt;br /&gt;
[[FS2 Status Page]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[FS2 data installation]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Getting Started with Development===&lt;br /&gt;
[[Coding In C]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Linux CVS Howto]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Source Code Project]]&lt;/div&gt;</summary>
		<author><name>WMCoolmon</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Ships.tbl&amp;diff=8707</id>
		<title>Ships.tbl</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Ships.tbl&amp;diff=8707"/>
		<updated>2007-01-27T01:43:48Z</updated>

		<summary type="html">&lt;p&gt;WMCoolmon: /* $Thruster: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Table listed here is meant to be compatible with &#039;&#039;&#039;3.6.9 RC&#039;&#039;&#039; and in future also for &#039;&#039;&#039;3.6.9 release&#039;&#039;&#039; builds. For other builds see the links below.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&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;lt;br&amp;gt;&amp;lt;br&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;
**&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;
==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;
===$Name:===&lt;br /&gt;
*Defines the name of the engine wash. In [[Modular Tables]] this can be sometimes 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;
*Syntax: &#039;&#039;Name&#039;&#039;&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;Value&#039;, (degrees)&lt;br /&gt;
&lt;br /&gt;
===$Radius Mult:===&lt;br /&gt;
*Defines something???&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, (multiplier)&lt;br /&gt;
&lt;br /&gt;
===$Length:===&lt;br /&gt;
*Defines the lenght of the engine wash&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, (meters)&lt;br /&gt;
&lt;br /&gt;
===$Intensity:===&lt;br /&gt;
*Defines the strenght of the engine wash&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, (blast effect)&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;
==Table Options==&lt;br /&gt;
*Retail options will look like this&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
*SCP options are marked with red color&lt;br /&gt;
**Most of the entries in ships.tbl have been made optional. Only entries that have to be filled are $Name:, $POF file: and $Flags:.&lt;br /&gt;
&amp;lt;/font&amp;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. In [[Modular Tables]] this can be sometimes 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;
*Syntax: &#039;&#039;name&#039;&#039;,&lt;br /&gt;
**Example: &#039;&#039;Ulysses&#039;&#039;&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;name&#039;&#039;,&lt;br /&gt;
**Example: &#039;&#039;TFight&#039;&#039;&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. &amp;lt;font color=red&amp;gt;More species have been enabled, and all of these are defined in species_defs.tbl.&amp;lt;/font&amp;gt;&lt;br /&gt;
*Syntax: &#039;&#039;Terran&#039;&#039;, &#039;&#039;Shivan&#039;&#039; or &#039;&#039;Vasudan&#039;&#039;&lt;br /&gt;
*&amp;lt;font color=red&amp;gt;Syntax: &#039;&#039;Name&#039;&#039;, as defined in species_defs.tbl&amp;lt;/font&amp;gt;&lt;br /&gt;
**Example: &#039;&#039;Terran&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Technical description===&lt;br /&gt;
List of discriptive terms for techroom and ship selection screens.&lt;br /&gt;
Number after the quotes refers to tstrings.tbl (does this have any function?)&lt;br /&gt;
&lt;br /&gt;
   +Type:                     XSTR(&amp;quot;&amp;quot;, -1)&lt;br /&gt;
   +Maneuverability:          XSTR(&amp;quot;&amp;quot;, -1)&lt;br /&gt;
   +Armor:                    XSTR(&amp;quot;&amp;quot;, -1)&lt;br /&gt;
   +Manufacturer:             XSTR(&amp;quot;&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;&amp;quot;, -1)&lt;br /&gt;
   $end_multi_text&lt;br /&gt;
   +Length:                   20 m&lt;br /&gt;
   +Gun Mounts:               4&lt;br /&gt;
   +Missile Banks:            1&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;Filename.pof&#039;&#039;&lt;br /&gt;
**Example: &#039;&#039;fighter01.pof&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$POF target file:===&lt;br /&gt;
*Syntax: &#039;&#039;Filename.pof&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
===$POF target LOD:===&lt;br /&gt;
*Defines the LOD (Level-Of-Detail) of target model used in the HUD targetbox&lt;br /&gt;
*Added to the code 13. Dec 2005&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===$Detail distance:===&lt;br /&gt;
*Definies the distance where the change between different Levels-Of-Details (LODs) occurs&lt;br /&gt;
*Syntax: &#039;&#039;(Value, Value, ...)&#039;&#039; (distances from the model in meters)&lt;br /&gt;
**Example: &#039;&#039;(0, 80, 300, 900)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$ND:===&lt;br /&gt;
*No Dim field field was used in FS1 for ship lights. Nowadays we use glowmaps.&lt;br /&gt;
*Syntax: &#039;&#039;Value, Value, Value&#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;
===$Show damage:===&lt;br /&gt;
*No known function. Best left alone to avoid possible compatibility issues.&lt;br /&gt;
*Syntax: &#039;&#039;YES&#039;&#039; or &#039;&#039;NO&#039;&#039;, usually YES&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
===$Impact Spew:===&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;Value&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Damage Spew:===&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;Value&#039;&#039;&lt;br /&gt;
&amp;lt;/font&amp;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 collission 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;Value&#039;&#039;, usually 1&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;Value&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Rotdamp:===&lt;br /&gt;
*Same thing, but for rotational movement.&lt;br /&gt;
*Syntax: &#039;&#039;Value&#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;Value, Value, Value&#039;&#039;, (meters per second) x-axis, y-axis, z-axis&lt;br /&gt;
**Example: &#039;&#039;0.0, 0.0, 80.0&#039;&#039;&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;Value, Value, Value&#039;&#039;, (seconds per 360 degree turn) x-axis, y-axis, z-axis&lt;br /&gt;
**Example: &#039;&#039;3.0, 2.6, 5.0&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Rear Velocity:===&lt;br /&gt;
*Defines rear velocity&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, (meters per second) usually zero&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;Value&#039;&#039;, (seconds)&lt;br /&gt;
&lt;br /&gt;
===$Forward decel:===&lt;br /&gt;
*Number of seconds needed from maxumum velocity to full stop&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, (seconds)&lt;br /&gt;
&lt;br /&gt;
===$Slide accel: and $Slide decel:===&lt;br /&gt;
*Same for sliding as the $Forward accel: and $Forward decel: for normal movement.&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, (seconds) for both&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
===$Glide:===&lt;br /&gt;
*Allows gliding in game, i.e. turning the ship&#039;s facing without changing it&#039;s direction.&lt;br /&gt;
*Syntax: &#039;&#039;YES&#039;&#039; or &#039;&#039;NO&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Warpin type:===&lt;br /&gt;
*Allow an animation to be defined as a warpin effect.&lt;br /&gt;
*Syntax: &#039;&#039;Animation&#039;&#039; or &#039;&#039;default&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Warpin speed:===&lt;br /&gt;
*Sets the speed at which the ship warps in for default warpin effect&lt;br /&gt;
*Sets the time that the ships warp in (not the animation itself) takes for animation type warpin effects&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, (meters per second or miiliseconds)&lt;br /&gt;
&lt;br /&gt;
===$Warpin time:===&lt;br /&gt;
*Defines the effect duration&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039; (milliseconds)&lt;br /&gt;
&lt;br /&gt;
===$Warpin radius:===&lt;br /&gt;
*Defines the effect radius&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039; (meters)&lt;br /&gt;
&lt;br /&gt;
===$Warpin animation:===&lt;br /&gt;
*Defines the animation used as the warpin effect.&lt;br /&gt;
*Syntax: &#039;&#039;Filename&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Warpout type:===&lt;br /&gt;
*Allow an animation to be defined as a warpout effect.&lt;br /&gt;
*Syntax: &#039;&#039;Animation&#039;&#039; or &#039;&#039;default&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Warpout speed:===&lt;br /&gt;
*Sets the speed at which the ship warps out for default warpout effect&lt;br /&gt;
*Sets the time that the ships warp out (not the animation itself) takes for animation type warpout effects&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, (meters per second or miiliseconds)&lt;br /&gt;
&lt;br /&gt;
===$Warpout time:===&lt;br /&gt;
*Defines the effect duration&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039; (milliseconds)&lt;br /&gt;
&lt;br /&gt;
===$Warpout radius:===&lt;br /&gt;
*Defines the effect radius&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039; (meters)&lt;br /&gt;
&lt;br /&gt;
===$Warpout animation:===&lt;br /&gt;
*Defines the animation used as the warpout effect.&lt;br /&gt;
*Syntax: &#039;&#039;Filename&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Player warpout speed:===&lt;br /&gt;
*Sets the speed at which the player warps out from the game&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, can not be greater than $Max Oclk Speed:&lt;br /&gt;
&amp;lt;/font&amp;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;Value&#039;&#039;, (meters)&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;Value&#039;&#039;, (meters)&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;Value&#039;&#039;, (damage value)&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;Value&#039;&#039;, (blast effect)&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;YES&#039;&#039; or &#039;&#039;NO&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
===$Shockwave Damage Type:===&lt;br /&gt;
*REQUIRES ADDITIONAL TABLE. Defines the damage type used for the ship explosions&lt;br /&gt;
*Syntax: &#039;&#039;Name&#039;&#039;, as defined in armor.tbl&lt;br /&gt;
&amp;lt;/font&amp;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;Value&#039;&#039;, (meters per second)&lt;br /&gt;
&lt;br /&gt;
===$Shockwave count:===&lt;br /&gt;
*Defines the number of shockwaves to spawned&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
===$Shockwave model:===&lt;br /&gt;
*Defines the textured model used as the ship&#039;s shockwave&lt;br /&gt;
*Implemented before FS_Open 3.6.5&lt;br /&gt;
*Syntax: &#039;&#039;name.pof&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Shockwave name:===&lt;br /&gt;
*Defines the name of the animation to used for the shockwave&lt;br /&gt;
*Syntax: &#039;&#039;Name&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Weapon Model Draw Distance:===&lt;br /&gt;
*Distance that external weapons are shown, ie missiles and such.&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, (meters)&lt;br /&gt;
**Default: &#039;&#039;200&#039;&#039;&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Primary Weapons===&lt;br /&gt;
&lt;br /&gt;
====$Allowed PBanks:====&lt;br /&gt;
*List of allowed primary weapons in brackets (weapon name marked with quotes). &amp;lt;font color=red&amp;gt;Each of the primary weapon banks can be given their own list of allowed weapons, in which case each bank has it&#039;s own bracketed entry. Implemented before FS_Open 3.6.5&amp;lt;/font&amp;gt;&lt;br /&gt;
*Syntax: &#039;&#039;( &amp;quot;Name&amp;quot; &amp;quot;Name&amp;quot; )&#039;&#039;&lt;br /&gt;
*&amp;lt;font color=red&amp;gt;Syntax: &#039;&#039;( &amp;quot;Name&amp;quot; &amp;quot;Name&amp;quot; ) ( &amp;quot;Name&amp;quot; &amp;quot;Name&amp;quot; )&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
**Example: &#039;&#039;( &amp;quot;Subach HL-7&amp;quot; &amp;quot;Prometheus R&amp;quot;)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====$Allowed Dogfight PBanks:====&lt;br /&gt;
*Primary weapons for multiplayer dogfights. &amp;lt;font color=red&amp;gt;Each of the primary weapon banks can be given their own list of allowed weapons, in which case each bank has it&#039;s own bracketed entry. &amp;lt;/font&amp;gt;&lt;br /&gt;
*Syntax: &#039;&#039;( &amp;quot;Name&amp;quot; &amp;quot;Name&amp;quot; )&#039;&#039;&lt;br /&gt;
*&amp;lt;font color=red&amp;gt;Syntax: &#039;&#039;( &amp;quot;Name&amp;quot; &amp;quot;Name&amp;quot; ) ( &amp;quot;Name&amp;quot; &amp;quot;Name&amp;quot; )&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
**Example: &#039;&#039;( &amp;quot;Subach HL-D&amp;quot; &amp;quot;Prometheus D&amp;quot;)&#039;&#039;&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;( &amp;quot;Name&amp;quot; &amp;quot;Name&amp;quot; )&#039;&#039;&lt;br /&gt;
**Example: &#039;&#039;( &amp;quot;Subach HL-7&amp;quot; &amp;quot;Prometheus R&amp;quot;)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
====$PBank Capacity:====&lt;br /&gt;
*Defines ammunition capacity of primary weapon banks. In brackets, different weapon banks separated by commas. REQUIRES FLAG &amp;quot;ballistic primaries&amp;quot;&lt;br /&gt;
*Implemented before FS_Open 3.6.5&lt;br /&gt;
*Syntax: &#039;&#039;( Value, Value )&#039;&#039;, usually all primary bank capacities are 1.&lt;br /&gt;
**Example: &#039;&#039;( 1, 1 )&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====$Show Primary Models:====&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;( YES&#039;&#039; or &#039;&#039;NO )&#039;&#039;&lt;br /&gt;
**Example: &#039;&#039;( YES YES )&#039;&#039;- Note the spaces on the insides of the brackets.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Secondary Weapons===&lt;br /&gt;
&lt;br /&gt;
====$Allowed SBanks:====&lt;br /&gt;
*Same for secondary weapons. &amp;lt;font color=red&amp;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. Implemented before FS_Open 3.6.5&amp;lt;/font&amp;gt;&lt;br /&gt;
*Syntax: &#039;&#039;( &amp;quot;Name&amp;quot; &amp;quot;Name&amp;quot; )&#039;&#039;&lt;br /&gt;
*&amp;lt;font color=red&amp;gt;Syntax: &#039;&#039;( &amp;quot;Name&amp;quot; &amp;quot;Name&amp;quot; ) ( &amp;quot;Name&amp;quot; &amp;quot;Name&amp;quot; )&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
**Example: &#039;&#039;( &amp;quot;Harpoon&amp;quot; &amp;quot;Hornet&amp;quot;)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====$Allowed Dogfight SBanks:====&lt;br /&gt;
*Same for secondary weapons. &amp;lt;font color=red&amp;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. &amp;lt;/font&amp;gt;&lt;br /&gt;
*Syntax: &#039;&#039;( &amp;quot;Name&amp;quot; &amp;quot;Name&amp;quot; )&#039;&#039;&lt;br /&gt;
*&amp;lt;font color=red&amp;gt;Syntax: &#039;&#039;( &amp;quot;Name&amp;quot; &amp;quot;Name&amp;quot; ) ( &amp;quot;Name&amp;quot; &amp;quot;Name&amp;quot; )&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
**Example: &#039;&#039;( &amp;quot;Harpoon D&amp;quot; &amp;quot;Hornet D&amp;quot;)&#039;&#039;&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;( &amp;quot;Name&amp;quot; &amp;quot;Name&amp;quot; )&#039;&#039;&lt;br /&gt;
**Example: &#039;&#039;( &amp;quot;Harpoon&amp;quot; &amp;quot;Hornet&amp;quot;)&#039;&#039;&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;( Value, Value )&#039;&#039;, (ammo capacity)&lt;br /&gt;
**Example: &#039;&#039;( 40, 40 )&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
====$Show Secondary Models:====&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;( YES&#039;&#039; or &#039;&#039;NO )&#039;&#039;&lt;br /&gt;
**Example: &#039;&#039;(YES YES)&#039;&#039;&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===$Shields:===&lt;br /&gt;
*Determines the shield strenght&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, (total hitpoints in all quadrants together)&lt;br /&gt;
&lt;br /&gt;
===$Shield Color:===&lt;br /&gt;
*RGB value for shield color&lt;br /&gt;
*Syntax: &amp;quot;Value, Value, Value&#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;
**Default: &#039;&#039;255, 255, 255&#039;&#039;&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;Value&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Max Oclk Speed:===&lt;br /&gt;
*Maximum velocity with all energy diverted to engines&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, (meters per second)&lt;br /&gt;
&lt;br /&gt;
===$Max Weapon Eng:===&lt;br /&gt;
*The maximum amount of energy you can store in your primary weapons bank.&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Hitpoints:===&lt;br /&gt;
*How much damage the ship can take&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, (hitpoints)&lt;br /&gt;
**Default: &#039;&#039;100&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
===$Hull Repair Rate:===&lt;br /&gt;
*Repair rates for hull at percent per second&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, % of hitpoints repaired per second&lt;br /&gt;
&lt;br /&gt;
===$Subsystem Repair Rate:===&lt;br /&gt;
*Repair rates for sybsystems percent per second&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, % of hitpoints repaired per second&lt;br /&gt;
**Default &#039;&#039;0.01&#039;&#039;, that is 1 % per second&lt;br /&gt;
&lt;br /&gt;
===$Armor Type===&lt;br /&gt;
*REQUIRES ADDITIONAL TABLE. Defines armor type used for the ship&lt;br /&gt;
*Syntax: &#039;&#039;Name&#039;&#039;, as defined in armor.tbl&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===$Flags:===&lt;br /&gt;
*See below&lt;br /&gt;
*Syntax: &#039;&#039;( &amp;quot;Flag&amp;quot; &amp;quot;Flag&amp;quot; )&#039;&#039;&lt;br /&gt;
**Example: ( &amp;quot;fighter&amp;quot; &amp;quot;in tech database&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
===$AI Class:===&lt;br /&gt;
*Default AI class&lt;br /&gt;
*Syntax: &#039;&#039;AI name&#039;&#039;, as defined in AI.tbl&lt;br /&gt;
&lt;br /&gt;
===$Afterburner:===&lt;br /&gt;
*Defines if the ships has afterburner&lt;br /&gt;
*Syntax: &#039;&#039;YES&#039;&#039; or &#039;&#039;NO&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Aburn Max Vel:&#039;&#039;&#039;&lt;br /&gt;
**In same format as in $Max Velocity:&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;, (meters per second)&lt;br /&gt;
*&#039;&#039;&#039;+Aburn For accel:&#039;&#039;&#039;&lt;br /&gt;
**Defined only as the forward acceleration. In same format as $Forward accel:&lt;br /&gt;
**Syntax: &#039;&#039;Value&#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;Value&#039;&#039; (fuel units)&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;Value&#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;Value&#039;&#039; (fuel units per second)&lt;br /&gt;
*&amp;lt;font color=red&amp;gt;&#039;&#039;&#039;$Trails:&#039;&#039;&#039;&lt;br /&gt;
**Implemented before FS_Open 3.6.5&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;Filename&#039;&#039;&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;Value&#039;&#039;, (in meters)&lt;br /&gt;
****Default: &#039;&#039;1.0&#039;&#039;&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;Value&#039;&#039;&lt;br /&gt;
****Default: &#039;&#039;1.0&#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;Value&#039;&#039;, (in seconds)&lt;br /&gt;
****Default: &#039;&#039;5.0&#039;&#039;&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
===$Countermeasure Type:===&lt;br /&gt;
*Defines the weapon model 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;Name&#039;&#039;, as defined in weapons.tbl&lt;br /&gt;
&amp;lt;/font&amp;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;Value&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Scan time:===&lt;br /&gt;
*Time it takes to scan the ship&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, (milliseconds)&lt;br /&gt;
**Default: &#039;&#039;2000&#039;&#039;&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;Name&#039;&#039;, where sound is the index or name of a sound in sounds.tbl&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;Value&#039;&#039;, &#039;&#039;Value&#039;&#039;, &#039;&#039;Value&#039;&#039;, (X, Y and Z values)&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;Value&#039;&#039;, (radians)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
===$Topdown offset:===&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;Value&#039;&#039;, (meters)&lt;br /&gt;
&amp;lt;/font&amp;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. &amp;lt;font color=red&amp;gt; Reference to the hud.tbl is no longer needed.&amp;lt;/font&amp;gt;&lt;br /&gt;
*Syntax: &#039;&#039;Filename&#039;&#039;&lt;br /&gt;
**Example: &#039;&#039;shield-f01&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Ship_icon:===&lt;br /&gt;
*The icon used in ship selection. &amp;lt;font color=red&amp;gt;Ship model is used by default to generate the image.&amp;lt;/font&amp;gt;&lt;br /&gt;
*Syntax: &#039;&#039;Filename&#039;&#039;&lt;br /&gt;
**Example: &#039;&#039;iconfighter01&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Ship_anim:===&lt;br /&gt;
*The glowing green grid animation used in ship selection. &amp;lt;font color=red&amp;gt;Ship model is used by default to generate the image.&amp;lt;/font&amp;gt;&lt;br /&gt;
*Syntax: &#039;&#039;Filename&#039;&#039;&lt;br /&gt;
**Example: &#039;&#039;ssfighter01&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Ship_overhead:===&lt;br /&gt;
*The overhead view used in the weapons loadout. &amp;lt;font color=red&amp;gt;Ship model is used by default to generate the image.&amp;lt;/font&amp;gt;&lt;br /&gt;
*Syntax: &#039;&#039;Filename&#039;&#039;&lt;br /&gt;
**Example: &#039;&#039;loadfighter01&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Score:===&lt;br /&gt;
*Points awarded for destroying the ship&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, (points)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
===Customized Thruster Effects===&lt;br /&gt;
*Implemented before FS_Open 3.6.5&lt;br /&gt;
*&#039;&#039;&#039;Defines the primary thruster glow&#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;Filename&#039;&#039;&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;Filename&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;$Thruster01 Radius factor:&#039;&#039;&#039;&lt;br /&gt;
***Defines???&lt;br /&gt;
***Syntax: &#039;&#039;Value&#039;&#039;&lt;br /&gt;
****Default: &#039;&#039;1.0&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Defines the secondary glow type-effect for thrusters&#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;Filename&#039;&#039;&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;Filename&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;$Thruster02 Radius factor:&#039;&#039;&#039;&lt;br /&gt;
***Defines???&lt;br /&gt;
***Syntax: &#039;&#039;Value&#039;&#039;&lt;br /&gt;
****Default: &#039;&#039;1.0&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;$Thruster01 Lenght factor:&#039;&#039;&#039;&lt;br /&gt;
***Defines???&lt;br /&gt;
***Syntax: &#039;&#039;Value&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Defines the tertiary glow type-effect for thrusters&#039;&#039;&#039;&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;Filename&#039;&#039;&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;Filename&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;$Thruster03 Radius factor:&#039;&#039;&#039;&lt;br /&gt;
***Defines???&lt;br /&gt;
***Syntax: &#039;&#039;Value&#039;&#039;&lt;br /&gt;
****Default: &#039;&#039;1.0&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Thruster Particles:===&lt;br /&gt;
*Defines the alternative particle thruster&lt;br /&gt;
*Implemented before FS_Open 3.6.5&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 three can be defined for both standard thrusters and afterburners (6 in total). Afterburner particles require atleast 1 existing particle thruster entry.&lt;br /&gt;
**Syntax: &#039;&#039;Filename&#039;&#039;, of ani file used&lt;br /&gt;
***Example: Exp04&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;Value&#039;&#039;, (in 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;Value&#039;&#039;, (in meters)&lt;br /&gt;
*&#039;&#039;&#039;$Min created:&#039;&#039;&#039;&lt;br /&gt;
**Defines the minimum amount of particles created per second&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;, (per second)&lt;br /&gt;
*&#039;&#039;&#039;$Max created:&#039;&#039;&#039;&lt;br /&gt;
**Defines the maximum amount of particles created per second&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;, (per second)&lt;br /&gt;
*&#039;&#039;&#039;$Variance:&#039;&#039;&#039;&lt;br /&gt;
**Value that describes the randomnes or 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;Value&#039;&#039;, (per second)&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===$Stealth:===&lt;br /&gt;
*Defines: Ship behaves as a stealth-ship: non-targettable, and not on radar. &amp;lt;font color=red&amp;gt;This field is deprectated, and mods using 3.6.8 and above should use the &amp;quot;stealth&amp;quot; flag.&amp;lt;/font&amp;gt;&lt;br /&gt;
*Syntax: None&lt;br /&gt;
**Default: Off&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
===$Max decals:===&lt;br /&gt;
*Defines: Maximum number of weapon decals on a ship&lt;br /&gt;
*Implemented before FS_Open 3.6.5&lt;br /&gt;
*Syntax: &#039;&#039;Number&#039;&#039;, 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;
&amp;lt;/font&amp;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;Value&#039;&#039;, &#039;&#039;Value&#039;&#039;, &#039;&#039;Value&#039;&#039;, (X, Y, Z values) relative to the centerpoint 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;Value&#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;Value&#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;Value&#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;Value&#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;Value&#039;&#039;, (seconds)&lt;br /&gt;
*&#039;&#039;&#039;+Spew Time:&#039;&#039;&#039;&lt;br /&gt;
**????&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;, (seconds)&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;Filename&#039;&#039;&lt;br /&gt;
***Example: Contrail01&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
===$Thruster:===&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 manouvering thruster defined in this entry&lt;br /&gt;
**Syntax: &#039;&#039;Value&#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;
*&#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;Name&#039;&#039;&amp;quot;)&lt;br /&gt;
*&#039;&#039;&#039;+Position:&#039;&#039;&#039;&lt;br /&gt;
**Defines thruster location&lt;br /&gt;
**Syntax: ( &#039;&#039;Value&#039;&#039; &#039;&#039;Value&#039;&#039; &#039;&#039;Value&#039;&#039; )&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;Value&#039;&#039; &#039;&#039;Value&#039;&#039; &#039;&#039;Value&#039;&#039;)&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;Filename&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Radius:&#039;&#039;&#039;&lt;br /&gt;
**Defines the radius of cylinder&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;, (meters)&lt;br /&gt;
*&#039;&#039;&#039;+Length:&#039;&#039;&#039;&lt;br /&gt;
**Defines the lenght of thruster trail&lt;br /&gt;
**Syntax: &#039;&#039;Value&#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;Value&#039;&#039;, (sounds.tbl reference)&lt;br /&gt;
*&#039;&#039;&#039;+LoopSnd:&#039;&#039;&#039;&lt;br /&gt;
**Defines the sound played when the thruster is continously used&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;, (sounds.tbl reference)&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;Value&#039;&#039;, (sounds.tbl reference)&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===[[Subsystems|$Subsystem:]]===&lt;br /&gt;
&lt;br /&gt;
===Ships.tbl flags===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;no_collide&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Defines ship as non-collideable, ie everything will go through it&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;player_ship&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Makes it possible to player to fly the ship&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;default_player_ship&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Makes this ship as a default part of the loadout options in FRED&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;repair_rearm&amp;quot;&#039;&#039;&#039; OR &#039;&#039;&#039;&amp;quot;support&amp;quot;&#039;&#039;&#039;&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;
&#039;&#039;&#039;&amp;quot;cargo&amp;quot;&#039;&#039;&#039;&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;
&#039;&#039;&#039;&amp;quot;fighter&amp;quot;&#039;&#039;&#039;&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;
&#039;&#039;&#039;&amp;quot;bomber&amp;quot;&#039;&#039;&#039;&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;
&#039;&#039;&#039;&amp;quot;transport&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Defines ship as a transport and also sets the AI behaviour&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;freighter&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Defines ship as a freighter and also sets the AI behaviour&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;capital&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Defines ship as a capital ship and also sets the AI behaviour&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;supercap&amp;quot;&#039;&#039;&#039; OR &#039;&#039;&#039;&amp;quot;super cap&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Defines ship as a super capital ship and also sets the AI behaviour&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;drydock&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Defines ship as a drydock and also sets the AI behaviour&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;cruiser&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Defines ship as a cruiser and also sets the AI behaviour&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;navbuoy&amp;quot;&#039;&#039;&#039;&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;
&#039;&#039;&#039;&amp;quot;sentrygun&amp;quot;&#039;&#039;&#039; OR &#039;&#039;&#039;&amp;quot;sentry gun&amp;quot;&#039;&#039;&#039;&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;
&#039;&#039;&#039;&amp;quot;escapepod&amp;quot;&#039;&#039;&#039; OR &#039;&#039;&#039;&amp;quot;escape pod&amp;quot;&#039;&#039;&#039;&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;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;stealth&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Defines ship as a stealth-ship: non-targettable, and not on radar.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;no type&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Does ???&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;ship copy&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Defines the ship as a copy of another model&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;in tech database&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Includes ships description to the tech database from the beginning of the campaign&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;in tech database multi&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Includes the ship to multiplayer tech database&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;dont collide invisible&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Defines invisible textures as non-collideable (For example, a hangar entrace)&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;big damage&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Limits the damage made to the ship by non-huge weapons.&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;corvette&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Defines ship as a corvette and also sets the AI behaviour&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;gas miner&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Defines ship as a gas miner and also sets the AI behaviour&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;awacs&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Defines ship as a AWACS and also sets the AI behaviour&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;knossos&amp;quot;&#039;&#039;&#039; OR &#039;&#039;&#039;&amp;quot;knossos device&amp;quot;&#039;&#039;&#039;&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;
&#039;&#039;&#039;&amp;quot;no_fred&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Ship will not appear in FRED.&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;ballistic primaries&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Enables the ship to use ballistic primaries&lt;br /&gt;
*Implemented before FS_Open 3.6.5&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;flash&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Makes a flash when a ship dies&lt;br /&gt;
*Implemented before FS_Open 3.6.5&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;surface shields&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Shots that impact the hull are applied to shields, regardless of if the ship has a shield mesh.&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;show ship&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Will result in the player&#039;s ship model being rendered, when in cockpit mode&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;generate icon&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Creates a HUD icon from the model itself&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;no weapon damage scaling&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Disables bombs doing different damage to different ship types&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;gun convergence&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Enables ship to use the firingpoints&#039; normals in defining the direction where the weapon fire&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Player Ship Precedence==&lt;br /&gt;
*Syntax: ( &#039;&#039;&amp;quot;Name&amp;quot; &amp;quot;Name&amp;quot;&#039;&#039;)&lt;br /&gt;
*Example:&lt;br /&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;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sample==&lt;br /&gt;
&lt;br /&gt;
   #Default Player Ship&lt;br /&gt;
   $Name:                       GTF Ulysses&lt;br /&gt;
   #End&lt;br /&gt;
   #Engine Wash Info&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;
   #End&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;
   #End&lt;br /&gt;
   $Player Ship Precedence: (&lt;br /&gt;
         &amp;quot;GTF Ulysses&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Tables]]&lt;/div&gt;</summary>
		<author><name>WMCoolmon</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Source_Code_Project_index&amp;diff=8572</id>
		<title>Source Code Project index</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Source_Code_Project_index&amp;diff=8572"/>
		<updated>2007-01-11T08:41:37Z</updated>

		<summary type="html">&lt;p&gt;WMCoolmon: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Getting Started with the Source Code Project===&lt;br /&gt;
&lt;br /&gt;
#[[FSSCP Introduction]]&lt;br /&gt;
#[[Getting Freespace]]&lt;br /&gt;
#Installing FSSCP&lt;br /&gt;
#*[[FreeSpace Open Installer]]&lt;br /&gt;
#*[[Installing fs2_open|Installing FreeSpace Open without the Installer]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
====Optional post-install====&lt;br /&gt;
[[Installing mods for fs2_open]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Troubleshooting]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Bug Reporting]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
====Errata====&lt;br /&gt;
[[FS2 Status Page]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[FS2 data installation]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===Getting Started with Development===&lt;br /&gt;
[[Coding In C]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Linux CVS Howto]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Source Code Project]]&lt;/div&gt;</summary>
		<author><name>WMCoolmon</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Modular_Tables&amp;diff=7662</id>
		<title>Modular Tables</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Modular_Tables&amp;diff=7662"/>
		<updated>2006-10-09T06:27:50Z</updated>

		<summary type="html">&lt;p&gt;WMCoolmon: Added muzzleflash to the tables list&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Modular tables are SCP addition to the standard FreeSpace table system. XMTs (or eXtentable Modular Tables) offer capability to add new entries or alter already existing tables without any need of editing the &#039;parent&#039; table file.&lt;br /&gt;
&lt;br /&gt;
==Extendable Tables==&lt;br /&gt;
*[[ai_profiles.tbl]] can be extended with &#039;&#039;&#039;xxx-aip.tbm&#039;&#039;&#039; (XMT)&lt;br /&gt;
*[[armor.tbl]] can be extended with &#039;&#039;&#039;xxx-amr.tbm&#039;&#039;&#039; (non-XMT)&lt;br /&gt;
*[[mflash.tbl]] can be extended with &#039;&#039;&#039;xxx-mfl.tbm&#039;&#039;&#039; (non-XMT)&lt;br /&gt;
*[[hud_gauges.tbl]] can be extended with &#039;&#039;&#039;xxx-hdg.tbm&#039;&#039;&#039; (non-XMT)&lt;br /&gt;
*[[music.tbl]] can be extended with &#039;&#039;&#039;xxx-mus.tbm&#039;&#039;&#039; (non-XMT)&lt;br /&gt;
*[[ships.tbl]] can be extented with &#039;&#039;&#039;xxx-shp.tbm&#039;&#039;&#039; (XMT)&lt;br /&gt;
*[[species_defs.tbl]] can be extended with &#039;&#039;&#039;xxx-sdf.tbm&#039;&#039;&#039; (XMT)&lt;br /&gt;
*[[stars.tbl]] can be extended with &#039;&#039;&#039;xxx-str.tbm&#039;&#039;&#039; (non-XMT)&lt;br /&gt;
*[[weapons.tbl]] can be extended with &#039;&#039;&#039;xxx-wep.tbm&#039;&#039;&#039; (XMT)&lt;br /&gt;
*[[weapon_expl.tbl]] can be extended with &#039;&#039;&#039;xxx-wxp.tbm&#039;&#039;&#039; (non-XMT)&lt;br /&gt;
&lt;br /&gt;
==Other Related Tables==&lt;br /&gt;
*[[fireball.tbl]] can be &#039;&#039;&#039;&#039;&#039;edited&#039;&#039;&#039;&#039;&#039; with &#039;&#039;&#039;xxx-fbl.tbm&#039;&#039;&#039; file ([[fireball.tbl#Modular Fireball Table|special]])&lt;br /&gt;
&lt;br /&gt;
==Important Notes==&lt;br /&gt;
*Modular table files should use the &#039;parent table&#039; files sections.&lt;br /&gt;
*Completely new entries and also complete rewrites of entries in parent table file are always possible.&lt;br /&gt;
*For &#039;&#039;&#039;xxx-shp.tbm&#039;&#039;&#039; and &#039;&#039;&#039;xxx-wep.tbm&#039;&#039;&#039;&lt;br /&gt;
**Table entries in modular tables do not have to be complete. Partial entries can be used to alter the data found in parent table files when only some changes to the original are desired to be made.&lt;br /&gt;
**Adding &#039;&#039;&#039;+nocreate&#039;&#039;&#039; right after the entry&#039;s name prevents possible creation of partially undefined entry. For example if the parent table file lacked the entry that was included to the as a partial entry to the modular table file then the creation of partially undefined entry is possible which could cause problems with the game.&lt;br /&gt;
***Example:&lt;br /&gt;
&lt;br /&gt;
   $Name:              @Subach HL-7&lt;br /&gt;
      +nocreate&lt;br /&gt;
&lt;br /&gt;
==Sample - Alpha-wep.tbm==&lt;br /&gt;
*Changes the speed of the &#039;&#039;Subach HL-7&#039;&#039; and also adds a faint grey trail to it.&lt;br /&gt;
*To create it make a text file using a text editor and save the file as &#039;&#039;&#039;&#039;&#039;Alpha-wep.tbm&#039;&#039;&#039;&#039;&#039; with the following contents to the proper folder (.../data/tables).&lt;br /&gt;
&lt;br /&gt;
   #Primary Weapons&lt;br /&gt;
   $Name:              @Subach HL-7&lt;br /&gt;
      +nocreate&lt;br /&gt;
   $Velocity:         650.0	&lt;br /&gt;
   $Trail:&lt;br /&gt;
      +Start Width:      0.4&lt;br /&gt;
      +End Width:        0.0&lt;br /&gt;
      +Start Alpha:      0.35&lt;br /&gt;
      +End Alpha:        0.0&lt;br /&gt;
      +Max Life:         0.2&lt;br /&gt;
      +Bitmap:           Contrail&lt;br /&gt;
   #End&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Tables]]&lt;/div&gt;</summary>
		<author><name>WMCoolmon</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Source_Code_Project_index&amp;diff=7577</id>
		<title>Source Code Project index</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Source_Code_Project_index&amp;diff=7577"/>
		<updated>2006-09-28T01:46:55Z</updated>

		<summary type="html">&lt;p&gt;WMCoolmon: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Getting Started with the Source Code Project===&lt;br /&gt;
&lt;br /&gt;
[[FSSCP Introduction]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Getting Freespace]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Installing fs2_open]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[FS2 data installation]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Installing mods for fs2_open]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Troubleshooting]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Bug Reporting]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[FS2 Status Page]]&lt;br /&gt;
&lt;br /&gt;
===Getting Started with Development===&lt;br /&gt;
&amp;lt;br&amp;gt;[[Coding In C]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Linux CVS Howto]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Source Code Project]]&lt;/div&gt;</summary>
		<author><name>WMCoolmon</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=FS2_Open_Lua_Scripting&amp;diff=7400</id>
		<title>FS2 Open Lua Scripting</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=FS2_Open_Lua_Scripting&amp;diff=7400"/>
		<updated>2006-09-04T21:05:41Z</updated>

		<summary type="html">&lt;p&gt;WMCoolmon: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is intended as a crash-course in Lua scripting as it relates to Freespace 2. It&#039;s only meant to get you started with Lua scripting - more advanced concepts such as metatables will not be covered.&lt;br /&gt;
&lt;br /&gt;
You don&#039;t need to read the Appendices, but I recommend at least reading the &amp;quot;Optimizing&amp;quot; section if you&#039;re doing much scripting.&lt;br /&gt;
&lt;br /&gt;
== What You Need ==&lt;br /&gt;
You will need a basic understanding of how to open and edit computer files, a copy of Freespace 2, and an open mind. Any kind of prior scripting experience will be immensely helpful, but you shouldn&#039;t need any to understand this document.&lt;br /&gt;
&lt;br /&gt;
Here we go!&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; Although all the examples should not cause syntax errors anywhere, they may not work in certain places. For example, you have to load a mission before you can get handles to ships in the mission.&lt;br /&gt;
&lt;br /&gt;
== Scripting hooks ==&lt;br /&gt;
A scripting hook is a segment of Lua code, that is run at a specific place in FS2_Open. Some scripting hooks, such as $GameInit, are executed only once. Others, such as state hooks, are executed every frame. Others may be executed only when a specific action occurs (such as a keypress or a ship warping out).&lt;br /&gt;
&lt;br /&gt;
There are three different types of hooks. All hooks are parsed and loaded into memory when they are read, so there is no speed difference. Also, the optional field &amp;quot;+Override: YES&amp;quot; can be used to make a scripting hook completely override fs2_open&#039;s usual behavior. (For example, for the HUD, this would completely disable the default fs2_open HUD and use the scripting version instead)&lt;br /&gt;
&lt;br /&gt;
For the sake of organization, information on different scripting hooks can be found in the wiki page for the table that they are actually in.&lt;br /&gt;
&lt;br /&gt;
=== Return hook ===&lt;br /&gt;
 $Hook: 2 + Mission.getNumShips()&lt;br /&gt;
This works like a normal table variable, except that you can use scripting functions as well.&lt;br /&gt;
&lt;br /&gt;
=== Normal hook ===&lt;br /&gt;
 $Hook: [&lt;br /&gt;
 	gr.setColor(255, 255, 255)&lt;br /&gt;
 	gr.drawString(&amp;quot;Hello, world!&amp;quot;)&lt;br /&gt;
 &lt;br /&gt;
 	return 2 + Mission.getNumShips()&lt;br /&gt;
 ]&lt;br /&gt;
A normal hook is denoted by [ and ]. Whatever is within the brackets is passed to the Lua interpreter. This means that you cannot use table-style ;; comments within brackets; you must use Lua&#039;s comments.&lt;br /&gt;
&lt;br /&gt;
However, you can still use it with a .tbl field that takes a value, using the &amp;quot;return&amp;quot; command. In this case, even though the other lines are still run, the $Hook: variable would be set to the same value as in the &#039;Return hook&#039; example.&lt;br /&gt;
&lt;br /&gt;
=== File hook ===&lt;br /&gt;
&amp;lt;pre&amp;gt;$Hook: [[script.lua]]&amp;lt;/pre&amp;gt;&lt;br /&gt;
A file hook loads the scripting from the file in the data/scripts directory. In all other respects, it is the same as a normal hook.&lt;br /&gt;
&lt;br /&gt;
== Comments ==&lt;br /&gt;
A &amp;quot;comment&amp;quot; (in any programming or scripting language) is a block of a script that is ignored. In Lua there is only one kind of comment, which starts with double-dashes. Any time you put two dashes in a Lua script outside of a string, the rest of the line will be ignored. (This is the same as putting a double-semicolon in a Freespace table)&lt;br /&gt;
&lt;br /&gt;
For example, this:&lt;br /&gt;
 --Load a mission for use in the mainhall&lt;br /&gt;
 Mission.loadMission(&amp;quot;sm2-10.fs2&amp;quot;) --Use &#039;King&#039;s Gambit&#039; for now.&lt;br /&gt;
&lt;br /&gt;
Will do exactly the same thing as this:&lt;br /&gt;
 Mission.loadMission(&amp;quot;sm2-10.fs2&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
== Variables ==&lt;br /&gt;
A variable is the simplest kind of thing that there is in Lua. All it really does is hold data; no more, no less. They really aren&#039;t that scary. Here are some different types of variables&lt;br /&gt;
&lt;br /&gt;
 --Number variable&lt;br /&gt;
 life = 42&lt;br /&gt;
 &lt;br /&gt;
 --String variable&lt;br /&gt;
 name = &amp;quot;Bob&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 --Boolean variables&lt;br /&gt;
 smoking = true&lt;br /&gt;
 healthy = false&lt;br /&gt;
 &lt;br /&gt;
 --Userdata (Handle or object) variable&lt;br /&gt;
 player = mn.getShipByName(&amp;quot;Alpha 1&amp;quot;)&lt;br /&gt;
 &lt;br /&gt;
 --Nil variable&lt;br /&gt;
 --Erases a previously set variable&lt;br /&gt;
 life = nil&lt;br /&gt;
 &lt;br /&gt;
 --Member variable of userdata. Can be any of the above types.&lt;br /&gt;
 player.Name = &amp;quot;Ship&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; Although technically objects and handles are all userdata, it&#039;s easier to just think of every object and handle as being different types of variables.&lt;br /&gt;
&lt;br /&gt;
=== Arrays ===&lt;br /&gt;
&lt;br /&gt;
An array is a special type of variable, that holds multiple variables. The &#039;&#039;&#039;&#039;&#039;index&#039;&#039;&#039;&#039;&#039; of all Lua arrays starts at 1.&lt;br /&gt;
&lt;br /&gt;
 --Set the fifth element of array to 1&lt;br /&gt;
 a[5] = 12&lt;br /&gt;
 --Set n to the fifth element (tehe)&lt;br /&gt;
 n = a[5]&lt;br /&gt;
 --n will be 12&lt;br /&gt;
&lt;br /&gt;
== Libraries ==&lt;br /&gt;
In order to gain access to the FS2_Open engine through scripting, you must use the FS2_Open libraries. Each library represents a different section of the engine. In addition, libraries may be referenced one of two ways: the full name, or a shorthand version of the name made up of two letters. Here, the same setColor &#039;&#039;&#039;&#039;&#039;function&#039;&#039;&#039;&#039;&#039; is used twice.&lt;br /&gt;
&lt;br /&gt;
 Graphics.setColor(255, 255, 255)&lt;br /&gt;
 gr.setColor(255, 255, 255)&lt;br /&gt;
&lt;br /&gt;
For the sake of easy reading, I&#039;ve used the longhand version of names in the wiki. However, I recommend you learn the shorthand versions as they&#039;re generally faster to work with when scripting.&lt;br /&gt;
&lt;br /&gt;
To get a full list of library functions, use the &amp;quot;-output_scripting&amp;quot; command line parameter. This should create a file called scripting.html, with a list of the different libraries, functions, and types supported by that build. (Use a web browser to open it)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Functions ==&lt;br /&gt;
A function is an instruction to Lua to do something. It may change variables, or it may call (activate) other functions. Functions are the meat of scripting; they get everything done. Essentially, they are much like an individual SEXP.&lt;br /&gt;
&lt;br /&gt;
As a result, this section is pretty tough, but covers almost all of the specific knowledge you&#039;ll need to work within Lua.&lt;br /&gt;
&lt;br /&gt;
=== Function vocabulary ===&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;Return value&#039;&#039;&#039;&#039;&#039; - Data that a function returns. Any data that a function returns may be stored in a variable.&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;Arguments&#039;&#039;&#039;&#039;&#039; - Data that is given to a function. May be data itself, a variable containing the data, or even the return value of another function.&lt;br /&gt;
* &#039;&#039;&#039;&#039;&#039;Call&#039;&#039;&#039;&#039;&#039; - To run a function.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Typical function use ===&lt;br /&gt;
&amp;lt;b&amp;gt;Example:&amp;lt;/b&amp;gt; This will write &amp;quot;Alpha 1&amp;quot; in the upper-left corner of the screen.&lt;br /&gt;
 player = Mission.getShipByName(&amp;quot;Alpha 1&amp;quot;)&lt;br /&gt;
 Graphics.setColor(255, 255, 255)&lt;br /&gt;
 Graphics.drawString(player.Name, 5, 5)&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Line 1:&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;In the first line, the &amp;quot;getShipByName&amp;quot; function of the mission library is run. Because &amp;quot;Alpha 1&amp;quot; is specified as the argument, the return value of the getShipByName function will be the ship handle of the ship named &amp;quot;Alpha 1&amp;quot; in the mission (or nil if Alpha 1 is dead or there was no Alpha 1 to begin with). Because the player variable is set to the function, it will take on the return value of the function. &amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;b&amp;gt;Result&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;After the first line, the player variable is a ship handle to the ship named &amp;quot;Alpha 1&amp;quot; in the current mission.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Line 2&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;In the second line, the &amp;quot;setColor&amp;quot; function is used to set the current drawing color to pure white. Unlike getShipByName, it takes at least three arguments, all numbers - the red, green, and blue scale of the current color, from 0 to 255. It&#039;s always a good idea to use the setColor function before doing any drawing in scripting, as the engine can and will change the current color between scripting hooks.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;b&amp;gt;Result&amp;lt;/b&amp;gt; &amp;lt;br&amp;gt;Current drawing color is set to pure white&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;b&amp;gt;Line 3&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;In the third line, the drawString function takes three arguments - a string, followed by two numbers. The string specifies the text to write, the numbers specify the x and y position of the upper-left corner of the written text. As you can see, we&#039;ve directly used a &#039;&#039;&#039;&#039;&#039;member variable&#039;&#039;&#039;&#039;&#039; of the player variable to fill the first argument. Because we got the ship handle by its name, the Name variable will be the same as the name that we got it by (&amp;quot;Alpha 1&amp;quot;).&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&amp;lt;b&amp;gt;Result&amp;lt;/b&amp;gt;&amp;lt;br&amp;gt;After the third line, &amp;quot;Alpha 1&amp;quot; will appear in the upper-left corner of the string in white text.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; Numbers and certain types of userdata will automatically convert to strings. In all other cases, functions will give an error if you try to use the wrong type of argument.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Debugging note:&amp;lt;/b&amp;gt; If Alpha 1 were dead in the above example, you would get an error about &#039;trying to index a nil value&#039; because it would not be able to run the getName() function.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Userdata functions ===&lt;br /&gt;
Handles and objects may also have functions.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example:&amp;lt;/b&amp;gt; This will write the number of subsystem&#039;s on Alpha 1&#039;s ship in the upper-left corner.&lt;br /&gt;
 player = Mission.getShipByName(&amp;quot;Alpha 1&amp;quot;)&lt;br /&gt;
 Graphics.drawString(player:getNumSubsystems(), 5, 5)&lt;br /&gt;
&lt;br /&gt;
As before, we get the handle to the Alpha 1 ship with getShipByName.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Optional arguments ===&lt;br /&gt;
&lt;br /&gt;
Sometimes you don&#039;t have to use an argument. For example, the setColor function has an optional fourth argument - how opaque the color should be. If the argument isn&#039;t used, the color is totally opaque. These two lines do the same thing:&lt;br /&gt;
&lt;br /&gt;
 Graphics.setColor(255, 255, 255)&lt;br /&gt;
 Graphics.setColor(255, 255, 255, 255)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Quick, a full example! ==&lt;br /&gt;
By this point, you may be bored of all this exposition. So here&#039;s your typical &amp;quot;Hello, World!&amp;quot; example.&lt;br /&gt;
&lt;br /&gt;
For this amazing trick, we&#039;ll make our very own splash screen. Turn off all Freespace 2 mods, and create a file called &amp;quot;scripting.tbl&amp;quot; in your data/tables directory. Open that up in a text editor, and write:&lt;br /&gt;
 #Global Hooks&lt;br /&gt;
 $Splash:	[&lt;br /&gt;
 	--Set the color to white&lt;br /&gt;
 	Graphics.setColor(255, 255, 255)&lt;br /&gt;
 	--Write &amp;quot;Hello, world!&amp;quot;&lt;br /&gt;
 	Graphics.drawString(&amp;quot;Hello, world!&amp;quot;, 5, 10)&lt;br /&gt;
 ]&lt;br /&gt;
 +Override: YES&lt;br /&gt;
 #End&lt;br /&gt;
&lt;br /&gt;
Now, when you start up FS2_Open, you should see &amp;quot;Hello, world!&amp;quot; in the upper-left, as it loads.&lt;br /&gt;
&lt;br /&gt;
== Control structures ==&lt;br /&gt;
A control structure is a series of statements that let you change how a script runs, based on some condition - say, a ship is dead, or the life of a certain ship has fallen below a certain amount.&lt;br /&gt;
&lt;br /&gt;
=== If statements ===&lt;br /&gt;
If statements are a way to check if something is some way or not. All if statements have the form:&lt;br /&gt;
 if (something) then&lt;br /&gt;
 	(execute)&lt;br /&gt;
 end&lt;br /&gt;
&lt;br /&gt;
(something) can be true, or false. If it&#039;s true, then (execute) will be run. If it&#039;s false, then the script will skip down to &amp;quot;end&amp;quot; and go on from there.&lt;br /&gt;
&lt;br /&gt;
To check that a handle is valid:&lt;br /&gt;
 ship = Mission.getShipByName(&amp;quot;Alpha 2&amp;quot;)&lt;br /&gt;
 if ship then&lt;br /&gt;
 	--This will always happen while Alpha 2 is alive&lt;br /&gt;
 	Graphics.drawString(&amp;quot;MACKIE LIVES!&amp;quot;, 5, 10)&lt;br /&gt;
 end&lt;br /&gt;
&lt;br /&gt;
To check a variable value&lt;br /&gt;
 x = 42&lt;br /&gt;
 y = 23&lt;br /&gt;
 if x &amp;lt; y or x is y then&lt;br /&gt;
 	--We never get here, because x is bigger than y&lt;br /&gt;
 end&lt;br /&gt;
&lt;br /&gt;
=== For statements ===&lt;br /&gt;
A for statement is generally used to iterate through a list.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example:&amp;lt;/b&amp;gt;&lt;br /&gt;
This bit of scripting will run through all of Alpha 2&#039;s subsystems if she isn&#039;t dead, and display a list of them in the upper-left.&lt;br /&gt;
&lt;br /&gt;
 ship = Mission.getShipByName(&amp;quot;Alpha 2&amp;quot;)&lt;br /&gt;
 if ship then&lt;br /&gt;
 	num_subsys = ship:getNumSubsystems()&lt;br /&gt;
 	x = 5&lt;br /&gt;
 	y = 5&lt;br /&gt;
 	for i=1,num_subsys do&lt;br /&gt;
 		--Use the i variable to go through the ship&#039;s subsystems,&lt;br /&gt;
 		--and to change the y position of the text.&lt;br /&gt;
 		gr.drawString(ship[i]:getName(), x, y + i*10)&lt;br /&gt;
 	end&lt;br /&gt;
 end&lt;br /&gt;
&lt;br /&gt;
=== More information ===&lt;br /&gt;
For other keywords you can use with control structures, see the [http://www.lua.org/manual/5.0/manual.html#2.5.2 Lua Documentation]&lt;br /&gt;
&lt;br /&gt;
For more detailed information on if statements and other types of control structures, see the [http://lua-users.org/wiki/ControlStructureTutorial Lua-users wiki]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Appendices ==&lt;br /&gt;
&lt;br /&gt;
There&#039;s more depth to scripting than what&#039;s covered above. To make the rest of the article shorter, I&#039;ve put the topics still within the scope of this article, but not necessary to know in most cases, down here.&lt;br /&gt;
&lt;br /&gt;
However, I HIGHLY recommend you read the optimizing scripting section.&lt;br /&gt;
&lt;br /&gt;
=== Appendix: Optimizing scripting ===&lt;br /&gt;
&lt;br /&gt;
Because fs2_open is written in C, which is much faster than Lua, it is much better to store variables in C and provide Lua functions to work with them. In addition, to keep Lua scripting from messing with C scripting and to make it as friendly as possible, there are a number of safeguards to catch problems, in most of the Lua functions.&lt;br /&gt;
&lt;br /&gt;
As a result, whenever you&#039;re working with a value provided by a library or object function, you should set it to a Lua variable if you&#039;re going to use it more than 1-2 times due to the large overhead resulting from the interface.&lt;br /&gt;
&lt;br /&gt;
Thus, even though it may [i]look[/i] like &amp;quot;Name&amp;quot; is a member variable of the ship handle, it is actually a function that performs 3-4 validity checks before returning the value, which must also be converted from C to Lua. Setting a variable to the return value of the function means that you can use that variable wherever you want to use the ship name using the native Lua environment.&lt;br /&gt;
&lt;br /&gt;
=== Appendix: Debugging scripting ===&lt;br /&gt;
&lt;br /&gt;
Unfortunately, the Lua interpreter provides only limited debugging information about hooks. (Supposedly, it will provide more information about scripting within user functions, but I haven&#039;t tested that claim yet)&lt;br /&gt;
&lt;br /&gt;
Generally, error messages complaining about referencing or indexing a &#039;nil value&#039; occur because a function could not return a handle, so it returned nil. Some functions also return false to indicate that the handle is correct, but due to some kind of wrong information being passed, it couldn&#039;t complete.&lt;br /&gt;
&lt;br /&gt;
Generally, you should check all handles before using them:&lt;br /&gt;
 player = getShipByName(&amp;quot;Alpha 1&amp;quot;)&lt;br /&gt;
 if player then&lt;br /&gt;
 &lt;br /&gt;
 end&lt;br /&gt;
&lt;br /&gt;
With all uses of the player handle falling in the &amp;quot;if&amp;quot; statement.&lt;br /&gt;
&lt;br /&gt;
=== Appendix: Function types ===&lt;br /&gt;
&lt;br /&gt;
Here&#039;s all the different kinds of functions you can have:&lt;br /&gt;
 --A function provided by itself&lt;br /&gt;
 x = cos(y)&lt;br /&gt;
 --A function provided by a library&lt;br /&gt;
 x = Math.cos(y)&lt;br /&gt;
 --A function provided by a userdata variable.&lt;br /&gt;
 x = y:cos()&lt;br /&gt;
In every case, x would be set to the cosine of y, which is 1.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt; You must use a &amp;quot;:&amp;quot; with userdata functions, as in the example. This tells Lua that it needs to give the function the value of the variable that it&#039;s being called from.&lt;br /&gt;
&lt;br /&gt;
=== Appendix: Making your own functions ===&lt;br /&gt;
So, let&#039;s make the doSomething() function do, well, something.&lt;br /&gt;
 doSomething = function()&lt;br /&gt;
 	color = &amp;quot;red&amp;quot;&lt;br /&gt;
 end&lt;br /&gt;
As you can see, creating a function is much like creating a variable; you just use function() instead of the value, then write what you want the function to do. To end the function, you just write &amp;quot;end&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Now, let&#039;s use our new doSomething() function.&lt;br /&gt;
 color = &amp;quot;black&amp;quot;&lt;br /&gt;
 doSomething()&lt;br /&gt;
 --After using doSomething(), color is now red&lt;br /&gt;
&lt;br /&gt;
Functions can also &#039;&#039;&#039;&#039;&#039;return&#039;&#039;&#039;&#039;&#039; values.&lt;br /&gt;
 --Make a new function&lt;br /&gt;
 doSomethingElse = function()&lt;br /&gt;
 	return 10&lt;br /&gt;
 end&lt;br /&gt;
 x = 0&lt;br /&gt;
 doSomething()&lt;br /&gt;
 --x is now 27&lt;br /&gt;
 x = doSomethingElse()&lt;br /&gt;
 --x is now 10&lt;br /&gt;
&lt;br /&gt;
=== Appendix: Variable Scope ===&lt;br /&gt;
The &#039;&#039;&#039;&#039;&#039;scope&#039;&#039;&#039;&#039;&#039; of a variable is the area where it exists. Writing &amp;lt;tt&amp;gt;local&amp;lt;/tt&amp;gt; in front of the variable name will tell Lua that the variable should only exist within that function or hook.&lt;br /&gt;
&lt;br /&gt;
Note that this means that if you use the same variable name in two different hooks without using local, the same variable will be used.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Note:&amp;lt;/b&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You may find it useful to have some way of distinguishing global variables from local ones, to remind yourself that the value does carry over. For example, starting global variable names with &amp;quot;g_&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;b&amp;gt;Example:&amp;lt;/b&amp;gt; The following will draw the text &amp;quot;Media VP&amp;quot; in the upper-left corner of the main hall, even though the variable is set in a different hook than it is used in.&lt;br /&gt;
&lt;br /&gt;
 #Global Hooks&lt;br /&gt;
 $GameInit: [g_mod = &amp;quot;Media VP&amp;quot;]&lt;br /&gt;
 #End&lt;br /&gt;
&lt;br /&gt;
 #State Hooks&lt;br /&gt;
 $State: GS_STATE_MAIN_MENU&lt;br /&gt;
 $Hook: [Graphics.drawString(g_mod, 0, 0)]&lt;br /&gt;
 #End&lt;br /&gt;
&lt;br /&gt;
=== Appendix: Variable Types ===&lt;br /&gt;
Variables can hold different types of data. These basic types are:&lt;br /&gt;
&lt;br /&gt;
==== Boolean ====&lt;br /&gt;
A boolean is a simple variable - it can be true, or false.&lt;br /&gt;
 --It&#039;s Monday, and Dilbert is at the office&lt;br /&gt;
 working = true&lt;br /&gt;
 --Oops, he just opened Solitaire&lt;br /&gt;
 working = false&lt;br /&gt;
&lt;br /&gt;
==== Numbers ====&lt;br /&gt;
A number is any variable that holds (As you might&#039;ve guessed) a number. A number will automatically convert into a string, if needed.&lt;br /&gt;
 --A variable can be a whole number, like this&lt;br /&gt;
 x = 5&lt;br /&gt;
 --Or it can be a decimal value&lt;br /&gt;
 x = 3.141592654&lt;br /&gt;
 --Or you can divide two numbers for a fraction&lt;br /&gt;
 x = 3/4&lt;br /&gt;
&lt;br /&gt;
==== Strings ====&lt;br /&gt;
A string is a variable that holds a series of characters, and a character is any number, letter, or symbol on your keyboard (and then some). Basically, strings are the way that words and sentences are passed around in Lua.&lt;br /&gt;
 --A cow says moo!&lt;br /&gt;
 cow = &amp;quot;moo&amp;quot;&lt;br /&gt;
 --A friend&#039;s name&lt;br /&gt;
 friend = &amp;quot;Bob&amp;quot;&lt;br /&gt;
Note that actual string content is contained within double quotation marks, to mark it as a string.&lt;br /&gt;
&lt;br /&gt;
==== nil ====&lt;br /&gt;
nil isn&#039;t really a variable type, but it is important. nil means that a variable doesn&#039;t hold anything. If you want to get rid of a variable, you just set it to be nil.&lt;br /&gt;
&lt;br /&gt;
 --Today I got a new dog&lt;br /&gt;
 dog = &amp;quot;Spot&amp;quot;&lt;br /&gt;
 --But then he ran away&lt;br /&gt;
 dog = nil&lt;br /&gt;
&lt;br /&gt;
Any time an error says that a variable is nil, it usually means that it doesn&#039;t exist (Double-check your spelling).&lt;br /&gt;
&lt;br /&gt;
==== Userdata/objects ====&lt;br /&gt;
Objects (or &amp;quot;userdata&amp;quot;, as they are known in Lua) is a variable that can contain other variables, or functions. Variables or functions within an object are known as &amp;quot;member variables&amp;quot; or &amp;quot;member functions&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
 --Assuming we have a my_car object, this will copy it to your_car&lt;br /&gt;
 your_car = my_car&lt;br /&gt;
 --Congratulations! But maybe you want to customize it?&lt;br /&gt;
 --Note how I refer to the member variable, color&lt;br /&gt;
 your_car.color = &amp;quot;Red&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==== Handles ====&lt;br /&gt;
A handle isn&#039;t technically a Lua type, but handles are used a lot in FS2_Open Lua scripting. Essentially, a handle is a variable that refers to a specific object; but doesn&#039;t actually contain that object&#039;s data. An example is the &amp;quot;shipclass&amp;quot; type; it doesn&#039;t actually contain the data in ships.tbl, it just serves to reference the ship class so that you can get and set data.&lt;br /&gt;
 --Get the &amp;quot;GTF Ulysses&amp;quot; ship type&lt;br /&gt;
 --For this, I use the function &#039;getShipclassByName&#039;&lt;br /&gt;
 ulysses = tb.getShipclassByName(&amp;quot;GTF Ulysses&amp;quot;)&lt;br /&gt;
 --Now get rid of the handle&lt;br /&gt;
 ulysses = nil&lt;br /&gt;
 --Even though we&#039;ve gotten rid of the handle, the Ulysses will still exist.&lt;br /&gt;
&lt;br /&gt;
In situations where a handle variable is an object, you must set the entire variable at once; you cannot change elements of the array individually.&lt;br /&gt;
 --So intead of this...&lt;br /&gt;
 ship = mn.getShipByIndex(1)&lt;br /&gt;
 ship.Position[&amp;quot;y&amp;quot;] = 0&lt;br /&gt;
 &lt;br /&gt;
 --You would go...&lt;br /&gt;
 ship = mn.getShipByIndex(1)&lt;br /&gt;
 pos = ship.Position[&amp;quot;y&amp;quot;]&lt;br /&gt;
 pos[&amp;quot;y&amp;quot;] = 0&lt;br /&gt;
 ship.Position = pos&lt;br /&gt;
&lt;br /&gt;
=== Appendix: External Lua references ===&lt;br /&gt;
* [http://www.devmaster.net/articles/lua/lua1.php DevMaster.net - Lua Scripting 101]&lt;br /&gt;
* [http://www.lua.org/manual/5.1/ Official Lua 5.1 Reference Manual]&lt;br /&gt;
* [http://www.lua.org/pil/ Programming in Lua]&lt;br /&gt;
* [http://www.lua-users.org/ lua-users.org]&lt;/div&gt;</summary>
		<author><name>WMCoolmon</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Feature_Requests&amp;diff=6575</id>
		<title>Feature Requests</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Feature_Requests&amp;diff=6575"/>
		<updated>2006-07-02T07:23:05Z</updated>

		<summary type="html">&lt;p&gt;WMCoolmon: &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; Shadows of Lylat&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;
*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;
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, Twisted Infinities&lt;br /&gt;
&lt;br /&gt;
=== Warping Without Vortex ===&lt;br /&gt;
Adds another checkbox to the arrival and departure cues for ships and wings, to disable rendering of the warp vortex, but will preserve all other aspescts of conventional warping, such as the arrival/departure speeds and deceleration/accelleration.  Current option to disable warp rendering, will cause ship to appear and disappear without movement.&lt;br /&gt;
* &#039;&#039;&#039;Supported By:&#039;&#039;&#039; The Babylon Project&lt;br /&gt;
&lt;br /&gt;
=== Convergence Firing ===&lt;br /&gt;
Also called &amp;quot;X-Firing&amp;quot;, allows a weapon to have secondary source effects so that a weapon can appear to gain a charge boost from converging fire from other sources on the model.  Could be either a beam or a standard primary.  Would require additional data in the weapon table entry, for effects to be used and timing of the secondary prior to the main firing sequence, as well as data on the turret entry in the ships table, indicating co-ords for where the secondary effects will originate, and the number of secondary sources.&lt;br /&gt;
* &#039;&#039;&#039;Supported By:&#039;&#039;&#039; 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, Twisted Infinities&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;br /&gt;
&lt;br /&gt;
=== Submodel Animation Triggers &amp;amp; Upgrades ===&lt;br /&gt;
*Afterburners - Performs animation when afterburners are used and undoes the anumation when they go off.&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;
&lt;br /&gt;
=== Muzzle Flashes and Turrets ===&lt;br /&gt;
Extented support for muzzle flashes so that all turreted weapons could use the muzzle flashes.&lt;br /&gt;
* &#039;&#039;&#039;Supported By:&#039;&#039;&#039; Starfox mod, Twisted Infinities&lt;/div&gt;</summary>
		<author><name>WMCoolmon</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Feature_Requests&amp;diff=6574</id>
		<title>Feature Requests</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Feature_Requests&amp;diff=6574"/>
		<updated>2006-07-02T07:21:59Z</updated>

		<summary type="html">&lt;p&gt;WMCoolmon: &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; Shadows of Lylat&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;
*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;
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, Twisted Infinities&lt;br /&gt;
&lt;br /&gt;
=== Muzzle Flashes and Turrets ===&lt;br /&gt;
Extented support for muzzle flashes so that all turreted weapons could use the muzzle flashes.&lt;br /&gt;
* &#039;&#039;&#039;Supported By:&#039;&#039;&#039; Starfox mod, Twisted Infinities&lt;br /&gt;
&lt;br /&gt;
=== Warping Without Vortex ===&lt;br /&gt;
Adds another checkbox to the arrival and departure cues for ships and wings, to disable rendering of the warp vortex, but will preserve all other aspescts of conventional warping, such as the arrival/departure speeds and deceleration/accelleration.  Current option to disable warp rendering, will cause ship to appear and disappear without movement.&lt;br /&gt;
* &#039;&#039;&#039;Supported By:&#039;&#039;&#039; The Babylon Project&lt;br /&gt;
&lt;br /&gt;
=== Convergence Firing ===&lt;br /&gt;
Also called &amp;quot;X-Firing&amp;quot;, allows a weapon to have secondary source effects so that a weapon can appear to gain a charge boost from converging fire from other sources on the model.  Could be either a beam or a standard primary.  Would require additional data in the weapon table entry, for effects to be used and timing of the secondary prior to the main firing sequence, as well as data on the turret entry in the ships table, indicating co-ords for where the secondary effects will originate, and the number of secondary sources.&lt;br /&gt;
* &#039;&#039;&#039;Supported By:&#039;&#039;&#039; 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, Twisted Infinities&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;br /&gt;
&lt;br /&gt;
=== Submodel Animation Triggers &amp;amp; Upgrades ===&lt;br /&gt;
*Afterburners - Performs animation when afterburners are used and undoes the anumation when they go off.&lt;br /&gt;
*Turret Fire - Performs animation when a particular turret is fired and undoes it before the turret can fire again.&lt;/div&gt;</summary>
		<author><name>WMCoolmon</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Script_-_Example_HUD&amp;diff=6539</id>
		<title>Script - Example HUD</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Script_-_Example_HUD&amp;diff=6539"/>
		<updated>2006-07-01T04:12:02Z</updated>

		<summary type="html">&lt;p&gt;WMCoolmon: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{captionedimage|image=[[image:Script-hudexample.jpg|thumbnail|320px]]|caption=Partial HUD created with scripting}}&lt;br /&gt;
==Function==&lt;br /&gt;
Creates new HUD or rather an example of scripted HUD. (Original source by [[User:WMCoolmon|WMCoolmon]])&lt;br /&gt;
&lt;br /&gt;
==Table Entry==&lt;br /&gt;
&lt;br /&gt;
===Scripting.tbl===&lt;br /&gt;
&amp;lt;pre&amp;gt;#Global Hooks&lt;br /&gt;
$GameInit:  [[init.lua]]&lt;br /&gt;
$HUD:    [[hud.lua]]&lt;br /&gt;
   +Override: YES&lt;br /&gt;
#End&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===init.lua===&lt;br /&gt;
&amp;lt;pre&amp;gt;--#################### HUD ####################--&lt;br /&gt;
drawBevRect = function(x1, y1, x2, y2)&lt;br /&gt;
   -------Draw background&lt;br /&gt;
   gr.setColor(0, 0, 48)&lt;br /&gt;
   for x=1,5 do&lt;br /&gt;
      --&amp;quot;/ \&amp;quot;&lt;br /&gt;
      gr.drawLine(x1+(5-x), y1+x, x2-(5-x), y1+x)&lt;br /&gt;
      --&amp;quot;\ /&amp;quot;&lt;br /&gt;
      gr.drawLine(x1+(5-x), y2-x, x2-(5-x), y2-x)&lt;br /&gt;
   end&lt;br /&gt;
   -- &amp;quot;| |&amp;quot;&lt;br /&gt;
   gr.drawRectangle(x1+1, y1+5, x2, y2-6, true)&lt;br /&gt;
   &lt;br /&gt;
   -------Draw lines&lt;br /&gt;
   gr.setColor(0, 128, 255)&lt;br /&gt;
   --&amp;quot; - &amp;quot;&lt;br /&gt;
   gr.drawLine(x1+5, y1, x2-6, y1)&lt;br /&gt;
   --&amp;quot;/ \&amp;quot;&lt;br /&gt;
   gr.drawLine(x1, y1+5, x1+5, y1)&lt;br /&gt;
   gr.drawLine(x2, y1+5, x2-5, y1)&lt;br /&gt;
   --&amp;quot;| |&amp;quot;&lt;br /&gt;
   gr.drawLine(x1, y1+5, x1, y2-5)&lt;br /&gt;
   gr.drawLine(x2, y1+5, x2, y2-5)&lt;br /&gt;
   --&amp;quot;\ /&amp;quot;&lt;br /&gt;
   gr.drawLine(x1, y2-5, x1+5, y2)&lt;br /&gt;
   gr.drawLine(x2, y2-5, x2-5, y2)&lt;br /&gt;
   --&amp;quot; - &amp;quot;&lt;br /&gt;
   gr.drawLine(x1+5, y2, x2-6, y2)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
setDamageColor = function(dcm)&lt;br /&gt;
   local r&lt;br /&gt;
   local g&lt;br /&gt;
   local b&lt;br /&gt;
   if dcm &amp;gt; .5 then&lt;br /&gt;
      r = 255 * math.sin(dcm*math.pi)&lt;br /&gt;
      g = 128+128 * math.sin(dcm*math.pi)&lt;br /&gt;
      b = -255 * math.cos(2*dcm*math.pi)&lt;br /&gt;
   else&lt;br /&gt;
      r = 255&lt;br /&gt;
      g = 255 * math.sin(dcm*math.pi)&lt;br /&gt;
      b = 0&lt;br /&gt;
   end&lt;br /&gt;
&lt;br /&gt;
   gr.setColor(r, g, b)&lt;br /&gt;
end&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===hud.lua===&lt;br /&gt;
&amp;lt;pre&amp;gt;if slf then&lt;br /&gt;
-------Draw speed&lt;br /&gt;
   x = 50&lt;br /&gt;
   y = 50&lt;br /&gt;
   &lt;br /&gt;
   drawBevRect(x, y, x+100, y+30)&lt;br /&gt;
   &lt;br /&gt;
   local vel = slf.Orientation:rotateVector(slf.Velocity)&lt;br /&gt;
   local mvel = slf.MaxVelocity&lt;br /&gt;
   &lt;br /&gt;
   --Skip beveled area&lt;br /&gt;
   x = x+5&lt;br /&gt;
   y = y+5&lt;br /&gt;
&lt;br /&gt;
   --Draw X component&lt;br /&gt;
   local speed = (vel.x/mvel.x)*10&lt;br /&gt;
   gr.drawRectangle(x, y+5, x+20, y+15, false)&lt;br /&gt;
   gr.drawRectangle(x+10, y+5, x+10+speed, y+15)&lt;br /&gt;
   &lt;br /&gt;
   --Skip last gauge(20 px)&lt;br /&gt;
   x = x+20+5&lt;br /&gt;
   &lt;br /&gt;
   --Draw Y component&lt;br /&gt;
   local speed = (vel.y/mvel.y)*10&lt;br /&gt;
   gr.drawRectangle(x, y, x+10, y+20, false)&lt;br /&gt;
   gr.drawRectangle(x, y+15, x+10, y+15+speed)&lt;br /&gt;
   &lt;br /&gt;
   --Skip last gauge(10 px)&lt;br /&gt;
   x=x+10+5&lt;br /&gt;
   &lt;br /&gt;
   --Draw Z component&lt;br /&gt;
   local speed = (vel.z/mvel.z)*50&lt;br /&gt;
   gr.drawRectangle(x, y+5, x+50, y+15, false)&lt;br /&gt;
   gr.drawRectangle(x, y+5, x+speed, y+15)&lt;br /&gt;
   &lt;br /&gt;
-------Draw life&lt;br /&gt;
   x = 25&lt;br /&gt;
   y = 200&lt;br /&gt;
   &lt;br /&gt;
   drawBevRect(x, y, x+20, y+110)&lt;br /&gt;
   &lt;br /&gt;
   x = x+5&lt;br /&gt;
   y = y+5&lt;br /&gt;
&lt;br /&gt;
   dcm = slf.HitpointsLeft/slf.HitpointsMax&lt;br /&gt;
   &lt;br /&gt;
   --Draw bar&lt;br /&gt;
   gr.drawRectangle(x, y, x+10, y+100, false)&lt;br /&gt;
   setDamageColor(dcm)&lt;br /&gt;
   gr.drawRectangle(x, y+(1-dcm)*100, x+10, y+100)&lt;br /&gt;
   &lt;br /&gt;
-------Draw mission time&lt;br /&gt;
   x = gr.getScreenWidth()-125&lt;br /&gt;
   y = 200&lt;br /&gt;
   &lt;br /&gt;
   drawBevRect(x, y, x+100, y+20)&lt;br /&gt;
   &lt;br /&gt;
   x = x+5&lt;br /&gt;
   y = y+5&lt;br /&gt;
&lt;br /&gt;
   gr.drawString(&amp;quot;Flight time: &amp;quot;, x, y)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-------Draw gun ammo&lt;br /&gt;
   x = 25&lt;br /&gt;
   y = gr.getScreenHeight()-45&lt;br /&gt;
   &lt;br /&gt;
   local pbank = slf.PrimaryBanks[1]&lt;br /&gt;
&lt;br /&gt;
   if pbank then&lt;br /&gt;
      local ammo = pbank.AmmoLeft/pbank.AmmoMax*70&lt;br /&gt;
      &lt;br /&gt;
      drawBevRect(x, y, x+120, y+20)&lt;br /&gt;
&lt;br /&gt;
      --Skip beveled area&lt;br /&gt;
      x = x+5&lt;br /&gt;
      y = y+5&lt;br /&gt;
      &lt;br /&gt;
      --Draw bar&lt;br /&gt;
      gr.drawRectangle(x, y, x+70, y+10, false)&lt;br /&gt;
      gr.drawRectangle(x, y, x+ammo, y+10)&lt;br /&gt;
      &lt;br /&gt;
      --Skip bar(70px)&lt;br /&gt;
      x = x+70+5&lt;br /&gt;
      &lt;br /&gt;
      --Draw number&lt;br /&gt;
      gr.drawString(pbank.AmmoLeft, x, y)&lt;br /&gt;
   end&lt;br /&gt;
&lt;br /&gt;
-------Draw missile ammo&lt;br /&gt;
   x = gr.getScreenWidth()-190&lt;br /&gt;
   y = gr.getScreenHeight()-45&lt;br /&gt;
   &lt;br /&gt;
   local sbank = slf.SecondaryBanks[1]&lt;br /&gt;
&lt;br /&gt;
   if sbank then&lt;br /&gt;
      local sb_left = sbank.AmmoLeft&lt;br /&gt;
      local sb_max = sbank.AmmoMax&lt;br /&gt;
&lt;br /&gt;
      drawBevRect(x, y, x+165, y+20)&lt;br /&gt;
&lt;br /&gt;
      x = x+5&lt;br /&gt;
      y = y+5&lt;br /&gt;
&lt;br /&gt;
      for i = 1,16 do&lt;br /&gt;
         if i &amp;gt; sb_max then&lt;br /&gt;
            break&lt;br /&gt;
         elseif i &amp;gt; sb_left then&lt;br /&gt;
            gr.drawRectangle(x, y, x+5, y+10, false)&lt;br /&gt;
         else&lt;br /&gt;
            gr.drawRectangle(x, y, x+5, y+10)&lt;br /&gt;
         end&lt;br /&gt;
&lt;br /&gt;
         x = x+10&lt;br /&gt;
      end&lt;br /&gt;
   end&lt;br /&gt;
   &lt;br /&gt;
-------Draw countermeasures&lt;br /&gt;
   x = (gr.getScreenWidth()/2)-(105/2)&lt;br /&gt;
   y = gr.getScreenHeight()-40&lt;br /&gt;
   &lt;br /&gt;
   local cm_max = slf.Class.CountermeasuresMax&lt;br /&gt;
   &lt;br /&gt;
   if cm_max then&lt;br /&gt;
      local cm_left = slf.CountermeasuresLeft&lt;br /&gt;
      drawBevRect(x, y, x+105, y+15)&lt;br /&gt;
   &lt;br /&gt;
      x = x+5&lt;br /&gt;
      y = y+5&lt;br /&gt;
&lt;br /&gt;
      for i = 1,10 do&lt;br /&gt;
         if i &amp;gt; cm_max then&lt;br /&gt;
            break&lt;br /&gt;
         elseif i &amp;gt; cm_left then&lt;br /&gt;
            --&amp;quot;-&amp;quot;&lt;br /&gt;
            gr.drawLine(x+2, y+2, x+3, y+2)&lt;br /&gt;
            --&amp;quot;|&amp;quot;&lt;br /&gt;
            gr.drawLine(x+2, y+2, x+2, y+3)&lt;br /&gt;
         else&lt;br /&gt;
            --&amp;quot;-&amp;quot;&lt;br /&gt;
            gr.drawLine(x, y+2, x+5, y+2)&lt;br /&gt;
            --&amp;quot;|&amp;quot;&lt;br /&gt;
            gr.drawLine(x+2, y, x+2, y+5)&lt;br /&gt;
            --&amp;quot;\&amp;quot;&lt;br /&gt;
            gr.drawLine(x, y, x+5, y+5)&lt;br /&gt;
            --&amp;quot;/&amp;quot;&lt;br /&gt;
            gr.drawLine(x, y+5, x+5, y)&lt;br /&gt;
         end&lt;br /&gt;
&lt;br /&gt;
         x = x+10&lt;br /&gt;
      end&lt;br /&gt;
   end&lt;br /&gt;
&lt;br /&gt;
--/slf&lt;br /&gt;
end&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting Examples|Example HUD]]&lt;/div&gt;</summary>
		<author><name>WMCoolmon</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=File:Script-hudexample.jpg&amp;diff=6538</id>
		<title>File:Script-hudexample.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=File:Script-hudexample.jpg&amp;diff=6538"/>
		<updated>2006-07-01T04:10:07Z</updated>

		<summary type="html">&lt;p&gt;WMCoolmon: Screenshot of a partial HUD created using scripting.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Screenshot of a partial HUD created using scripting.&lt;/div&gt;</summary>
		<author><name>WMCoolmon</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Template:Captionedimage&amp;diff=6537</id>
		<title>Template:Captionedimage</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Template:Captionedimage&amp;diff=6537"/>
		<updated>2006-07-01T04:06:18Z</updated>

		<summary type="html">&lt;p&gt;WMCoolmon: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| border=0 align=right cellpadding=0 cellspacing=0 width=30% style=&amp;quot;margin: 0 0 1em 1em; background: #101010; border: 1px #AA2020 solid; border-collapse: collapse; font-size: 95%;&amp;quot;&lt;br /&gt;
! style=&amp;quot;color: white; height: 30px; background: #1B0E0E; 70%;&amp;quot;| {{{image}}}&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;color: white; height: 30px; background: #302020; 70%; align:center&amp;quot;| {{{caption}}}&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>WMCoolmon</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=User:WMCoolmon&amp;diff=6536</id>
		<title>User:WMCoolmon</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=User:WMCoolmon&amp;diff=6536"/>
		<updated>2006-07-01T04:04:14Z</updated>

		<summary type="html">&lt;p&gt;WMCoolmon: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Within the Freespace community, I&#039;m one of the Source Code Project coders. I&#039;ve implemented a number of features, of which possibly the most notable are [[Modular Tables]] and the [[FS2_Open Lua Scripting|Lua scripting system]].&lt;br /&gt;
&lt;br /&gt;
I&#039;ve done some writing already for the wiki, and it tends to be pretty varied and (hopefully) informative.&lt;/div&gt;</summary>
		<author><name>WMCoolmon</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Objecttypes.tbl&amp;diff=6269</id>
		<title>Objecttypes.tbl</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Objecttypes.tbl&amp;diff=6269"/>
		<updated>2006-06-20T06:34:25Z</updated>

		<summary type="html">&lt;p&gt;WMCoolmon: Experimenting with image on a TBL page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{shipimage|image=[[image:objecttypes.gif|thumbnail|320px]]|caption=objecttypes.tbl in action}}&lt;br /&gt;
&lt;br /&gt;
Objecttypes.tbl is a table added by the FSSCP, used to set attributes of different object types. Currently the only section of this table are ship type attributes. A ship &#039;type&#039; supercedes ship classes defined in ships.tbl. For example, the [[GTF Perseus]] and [[GTF Ulysses]] belong to the &#039;fighter&#039; ship type. However, the [[GTD Orion]] belongs to the &#039;capital&#039; ship type.&lt;br /&gt;
&lt;br /&gt;
Note that objecttypes.tbl is fully XMT-compliant, with the suffix *-obt.tbm. In addition, the retail hardcoded types are being ported over to the objecttypes.tbl via an in-code table. So if a mod wishes to expand on the original types rather than replace them entirely, it should use a modular table file rather than a normal .tbl. Otherwise the in-code table will be ignored in favor of the one included in the mod, and the retail types will not be loaded (unless the mod includes them in its .tbl)&lt;br /&gt;
&lt;br /&gt;
Note that a number of aspects of the retail types are still hardcoded, although they may be moved to the objecttypes.tbl if a mod requests it.&lt;br /&gt;
&lt;br /&gt;
==General Format==&lt;br /&gt;
==#Ship Types==&lt;br /&gt;
===$Name:===&lt;br /&gt;
* Name of ship type. To assign a ship class to a given type, simply place the name entered here in the ship class&#039;s &amp;quot;$Flags:&amp;quot; field.&lt;br /&gt;
&lt;br /&gt;
===$Counts for Alone:===&lt;br /&gt;
* Whether ship counts for determing whether or not Freespace 2 will play the &amp;quot;No reinforcements are available&amp;quot; message.&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Praise Destruction:===&lt;br /&gt;
* Whether wingmates will praise destruction of the ship.&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$On Hotkey List:===&lt;br /&gt;
* Whether ship will show up in hotkey screen.&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Target as Threat:===&lt;br /&gt;
* Whether ship will be targetted with the &#039;H&#039; key.&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Scannable:===&lt;br /&gt;
* Toggles whether ship type can be scanned&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Warp Pushes:===&lt;br /&gt;
* Whether ship will push other (pushable) ships out of the way while warping.&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Warp Pushable:===&lt;br /&gt;
* Whether ship can be pushed out of the way by ships with Warp Pushes enabled&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Max Debris Speed:===&lt;br /&gt;
* Maximum speed of debris spawned from ship&lt;br /&gt;
* Syntax: &#039;&#039;Number or decimal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$FF Multiplier:===&lt;br /&gt;
* Friendly-fire damage to ship will be multiplied by this amount&lt;br /&gt;
* Syntax: &#039;&#039;Number or decimal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$EMP Multiplier:===&lt;br /&gt;
* EMP effect will be multiplied by this amount. Higher values mean more HUD jittering/longer-lasting effect.&lt;br /&gt;
* Syntax: &#039;&#039;Number or decimal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Beams Easily Hit:===&lt;br /&gt;
* Whether beams can easily hit ship (eg capship beams rarely hit fighters)&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Fog:===&lt;br /&gt;
====+Start Dist:====&lt;br /&gt;
* Distance from camera that fogging effect will start&lt;br /&gt;
* Syntax: &#039;&#039;Number or decimal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====+Compl Dist:====&lt;br /&gt;
* Distance from camera that this object will be completely obscured by the fogging effect&lt;br /&gt;
* Syntax: &#039;&#039;Number or decimal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$AI:===&lt;br /&gt;
====+Valid Goals:====&lt;br /&gt;
* Valid goals that can be given to this object.&lt;br /&gt;
* Syntax: &#039;&#039;( &amp;quot;goal&amp;quot; &amp;quot;goal&amp;quot; )&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Goals:&#039;&#039;&#039;&lt;br /&gt;
** attack ship&lt;br /&gt;
** dock&lt;br /&gt;
** waypoints&lt;br /&gt;
** waypoints once&lt;br /&gt;
** depart&lt;br /&gt;
** attack subsys&lt;br /&gt;
** form on wing&lt;br /&gt;
** undock&lt;br /&gt;
** attack wing&lt;br /&gt;
** guard ship&lt;br /&gt;
** disable ship&lt;br /&gt;
** disarm ship&lt;br /&gt;
** attack any&lt;br /&gt;
** ignore ship&lt;br /&gt;
** ignore ship (new)&lt;br /&gt;
** guard wing&lt;br /&gt;
** evade ship&lt;br /&gt;
** stay near ship&lt;br /&gt;
** keep safe dist&lt;br /&gt;
** rearm ship&lt;br /&gt;
** stay still&lt;br /&gt;
** play dead&lt;br /&gt;
** attack weapon&lt;br /&gt;
** fly to ship&lt;br /&gt;
&lt;br /&gt;
====+Accept Player Orders:====&lt;br /&gt;
* Whether or not ship type will accept orders from player&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====+Player Orders:====&lt;br /&gt;
* Orders that ship type will accept from player&lt;br /&gt;
* Syntax: &#039;&#039;( &amp;quot;goal&amp;quot; &amp;quot;goal&amp;quot; )&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Orders:&#039;&#039;&#039;&lt;br /&gt;
** attack ship&lt;br /&gt;
** disable ship&lt;br /&gt;
** disarm ship&lt;br /&gt;
** disable subsys&lt;br /&gt;
** guard ship&lt;br /&gt;
** ignore ship&lt;br /&gt;
** form on wing&lt;br /&gt;
** cover me&lt;br /&gt;
** attack any&lt;br /&gt;
** depart&lt;br /&gt;
** dock&lt;br /&gt;
** rearm me&lt;br /&gt;
** abort rearm&lt;br /&gt;
** stay near me&lt;br /&gt;
** stay near ship&lt;br /&gt;
** keep safe dist&lt;br /&gt;
&lt;br /&gt;
====+Auto Attacks:====&lt;br /&gt;
* Whether or not ship type will auto attack nearby ships&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====+Attempt Broadsides:====&lt;br /&gt;
* Whether or not ship type will try to use broadside tactics against enemy ships&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====+Actively Pursues:====&lt;br /&gt;
* Which ship types the current ship type will actively pursue (rather than simply return to guard position or whatnot)&lt;br /&gt;
* Syntax: &#039;&#039;( &amp;quot;type&amp;quot; &amp;quot;type&amp;quot; )&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====+Guards Attack this:====&lt;br /&gt;
* Whether ships assigned to guard another ship will attempt to engage ships of the type&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====+Turrets Attack This:====&lt;br /&gt;
* Whether or not turrets will target the ships of the type&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====+Can Form Wing:====&lt;br /&gt;
* Whether or not ship type can be formed into a wing&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====+Active Docks:====&lt;br /&gt;
* Preferred docking bay type for ship when it is initiating the dock with another ship&lt;br /&gt;
* Syntax: &#039;&#039;( &amp;quot;bay&amp;quot; &amp;quot;bay&amp;quot; )&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Dock bays:&#039;&#039;&#039;&lt;br /&gt;
** cargo&lt;br /&gt;
** rearm&lt;br /&gt;
** generic&lt;br /&gt;
&lt;br /&gt;
====+Passive Docks:====&lt;br /&gt;
* Preferred docking bay type for ship when it is receiving a dock from another ship&lt;br /&gt;
* Syntax: &#039;&#039;( &amp;quot;bay&amp;quot; &amp;quot;bay&amp;quot; )&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Dock bays:&#039;&#039;&#039;&lt;br /&gt;
** cargo&lt;br /&gt;
** rearm&lt;br /&gt;
** generic&lt;br /&gt;
&lt;br /&gt;
==#End==&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
&lt;br /&gt;
===Default FreeSpace 2 Table===&lt;br /&gt;
*This version of table won&#039;t work on builds before June 7th.&lt;br /&gt;
*Shiptypes &#039;&#039;&#039;Stealth&#039;&#039;&#039; and &#039;&#039;&#039;Fighter/Bomber&#039;&#039;&#039; do not seem to be used&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$Name:                  Navbuoy&lt;br /&gt;
$Max Debris Speed:      200&lt;br /&gt;
$FF Multiplier:         1.0&lt;br /&gt;
$EMP Multiplier:        10.0&lt;br /&gt;
$Fog:&lt;br /&gt;
   +Start dist:            10.0&lt;br /&gt;
   +Compl dist:            500.0&lt;br /&gt;
$AI:&lt;br /&gt;
   +Actively Pursues:      (  &amp;quot;navbuoy&amp;quot;&lt;br /&gt;
                              &amp;quot;sentrygun&amp;quot;&lt;br /&gt;
                              &amp;quot;escapepod&amp;quot;&lt;br /&gt;
                              &amp;quot;cargo&amp;quot;&lt;br /&gt;
                              &amp;quot;repair_rearm&amp;quot;&lt;br /&gt;
                              &amp;quot;stealth&amp;quot;&lt;br /&gt;
                              &amp;quot;fighter&amp;quot;&lt;br /&gt;
                              &amp;quot;bomber&amp;quot;&lt;br /&gt;
                              &amp;quot;fighter/bomber&amp;quot;&lt;br /&gt;
                              &amp;quot;transport&amp;quot;&lt;br /&gt;
                              &amp;quot;freighter&amp;quot;&lt;br /&gt;
                              &amp;quot;awacs&amp;quot;&lt;br /&gt;
                              &amp;quot;gas miner&amp;quot;&lt;br /&gt;
                              &amp;quot;cruiser&amp;quot;&lt;br /&gt;
                              &amp;quot;corvette&amp;quot;&lt;br /&gt;
                              &amp;quot;capital&amp;quot;&lt;br /&gt;
                              &amp;quot;supercap&amp;quot;&lt;br /&gt;
                              &amp;quot;drydock&amp;quot;&lt;br /&gt;
                              &amp;quot;knossos&amp;quot; )&lt;br /&gt;
   +Turrets attack this:   YES&lt;br /&gt;
&lt;br /&gt;
$Name:                  sentrygun&lt;br /&gt;
$Counts for Alone:      YES&lt;br /&gt;
$On Hotkey List:        YES&lt;br /&gt;
$Target as Threat:      YES&lt;br /&gt;
$Show Attack Direction: YES&lt;br /&gt;
$Max Debris Speed:      200&lt;br /&gt;
$FF Multiplier:         0.10&lt;br /&gt;
$EMP Multiplier:        10.0&lt;br /&gt;
$Fog:&lt;br /&gt;
   +Start dist:            10.0&lt;br /&gt;
   +Compl dist:            500.0&lt;br /&gt;
   +Disappear factor:      1.5&lt;br /&gt;
$AI:&lt;br /&gt;
   +Accept Player Orders:  NO&lt;br /&gt;
   +Auto attacks:          YES&lt;br /&gt;
   +Actively Pursues:      (  &amp;quot;navbuoy&amp;quot;&lt;br /&gt;
                              &amp;quot;sentrygun&amp;quot;&lt;br /&gt;
                              &amp;quot;escapepod&amp;quot;&lt;br /&gt;
                              &amp;quot;cargo&amp;quot;&lt;br /&gt;
                              &amp;quot;repair_rearm&amp;quot;&lt;br /&gt;
                              &amp;quot;stealth&amp;quot;&lt;br /&gt;
                              &amp;quot;fighter&amp;quot;&lt;br /&gt;
                              &amp;quot;bomber&amp;quot;&lt;br /&gt;
                              &amp;quot;fighter/bomber&amp;quot;&lt;br /&gt;
                              &amp;quot;transport&amp;quot;&lt;br /&gt;
                              &amp;quot;freighter&amp;quot;&lt;br /&gt;
                              &amp;quot;awacs&amp;quot;&lt;br /&gt;
                              &amp;quot;gas miner&amp;quot;&lt;br /&gt;
                              &amp;quot;cruiser&amp;quot;&lt;br /&gt;
                              &amp;quot;corvette&amp;quot;&lt;br /&gt;
                              &amp;quot;capital&amp;quot;&lt;br /&gt;
                              &amp;quot;supercap&amp;quot;&lt;br /&gt;
                              &amp;quot;drydock&amp;quot;&lt;br /&gt;
                              &amp;quot;knossos&amp;quot; )&lt;br /&gt;
   +Guards attack this:    YES&lt;br /&gt;
   +Turrets attack this:   YES&lt;br /&gt;
&lt;br /&gt;
$Name:                  escapepod&lt;br /&gt;
$Praise Destruction:    YES&lt;br /&gt;
$On Hotkey List:        YES&lt;br /&gt;
$Warp Pushable:         YES&lt;br /&gt;
$Max Debris Speed:      200&lt;br /&gt;
$FF Multiplier:         1.0&lt;br /&gt;
$EMP Multiplier:        10.0&lt;br /&gt;
$Fog:&lt;br /&gt;
   +Start dist:         10.0&lt;br /&gt;
   +Compl dist:         600.0&lt;br /&gt;
   +Disappear factor:   1.5&lt;br /&gt;
$AI:&lt;br /&gt;
   +Valid goals:        (  &amp;quot;fly to ship&amp;quot;&lt;br /&gt;
                           &amp;quot;attack ship&amp;quot;&lt;br /&gt;
                           &amp;quot;attack wing&amp;quot;&lt;br /&gt;
                           &amp;quot;dock&amp;quot;&lt;br /&gt;
                           &amp;quot;waypoints&amp;quot;&lt;br /&gt;
                           &amp;quot;waypoints once&amp;quot;&lt;br /&gt;
                           &amp;quot;depart&amp;quot;&lt;br /&gt;
                           &amp;quot;undock&amp;quot;&lt;br /&gt;
                           &amp;quot;stay still&amp;quot;&lt;br /&gt;
                           &amp;quot;play dead&amp;quot;&lt;br /&gt;
                           &amp;quot;stay near ship&amp;quot; )&lt;br /&gt;
   +Actively Pursues:   (  &amp;quot;navbuoy&amp;quot;&lt;br /&gt;
                           &amp;quot;sentrygun&amp;quot;&lt;br /&gt;
                           &amp;quot;escapepod&amp;quot;&lt;br /&gt;
                           &amp;quot;cargo&amp;quot;&lt;br /&gt;
                           &amp;quot;repair_rearm&amp;quot;&lt;br /&gt;
                           &amp;quot;stealth&amp;quot;&lt;br /&gt;
                           &amp;quot;fighter&amp;quot;&lt;br /&gt;
                           &amp;quot;bomber&amp;quot;&lt;br /&gt;
                           &amp;quot;fighter/bomber&amp;quot;&lt;br /&gt;
                           &amp;quot;transport&amp;quot;&lt;br /&gt;
                           &amp;quot;freighter&amp;quot;&lt;br /&gt;
                           &amp;quot;awacs&amp;quot;&lt;br /&gt;
                           &amp;quot;gas miner&amp;quot;&lt;br /&gt;
                           &amp;quot;cruiser&amp;quot;&lt;br /&gt;
                           &amp;quot;corvette&amp;quot;&lt;br /&gt;
                           &amp;quot;capital&amp;quot;&lt;br /&gt;
                           &amp;quot;supercap&amp;quot;&lt;br /&gt;
                           &amp;quot;drydock&amp;quot;&lt;br /&gt;
                           &amp;quot;knossos&amp;quot; )&lt;br /&gt;
   +Turrets attack this:   YES&lt;br /&gt;
&lt;br /&gt;
$Name:                  Cargo&lt;br /&gt;
$Scannable:             YES&lt;br /&gt;
$Max Debris Speed:      200&lt;br /&gt;
$FF Multiplier:         0.10&lt;br /&gt;
$EMP Multiplier:        10.0&lt;br /&gt;
$Beams Easily Hit:      YES&lt;br /&gt;
$Fog:&lt;br /&gt;
   +Start dist:            10.0&lt;br /&gt;
   +Compl dist:            500.0&lt;br /&gt;
   +Disappear factor:      1.5&lt;br /&gt;
$AI:&lt;br /&gt;
   +Passive docks:         (  &amp;quot;cargo&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
$Name:                  repair_rearm&lt;br /&gt;
$Counts for Alone:      YES&lt;br /&gt;
$Praise Destruction:    YES&lt;br /&gt;
$On Hotkey List:        YES&lt;br /&gt;
$Target as Threat:      YES&lt;br /&gt;
$Show Attack Direction: YES&lt;br /&gt;
$Warp Pushable:         YES&lt;br /&gt;
$Max Debris Speed:      200&lt;br /&gt;
$FF Multiplier:         1.0&lt;br /&gt;
$EMP Multiplier:        3.5&lt;br /&gt;
$Fog:&lt;br /&gt;
   +Start dist:            10.0&lt;br /&gt;
   +Compl dist:            500.0&lt;br /&gt;
   +Disappear factor:      1.5&lt;br /&gt;
$AI:&lt;br /&gt;
   +Valid goals:           (  &amp;quot;fly to ship&amp;quot;&lt;br /&gt;
                              &amp;quot;dock&amp;quot;&lt;br /&gt;
                              &amp;quot;undock&amp;quot;&lt;br /&gt;
                              &amp;quot;waypoints&amp;quot;&lt;br /&gt;
                              &amp;quot;waypoints once&amp;quot;&lt;br /&gt;
                              &amp;quot;stay near ship&amp;quot;&lt;br /&gt;
                              &amp;quot;keep safe dist&amp;quot;&lt;br /&gt;
                              &amp;quot;stay still&amp;quot;&lt;br /&gt;
                              &amp;quot;play dead&amp;quot; )&lt;br /&gt;
   +Accept Player Orders:  YES&lt;br /&gt;
   +Player orders:         (  &amp;quot;rearm me&amp;quot;&lt;br /&gt;
                              &amp;quot;abort rearm&amp;quot;&lt;br /&gt;
                              &amp;quot;stay near me&amp;quot;&lt;br /&gt;
                              &amp;quot;stay near ship&amp;quot;&lt;br /&gt;
                              &amp;quot;keep safe dist&amp;quot;&lt;br /&gt;
                              &amp;quot;depart&amp;quot; )&lt;br /&gt;
   +Auto attacks:          YES&lt;br /&gt;
   +Actively Pursues:      (  &amp;quot;navbuoy&amp;quot;&lt;br /&gt;
                              &amp;quot;sentrygun&amp;quot;&lt;br /&gt;
                              &amp;quot;escapepod&amp;quot;&lt;br /&gt;
                              &amp;quot;cargo&amp;quot;&lt;br /&gt;
                              &amp;quot;repair_rearm&amp;quot;&lt;br /&gt;
                              &amp;quot;stealth&amp;quot;&lt;br /&gt;
                              &amp;quot;fighter&amp;quot;&lt;br /&gt;
                              &amp;quot;bomber&amp;quot;&lt;br /&gt;
                              &amp;quot;fighter/bomber&amp;quot;&lt;br /&gt;
                              &amp;quot;transport&amp;quot;&lt;br /&gt;
                              &amp;quot;freighter&amp;quot;&lt;br /&gt;
                              &amp;quot;awacs&amp;quot;&lt;br /&gt;
                              &amp;quot;gas miner&amp;quot;&lt;br /&gt;
                              &amp;quot;cruiser&amp;quot;&lt;br /&gt;
                              &amp;quot;corvette&amp;quot;&lt;br /&gt;
                              &amp;quot;capital&amp;quot;&lt;br /&gt;
                              &amp;quot;supercap&amp;quot;&lt;br /&gt;
                              &amp;quot;drydock&amp;quot;&lt;br /&gt;
                              &amp;quot;knossos&amp;quot; )&lt;br /&gt;
   +Guards attack this:    YES&lt;br /&gt;
   +Turrets attack this:   YES&lt;br /&gt;
   +Active docks:          (  &amp;quot;support&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
$Name:                  Stealth&lt;br /&gt;
$Counts for Alone:      YES&lt;br /&gt;
$Praise Destruction:    YES&lt;br /&gt;
$On Hotkey List:        YES&lt;br /&gt;
$Target as Threat:      YES&lt;br /&gt;
$Show Attack Direction: YES&lt;br /&gt;
$Max Debris Speed:      200&lt;br /&gt;
$FF Multiplier:         1.0&lt;br /&gt;
$EMP Multiplier:        4.0&lt;br /&gt;
$Fog:&lt;br /&gt;
   +Start dist:            10.0&lt;br /&gt;
   +Compl dist:            500.0&lt;br /&gt;
   +Disappear factor:      1.5&lt;br /&gt;
$AI:&lt;br /&gt;
   +Valid goals:           (  &amp;quot;fly to ship&amp;quot;&lt;br /&gt;
                              &amp;quot;attack ship&amp;quot;&lt;br /&gt;
                              &amp;quot;waypoints&amp;quot;&lt;br /&gt;
                              &amp;quot;waypoints once&amp;quot;&lt;br /&gt;
                              &amp;quot;depart&amp;quot;&lt;br /&gt;
                              &amp;quot;attack subsys&amp;quot;&lt;br /&gt;
                              &amp;quot;attack wing&amp;quot;&lt;br /&gt;
                              &amp;quot;guard ship&amp;quot;&lt;br /&gt;
                              &amp;quot;disable ship&amp;quot;&lt;br /&gt;
                              &amp;quot;disarm ship&amp;quot;&lt;br /&gt;
                              &amp;quot;attack any&amp;quot;&lt;br /&gt;
                              &amp;quot;ignore ship&amp;quot;&lt;br /&gt;
                              &amp;quot;ignore ship (new)&amp;quot;&lt;br /&gt;
                              &amp;quot;guard wing&amp;quot;&lt;br /&gt;
                              &amp;quot;evade ship&amp;quot;&lt;br /&gt;
                              &amp;quot;stay still&amp;quot;&lt;br /&gt;
                              &amp;quot;play dead&amp;quot;&lt;br /&gt;
                              &amp;quot;stay near ship&amp;quot;&lt;br /&gt;
                              &amp;quot;keep safe dist&amp;quot; )&lt;br /&gt;
   +Accept Player Orders:  YES&lt;br /&gt;
   +Player Orders:         (  &amp;quot;attack ship&amp;quot;&lt;br /&gt;
                              &amp;quot;disable ship&amp;quot;&lt;br /&gt;
                              &amp;quot;disarm ship&amp;quot;&lt;br /&gt;
                              &amp;quot;guard ship&amp;quot;&lt;br /&gt;
                              &amp;quot;ignore ship&amp;quot;&lt;br /&gt;
                              &amp;quot;ignore ship (new)&amp;quot;&lt;br /&gt;
                              &amp;quot;form on wing&amp;quot;&lt;br /&gt;
                              &amp;quot;cover me&amp;quot;&lt;br /&gt;
                              &amp;quot;attack any&amp;quot;&lt;br /&gt;
                              &amp;quot;depart&amp;quot;&lt;br /&gt;
                              &amp;quot;disable subsys\&amp;quot; )&lt;br /&gt;
   +Auto attacks:          YES&lt;br /&gt;
   +Actively Pursues:      (  &amp;quot;navbuoy&amp;quot;&lt;br /&gt;
                              &amp;quot;sentrygun&amp;quot;&lt;br /&gt;
                              &amp;quot;escapepod&amp;quot;&lt;br /&gt;
                              &amp;quot;cargo&amp;quot;&lt;br /&gt;
                              &amp;quot;repair_rearm&amp;quot;&lt;br /&gt;
                              &amp;quot;stealth&amp;quot;&lt;br /&gt;
                              &amp;quot;fighter&amp;quot;&lt;br /&gt;
                              &amp;quot;bomber&amp;quot;&lt;br /&gt;
                              &amp;quot;fighter/bomber&amp;quot;&lt;br /&gt;
                              &amp;quot;transport&amp;quot;&lt;br /&gt;
                              &amp;quot;freighter&amp;quot;&lt;br /&gt;
                              &amp;quot;awacs&amp;quot;&lt;br /&gt;
                              &amp;quot;gas miner&amp;quot;&lt;br /&gt;
                              &amp;quot;cruiser&amp;quot;&lt;br /&gt;
                              &amp;quot;corvette&amp;quot;&lt;br /&gt;
                              &amp;quot;capital&amp;quot;&lt;br /&gt;
                              &amp;quot;supercap&amp;quot;&lt;br /&gt;
                              &amp;quot;drydock&amp;quot;&lt;br /&gt;
                              &amp;quot;knossos\&amp;quot; )&lt;br /&gt;
   +Guards attack this:    YES&lt;br /&gt;
   +Turrets attack this:   YES&lt;br /&gt;
   +Passive docks:         (  &amp;quot;support&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
$Name:                  Fighter&lt;br /&gt;
$Counts for Alone:      YES&lt;br /&gt;
$Praise Destruction:    YES&lt;br /&gt;
$On Hotkey List:        YES&lt;br /&gt;
$Target as Threat:      YES&lt;br /&gt;
$Show Attack Direction: YES&lt;br /&gt;
$Warp Pushable:         YES&lt;br /&gt;
$Max Debris Speed:      200&lt;br /&gt;
$FF Multiplier:         1.0&lt;br /&gt;
$EMP Multiplier:        4.0&lt;br /&gt;
$Fog:&lt;br /&gt;
   +Start dist:            10.0&lt;br /&gt;
   +Compl dist:            500.0&lt;br /&gt;
   +Disappear factor:      1.5&lt;br /&gt;
$AI:&lt;br /&gt;
   +Valid goals:           (  &amp;quot;fly to ship&amp;quot;&lt;br /&gt;
                              &amp;quot;attack ship&amp;quot;&lt;br /&gt;
                              &amp;quot;waypoints&amp;quot;&lt;br /&gt;
                              &amp;quot;waypoints once&amp;quot;&lt;br /&gt;
                              &amp;quot;depart&amp;quot;&lt;br /&gt;
                              &amp;quot;attack subsys&amp;quot;&lt;br /&gt;
                              &amp;quot;attack wing&amp;quot;&lt;br /&gt;
                              &amp;quot;guard ship&amp;quot;&lt;br /&gt;
                              &amp;quot;disable ship&amp;quot;&lt;br /&gt;
                              &amp;quot;disarm ship&amp;quot;&lt;br /&gt;
                              &amp;quot;attack any&amp;quot;&lt;br /&gt;
                              &amp;quot;ignore ship&amp;quot;&lt;br /&gt;
                              &amp;quot;ignore ship (new)&amp;quot;&lt;br /&gt;
                              &amp;quot;guard wing&amp;quot;&lt;br /&gt;
                              &amp;quot;evade ship&amp;quot;&lt;br /&gt;
                              &amp;quot;stay still&amp;quot;&lt;br /&gt;
                              &amp;quot;play dead&amp;quot;&lt;br /&gt;
                              &amp;quot;stay near ship&amp;quot;&lt;br /&gt;
                              &amp;quot;keep safe dist&amp;quot; )&lt;br /&gt;
   +Accept Player Orders:  YES&lt;br /&gt;
   +Player Orders:         (  &amp;quot;attack ship&amp;quot;&lt;br /&gt;
                              &amp;quot;disable ship&amp;quot;&lt;br /&gt;
                              &amp;quot;disarm ship&amp;quot;&lt;br /&gt;
                              &amp;quot;guard ship&amp;quot;&lt;br /&gt;
                              &amp;quot;ignore ship&amp;quot;&lt;br /&gt;
                              &amp;quot;ignore ship (new)&amp;quot;&lt;br /&gt;
                              &amp;quot;form on wing&amp;quot;&lt;br /&gt;
                              &amp;quot;cover me&amp;quot;&lt;br /&gt;
                              &amp;quot;attack any&amp;quot;&lt;br /&gt;
                              &amp;quot;depart&amp;quot;&lt;br /&gt;
                              &amp;quot;disable subsys&amp;quot; )&lt;br /&gt;
   +Auto attacks:       YES&lt;br /&gt;
   +Actively Pursues:      (  &amp;quot;navbuoy&amp;quot;&lt;br /&gt;
                              &amp;quot;sentrygun&amp;quot;&lt;br /&gt;
                              &amp;quot;escapepod&amp;quot;&lt;br /&gt;
                              &amp;quot;cargo&amp;quot;&lt;br /&gt;
                              &amp;quot;repair_rearm&amp;quot;&lt;br /&gt;
                              &amp;quot;stealth&amp;quot;&lt;br /&gt;
                              &amp;quot;fighter&amp;quot;&lt;br /&gt;
                              &amp;quot;bomber&amp;quot;&lt;br /&gt;
                              &amp;quot;fighter/bomber&amp;quot;&lt;br /&gt;
                              &amp;quot;transport&amp;quot;&lt;br /&gt;
                              &amp;quot;freighter&amp;quot;&lt;br /&gt;
                              &amp;quot;awacs&amp;quot;&lt;br /&gt;
                              &amp;quot;gas miner&amp;quot;&lt;br /&gt;
                              &amp;quot;cruiser&amp;quot;&lt;br /&gt;
                              &amp;quot;corvette&amp;quot;&lt;br /&gt;
                              &amp;quot;capital&amp;quot;&lt;br /&gt;
                              &amp;quot;supercap&amp;quot;&lt;br /&gt;
                              &amp;quot;drydock&amp;quot;&lt;br /&gt;
                              &amp;quot;knossos&amp;quot; )&lt;br /&gt;
   +Guards attack this:    YES&lt;br /&gt;
   +Turrets attack this:   YES&lt;br /&gt;
   +Can Form Wing:         YES&lt;br /&gt;
   +Passive docks:         (  &amp;quot;support&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
$Name:                  Bomber&lt;br /&gt;
$Counts for Alone:      YES&lt;br /&gt;
$Praise Destruction:    YES&lt;br /&gt;
$On Hotkey List:        YES&lt;br /&gt;
$Target as Threat:      YES&lt;br /&gt;
$Show Attack Direction: YES&lt;br /&gt;
$Warp Pushable:         YES&lt;br /&gt;
$Max Debris Speed:      200&lt;br /&gt;
$FF Multiplier:         1.0&lt;br /&gt;
$EMP Multiplier:        4.0&lt;br /&gt;
$Fog:&lt;br /&gt;
   +Start dist:            10.0&lt;br /&gt;
   +Compl dist:            500.0&lt;br /&gt;
   +Disappear factor:      1.5&lt;br /&gt;
$AI:&lt;br /&gt;
   +Valid goals:           (  &amp;quot;fly to ship&amp;quot;&lt;br /&gt;
                              &amp;quot;attack ship&amp;quot;&lt;br /&gt;
                              &amp;quot;waypoints&amp;quot;&lt;br /&gt;
                              &amp;quot;waypoints once&amp;quot;&lt;br /&gt;
                              &amp;quot;depart&amp;quot;&lt;br /&gt;
                              &amp;quot;attack subsys&amp;quot;&lt;br /&gt;
                              &amp;quot;attack wing&amp;quot;&lt;br /&gt;
                              &amp;quot;guard ship&amp;quot;&lt;br /&gt;
                              &amp;quot;disable ship&amp;quot;&lt;br /&gt;
                              &amp;quot;disarm ship&amp;quot;&lt;br /&gt;
                              &amp;quot;attack any&amp;quot;&lt;br /&gt;
                              &amp;quot;ignore ship&amp;quot;&lt;br /&gt;
                              &amp;quot;ignore ship (new)&amp;quot;&lt;br /&gt;
                              &amp;quot;guard wing&amp;quot;&lt;br /&gt;
                              &amp;quot;evade ship&amp;quot;&lt;br /&gt;
                              &amp;quot;stay still&amp;quot;&lt;br /&gt;
                              &amp;quot;play dead&amp;quot;&lt;br /&gt;
                              &amp;quot;stay near ship&amp;quot;&lt;br /&gt;
                              &amp;quot;keep safe dist&amp;quot; )&lt;br /&gt;
   +Accept Player Orders:  YES&lt;br /&gt;
   +Player Orders:         (  &amp;quot;attack ship&amp;quot;&lt;br /&gt;
                              &amp;quot;disable ship&amp;quot;&lt;br /&gt;
                              &amp;quot;disarm ship&amp;quot;&lt;br /&gt;
                              &amp;quot;guard ship&amp;quot;&lt;br /&gt;
                              &amp;quot;ignore ship&amp;quot;&lt;br /&gt;
                              &amp;quot;ignore ship (new)&amp;quot;&lt;br /&gt;
                              &amp;quot;form on wing&amp;quot;&lt;br /&gt;
                              &amp;quot;cover me&amp;quot;&lt;br /&gt;
                              &amp;quot;attack any&amp;quot;&lt;br /&gt;
                              &amp;quot;depart&amp;quot;&lt;br /&gt;
                              &amp;quot;disable subsys&amp;quot; )&lt;br /&gt;
   +Auto attacks:          YES&lt;br /&gt;
   +Actively Pursues:      (  &amp;quot;navbuoy&amp;quot;&lt;br /&gt;
                              &amp;quot;sentrygun&amp;quot;&lt;br /&gt;
                              &amp;quot;escapepod&amp;quot;&lt;br /&gt;
                              &amp;quot;cargo&amp;quot;&lt;br /&gt;
                              &amp;quot;repair_rearm&amp;quot;&lt;br /&gt;
                              &amp;quot;stealth&amp;quot;&lt;br /&gt;
                              &amp;quot;fighter&amp;quot;&lt;br /&gt;
                              &amp;quot;bomber&amp;quot;&lt;br /&gt;
                              &amp;quot;fighter/bomber&amp;quot;&lt;br /&gt;
                              &amp;quot;transport&amp;quot;&lt;br /&gt;
                              &amp;quot;freighter&amp;quot;&lt;br /&gt;
                              &amp;quot;awacs&amp;quot;&lt;br /&gt;
                              &amp;quot;gas miner&amp;quot;&lt;br /&gt;
                              &amp;quot;cruiser&amp;quot;&lt;br /&gt;
                              &amp;quot;corvette&amp;quot;&lt;br /&gt;
                              &amp;quot;capital&amp;quot;&lt;br /&gt;
                              &amp;quot;supercap&amp;quot;&lt;br /&gt;
                              &amp;quot;drydock&amp;quot;&lt;br /&gt;
                              &amp;quot;knossos&amp;quot; )&lt;br /&gt;
   +Guards attack this:    YES&lt;br /&gt;
   +Turrets attack this:   YES&lt;br /&gt;
   +Can Form Wing:         YES&lt;br /&gt;
   +Passive docks:         (  &amp;quot;support&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
$Name:                  Fighter/bomber&lt;br /&gt;
$Counts for Alone:      YES&lt;br /&gt;
$Praise Destruction:    YES&lt;br /&gt;
$On Hotkey List:        YES&lt;br /&gt;
$Target as Threat:      YES&lt;br /&gt;
$Show Attack Direction: YES&lt;br /&gt;
$Warp Pushable:         YES&lt;br /&gt;
$Max Debris Speed:      200&lt;br /&gt;
$FF Multiplier:         1.0&lt;br /&gt;
$EMP Multiplier:        4.0&lt;br /&gt;
$Fog:&lt;br /&gt;
   +Start dist:            10.0&lt;br /&gt;
   +Compl dist:            500.0&lt;br /&gt;
   +Disappear factor:      1.5&lt;br /&gt;
$AI:&lt;br /&gt;
   +Valid goals:           (  &amp;quot;fly to ship&amp;quot;&lt;br /&gt;
                              &amp;quot;attack ship&amp;quot;&lt;br /&gt;
                              &amp;quot;waypoints&amp;quot;&lt;br /&gt;
                              &amp;quot;waypoints once&amp;quot;&lt;br /&gt;
                              &amp;quot;depart&amp;quot;&lt;br /&gt;
                              &amp;quot;attack subsys&amp;quot;&lt;br /&gt;
                              &amp;quot;attack wing&amp;quot;&lt;br /&gt;
                              &amp;quot;guard ship&amp;quot;&lt;br /&gt;
                              &amp;quot;disable ship&amp;quot;&lt;br /&gt;
                              &amp;quot;disarm ship&amp;quot;&lt;br /&gt;
                              &amp;quot;attack any&amp;quot;&lt;br /&gt;
                              &amp;quot;ignore ship&amp;quot;&lt;br /&gt;
                              &amp;quot;ignore ship (new)&amp;quot; &amp;quot;guard wing&amp;quot;&lt;br /&gt;
                              &amp;quot;evade ship&amp;quot;&lt;br /&gt;
                              &amp;quot;stay still&amp;quot;&lt;br /&gt;
                              &amp;quot;play dead&amp;quot;&lt;br /&gt;
                              &amp;quot;stay near ship&amp;quot;&lt;br /&gt;
                              &amp;quot;keep safe dist&amp;quot; )&lt;br /&gt;
   +Accept Player Orders:  YES&lt;br /&gt;
   +Player Orders:         (  &amp;quot;attack ship&amp;quot;&lt;br /&gt;
                              &amp;quot;disable ship&amp;quot;&lt;br /&gt;
                              &amp;quot;disarm ship&amp;quot;&lt;br /&gt;
                              &amp;quot;guard ship&amp;quot;&lt;br /&gt;
                              &amp;quot;ignore ship&amp;quot;&lt;br /&gt;
                              &amp;quot;ignore ship (new)&amp;quot;&lt;br /&gt;
                              &amp;quot;form on wing&amp;quot;&lt;br /&gt;
                              &amp;quot;cover me&amp;quot;&lt;br /&gt;
                              &amp;quot;attack any&amp;quot;&lt;br /&gt;
                              &amp;quot;depart&amp;quot;&lt;br /&gt;
                              &amp;quot;disable subsys&amp;quot; )&lt;br /&gt;
   +Auto attacks:          YES&lt;br /&gt;
   +Actively Pursues:      (  &amp;quot;navbuoy&amp;quot;&lt;br /&gt;
                              &amp;quot;sentrygun&amp;quot;&lt;br /&gt;
                              &amp;quot;escapepod&amp;quot;&lt;br /&gt;
                              &amp;quot;cargo&amp;quot;&lt;br /&gt;
                              &amp;quot;repair_rearm&amp;quot;&lt;br /&gt;
                              &amp;quot;stealth&amp;quot;&lt;br /&gt;
                              &amp;quot;fighter&amp;quot;&lt;br /&gt;
                              &amp;quot;bomber&amp;quot;&lt;br /&gt;
                              &amp;quot;fighter/bomber&amp;quot;&lt;br /&gt;
                              &amp;quot;transport&amp;quot;&lt;br /&gt;
                              &amp;quot;freighter&amp;quot;&lt;br /&gt;
                              &amp;quot;awacs&amp;quot;&lt;br /&gt;
                              &amp;quot;gas miner&amp;quot;&lt;br /&gt;
                              &amp;quot;cruiser&amp;quot;&lt;br /&gt;
                              &amp;quot;corvette&amp;quot;&lt;br /&gt;
                              &amp;quot;capital&amp;quot;&lt;br /&gt;
                              &amp;quot;supercap&amp;quot;&lt;br /&gt;
                              &amp;quot;drydock&amp;quot;&lt;br /&gt;
                              &amp;quot;knossos&amp;quot; )&lt;br /&gt;
   +Guards attack this:    YES&lt;br /&gt;
   +Turrets attack this:   YES&lt;br /&gt;
   +Can Form Wing:         YES&lt;br /&gt;
   +Passive docks:         (  &amp;quot;support&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
$Name:                  Transport&lt;br /&gt;
$Counts for Alone:      YES&lt;br /&gt;
$Praise Destruction:    YES&lt;br /&gt;
$On Hotkey List:        YES&lt;br /&gt;
$Target as Threat:      YES&lt;br /&gt;
$Show Attack Direction: YES&lt;br /&gt;
$Max Debris Speed:      150&lt;br /&gt;
$FF Multiplier:         1.0&lt;br /&gt;
$EMP Multiplier:        2.0&lt;br /&gt;
$Beams Easily Hit:      YES&lt;br /&gt;
$Fog:&lt;br /&gt;
   +Start dist:            10.0&lt;br /&gt;
   +Compl dist:            500.0&lt;br /&gt;
   +Disappear factor:      2.0&lt;br /&gt;
$AI:&lt;br /&gt;
   +Valid goals:           (  &amp;quot;fly to ship&amp;quot;&lt;br /&gt;
                              &amp;quot;attack ship&amp;quot;&lt;br /&gt;
                              &amp;quot;attack wing&amp;quot;&lt;br /&gt;
                              &amp;quot;dock&amp;quot;&lt;br /&gt;
                              &amp;quot;waypoints&amp;quot;&lt;br /&gt;
                              &amp;quot;waypoints once&amp;quot;&lt;br /&gt;
                              &amp;quot;depart&amp;quot;&lt;br /&gt;
                              &amp;quot;undock&amp;quot;&lt;br /&gt;
                              &amp;quot;stay still&amp;quot;&lt;br /&gt;
                              &amp;quot;play dead&amp;quot;&lt;br /&gt;
                              &amp;quot;stay near ship&amp;quot; )&lt;br /&gt;
   +Accept Player Orders:  YES&lt;br /&gt;
   +Player Orders:         (  &amp;quot;attack ship&amp;quot;&lt;br /&gt;
                              &amp;quot;dock&amp;quot;&lt;br /&gt;
                              &amp;quot;depart&amp;quot; )&lt;br /&gt;
   +Auto attacks:          YES&lt;br /&gt;
   +Attempt Broadside:     YES&lt;br /&gt;
   +Actively Pursues:      (  &amp;quot;transport&amp;quot;&lt;br /&gt;
                              &amp;quot;freighter&amp;quot;&lt;br /&gt;
                              &amp;quot;awacs&amp;quot;&lt;br /&gt;
                              &amp;quot;gas miner&amp;quot;&lt;br /&gt;
                              &amp;quot;cruiser&amp;quot;&lt;br /&gt;
                              &amp;quot;corvette&amp;quot;&lt;br /&gt;
                              &amp;quot;capital&amp;quot;&lt;br /&gt;
                              &amp;quot;supercap&amp;quot;&lt;br /&gt;
                              &amp;quot;drydock&amp;quot;&lt;br /&gt;
                              &amp;quot;knossos&amp;quot; )&lt;br /&gt;
   +Guards attack this:    YES&lt;br /&gt;
   +Turrets attack this:   YES&lt;br /&gt;
   +Can Form Wing:         YES&lt;br /&gt;
   +Passive docks:         (  &amp;quot;support&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
$Name:                  Freighter&lt;br /&gt;
$Counts for Alone:      YES&lt;br /&gt;
$Praise Destruction:    YES&lt;br /&gt;
$On Hotkey List:        YES&lt;br /&gt;
$Target as Threat:      YES&lt;br /&gt;
$Show Attack Direction: YES&lt;br /&gt;
$Scannable:             YES&lt;br /&gt;
$Max Debris Speed:      150&lt;br /&gt;
$FF Multiplier:         1.0&lt;br /&gt;
$EMP Multiplier:        1.75&lt;br /&gt;
$Beams Easily Hit:      YES&lt;br /&gt;
$Fog:&lt;br /&gt;
   +Start dist:            10.0&lt;br /&gt;
   +Compl dist:            600.0&lt;br /&gt;
   +Disappear factor:      2.0&lt;br /&gt;
$AI:&lt;br /&gt;
   +Valid goals:           (  &amp;quot;fly to ship&amp;quot;&lt;br /&gt;
                              &amp;quot;attack ship&amp;quot;&lt;br /&gt;
                              &amp;quot;attack wing&amp;quot;&lt;br /&gt;
                              &amp;quot;dock&amp;quot;&lt;br /&gt;
                              &amp;quot;waypoints&amp;quot;&lt;br /&gt;
                              &amp;quot;waypoints once&amp;quot;&lt;br /&gt;
                              &amp;quot;depart&amp;quot;&lt;br /&gt;
                              &amp;quot;undock&amp;quot;&lt;br /&gt;
                              &amp;quot;stay still&amp;quot;&lt;br /&gt;
                              &amp;quot;play dead&amp;quot;&lt;br /&gt;
                              &amp;quot;stay near ship&amp;quot; )&lt;br /&gt;
   +Accept Player Orders:  YES&lt;br /&gt;
   +Player Orders:         (  &amp;quot;attack ship&amp;quot;&lt;br /&gt;
                              &amp;quot;dock&amp;quot;&lt;br /&gt;
                              &amp;quot;depart&amp;quot; )&lt;br /&gt;
   +Auto attacks:          YES&lt;br /&gt;
   +Attempt Broadside:     YES&lt;br /&gt;
   +Actively Pursues:      (  &amp;quot;transport&amp;quot;&lt;br /&gt;
                              &amp;quot;freighter&amp;quot;&lt;br /&gt;
                              &amp;quot;awacs&amp;quot;&lt;br /&gt;
                              &amp;quot;gas miner&amp;quot;&lt;br /&gt;
                              &amp;quot;cruiser&amp;quot;&lt;br /&gt;
                              &amp;quot;corvette&amp;quot;&lt;br /&gt;
                              &amp;quot;capital&amp;quot;&lt;br /&gt;
                              &amp;quot;supercap&amp;quot;&lt;br /&gt;
                              &amp;quot;drydock&amp;quot;&lt;br /&gt;
                              &amp;quot;knossos&amp;quot; )&lt;br /&gt;
   +Guards attack this:    YES&lt;br /&gt;
   +Turrets attack this:   YES&lt;br /&gt;
   +Can Form Wing:         YES&lt;br /&gt;
   +Active docks:          (  &amp;quot;cargo&amp;quot; )&lt;br /&gt;
   +Passive docks:         (  &amp;quot;support&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
$Name:                  AWACS&lt;br /&gt;
$Counts for Alone:      YES&lt;br /&gt;
$Praise Destruction:    YES&lt;br /&gt;
$On Hotkey List:        YES&lt;br /&gt;
$Target as Threat:      YES&lt;br /&gt;
$Show Attack Direction: YES&lt;br /&gt;
$Max Debris Speed:      150&lt;br /&gt;
$FF Multiplier:         1.0&lt;br /&gt;
$EMP Multiplier:        0.8&lt;br /&gt;
$Beams Easily Hit:      YES&lt;br /&gt;
$Fog:&lt;br /&gt;
   +Start dist:            10.0&lt;br /&gt;
   +Compl dist:            600.0&lt;br /&gt;
   +Disappear factor:      2.0&lt;br /&gt;
$AI:&lt;br /&gt;
   +Valid goals:           (  &amp;quot;fly to ship&amp;quot;&lt;br /&gt;
                              &amp;quot;attack ship&amp;quot;&lt;br /&gt;
                              &amp;quot;attack wing&amp;quot;&lt;br /&gt;
                              &amp;quot;dock&amp;quot;&lt;br /&gt;
                              &amp;quot;waypoints&amp;quot;&lt;br /&gt;
                              &amp;quot;waypoints once&amp;quot;&lt;br /&gt;
                              &amp;quot;depart&amp;quot;&lt;br /&gt;
                              &amp;quot;undock&amp;quot;&lt;br /&gt;
                              &amp;quot;stay still&amp;quot;&lt;br /&gt;
                              &amp;quot;play dead&amp;quot;&lt;br /&gt;
                              &amp;quot;stay near ship&amp;quot; )&lt;br /&gt;
   +Accept Player Orders:  YES&lt;br /&gt;
   +Player Orders:         (  &amp;quot;attack ship&amp;quot;&lt;br /&gt;
                              &amp;quot;depart&amp;quot; )&lt;br /&gt;
   +Auto attacks:          YES&lt;br /&gt;
   +Attempt Broadside:     YES&lt;br /&gt;
   +Actively Pursues:      (  &amp;quot;transport&amp;quot;&lt;br /&gt;
                              &amp;quot;freighter&amp;quot;&lt;br /&gt;
                              &amp;quot;awacs&amp;quot;&lt;br /&gt;
                              &amp;quot;gas miner&amp;quot;&lt;br /&gt;
                              &amp;quot;cruiser&amp;quot;&lt;br /&gt;
                              &amp;quot;corvette&amp;quot;&lt;br /&gt;
                              &amp;quot;capital&amp;quot;&lt;br /&gt;
                              &amp;quot;supercap&amp;quot;&lt;br /&gt;
                              &amp;quot;drydock&amp;quot;&lt;br /&gt;
                              &amp;quot;knossos&amp;quot; )&lt;br /&gt;
   +Guards attack this:    YES&lt;br /&gt;
   +Turrets attack this:   YES&lt;br /&gt;
   +Can Form Wing:         YES&lt;br /&gt;
   +Passive docks:         (  &amp;quot;support&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
$Name:                  Gas Miner&lt;br /&gt;
$Counts for Alone:      YES&lt;br /&gt;
$Praise Destruction:    YES&lt;br /&gt;
$On Hotkey List:        YES&lt;br /&gt;
$Target as Threat:      YES&lt;br /&gt;
$Show Attack Direction: YES&lt;br /&gt;
$Max Debris Speed:      150&lt;br /&gt;
$FF Multiplier:         1.0&lt;br /&gt;
$EMP Multiplier:        1.0&lt;br /&gt;
$Beams Easily Hit:      YES&lt;br /&gt;
$Fog:&lt;br /&gt;
   +Start dist:            10.0&lt;br /&gt;
   +Compl dist:            600.0&lt;br /&gt;
   +Disappear factor:      2.0&lt;br /&gt;
$AI:&lt;br /&gt;
   +Valid goals:           (  &amp;quot;fly to ship&amp;quot;&lt;br /&gt;
                              &amp;quot;attack ship&amp;quot;&lt;br /&gt;
                              &amp;quot;attack wing&amp;quot;&lt;br /&gt;
                              &amp;quot;dock&amp;quot;&lt;br /&gt;
                              &amp;quot;waypoints&amp;quot;&lt;br /&gt;
                              &amp;quot;waypoints once&amp;quot;&lt;br /&gt;
                              &amp;quot;depart&amp;quot;&lt;br /&gt;
                              &amp;quot;undock&amp;quot;&lt;br /&gt;
                              &amp;quot;stay still&amp;quot;&lt;br /&gt;
                              &amp;quot;play dead&amp;quot;&lt;br /&gt;
                              &amp;quot;stay near ship&amp;quot; )&lt;br /&gt;
   +Accept Player Orders:  YES&lt;br /&gt;
   +Player Orders:         (  &amp;quot;attack ship&amp;quot;&lt;br /&gt;
                              &amp;quot;depart&amp;quot; )&lt;br /&gt;
   +Auto attacks:          YES&lt;br /&gt;
   +Attempt Broadside:     YES&lt;br /&gt;
   +Actively Pursues:      (  &amp;quot;transport&amp;quot;&lt;br /&gt;
                              &amp;quot;freighter&amp;quot;&lt;br /&gt;
                              &amp;quot;awacs&amp;quot;&lt;br /&gt;
                              &amp;quot;gas miner&amp;quot;&lt;br /&gt;
                              &amp;quot;cruiser&amp;quot;&lt;br /&gt;
                              &amp;quot;corvette&amp;quot;&lt;br /&gt;
                              &amp;quot;capital&amp;quot;&lt;br /&gt;
                              &amp;quot;supercap&amp;quot;&lt;br /&gt;
                              &amp;quot;drydock&amp;quot;&lt;br /&gt;
                              &amp;quot;knossos&amp;quot; )&lt;br /&gt;
   +Guards attack this:    YES&lt;br /&gt;
   +Turrets attack this:   YES&lt;br /&gt;
   +Can Form Wing:         YES&lt;br /&gt;
   +Passive docks:         (  &amp;quot;support&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
$Name:                  Cruiser&lt;br /&gt;
$Counts for Alone:      YES&lt;br /&gt;
$Praise Destruction:    YES&lt;br /&gt;
$On Hotkey List:        YES&lt;br /&gt;
$Target as Threat:      YES&lt;br /&gt;
$Show Attack Direction: YES&lt;br /&gt;
$Max Debris Speed:      150&lt;br /&gt;
$FF Multiplier:         1.0&lt;br /&gt;
$EMP Multiplier:        0.9&lt;br /&gt;
$Beams Easily Hit:      YES&lt;br /&gt;
$Fog:&lt;br /&gt;
   +Start dist:            10.0&lt;br /&gt;
   +Compl dist:            600.0&lt;br /&gt;
   +Disappear factor:      2.0&lt;br /&gt;
$AI:&lt;br /&gt;
   +Valid goals:           (  &amp;quot;fly to ship&amp;quot;&lt;br /&gt;
                              &amp;quot;attack ship&amp;quot;&lt;br /&gt;
                              &amp;quot;attack wing&amp;quot;&lt;br /&gt;
                              &amp;quot;dock&amp;quot;&lt;br /&gt;
                              &amp;quot;waypoints&amp;quot;&lt;br /&gt;
                              &amp;quot;waypoints once&amp;quot;&lt;br /&gt;
                              &amp;quot;depart&amp;quot;&lt;br /&gt;
                              &amp;quot;undock&amp;quot;&lt;br /&gt;
                              &amp;quot;stay still&amp;quot;&lt;br /&gt;
                              &amp;quot;play dead&amp;quot;&lt;br /&gt;
                              &amp;quot;stay near ship&amp;quot; )&lt;br /&gt;
   +Accept Player Orders:  YES&lt;br /&gt;
   +Player Orders:         (  &amp;quot;attack ship&amp;quot;&lt;br /&gt;
                              &amp;quot;depart&amp;quot; )&lt;br /&gt;
   +Auto attacks:          YES&lt;br /&gt;
   +Attempt Broadside:     YES&lt;br /&gt;
   +Actively Pursues:      (  &amp;quot;transport&amp;quot;&lt;br /&gt;
                              &amp;quot;freighter&amp;quot;&lt;br /&gt;
                              &amp;quot;awacs&amp;quot;&lt;br /&gt;
                              &amp;quot;gas miner&amp;quot;&lt;br /&gt;
                              &amp;quot;cruiser&amp;quot;&lt;br /&gt;
                              &amp;quot;corvette&amp;quot;&lt;br /&gt;
                              &amp;quot;capital&amp;quot;&lt;br /&gt;
                              &amp;quot;supercap&amp;quot;&lt;br /&gt;
                              &amp;quot;drydock&amp;quot;&lt;br /&gt;
                              &amp;quot;knossos&amp;quot; )&lt;br /&gt;
   +Guards attack this:    YES&lt;br /&gt;
   +Turrets attack this:   YES&lt;br /&gt;
   +Can Form Wing:         YES&lt;br /&gt;
   +Passive docks:         (  &amp;quot;support&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
$Name:                  Corvette&lt;br /&gt;
$Counts for Alone:      YES&lt;br /&gt;
$Praise Destruction:    YES&lt;br /&gt;
$On Hotkey List:        YES&lt;br /&gt;
$Target as Threat:      YES&lt;br /&gt;
$Show Attack Direction: YES&lt;br /&gt;
$Max Debris Speed:      150&lt;br /&gt;
$FF Multiplier:         1.0&lt;br /&gt;
$EMP Multiplier:        0.3333&lt;br /&gt;
$Beams Easily Hit:      YES&lt;br /&gt;
$Fog:&lt;br /&gt;
   +Start dist:            10.0&lt;br /&gt;
   +Compl dist:            600.0&lt;br /&gt;
   +Disappear factor:      2.0&lt;br /&gt;
$AI:&lt;br /&gt;
   +Valid goals:           (  &amp;quot;fly to ship&amp;quot;&lt;br /&gt;
                              &amp;quot;attack ship&amp;quot;&lt;br /&gt;
                              &amp;quot;attack wing&amp;quot;&lt;br /&gt;
                              &amp;quot;dock&amp;quot;&lt;br /&gt;
                              &amp;quot;waypoints&amp;quot;&lt;br /&gt;
                              &amp;quot;waypoints once&amp;quot;&lt;br /&gt;
                              &amp;quot;depart&amp;quot;&lt;br /&gt;
                              &amp;quot;undock&amp;quot;&lt;br /&gt;
                              &amp;quot;stay still&amp;quot;&lt;br /&gt;
                              &amp;quot;play dead&amp;quot;&lt;br /&gt;
                              &amp;quot;stay near ship&amp;quot; )&lt;br /&gt;
   +Accept Player Orders:  YES&lt;br /&gt;
   +Player Orders:         (  &amp;quot;attack ship&amp;quot; &amp;quot;depart\&amp;quot; )&lt;br /&gt;
   +Auto attacks:          YES&lt;br /&gt;
   +Attempt Broadside:     YES&lt;br /&gt;
   +Actively Pursues:      (  &amp;quot;transport&amp;quot;&lt;br /&gt;
                              &amp;quot;freighter&amp;quot;&lt;br /&gt;
                              &amp;quot;awacs&amp;quot;&lt;br /&gt;
                              &amp;quot;gas miner&amp;quot;&lt;br /&gt;
                              &amp;quot;cruiser&amp;quot;&lt;br /&gt;
                              &amp;quot;corvette&amp;quot;&lt;br /&gt;
                              &amp;quot;capital&amp;quot;&lt;br /&gt;
                              &amp;quot;supercap&amp;quot;&lt;br /&gt;
                              &amp;quot;drydock&amp;quot;&lt;br /&gt;
                              &amp;quot;knossos&amp;quot; )&lt;br /&gt;
   +Guards attack this:    YES&lt;br /&gt;
   +Turrets attack this:   YES&lt;br /&gt;
   +Can Form Wing:         YES&lt;br /&gt;
   +Passive docks:         (  &amp;quot;support&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
$Name:                  Capital&lt;br /&gt;
$Counts for Alone:      YES&lt;br /&gt;
$Praise Destruction:    YES&lt;br /&gt;
$On Hotkey List:        YES&lt;br /&gt;
$Target as Threat:      YES&lt;br /&gt;
$Show Attack Direction: YES&lt;br /&gt;
$Warp Pushes:           YES&lt;br /&gt;
$Max Debris Speed:      100&lt;br /&gt;
$FF Multiplier:         1.0&lt;br /&gt;
$EMP Multiplier:        0.2&lt;br /&gt;
$Beams Easily Hit:      YES&lt;br /&gt;
$Fog:&lt;br /&gt;
   +Start dist:            10.0&lt;br /&gt;
   +Compl dist:            750.0&lt;br /&gt;
   +Disappear factor:      3.0&lt;br /&gt;
$AI:&lt;br /&gt;
   +Valid goals:           (  &amp;quot;fly to ship&amp;quot;&lt;br /&gt;
                              &amp;quot;attack ship&amp;quot;&lt;br /&gt;
                              &amp;quot;attack wing&amp;quot;&lt;br /&gt;
                              &amp;quot;waypoints&amp;quot;&lt;br /&gt;
                              &amp;quot;waypoints once&amp;quot;&lt;br /&gt;
                              &amp;quot;depart&amp;quot;&lt;br /&gt;
                              &amp;quot;stay still&amp;quot;&lt;br /&gt;
                              &amp;quot;play dead&amp;quot;&lt;br /&gt;
                              &amp;quot;stay near ship&amp;quot; )&lt;br /&gt;
   +Accept Player Orders:  YES&lt;br /&gt;
   +Player Orders:         (  &amp;quot;depart&amp;quot; )&lt;br /&gt;
   +Auto attacks:          YES&lt;br /&gt;
   +Attempt Broadside:     YES&lt;br /&gt;
   +Actively Pursues:      (  &amp;quot;transport&amp;quot;&lt;br /&gt;
                              &amp;quot;freighter&amp;quot;&lt;br /&gt;
                              &amp;quot;awacs&amp;quot;&lt;br /&gt;
                              &amp;quot;gas miner&amp;quot;&lt;br /&gt;
                              &amp;quot;cruiser&amp;quot;&lt;br /&gt;
                              &amp;quot;corvette&amp;quot;&lt;br /&gt;
                              &amp;quot;capital&amp;quot;&lt;br /&gt;
                              &amp;quot;supercap&amp;quot;&lt;br /&gt;
                              &amp;quot;drydock&amp;quot;&lt;br /&gt;
                              &amp;quot;knossos&amp;quot; )&lt;br /&gt;
   +Guards attack this:    YES&lt;br /&gt;
   +Turrets attack this:   YES&lt;br /&gt;
   +Can Form Wing:         YES&lt;br /&gt;
   +Passive docks:         (  &amp;quot;support&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
$Name:                  Supercap&lt;br /&gt;
$Counts for Alone:      YES&lt;br /&gt;
$Praise Destruction:    YES&lt;br /&gt;
$On Hotkey List:        YES&lt;br /&gt;
$Target as Threat:      YES&lt;br /&gt;
$Show Attack Direction: YES&lt;br /&gt;
$Warp Pushes:           YES&lt;br /&gt;
$Max Debris Speed:      100&lt;br /&gt;
$FF Multiplier:         1.0&lt;br /&gt;
$EMP Multiplier:        0.075&lt;br /&gt;
$Beams Easily Hit:      YES&lt;br /&gt;
$Fog:&lt;br /&gt;
   +Start dist:            10.0&lt;br /&gt;
   +Compl dist:            1000.0&lt;br /&gt;
   +Disappear factor:      3.0&lt;br /&gt;
$AI:&lt;br /&gt;
   +Valid goals:           (  &amp;quot;fly to ship&amp;quot;&lt;br /&gt;
                              &amp;quot;attack ship&amp;quot;&lt;br /&gt;
                              &amp;quot;attack wing&amp;quot;&lt;br /&gt;
                              &amp;quot;waypoints&amp;quot;&lt;br /&gt;
                              &amp;quot;waypoints once&amp;quot;&lt;br /&gt;
                              &amp;quot;depart&amp;quot;&lt;br /&gt;
                              &amp;quot;stay still&amp;quot;&lt;br /&gt;
                              &amp;quot;play dead&amp;quot;&lt;br /&gt;
                              &amp;quot;stay near ship&amp;quot; )&lt;br /&gt;
   +Auto attacks:          YES&lt;br /&gt;
   +Attempt Broadside:     YES&lt;br /&gt;
   +Actively Pursues:      (  &amp;quot;transport&amp;quot;&lt;br /&gt;
                              &amp;quot;freighter&amp;quot;&lt;br /&gt;
                              &amp;quot;awacs&amp;quot;&lt;br /&gt;
                              &amp;quot;gas miner&amp;quot;&lt;br /&gt;
                              &amp;quot;cruiser&amp;quot;&lt;br /&gt;
                              &amp;quot;corvette&amp;quot;&lt;br /&gt;
                              &amp;quot;capital&amp;quot;&lt;br /&gt;
                              &amp;quot;supercap&amp;quot;&lt;br /&gt;
                              &amp;quot;drydock&amp;quot;&lt;br /&gt;
                              &amp;quot;knossos&amp;quot; )&lt;br /&gt;
   +Guards attack this:    YES&lt;br /&gt;
   +Turrets attack this:   YES&lt;br /&gt;
   +Can Form Wing:         YES&lt;br /&gt;
   +Passive docks:         (  &amp;quot;support&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
$Name:                  Drydock&lt;br /&gt;
$Counts for Alone:      YES&lt;br /&gt;
$Praise Destruction:    YES&lt;br /&gt;
$On Hotkey List:        YES&lt;br /&gt;
$Target as Threat:      YES&lt;br /&gt;
$Show Attack Direction: YES&lt;br /&gt;
$Max Debris Speed:      100&lt;br /&gt;
$FF Multiplier:         1.0&lt;br /&gt;
$EMP Multiplier:        0.5&lt;br /&gt;
$Beams Easily Hit:      YES&lt;br /&gt;
$Fog:&lt;br /&gt;
   +Start dist:            10.0&lt;br /&gt;
   +Compl dist:            750.0&lt;br /&gt;
   +Disappear factor:      3.0&lt;br /&gt;
$AI:&lt;br /&gt;
   +Accept Player Orders:  YES&lt;br /&gt;
   +Auto attacks:          YES&lt;br /&gt;
   +Attempt Broadside:     YES&lt;br /&gt;
   +Actively Pursues:      (  &amp;quot;transport&amp;quot;&lt;br /&gt;
                              &amp;quot;freighter&amp;quot;&lt;br /&gt;
                              &amp;quot;awacs&amp;quot;&lt;br /&gt;
                              &amp;quot;gas miner&amp;quot;&lt;br /&gt;
                              &amp;quot;cruiser&amp;quot;&lt;br /&gt;
                              &amp;quot;corvette&amp;quot;&lt;br /&gt;
                              &amp;quot;capital&amp;quot;&lt;br /&gt;
                              &amp;quot;supercap&amp;quot;&lt;br /&gt;
                              &amp;quot;drydock&amp;quot;&lt;br /&gt;
                              &amp;quot;knossos&amp;quot; )&lt;br /&gt;
   +Guards attack this:    YES&lt;br /&gt;
   +Turrets attack this:   YES&lt;br /&gt;
   +Passive docks:         (  &amp;quot;support&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
$Name:                  Knossos&lt;br /&gt;
$Counts for Alone:      YES&lt;br /&gt;
$Praise Destruction:    YES&lt;br /&gt;
$On Hotkey List:        YES&lt;br /&gt;
$Target as Threat:      YES&lt;br /&gt;
$Show Attack Direction: YES&lt;br /&gt;
$Max Debris Speed:      100&lt;br /&gt;
$FF Multiplier:         1.0&lt;br /&gt;
$EMP Multiplier:        0.10&lt;br /&gt;
$Fog:&lt;br /&gt;
   +Start dist:            10.0&lt;br /&gt;
   +Compl dist:            1000.0&lt;br /&gt;
   +Disappear factor:      3.0&lt;br /&gt;
$AI:&lt;br /&gt;
   +Auto attacks:          YES&lt;br /&gt;
   +Attempt Broadside:     YES&lt;br /&gt;
   +Actively Pursues:      (  &amp;quot;transport&amp;quot;&lt;br /&gt;
                              &amp;quot;freighter&amp;quot;&lt;br /&gt;
                              &amp;quot;awacs&amp;quot;&lt;br /&gt;
                              &amp;quot;gas miner&amp;quot;&lt;br /&gt;
                              &amp;quot;cruiser&amp;quot;&lt;br /&gt;
                              &amp;quot;corvette&amp;quot;&lt;br /&gt;
                              &amp;quot;capital&amp;quot;&lt;br /&gt;
                              &amp;quot;supercap&amp;quot;&lt;br /&gt;
                              &amp;quot;drydock&amp;quot;&lt;br /&gt;
                              &amp;quot;knossos&amp;quot; )&lt;br /&gt;
   +Guards attack this:    YES&lt;br /&gt;
   +Turrets attack this:   YES&lt;br /&gt;
   +Passive docks:         (  &amp;quot;support&amp;quot; )&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: Tables]]&lt;/div&gt;</summary>
		<author><name>WMCoolmon</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Script_-_Ship_Viewer&amp;diff=6105</id>
		<title>Script - Ship Viewer</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Script_-_Ship_Viewer&amp;diff=6105"/>
		<updated>2006-06-18T07:38:40Z</updated>

		<summary type="html">&lt;p&gt;WMCoolmon: Updated to take into account &amp;quot;+Override: true&amp;quot; change&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Function==&lt;br /&gt;
Prevents game itself from loading but instead loads a ship viewer.&amp;lt;br&amp;gt;&lt;br /&gt;
Moving mouse cursor with mouse botton pressed to:&lt;br /&gt;
{|&lt;br /&gt;
| width=150px|Upper left corner&lt;br /&gt;
| width=150px|Goes to next ship&lt;br /&gt;
|-&lt;br /&gt;
|Upper right corner&lt;br /&gt;
|Zooms in&lt;br /&gt;
|-&lt;br /&gt;
|Lower left corner&lt;br /&gt;
|Exits&lt;br /&gt;
|-&lt;br /&gt;
|Lower right corner&lt;br /&gt;
|Zooms out&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Table Entry==&lt;br /&gt;
&amp;lt;pre&amp;gt;#State Hooks&lt;br /&gt;
$State: GS_STATE_INITIAL_PLAYER_SELECT&lt;br /&gt;
$Hook: [&lt;br /&gt;
   --Set default values&lt;br /&gt;
   if not rotate_pct then&lt;br /&gt;
      rotate_pct = 40&lt;br /&gt;
   end&lt;br /&gt;
&lt;br /&gt;
   if not pitch then&lt;br /&gt;
      pitch = 0&lt;br /&gt;
   end&lt;br /&gt;
   &lt;br /&gt;
   if not bank then&lt;br /&gt;
      bank = 0&lt;br /&gt;
   end&lt;br /&gt;
   &lt;br /&gt;
   if not count then&lt;br /&gt;
      count = 1&lt;br /&gt;
   end&lt;br /&gt;
&lt;br /&gt;
   if not zoom then&lt;br /&gt;
      zoom = 1.3&lt;br /&gt;
   end&lt;br /&gt;
   &lt;br /&gt;
   --Figure out if we need to check for triggers&lt;br /&gt;
   --upper-left:#1 Goes to next ship&lt;br /&gt;
   --upper-right:#2 Zooms in&lt;br /&gt;
   --lower-left:#3 Quits&lt;br /&gt;
   --lower-right:#4 Zooms out&lt;br /&gt;
   if ms.getX() == 0 and ms.getY() == 0 then&lt;br /&gt;
      trig = 1&lt;br /&gt;
   elseif ms.getX()==(gr.getScreenWidth()-1) and ms.getY()==0 then&lt;br /&gt;
      trig = 2&lt;br /&gt;
   elseif ms.getX()==0 and ms.getY()==(gr.getScreenHeight()-1) then&lt;br /&gt;
      trig = 3&lt;br /&gt;
   elseif ms.getX()==(gr.getScreenWidth()-1) and ms.getY()==(gr.getScreenHeight()-1) then&lt;br /&gt;
      trig = 4&lt;br /&gt;
   else&lt;br /&gt;
      trig = 0&lt;br /&gt;
   end&lt;br /&gt;
   &lt;br /&gt;
   --Do we need to activate trigger?&lt;br /&gt;
   --Make sure that if the mouse is held down for&lt;br /&gt;
   --more than one frame, trigger doesn&#039;t activate multiple times&lt;br /&gt;
   if trig&amp;gt;0 then&lt;br /&gt;
      if not middle_was_down then&lt;br /&gt;
         middle_was_down = ms.isButtonDown(&amp;quot;Left&amp;quot;)&lt;br /&gt;
         activate_trig = middle_was_down&lt;br /&gt;
      elseif ms.isButtonDown(&amp;quot;Left&amp;quot;)==true then&lt;br /&gt;
         middle_was_down = true&lt;br /&gt;
         activate_trig = false&lt;br /&gt;
      else&lt;br /&gt;
         middle_was_down = false&lt;br /&gt;
         activate_trig = false&lt;br /&gt;
      end&lt;br /&gt;
   else&lt;br /&gt;
      middle_was_down = false&lt;br /&gt;
      activate_trig = false&lt;br /&gt;
   end&lt;br /&gt;
   &lt;br /&gt;
   --Do trigger actions&lt;br /&gt;
   if activate_trig then&lt;br /&gt;
      if trig==1 then&lt;br /&gt;
         count = count + 1&lt;br /&gt;
         if count &amp;gt; tb.getNumShipClasses() then&lt;br /&gt;
            count = 1&lt;br /&gt;
         end&lt;br /&gt;
      elseif trig==2 then&lt;br /&gt;
         zoom = zoom-0.1&lt;br /&gt;
      elseif trig==3 then&lt;br /&gt;
         ba.setEvent(&amp;quot;GS_EVENT_QUIT_GAME&amp;quot;)&lt;br /&gt;
      elseif trig==4 then&lt;br /&gt;
         zoom = zoom+0.1&lt;br /&gt;
      end&lt;br /&gt;
   end&lt;br /&gt;
&lt;br /&gt;
   --If no triggers, do normal mouse stuff&lt;br /&gt;
   --Left changes heading&lt;br /&gt;
   --Middle changes pitch&lt;br /&gt;
   --Right changes bank&lt;br /&gt;
   if trig==0 then&lt;br /&gt;
      if ms.isButtonDown(&amp;quot;Left&amp;quot;) then&lt;br /&gt;
         rotate_pct = (1-ms.getX()/gr.getScreenWidth())*100&lt;br /&gt;
      end&lt;br /&gt;
      if ms.isButtonDown(&amp;quot;Middle&amp;quot;) then&lt;br /&gt;
         pitch = (1-ms.getY()/gr.getScreenHeight())*100&lt;br /&gt;
      end&lt;br /&gt;
      if ms.isButtonDown(&amp;quot;Right&amp;quot;) then&lt;br /&gt;
         bank = ms.getX()/gr.getScreenWidth()*100&lt;br /&gt;
      end&lt;br /&gt;
   end&lt;br /&gt;
&lt;br /&gt;
   --Finally, render the ship&lt;br /&gt;
   render_ship = tb.getShipClassByIndex(count)&lt;br /&gt;
   render_ship:renderTechModel(0, 0, gr.getScreenWidth()-1, gr.getScreenHeight()-1, rotate_pct, pitch, bank, zoom)&lt;br /&gt;
]&lt;br /&gt;
+Override: true&lt;br /&gt;
#End&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Scripting Examples|Ship Viewer]]&lt;/div&gt;</summary>
		<author><name>WMCoolmon</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Objecttypes.tbl&amp;diff=4986</id>
		<title>Objecttypes.tbl</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Objecttypes.tbl&amp;diff=4986"/>
		<updated>2006-04-23T06:22:04Z</updated>

		<summary type="html">&lt;p&gt;WMCoolmon: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Objecttypes.tbl is a table added by the FSSCP, used to set attributes of different object types. Currently the only section of this table are ship type attributes. A ship &#039;type&#039; supercedes ship classes defined in ships.tbl. For example, the [[GTF Perseus]] and [[GTF Ulysses]] belong to the &#039;fighter&#039; ship type. However, the [[GTD Orion]] belongs to the &#039;capital&#039; ship type.&lt;br /&gt;
&lt;br /&gt;
Note that objecttypes.tbl is fully XMT-compliant, with the suffix *-obt.tbm. In addition, the retail hardcoded types are being ported over to the objecttypes.tbl via an in-code table. So if a mod wishes to expand on the original types rather than replace them entirely, it should use a modular table file rather than a normal .tbl. Otherwise the in-code table will be ignored in favor of the one included in the mod, and the retail types will not be loaded (unless the mod includes them in its .tbl)&lt;br /&gt;
&lt;br /&gt;
Note that a number of aspects of the retail types are still hardcoded, although they may be moved to the objecttypes.tbl if a mod requests it.&lt;br /&gt;
&lt;br /&gt;
==General Format==&lt;br /&gt;
==#Ship Types==&lt;br /&gt;
===$Name:===&lt;br /&gt;
* Name of ship type. To assign a ship class to a given type, simply place the name entered here in the ship class&#039;s &amp;quot;$Flags:&amp;quot; field.&lt;br /&gt;
&lt;br /&gt;
===$Counts for Alone:===&lt;br /&gt;
* Whether ship counts for determing whether or not Freespace 2 will play the &amp;quot;No reinforcements are available&amp;quot; message.&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Praise Destruction:===&lt;br /&gt;
* Whether wingmates will praise destruction of the ship.&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$On Hotkey List:===&lt;br /&gt;
* Whether ship will show up in hotkey screen.&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Target as Threat:===&lt;br /&gt;
* Whether ship will be targetted with the &#039;H&#039; key.&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Scannable:===&lt;br /&gt;
* Toggles whether ship type can be scanned&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Warp Pushes:===&lt;br /&gt;
* Whether ship will push other (pushable) ships out of the way while warping.&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Warp Pushable:===&lt;br /&gt;
* Whether ship can be pushed out of the way by ships with Warp Pushes enabled&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Max Debris Speed:===&lt;br /&gt;
* Maximum speed of debris spawned from ship&lt;br /&gt;
* Syntax: &#039;&#039;Number or decimal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$FF Multiplier:===&lt;br /&gt;
* Friendly-fire damage to ship will be multiplied by this amount&lt;br /&gt;
* Syntax: &#039;&#039;Number or decimal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$EMP Multiplier:===&lt;br /&gt;
* EMP effect will be multiplied by this amount. Higher values mean more HUD jittering/longer-lasting effect.&lt;br /&gt;
* Syntax: &#039;&#039;Number or decimal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Beams Easily Hit:===&lt;br /&gt;
* Whether beams can easily hit ship (eg capship beams rarely hit fighters)&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Fog:===&lt;br /&gt;
====+Start Dist:====&lt;br /&gt;
* Distance from camera that fogging effect will start&lt;br /&gt;
* Syntax: &#039;&#039;Number or decimal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====+Compl Dist:====&lt;br /&gt;
* Distance from camera that this object will be completely obscured by the fogging effect&lt;br /&gt;
* Syntax: &#039;&#039;Number or decimal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$AI:===&lt;br /&gt;
====+Valid Goals:====&lt;br /&gt;
* Valid goals that can be given to this object.&lt;br /&gt;
* Syntax: &#039;&#039;( &amp;quot;goal&amp;quot; &amp;quot;goal&amp;quot; )&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Goals:&#039;&#039;&#039;&lt;br /&gt;
** attack ship&lt;br /&gt;
** dock&lt;br /&gt;
** waypoints&lt;br /&gt;
** waypoints once&lt;br /&gt;
** depart&lt;br /&gt;
** attack subsys&lt;br /&gt;
** form on wing&lt;br /&gt;
** undock&lt;br /&gt;
** attack wing&lt;br /&gt;
** guard ship&lt;br /&gt;
** disable ship&lt;br /&gt;
** disarm ship&lt;br /&gt;
** attack any&lt;br /&gt;
** ignore ship&lt;br /&gt;
** ignore ship (new)&lt;br /&gt;
** guard wing&lt;br /&gt;
** evade ship&lt;br /&gt;
** stay near ship&lt;br /&gt;
** keep safe dist&lt;br /&gt;
** rearm ship&lt;br /&gt;
** stay still&lt;br /&gt;
** play dead&lt;br /&gt;
** attack weapon&lt;br /&gt;
** fly to ship&lt;br /&gt;
&lt;br /&gt;
====+Accept Player Orders:====&lt;br /&gt;
* Whether or not ship type will accept orders from player&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====+Player Orders:====&lt;br /&gt;
* Orders that ship type will accept from player&lt;br /&gt;
* Syntax: &#039;&#039;( &amp;quot;goal&amp;quot; &amp;quot;goal&amp;quot; )&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Orders:&#039;&#039;&#039;&lt;br /&gt;
** attack ship&lt;br /&gt;
** disable ship&lt;br /&gt;
** disarm ship&lt;br /&gt;
** disable subsys&lt;br /&gt;
** guard ship&lt;br /&gt;
** ignore ship&lt;br /&gt;
** form on wing&lt;br /&gt;
** cover me&lt;br /&gt;
** attack any&lt;br /&gt;
** depart&lt;br /&gt;
** dock&lt;br /&gt;
** rearm me&lt;br /&gt;
** abort rearm&lt;br /&gt;
** stay near me&lt;br /&gt;
** stay near ship&lt;br /&gt;
** keep safe dist&lt;br /&gt;
&lt;br /&gt;
====+Auto Attacks:====&lt;br /&gt;
* Whether or not ship type will auto attack nearby ships&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====+Attempt Broadsides:====&lt;br /&gt;
* Whether or not ship type will try to use broadside tactics against enemy ships&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====+Actively Pursues:====&lt;br /&gt;
* Which ship types the current ship type will actively pursue (rather than simply return to guard position or whatnot)&lt;br /&gt;
* Syntax: &#039;&#039;( &amp;quot;type&amp;quot; &amp;quot;type&amp;quot; )&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====+Guards Attack this:====&lt;br /&gt;
* Whether ships assigned to guard another ship will attempt to engage ships of the type&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====+Turrets Attack This:====&lt;br /&gt;
* Whether or not turrets will target the ships of the type&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====+Can Form Wing:====&lt;br /&gt;
* Whether or not ship type can be formed into a wing&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====+Active Docks:====&lt;br /&gt;
* Preferred docking bay type for ship when it is initiating the dock with another ship&lt;br /&gt;
* Syntax: &#039;&#039;( &amp;quot;bay&amp;quot; &amp;quot;bay&amp;quot; )&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Dock bays:&#039;&#039;&#039;&lt;br /&gt;
** cargo&lt;br /&gt;
** rearm&lt;br /&gt;
** generic&lt;br /&gt;
&lt;br /&gt;
====+Passive Docks:====&lt;br /&gt;
* Preferred docking bay type for ship when it is receiving a dock from another ship&lt;br /&gt;
* Syntax: &#039;&#039;( &amp;quot;bay&amp;quot; &amp;quot;bay&amp;quot; )&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Dock bays:&#039;&#039;&#039;&lt;br /&gt;
** cargo&lt;br /&gt;
** rearm&lt;br /&gt;
** generic&lt;br /&gt;
&lt;br /&gt;
==#End==&lt;br /&gt;
&lt;br /&gt;
==Examples==&lt;br /&gt;
Examples are taken directly from code&lt;br /&gt;
===Ship Type: &amp;quot;Fighter&amp;quot;===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$Name:			Fighter&lt;br /&gt;
$Counts for Alone:	YES&lt;br /&gt;
$Praise Destruction:	YES&lt;br /&gt;
$On Hotkey List:	YES&lt;br /&gt;
$Target as Threat:	YES&lt;br /&gt;
$Show Attack Direction:	YES&lt;br /&gt;
$Warp Pushable:		YES&lt;br /&gt;
$Max Debris Speed:	200&lt;br /&gt;
$FF Multiplier:		1.0&lt;br /&gt;
$EMP Multiplier:	4.0&lt;br /&gt;
$Fog:&lt;br /&gt;
   +Start dist:		   10.0&lt;br /&gt;
   +Compl dist:	           500.0&lt;br /&gt;
$AI:&lt;br /&gt;
   +Valid goals:           (  &amp;quot;fly to ship&amp;quot;&lt;br /&gt;
                              &amp;quot;attack ship&amp;quot;&lt;br /&gt;
                              &amp;quot;waypoints&amp;quot;&lt;br /&gt;
                              &amp;quot;waypoints once&amp;quot;&lt;br /&gt;
                              &amp;quot;depart&amp;quot;&lt;br /&gt;
                              &amp;quot;attack subsys&amp;quot;&lt;br /&gt;
                              &amp;quot;attack wing&amp;quot;&lt;br /&gt;
                              &amp;quot;guard ship&amp;quot;&lt;br /&gt;
                              &amp;quot;disable ship&amp;quot;&lt;br /&gt;
                              &amp;quot;disarm ship&amp;quot;&lt;br /&gt;
                              &amp;quot;attack any&amp;quot;&lt;br /&gt;
                              &amp;quot;ignore ship&amp;quot;&lt;br /&gt;
                              &amp;quot;ignore ship (new)&amp;quot;&lt;br /&gt;
                              &amp;quot;guard wing&amp;quot;&lt;br /&gt;
                              &amp;quot;evade ship&amp;quot;&lt;br /&gt;
                              &amp;quot;stay still&amp;quot;&lt;br /&gt;
                              &amp;quot;play dead&amp;quot;&lt;br /&gt;
                              &amp;quot;stay near ship&amp;quot;&lt;br /&gt;
                              &amp;quot;keep safe dist&amp;quot; )&lt;br /&gt;
   +Accept Player Orders:  YES&lt;br /&gt;
   +Player Orders:         (  &amp;quot;attack ship&amp;quot;&lt;br /&gt;
                              &amp;quot;disable ship&amp;quot;&lt;br /&gt;
                              &amp;quot;disarm ship&amp;quot;&lt;br /&gt;
                              &amp;quot;guard ship&amp;quot;&lt;br /&gt;
                              &amp;quot;ignore ship&amp;quot;&lt;br /&gt;
                              &amp;quot;ignore ship (new)&amp;quot;&lt;br /&gt;
                              &amp;quot;form on wing&amp;quot;&lt;br /&gt;
                              &amp;quot;cover me&amp;quot;&lt;br /&gt;
                              &amp;quot;attack any&amp;quot;&lt;br /&gt;
                              &amp;quot;depart&amp;quot;&lt;br /&gt;
                              &amp;quot;disable subsys&amp;quot; )&lt;br /&gt;
   +Auto attacks:          YES&lt;br /&gt;
   +Actively Pursues:      (  &amp;quot;navbuoy&amp;quot;&lt;br /&gt;
                              &amp;quot;sentrygun&amp;quot;&lt;br /&gt;
                              &amp;quot;escapepod&amp;quot;&lt;br /&gt;
                              &amp;quot;cargo&amp;quot;&lt;br /&gt;
                              &amp;quot;repair_rearm&amp;quot;&lt;br /&gt;
                              &amp;quot;stealth&amp;quot;&lt;br /&gt;
                              &amp;quot;fighter&amp;quot;&lt;br /&gt;
                              &amp;quot;bomber&amp;quot;&lt;br /&gt;
                              &amp;quot;fighter/bomber&amp;quot;&lt;br /&gt;
                              &amp;quot;transport&amp;quot;&lt;br /&gt;
                              &amp;quot;freighter&amp;quot;&lt;br /&gt;
                              &amp;quot;awacs&amp;quot;&lt;br /&gt;
                              &amp;quot;gas miner&amp;quot;&lt;br /&gt;
                              &amp;quot;cruiser&amp;quot;&lt;br /&gt;
                              &amp;quot;corvette&amp;quot;&lt;br /&gt;
                              &amp;quot;capital&amp;quot;&lt;br /&gt;
                              &amp;quot;supercap&amp;quot;&lt;br /&gt;
                              &amp;quot;drydock&amp;quot;&lt;br /&gt;
                              &amp;quot;knossos&amp;quot; )&lt;br /&gt;
   +Guards attack this:    YES&lt;br /&gt;
   +Turrets attack this:   YES&lt;br /&gt;
   +Can Form Wing:         YES&lt;br /&gt;
   +Passive docks:         (  &amp;quot;support&amp;quot; )&amp;lt;/pre&amp;gt;&lt;br /&gt;
===Ship Type: &amp;quot;Freighter&amp;quot;===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
$Name:                  Freighter&lt;br /&gt;
$Counts for Alone:      YES&lt;br /&gt;
$Praise Destruction:    YES&lt;br /&gt;
$On Hotkey List:        YES&lt;br /&gt;
$Target as Threat:      YES&lt;br /&gt;
$Show Attack Direction: YES&lt;br /&gt;
$Scannable:             YES&lt;br /&gt;
$Max Debris Speed:      150&lt;br /&gt;
$FF Multiplier:         1.0&lt;br /&gt;
$EMP Multiplier:        1.75&lt;br /&gt;
$Beams Easily Hit:      YES&lt;br /&gt;
$Fog:&lt;br /&gt;
   +Start dist:            10.0&lt;br /&gt;
   +Compl dist:            600.0&lt;br /&gt;
$AI:&lt;br /&gt;
   +Valid goals:           (  &amp;quot;fly to ship&amp;quot;&lt;br /&gt;
                              &amp;quot;attack ship&amp;quot;&lt;br /&gt;
                              &amp;quot;attack wing&amp;quot;&lt;br /&gt;
                              &amp;quot;dock&amp;quot;&lt;br /&gt;
                              &amp;quot;waypoints&amp;quot;&lt;br /&gt;
                              &amp;quot;waypoints once&amp;quot;&lt;br /&gt;
                              &amp;quot;depart&amp;quot;&lt;br /&gt;
                              &amp;quot;undock&amp;quot;&lt;br /&gt;
                              &amp;quot;stay still&amp;quot;&lt;br /&gt;
                              &amp;quot;play dead&amp;quot;&lt;br /&gt;
                              &amp;quot;stay near ship&amp;quot; )&lt;br /&gt;
   +Accept Player Orders:  YES&lt;br /&gt;
   +Player Orders:         (  &amp;quot;attack ship&amp;quot;&lt;br /&gt;
                              &amp;quot;dock&amp;quot;&lt;br /&gt;
                              &amp;quot;depart&amp;quot; )&lt;br /&gt;
   +Auto attacks:          YES&lt;br /&gt;
   +Attempt Broadside:     YES&lt;br /&gt;
   +Actively Pursues:      (  &amp;quot;transport&amp;quot;&lt;br /&gt;
                              &amp;quot;freighter&amp;quot;&lt;br /&gt;
                              &amp;quot;awacs&amp;quot;&lt;br /&gt;
                              &amp;quot;gas miner&amp;quot;&lt;br /&gt;
                              &amp;quot;cruiser&amp;quot;&lt;br /&gt;
                              &amp;quot;corvette&amp;quot;&lt;br /&gt;
                              &amp;quot;capital&amp;quot;&lt;br /&gt;
                              &amp;quot;supercap&amp;quot;&lt;br /&gt;
                              &amp;quot;drydock&amp;quot;&lt;br /&gt;
                              &amp;quot;knossos&amp;quot; )&lt;br /&gt;
   +Guards attack this:    YES&lt;br /&gt;
   +Turrets attack this:   YES&lt;br /&gt;
   +Can Form Wing:         YES&lt;br /&gt;
   +Active docks:          (  &amp;quot;cargo&amp;quot; )&lt;br /&gt;
   +Passive docks:         (  &amp;quot;support&amp;quot; )&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category: Tables]]&lt;/div&gt;</summary>
		<author><name>WMCoolmon</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Objecttypes.tbl&amp;diff=3159</id>
		<title>Objecttypes.tbl</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Objecttypes.tbl&amp;diff=3159"/>
		<updated>2006-04-22T08:57:15Z</updated>

		<summary type="html">&lt;p&gt;WMCoolmon: Added general information on use as a modular table&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Objecttypes.tbl is a table added by the FSSCP, used to set attributes of different object types. Currently the only section of this table are ship type attributes. A ship &#039;type&#039; supercedes ship classes defined in ships.tbl. For example, the [[GTF Perseus]] and [[GTF Ulysses]] belong to the &#039;fighter&#039; ship type. However, the [[GTD Orion]] belongs to the &#039;capital&#039; ship type.&lt;br /&gt;
&lt;br /&gt;
Note that objecttypes.tbl is fully XMT-compliant, with the suffix *-obt.tbm. In addition, the retail hardcoded types are being ported over to the objecttypes.tbl via an in-code table. So if a mod wishes to expand on the original types rather than replace them entirely, it should use a modular table file rather than a normal .tbl. Otherwise the in-code table will be ignored in favor of the one included in the mod, and the retail types will not be loaded (unless the mod includes them in its .tbl)&lt;br /&gt;
&lt;br /&gt;
Note that a number of aspects of the retail types are still hardcoded, although they may be moved to the objecttypes.tbl if a mod requests it.&lt;br /&gt;
&lt;br /&gt;
==General Format==&lt;br /&gt;
==#Ship Types==&lt;br /&gt;
===$Name:===&lt;br /&gt;
* Name of ship type. To assign a ship class to a given type, simply place the name entered here in the ship class&#039;s &amp;quot;$Flags:&amp;quot; field.&lt;br /&gt;
&lt;br /&gt;
===$Counts for Alone:===&lt;br /&gt;
* Whether ship counts for determing whether or not Freespace 2 will play the &amp;quot;No reinforcements are available&amp;quot; message.&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Praise Destruction:===&lt;br /&gt;
* Whether wingmates will praise destruction of the ship.&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$On Hotkey List:===&lt;br /&gt;
* Whether ship will show up in hotkey screen.&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Target as Threat:===&lt;br /&gt;
* Whether ship will be targetted with the &#039;H&#039; key.&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Scannable:===&lt;br /&gt;
* Toggles whether ship type can be scanned&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Warp Pushes:===&lt;br /&gt;
* Whether ship will push other (pushable) ships out of the way while warping.&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Warp Pushable:===&lt;br /&gt;
* Whether ship can be pushed out of the way by ships with Warp Pushes enabled&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Max Debris Speed:===&lt;br /&gt;
* Maximum speed of debris spawned from ship&lt;br /&gt;
* Syntax: &#039;&#039;Number or decimal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$FF Multiplier:===&lt;br /&gt;
* Friendly-fire damage to ship will be multiplied by this amount&lt;br /&gt;
* Syntax: &#039;&#039;Number or decimal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$EMP Multiplier:===&lt;br /&gt;
* EMP effect will be multiplied by this amount. Higher values mean more HUD jittering/longer-lasting effect.&lt;br /&gt;
* Syntax: &#039;&#039;Number or decimal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Beams Easily Hit:===&lt;br /&gt;
* Whether beams can easily hit ship (eg capship beams rarely hit fighters)&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Fog:===&lt;br /&gt;
====+Start Dist:====&lt;br /&gt;
* Distance from camera that fogging effect will start&lt;br /&gt;
* Syntax: &#039;&#039;Number or decimal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====+Compl Dist:====&lt;br /&gt;
* Distance from camera that fogging effect will start&lt;br /&gt;
* Syntax: &#039;&#039;Number or decimal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$AI:===&lt;br /&gt;
====+Valid Goals:====&lt;br /&gt;
* Valid goals that can be given to fighter&lt;br /&gt;
* Syntax: &#039;&#039;( &amp;quot;goal&amp;quot; &amp;quot;goal&amp;quot; )&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Goals:&#039;&#039;&#039;&lt;br /&gt;
** attack ship&lt;br /&gt;
** dock&lt;br /&gt;
** waypoints&lt;br /&gt;
** waypoints once&lt;br /&gt;
** depart&lt;br /&gt;
** attack subsys&lt;br /&gt;
** form on wing&lt;br /&gt;
** undock&lt;br /&gt;
** attack wing&lt;br /&gt;
** guard ship&lt;br /&gt;
** disable ship&lt;br /&gt;
** disarm ship&lt;br /&gt;
** attack any&lt;br /&gt;
** ignore ship&lt;br /&gt;
** ignore ship (new)&lt;br /&gt;
** guard wing&lt;br /&gt;
** evade ship&lt;br /&gt;
** stay near ship&lt;br /&gt;
** keep safe dist&lt;br /&gt;
** rearm ship&lt;br /&gt;
** stay still&lt;br /&gt;
** play dead&lt;br /&gt;
** attack weapon&lt;br /&gt;
** fly to ship&lt;br /&gt;
&lt;br /&gt;
====+Accept Player Orders:====&lt;br /&gt;
* Whether or not ship type will accept orders from player&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====+Player Orders:====&lt;br /&gt;
* Orders that ship type will accept from player&lt;br /&gt;
* Syntax: &#039;&#039;( &amp;quot;goal&amp;quot; &amp;quot;goal&amp;quot; )&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Orders:&#039;&#039;&#039;&lt;br /&gt;
** attack ship&lt;br /&gt;
** disable ship&lt;br /&gt;
** disarm ship&lt;br /&gt;
** disable subsys&lt;br /&gt;
** guard ship&lt;br /&gt;
** ignore ship&lt;br /&gt;
** form on wing&lt;br /&gt;
** cover me&lt;br /&gt;
** attack any&lt;br /&gt;
** depart&lt;br /&gt;
** dock&lt;br /&gt;
** rearm me&lt;br /&gt;
** abort rearm&lt;br /&gt;
** stay near me&lt;br /&gt;
** stay near ship&lt;br /&gt;
** keep safe dist&lt;br /&gt;
&lt;br /&gt;
====+Auto Attacks:====&lt;br /&gt;
* Whether or not ship type will auto attack nearby ships&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====+Attempt Broadsides:====&lt;br /&gt;
* Whether or not ship type will try to use broadside tactics against enemy ships&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====+Actively Pursues:====&lt;br /&gt;
* Whether or not ship type will engage ships that attack it or the ship that is currently being escorted by it.&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====+Guards Attack this:====&lt;br /&gt;
* Whether ships assigned to guard another ship will attempt to engage ships of the type&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====+Turrets Attack This:====&lt;br /&gt;
* Whether or not turrets will target the ships of the type&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====+Can Form Wing:====&lt;br /&gt;
* Whether or not ship type can be formed into a wing&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====+Active Docks:====&lt;br /&gt;
* Preferred docking bay type for ship when it is initiating the dock with another ship&lt;br /&gt;
* Syntax: &#039;&#039;( &amp;quot;bay&amp;quot; &amp;quot;bay&amp;quot; )&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Dock bays:&#039;&#039;&#039;&lt;br /&gt;
** cargo&lt;br /&gt;
** rearm&lt;br /&gt;
** generic&lt;br /&gt;
&lt;br /&gt;
====+Passive Docks:====&lt;br /&gt;
* Preferred docking bay type for ship when it is receiving a dock from another ship&lt;br /&gt;
* Syntax: &#039;&#039;( &amp;quot;bay&amp;quot; &amp;quot;bay&amp;quot; )&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Dock bays:&#039;&#039;&#039;&lt;br /&gt;
** cargo&lt;br /&gt;
** rearm&lt;br /&gt;
** generic&lt;br /&gt;
&lt;br /&gt;
==#End==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Tables]]&lt;/div&gt;</summary>
		<author><name>WMCoolmon</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Objecttypes.tbl&amp;diff=3157</id>
		<title>Objecttypes.tbl</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Objecttypes.tbl&amp;diff=3157"/>
		<updated>2006-04-22T08:54:20Z</updated>

		<summary type="html">&lt;p&gt;WMCoolmon: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Objecttypes.tbl is a table added by the FSSCP, used to set attributes of different object types. Currently the only section of this table are ship type attributes. A ship &#039;type&#039; supercedes ship classes defined in ships.tbl. For example, the [[GTF Perseus]] and [[GTF Ulysses]] belong to the &#039;fighter&#039; ship type. However, the [[GTD Orion]] belongs to the &#039;capital&#039; ship type.&lt;br /&gt;
&lt;br /&gt;
Note that objecttypes.tbl is fully XMT-compliant, with the suffix *-obt.tbm&lt;br /&gt;
&lt;br /&gt;
==General Format==&lt;br /&gt;
==#Ship Types==&lt;br /&gt;
===$Name:===&lt;br /&gt;
* Name of ship type. To assign a ship class to a given type, simply place the name entered here in the ship class&#039;s &amp;quot;$Flags:&amp;quot; field.&lt;br /&gt;
&lt;br /&gt;
===$Counts for Alone:===&lt;br /&gt;
* Whether ship counts for determing whether or not Freespace 2 will play the &amp;quot;No reinforcements are available&amp;quot; message.&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Praise Destruction:===&lt;br /&gt;
* Whether wingmates will praise destruction of the ship.&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$On Hotkey List:===&lt;br /&gt;
* Whether ship will show up in hotkey screen.&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Target as Threat:===&lt;br /&gt;
* Whether ship will be targetted with the &#039;H&#039; key.&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Scannable:===&lt;br /&gt;
* Toggles whether ship type can be scanned&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Warp Pushes:===&lt;br /&gt;
* Whether ship will push other (pushable) ships out of the way while warping.&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Warp Pushable:===&lt;br /&gt;
* Whether ship can be pushed out of the way by ships with Warp Pushes enabled&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Max Debris Speed:===&lt;br /&gt;
* Maximum speed of debris spawned from ship&lt;br /&gt;
* Syntax: &#039;&#039;Number or decimal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$FF Multiplier:===&lt;br /&gt;
* Friendly-fire damage to ship will be multiplied by this amount&lt;br /&gt;
* Syntax: &#039;&#039;Number or decimal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$EMP Multiplier:===&lt;br /&gt;
* EMP effect will be multiplied by this amount. Higher values mean more HUD jittering/longer-lasting effect.&lt;br /&gt;
* Syntax: &#039;&#039;Number or decimal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Beams Easily Hit:===&lt;br /&gt;
* Whether beams can easily hit ship (eg capship beams rarely hit fighters)&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Fog:===&lt;br /&gt;
====+Start Dist:====&lt;br /&gt;
* Distance from camera that fogging effect will start&lt;br /&gt;
* Syntax: &#039;&#039;Number or decimal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====+Compl Dist:====&lt;br /&gt;
* Distance from camera that fogging effect will start&lt;br /&gt;
* Syntax: &#039;&#039;Number or decimal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$AI:===&lt;br /&gt;
====+Valid Goals:====&lt;br /&gt;
* Valid goals that can be given to fighter&lt;br /&gt;
* Syntax: &#039;&#039;( &amp;quot;goal&amp;quot; &amp;quot;goal&amp;quot; )&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Goals:&#039;&#039;&#039;&lt;br /&gt;
** attack ship&lt;br /&gt;
** dock&lt;br /&gt;
** waypoints&lt;br /&gt;
** waypoints once&lt;br /&gt;
** depart&lt;br /&gt;
** attack subsys&lt;br /&gt;
** form on wing&lt;br /&gt;
** undock&lt;br /&gt;
** attack wing&lt;br /&gt;
** guard ship&lt;br /&gt;
** disable ship&lt;br /&gt;
** disarm ship&lt;br /&gt;
** attack any&lt;br /&gt;
** ignore ship&lt;br /&gt;
** ignore ship (new)&lt;br /&gt;
** guard wing&lt;br /&gt;
** evade ship&lt;br /&gt;
** stay near ship&lt;br /&gt;
** keep safe dist&lt;br /&gt;
** rearm ship&lt;br /&gt;
** stay still&lt;br /&gt;
** play dead&lt;br /&gt;
** attack weapon&lt;br /&gt;
** fly to ship&lt;br /&gt;
&lt;br /&gt;
====+Accept Player Orders:====&lt;br /&gt;
* Whether or not ship type will accept orders from player&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====+Player Orders:====&lt;br /&gt;
* Orders that ship type will accept from player&lt;br /&gt;
* Syntax: &#039;&#039;( &amp;quot;goal&amp;quot; &amp;quot;goal&amp;quot; )&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Orders:&#039;&#039;&#039;&lt;br /&gt;
** attack ship&lt;br /&gt;
** disable ship&lt;br /&gt;
** disarm ship&lt;br /&gt;
** disable subsys&lt;br /&gt;
** guard ship&lt;br /&gt;
** ignore ship&lt;br /&gt;
** form on wing&lt;br /&gt;
** cover me&lt;br /&gt;
** attack any&lt;br /&gt;
** depart&lt;br /&gt;
** dock&lt;br /&gt;
** rearm me&lt;br /&gt;
** abort rearm&lt;br /&gt;
** stay near me&lt;br /&gt;
** stay near ship&lt;br /&gt;
** keep safe dist&lt;br /&gt;
&lt;br /&gt;
====+Auto Attacks:====&lt;br /&gt;
* Whether or not ship type will auto attack nearby ships&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====+Attempt Broadsides:====&lt;br /&gt;
* Whether or not ship type will try to use broadside tactics against enemy ships&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====+Actively Pursues:====&lt;br /&gt;
* Whether or not ship type will engage ships that attack it or the ship that is currently being escorted by it.&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====+Guards Attack this:====&lt;br /&gt;
* Whether ships assigned to guard another ship will attempt to engage ships of the type&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====+Turrets Attack This:====&lt;br /&gt;
* Whether or not turrets will target the ships of the type&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====+Can Form Wing:====&lt;br /&gt;
* Whether or not ship type can be formed into a wing&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====+Active Docks:====&lt;br /&gt;
* Preferred docking bay type for ship when it is initiating the dock with another ship&lt;br /&gt;
* Syntax: &#039;&#039;( &amp;quot;bay&amp;quot; &amp;quot;bay&amp;quot; )&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Dock bays:&#039;&#039;&#039;&lt;br /&gt;
** cargo&lt;br /&gt;
** rearm&lt;br /&gt;
** generic&lt;br /&gt;
&lt;br /&gt;
====+Passive Docks:====&lt;br /&gt;
* Preferred docking bay type for ship when it is receiving a dock from another ship&lt;br /&gt;
* Syntax: &#039;&#039;( &amp;quot;bay&amp;quot; &amp;quot;bay&amp;quot; )&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Dock bays:&#039;&#039;&#039;&lt;br /&gt;
** cargo&lt;br /&gt;
** rearm&lt;br /&gt;
** generic&lt;br /&gt;
&lt;br /&gt;
==#End==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: Tables]]&lt;/div&gt;</summary>
		<author><name>WMCoolmon</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Objecttypes.tbl&amp;diff=3156</id>
		<title>Objecttypes.tbl</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Objecttypes.tbl&amp;diff=3156"/>
		<updated>2006-04-22T08:51:48Z</updated>

		<summary type="html">&lt;p&gt;WMCoolmon: Finish of original addtion&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Objecttypes.tbl is a table added by the FSSCP, used to set attributes of different object types. Currently the only section of this table are ship type attributes. A ship &#039;type&#039; supercedes ship classes defined in ships.tbl. For example, the [[GTF Perseus]] and [[GTF Ulysses]] belong to the &#039;fighter&#039; ship type. However, the [[GTD Orion]] belongs to the &#039;capital&#039; ship type.&lt;br /&gt;
&lt;br /&gt;
==General Format==&lt;br /&gt;
==#Ship Types==&lt;br /&gt;
===$Name:===&lt;br /&gt;
* Name of ship type. To assign a ship class to a given type, simply place the name entered here in the ship class&#039;s &amp;quot;$Flags:&amp;quot; field.&lt;br /&gt;
&lt;br /&gt;
===$Counts for Alone:===&lt;br /&gt;
* Whether ship counts for determing whether or not Freespace 2 will play the &amp;quot;No reinforcements are available&amp;quot; message.&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Praise Destruction:===&lt;br /&gt;
* Whether wingmates will praise destruction of the ship.&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$On Hotkey List:===&lt;br /&gt;
* Whether ship will show up in hotkey screen.&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Target as Threat:===&lt;br /&gt;
* Whether ship will be targetted with the &#039;H&#039; key.&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Scannable:===&lt;br /&gt;
* Toggles whether ship type can be scanned&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Warp Pushes:===&lt;br /&gt;
* Whether ship will push other (pushable) ships out of the way while warping.&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Warp Pushable:===&lt;br /&gt;
* Whether ship can be pushed out of the way by ships with Warp Pushes enabled&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Max Debris Speed:===&lt;br /&gt;
* Maximum speed of debris spawned from ship&lt;br /&gt;
* Syntax: &#039;&#039;Number or decimal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$FF Multiplier:===&lt;br /&gt;
* Friendly-fire damage to ship will be multiplied by this amount&lt;br /&gt;
* Syntax: &#039;&#039;Number or decimal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$EMP Multiplier:===&lt;br /&gt;
* EMP effect will be multiplied by this amount. Higher values mean more HUD jittering/longer-lasting effect.&lt;br /&gt;
* Syntax: &#039;&#039;Number or decimal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Beams Easily Hit:===&lt;br /&gt;
* Whether beams can easily hit ship (eg capship beams rarely hit fighters)&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Fog:===&lt;br /&gt;
====+Start Dist:====&lt;br /&gt;
* Distance from camera that fogging effect will start&lt;br /&gt;
* Syntax: &#039;&#039;Number or decimal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====+Compl Dist:====&lt;br /&gt;
* Distance from camera that fogging effect will start&lt;br /&gt;
* Syntax: &#039;&#039;Number or decimal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$AI:===&lt;br /&gt;
====+Valid Goals:====&lt;br /&gt;
* Valid goals that can be given to fighter&lt;br /&gt;
* Syntax: &#039;&#039;( &amp;quot;goal&amp;quot; &amp;quot;goal&amp;quot; )&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Goals:&#039;&#039;&#039;&lt;br /&gt;
** attack ship&lt;br /&gt;
** dock&lt;br /&gt;
** waypoints&lt;br /&gt;
** waypoints once&lt;br /&gt;
** depart&lt;br /&gt;
** attack subsys&lt;br /&gt;
** form on wing&lt;br /&gt;
** undock&lt;br /&gt;
** attack wing&lt;br /&gt;
** guard ship&lt;br /&gt;
** disable ship&lt;br /&gt;
** disarm ship&lt;br /&gt;
** attack any&lt;br /&gt;
** ignore ship&lt;br /&gt;
** ignore ship (new)&lt;br /&gt;
** guard wing&lt;br /&gt;
** evade ship&lt;br /&gt;
** stay near ship&lt;br /&gt;
** keep safe dist&lt;br /&gt;
** rearm ship&lt;br /&gt;
** stay still&lt;br /&gt;
** play dead&lt;br /&gt;
** attack weapon&lt;br /&gt;
** fly to ship&lt;br /&gt;
&lt;br /&gt;
====+Accept Player Orders:====&lt;br /&gt;
* Whether or not ship type will accept orders from player&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====+Player Orders:====&lt;br /&gt;
* Orders that ship type will accept from player&lt;br /&gt;
* Syntax: &#039;&#039;( &amp;quot;goal&amp;quot; &amp;quot;goal&amp;quot; )&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Orders:&#039;&#039;&#039;&lt;br /&gt;
** attack ship&lt;br /&gt;
** disable ship&lt;br /&gt;
** disarm ship&lt;br /&gt;
** disable subsys&lt;br /&gt;
** guard ship&lt;br /&gt;
** ignore ship&lt;br /&gt;
** form on wing&lt;br /&gt;
** cover me&lt;br /&gt;
** attack any&lt;br /&gt;
** depart&lt;br /&gt;
** dock&lt;br /&gt;
** rearm me&lt;br /&gt;
** abort rearm&lt;br /&gt;
** stay near me&lt;br /&gt;
** stay near ship&lt;br /&gt;
** keep safe dist&lt;br /&gt;
&lt;br /&gt;
====+Auto Attacks:====&lt;br /&gt;
* Whether or not ship type will auto attack nearby ships&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====+Attempt Broadsides:====&lt;br /&gt;
* Whether or not ship type will try to use broadside tactics against enemy ships&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====+Actively Pursues:====&lt;br /&gt;
* Whether or not ship type will engage ships that attack it or the ship that is currently being escorted by it.&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====+Guards Attack this:====&lt;br /&gt;
* Whether ships assigned to guard another ship will attempt to engage ships of the type&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====+Turrets Attack This:====&lt;br /&gt;
* Whether or not turrets will target the ships of the type&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====+Can Form Wing:====&lt;br /&gt;
* Whether or not ship type can be formed into a wing&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====+Active Docks:====&lt;br /&gt;
* Preferred docking bay type for ship when it is initiating the dock with another ship&lt;br /&gt;
* Syntax: &#039;&#039;( &amp;quot;bay&amp;quot; &amp;quot;bay&amp;quot; )&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Dock bays:&#039;&#039;&#039;&lt;br /&gt;
** cargo&lt;br /&gt;
** rearm&lt;br /&gt;
** generic&lt;br /&gt;
&lt;br /&gt;
====+Passive Docks:====&lt;br /&gt;
* Preferred docking bay type for ship when it is receiving a dock from another ship&lt;br /&gt;
* Syntax: &#039;&#039;( &amp;quot;bay&amp;quot; &amp;quot;bay&amp;quot; )&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Dock bays:&#039;&#039;&#039;&lt;br /&gt;
** cargo&lt;br /&gt;
** rearm&lt;br /&gt;
** generic&lt;br /&gt;
&lt;br /&gt;
==#End==&lt;/div&gt;</summary>
		<author><name>WMCoolmon</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Objecttypes.tbl&amp;diff=3155</id>
		<title>Objecttypes.tbl</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Objecttypes.tbl&amp;diff=3155"/>
		<updated>2006-04-22T08:42:16Z</updated>

		<summary type="html">&lt;p&gt;WMCoolmon: Initial addition of page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Objecttypes.tbl is a table added by the FSSCP, used to set attributes of different object types. Currently the only section of this table are ship type attributes. A ship &#039;type&#039; supercedes ship classes defined in ships.tbl. For example, the [[GTF Perseus]] and [[GTF Ulysses]] belong to the &#039;fighter&#039; ship type. However, the [[GTD Orion]] belongs to the &#039;capital&#039; ship type.&lt;br /&gt;
&lt;br /&gt;
==General Format==&lt;br /&gt;
==#Ship Types==&lt;br /&gt;
===$Name:===&lt;br /&gt;
* Name of ship type. To assign a ship class to a given type, simply place the name entered here in the ship class&#039;s &amp;quot;$Flags:&amp;quot; field.&lt;br /&gt;
&lt;br /&gt;
===$Counts for Alone:===&lt;br /&gt;
* Whether ship counts for determing whether or not Freespace 2 will play the &amp;quot;No reinforcements are available&amp;quot; message.&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Praise Destruction:===&lt;br /&gt;
* Whether wingmates will praise destruction of the ship.&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$On Hotkey List:===&lt;br /&gt;
* Whether ship will show up in hotkey screen.&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Target as Threat:===&lt;br /&gt;
* Whether ship will be targetted with the &#039;H&#039; key.&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Scannable:===&lt;br /&gt;
* Toggles whether ship type can be scanned&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Warp Pushes:===&lt;br /&gt;
* Whether ship will push other (pushable) ships out of the way while warping.&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Warp Pushable:===&lt;br /&gt;
* Whether ship can be pushed out of the way by ships with Warp Pushes enabled&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Max Debris Speed:===&lt;br /&gt;
* Maximum speed of debris spawned from ship&lt;br /&gt;
* Syntax: &#039;&#039;Number or decimal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$FF Multiplier:===&lt;br /&gt;
* Friendly-fire damage to ship will be multiplied by this amount&lt;br /&gt;
* Syntax: &#039;&#039;Number or decimal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$EMP Multiplier:===&lt;br /&gt;
* EMP effect will be multiplied by this amount. Higher values mean more HUD jittering/longer-lasting effect.&lt;br /&gt;
* Syntax: &#039;&#039;Number or decimal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Beams Easily Hit:===&lt;br /&gt;
* Whether beams can easily hit ship (eg capship beams rarely hit fighters)&lt;br /&gt;
* Syntax: &#039;&#039;Yes/No&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Fog:===&lt;br /&gt;
====+Start Dist:====&lt;br /&gt;
* Distance from camera that fogging effect will start&lt;br /&gt;
* Syntax: &#039;&#039;Number or decimal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====+Compl Dist:====&lt;br /&gt;
* Distance from camera that fogging effect will start&lt;br /&gt;
* Syntax: &#039;&#039;Number or decimal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$AI:===&lt;br /&gt;
====+Valid Goals:====&lt;br /&gt;
* Valid goals that can be given to fighter&lt;br /&gt;
* Valid orders: &lt;br /&gt;
** attack ship&lt;br /&gt;
** dock&lt;br /&gt;
** waypoints&lt;br /&gt;
** waypoints once&lt;br /&gt;
** depart&lt;br /&gt;
** attack subsys&lt;br /&gt;
** form on wing&lt;br /&gt;
** undock&lt;br /&gt;
** attack wing&lt;br /&gt;
** guard ship&lt;br /&gt;
** disable ship&lt;br /&gt;
** disarm ship&lt;br /&gt;
** attack any&lt;br /&gt;
** ignore ship&lt;br /&gt;
** ignore ship (new)&lt;br /&gt;
** guard wing&lt;br /&gt;
** evade ship&lt;br /&gt;
** stay near ship&lt;br /&gt;
** keep safe dist&lt;br /&gt;
** rearm ship&lt;br /&gt;
** stay still&lt;br /&gt;
** play dead&lt;br /&gt;
** attack weapon&lt;br /&gt;
** fly to ship&lt;br /&gt;
* Syntax: &#039;&#039;( &amp;quot;goal&amp;quot; &amp;quot;goal&amp;quot; )&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==#End==&lt;/div&gt;</summary>
		<author><name>WMCoolmon</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Command-Line_Reference&amp;diff=1847</id>
		<title>Command-Line Reference</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Command-Line_Reference&amp;diff=1847"/>
		<updated>2006-01-18T20:16:39Z</updated>

		<summary type="html">&lt;p&gt;WMCoolmon: /* -fov */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Launcher Flags==&lt;br /&gt;
The following command-line options can be chosen from the launcher.  &lt;br /&gt;
===Graphics===&lt;br /&gt;
====-spec====&lt;br /&gt;
Enables specular mapping.  Only polygons mapped with textures for which a shinemap exists will recieve specular lighting.  Specular maps are specified with the base map name plus &amp;quot;-shine&amp;quot; (i.e. TCov3A-shine.pcx).&lt;br /&gt;
====-glow====&lt;br /&gt;
Enables glowmapping.  Only polygons mapped with textures for which a glowmap exists will be glowmapped.  Glow maps are specified with the base map name plus &amp;quot;-glow&amp;quot; (i.e. TCov4A-glow.pcx)&lt;br /&gt;
&lt;br /&gt;
====-jpgtga====&lt;br /&gt;
Enables the use of TGA and JPG file formats for image files.  If a ship is showing up partially invisible, select this option.&lt;br /&gt;
====-pcx32====&lt;br /&gt;
&#039;&#039;&#039;WARNING - HIGH MEMORY USAGE&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Enables PCX files to be loaded into 32-bit memory.  This will not imporove the rendering of any ships in-game, and is usually more of a burden on performance than is worthwhile.  Use at your own risk.  Removed from launcher options after 3.6.7.&lt;br /&gt;
&lt;br /&gt;
====-cell====&lt;br /&gt;
Enables cell shading.  This will make graphics appear more &amp;quot;cartoonish&amp;quot;.  For use with media in mv_cell.vp.  Not considered a standard enhancement.&lt;br /&gt;
====-mipmap====&lt;br /&gt;
Enables mipmapping.&lt;br /&gt;
&lt;br /&gt;
====-nomotiondebris====&lt;br /&gt;
Disables motion debris.&lt;br /&gt;
====-2d_poof====&lt;br /&gt;
Applies nebula poofs in 2d, effectively preventing them from forming intersections with ships.&lt;br /&gt;
====-noscalevid====&lt;br /&gt;
Disables scaling of video clips.&lt;br /&gt;
====-cache_bitmaps====&lt;br /&gt;
Caches bitmaps between missions, which will ideally reduce the load-time from one mission to another.&lt;br /&gt;
====-missile_lighting====&lt;br /&gt;
Applys lighting to missiles.&lt;br /&gt;
====-rlm====&lt;br /&gt;
&#039;&#039;&#039;Obsolete Argument&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=yellow&amp;gt;&lt;br /&gt;
Enables more accurate lighting model for OpenGL mode.  Always on in current builds, so this command-line option has been removed.&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Game Speed===&lt;br /&gt;
====-img2dds====&lt;br /&gt;
Converts all images to DDS (compressed) format.  Decreases memory usage but potentially reduces image quality.&lt;br /&gt;
====-no_vsync====&lt;br /&gt;
Disables vertical sync.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===HUD===&lt;br /&gt;
====-dualscanlines====&lt;br /&gt;
Adds a second pair of scanning lines to the target window when scanning an object.&lt;br /&gt;
====-targetinfo====&lt;br /&gt;
Displays target info, such as name and class, beside the targeted object.&lt;br /&gt;
====-orbradar====&lt;br /&gt;
Enables 3D radar (the Orb).  3D radar will replace the standard 2D version.&lt;br /&gt;
====-ballistic_gauge====&lt;br /&gt;
Adds an ammo gauge to the HUD when armed with a ballistic weapon.&lt;br /&gt;
====-rearm_timer====&lt;br /&gt;
Displays time remaining until rearm and repair from a support ship is complete.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Gameplay===&lt;br /&gt;
====-nobeampierce====&lt;br /&gt;
Causes beams to hit (and damage) shields before they impact a ship&#039;s hull.  This is a global flag, but this behavior can also be modified in weapons.tbl.&lt;br /&gt;
====-smart_shields====&lt;br /&gt;
Enables &amp;quot;smart&amp;quot; shield recharging.  Shield recharge is distributed to the most damaged shield quadrant instead of being distributed equally across the entire shield and be wasted when a quadrant is full.&lt;br /&gt;
====-ship_choice_3d====&lt;br /&gt;
Use ship and weapon models in ship selection and weapon loadout.  Completely disables the standard ANI interface on those screens.&lt;br /&gt;
====-3dwarp====&lt;br /&gt;
Use full geometry for the subspace warp effect.&lt;br /&gt;
====-warp_flash====&lt;br /&gt;
Enable a flash at warp in and warp out.&lt;br /&gt;
====-UseNewAI====&lt;br /&gt;
Tells the game to use new AI routines.  This argument alters mission balance and is not considered a standard feature.&lt;br /&gt;
====-tbp====&lt;br /&gt;
Enable feature set for The Babylon Project&lt;br /&gt;
====-wcsaga====&lt;br /&gt;
Enable feature set for The Wing Commander Saga&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Audio===&lt;br /&gt;
====-snd_preload====&lt;br /&gt;
Preload mission sounds.  Useful in preventing game stuttering when sounds are played for the first time.&lt;br /&gt;
====-nosound====&lt;br /&gt;
Disables all sounds.&lt;br /&gt;
====-nomusic====&lt;br /&gt;
Disables music only.&lt;br /&gt;
===Multiplayer===&lt;br /&gt;
====-standalone====&lt;br /&gt;
Creates a standalone server.&lt;br /&gt;
====-startgame====&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;What does this do?&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
====-closed====&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;What does this do?&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
====-restricted====&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;What does this do?&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
====-multilog====&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;What does this do?&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
====-clientdamage====&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;What does this do?&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
====-mpnoreturn====&lt;br /&gt;
Disables return to the flight deck screen after a mission completes.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Troubleshooting===&lt;br /&gt;
====-fixbugs====&lt;br /&gt;
&#039;&#039;&#039;Obsolete Argument - Removed in builds after 3.6.7&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=yellow&amp;gt;&lt;br /&gt;
Originally used to disable certain crashing behavior as a stop-gap measure.  This feature is not available in current builds.&amp;lt;/font&amp;gt;&lt;br /&gt;
====-nocrash====&lt;br /&gt;
&#039;&#039;&#039;Obsolete Argument - Removed in builds after 3.6.7&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=yellow&amp;gt;&lt;br /&gt;
Originally used to disable certain crashing behavior as a stop-gap measure.  This feature is not available in current builds.&amp;lt;/font&amp;gt;&lt;br /&gt;
====-oldfire====&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;What does this do?&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
====-nohtl====&lt;br /&gt;
&#039;&#039;&#039;WARNING - VERY SLOW&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Reverts to software rendering mode.  Does this work any more?&lt;br /&gt;
====-no_set_gamma====&lt;br /&gt;
Disables the gamma settings in the options screen.&lt;br /&gt;
====-nomovies====&lt;br /&gt;
Disables all video playback.&lt;br /&gt;
====-noparseerrors====&lt;br /&gt;
Disables some parsing warnings and makes other parse errors non-fatal.  Do not rely on this when creating new tables, the errors are there for a reason.&lt;br /&gt;
====-safeloading====&lt;br /&gt;
Loads missions the old way.  Typically safer, but slower.&lt;br /&gt;
====-query_speech====&lt;br /&gt;
Determines if the current build includes text-to-speech.&lt;br /&gt;
====-d3d_bad_tsys====&lt;br /&gt;
Enable inefficient texture system.&lt;br /&gt;
====-novbo====&lt;br /&gt;
Disables OpenGL VBO.&lt;br /&gt;
====-noibx====&lt;br /&gt;
Disables IBX caching of model geometry data.  This will dramatically increase load times, but will help troubleshoot a model if one is working incorrectly.&lt;br /&gt;
====-loadallweps====&lt;br /&gt;
Load all weapons, even those not used.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Experimental===&lt;br /&gt;
====-env====&lt;br /&gt;
Enables environment mapping.  Direct3D only.  Environment mapping intensity will be determined from the intensity of specular maps.&lt;br /&gt;
====-alpha_env====&lt;br /&gt;
Enables alpha environment mapping.  Direct3D only.  Environment mapping intensity will be determined from the alpha channel of specular maps.&lt;br /&gt;
====-decals====&lt;br /&gt;
Enables damage decals.&lt;br /&gt;
====-ingame_join====&lt;br /&gt;
Enables ingame joining in multiplayer.  FIXME: Host option?&lt;br /&gt;
====-tga16====&lt;br /&gt;
Converts all TGA images to 16-bits.  Reduces memory footprint at the expense of image quality.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Development Tools===&lt;br /&gt;
====-fps====&lt;br /&gt;
Displays current frames per second.&lt;br /&gt;
====-pos====&lt;br /&gt;
Displays current position coordinates of camera.&lt;br /&gt;
====-window====&lt;br /&gt;
Runs the game in a window.  No check to make sure that resolution is no higher than your desktop resolution, so be careful.&lt;br /&gt;
====-timerbar====&lt;br /&gt;
Displays a timing bar across the top of the screen.  Timebar format varies by build.&lt;br /&gt;
====-stats====&lt;br /&gt;
Shows statistics.&lt;br /&gt;
====-coords====&lt;br /&gt;
Shows coordinates of the mouse cursor.&lt;br /&gt;
====-show_mem_usage====&lt;br /&gt;
Shows memory usage.&lt;br /&gt;
====-pofspew====&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;What does this do?&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
====-tablecrcs====&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;What does this do?&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
====-missioncrcs====&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;What does this do?&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
====-dis_collisions====&lt;br /&gt;
Disables all collisions.&lt;br /&gt;
====-dis_weapons====&lt;br /&gt;
Disables weapons rendering.&lt;br /&gt;
====-output_sexps====&lt;br /&gt;
Outputs SEXPs to sexps.html.&lt;br /&gt;
====-output_scripting====&lt;br /&gt;
Outputs scripting to scripting.html.&lt;br /&gt;
====-nograb====&lt;br /&gt;
Unix only.  Disables focus grabbing in a window.&lt;br /&gt;
==Other==&lt;br /&gt;
The following options are not available as checkboxes in the launcher.  Many require parameters, which follow the flag seperated by a space.  The prototype for use in this case is &amp;quot;-option argument&amp;quot;&lt;br /&gt;
===Graphics===&lt;br /&gt;
====-ambient_factor====&lt;br /&gt;
Reduces the ambient lighting levels.&lt;br /&gt;
&lt;br /&gt;
Takes one argument decimal.  The range is specified as a percent, so 0 is no ambient lighting, 100 is default levels.&lt;br /&gt;
====-spec_exp====&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;What does this do?&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Takes one argument decimal.&lt;br /&gt;
====-spec_point====&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;What does this do?&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Takes one argument decimal.&lt;br /&gt;
====-spec_static====&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;What does this do?&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Takes one argument decimal.&lt;br /&gt;
====-spec_tube====&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;What does this do?&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Takes one argument decimal.&lt;br /&gt;
====-clipdist====&lt;br /&gt;
Changes the distance from the viewpoint for the near-clipping plane.&lt;br /&gt;
&lt;br /&gt;
Takes one argument decimal specifying the distance to the near-clipping plane.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Gameplay===&lt;br /&gt;
====-mod====&lt;br /&gt;
Specifies a higher priority game directory.&lt;br /&gt;
&lt;br /&gt;
Takes one argument string, the name of the directory in which the target mod is contained.  Explicit use of this command line should be unnecessary as the launcher has MOD options, though multiple mods are supported and do require manual entry.&lt;br /&gt;
&lt;br /&gt;
Data precidence with -mod is as follows (mod directory &amp;quot;moddir&amp;quot;)&lt;br /&gt;
#moddir/data/(appropriate directory)/&lt;br /&gt;
#moddir/data/&lt;br /&gt;
#moddir/&lt;br /&gt;
#Freespace2/data/(appropriate directory)&lt;br /&gt;
#Freespace2/data/&lt;br /&gt;
#Freespace2/&lt;br /&gt;
====-fov====&lt;br /&gt;
Specifies the Field of View for the player eyepoint.&lt;br /&gt;
&lt;br /&gt;
Takes one argument decimal specifying the angle of the viewing cone in radians, from 0 to 2*pi&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
===Multiplayer===&lt;br /&gt;
====-gamename====&lt;br /&gt;
Specifies the name of the game to be created by a stand-alone server.&lt;br /&gt;
&lt;br /&gt;
Takes one argument string, the name to be assigned to the game being created.&lt;br /&gt;
====-password====&lt;br /&gt;
Specifies the password for a stand-alone server.&lt;br /&gt;
&lt;br /&gt;
Takes one argument string, the required password for the game being created.&lt;br /&gt;
====-allowabove====&lt;br /&gt;
Specifies a player&#039;s minimum rank for joining a game on a stand-alone server.&lt;br /&gt;
&lt;br /&gt;
Takes one argument integer, the points ranking above which a player must be to enter the game.&lt;br /&gt;
====-allowbelow====&lt;br /&gt;
Specifies a player&#039;s maximum rank for joining a game on a stand-alone server.&lt;br /&gt;
&lt;br /&gt;
Takes one argument integer, the points ranking below which a player must be to enter the game.&lt;br /&gt;
====-port====&lt;br /&gt;
Specifies the port on which to run for a stand-alone server.&lt;br /&gt;
&lt;br /&gt;
Takes one argument integer, the port which the game should use to connect.&lt;br /&gt;
====-connect====&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;What does this do?&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
====-clientdamage====&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;What does this do?&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
====-timeout====&lt;br /&gt;
&#039;&#039;&#039;&#039;&#039;What does this do?&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[Category:Lists]]&lt;br /&gt;
[[Category:Source Code Project]]&lt;/div&gt;</summary>
		<author><name>WMCoolmon</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Development_Reference&amp;diff=1934</id>
		<title>Development Reference</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Development_Reference&amp;diff=1934"/>
		<updated>2006-01-14T20:30:10Z</updated>

		<summary type="html">&lt;p&gt;WMCoolmon: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Scripting API]]&lt;br /&gt;
[[FS2_Open Lua Scripting]]&lt;/div&gt;</summary>
		<author><name>WMCoolmon</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Coding_In_C&amp;diff=4724</id>
		<title>Coding In C</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Coding_In_C&amp;diff=4724"/>
		<updated>2006-01-11T21:01:55Z</updated>

		<summary type="html">&lt;p&gt;WMCoolmon: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==File types==&lt;br /&gt;
There are two main types of file types in C/C++; .c/.cpp files, and .h files. .c/.cpp files are the meat of the source code; they contain the actual function and variable definitions. When a program is &#039;&#039;&#039;&#039;&#039;built&#039;&#039;&#039;&#039;&#039;, it is &#039;&#039;&#039;&#039;&#039;compiled&#039;&#039;&#039;&#039;&#039; to create machine-readable code. To form a complete program, the machine code is &#039;&#039;&#039;&#039;&#039;linked&#039;&#039;&#039;&#039;&#039; with other compiled .c/.cpp files to form the complete program (the .exe).&lt;br /&gt;
&lt;br /&gt;
.h files contain code, such as class, function, or struct definitions, that is used in multiple files but usually doesn&#039;t really do anything when the program is built.&lt;br /&gt;
&lt;br /&gt;
==Comments==&lt;br /&gt;
Anything after // is considered a comment and ignored. Also, anything between a /* and a */ is considered as well (This is called a &#039;&#039;&#039;&#039;&#039;block comment&#039;&#039;&#039;&#039;&#039;). You may not put block comments inside of each other, although you can put pretty much anything else in them.&lt;br /&gt;
&lt;br /&gt;
Note that comments are not ignored if they are inside &#039;&#039;&#039;&#039;&#039;strings&#039;&#039;&#039;&#039;&#039; (read on to find out what strings are!).&lt;br /&gt;
&lt;br /&gt;
===Comments Example===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//I&#039;m a comment!&lt;br /&gt;
/* So am I.*/&lt;br /&gt;
/* Look, you can do //this and //this! */&lt;br /&gt;
char String[] = &amp;quot;//I look like a comment but I&#039;m really a string.&amp;quot;;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Variables==&lt;br /&gt;
C and C++ have a number of different types of variables; these are slices of memory that hold information. Because all variables are stored in binary, they are interchangeable, to a degree. &#039;&#039;&#039;All variables are case sensitive&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
For example, an &#039;&#039;&#039;&#039;&#039;int&#039;&#039;&#039;&#039;&#039; is an integer, or a number without any fractions or decimals; -2,-1,0,1,2,3,4,5...etc. An integer is 4 bytes, or 32-bits, long.&lt;br /&gt;
&lt;br /&gt;
Another important type of variable is &#039;&#039;&#039;&#039;&#039;char&#039;&#039;&#039;&#039;&#039;. A char is one byte (8 bits) in size. It&#039;s essentially a shorter int, except it&#039;s most commonly used to represent a character, that is, letters and numbers and such. This means that any given letter is also a number; &#039;A&#039; is 65, for example. This text-&amp;gt;number conversion is called [http://www.cplusplus.com/doc/papers/ascii.html ASCII]. Single quotation marks are used to denote a character. For example, &#039;A&#039;&lt;br /&gt;
&lt;br /&gt;
A collection of characters is called a &#039;&#039;&#039;&#039;&#039;string&#039;&#039;&#039;&#039;&#039;; this isn&#039;t really a variable, however, it is standard. A string is a series of characters followed by a null character, or a char with a value of 0. (NOT the character &#039;0&#039;; that would be 48). Double quotation marks are used to denote a string. So, &amp;quot;This is a string&amp;quot;. &#039;This is not a string&#039;.&lt;br /&gt;
&lt;br /&gt;
If you want to use decimals or fractions you&#039;ll have to use a &#039;&#039;&#039;&#039;&#039;float&#039;&#039;&#039;&#039;&#039; or a &#039;&#039;&#039;&#039;&#039;double&#039;&#039;&#039;&#039;&#039;. A float is the same size as an int, except it can be fractions. A &#039;&#039;&#039;&#039;&#039;double&#039;&#039;&#039;&#039;&#039; is twice as large as an int (8 bytes) but can be much more accurate than a float.&lt;br /&gt;
&lt;br /&gt;
Finally, all the above integers can be prefixed with &#039;&#039;&#039;&#039;&#039;unsigned&#039;&#039;&#039;&#039;&#039;; this means that the variable only contains positive values. The &#039;&#039;&#039;&#039;&#039;extern&#039;&#039;&#039;&#039;&#039; prefix indicates that the variable exists, but is in some other file, so the compiler should let it be used. (The linker will complain if it doesn&#039;t really exist). &#039;&#039;&#039;&#039;&#039;const&#039;&#039;&#039;&#039;&#039; means that the variable can&#039;t be changed by the program after it&#039;s built, which lets addtional optimizations be performed. Some other prefixes are &#039;&#039;&#039;&#039;&#039;short&#039;&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;&#039;long&#039;&#039;&#039;&#039;&#039; - look them up if you&#039;re interested.&lt;br /&gt;
&lt;br /&gt;
===Variable example===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int i;                   //Create the variable i.&lt;br /&gt;
i = 42;                  //Set i equal to 42&lt;br /&gt;
int j = 94;              //Create the variable j and set it to 94&lt;br /&gt;
j = -1 * (i * j + 1138); //You can also use arithmetic signs - Now j is -5086!&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Arrays==&lt;br /&gt;
An array is a series of the same type of variable. So, a string would be an array of chars. An individual variable in an array is usually called an &#039;&#039;&#039;&#039;&#039;element&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Array example===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int Array[2];               //Create an integer array with two integers&lt;br /&gt;
Array~[0] = 42;              //Set the first integer to 42&lt;br /&gt;
Array~[1] = 94;              //Set the second integer to 94&lt;br /&gt;
char String[] = &amp;quot;Hello!&amp;quot;;   //Create an array of chars (a string) and autosize it to whatever size the given string is&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Pointers==&lt;br /&gt;
Pointers are difficult to grasp and work with, to say the least, but they&#039;re worth it. A pointer is basically the address of a particular variable (sometimes a function). Think of them as the address to a house, or the URL to a site - they aren&#039;t the actual house or site, but they let you get to it.&lt;br /&gt;
&lt;br /&gt;
There are two important characters with pointers - &#039;&#039;&#039;&#039;&#039;&amp;amp;&#039;&#039;&#039;&#039;&#039; and &#039;&#039;&#039;&#039;&#039;*&#039;&#039;&#039;&#039;&#039;. &amp;amp; is used to change a variable to the address of a variable. So, &amp;amp;variable would give you the address of a variable.&lt;br /&gt;
&lt;br /&gt;
The asterisk is the reverse of &amp;amp;. It means the variable at the address given. In other words, *(&amp;amp;variable) is the same thing as variable.&lt;br /&gt;
&lt;br /&gt;
However, the asterisk can also be used to declare a pointer, a special type of variable. Confused yet? Here&#039;s an example:&lt;br /&gt;
&lt;br /&gt;
===Pointer example===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int i = 42;         //Our favorite integer, i&lt;br /&gt;
int *integerptr;    //This defines a pointer to an integer.&lt;br /&gt;
integerptr = &amp;amp;i;    //integerptr now points to i&lt;br /&gt;
(*integerptr) = 94; //We just changed the value of i!&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Functions==&lt;br /&gt;
A function is a collection of instructions (usually other functions). Every function has a return type - even if it doesn&#039;t. A function with no return type has a return type of &#039;&#039;&#039;&#039;&#039;void&#039;&#039;&#039;&#039;&#039;. Otherwise, a function may return with any of the above variable types (A function can&#039;t really return a string or array, although it can return a &#039;&#039;&#039;&#039;&#039;pointer&#039;&#039;&#039;&#039;&#039; to one).&lt;br /&gt;
&lt;br /&gt;
Functions can also be given arguments, so one function can be used in different places. These arguments can be the same types as a function&#039;s return types. This means you can take the return of one function and plug it into another function&#039;s arguments.&lt;br /&gt;
&lt;br /&gt;
There are two steps to creating a function. Actually writing the function, and optionally declaring it. Thus, you can declare a function in a header file and use that function through your entire project, but only have the meat of it in one spot. You must declare or write out the function before you use it.&lt;br /&gt;
&lt;br /&gt;
Note that the arguments to a function are not really the variables that are plugged into them. So, if you want to change a variable from inside a function , you will probably have to use a pointer. This is called &#039;&#039;&#039;&#039;&#039;passing by reference&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Function example===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
void func1(int a, float b);  //Declare func1&lt;br /&gt;
int func2()                  //Define func2&lt;br /&gt;
{&lt;br /&gt;
	return 1;            //func2 returns integer 1;&lt;br /&gt;
}&lt;br /&gt;
int func3(int c)             //Define func3&lt;br /&gt;
{&lt;br /&gt;
	func1(c, c + .5);    //execute func1&lt;br /&gt;
	return c;            //return c;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void func1(int a, float b)     //Define func1. It doesn&#039;t do anything, basically.&lt;br /&gt;
{&lt;br /&gt;
	float z = a + b;       //Make a new variable and add up a and b in it&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void Execute()                 //You can&#039;t execute a function except from inside another.&lt;br /&gt;
{&lt;br /&gt;
	func1(func2(), func3(func2())); //What will z be?&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Tutorial One - Baby Steps==&lt;br /&gt;
To start out, I&#039;ll give a classic example - a &amp;quot;Hello, World!&amp;quot; program written in C. Are you ready? Here it is...&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char** argv)&lt;br /&gt;
{&lt;br /&gt;
	puts(&amp;quot;Hello, world!&amp;quot;);&lt;br /&gt;
	return 0;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
That wasn&#039;t too bad, was it? Here&#039;s what each line does:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;!#include &amp;lt;stdio.h&amp;gt;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This line puts the contents of the file &amp;quot;stdio.h&amp;quot; into the current source code file after it&#039;s loaded into memory but before it&#039;s compiled. The &#039;&amp;lt;&#039; and &#039;&amp;gt;&#039; tell the compiler that it&#039;s a library file - that is, it&#039;s not part of the current program but in the compiler&#039;s own file list. We need this file to get the function declaration for puts().&lt;br /&gt;
&lt;br /&gt;
The entire line is called a &#039;&#039;&#039;&#039;&#039;preprocessor directive&#039;&#039;&#039;&#039;&#039;; that&#039;s what the &#039;#&#039; is for. The preprocessor does everything before the code is compiled, adding or replacing source code before it&#039;s sent off to the compiler. It&#039;s useful if you want to make it easy to completely remove a feature from a program.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;int main(int argc, char** argv)&amp;lt;/pre&amp;gt;&lt;br /&gt;
This defines the main function, which is where execution in a C program always starts. Argc is the number of command-line arguments, argv is the array of command-line arguments. (ie argv[0] might be &amp;quot;-fps&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;{&amp;lt;/pre&amp;gt;&lt;br /&gt;
Starts the main function&#039;s code block&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;puts(&amp;quot;Hello, world!&amp;quot;);&amp;lt;/pre&amp;gt;&lt;br /&gt;
This function writes &amp;quot;Hello, world!&amp;quot; to the command-line, or console if you&#039;re on Linux.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;return 0;&amp;lt;/pre&amp;gt;&lt;br /&gt;
This can return pretty much anything you like, as long as it&#039;s an integer.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;}&amp;lt;/pre&amp;gt;&lt;br /&gt;
Ends the function block&lt;br /&gt;
&lt;br /&gt;
That&#039;s it! A working C program!&lt;br /&gt;
&lt;br /&gt;
==Scope==&lt;br /&gt;
The &#039;&#039;&#039;&#039;&#039;scope&#039;&#039;&#039;&#039;&#039; of a variable is the area you can get at it. A variable created inside a function only exists inside that function. Basically, anywhere you see brackets like { or } defines a code block. Any time you see these, variables created inside them will only exist inside of them.&lt;br /&gt;
&lt;br /&gt;
===Scope Example===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 1;&lt;br /&gt;
void func1()&lt;br /&gt;
{&lt;br /&gt;
	//You can access a here, but not c or d&lt;br /&gt;
	int b;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
void func2()&lt;br /&gt;
{&lt;br /&gt;
	//You can access a here, but not b or d&lt;br /&gt;
	if(a)&lt;br /&gt;
	{&lt;br /&gt;
		int d = 2;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
==Flow control - If statement==&lt;br /&gt;
If the code in the parentheses is true, or a nonzero value, then the code statement immediately after it or inside the code block immediately after it is executed. After if, &#039;&#039;&#039;&#039;&#039;else if&#039;&#039;&#039;&#039;&#039; may be used to define an alternate option. Or, &#039;&#039;&#039;&#039;&#039;else&#039;&#039;&#039;&#039;&#039; may be used to define if none of the else or else if blocks are true&lt;br /&gt;
&lt;br /&gt;
===If example===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int a = 1;&lt;br /&gt;
int b = 2;&lt;br /&gt;
if(a == 0)&lt;br /&gt;
{&lt;br /&gt;
	//Do something fun if a is 0&lt;br /&gt;
}&lt;br /&gt;
else if(a == 1)&lt;br /&gt;
{&lt;br /&gt;
	//Do something else if a is 1&lt;br /&gt;
}&lt;br /&gt;
else if(a == 1 &amp;amp;&amp;amp; b == 2)&lt;br /&gt;
{&lt;br /&gt;
	//If a is 1, and b is 2, do something here.&lt;br /&gt;
	//With the above values, this is what would happen.&lt;br /&gt;
}&lt;br /&gt;
else&lt;br /&gt;
{&lt;br /&gt;
	//Otherwise, do this.&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Flow control - while statement.==&lt;br /&gt;
While the code in the parentheses is true or a nozero value, then the code statement immediately after it or inside the code block immediately after it is executed.&lt;br /&gt;
&lt;br /&gt;
===While example===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
int i;         //Create the variable i&lt;br /&gt;
void DoStuff();//Declare teh function DoStuff&lt;br /&gt;
&lt;br /&gt;
i = 0;         //Make i be 0&lt;br /&gt;
while(i &amp;lt; 42)  //While this is true, do whatever&#039;s after this&lt;br /&gt;
{&lt;br /&gt;
	DoStuff();&lt;br /&gt;
	i++;   //++ is shorthand for &amp;quot;Add 1 to the variable after this line of code&amp;quot;.&lt;br /&gt;
	//++i; //This would be shorthand for &amp;quot;Add 1 to the variable before this line of code&amp;quot;&lt;br /&gt;
               //Replace with -- for &amp;quot;Subtract one from&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Flow control - for statement==&lt;br /&gt;
Usually used to go through array values; essentially a variant of the while loop&lt;br /&gt;
&lt;br /&gt;
===For example===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//This does the same thing as the while example&lt;br /&gt;
int i;&lt;br /&gt;
void DoStuff();&lt;br /&gt;
&lt;br /&gt;
for(i = 0; i &amp;lt; 42; i++)&lt;br /&gt;
{&lt;br /&gt;
	DoStuff();&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Flow control - switch==&lt;br /&gt;
Execute the code after the case statement that matches the value in the parentheses.&lt;br /&gt;
&lt;br /&gt;
===Switch example===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//Declare some functions&lt;br /&gt;
void DoFunStuff();&lt;br /&gt;
void DoSadStuff();&lt;br /&gt;
void DoOtherStuff();&lt;br /&gt;
&lt;br /&gt;
//Give ourselves a variable&lt;br /&gt;
int a = 2;&lt;br /&gt;
&lt;br /&gt;
switch(a)&lt;br /&gt;
{&lt;br /&gt;
	case 0:        		//If a is 0...&lt;br /&gt;
		DoFunStuff();	//...Do fun stuff!&lt;br /&gt;
		break;		//We&#039;re done, jump to the end of the code block.&lt;br /&gt;
	case 1:        		//If a is 1...&lt;br /&gt;
		DoSadStuff();	//...aww, crap, we gotta do sad stuff.&lt;br /&gt;
		break;&lt;br /&gt;
	default:		//If none of the above match...&lt;br /&gt;
		DoOtherStuff();	//...Do some other stuff.&lt;br /&gt;
				//Since a IS 2, we&#039;ll be doing this other stuff.&lt;br /&gt;
		break;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Structs==&lt;br /&gt;
Structs are a block of different types of variables. They help organize code, since then you can group similar variables together. For example:&lt;br /&gt;
&lt;br /&gt;
===Struct Example===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
struct Person&lt;br /&gt;
{&lt;br /&gt;
	char name[128];     //Name can *only* be 128 letters long, including spaces&lt;br /&gt;
	unsigned int age;   //Granted, ints range from -2,147,483,648 to 2,147,483,648 - but just in case...&lt;br /&gt;
	unsigned int weight;//Who has negative weight?&lt;br /&gt;
&lt;br /&gt;
}; //&amp;lt;-- this little semicolon is important. Remember him.&lt;br /&gt;
&lt;br /&gt;
//Now we have a function that takes a Person as an argument.&lt;br /&gt;
int CarlEatClone(Person poor_fellow)&lt;br /&gt;
{&lt;br /&gt;
	for(;poor_Fellow.weight &amp;gt; 0; poor_fellow.weight--);     //Simulate this poor fellow being digested.&lt;br /&gt;
&lt;br /&gt;
	//Note that no one is actually harmed, because the poor_fellow is actually a copy.&lt;br /&gt;
	//Also note how &amp;quot;weight&amp;quot; inside poor_fellow is referenced&lt;br /&gt;
}&lt;br /&gt;
//Use like this:&lt;br /&gt;
//CarlEatClone(TerranGuy);&lt;br /&gt;
&lt;br /&gt;
//In this function, poor_fellow must be a pointer&lt;br /&gt;
int CarlEat(Person *poor_fellow)&lt;br /&gt;
{&lt;br /&gt;
	for(;poor_fellow-&amp;gt;weight &amp;gt; 0; poor_fellow-&amp;gt;weight--);&lt;br /&gt;
&lt;br /&gt;
	//Note again how weight is referenced, now that poor_fellow is a pointer&lt;br /&gt;
	//No cloning is involved here...poor guy.&lt;br /&gt;
}&lt;br /&gt;
//Use like this:&lt;br /&gt;
//CarlEat(&amp;amp;TerranGuy);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
----&lt;br /&gt;
Written by [[User:WMCoolmon|WMCoolmon]]&lt;/div&gt;</summary>
		<author><name>WMCoolmon</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Source_Code_Project_index&amp;diff=1920</id>
		<title>Source Code Project index</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Source_Code_Project_index&amp;diff=1920"/>
		<updated>2006-01-11T20:34:42Z</updated>

		<summary type="html">&lt;p&gt;WMCoolmon: /* Getting Started with the Source Code Project */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Getting Started with the Source Code Project===&lt;br /&gt;
&lt;br /&gt;
[[FSSCP Introduction]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Installing fs2_open]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[FS2 data installation]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Installing mods for fs2_open]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Troubleshooting]]&lt;br /&gt;
&amp;lt;br&amp;gt;[[Bug Reporting]]&lt;br /&gt;
&lt;br /&gt;
===Getting Started with Development===&lt;br /&gt;
&amp;lt;br&amp;gt;[[Coding In C]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Source Code Project]]&lt;/div&gt;</summary>
		<author><name>WMCoolmon</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Shivan_Manifesto&amp;diff=1673</id>
		<title>Shivan Manifesto</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Shivan_Manifesto&amp;diff=1673"/>
		<updated>2006-01-08T16:25:38Z</updated>

		<summary type="html">&lt;p&gt;WMCoolmon: Re-added non-canon notice&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{non-canon}}&lt;br /&gt;
The Shivan Manifesto is a long, complex document, which describes (in detail) a theory on the origins and motivations of the Shivans during the events of the Freespace saga. Though the theory has gained some support, it has many detractors, and is not considered canon, nor is it generally accepted by the FS community.&lt;br /&gt;
&lt;br /&gt;
== Summary of the Manifesto ==&lt;br /&gt;
&lt;br /&gt;
The theory outlined in the Manifesto is based on the idea that the subspace travel performed by Terrans and Vasudans is harmful to subspace. It claims that the Shivans are energy beings from subspace, that use a kind of exoskeleton to maintain integrity in our own plane of existence, and their attacks against the two races are the Shivans aggressive defence of their home dimension whenever large levels of subspace activity occur in any given area of space.&lt;br /&gt;
&lt;br /&gt;
The theory also explains the Shivans&#039; motivation for destroying Capella as an act of fear, lest the GTVA deploy more Colossi in large numbers, as they were not able to understand how a civillization&#039;s technology could evolve so quickly. It also suggests that this retreat is due to the SOC mission where you are ordered to destroy a number of unknown Shivan devices, which the Manifesto states are responsible for Shivan life-support.&lt;br /&gt;
&lt;br /&gt;
== Support for the Theory ==&lt;br /&gt;
&lt;br /&gt;
The theory itself is based largely on conjecture from both the Ancients and Bosch monologues in Freespace 1, and Freespace 2, respectively, and a number of the ideas (such as the Shivans as energy beings) are not mentioned by any canon sources.&lt;br /&gt;
&lt;br /&gt;
== Criticisms of the Theory ==&lt;br /&gt;
&lt;br /&gt;
According to its detractors, the theory omits or ignores many significants pieces of information from the games, and overemphasizes the significance of others. It also makes several significant statements based almost entirely on guesswork, with no indication from either game to base these statements on.&lt;br /&gt;
&lt;br /&gt;
Specifically, it makes major assumptions about the nature of the ETAK device, the Shivan Comm Nodes and the Shivans themselves without ingame evidence, and contradicts in game evidence on several points (for example, the beleif that the Shivans would be frightened of the possibility of multiple [[GTVA Collossus|Colossus]] class vessels without any evidence that such vessels exist).&lt;br /&gt;
&lt;br /&gt;
A more detailed list of the criticsms of the theory can be found on the [[Criticisms of the Shivan Manifesto]] page.&lt;br /&gt;
&lt;br /&gt;
== Text of the Manifesto ==&lt;br /&gt;
&lt;br /&gt;
The full text of the Manifesto can be found in [http://www.cyd.liu.se/users/~johbu692/The%20Shivan%20Manifesto.pdf PDF Form]&lt;/div&gt;</summary>
		<author><name>WMCoolmon</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Shivan_Manifesto&amp;diff=1662</id>
		<title>Shivan Manifesto</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Shivan_Manifesto&amp;diff=1662"/>
		<updated>2006-01-05T01:43:04Z</updated>

		<summary type="html">&lt;p&gt;WMCoolmon: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;&#039;&#039;This article is about an individual fan&#039;s or a group of fans&#039; interpretation of canonical information, and should not be considered as part of the official Freespace continuity&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Summary of the Manifesto ==&lt;br /&gt;
&lt;br /&gt;
The Shivan Manifesto was a long and extensive document written (and later revised), on the origins and motivations of the Shivans. Essentially, the theory is based on the idea that the Shivans are energy beings from subspace, that use a kind of exoskeleton to maintain integrity in our own plane of existence. Also central to the theory is that the subspace travel performed by Terrans and Vasudans is harmful to subspace, and as a result, causes the Shivans to aggressively defend their home dimension whenever large levels of subspace activity occur in any given area of space.&lt;br /&gt;
&lt;br /&gt;
The theory also explains the Shivans&#039; motivation for destroying Capella as an act of fear, lest the GTVA deploy more Colossi in large numbers, as they were not able to understand how a civillization&#039;s technology could evolve so quickly. It also suggests that this retreat is due to the SOC mission where you are ordered to destroy a number of unknown Shivan devices, which the Manifesto states are responsible for Shivan life-support.&lt;br /&gt;
&lt;br /&gt;
== Support for the Theory ==&lt;br /&gt;
&lt;br /&gt;
The theory itself is based largely on conjecture from both the Ancients and Bosch monologues in Freespace 1, and Freespace 2, respectively, and a number of the ideas (such as the Shivans as energy beings) are not mentioned by any canon sources. As a result, the theory itself is highly controversial among Freespace fans (and is certainly not generally accepted as an official interpretation of events).&lt;br /&gt;
&lt;br /&gt;
== Text of the Manifesto ==&lt;br /&gt;
&lt;br /&gt;
The full text of the Manifesto can be found in [http://www.cyd.liu.se/users/~johbu692/The%20Shivan%20Manifesto.pdf PDF Form]&lt;/div&gt;</summary>
		<author><name>WMCoolmon</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Shivan_Manifesto&amp;diff=1658</id>
		<title>Shivan Manifesto</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Shivan_Manifesto&amp;diff=1658"/>
		<updated>2006-01-05T01:23:15Z</updated>

		<summary type="html">&lt;p&gt;WMCoolmon: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;&#039;&#039;This article is about an individual fan&#039;s or a group of fans&#039; interpretation of canonical information, and should not be considered as part of the official Freespace continuity&#039;&#039;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Summary of the Manifesto ==&lt;br /&gt;
&lt;br /&gt;
The Shivan Manifesto was a long and extensive document written (and later revised), on the origins and motivations of the Shivans. Essentially, the theory is based on the idea that the Shivans are energy beings from subspace, that use a kind of exoskeleton to maintain integrity in our own plane of existence. Also central to the theory is that the subspace travel performed by Terrans and Vasudans is harmful to subspace, and as a result, causes the Shivans to aggressively defend their home dimension whenever large levels of subspace activity occur in any given area of space.&lt;br /&gt;
&lt;br /&gt;
The theory also explains the Shivans&#039; motivation for destroying Capella as an act of fear, lest the GTVA deploy more Colossi in large numbers, as they were not able to understand how a civillization&#039;s technology could evolve so quickly. It also suggests that this retreat is due to the SOC mission where you are ordered to destroy a number of unknown Shivan devices, which the Manifesto states are responsible for Shivan life-support.&lt;br /&gt;
&lt;br /&gt;
== Support for the Theory ==&lt;br /&gt;
&lt;br /&gt;
The theory itself is based largely on conjecture from both the Ancients and Bosch monologues in Freespace 1, and Freespace 2, respectively, and a number of the ideas (such as the Shivans as energy beings) are not mentioned by any canon sources. As a result, the theory itself is highly controversial among Freespace fans.&lt;br /&gt;
&lt;br /&gt;
== Text of the Manifesto ==&lt;br /&gt;
&lt;br /&gt;
The full text of the Manifesto can be found in [http://www.cyd.liu.se/users/~johbu692/The%20Shivan%20Manifesto.pdf PDF Form]&lt;/div&gt;</summary>
		<author><name>WMCoolmon</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Weapons.tbl&amp;diff=1627</id>
		<title>Weapons.tbl</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Weapons.tbl&amp;diff=1627"/>
		<updated>2005-12-28T06:09:41Z</updated>

		<summary type="html">&lt;p&gt;WMCoolmon: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Made following the older guide (originally written by GE) by&lt;br /&gt;
*Wanderer&lt;br /&gt;
*Contribute and include yourself here&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 particle spew. Trails can also be added.&lt;br /&gt;
&lt;br /&gt;
==Weapons Table==&lt;br /&gt;
*Retail options will look like this&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
*SCP options are marked with red color&lt;br /&gt;
**Most of the entries in ships.tbl are optional (does anyone have the default values?)&lt;br /&gt;
&amp;lt;/font&amp;gt;&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;
====$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. If the weapon has an @ symbol in front of it, it means it&#039;s allowed in the demo. It doesn&#039;t really do anything in the retail version.&lt;br /&gt;
*Syntax: &#039;&#039;Name&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
====$Subtype:====&lt;br /&gt;
&amp;lt;/font &amp;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.&lt;br /&gt;
*Syntax: XSTR(&#039;&#039;&amp;quot;Title&amp;quot;&#039;&#039;, -1)&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.&lt;br /&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;
&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;&amp;quot;Title&amp;quot;&#039;&#039;, -1)&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;Filename&#039;&#039;&lt;br /&gt;
**Example: &#039;&#039;Tech_Subach_HL-7&#039;&#039;&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.&lt;br /&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;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
====$Tech Model:====&lt;br /&gt;
*Defines model used in wing loadout screen and in Tech Room for the weapon. As of the moment - not totally functional&lt;br /&gt;
*Syntax: &#039;&#039;Filename.pof&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====$HUD Image:====&lt;br /&gt;
*Defines the picture used in HUD loadout list&lt;br /&gt;
*Syntax: ???&lt;br /&gt;
&amp;lt;/font &amp;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;Filename.pof&#039;&#039; or &#039;&#039;none&#039;&#039;&lt;br /&gt;
**Example: &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
====$POF target LOD:====&lt;br /&gt;
*Defines the LOD (Level-Of-Detail) of the model used in HUD targetting view&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====$External Model File:====&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;Filename.pof&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====$Submodel Rotation Speed:====&lt;br /&gt;
&lt;br /&gt;
====$Submodel Rotation Acceleration:====&lt;br /&gt;
&amp;lt;/font&amp;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;Filename&#039;&#039;&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&lt;br /&gt;
**Syntax: &#039;&#039;Filename&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====@Laser Color:====&lt;br /&gt;
**The color of the weapon effect when you fire it.&lt;br /&gt;
**Syntax: &#039;&#039;Value, Value, Value&#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;
====@Laser Color2:====&lt;br /&gt;
**The color of the weapon effect at its maximum range.&lt;br /&gt;
**Syntax: &#039;&#039;Value, Value, Value&#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;
====@Laser Length:====&lt;br /&gt;
**Length of the weapon effect.&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;, (1/10 of a meters)&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;Value&#039;&#039;, (meters ?)&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;Value&#039;&#039; (meters ?)&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;
*Syntax: &#039;&#039;Value&#039;&#039;, (blast effect)&lt;br /&gt;
&lt;br /&gt;
====$Velocity:====&lt;br /&gt;
*How fast the weapon travels. Is also used to define the weapon range, $Velocity x $Lifetime = range.&lt;br /&gt;
*Beams travel instantly so this field has effect only on weapon range and AI beam targetting with certain beam types.&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, (meters per second)&lt;br /&gt;
&lt;br /&gt;
====$Fire Wait:====&lt;br /&gt;
*Time in seconds between firings&lt;br /&gt;
*Syntax: &#039;&#039;Value&#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 continous 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;Value&#039;&#039;, (damage value)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
====$Damage Type:====&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. REQUIRES ADDITIONAL TABLE.&lt;br /&gt;
*Syntax: &#039;&#039;Name&#039;&#039;, of the damage type as defined in armor.tbl&lt;br /&gt;
&lt;br /&gt;
====$Arm time:====&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;Value&#039;&#039;, (seconds)&lt;br /&gt;
&lt;br /&gt;
====$Arm distance:====&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;Value&#039;&#039;, (meters)&lt;br /&gt;
&lt;br /&gt;
====$Arm radius:====&lt;br /&gt;
*Defines the distance from the target where the weapon will arm itself&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, (meters)&lt;br /&gt;
&lt;br /&gt;
====$Detonation Range:====&lt;br /&gt;
*Defines the distance from the point in space that the weapon was launched where the weapon will deatonate&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, (meters)&lt;br /&gt;
&lt;br /&gt;
====$Shockwave damage:====&lt;br /&gt;
*Override for the damage caused by shockwaves&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, (damage value)&lt;br /&gt;
&lt;br /&gt;
====$Shockwave Damage Type:====&lt;br /&gt;
*REQUIRES ADDITIONAL TABLE. Defines the damage type used for the weapon explosions&lt;br /&gt;
*Syntax: &#039;&#039;Name&#039;&#039;, as defined in armor.tbl&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====$Blast Force:====&lt;br /&gt;
*The intensity of the 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;Value&#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;Value&#039;&#039;, (meters)&lt;br /&gt;
&lt;br /&gt;
====$Outer Radius:====&lt;br /&gt;
*Maximum radius at which any damage is done&lt;br /&gt;
*Syntax: &#039;&#039;Value&#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;Value&#039;&#039;, (meters per second)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
====$Shockwave rotation:====&lt;br /&gt;
*Defines how the shockwave is rotated.&lt;br /&gt;
*Syntax:&lt;br /&gt;
&lt;br /&gt;
====$Shockwave model:====&lt;br /&gt;
*Defines the model file (.pof) used as a shockwave for 3D shockwaves.&lt;br /&gt;
*Implemented before FS_Open 3.6.5&lt;br /&gt;
*Syntax: &#039;&#039;Name.pof&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====$Shockwave name:====&lt;br /&gt;
*Defines the name of the animation used for the shockwave&lt;br /&gt;
*Syntax: &#039;&#039;Name&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====$Dinky shockwave:====&lt;br /&gt;
*Dinky shockwave are used if the weapon is shot down or if the conditions marked at Arm time and Arm distance are not reached&lt;br /&gt;
*It uses exactly same entries as the standard shockwaves&lt;br /&gt;
*&#039;&#039;&#039;+Shockwave damage:&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Shockwave damage type:&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Blast Force:&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Inner Radius:&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Outer Radius:&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Shockwave Speed:&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Shockwave Rotation:&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Shockwave Model:&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Shockwave Name:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/font&amp;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;Value&#039;&#039;, (damage multiplier)&lt;br /&gt;
&lt;br /&gt;
====$Shield Factor:====&lt;br /&gt;
*Multiplier for the damage done to shields&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, (damage multiplier)&lt;br /&gt;
&lt;br /&gt;
====$Subsystem Factor:====&lt;br /&gt;
*Multiplier for the damage done to subsystems&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, (damage multiplier)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
====$Lifetime Min:====&lt;br /&gt;
*Defines the minimum lifetime of the weapon (countermeasure)&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, (seconds)&lt;br /&gt;
&lt;br /&gt;
====$Lifetime Max:====&lt;br /&gt;
*Defines the maximum lifetime of the weapon (countermeasure)&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, (seconds)&lt;br /&gt;
&amp;lt;/font&amp;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 targetting with certain beam types&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, (seconds)&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;Value&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====$Cargo Size:====&lt;br /&gt;
*Cargo size, is not used with primaries.&lt;br /&gt;
*Amount of missiles available = Bank capacity / Cargo Size.&lt;br /&gt;
*Syntax: &#039;&#039;Value&#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;YES&#039;&#039; or &#039;&#039;NO&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Type:&#039;&#039;&#039;&lt;br /&gt;
**Defines the homing method&lt;br /&gt;
**Syntax: &#039;&#039;ASPECT&#039;&#039; or &#039;&#039;HEAT&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Turn Time:&#039;&#039;&#039;&lt;br /&gt;
**Defines how well missile manouvers. Number of seconds it takes the missile to do a 360 degree circle&lt;br /&gt;
**Syntax: &#039;&#039;Value&#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 missiles centerline. &amp;lt;font color=red&amp;gt;Has been enabled also to aspect seekers. &amp;lt;/font&amp;gt;&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;, (degrees)&lt;br /&gt;
*&#039;&#039;&#039;+Min Lock Time:&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;For aspect missiles only&#039;&#039;&#039;, the minimum number of seconds to gain target lock&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;, (seconds)&lt;br /&gt;
*&#039;&#039;&#039;+Lock Pixels/Sec:&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;For aspect missiles only&#039;&#039;&#039;, pixels the aspect triangle moves per second while attempting lock-on&lt;br /&gt;
**Syntax: &#039;&#039;Value&#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 missiles only&#039;&#039;&#039;, pixels moved per second while attempting to catch up to the target&lt;br /&gt;
**Syntax: &#039;&#039;Value&#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 missiles only&#039;&#039;&#039;, extra pixels to move after catching up ????&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;, (pixels)&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;+Seeker Strenght:&#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;Value&#039;&#039;, (seeker strenght)&lt;br /&gt;
&amp;lt;/font&amp;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 singlepart turrets to malfunction but causes multipart turrets to fire only on their barrel line. Can be used for &#039;burst fire weapons&#039;.&lt;br /&gt;
*Is incompatible with &amp;quot;Corkscrew&amp;quot; option.&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;&lt;br /&gt;
&amp;lt;font folor=red&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;+SwarmWait:&#039;&#039;&#039;&lt;br /&gt;
**Implemented before FS_Open 3.6.5&lt;br /&gt;
**Defines the time between weapons fired in a swarm&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;, (milliseconds)&lt;br /&gt;
***Default: 150&lt;br /&gt;
&lt;br /&gt;
====$Free Flight Time:====&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;Value&#039;&#039;, (seconds)&lt;br /&gt;
**Default: 0.25&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====$LaunchSnd:====&lt;br /&gt;
*Corresponding sound effect when the weapon is launched.&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, name or identification number of the sound as defined in sounds.tbl&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;Value&#039;&#039;, name or identification number of the sound as defined in sounds.tbl&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
====$Disarmed ImpactSnd:====&lt;br /&gt;
*Sound the weapon makes when it hits a hull before being armed.&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, identification number of the sound as defined in sounds.tbl&lt;br /&gt;
&amp;lt;/font&amp;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;Value&#039;&#039;, name or identification number of the sound as defined in sounds.tbl, usually -1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
====$Model:====&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;Filename.pof&#039;&#039;&lt;br /&gt;
&amp;lt;/font&amp;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;Value&#039;&#039;, (missiles per s)&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;Value&#039;&#039;, (meters)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
====+Weapon Min Range:====&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;Value&#039;&#039;, (meters)&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====$Flags:====&lt;br /&gt;
*Flags are detailed below, in [[weapons.tbl#Weapon Flags|weapon flags section]].&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;Value&#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;Value&#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;Value&#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;Value&#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;Value&#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;Filename&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====$Icon:====&lt;br /&gt;
*Loadout icon used in the weapons selection screen.&lt;br /&gt;
*Syntax: &#039;&#039;Filename&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====$Anim:====&lt;br /&gt;
*Green grid animation used on the weapons screen.&lt;br /&gt;
*Syntax: &#039;&#039;Filename&#039;&#039;&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;Filename&#039;&#039; or &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====$Impact Explosion Radius:====&lt;br /&gt;
*Radius of the defined impact explosion.&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
====$Dinky impact explosion:====&lt;br /&gt;
*Same as Impact explosion but for Dinky explosions&lt;br /&gt;
&lt;br /&gt;
====$Dinky impact explosion radius:====&lt;br /&gt;
*Same as Impact explosion radius but for Dinky explosions&lt;br /&gt;
&amp;lt;/font&amp;gt;&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;Muzzleflash name&#039;&#039;, as defined in mflash.tbl&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;Value&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====$EMP Time:====&lt;br /&gt;
**Duration of the EMP effect&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;, (seconds)&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;Value&#039;&#039;&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;Value&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
====$Corkscrew:====&lt;br /&gt;
*Implemented before FS_Open 3.6.5&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;Value&#039;&#039;&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;Value&#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;Value&#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;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;Value&#039;&#039; (radians per second)&lt;br /&gt;
&lt;br /&gt;
====$Electronics:====&lt;br /&gt;
*Implemented before FS_Open 3.6.5&lt;br /&gt;
*Defines the weapons effect against electronics&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&lt;br /&gt;
*&#039;&#039;&#039;+Intensity:&#039;&#039;&#039;&lt;br /&gt;
**May only be used with new style electronics&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Lifetime:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Engine Multiplier:&#039;&#039;&#039;&lt;br /&gt;
**May only be used with new style electronics&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Weapon Multiplier:&#039;&#039;&#039;&lt;br /&gt;
**May only be used with new style electronics&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Beam Turret Multiplier:&#039;&#039;&#039;&lt;br /&gt;
**May only be used with new style electronics&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Sensors Multiplier:&#039;&#039;&#039;&lt;br /&gt;
**May only be used with new style electronics&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Randomness Time:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====$Spawn Angle:====&lt;br /&gt;
*Implemented before FS_Open 3.6.5&lt;br /&gt;
*Defines the cone (with an angle) where the spawned weapons appear. Value / 2 gives the angle from the missiles centerline.&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, (degrees)&lt;br /&gt;
&lt;br /&gt;
====$Local SSM:====&lt;br /&gt;
*Implemented before FS_Open 3.6.5&lt;br /&gt;
*Defines the local SSM.&lt;br /&gt;
*&#039;&#039;&#039;+Warpout Delay:&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Warpin Delay:&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Stage 5 Velocity:&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Warpin Radius:&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Lock Range:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====$Countermeasure:====&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;Value&#039;&#039;, (cm type 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;Value&#039;&#039;, (cm type 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;Value&#039;&#039;, (meters)&lt;br /&gt;
***Default: 300&lt;br /&gt;
&amp;lt;/font&amp;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. 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. Nobody knows what Type 2 beams are.&lt;br /&gt;
**Syntax: &#039;&#039;Value&#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;Value&#039;&#039;, (seconds)&lt;br /&gt;
*&#039;&#039;&#039;+Warmup:&#039;&#039;&#039;&lt;br /&gt;
**Warmup time&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;, (milliseconds)&lt;br /&gt;
*&#039;&#039;&#039;+Warmdown:&#039;&#039;&#039;&lt;br /&gt;
**Warmdown time&lt;br /&gt;
**Syntax: &#039;&#039;Value&#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;Value&#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;Value&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+PRadius:&#039;&#039;&#039;&lt;br /&gt;
**Particle radius&lt;br /&gt;
**Syntax: &#039;&#039;Value&#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;Value&#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;Filename&#039;&#039;&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;Value Value Value Value Value&#039;&#039;, Very Easy, Easy, Moderate, Hard, Very Hard 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;Value&#039;&#039;, 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;Value&#039;&#039;, 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;Value&#039;&#039;, 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 t create the muzzle glow&lt;br /&gt;
**Syntax: &#039;&#039;Filename&#039;&#039;&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;Value&#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;Value&#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;Value&#039;&#039;&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;+Range:&#039;&#039;&#039;&lt;br /&gt;
**Implemented before FS_Open 3.6.5&lt;br /&gt;
**Defines the maximum range where the beam still has any effect.&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;, (meters)&lt;br /&gt;
*&#039;&#039;&#039;+Attenuation:&#039;&#039;&#039;&lt;br /&gt;
**Implemented before FS_Open 3.6.5&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;Value&#039;&#039;, (from 0 - firing point to 1 - no effect)&lt;br /&gt;
***Default: 1&lt;br /&gt;
&amp;lt;/font&amp;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;
**&#039;&#039;&#039;+Width:&#039;&#039;&#039;&lt;br /&gt;
***Width of the section&lt;br /&gt;
***Syntax: &#039;&#039;Value&#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;Filename&#039;&#039;&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;Value Value Value Value&#039;&#039;, (Red, Green, Blue, and 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;Value Value Value Value&#039;&#039;, (Red, Green, Blue, and 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;Value&#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;Value&#039;&#039; &amp;lt;font color=red&amp;gt;&lt;br /&gt;
**&#039;&#039;&#039;+Tile Factor:&#039;&#039;&#039;&lt;br /&gt;
***Implemented before FS_Open 3.6.5&lt;br /&gt;
***Defines the beam texture tileing factor.&lt;br /&gt;
***Syntax: &#039;&#039;Value&#039;&#039;, (from 0 to 1)&lt;br /&gt;
**&#039;&#039;&#039;+Translation:&#039;&#039;&#039;&lt;br /&gt;
***Implemented before FS_Open 3.6.5&lt;br /&gt;
***Defines the beam texture moveing stuff.&lt;br /&gt;
***Syntax: &#039;&#039;Value&#039;&#039;, (from 0 to 1)&lt;br /&gt;
&lt;br /&gt;
====$Pspew:====&lt;br /&gt;
*Implemented before FS_Open 3.6.5&lt;br /&gt;
*Defines a particle spew effect for the given weapon&lt;br /&gt;
*&#039;&#039;&#039;+Count:&#039;&#039;&#039;&lt;br /&gt;
**Defines???&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Time:&#039;&#039;&#039;&lt;br /&gt;
**Defines???&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;, (seconds)&lt;br /&gt;
*&#039;&#039;&#039;+Vel:&#039;&#039;&#039;&lt;br /&gt;
**Defines the created paricles speed relative to the weapon speed&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;, (meters per second)&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;Value&#039;&#039;, (meters)&lt;br /&gt;
*&#039;&#039;&#039;+Life:&#039;&#039;&#039;&lt;br /&gt;
**Defines???&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;, (seconds)&lt;br /&gt;
*&#039;&#039;&#039;+Scale:&#039;&#039;&#039;&lt;br /&gt;
**Defines???&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;&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;Filename&#039;&#039;&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====$Tag:====&lt;br /&gt;
*Allowed for secondary weapons&lt;br /&gt;
*Location: After $Impact Explosion Radius:&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;
*Syntax: &#039;&#039;TAG level&#039;&#039; &#039;&#039;Value&#039;&#039;, (seconds)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
====$SSM:====&lt;br /&gt;
*Implemented before FS_Open 3.6.5&lt;br /&gt;
*Defines the weapons SSM index number:&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====$FOF:====&lt;br /&gt;
*Implemented before FS_Open 3.6.5&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;Value&#039;&#039;, (degrees)&lt;br /&gt;
&lt;br /&gt;
====$Shots:====&lt;br /&gt;
*Implemented before FS_Open 3.6.5&lt;br /&gt;
*Defines the number of shots every time the weapon is fired.&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, (number of shots)&lt;br /&gt;
&lt;br /&gt;
====$decal:====&lt;br /&gt;
*Implemented before FS_Open 3.6.5&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;Filename&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+backface texture:&#039;&#039;&#039;&lt;br /&gt;
**Defines ???&lt;br /&gt;
**Syntax: &#039;&#039;Filename&#039;&#039;&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;Value&#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;Value&#039;&#039;&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Weapon Flags==&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 of cruiser class or below for a short period of time&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;
&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;
===&amp;quot;Puncture&amp;quot;===&lt;br /&gt;
*Reduces hull damage by 25%&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;
===&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&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;
===&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;
===&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;
===&amp;quot;No Dumbfire&amp;quot;===&lt;br /&gt;
*Missile will not fire without a lock&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;
===&amp;quot;Player allowed&amp;quot;===&lt;br /&gt;
*Allows this weapon as a player weapon&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;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
*Can be defined with [[Weapons.tbl#$Pspew:|Particle Spew parameters]]&lt;br /&gt;
&amp;lt;/font&amp;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;
===&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;
===&amp;quot;Flak&amp;quot;===&lt;br /&gt;
*Makes this weapon a [[weapons.tbl#Flak Guns|flak gun]]&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;Corkscrew&amp;quot;===&lt;br /&gt;
*Makes this weapon spiral AND swarm 4.&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
*Can be defined with [[Weapons.tbl#$Corkscrew:|Corkscrew parameters]]&lt;br /&gt;
&amp;lt;/font&amp;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;
===&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;
===&amp;quot;beam&amp;quot;===&lt;br /&gt;
*Makes this weapon a [[weapons.tbl#Beam Cannons|beam cannon]]&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;stream&amp;quot;===&lt;br /&gt;
*Gives this weapon a streaming effect. In effect weapon keeps firing when firing button is kept pressed.&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;puncture&amp;quot;===&lt;br /&gt;
*Reduces hull damage by 25%&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;supercap&amp;quot;===&lt;br /&gt;
*Makes weapon capable of causing real damage against ships with &amp;quot;supercap&amp;quot; flag.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;countermeasure&amp;quot;===&lt;br /&gt;
*Defines the weapon as a countermeasure&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;Ballistic&amp;quot;===&lt;br /&gt;
*Implemented before FS_Open 3.6.5&lt;br /&gt;
*Defines the weapon as a ballistic weapon that needs ammunition.&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;pierce shields&amp;quot;===&lt;br /&gt;
*Implemented before FS_Open 3.6.5&lt;br /&gt;
*Causes weapons to penetrate shield without causing damage to it.&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;no pierce shields&amp;quot;===&lt;br /&gt;
*Implemented before FS_Open 3.6.5&lt;br /&gt;
*Prevents weapons (beams) from piercing shields causing shields to be damaged by weapons first.&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;local ssm&amp;quot;===&lt;br /&gt;
*Implemented before FS_Open 3.6.5&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;tagged only&amp;quot;===&lt;br /&gt;
*Implemented before FS_Open 3.6.5&lt;br /&gt;
*Weapon can only be fired at tagged targets&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;beam no whack&amp;quot;===&lt;br /&gt;
*Implemented before FS_Open 3.6.5&lt;br /&gt;
*Disables beam whacking. Practically same as setting beam mass to zero.&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;cycle&amp;quot;===&lt;br /&gt;
*Implemented before FS_Open 3.6.5&lt;br /&gt;
*Causes weapon to alternate between firingpoints&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;small only&amp;quot;===&lt;br /&gt;
*Implemented before FS_Open 3.6.5&lt;br /&gt;
*Causes AI to use the weapon only on small targets (fighters, bombers etc.)&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;same turret cooldown&amp;quot;===&lt;br /&gt;
*Forces the turrets to fire on the designated rate of fire on all difficulty levels&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Countermeasures==&lt;br /&gt;
*Usually not altered. Only one can exist&lt;br /&gt;
&lt;br /&gt;
===$Name:===&lt;br /&gt;
*Name of the countermeasure&lt;br /&gt;
*Syntax: &#039;&#039;Name&#039;&#039;, usually Type One&lt;br /&gt;
&lt;br /&gt;
===$Velocity:===&lt;br /&gt;
*Defines the spped of the countermeasure, relative to the ship.&lt;br /&gt;
*Syntax: &#039;&#039;Value&#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;Value&#039;&#039;, (seconds)&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;Value&#039;&#039;, (seconds)&lt;br /&gt;
*&#039;&#039;&#039;$Lifetime Max:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;, (seconds)&lt;br /&gt;
&lt;br /&gt;
===$LaunchSnd:===&lt;br /&gt;
*Defines the sound for the countermeasure launch&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, refers to sounds.tbl&lt;br /&gt;
&lt;br /&gt;
===$Model:===&lt;br /&gt;
*Defines the used model file (.pof)&lt;br /&gt;
*Syntax: &#039;&#039;Filename.pof&#039;&#039;, usually cmeasure01.pof&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;&amp;quot;Name&amp;quot; &amp;quot;Name&amp;quot;&#039;&#039;)&lt;br /&gt;
*Example:&lt;br /&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;
&lt;br /&gt;
==Sample==&lt;br /&gt;
&lt;br /&gt;
   #Primary Weapons&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;
   #End&lt;br /&gt;
   #Secondary Weapons&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;
   #End&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;
&lt;br /&gt;
[[Category:Tables]]&lt;/div&gt;</summary>
		<author><name>WMCoolmon</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Feature_Requests&amp;diff=1625</id>
		<title>Feature Requests</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Feature_Requests&amp;diff=1625"/>
		<updated>2005-12-27T01:25:21Z</updated>

		<summary type="html">&lt;p&gt;WMCoolmon: &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;
&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, Twisted Infinities, Shadows of Lylat&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; ???&lt;/div&gt;</summary>
		<author><name>WMCoolmon</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Feature_Requests&amp;diff=1607</id>
		<title>Feature Requests</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Feature_Requests&amp;diff=1607"/>
		<updated>2005-12-27T01:15:48Z</updated>

		<summary type="html">&lt;p&gt;WMCoolmon: &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;
=== 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;
=== 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, Twisted Infinities, Shadows of Lylat&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; ???&lt;/div&gt;</summary>
		<author><name>WMCoolmon</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Weapons.tbl&amp;diff=1623</id>
		<title>Weapons.tbl</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Weapons.tbl&amp;diff=1623"/>
		<updated>2005-12-27T01:13:24Z</updated>

		<summary type="html">&lt;p&gt;WMCoolmon: Added $Detonation range, fixed $Arm radius description&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Made following the older guide (originally written by GE) by&lt;br /&gt;
*Wanderer&lt;br /&gt;
*Contribute and include yourself here&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 particle spew. Trails can also be added.&lt;br /&gt;
&lt;br /&gt;
==Weapons Table==&lt;br /&gt;
*Retail options will look like this&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
*SCP options are marked with red color&lt;br /&gt;
**Most of the entries in ships.tbl are optional (does anyone have the default values?)&lt;br /&gt;
&amp;lt;/font&amp;gt;&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;
====$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. If the weapon has an @ symbol in front of it, it means it&#039;s allowed in the demo. It doesn&#039;t really do anything in the retail version.&lt;br /&gt;
*Syntax: &#039;&#039;Name&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
====$Subtype:====&lt;br /&gt;
&amp;lt;/font &amp;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.&lt;br /&gt;
*Syntax: XSTR(&#039;&#039;&amp;quot;Title&amp;quot;&#039;&#039;, -1)&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.&lt;br /&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;
&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;&amp;quot;Title&amp;quot;&#039;&#039;, -1)&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;Filename&#039;&#039;&lt;br /&gt;
**Example: &#039;&#039;Tech_Subach_HL-7&#039;&#039;&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.&lt;br /&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;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
====$Tech Model:====&lt;br /&gt;
*Defines model used in wing loadout screen and in Tech Room for the weapon. As of the moment - not totally functional&lt;br /&gt;
*Syntax: &#039;&#039;Filename.pof&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====$HUD Image:====&lt;br /&gt;
*Defines the picture used in HUD loadout list&lt;br /&gt;
*Syntax: ???&lt;br /&gt;
&amp;lt;/font &amp;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;Filename.pof&#039;&#039; or &#039;&#039;none&#039;&#039;&lt;br /&gt;
**Example: &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
====$POF target LOD:====&lt;br /&gt;
*Defines the LOD (Level-Of-Detail) of the model used in HUD targetting view&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====$External Model File:====&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;Filename.pof&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====$Submodel Rotation Speed:====&lt;br /&gt;
&lt;br /&gt;
====$Submodel Rotation Acceleration:====&lt;br /&gt;
&amp;lt;/font&amp;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;Filename&#039;&#039;&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&lt;br /&gt;
**Syntax: &#039;&#039;Filename&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====@Laser Color:====&lt;br /&gt;
**The color of the weapon effect when you fire it.&lt;br /&gt;
**Syntax: &#039;&#039;Value, Value, Value&#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;
====@Laser Color2:====&lt;br /&gt;
**The color of the weapon effect at its maximum range.&lt;br /&gt;
**Syntax: &#039;&#039;Value, Value, Value&#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;
====@Laser Length:====&lt;br /&gt;
**Length of the weapon effect.&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;, (1/10 of a meters)&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;Value&#039;&#039;, (meters ?)&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;Value&#039;&#039; (meters ?)&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;
*Syntax: &#039;&#039;Value&#039;&#039;, (blast effect)&lt;br /&gt;
&lt;br /&gt;
====$Velocity:====&lt;br /&gt;
*How fast the weapon travels. Is also used to define the weapon range, $Velocity x $Lifetime = range.&lt;br /&gt;
*Beams travel instantly so this field has effect only on weapon range and AI beam targetting with certain beam types.&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, (meters per second)&lt;br /&gt;
&lt;br /&gt;
====$Fire Wait:====&lt;br /&gt;
*Time in seconds between firings&lt;br /&gt;
*Syntax: &#039;&#039;Value&#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 continous 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;Value&#039;&#039;, (damage value)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
====$Damage Type:====&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. REQUIRES ADDITIONAL TABLE.&lt;br /&gt;
*Syntax: &#039;&#039;Name&#039;&#039;, of the damage type as defined in armor.tbl&lt;br /&gt;
&lt;br /&gt;
====$Arm time:====&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;Value&#039;&#039;, (seconds)&lt;br /&gt;
&lt;br /&gt;
====$Arm distance:====&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;Value&#039;&#039;, (meters)&lt;br /&gt;
&lt;br /&gt;
====$Arm radius:====&lt;br /&gt;
*Defines the distance from the target where the weapon will arm itself&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, (meters)&lt;br /&gt;
&lt;br /&gt;
====$Detonation Range:====&lt;br /&gt;
*Defines the distance from the target where the weapon will detonate&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, (meters)&lt;br /&gt;
&lt;br /&gt;
====$Shockwave damage:====&lt;br /&gt;
*Override for the damage caused by shockwaves&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, (damage value)&lt;br /&gt;
&lt;br /&gt;
====$Shockwave Damage Type:====&lt;br /&gt;
*REQUIRES ADDITIONAL TABLE. Defines the damage type used for the weapon explosions&lt;br /&gt;
*Syntax: &#039;&#039;Name&#039;&#039;, as defined in armor.tbl&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====$Blast Force:====&lt;br /&gt;
*The intensity of the 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;Value&#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;Value&#039;&#039;, (meters)&lt;br /&gt;
&lt;br /&gt;
====$Outer Radius:====&lt;br /&gt;
*Maximum radius at which any damage is done&lt;br /&gt;
*Syntax: &#039;&#039;Value&#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;Value&#039;&#039;, (meters per second)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
====$Shockwave rotation:====&lt;br /&gt;
*Defines how the shockwave is rotated.&lt;br /&gt;
*Syntax:&lt;br /&gt;
&lt;br /&gt;
====$Shockwave model:====&lt;br /&gt;
*Defines the model file (.pof) used as a shockwave for 3D shockwaves.&lt;br /&gt;
*Implemented before FS_Open 3.6.5&lt;br /&gt;
*Syntax: &#039;&#039;Name.pof&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====$Shockwave name:====&lt;br /&gt;
*Defines the name of the animation used for the shockwave&lt;br /&gt;
*Syntax: &#039;&#039;Name&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====$Dinky shockwave:====&lt;br /&gt;
*Dinky shockwave are used if the weapon is shot down or if the conditions marked at Arm time and Arm distance are not reached&lt;br /&gt;
*It uses exactly same entries as the standard shockwaves&lt;br /&gt;
*&#039;&#039;&#039;+Shockwave damage:&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Shockwave damage type:&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Blast Force:&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Inner Radius:&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Outer Radius:&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Shockwave Speed:&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Shockwave Rotation:&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Shockwave Model:&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Shockwave Name:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;/font&amp;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;Value&#039;&#039;, (damage multiplier)&lt;br /&gt;
&lt;br /&gt;
====$Shield Factor:====&lt;br /&gt;
*Multiplier for the damage done to shields&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, (damage multiplier)&lt;br /&gt;
&lt;br /&gt;
====$Subsystem Factor:====&lt;br /&gt;
*Multiplier for the damage done to subsystems&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, (damage multiplier)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
====$Lifetime Min:====&lt;br /&gt;
*Defines the minimum lifetime of the weapon (countermeasure)&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, (seconds)&lt;br /&gt;
&lt;br /&gt;
====$Lifetime Max:====&lt;br /&gt;
*Defines the maximum lifetime of the weapon (countermeasure)&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, (seconds)&lt;br /&gt;
&amp;lt;/font&amp;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 targetting with certain beam types&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, (seconds)&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;Value&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====$Cargo Size:====&lt;br /&gt;
*Cargo size, is not used with primaries.&lt;br /&gt;
*Amount of missiles available = Bank capacity / Cargo Size.&lt;br /&gt;
*Syntax: &#039;&#039;Value&#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;YES&#039;&#039; or &#039;&#039;NO&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Type:&#039;&#039;&#039;&lt;br /&gt;
**Defines the homing method&lt;br /&gt;
**Syntax: &#039;&#039;ASPECT&#039;&#039; or &#039;&#039;HEAT&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Turn Time:&#039;&#039;&#039;&lt;br /&gt;
**Defines how well missile manouvers. Number of seconds it takes the missile to do a 360 degree circle&lt;br /&gt;
**Syntax: &#039;&#039;Value&#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 missiles centerline. &amp;lt;font color=red&amp;gt;Has been enabled also to aspect seekers. &amp;lt;/font&amp;gt;&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;, (degrees)&lt;br /&gt;
*&#039;&#039;&#039;+Min Lock Time:&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;For aspect missiles only&#039;&#039;&#039;, the minimum number of seconds to gain target lock&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;, (seconds)&lt;br /&gt;
*&#039;&#039;&#039;+Lock Pixels/Sec:&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;For aspect missiles only&#039;&#039;&#039;, pixels the aspect triangle moves per second while attempting lock-on&lt;br /&gt;
**Syntax: &#039;&#039;Value&#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 missiles only&#039;&#039;&#039;, pixels moved per second while attempting to catch up to the target&lt;br /&gt;
**Syntax: &#039;&#039;Value&#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 missiles only&#039;&#039;&#039;, extra pixels to move after catching up ????&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;, (pixels)&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;+Seeker Strenght:&#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;Value&#039;&#039;, (seeker strenght)&lt;br /&gt;
&amp;lt;/font&amp;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 singlepart turrets to malfunction but causes multipart turrets to fire only on their barrel line. Can be used for &#039;burst fire weapons&#039;.&lt;br /&gt;
*Is incompatible with &amp;quot;Corkscrew&amp;quot; option.&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;&lt;br /&gt;
&amp;lt;font folor=red&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;+SwarmWait:&#039;&#039;&#039;&lt;br /&gt;
**Implemented before FS_Open 3.6.5&lt;br /&gt;
**Defines the time between weapons fired in a swarm&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;, (milliseconds)&lt;br /&gt;
***Default: 150&lt;br /&gt;
&lt;br /&gt;
====$Free Flight Time:====&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;Value&#039;&#039;, (seconds)&lt;br /&gt;
**Default: 0.25&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====$LaunchSnd:====&lt;br /&gt;
*Corresponding sound effect when the weapon is launched.&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, name or identification number of the sound as defined in sounds.tbl&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;Value&#039;&#039;, name or identification number of the sound as defined in sounds.tbl&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
====$Disarmed ImpactSnd:====&lt;br /&gt;
*Sound the weapon makes when it hits a hull before being armed.&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, identification number of the sound as defined in sounds.tbl&lt;br /&gt;
&amp;lt;/font&amp;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;Value&#039;&#039;, name or identification number of the sound as defined in sounds.tbl, usually -1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
====$Model:====&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;Filename.pof&#039;&#039;&lt;br /&gt;
&amp;lt;/font&amp;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;Value&#039;&#039;, (missiles per s)&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;Value&#039;&#039;, (meters)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
====+Weapon Min Range:====&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;Value&#039;&#039;, (meters)&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====$Flags:====&lt;br /&gt;
*Flags are detailed below, in [[weapons.tbl#Weapon Flags|weapon flags section]].&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;Value&#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;Value&#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;Value&#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;Value&#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;Value&#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;Filename&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====$Icon:====&lt;br /&gt;
*Loadout icon used in the weapons selection screen.&lt;br /&gt;
*Syntax: &#039;&#039;Filename&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====$Anim:====&lt;br /&gt;
*Green grid animation used on the weapons screen.&lt;br /&gt;
*Syntax: &#039;&#039;Filename&#039;&#039;&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;Filename&#039;&#039; or &#039;&#039;none&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====$Impact Explosion Radius:====&lt;br /&gt;
*Radius of the defined impact explosion.&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
====$Dinky impact explosion:====&lt;br /&gt;
*Same as Impact explosion but for Dinky explosions&lt;br /&gt;
&lt;br /&gt;
====$Dinky impact explosion radius:====&lt;br /&gt;
*Same as Impact explosion radius but for Dinky explosions&lt;br /&gt;
&amp;lt;/font&amp;gt;&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;Muzzleflash name&#039;&#039;, as defined in mflash.tbl&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;Value&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====$EMP Time:====&lt;br /&gt;
**Duration of the EMP effect&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;, (seconds)&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;Value&#039;&#039;&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;Value&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
====$Corkscrew:====&lt;br /&gt;
*Implemented before FS_Open 3.6.5&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;Value&#039;&#039;&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;Value&#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;Value&#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;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;Value&#039;&#039; (radians per second)&lt;br /&gt;
&lt;br /&gt;
====$Electronics:====&lt;br /&gt;
*Implemented before FS_Open 3.6.5&lt;br /&gt;
*Defines the weapons effect against electronics&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&lt;br /&gt;
*&#039;&#039;&#039;+Intensity:&#039;&#039;&#039;&lt;br /&gt;
**May only be used with new style electronics&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Lifetime:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Engine Multiplier:&#039;&#039;&#039;&lt;br /&gt;
**May only be used with new style electronics&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Weapon Multiplier:&#039;&#039;&#039;&lt;br /&gt;
**May only be used with new style electronics&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Beam Turret Multiplier:&#039;&#039;&#039;&lt;br /&gt;
**May only be used with new style electronics&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Sensors Multiplier:&#039;&#039;&#039;&lt;br /&gt;
**May only be used with new style electronics&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Randomness Time:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====$Spawn Angle:====&lt;br /&gt;
*Implemented before FS_Open 3.6.5&lt;br /&gt;
*Defines the cone (with an angle) where the spawned weapons appear. Value / 2 gives the angle from the missiles centerline.&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, (degrees)&lt;br /&gt;
&lt;br /&gt;
====$Local SSM:====&lt;br /&gt;
*Implemented before FS_Open 3.6.5&lt;br /&gt;
*Defines the local SSM.&lt;br /&gt;
*&#039;&#039;&#039;+Warpout Delay:&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Warpin Delay:&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Stage 5 Velocity:&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Warpin Radius:&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Lock Range:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====$Countermeasure:====&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;Value&#039;&#039;, (cm type 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;Value&#039;&#039;, (cm type 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;Value&#039;&#039;, (meters)&lt;br /&gt;
***Default: 300&lt;br /&gt;
&amp;lt;/font&amp;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. 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. Nobody knows what Type 2 beams are.&lt;br /&gt;
**Syntax: &#039;&#039;Value&#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;Value&#039;&#039;, (seconds)&lt;br /&gt;
*&#039;&#039;&#039;+Warmup:&#039;&#039;&#039;&lt;br /&gt;
**Warmup time&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;, (milliseconds)&lt;br /&gt;
*&#039;&#039;&#039;+Warmdown:&#039;&#039;&#039;&lt;br /&gt;
**Warmdown time&lt;br /&gt;
**Syntax: &#039;&#039;Value&#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;Value&#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;Value&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+PRadius:&#039;&#039;&#039;&lt;br /&gt;
**Particle radius&lt;br /&gt;
**Syntax: &#039;&#039;Value&#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;Value&#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;Filename&#039;&#039;&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;Value Value Value Value Value&#039;&#039;, Very Easy, Easy, Moderate, Hard, Very Hard 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;Value&#039;&#039;, 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;Value&#039;&#039;, 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;Value&#039;&#039;, 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 t create the muzzle glow&lt;br /&gt;
**Syntax: &#039;&#039;Filename&#039;&#039;&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;Value&#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;Value&#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;Value&#039;&#039;&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
*&#039;&#039;&#039;+Range:&#039;&#039;&#039;&lt;br /&gt;
**Implemented before FS_Open 3.6.5&lt;br /&gt;
**Defines the maximum range where the beam still has any effect.&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;, (meters)&lt;br /&gt;
*&#039;&#039;&#039;+Attenuation:&#039;&#039;&#039;&lt;br /&gt;
**Implemented before FS_Open 3.6.5&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;Value&#039;&#039;, (from 0 - firing point to 1 - no effect)&lt;br /&gt;
***Default: 1&lt;br /&gt;
&amp;lt;/font&amp;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;
**&#039;&#039;&#039;+Width:&#039;&#039;&#039;&lt;br /&gt;
***Width of the section&lt;br /&gt;
***Syntax: &#039;&#039;Value&#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;Filename&#039;&#039;&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;Value Value Value Value&#039;&#039;, (Red, Green, Blue, and 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;Value Value Value Value&#039;&#039;, (Red, Green, Blue, and 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;Value&#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;Value&#039;&#039; &amp;lt;font color=red&amp;gt;&lt;br /&gt;
**&#039;&#039;&#039;+Tile Factor:&#039;&#039;&#039;&lt;br /&gt;
***Implemented before FS_Open 3.6.5&lt;br /&gt;
***Defines the beam texture tileing factor.&lt;br /&gt;
***Syntax: &#039;&#039;Value&#039;&#039;, (from 0 to 1)&lt;br /&gt;
**&#039;&#039;&#039;+Translation:&#039;&#039;&#039;&lt;br /&gt;
***Implemented before FS_Open 3.6.5&lt;br /&gt;
***Defines the beam texture moveing stuff.&lt;br /&gt;
***Syntax: &#039;&#039;Value&#039;&#039;, (from 0 to 1)&lt;br /&gt;
&lt;br /&gt;
====$Pspew:====&lt;br /&gt;
*Implemented before FS_Open 3.6.5&lt;br /&gt;
*Defines a particle spew effect for the given weapon&lt;br /&gt;
*&#039;&#039;&#039;+Count:&#039;&#039;&#039;&lt;br /&gt;
**Defines???&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Time:&#039;&#039;&#039;&lt;br /&gt;
**Defines???&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;, (seconds)&lt;br /&gt;
*&#039;&#039;&#039;+Vel:&#039;&#039;&#039;&lt;br /&gt;
**Defines the created paricles speed relative to the weapon speed&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;, (meters per second)&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;Value&#039;&#039;, (meters)&lt;br /&gt;
*&#039;&#039;&#039;+Life:&#039;&#039;&#039;&lt;br /&gt;
**Defines???&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;, (seconds)&lt;br /&gt;
*&#039;&#039;&#039;+Scale:&#039;&#039;&#039;&lt;br /&gt;
**Defines???&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;&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;Filename&#039;&#039;&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====$Tag:====&lt;br /&gt;
*Allowed for secondary weapons&lt;br /&gt;
*Location: After $Impact Explosion Radius:&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;
*Syntax: &#039;&#039;TAG level&#039;&#039; &#039;&#039;Value&#039;&#039;, (seconds)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
====$SSM:====&lt;br /&gt;
*Implemented before FS_Open 3.6.5&lt;br /&gt;
*Defines the weapons SSM index number:&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====$FOF:====&lt;br /&gt;
*Implemented before FS_Open 3.6.5&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;Value&#039;&#039;, (degrees)&lt;br /&gt;
&lt;br /&gt;
====$Shots:====&lt;br /&gt;
*Implemented before FS_Open 3.6.5&lt;br /&gt;
*Defines the number of shots every time the weapon is fired.&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, (number of shots)&lt;br /&gt;
&lt;br /&gt;
====$decal:====&lt;br /&gt;
*Implemented before FS_Open 3.6.5&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;Filename&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+backface texture:&#039;&#039;&#039;&lt;br /&gt;
**Defines ???&lt;br /&gt;
**Syntax: &#039;&#039;Filename&#039;&#039;&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;Value&#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;Value&#039;&#039;&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Weapon Flags==&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 of cruiser class or below for a short period of time&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;
&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;
===&amp;quot;Puncture&amp;quot;===&lt;br /&gt;
*Reduces hull damage by 25%&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;
===&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&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;
===&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;
===&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;
===&amp;quot;No Dumbfire&amp;quot;===&lt;br /&gt;
*Missile will not fire without a lock&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;
===&amp;quot;Player allowed&amp;quot;===&lt;br /&gt;
*Allows this weapon as a player weapon&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;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
*Can be defined with [[Weapons.tbl#$Pspew:|Particle Spew parameters]]&lt;br /&gt;
&amp;lt;/font&amp;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;
===&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;
===&amp;quot;Flak&amp;quot;===&lt;br /&gt;
*Makes this weapon a [[weapons.tbl#Flak Guns|flak gun]]&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;Corkscrew&amp;quot;===&lt;br /&gt;
*Makes this weapon spiral AND swarm 4.&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
*Can be defined with [[Weapons.tbl#$Corkscrew:|Corkscrew parameters]]&lt;br /&gt;
&amp;lt;/font&amp;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;
===&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;
===&amp;quot;beam&amp;quot;===&lt;br /&gt;
*Makes this weapon a [[weapons.tbl#Beam Cannons|beam cannon]]&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;stream&amp;quot;===&lt;br /&gt;
*Gives this weapon a streaming effect. In effect weapon keeps firing when firing button is kept pressed.&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;puncture&amp;quot;===&lt;br /&gt;
*Reduces hull damage by 25%&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;supercap&amp;quot;===&lt;br /&gt;
*Makes weapon capable of causing real damage against ships with &amp;quot;supercap&amp;quot; flag.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;countermeasure&amp;quot;===&lt;br /&gt;
*Defines the weapon as a countermeasure&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;Ballistic&amp;quot;===&lt;br /&gt;
*Implemented before FS_Open 3.6.5&lt;br /&gt;
*Defines the weapon as a ballistic weapon that needs ammunition.&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;pierce shields&amp;quot;===&lt;br /&gt;
*Implemented before FS_Open 3.6.5&lt;br /&gt;
*Causes weapons to penetrate shield without causing damage to it.&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;no pierce shields&amp;quot;===&lt;br /&gt;
*Implemented before FS_Open 3.6.5&lt;br /&gt;
*Prevents weapons (beams) from piercing shields causing shields to be damaged by weapons first.&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;local ssm&amp;quot;===&lt;br /&gt;
*Implemented before FS_Open 3.6.5&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;tagged only&amp;quot;===&lt;br /&gt;
*Implemented before FS_Open 3.6.5&lt;br /&gt;
*Weapon can only be fired at tagged targets&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;beam no whack&amp;quot;===&lt;br /&gt;
*Implemented before FS_Open 3.6.5&lt;br /&gt;
*Disables beam whacking. Practically same as setting beam mass to zero.&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;cycle&amp;quot;===&lt;br /&gt;
*Implemented before FS_Open 3.6.5&lt;br /&gt;
*Causes weapon to alternate between firingpoints&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;small only&amp;quot;===&lt;br /&gt;
*Implemented before FS_Open 3.6.5&lt;br /&gt;
*Causes AI to use the weapon only on small targets (fighters, bombers etc.)&lt;br /&gt;
&lt;br /&gt;
===&amp;quot;same turret cooldown&amp;quot;===&lt;br /&gt;
*Forces the turrets to fire on the designated rate of fire on all difficulty levels&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Countermeasures==&lt;br /&gt;
*Usually not altered. Only one can exist&lt;br /&gt;
&lt;br /&gt;
===$Name:===&lt;br /&gt;
*Name of the countermeasure&lt;br /&gt;
*Syntax: &#039;&#039;Name&#039;&#039;, usually Type One&lt;br /&gt;
&lt;br /&gt;
===$Velocity:===&lt;br /&gt;
*Defines the spped of the countermeasure, relative to the ship.&lt;br /&gt;
*Syntax: &#039;&#039;Value&#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;Value&#039;&#039;, (seconds)&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;Value&#039;&#039;, (seconds)&lt;br /&gt;
*&#039;&#039;&#039;$Lifetime Max:&#039;&#039;&#039;&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;, (seconds)&lt;br /&gt;
&lt;br /&gt;
===$LaunchSnd:===&lt;br /&gt;
*Defines the sound for the countermeasure launch&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, refers to sounds.tbl&lt;br /&gt;
&lt;br /&gt;
===$Model:===&lt;br /&gt;
*Defines the used model file (.pof)&lt;br /&gt;
*Syntax: &#039;&#039;Filename.pof&#039;&#039;, usually cmeasure01.pof&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;&amp;quot;Name&amp;quot; &amp;quot;Name&amp;quot;&#039;&#039;)&lt;br /&gt;
*Example:&lt;br /&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;
&lt;br /&gt;
==Sample==&lt;br /&gt;
&lt;br /&gt;
   #Primary Weapons&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;
   #End&lt;br /&gt;
   #Secondary Weapons&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;
   #End&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;
&lt;br /&gt;
[[Category:Tables]]&lt;/div&gt;</summary>
		<author><name>WMCoolmon</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Talk:Feature_Requests&amp;diff=4641</id>
		<title>Talk:Feature Requests</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Talk:Feature_Requests&amp;diff=4641"/>
		<updated>2005-12-27T01:10:23Z</updated>

		<summary type="html">&lt;p&gt;WMCoolmon: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Excuse me, but should this be not in the SCP forum or the SCP website? Things like these do not beling to wikis. - [[User:TopAce|TopAce]] 19:15, 10 Dec 2005 (GMT)&lt;br /&gt;
&lt;br /&gt;
The problem is that adding it to the SCP site would require a special PHP script, and a thread on the forums quickly becomes cluttered by irrelevant posts and discussions on the features. It also serves as a reference for feature requests...not the ideal solution, but the simplest one. [[User:WMCoolmon|WMCoolmon]] 01:09, 27 Dec 2005 (GMT)&lt;/div&gt;</summary>
		<author><name>WMCoolmon</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Ships.tbl&amp;diff=754</id>
		<title>Ships.tbl</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Ships.tbl&amp;diff=754"/>
		<updated>2005-11-14T00:22:20Z</updated>

		<summary type="html">&lt;p&gt;WMCoolmon: Added/updated various parts&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ships.tbl reference has was made following the older guide (originally written by GE) by &lt;br /&gt;
*Wanderer&lt;br /&gt;
*WMCoolmon&lt;br /&gt;
*The Trivial Psychic&lt;br /&gt;
*Contribute and include yourself here&lt;br /&gt;
&lt;br /&gt;
==General Format==&lt;br /&gt;
*Ship.tbl is formed of several different sections:&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;
**&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;
==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;
===$Name:===&lt;br /&gt;
*Defines the name of the engine wash.&lt;br /&gt;
*Syntax: &#039;&#039;Name&#039;&#039;&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;Value&#039;, (degrees)&lt;br /&gt;
&lt;br /&gt;
===$Radius Mult:===&lt;br /&gt;
*Defines something???&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, (multiplier)&lt;br /&gt;
&lt;br /&gt;
===$Length:===&lt;br /&gt;
*Defines the lenght of the engine wash&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, (meters)&lt;br /&gt;
&lt;br /&gt;
===$Intensity:===&lt;br /&gt;
*Defines the strenght of the engine wash&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, (blast effect)&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;
==Table Options==&lt;br /&gt;
*Retail options will look like this&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
*SCP options are marked with red color&lt;br /&gt;
**Most of the entries in ships.tbl have been made optional. Only entries that have to be filled are $Name:, $POF file: and $Flags:.&lt;br /&gt;
&amp;lt;/font&amp;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;name&#039;&#039;,&lt;br /&gt;
**Example: &#039;&#039;Ulysses&#039;&#039;&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;name&#039;&#039;,&lt;br /&gt;
**Example: &#039;&#039;TFight&#039;&#039;&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. &amp;lt;font color=red&amp;gt;More species have been enabled, and all of these are defined in species_defs.tbl.&amp;lt;/font&amp;gt;&lt;br /&gt;
*Syntax: &#039;&#039;Terran&#039;&#039;, &#039;&#039;Shivan&#039;&#039; or &#039;&#039;Vasudan&#039;&#039;&lt;br /&gt;
*&amp;lt;font color=red&amp;gt;Syntax: &#039;&#039;Name&#039;&#039;, as defined in species_defs.tbl&amp;lt;/font&amp;gt;&lt;br /&gt;
**Example: &#039;&#039;Terran&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===Technical description===&lt;br /&gt;
List of discriptive terms for techroom and ship selection screens.&lt;br /&gt;
Number after the quotes refers to tstrings.tbl (does this have any function?)&lt;br /&gt;
&lt;br /&gt;
   +Type:                     XSTR(&amp;quot;&amp;quot;, -1)&lt;br /&gt;
   +Maneuverability:          XSTR(&amp;quot;&amp;quot;, -1)&lt;br /&gt;
   +Armor:                    XSTR(&amp;quot;&amp;quot;, -1)&lt;br /&gt;
   +Manufacturer:             XSTR(&amp;quot;&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;&amp;quot;, -1)&lt;br /&gt;
   $end_multi_text&lt;br /&gt;
   +Length:                   20 m&lt;br /&gt;
   +Gun Mounts:               4&lt;br /&gt;
   +Missile Banks:            1&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;Filename.pof&#039;&#039;&lt;br /&gt;
**Example: &#039;&#039;fighter01.pof&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Detail distance:===&lt;br /&gt;
*Definies the distance where the change between different Levels-Of-Details (LODs) occurs&lt;br /&gt;
*Syntax: &#039;&#039;(Value, Value, ...)&#039;&#039; (distances from the model in meters)&lt;br /&gt;
**Example: &#039;&#039;(0, 80, 300, 900)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$ND:===&lt;br /&gt;
*No Dim field field was used in FS1 for ship lights. Nowadays we use glowmaps.&lt;br /&gt;
*Syntax: &#039;&#039;Value, Value, Value&#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;
===$Show damage:===&lt;br /&gt;
*No known function. Best left alone to avoid possible compatibility issues.&lt;br /&gt;
*Syntax: &#039;&#039;YES&#039;&#039; or &#039;&#039;NO&#039;&#039;, usually YES&lt;br /&gt;
&lt;br /&gt;
===$Density:===&lt;br /&gt;
*Has no function currently.&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, usually 1&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;Value&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Rotdamp:===&lt;br /&gt;
*Same thing, but for rotational movement.&lt;br /&gt;
*Syntax: &#039;&#039;Value&#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;Value, Value, Value&#039;&#039;, (meters per second) x-axis, y-axis, z-axis&lt;br /&gt;
**Example: &#039;&#039;0.0, 0.0, 80.0&#039;&#039;&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;Value, Value, Value&#039;&#039;, (seconds per 360 degree turn) x-axis, y-axis, z-axis&lt;br /&gt;
**Example: &#039;&#039;3.0, 2.6, 5.0&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Rear Velocity:===&lt;br /&gt;
*Defines rear velocity&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, (meters per second) usually zero&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;Value&#039;&#039;, (seconds)&lt;br /&gt;
&lt;br /&gt;
===$Forward decel:===&lt;br /&gt;
*Number of seconds needed from maxumum velocity to full stop&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, (seconds)&lt;br /&gt;
&lt;br /&gt;
===$Slide accel: and $Slide decel:===&lt;br /&gt;
*Same for sliding as the $Forward accel: and $Forward decel: for normal movement.&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, (seconds) for both&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
===$Glide:===&lt;br /&gt;
*Allows gliding in game&lt;br /&gt;
*Syntax: &#039;&#039;YES&#039;&#039; or &#039;&#039;NO&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Warpin speed:===&lt;br /&gt;
*Sets the speed at which the ship warps in&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Warpout speed:===&lt;br /&gt;
*Sets the speed at which the ship warps out from the game&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Player warpout speed:===&lt;br /&gt;
*Sets the speed at which the player warps out from the game&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, can not be greater than $Max Oclk Speed:&lt;br /&gt;
&amp;lt;/font&amp;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;Value&#039;&#039;, (meters)&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;Value&#039;&#039;, (meters)&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;Value&#039;&#039;, (damage value)&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;Value&#039;&#039;, (blast effect)&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;YES&#039;&#039; or &#039;&#039;NO&#039;&#039;&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;Value&#039;&#039;, (meters per second)&lt;br /&gt;
&lt;br /&gt;
===$Shockwave count:===&lt;br /&gt;
*Defines the number of shockwaves to spawned&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
===$Shockwave model:===&lt;br /&gt;
*Defines the textured model used as the ship&#039;s shockwave&lt;br /&gt;
*Syntax: &#039;&#039;name.pof&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Shockwave name:===&lt;br /&gt;
*Defines the name of the animation to used for the shockwave&lt;br /&gt;
*Syntax: &#039;&#039;Name&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Weapon Model Draw Distance:===&lt;br /&gt;
*Distance that external weapons are shown, ie missiles and such.&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, (meters)&lt;br /&gt;
**Default: &#039;&#039;200&#039;&#039;&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Primary Weapons===&lt;br /&gt;
&lt;br /&gt;
====$Allowed PBanks:====&lt;br /&gt;
*List of allowed primary weapons in brackets (weapon name marked with quotes). &amp;lt;font color=red&amp;gt;Each of the primary weapon banks can be given their own list of allowed weapons, in which case each bank has it&#039;s own bracketed entry. &amp;lt;/font&amp;gt;&lt;br /&gt;
*Syntax: &#039;&#039;( &amp;quot;Name&amp;quot; &amp;quot;Name&amp;quot; )&#039;&#039;&lt;br /&gt;
*&amp;lt;font color=red&amp;gt;Syntax: &#039;&#039;( &amp;quot;Name&amp;quot; &amp;quot;Name&amp;quot; ) ( &amp;quot;Name&amp;quot; &amp;quot;Name&amp;quot; )&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
**Example: &#039;&#039;( &amp;quot;Subach HL-7&amp;quot; &amp;quot;Prometheus R&amp;quot;)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====$Allowed Dogfight PBanks:====&lt;br /&gt;
*Primary weapons for multiplayer dogfights. &amp;lt;font color=red&amp;gt;Each of the primary weapon banks can be given their own list of allowed weapons, in which case each bank has it&#039;s own bracketed entry. &amp;lt;/font&amp;gt;&lt;br /&gt;
*Syntax: &#039;&#039;( &amp;quot;Name&amp;quot; &amp;quot;Name&amp;quot; )&#039;&#039;&lt;br /&gt;
*&amp;lt;font color=red&amp;gt;Syntax: &#039;&#039;( &amp;quot;Name&amp;quot; &amp;quot;Name&amp;quot; ) ( &amp;quot;Name&amp;quot; &amp;quot;Name&amp;quot; )&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
**Example: &#039;&#039;( &amp;quot;Subach HL-D&amp;quot; &amp;quot;Prometheus D&amp;quot;)&#039;&#039;&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;( &amp;quot;Name&amp;quot; &amp;quot;Name&amp;quot; )&#039;&#039;&lt;br /&gt;
**Example: &#039;&#039;( &amp;quot;Subach HL-7&amp;quot; &amp;quot;Prometheus R&amp;quot;)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
====$PBank Capacity:====&lt;br /&gt;
*Defines ammunition capacity of primary weapon banks. In brackets, different weapon banks separated by commas. REQUIRES FLAG &amp;quot;ballistic primaries&amp;quot;&lt;br /&gt;
*Syntax: &#039;&#039;( Value, Value )&#039;&#039;, usually all primary bank capacities are 1.&lt;br /&gt;
**Example: &#039;&#039;( 1, 1 )&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====$Show Weapon Models:====&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;( YES&#039;&#039; or &#039;&#039;NO )&#039;&#039;&lt;br /&gt;
**Example: &#039;&#039;(YES YES)&#039;&#039;&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Secondary Weapons===&lt;br /&gt;
&lt;br /&gt;
====$Allowed SBanks:====&lt;br /&gt;
*Same for secondary weapons. &amp;lt;font color=red&amp;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. &amp;lt;/font&amp;gt;&lt;br /&gt;
*Syntax: &#039;&#039;( &amp;quot;Name&amp;quot; &amp;quot;Name&amp;quot; )&#039;&#039;&lt;br /&gt;
*&amp;lt;font color=red&amp;gt;Syntax: &#039;&#039;( &amp;quot;Name&amp;quot; &amp;quot;Name&amp;quot; ) ( &amp;quot;Name&amp;quot; &amp;quot;Name&amp;quot; )&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
**Example: &#039;&#039;( &amp;quot;Harpoon&amp;quot; &amp;quot;Hornet&amp;quot;)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
====$Allowed Dogfight SBanks:====&lt;br /&gt;
*Same for secondary weapons. &amp;lt;font color=red&amp;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. &amp;lt;/font&amp;gt;&lt;br /&gt;
*Syntax: &#039;&#039;( &amp;quot;Name&amp;quot; &amp;quot;Name&amp;quot; )&#039;&#039;&lt;br /&gt;
*&amp;lt;font color=red&amp;gt;Syntax: &#039;&#039;( &amp;quot;Name&amp;quot; &amp;quot;Name&amp;quot; ) ( &amp;quot;Name&amp;quot; &amp;quot;Name&amp;quot; )&#039;&#039;&amp;lt;/font&amp;gt;&lt;br /&gt;
**Example: &#039;&#039;( &amp;quot;Harpoon D&amp;quot; &amp;quot;Hornet D&amp;quot;)&#039;&#039;&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;( &amp;quot;Name&amp;quot; &amp;quot;Name&amp;quot; )&#039;&#039;&lt;br /&gt;
**Example: &#039;&#039;( &amp;quot;Harpoon&amp;quot; &amp;quot;Hornet&amp;quot;)&#039;&#039;&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;( Value, Value )&#039;&#039;, (ammo capacity)&lt;br /&gt;
**Example: &#039;&#039;( 40, 40 )&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
====$Show Weapon Models:====&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;( YES&#039;&#039; or &#039;&#039;NO )&#039;&#039;&lt;br /&gt;
**Example: &#039;&#039;(YES YES)&#039;&#039;&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===$Shields:===&lt;br /&gt;
*Determines the shield strenght&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, (total hitpoints in all quadrants together)&lt;br /&gt;
&lt;br /&gt;
===$Shield Color:===&lt;br /&gt;
*RGB value for shield color&lt;br /&gt;
*Syntax: &amp;quot;Value, Value, Value&#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;
**Default: &#039;&#039;255, 255, 255&#039;&#039;&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;Value&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Max Oclk Speed:===&lt;br /&gt;
*Maximum velocity with all energy diverted to engines&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, (meters per second)&lt;br /&gt;
&lt;br /&gt;
===$Max Weapon Eng:===&lt;br /&gt;
*The maximum amount of energy you can store in your primary weapons bank.&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Hitpoints:===&lt;br /&gt;
*How much damage the ship can take&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, (hitpoints)&lt;br /&gt;
**Default: &#039;&#039;100&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
===$Hull Repair Rate:===&lt;br /&gt;
*Repair rates for hull at percent per second&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, % of hitpoints repaired per second&lt;br /&gt;
&lt;br /&gt;
===$Subsystem Repair Rate:===&lt;br /&gt;
*Repair rates for sybsystems percent per second&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, % of hitpoints repaired per second&lt;br /&gt;
**Default &#039;&#039;0.01&#039;&#039;, that is 1 % per second&lt;br /&gt;
&lt;br /&gt;
===$Armor Type===&lt;br /&gt;
*Location: Right after the $Hitpoinrs:&lt;br /&gt;
*REQUIRES ADDITIONAL TABLE. Defines armor type used for the ship&lt;br /&gt;
*Syntax: &#039;&#039;Name&#039;&#039;, as defined in armor.tbl&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===$Flags:===&lt;br /&gt;
*See below&lt;br /&gt;
*Syntax: &#039;&#039;( &amp;quot;Flag&amp;quot; &amp;quot;Flag&amp;quot; )&#039;&#039;&lt;br /&gt;
**Example: ( &amp;quot;fighter&amp;quot; &amp;quot;in tech database&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
===$AI Class:===&lt;br /&gt;
*Default AI class&lt;br /&gt;
*Syntax: &#039;&#039;AI name&#039;&#039;, as defined in AI.tbl&lt;br /&gt;
&lt;br /&gt;
===$Afterburner:===&lt;br /&gt;
*Defines if the ships has afterburner&lt;br /&gt;
*Syntax: &#039;&#039;YES&#039;&#039; or &#039;&#039;NO&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;+Aburn Max Vel:&#039;&#039;&#039;&lt;br /&gt;
**In same format as in $Max Velocity:&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;, (meters per second)&lt;br /&gt;
*&#039;&#039;&#039;+Aburn For accel:&#039;&#039;&#039;&lt;br /&gt;
**Defined only as the forward acceleration. In same format as $Forward accel:&lt;br /&gt;
**Syntax: &#039;&#039;Value&#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;Value&#039;&#039; (fuel units)&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;Value&#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;Value&#039;&#039; (fuel units per second)&lt;br /&gt;
*&amp;lt;font color=red&amp;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;Filename&#039;&#039;&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;Value&#039;&#039;, (in meters)&lt;br /&gt;
****Default: &#039;&#039;1.0&#039;&#039;&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;Value&#039;&#039;&lt;br /&gt;
****Default: &#039;&#039;1.0&#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;Value&#039;&#039;, (in seconds)&lt;br /&gt;
****Default: &#039;&#039;5.0&#039;&#039;&lt;br /&gt;
&amp;lt;/font&amp;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;Value&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Scan time:===&lt;br /&gt;
*Time it takes to scan the ship&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, (milliseconds)&lt;br /&gt;
**Default: &#039;&#039;2000&#039;&#039;&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;Name&#039;&#039;, as defined in sounds.tbl&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;Value&#039;&#039;, &#039;&#039;Value&#039;&#039;, &#039;&#039;Value&#039;&#039;, (X, Y and Z values)&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;Value&#039;&#039;, (radians)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
===$Topdown offset:===&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;Value&#039;&#039;, (meters)&lt;br /&gt;
&amp;lt;/font&amp;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. &amp;lt;font color=red&amp;gt; Reference to the hud.tbl is no longer needed.&amp;lt;/font&amp;gt;&lt;br /&gt;
*Syntax: &#039;&#039;Filename&#039;&#039;&lt;br /&gt;
**Example: &#039;&#039;shield-f01&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Ship_icon:===&lt;br /&gt;
*The icon used in ship selection. &amp;lt;font color=red&amp;gt;Ship model is used by default to generate the image.&amp;lt;/font&amp;gt;&lt;br /&gt;
*Syntax: &#039;&#039;Filename&#039;&#039;&lt;br /&gt;
**Example: &#039;&#039;iconfighter01&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Ship_anim:===&lt;br /&gt;
*The glowing green grid animation used in ship selection. &amp;lt;font color=red&amp;gt;Ship model is used by default to generate the image.&amp;lt;/font&amp;gt;&lt;br /&gt;
*Syntax: &#039;&#039;Filename&#039;&#039;&lt;br /&gt;
**Example: &#039;&#039;ssfighter01&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Ship_overhead:===&lt;br /&gt;
*The overhead view used in the weapons loadout. &amp;lt;font color=red&amp;gt;Ship model is used by default to generate the image.&amp;lt;/font&amp;gt;&lt;br /&gt;
*Syntax: &#039;&#039;Filename&#039;&#039;&lt;br /&gt;
**Example: &#039;&#039;loadfighter01&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Score:===&lt;br /&gt;
*Points awarded for destroying the ship&lt;br /&gt;
*Syntax: &#039;&#039;Value&#039;&#039;, (points)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
===Customized Thruster Effects===&lt;br /&gt;
*Just a guess. I have no idea what these do. TBP, PLEASE HELP!&lt;br /&gt;
*&#039;&#039;&#039;Defines the primary thruster animation&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;$Thruster Bitmap 1:&#039;&#039;&#039;&lt;br /&gt;
***Defines the animation for the standard drives&lt;br /&gt;
***Syntax: &#039;&#039;Filename&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;$Thruster Bitmap 1a:&#039;&#039;&#039;&lt;br /&gt;
***Defines the animation for the afterburner effect&lt;br /&gt;
***Syntax: &#039;&#039;Filename&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;$Thruster01 Radius factor:&#039;&#039;&#039;&lt;br /&gt;
***Defines???&lt;br /&gt;
***Syntax: &#039;&#039;Value&#039;&#039;&lt;br /&gt;
****Default: &#039;&#039;1.0&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Defines the secondary thruster animation&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;$Thruster Bitmap 2:&#039;&#039;&#039;&lt;br /&gt;
***Defines the animation for the standard drives&lt;br /&gt;
***Syntax: &#039;&#039;Filename&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;$Thruster Bitmap 2a:&#039;&#039;&#039;&lt;br /&gt;
***Defines the animation for the afterburner effect&lt;br /&gt;
***Syntax: &#039;&#039;Filename&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;$Thruster02 Radius factor:&#039;&#039;&#039;&lt;br /&gt;
***Defines???&lt;br /&gt;
***Syntax: &#039;&#039;Value&#039;&#039;&lt;br /&gt;
****Default: &#039;&#039;1.0&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;Defines the tertiary thruster animation&#039;&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;$Thruster Bitmap 3:&#039;&#039;&#039;&lt;br /&gt;
***Defines the animation for the standard drives&lt;br /&gt;
***Syntax: &#039;&#039;Filename&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;$Thruster Bitmap 3a:&#039;&#039;&#039;&lt;br /&gt;
***Defines the animation for the afterburner effect&lt;br /&gt;
***Syntax: &#039;&#039;Filename&#039;&#039;&lt;br /&gt;
**&#039;&#039;&#039;$Thruster03 Radius factor:&#039;&#039;&#039;&lt;br /&gt;
***Defines???&lt;br /&gt;
***Syntax: &#039;&#039;Value&#039;&#039;&lt;br /&gt;
****Default: &#039;&#039;1.0&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$Thruster Particles:===&lt;br /&gt;
*Defines the alternative particle thruster&lt;br /&gt;
*&#039;&#039;&#039;$Thruster Particle Bitmap:&#039;&#039;&#039;&lt;br /&gt;
**Name of the animation used for particle thrusters, up to three can be defined&lt;br /&gt;
**Syntax: &#039;&#039;Filename&#039;&#039;, of ani file used&lt;br /&gt;
***Example: Exp04&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;Value&#039;&#039;, (in 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;Value&#039;&#039;, (in meters)&lt;br /&gt;
*&#039;&#039;&#039;$Min created:&#039;&#039;&#039;&lt;br /&gt;
**Defines the minimum amount of particles created per second&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;, (per second)&lt;br /&gt;
*&#039;&#039;&#039;$Max created:&#039;&#039;&#039;&lt;br /&gt;
**Defines the maximum amount of particles created per second&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;, (per second)&lt;br /&gt;
*&#039;&#039;&#039;$Variance:&#039;&#039;&#039;&lt;br /&gt;
**Value that describes the randomnes or 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;Value&#039;&#039;, (per second)&lt;br /&gt;
&lt;br /&gt;
===$Thruster Particles:===&lt;br /&gt;
*Defines the alternative particle afterburners (requires at least 1 particle thruster)&lt;br /&gt;
*&#039;&#039;&#039;$Afterburner Particle Bitmap:&#039;&#039;&#039;&lt;br /&gt;
**Name of the animation used for particle thruster afterburners, up to three can be defined for afterburners so that in total six particle thrusters can be defines (3 standard + 3 afterburner).&lt;br /&gt;
**Syntax: &#039;&#039;Filename&#039;&#039;, of ani file used&lt;br /&gt;
***Example: Exp04&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;Value&#039;&#039;, (in 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;Value&#039;&#039;, (in meters)&lt;br /&gt;
*&#039;&#039;&#039;$Min created:&#039;&#039;&#039;&lt;br /&gt;
**Defines the minimum amount of particles created per second&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;, (per second)&lt;br /&gt;
*&#039;&#039;&#039;$Max created:&#039;&#039;&#039;&lt;br /&gt;
**Defines the maximum amount of particles created per second&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;, (per second)&lt;br /&gt;
*&#039;&#039;&#039;$Variance:&#039;&#039;&#039;&lt;br /&gt;
**Value that describes the randomnes or 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;Value&#039;&#039;, (per second)&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
**&#039;&#039;&#039;$Stealth:&#039;&#039;&#039;&lt;br /&gt;
***Defines: Ship behaves as a stealth-ship: non-targettable, and not on radar. &amp;lt;font color=red&amp;gt;This field is deprectated, and mods using 3.6.8 and above should use the &amp;quot;stealth&amp;quot; flag.&amp;lt;/font&amp;gt;&lt;br /&gt;
***Syntax: None&lt;br /&gt;
****Default: Off&lt;br /&gt;
&lt;br /&gt;
&amp;lt;font color=red&amp;gt;**&#039;&#039;&#039;$Max decals:&#039;&#039;&#039;&lt;br /&gt;
***Defines: Maximum number of weapon decals on a ship&lt;br /&gt;
***Syntax: &#039;&#039;Number&#039;&#039;, 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&amp;lt;/font&amp;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;Value&#039;&#039;, &#039;&#039;Value&#039;&#039;, &#039;&#039;Value&#039;&#039;, (X, Y, Z values) relative to the centerpoint 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;Value&#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;Value&#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;Value&#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;Value&#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;Value&#039;&#039;, (seconds)&lt;br /&gt;
*&#039;&#039;&#039;+Spew Time:&#039;&#039;&#039;&lt;br /&gt;
**????&lt;br /&gt;
**Syntax: &#039;&#039;Value&#039;&#039;, (seconds)&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;Filename&#039;&#039;&lt;br /&gt;
***Example: Contrail01&lt;br /&gt;
&lt;br /&gt;
===$Subsystem:===&lt;br /&gt;
*The name of the subsystem as defined in .pof file, % of ship&#039;s total hitpoints the subsystem has and rotation time (360 degrees) for multipart turrets. Note: Assinging zero to the %-hitpoint entry causes the subsystem to be without hitpoints, like fighterbays on some capital ships.&lt;br /&gt;
*&amp;lt;font color=red&amp;gt;[[Animation_Code|Animation Code]] can be applied to the subsystems that consist of submodels, like multipart turrets.&amp;lt;/font&amp;gt;&lt;br /&gt;
*Syntax: &#039;&#039;Subsystem name&#039;&#039; , &#039;&#039;Value&#039;&#039;, (% of ships hitpoints) &#039;&#039;Value&#039;&#039;, (seconds per 360 degree turn) subsystem name must be the same as described in model file (.pof). &amp;lt;font color=red&amp;gt;If you want to skip setting a field, leave the comma but don&#039;t enter the value&amp;lt;/font&amp;gt;&lt;br /&gt;
**Example: communications, 5, 0.0&lt;br /&gt;
&lt;br /&gt;
====Turret====&lt;br /&gt;
*&#039;&#039;&#039;In addition&#039;&#039;&#039; to the previous entry all turrets require information concerning the weapon mounted to the turret. The entry can be either &#039;&#039;&#039;$Default PBanks&#039;&#039;&#039; for turret primaries (including beams) or &#039;&#039;&#039;$Default SBanks&#039;&#039;&#039; for turret secondaries&lt;br /&gt;
*&amp;lt;font color=red&amp;gt;[[Animation_Code#Setting_Turret_Angle|Animation Code]] can be used with multipart turrets.&amp;lt;/font&amp;gt;&lt;br /&gt;
*Syntax: ( &amp;quot;Name&amp;quot; )&lt;br /&gt;
**Example: ( &amp;quot;Subach HL-7&amp;quot; )&lt;br /&gt;
**Combined example for turret entry:&lt;br /&gt;
&lt;br /&gt;
   $Subsystem: turret01, 1.0, 1.0&lt;br /&gt;
   $Default PBanks: ( &amp;quot;Terran Turret&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
====Engine====&lt;br /&gt;
*&#039;&#039;&#039;In addition&#039;&#039;&#039; to the previous entry all engines may use information concerning the engine wash. Engine washes are usually used only with larger vessels.&lt;br /&gt;
*Syntax: &#039;&#039;Name&#039;&#039;, as defined in Engine Wash section&lt;br /&gt;
**Example: Default1000&lt;br /&gt;
**Combined example for engine entry:&lt;br /&gt;
&lt;br /&gt;
   $Subsystem: engine01, 5.0, 0.0&lt;br /&gt;
   $Engine Wash: Default1000&lt;br /&gt;
   &lt;br /&gt;
====Sounds====&lt;br /&gt;
*&#039;&#039;&#039;$AliveSnd:&#039;&#039;&#039;&lt;br /&gt;
**Specifies a sound to play from the subsystem while it is not destroyed.&lt;br /&gt;
**Syntax: &#039;&#039;Sound&#039;&#039;, where sound is the index or name of a sound in sounds.tbl&lt;br /&gt;
*&#039;&#039;&#039;$DeadSnd:&#039;&#039;&#039;&lt;br /&gt;
**Specifies a sound to play from the subsystem while it is destroyed.&lt;br /&gt;
**Syntax: &#039;&#039;Sound&#039;&#039;, where sound is the index or name of a sound in sounds.tbl&lt;br /&gt;
*&#039;&#039;&#039;$RotationSnd:&#039;&#039;&#039;&lt;br /&gt;
**Does nothing for now&lt;br /&gt;
**Syntax: &#039;&#039;Sound&#039;&#039;, where sound is the index or name of a sound in sounds.tbl&lt;br /&gt;
&lt;br /&gt;
====AWACS====&lt;br /&gt;
*&#039;&#039;&#039;$AWACS:&#039;&#039;&#039;&lt;br /&gt;
**Set this subsystem&#039;s AWACS effect distance. (AWACS reveals stealthed ships, cuts through nebula fog.)&lt;br /&gt;
**Syntax: &#039;&#039;Number&#039;&#039;, the maximum range of the AWACS&lt;br /&gt;
&lt;br /&gt;
====Flags====&lt;br /&gt;
*&#039;&#039;&#039;+non-targettable&#039;&#039;&#039;&lt;br /&gt;
**Subsystem cannot be targetted&lt;br /&gt;
**Syntax: none&lt;br /&gt;
&lt;br /&gt;
===Ships.tbl flags===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;player_ship&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Makes it possible to player to fly the ship&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;default_player_ship&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Makes this ship as a default part of the loadout options in FRED&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;in tech database&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Includes ships description to the tech database from the beginning of tha campaing&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;repair_rearm&amp;quot;&#039;&#039;&#039;&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;
&#039;&#039;&#039;&amp;quot;fighter&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Defines ship as a fighter and also sets the AI behaviour&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;bomber&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Defines ship as a bomber and also sets the AI behaviour&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;transport&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Defines ship as a transport and also sets the AI behaviour&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;freighter&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Defines ship as a freighter and also sets the AI behaviour&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;cruiser&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Defines ship as a cruiser and also sets the AI behaviour&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;corvette&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Defines ship as a corvette and also sets the AI behaviour&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;capital&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Defines ship as a capitalship and also sets the AI behaviour&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;supercap&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Defines ship as a super capitalship and also sets the AI behaviour&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;cargo&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Defines ship as a cargo crate and also sets the AI behaviour&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;gas miner&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Defines ship as a gas miner and also sets the AI behaviour&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;awacs&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Defines ship as a AWACS and also sets the AI behaviour&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;navbuoy&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Defines ship as a navbuoy and also sets the AI behaviour&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;sentrygun&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Defines ship as a sentrygun and also sets the AI behaviour&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;drydock&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Defines ship as a drydock and also sets the AI behaviour&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;escapepod&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Defines ship as a escapepod and also sets the AI behaviour&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;knossos&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Defines ship as a Knossos and also sets the AI behaviour&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;dont collide invisible&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Defines invisible textures as non-collideable (For example, a hangar entrace)&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;no_collide&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Defines ship as non-collideable, ie everything will go through it&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;big damage&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Limits the damage mage to the ship by non-huge weapons.&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;no_fred&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Ship will not appear in FRED.&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;Ballistic primaries&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Enables the ship to use ballistic primaries&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;show ship&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Will result in the player&#039;s ship model being rendered, when in cockpit mode&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;generate icon&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Creates a HUD icon from the model itself&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;flash&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Makes a flash when a ship dies&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;surface shields&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Shots that impact the hull are applied to shields, regardless of if the ship has a shield mesh.&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&amp;lt;font color=red&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;&amp;quot;no weapon damage scaling&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
*Disables bombs doing different damage to different ship types&lt;br /&gt;
&amp;lt;/font&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Player Ship Precedence==&lt;br /&gt;
*Syntax: ( &#039;&#039;&amp;quot;Name&amp;quot; &amp;quot;Name&amp;quot;&#039;&#039;)&lt;br /&gt;
*Example:&lt;br /&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;
   )&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sample==&lt;br /&gt;
&lt;br /&gt;
   #Default Player Ship&lt;br /&gt;
   $Name:                       GTF Ulysses&lt;br /&gt;
   #End&lt;br /&gt;
   #Engine Wash Info&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;
   #End&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;
   #End&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;
&lt;br /&gt;
[[Category:Tables]]&lt;/div&gt;</summary>
		<author><name>WMCoolmon</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Weapon_expl.tbl&amp;diff=749</id>
		<title>Weapon expl.tbl</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Weapon_expl.tbl&amp;diff=749"/>
		<updated>2005-11-13T21:52:56Z</updated>

		<summary type="html">&lt;p&gt;WMCoolmon: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Originally, weapon_expl.tbl recorded the number of LODs for each explosion image. &amp;lt;font color=red&amp;gt;As of this writing, however, Fs2_open no longer needs or even uses weapon_expl.tbl; it detects LODs automatically, based on the filename.&amp;lt;/font&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Regardless, when FS2 searches for additional LODs, it will use the animation with the specified name for LOD0, and then use &amp;quot;NAME_#&amp;quot; for additional LODs.&lt;br /&gt;
*Example: ExpMissileHit1.eff (LOD 0), ExpMissileHit1_1.eff (LOD1)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==General Format==&lt;br /&gt;
There is really only one section of weapon_expl.tbl, and that section has exactly one entry type.&lt;br /&gt;
**&amp;lt;nowiki&amp;gt;#&amp;lt;/nowiki&amp;gt;&#039;&#039;&#039;Start&#039;&#039;&#039;&lt;br /&gt;
***The list of all weapon effects entries. Note that it must be ended with &amp;quot;#End&amp;quot;&lt;br /&gt;
&lt;br /&gt;
==Start==&lt;br /&gt;
===$Name:===&lt;br /&gt;
*Defines which explosion file this entry is for&lt;br /&gt;
*Syntax: &#039;&#039;filename&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===$LOD:===&lt;br /&gt;
*Defines how many LODs this explosion file has (up to 4)&lt;br /&gt;
*Syntax: &#039;&#039;Number&#039;&#039;, of LODs.&lt;/div&gt;</summary>
		<author><name>WMCoolmon</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Installing_fs2_open&amp;diff=772</id>
		<title>Installing fs2 open</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Installing_fs2_open&amp;diff=772"/>
		<updated>2005-11-12T10:33:32Z</updated>

		<summary type="html">&lt;p&gt;WMCoolmon: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This guide assumes you already have a working copy of Freespace 2 installed. If not, see [[Installing Freespace 2]]. Also, this build assumes you do not use an installer. If you do, skip down to the part where it talks about configuring fs2_open.&lt;br /&gt;
&lt;br /&gt;
== Step One: Understanding what you need ==&lt;br /&gt;
&lt;br /&gt;
There are three main components that you need to get the most out of fs2_open.&lt;br /&gt;
&lt;br /&gt;
First, the Launcher. This lets you configure the fs2_open executable for your particular system, in much the same way the original Freespace 2 launcher is used to configure it.&lt;br /&gt;
&lt;br /&gt;
Next, the fs2_open build. This is the core game engine, a single executable file.&lt;br /&gt;
&lt;br /&gt;
Finally, the MediaVPs. These contain all sorts of graphical improvements and are highly recommended. Version numbers of mediaVPs generally agree with the fs2_open build that they&#039;re supposed to be used with.&lt;br /&gt;
&lt;br /&gt;
== Step Two: Getting the Launcher ==&lt;br /&gt;
&lt;br /&gt;
Unless you are using an extremely old build, you will want to get Launcher 5.3. Otherwise, go with Launcher 4. To install either,  extract it to your main Freespace 2 folder. (You can have both on your computer at the same time, although it&#039;s not recommended)&lt;br /&gt;
&lt;br /&gt;
[http://scp.indiegames.us/download.php?view.133 Launcher 5.3 download page]&lt;br /&gt;
&lt;br /&gt;
== Step Three: Choosing a build ==&lt;br /&gt;
There are two main types of fs2_open builds, at the time of this writing. A &amp;quot;build&amp;quot; is any executable built from source code. Any build may also be a debug build. (Debug builds usually have names that end with &amp;quot;_d&amp;quot; or &amp;quot;_dbg&amp;quot; or somesuch) If you don&#039;t know why you&#039;d want to use a debug build, you&#039;re almost certainly better off not using one.&lt;br /&gt;
&lt;br /&gt;
All builds should be extracted to your main Freespace 2 folder.&lt;br /&gt;
&lt;br /&gt;
=== Official Releases ===&lt;br /&gt;
The first type is the &amp;quot;stable&amp;quot; release build. Depending on the version, there may be some minor bugs that made it into the final release. (In 3.6, you can&#039;t warp out in Very Easy difficulty; in 3.6.5, OGG music, and thus the MediaVP package mv_music, will cause a crash to desktop). However, they are more consistently stable than &amp;quot;recent builds&amp;quot;, as they represent a group effort to get a stable build out, by all coders on the [[FSSCP]].&lt;br /&gt;
&lt;br /&gt;
Additionally, some official release builds are available with installers. It&#039;s a good idea to get the most recent official release, even if you end up deciding to get a recent build anyway.&lt;br /&gt;
&lt;br /&gt;
[http://scp.indiegames.us/download.php?list.8 Official release download page]&lt;br /&gt;
&lt;br /&gt;
=== Recent Builds ===&lt;br /&gt;
Recent Builds are ones that individual coders release. These may be more stable than Official Releases, in some cases. Most of the time they&#039;re released to either test or showcase some particular new feature. If you&#039;re curious about how reliable a build is, your best bet is to check the original thread it was posted in and see what people&#039;s responses were.&lt;br /&gt;
&lt;br /&gt;
[http://scp.indiegames.us/download.php?list.7 Recent builds download page]&lt;br /&gt;
&lt;br /&gt;
== Step Four: Choosing your MediaVPs ==&lt;br /&gt;
&lt;br /&gt;
There are a variety of different [[MediaVP]]s available for download. No matter what system you have, it should be able to support mv_core with no degradation in performance. This will enable a few interface improvements that require extra art.&lt;br /&gt;
&lt;br /&gt;
mv_music should only be used with builds from April 2005 or after. mv_models should not be used on systems that do not support HT&amp;amp;L (video cards such as the TNT2 and below do not support HT&amp;amp;L). mv_adveffects should only be used if you have an extremely high-end system. (In the neighborhood of an X800 or 6800, and with a P4 or AMD64 processor.) The rest of the MediaVPs can be installed as your computer allows. (You may want to download them one at a time after you have configured fs2_open so you can get an idea of how much they will slow fs2_open down)&lt;br /&gt;
&lt;br /&gt;
All mediaVPs go in your main Freespace 2 folder, unless you wish to continue to use the original Freespace 2 executables in the future. (See step six)&lt;br /&gt;
&lt;br /&gt;
[http://scp.indiegames.us/download.php?list.2 MediaVP download page]&lt;br /&gt;
&lt;br /&gt;
== Step Five: Configuring Everything ==&lt;br /&gt;
&lt;br /&gt;
=== Basic setup ===&lt;br /&gt;
&lt;br /&gt;
At this point, you have one final stage remaining before fs2_open is ready to go. Open up the Launcher. (It should be in your main Freespace 2 folder). Select the EXE you&#039;d like to use by clicking the &amp;quot;Browse...&amp;quot; button at the top of the Launcher.&lt;br /&gt;
&lt;br /&gt;
Next, ensure that the &amp;quot;Audio/Joystick&amp;quot; and &amp;quot;Network&amp;quot; tabs have the proper settings. (If you have trouble with your joystick not working properly in fs2_open, you may try the &amp;quot;Force 0&amp;quot; or &amp;quot;Force 1&amp;quot; options, which will force fs2_open to use the first or second joysticks, respectively.&lt;br /&gt;
&lt;br /&gt;
=== Speech setup ===&lt;br /&gt;
&lt;br /&gt;
If you are using Windows XP, or have the Speech API installed, fs2_open will be able to read briefings, techroom descriptions, and even ingame messages to you using computer-generated voices. Although no match for real voice acting, it is convenient when valid plot points are mentioned in the middle of combat. Speech in the various locations can be turned on and off by checking and unchecking the check boxes; you can choose which of the installed voices to use in fs2_open by changing the drop-down menu. As of this writing, fs2_open will only use the voice you choose for everything.&lt;br /&gt;
&lt;br /&gt;
=== Video setup ===&lt;br /&gt;
&lt;br /&gt;
On the &amp;quot;Video&amp;quot; tab, you can choose which API to use (OpenGL or Direct3D), what resolution to run in, and whether to use anti-aliasing (Multisampling) or not. Note that if you&#039;re using an ATI card, with Catalyst drivers above 4.3, shinemaps will not work in Direct3D. However, environment mapping will not work in OpenGL.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Allow non standard modes&amp;quot; will let you choose resoltuions other than 1024x768 and 640x480. There may be some small graphics alignment errors, but these are generally small and virtually unnoticeable.&lt;br /&gt;
&lt;br /&gt;
=== Features setup ===&lt;br /&gt;
&lt;br /&gt;
This tab is where most of fs2_open&#039;s options can be toggled on and off. At the top is a readout of your current command line; you should include this in any debugging reports you make.&lt;br /&gt;
&lt;br /&gt;
The next box, with the buttons &amp;quot;Select mod&amp;quot; and &amp;quot;No mod&amp;quot; allow you to choose a mod directory to use; files in the mod directory will be given precedence over other files, so you can easily switch between mods by installing them to different directories.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Custom flags&amp;quot; allows you to add any command line flags that don&#039;t show up in the Launcher. This may be because they require additional arguments, as is the case with the &amp;quot;-fov&amp;quot; command line argument. For more information, see the [[Command Line Flags]] page.&lt;br /&gt;
&lt;br /&gt;
Finally, the two boxes below this let you toggle the various new features in fs2_open, many of which are graphical improvements. Recommended options for midrange systems are &amp;quot;Enable specular&amp;quot;, &amp;quot;Enable glowmaps&amp;quot;, &amp;quot;Enable jpg,tga textures&amp;quot;, &amp;quot;Enable more realistic lighting&amp;quot;, and &amp;quot;Load only used weapons&amp;quot;. (You may have to choose a different section in the drop-down box to get to some of these days). There are many, many more options, but these should get you started.&lt;br /&gt;
&lt;br /&gt;
== Step Six: (Optional) Preserving Freespace 2 ==&lt;br /&gt;
&lt;br /&gt;
At this point, if you try to start the original Freespace 2 executables, they&#039;ll likely crash at some point or other. To prevent this, do the following:&lt;br /&gt;
&lt;br /&gt;
=== Move the mediaVPs to a mod dir ===&lt;br /&gt;
You can take advantage of the SCP&#039;s -mod feature and move the mediaVPs to a folder inside your main Freespace 2 folder; this folder can be named anything you like, such as &amp;quot;scp&amp;quot; or &amp;quot;mediaVPs&amp;quot;. However, whenever you run Freespace 2, you must remember to  select that folder as the current mod. If you want to play another mod, you must make use of the SCP&#039;s multiple mod feature.&lt;br /&gt;
&lt;br /&gt;
=== Save any existing pilot files ===&lt;br /&gt;
Fs2_open upgraded the pilot files to allow for better mod handling in version 3.6.5. To prevent double entries from showing up, a new, upgraded version of the pilot file is created, and then the old one is deleted. To save your progress, copy all *.plr, *.csg, and *.css files that start with your pilot name. Then, rename the copies so that they&#039;re in the form of &amp;lt;your name&amp;gt;_scp. For example, my player file would be called &amp;quot;WMCoolmon_scp.plr&amp;quot;. Then, only use the &amp;quot;_scp&amp;quot; versions when running fs2_open.&lt;br /&gt;
&lt;br /&gt;
It&#039;s recommended you back up the originals as well, in case you accidentally click on the non-SCP version while in the SCP. (It should warn you that it&#039;s going to destructively convert them, however.)&lt;/div&gt;</summary>
		<author><name>WMCoolmon</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Template:FS12_Ships&amp;diff=288</id>
		<title>Template:FS12 Ships</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Template:FS12_Ships&amp;diff=288"/>
		<updated>2005-06-12T06:12:11Z</updated>

		<summary type="html">&lt;p&gt;WMCoolmon: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;float: right;&amp;quot;&lt;br /&gt;
|[[Image:{{{1}}}]]&lt;br /&gt;
|-&lt;br /&gt;
|{{FS1 Ships}}&lt;br /&gt;
|-&lt;br /&gt;
|{{FS2 Ships}}&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>WMCoolmon</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=GTB_Medusa&amp;diff=220</id>
		<title>GTB Medusa</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=GTB_Medusa&amp;diff=220"/>
		<updated>2005-06-11T23:41:29Z</updated>

		<summary type="html">&lt;p&gt;WMCoolmon: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{FS12 Ships}}&lt;br /&gt;
*&#039;&#039;Type&#039;&#039; - Heavy Bomber&lt;br /&gt;
*&#039;&#039;Manufacturer&#039;&#039; - Han-Roland Corp.&lt;br /&gt;
*&#039;&#039;Manuverablity&#039;&#039; - Poor&lt;br /&gt;
**&#039;&#039;Rotation Damping&#039;&#039; - 0.55&lt;br /&gt;
**&#039;&#039;Max Velocity&#039;&#039; - 0.0, 0.0, 50.0&lt;br /&gt;
**&#039;&#039;Max Oclk Speed&#039;&#039; - 65.0&lt;br /&gt;
**&#039;&#039;Rotation Time&#039;&#039; - 5.0, 4.5, 5.0&lt;br /&gt;
**&#039;&#039;Rear Velocity&#039;&#039; - 0.0&lt;br /&gt;
**&#039;&#039;Forward Acceleration&#039;&#039; - 4.0&lt;br /&gt;
**&#039;&#039;Forward Deceleration&#039;&#039; - 2.0&lt;br /&gt;
**&#039;&#039;Slide Acceleration&#039;&#039; - 0.0&lt;br /&gt;
**&#039;&#039;Slide Deceleration&#039;&#039; - 0.0&lt;br /&gt;
*&#039;&#039;Afterbuner&#039;&#039; - YES&lt;br /&gt;
**&#039;&#039;Max Afterburner Velocity&#039;&#039; - 0.0, 0.0, 100.0&lt;br /&gt;
**&#039;&#039;Afterburner Fuel&#039;&#039; - 300.0&lt;br /&gt;
**&#039;&#039;Afterburner Burn Rate&#039;&#039; - 50.0&lt;br /&gt;
**&#039;&#039;Afterburner Recharge Rate&#039;&#039; - 25.0&lt;br /&gt;
*&#039;&#039;Armor&#039;&#039; - Heavy&lt;br /&gt;
**&#039;&#039;Hitpoints&#039;&#039; - 350&lt;br /&gt;
**&#039;&#039;Shields&#039;&#039; - 700&lt;br /&gt;
*&#039;&#039;Length&#039;&#039; - 36 m&lt;br /&gt;
*&#039;&#039;Gun Mounts&#039;&#039; - 2&lt;br /&gt;
**&#039;&#039;Allowed FS1 Primaries&#039;&#039; - &amp;quot;ML-16 Laser&amp;quot; &amp;quot;Avenger&amp;quot; &amp;quot;Prometheus&amp;quot; &amp;quot;Leech Cannon&amp;quot; &amp;quot;S-Breaker&amp;quot;&lt;br /&gt;
**&#039;&#039;Allowed FS2 Primaries&#039;&#039; - &amp;quot;Subach HL-7&amp;quot; &amp;quot;Prometheus S&amp;quot; &amp;quot;Prometheus R&amp;quot; &amp;quot;Lamprey&amp;quot; &amp;quot;Circe&amp;quot; &amp;quot;Maxim&amp;quot;&lt;br /&gt;
**&#039;&#039;Default FS1 Primaries&#039;&#039; - &amp;quot;Avenger&amp;quot;&lt;br /&gt;
**&#039;&#039;Default FS2 Primaries&#039;&#039; - &amp;quot;Prometheus R&amp;quot;&lt;br /&gt;
**&#039;&#039;Max Weapon Energy&#039;&#039; - 100.0&lt;br /&gt;
*&#039;&#039;Missile Banks&#039;&#039; - 3&lt;br /&gt;
**&#039;&#039;Allowed FS1 Secondaries&#039;&#039; - &amp;quot;MX-50&amp;quot; &amp;quot;Hornet&amp;quot; &amp;quot;Phoenix V&amp;quot; &amp;quot;Stiletto&amp;quot; &amp;quot;Synaptic&amp;quot; &amp;quot;Tsunami&amp;quot; &amp;quot;EM Pulse&amp;quot; &amp;quot;Cluster Bomb&amp;quot;&lt;br /&gt;
**&#039;&#039;Allowed FS2 Secondaries&#039;&#039; - &amp;quot;Rockeye&amp;quot; &amp;quot;Hornet&amp;quot; &amp;quot;Tornado&amp;quot; &amp;quot;Trebuchet&amp;quot; &amp;quot;Stiletto II&amp;quot; &amp;quot;Piranha&amp;quot; &amp;quot;Cyclops&amp;quot; &amp;quot;EMP Adv.&amp;quot; &amp;quot;Infyrno&amp;quot;&lt;br /&gt;
**&#039;&#039;Default FS1 Secondaries&#039;&#039; - &amp;quot;Hornet&amp;quot; &amp;quot;MX-50&amp;quot; &amp;quot;Tsunami&amp;quot;&lt;br /&gt;
**&#039;&#039;Default FS2 Secondaries&#039;&#039; - &amp;quot;Hornet&amp;quot; &amp;quot;Cyclops&amp;quot; &amp;quot;Cyclops&amp;quot;&lt;br /&gt;
**&#039;&#039;Secondary Capacity&#039;&#039; - 40, 80, 80&lt;br /&gt;
*&#039;&#039;Power Output&#039;&#039; - 4.0&lt;br /&gt;
*&#039;&#039;Countermeasures&#039;&#039; - 35&lt;br /&gt;
&lt;br /&gt;
===FS1 Tech Room Description===&lt;br /&gt;
The Medusa is the standard attack bomber in the GTA.  Its strong shielding and large secondary capacity make it the favored attack craft against cruiser class targets.  As the first bomber to carry the Tsunami bomb, the Medusa is considered the staple of any bomber pilots career.&lt;br /&gt;
&lt;br /&gt;
===FS2 Tech Room Description===&lt;br /&gt;
The GTB Medusa is the workhorse of the GTVA&#039;s bomber fleet. Its large bomb capacity enables it to take out cruiser-class warships, while its strong shielding ensures it can get close enough to deliver the punch. The first bomber to carry the potent Cyclops bomb, the Medusa is sure to be one of the highlights of a bomber pilot&#039;s career.&lt;br /&gt;
&lt;br /&gt;
===Developer Notes===&lt;br /&gt;
Suitable for any size target.  Carries most missile types, but few cannons.  Armed with defensive turret, but still requires escort.&lt;br /&gt;
&lt;br /&gt;
===Veteran Comments===&lt;/div&gt;</summary>
		<author><name>WMCoolmon</name></author>
	</entry>
	<entry>
		<id>https://wiki.hard-light.org/index.php?title=Template:FS12_Ships&amp;diff=229</id>
		<title>Template:FS12 Ships</title>
		<link rel="alternate" type="text/html" href="https://wiki.hard-light.org/index.php?title=Template:FS12_Ships&amp;diff=229"/>
		<updated>2005-06-11T23:41:17Z</updated>

		<summary type="html">&lt;p&gt;WMCoolmon: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| style=&amp;quot;float: right;&amp;quot;&lt;br /&gt;
|{{FS1 Ships}}&lt;br /&gt;
|-&lt;br /&gt;
|{{FS2 Ships}}&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>WMCoolmon</name></author>
	</entry>
</feed>