Difference between revisions of "Ships.tbl"
m ("fewer" -- missiles are countable) |
Goober5000 (talk | contribs) m (formal tweak and spelling fix) |
||
(58 intermediate revisions by 11 users not shown) | |||
Line 1: | Line 1: | ||
− | {{TableVersionGit| | + | {{TableVersionGit|2022-10-07 UTC|0dfed6de4be6747fcbcf9c35f8c35996d9d7259b}} |
{{Tables}} | {{Tables}} | ||
The '''ships.tbl''' defines all the ship classes used in FSO. | The '''ships.tbl''' defines all the ship classes used in FSO. | ||
This table is one of the [[Modular Tables]] and can be extended with xxx-shp.tbm | This table is one of the [[Modular Tables]] and can be extended with xxx-shp.tbm | ||
+ | |||
+ | See the article [[Subsystem]] for ship table information that is specific to subsystems. | ||
+ | |||
==General Format== | ==General Format== | ||
Line 42: | Line 45: | ||
===+nocreate=== | ===+nocreate=== | ||
{{Table3610| | {{Table3610| | ||
− | *In [[Modular Tables]] name can be followed by line '''+nocreate''' | + | *In [[Modular Tables]] a name can be followed by the line '''+nocreate''' to prevent the game from creating an incomplete entry with very few valid fields. If the entry does not already exist (either in ships.tbl or in earlier parsed *-shp.tbm files), the modular entry is skipped.}} |
+ | ===+remove=== | ||
+ | {{Table210| | ||
+ | *In [[Modular Tables]] a name can be followed by the line '''+remove''' to completely remove a previously parsed entry.}} | ||
===$Angle:=== | ===$Angle:=== | ||
Line 111: | Line 117: | ||
*Syntax: '''''String''''', name of the template}} | *Syntax: '''''String''''', name of the template}} | ||
+ | ===+Use Ship as Template:=== | ||
+ | {{Table232| | ||
+ | *Creates a copy of the specified ship to use as a base for this ship. | ||
+ | *'''''Caution!''''' This is highly dependent on the order the tables are loaded. If the ship used as a template is modified using <tt>+nocreate</tt>, the tabled changes will only be applied to the newly created ship if they are loaded ''before'' <tt>+Use Ship as Template</tt>. Any <tt>+nocreate</tt> changes ''after'' <tt>+Use Ship as Template</tt> will not have any effect on the newly created ship class. Thus, proper templates should be preferred if possible. | ||
+ | *Cannot be used in conjunction with <tt>+Use Template</tt>. | ||
+ | *Syntax: '''''String''''', name of the ship class to use as a template}} | ||
===$Alt Name:=== | ===$Alt Name:=== | ||
{{Table3613| | {{Table3613| | ||
− | *Alternative $Name: for the ship. | + | *Alternative $Name: for the ship. Used to rename ships without breaking missions. |
*Syntax: '''''String''''', Alternate $Name:}} | *Syntax: '''''String''''', Alternate $Name:}} | ||
− | |||
===$Short name:=== | ===$Short name:=== | ||
Line 191: | Line 202: | ||
{{Table3610|*Filename of the cockpit model file | {{Table3610|*Filename of the cockpit model file | ||
*Syntax: '''''String.pof''''', model filename}} | *Syntax: '''''String.pof''''', model filename}} | ||
+ | |||
+ | ===$Cockpit Animations:=== | ||
+ | {{Table230| | ||
+ | *Allows specifying animations that only run on the cockpit model of a ship | ||
+ | *See [[#$Animations:|$Animations]] | ||
+ | *Syntax: '''''( "String" "String" )''''', names of the animations for this ship, as defined in the Animation.tbl | ||
+ | **Example: ( "wingflap" "docksequence" ) | ||
+ | }} | ||
+ | |||
+ | ===$Driven Cockpit Animations:=== | ||
+ | {{Table242| | ||
+ | *See [[Animation_Drivers#Parsing (+Driver Set:)]] | ||
+ | *Driven cockpit animations '''are not''' compatible with $Cockpit Animations! If you need cockpit animations without drivers, create a driver set that has no driver and list all animations in it's +Affected Animations: | ||
+ | }} | ||
+ | |||
+ | ===$Cockpit Moveables:=== | ||
+ | {{Table230| | ||
+ | *Allows specifying moveables that only run on the cockpit model of a ship | ||
+ | *See [[#$Moveables:|$Moveables]] | ||
+ | *Syntax: '''''( "String" "String" )''''', names of the moveable animations for this ship, as defined in the Animation.tbl | ||
+ | **Example: ( "wingflap" "docksequence" ) | ||
+ | }} | ||
===+Cockpit Offset:=== | ===+Cockpit Offset:=== | ||
Line 429: | Line 462: | ||
}} | }} | ||
+ | ===$Gravity Const:=== | ||
+ | {{Table224| | ||
+ | **If the mission has gravity, this is the multiplier applied to acceleration from gravity on the ship. | ||
+ | **Note that due to the exponential damping from $Damp, the acceleration from gravity will eventually even out with $Damp and result in a constant velocity in the direction of gravity. | ||
+ | **Syntax: '''''Float'''''}} | ||
+ | |||
+ | ===$Dying Gravity Const:=== | ||
+ | {{Table224| | ||
+ | **Same as above, but while ths ship is dying/in death roll. | ||
+ | **The aforementioned exponential damp is still in effect during this time, but it is weaker. | ||
+ | **Syntax: '''''Float''''' | ||
+ | **Default: The same as $Gravity Const:}} | ||
===$Debris:=== | ===$Debris:=== | ||
Line 467: | Line 512: | ||
**Defaults to 50%. | **Defaults to 50%. | ||
**Syntax: '''''Float,''' 0-100}} | **Syntax: '''''Float,''' 0-100}} | ||
+ | {{Table224| | ||
+ | *'''+Debris Gravity Const:''' | ||
+ | **If the mission has gravity, this is the multiplier applied to acceleration from gravity on the ship's debris. | ||
+ | **Syntax: '''''Float''''' | ||
+ | **Default: The same as $Dying Gravity Const}} | ||
+ | {{Table232| | ||
+ | *'''+Debris Density:''' | ||
+ | **Same as [[Ship.tbl#$Density:|Density]] but only applied to the ship's debris. | ||
+ | **Syntax: '''''Float''''' | ||
+ | **Default: 1.0}} | ||
{{Table202| | {{Table202| | ||
*'''+Ambient Sound:''' | *'''+Ambient Sound:''' | ||
− | **The sound played in the vicinity of debris. | + | **The sound played in the vicinity of debris.}} |
− | }} | + | {{Table212| |
− | + | *'''+Generic Debris POF file:''' | |
+ | **The filename of the ship's generic debris, by default debris01.pof. | ||
+ | **Big or huge ships do not normally have generic debris, but if this is specified for them, they will generate generic debris on explosion. | ||
+ | **Syntax: '''''String''' | ||
+ | *'''+Generic Debris Spew Num:''' | ||
+ | **How many generic debris fragments to generate when the ship explodes. | ||
+ | **If this is a big or huge ship, this is the number of generic debris fragments to generate for every individual propagating explosion. | ||
+ | **Syntax: '''''Integer''' | ||
+ | **Default: ''20''}} | ||
===$Density:=== | ===$Density:=== | ||
− | * | + | *Multiplies the mass and moment of inertia of the relevant ship. |
+ | *Ships with a high mass and moment of inertia will be moved/rotated by collisions and impacts less strongly. | ||
*Syntax: '''''Float''''', usually 1. Must not be 0. | *Syntax: '''''Float''''', usually 1. Must not be 0. | ||
Line 559: | Line 623: | ||
====+Max Glide Speed:==== | ====+Max Glide Speed:==== | ||
{{Table3610| | {{Table3610| | ||
− | *Defines the maximum glide speed if glide has been enabled. If 0, this is set to the fastest speed the ship can go. If negative, there is no glide cap (allowing practically infinite maximum gliding speed) | + | *Defines the maximum glide speed if glide has been enabled. If 0, this is set to the fastest speed the ship can go. |
− | *Syntax: '''''Float'''''}} | + | *If negative, there is no glide cap (allowing practically infinite maximum gliding speed), but only for the player, the AI will act as though it is still 0. |
+ | *Syntax: '''''Float''''' | ||
+ | *Defaults to 0.}} | ||
Line 593: | Line 659: | ||
*Defines the minimum distance for the convergence}} | *Defines the minimum distance for the convergence}} | ||
+ | ===+Primary Bank Autoaim FOV:=== | ||
+ | {{Table232| | ||
+ | *Defines the autoaim for the primary bank. | ||
+ | *Can be listed once for each existing bank on the ship. | ||
+ | *Syntax: '''''Float'''''}} | ||
+ | |||
+ | ===$Aims at Flight Cursor:=== | ||
+ | {{Table242| | ||
+ | *Enables flight cursor-style flying for the ship, and causes the ship to fire in the direction of the cursor. | ||
+ | *'''Note:''' Only works for players! AI may need a system like autoaim to mimic it. | ||
+ | *Syntax: '''''Boolean'''''}} | ||
+ | |||
+ | ===+Extent:=== | ||
+ | {{Table242| | ||
+ | *Required if the above is true. | ||
+ | *How many degrees away from the center the player is allowed to shoot, using the flight cursor. | ||
+ | *Syntax: '''''Float''''', degrees}} | ||
===$Convergence:=== | ===$Convergence:=== | ||
Line 631: | Line 714: | ||
::*''BTRL'' was replaced with ''Galactica'' after 3.6.10}} | ::*''BTRL'' was replaced with ''Galactica'' after 3.6.10}} | ||
{{Table3610| | {{Table3610| | ||
+ | :*''[Fireball Unique ID]'' - Uses the default mechanics but replaces the portal effect with the identified fireball. | ||
*Syntax: '''''String'''''}} | *Syntax: '''''String'''''}} | ||
Line 677: | Line 761: | ||
*Defines the animation used for the Homeworld warpin effect. Has no effect for other warpin types. | *Defines the animation used for the Homeworld warpin effect. Has no effect for other warpin types. | ||
*Syntax: '''''String''''', filename}} | *Syntax: '''''String''''', filename}} | ||
+ | |||
+ | |||
+ | ===$Supercap warpin physics:=== | ||
+ | {{Table234| | ||
+ | *Specifies whether this ship should use supercap deceleration when arriving, similar to the Colossus. Can also disable supercap deceleration on a ship that normally has it. | ||
+ | *Syntax: '''''Boolean'''''}} | ||
+ | |||
===$Warpout Type:=== | ===$Warpout Type:=== | ||
Line 692: | Line 783: | ||
::*''BTRL'' was replaced with ''Galactica'' after 3.6.10}} | ::*''BTRL'' was replaced with ''Galactica'' after 3.6.10}} | ||
{{Table3610| | {{Table3610| | ||
+ | :*''[Fireball Unique ID]'' - Uses the default mechanics but replaces the portal effect with the identified fireball. | ||
*Syntax: '''''String'''''}} | *Syntax: '''''String'''''}} | ||
Line 746: | Line 838: | ||
*Defines the animation used as the warpout effect. | *Defines the animation used as the warpout effect. | ||
*Syntax: '''''String''''', filename}} | *Syntax: '''''String''''', filename}} | ||
+ | |||
+ | |||
+ | ===$Supercap warpout physics:=== | ||
+ | {{Table234| | ||
+ | *Specifies whether this ship should use special physics when departing, as a complement to $Supercap warpin physics. Currently has no effect. | ||
+ | *Syntax: '''''Boolean'''''}} | ||
Line 781: | Line 879: | ||
===$Expl Splits Ship:=== | ===$Expl Splits Ship:=== | ||
{{Table202| | {{Table202| | ||
− | *Whether the ship splits in two and slowly explodes outward towards | + | *Whether the ship splits in two and slowly explodes outward towards its front and back, or just immediately explodes into debris. |
*Syntax: '''''Boolean''''', yes or no, defaults to the value of '$Expl Propagates:' above}} | *Syntax: '''''Boolean''''', yes or no, defaults to the value of '$Expl Propagates:' above}} | ||
Line 937: | Line 1,035: | ||
===$Vaporize Percent Chance:=== | ===$Vaporize Percent Chance:=== | ||
{{Table3611| | {{Table3611| | ||
− | *Allows ships to sometimes explode instantly | + | *Allows ships to sometimes explode instantly instead of going through a death roll first. Overrides the same flag in [[objecttypes.tbl]]. Note that this option is misleadingly named; "vaporization" usually refers to a ship exploding into tiny debris shards rather than hull chunks. |
− | *Syntax: '''''Float''''', percent chance of | + | *Syntax: '''''Float''''', percent chance of instant explosion, 0 to 100}} |
+ | {{Table240|In version 24.0 and later, '''$Skip Death Roll Percent Chance:''' can be used as a more accurate alternative.}} | ||
Line 967: | Line 1,066: | ||
*Defines the name of the animation to used for the 2D shockwave | *Defines the name of the animation to used for the 2D shockwave | ||
*Syntax: '''''String''''', filename}} | *Syntax: '''''String''''', filename}} | ||
+ | |||
+ | |||
+ | ===$Shockwave Sound:=== | ||
+ | {{Table202| | ||
+ | Optional sound to be used for the sound heard when for the ship explosion shockwave (default is sound 109). | ||
+ | *Syntax: '''''Integer''''' or '''''String''''', name or identification number of the sound as defined in [[sounds.tbl]] | ||
+ | }} | ||
Line 995: | Line 1,101: | ||
*Syntax: '''''( "String" "String" )''''', names of the weapons | *Syntax: '''''( "String" "String" )''''', names of the weapons | ||
{{Table3610| | {{Table3610| | ||
− | *Each of the primary weapon dogfight banks '''can optionally''' be given their own list of allowed weapons, in which case each bank has | + | *Each of the primary weapon dogfight banks '''can optionally''' be given their own list of allowed weapons, in which case each bank has its own bracketed entry. |
*Syntax: '''''( "String" "String" ) ( "String" "String" )'''''}} | *Syntax: '''''( "String" "String" ) ( "String" "String" )'''''}} | ||
Line 1,023: | Line 1,129: | ||
*Syntax: '''''( "String" "String" )''''', names of the weapons | *Syntax: '''''( "String" "String" )''''', names of the weapons | ||
{{Table3610| | {{Table3610| | ||
− | *Each of the secondary weapon banks can be given their own list of allowed weapons, in which case each bank has | + | *Each of the secondary weapon banks can be given their own list of allowed weapons, in which case each bank has its own bracketed entry. |
*Syntax: '''''( "String" "String" ) ( "String" "String" )'''''}} | *Syntax: '''''( "String" "String" ) ( "String" "String" )'''''}} | ||
Line 1,031: | Line 1,137: | ||
*Syntax: '''''( "String" "String" )''''', names of the weapons | *Syntax: '''''( "String" "String" )''''', names of the weapons | ||
{{Table3610| | {{Table3610| | ||
− | *Each of the secondary weapon dogfight banks can be given their own list of allowed weapons, in which case each bank has | + | *Each of the secondary weapon dogfight banks can be given their own list of allowed weapons, in which case each bank has its own bracketed entry. |
*Syntax: '''''( "String" "String" ) ( "String" "String" )'''''}} | *Syntax: '''''( "String" "String" ) ( "String" "String" )'''''}} | ||
Line 1,121: | Line 1,227: | ||
===$Power Output:=== | ===$Power Output:=== | ||
− | *Actually does *NOTHING* unless set to zero; in which case weapon/shield/burner energy regeneration is disabled. Checked via code inspection 2014 | + | *Actually does *NOTHING* unless set to zero; in which case weapon/shield/burner energy regeneration is disabled. Checked via code inspection 2014-12-29 |
*Syntax: '''''Float''''' | *Syntax: '''''Float''''' | ||
Line 1,131: | Line 1,237: | ||
*Affected by ETS Shields value (1/3rd value recharged per sec at default ETS setting of '4') | *Affected by ETS Shields value (1/3rd value recharged per sec at default ETS setting of '4') | ||
*Affected by AI Profile Setting: $Player Shield Recharge Scale:}} | *Affected by AI Profile Setting: $Player Shield Recharge Scale:}} | ||
+ | |||
+ | ===+Shield Regen Hit Delay:=== | ||
+ | {{Table214| | ||
+ | *Specifies a time delay after being hit by a weapon before the shield may begin regenerating again. | ||
+ | *Syntax: '''''Float''''', seconds}} | ||
===$Support Shield Repair Rate:=== | ===$Support Shield Repair Rate:=== | ||
Line 1,145: | Line 1,256: | ||
*Affected by ETS Guns value (1/3rd value recharged per sec at default ETS setting of '4') | *Affected by ETS Guns value (1/3rd value recharged per sec at default ETS setting of '4') | ||
*Affected by AI Profile Setting: $Player Weapon Recharge Scale:}} | *Affected by AI Profile Setting: $Player Weapon Recharge Scale:}} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
===$Shield to Weapon Transfer Quantity:=== | ===$Shield to Weapon Transfer Quantity:=== | ||
Line 1,184: | Line 1,284: | ||
{{Table202|As above, but with the transfer direction reversed.}} | {{Table202|As above, but with the transfer direction reversed.}} | ||
+ | |||
+ | ===$Max Oclk Speed:=== | ||
+ | *Can also be '''$Max Overclock Speed:''' | ||
+ | *Maximum velocity with all energy diverted to engines | ||
+ | *Syntax: '''''Float''''', meters per second | ||
+ | |||
+ | |||
+ | ===$Max Weapon Eng:=== | ||
+ | *Can also be '''$Max Weapon Energy:''' | ||
+ | *The maximum amount of energy you can store in your primary weapons bank. | ||
+ | *Syntax: '''''Float''''' | ||
===$Hitpoints:=== | ===$Hitpoints:=== | ||
Line 1,194: | Line 1,305: | ||
{{Table3610| | {{Table3610| | ||
*Repair rates for hull at percent per second | *Repair rates for hull at percent per second | ||
− | *Syntax: '''''Float''''', | + | *Syntax: '''''Float''''', percentage of hitpoints repaired per second}} |
+ | ===$Hull Self Repair Maximum:=== | ||
+ | {{Table220| | ||
+ | *Maximum percentage of total hull strength that the hull will self-repair to. | ||
+ | *Syntax: '''''Float''''', percentage of hull hitpoints}} | ||
===$Support Hull Repair Rate:=== | ===$Support Hull Repair Rate:=== | ||
Line 1,208: | Line 1,323: | ||
*Syntax: ''Value'', percentage of total subsystem hitpoints repaired per second}} | *Syntax: ''Value'', percentage of total subsystem hitpoints repaired per second}} | ||
+ | ===$Subsystem Self Repair Maximum:=== | ||
+ | {{Table220| | ||
+ | *Maximum percentage of total subsystem strength that subsystems will self-repair to. | ||
+ | *Syntax: '''''Float''''', percentage of subsystems hitpoints}} | ||
===$Support Subsystem Repair Rate:=== | ===$Support Subsystem Repair Rate:=== | ||
Line 1,287: | Line 1,406: | ||
*Texture used to draw the afterburner trail | *Texture used to draw the afterburner trail | ||
*Syntax: '''''String''''', filename | *Syntax: '''''String''''', filename | ||
+ | {{Table212| | ||
+ | =====+Bitmap Stretch:===== | ||
+ | *Multiplies how far the bitmap is stretched over each trail segment. | ||
+ | *Syntax: '''''Float''''' | ||
+ | **Default:''1''}} | ||
=====+Width:===== | =====+Width:===== | ||
*Width of afterburner trail at the beginning of it (ie. the thruster end) | *Width of afterburner trail at the beginning of it (ie. the thruster end) | ||
Line 1,293: | Line 1,417: | ||
*Transparancy of the trail, value from 1 (non-transparent) to 0 (totally transparent) | *Transparancy of the trail, value from 1 (non-transparent) to 0 (totally transparent) | ||
*Syntax: '''''Float''''' | *Syntax: '''''Float''''' | ||
+ | {{Table212| | ||
+ | =====+Alpha Decay Exponent:===== | ||
+ | *Causes the trail to fade away non-linearly. The 0 -> 1 progress through the trail's life is taken to the power of the provided number when being used for trail alpha purposes | ||
+ | *Smaller numbers below 1 cause the trail to fade away very slowly at first, and then suddenly at the end. Larger numbers above 1 cause it to fade away quickly at first, and then slow down for most of its life. | ||
+ | *Syntax: '''''Float''''', positive | ||
+ | **Default:''1''}} | ||
=====+Life:===== | =====+Life:===== | ||
*How long the trail will last | *How long the trail will last | ||
Line 1,332: | Line 1,462: | ||
*Distance at which the ship can scan capital (& similar size) ships | *Distance at which the ship can scan capital (& similar size) ships | ||
*Syntax: '''''Float''''', distance | *Syntax: '''''Float''''', distance | ||
+ | }} | ||
+ | |||
+ | ===$Scanning time multiplier:=== | ||
+ | {{Table220| | ||
+ | *A factor to apply to scan time when this ship is doing the scanning | ||
+ | *Syntax: '''''Float''''' | ||
+ | }} | ||
+ | |||
+ | ===$Scanning range multiplier:=== | ||
+ | {{Table220| | ||
+ | *A factor to apply to scan distance when this ship is doing the scanning | ||
+ | *Syntax: '''''Float''''' | ||
}} | }} | ||
Line 1,356: | Line 1,498: | ||
*Note: Default behavior is to ramp the multiplier from 0.5 (when ship is stationary) to 1.0 (when ship is at half speed or more). | *Note: Default behavior is to ramp the multiplier from 0.5 (when ship is stationary) to 1.0 (when ship is at half speed or more). | ||
*Syntax: '''''Float''''', volume multiplier, usually you'll want a value between 0.0 and 1.0 | *Syntax: '''''Float''''', volume multiplier, usually you'll want a value between 0.0 and 1.0 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
}} | }} | ||
Line 1,373: | Line 1,509: | ||
{{Table3613| | {{Table3613| | ||
*Optional sound to be used when exiting glide mode, instead of the default throttle up sound. | *Optional sound to be used when exiting glide mode, instead of the default throttle up sound. | ||
+ | *Syntax: '''''Integer''''' or '''''String''''', name or identification number of the sound as defined in [[sounds.tbl]] | ||
+ | }} | ||
+ | |||
+ | ===$Flyby Sound=== | ||
+ | {{Table382| | ||
+ | *Optional sound to be used for the fly-by sound | ||
*Syntax: '''''Integer''''' or '''''String''''', name or identification number of the sound as defined in [[sounds.tbl]] | *Syntax: '''''Integer''''' or '''''String''''', name or identification number of the sound as defined in [[sounds.tbl]] | ||
}} | }} | ||
Line 1,549: | Line 1,691: | ||
*Specifies how high the camera is above the center point of a ship in topdown camera views, or 2D missions. | *Specifies how high the camera is above the center point of a ship in topdown camera views, or 2D missions. | ||
*Syntax: '''''Float''''', meters}} | *Syntax: '''''Float''''', meters}} | ||
+ | |||
+ | |||
+ | ===$Chase View Offset:=== | ||
+ | {{Table214| | ||
+ | *Specifies a custom camera position when the ship is being viewed in the chase camera. | ||
+ | *Syntax: '''''Vector''''', three '''floats''', x, y and z values respectively in meters}} | ||
+ | |||
+ | |||
+ | ===$Chase View Rigidity:=== | ||
+ | {{Table214| | ||
+ | *Specifies how 'rigidly' the camera adheres to the 'rest' position of the chase view camera when doing maneuvers or changing speed. | ||
+ | *Syntax: '''''Float''''' | ||
+ | ** Defaults to 5.0.}} | ||
Line 1,584: | Line 1,739: | ||
*Ship model is used by default to generate the image.}} | *Ship model is used by default to generate the image.}} | ||
**Syntax: '''''String''''', filename | **Syntax: '''''String''''', filename | ||
+ | |||
+ | |||
+ | {{Table214| | ||
+ | ===$Wingmen Gauge Dot Override:=== | ||
+ | *(Optional) Defines an animation to use for the dots in the wingmen status gauge. Overrides 'Dot Filename:' under the '+Wingman Status:' entry in [[Hud_gauges.tbl#.2BWingman_Status:|Hud_gauges.tbl]] | ||
+ | *Must be an animation with two frames. | ||
+ | *Syntax: '''''String''''', filename | ||
+ | }} | ||
Line 1,758: | Line 1,921: | ||
*The opacity of the contrail's tail | *The opacity of the contrail's tail | ||
*Syntax: '''''Float''''', value between 0 and 1 | *Syntax: '''''Float''''', value between 0 and 1 | ||
+ | {{Table212| | ||
+ | ====+Alpha Decay Exponent:==== | ||
+ | *Causes the trail to fade away non-linearly. The 0 -> 1 progress through the trail's life is taken to the power of the provided number when being used for trail alpha purposes | ||
+ | *Smaller numbers below 1 cause the trail to fade away very slowly at first, and then suddenly at the end. Larger numbers above 1 cause it to fade away quickly at first, and then slow down for most of its life. | ||
+ | *Syntax: '''''Float''''', positive | ||
+ | **Default:''1''}} | ||
====+Max Life:==== | ====+Max Life:==== | ||
*How long the contrail remains | *How long the contrail remains | ||
Line 1,771: | Line 1,940: | ||
*The image to use for the contrail. | *The image to use for the contrail. | ||
*Syntax: '''''String''''', filename | *Syntax: '''''String''''', filename | ||
+ | {{Table212| | ||
+ | ====+Bitmap Stretch:==== | ||
+ | *Multiplies how far the bitmap is stretched over each trail segment. | ||
+ | *Syntax: '''''Float''''' | ||
+ | **Default:''1''}} | ||
{{Table3611| | {{Table3611| | ||
====+Faded Out Sections:==== | ====+Faded Out Sections:==== | ||
Line 1,783: | Line 1,957: | ||
**Syntax: '''''Integer''''' | **Syntax: '''''Integer''''' | ||
*'''+Used For:''' | *'''+Used For:''' | ||
+ | {{Table230| | ||
+ | **This field may be omitted, and the activation of the thruster will be calculated automatically based on its position and direction. | ||
+ | }} | ||
**Defines the maneuver that triggers the maneuvering thruster | **Defines the maneuver that triggers the maneuvering thruster | ||
**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 | **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 | ||
+ | ***THESE NAMES MAY BE MISLEADING FOR YOU. | ||
+ | ***'Roll left' and 'Roll right' are actually yaw, activated when the ship rotates around its top-bottom axis. | ||
+ | ***'Bank left' and 'Bank right' are actually roll, activated when the ship rotates around its front-back axis. | ||
+ | {{Table232| | ||
+ | ***'Yaw left' and 'Yaw right' are now valid strings for this field. 'Roll left' and 'Roll right' are still recognized for compatibility. | ||
+ | }} | ||
**Syntax: '''''("String" "String")''''' | **Syntax: '''''("String" "String")''''' | ||
+ | **Allows one or more strings, does not have a set limit. | ||
*'''+Position:''' | *'''+Position:''' | ||
**Defines thruster location | **Defines thruster location | ||
Line 1,811: | Line 1,995: | ||
**Syntax: '''''Integer''''' or '''''String''''', name or identification number of the sound as defined in [[sounds.tbl]]}} | **Syntax: '''''Integer''''' or '''''String''''', name or identification number of the sound as defined in [[sounds.tbl]]}} | ||
− | ===$Radar Image 2D:=== | + | ===$Glowpoint overrides:=== |
+ | {{Table373| | ||
+ | *Creates a point that casts light onto ships and objects with the source being a glowpoint defined in the model file. | ||
+ | *Syntax: '''''( "String:Integer" )''''' | ||
+ | *String refers to name in [[glowpoints.tbl]] | ||
+ | *Essentially, [Name_of_glowpoint_override_in_glowpoints.tbl]:[Bank_in_POF]. If there is no override entry then the game will not generate a light. If you have multiple banks that use the same override, use a comma if they are not in order (2,4,7) and use a dash if they are in order (3-5 yields 3, 4, and 5). | ||
+ | **Example: '''$Glowpoint overrides: ( "teal_glow_10:1" "red_glow:2,3" "white_glow_10:4" "red_glow_10:5" "green_glow_10:6")''' | ||
+ | }} | ||
+ | |||
+ | ===$Radar Image 2D:=== | ||
{{Table3611| | {{Table3611| | ||
*Defines the bitmap used to represent the ship on the radar screen. | *Defines the bitmap used to represent the ship on the radar screen. | ||
Line 1,826: | Line 2,019: | ||
**Defines the multiplier used for blip size on the 3D radar. | **Defines the multiplier used for blip size on the 3D radar. | ||
**Syntax: '''''Float'''''}} | **Syntax: '''''Float'''''}} | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
===$Ship IFF Colors:=== | ===$Ship IFF Colors:=== | ||
Line 1,875: | Line 2,059: | ||
*Syntax: '''''String''''', name of the path as defined in the ship POF file. | *Syntax: '''''String''''', name of the path as defined in the ship POF file. | ||
**Example: '''$Path Metadata: $Bay01''' | **Example: '''$Path Metadata: $Bay01''' | ||
+ | {{Table220| | ||
+ | ====+arrival rvec:==== | ||
+ | *When using this path to arrive via fighterbay, the arriving ship will rotate to align itself with this rvec (so the right side of the ship is pointing in this direction). Only affects paths used to arrive via fighterbay. | ||
+ | *Syntax: '''''Vector''''', three '''floats''', x-axis, y-axis, z-axis, respectively}} | ||
====+departure rvec:==== | ====+departure rvec:==== | ||
− | When using this path to depart via fighterbay, the departing ship will rotate to align itself with this rvec (so the right side of the ship is pointing in this direction). Only affects paths used to depart via fighterbay. | + | *When using this path to depart via fighterbay, the departing ship will rotate to align itself with this rvec (so the right side of the ship is pointing in this direction). Only affects paths used to depart via fighterbay. |
+ | *Syntax: '''''Vector''''', three '''floats''', x-axis, y-axis, z-axis, respectively | ||
====+arrive speed multiplier:==== | ====+arrive speed multiplier:==== | ||
{{Table373| | {{Table373| | ||
Line 1,888: | Line 2,077: | ||
}} | }} | ||
}} | }} | ||
+ | |||
+ | ===$Passive Lightning Arcs:=== | ||
+ | {{Table220| | ||
+ | *Creates a 'lightning arc' between two points on the ship's hull, like when the ship is EMP'd or damaged, but naturally and fixed to two points on the ship. | ||
+ | *This section can be repeated. | ||
+ | *'''All subfields are required''' | ||
+ | ====+Submodel 1:==== | ||
+ | *The name of the name of the submodel the first end is connected to. | ||
+ | *Note that the arc will ''not'' move along with a submodel while it is animating (but it will be initially created in the correct position). In the case of an animating submodel, it is recommended to use very short durations/frequencies. | ||
+ | **Syntax: '''''String''''' | ||
+ | ====+Position 1:==== | ||
+ | *The position on the ship this end is attached to, relative to the origin of the entire ship. | ||
+ | **Syntax: '''''Vector''''', three '''floats''', x-axis, y-axis, z-axis, respectively | ||
+ | ====+Submodel 2:==== | ||
+ | ====+Position 2:==== | ||
+ | *The same as the above for the other end of the arc. | ||
+ | ====+Duration:==== | ||
+ | *How long the arc persists while active. | ||
+ | **Syntax: '''''Float''''', seconds | ||
+ | ====+Frequency:==== | ||
+ | *How long after creating an arc it should wait before creating another. | ||
+ | **Syntax: '''''Float''''', seconds}} | ||
+ | {{Table224| | ||
+ | ====+Primary color 1:==== | ||
+ | *The first primary color of the arc, chosen randomly between color 1 and 2. | ||
+ | **Syntax: three '''''Integers''''', 0-255 | ||
+ | ====+Primary color 2:==== | ||
+ | *The second primary color of the arc, chosen randomly between color 1 and 2. | ||
+ | **Syntax: three '''''Integers''''', 0-255 | ||
+ | ====+Secondary color:==== | ||
+ | *The secondary color of the arc. This is the inner color, usually close to white. | ||
+ | **Syntax: three '''''Integers''''', 0-255}} | ||
+ | |||
+ | ===$Animations:=== | ||
+ | {{Table220| | ||
+ | *The new way of specifying triggered animations, replacing the subsystem-based definitions | ||
+ | *See [[Animation.tbl]] | ||
+ | *Syntax: '''''( "String" "String" )''''', names of the animations for this ship, as defined in the Animation.tbl | ||
+ | **Example: ( "wingflap" "docksequence" ) | ||
+ | }} | ||
+ | |||
+ | ===$Driven Animations:=== | ||
+ | {{Table240| | ||
+ | *See [[Animation_Drivers#Parsing (+Driver Set:)]] | ||
+ | *Driven animations '''are not''' compatible with $Animations! If you need animations without drivers, create a driver set that has no driver and list all animations in it's +Affected Animations: | ||
+ | }} | ||
+ | |||
+ | ===$Animation Moveables:=== | ||
+ | {{Table220| | ||
+ | *Like $Animations: but for specific in-mission adjustable moveable animations. | ||
+ | *See [[Animation.tbl]] | ||
+ | *Syntax: '''''( "String" "String" )''''', names of the moveable animations for this ship, as defined in the Animation.tbl | ||
+ | **Example: ( "wingflap" "docksequence" ) | ||
+ | }} | ||
+ | |||
+ | ===$Custom data:=== | ||
+ | {{Table220| | ||
+ | Defines a set of custom data that for this ship class, which can then be accessed through Lua scripts. There can be any amount of +Val: entries. It requires a $end_custom_data entry at the end. | ||
+ | Check the scripting documentation of Ship Class to find the CustomData Lua Table. | ||
+ | ====+Val:==== | ||
+ | |||
+ | Specifies a custom data value and its name, in the format | ||
+ | |||
+ | +Val: Name Value | ||
+ | |||
+ | These values will always be strings of text. If you use them in Lua as other types of value, you might need to convert them in the script. | ||
+ | ====$end_custom_data==== | ||
+ | |||
+ | Mandatory entry to indicate that the Custom Data list has ended. }} | ||
===$Subsystem<nowiki>:</nowiki>=== | ===$Subsystem<nowiki>:</nowiki>=== | ||
Line 1,901: | Line 2,159: | ||
==="player_ship"=== | ==="player_ship"=== | ||
*Makes it possible for the player to fly the ship | *Makes it possible for the player to fly the ship | ||
+ | |||
==="default_player_ship"=== | ==="default_player_ship"=== | ||
Line 1,907: | Line 2,166: | ||
---- | ---- | ||
− | |||
===Ship Type=== | ===Ship Type=== | ||
*Flags in this section are used to define the type of the ship | *Flags in this section are used to define the type of the ship | ||
Line 1,915: | Line 2,173: | ||
− | ===="repair_rearm" | + | ===="repair_rearm" or "support"==== |
− | |||
− | |||
− | |||
− | |||
*Defines the ship as repair and rearm vessel and sets AI behaviour accordingly | *Defines the ship as repair and rearm vessel and sets AI behaviour accordingly | ||
− | |||
Line 1,953: | Line 2,206: | ||
*When using the "Knossos" warpout, this ship will aim for the center of the portal | *When using the "Knossos" warpout, this ship will aim for the center of the portal | ||
− | |||
− | |||
− | + | ===="supercap" or "super cap"==== | |
− | ===="super cap"==== | ||
*Defines ship as a super capital ship and also sets the AI behaviour | *Defines ship as a super capital ship and also sets the AI behaviour | ||
*The following things are true for all ships with this flag: | *The following things are true for all ships with this flag: | ||
Line 1,967: | Line 2,217: | ||
**The ship does not need to ramp up to warpout speed before entering subspace | **The ship does not need to ramp up to warpout speed before entering subspace | ||
**When using the "Knossos" warpout, the ship will aim for a departure point at the center of the Knossos portal | **When using the "Knossos" warpout, the ship will aim for a departure point at the center of the Knossos portal | ||
+ | |||
===="drydock"==== | ===="drydock"==== | ||
Line 1,981: | Line 2,232: | ||
− | ===="sentrygun" | + | ===="sentrygun" or "sentry gun"==== |
− | |||
− | |||
− | |||
− | |||
*Defines ship as a sentrygun and also sets the AI behaviour | *Defines ship as a sentrygun and also sets the AI behaviour | ||
*In FS1/FS2 ships that are marked with this flag cannot accept any player orders | *In FS1/FS2 ships that are marked with this flag cannot accept any player orders | ||
− | ===="escapepod" | + | ===="escapepod" or "escape pod"==== |
− | |||
− | |||
− | |||
− | |||
*Defines ship as a escapepod and also sets the AI behaviour | *Defines ship as a escapepod and also sets the AI behaviour | ||
*In FS1/FS2 ships that are marked with this flag cannot accept any player orders | *In FS1/FS2 ships that are marked with this flag cannot accept any player orders | ||
Line 2,011: | Line 2,254: | ||
− | ===="knossos" | + | ===="knossos" or "knossos device"==== |
− | |||
− | |||
− | |||
− | |||
*Defines ship as a Knossos and also sets the AI behaviour | *Defines ship as a Knossos and also sets the AI behaviour | ||
*In FS1/FS2 ships that are marked with this flag cannot accept any player orders | *In FS1/FS2 ships that are marked with this flag cannot accept any player orders | ||
Line 2,022: | Line 2,261: | ||
===="stealth"==== | ===="stealth"==== | ||
{{Table3610| | {{Table3610| | ||
− | *Defines ship as a stealth-ship: non- | + | *Defines ship as a stealth-ship: non-targetable, and not on radar.}} |
===="no type"==== | ===="no type"==== | ||
− | *Does | + | *Does not enable any type-specific behavior |
+ | |||
---- | ---- | ||
− | |||
− | |||
==="ship copy"=== | ==="ship copy"=== | ||
− | *Defines the ship as a copy of another | + | *Defines the ship as a copy of another ship. For ships which have this flag and are a hash-variant of another ship (like '''SF Dragon''' and '''SF Dragon#2 (Weakened)'''), the ship copy will be listed on the scoreboard as the original ship. This only affects the listing, not the score. |
Line 2,043: | Line 2,281: | ||
− | ==="dont collide invisible"=== | + | ==="don't collide invisible" or "dont collide invisible"=== |
− | *Defines invisible textures as non- | + | *Defines invisible textures as non-collidable (For example, a hangar entrance) |
Line 2,052: | Line 2,290: | ||
==="no_fred"=== | ==="no_fred"=== | ||
− | *Ship will not appear in FRED. | + | *Ship will not appear in any of the FRED dropdown lists for ship classes. |
Line 2,058: | Line 2,296: | ||
{{Table3610| | {{Table3610| | ||
*Enables the ship to use ballistic primaries | *Enables the ship to use ballistic primaries | ||
− | *No longer needed | + | *No longer needed; game handles it automatically}} |
Line 2,068: | Line 2,306: | ||
==="surface shields"=== | ==="surface shields"=== | ||
{{Table3610| | {{Table3610| | ||
− | *Shots that impact the hull are applied to shields, regardless of if the ship has a shield mesh.}} | + | *Shots that impact the hull are applied to shields, regardless of if the ship has a modelled shield mesh.}} |
Line 2,079: | Line 2,317: | ||
==="generate icon"=== | ==="generate icon"=== | ||
{{Table3610| | {{Table3610| | ||
− | *Creates a HUD icon from the model itself}} | + | *Creates a HUD shield icon from the model itself}} |
+ | |||
+ | |||
+ | ===no weapon damage scaling"=== | ||
+ | {{Table3610| | ||
+ | *Weapons that impact this ship will not by scaled according to 'big damage' or supercap rules}} | ||
Line 2,090: | Line 2,333: | ||
{{Table3611| | {{Table3611| | ||
*Prevents noise from being added to the thruster effects geometry}} | *Prevents noise from being added to the thruster effects geometry}} | ||
+ | |||
==="intrinsic no shields"=== | ==="intrinsic no shields"=== | ||
{{Table3611| | {{Table3611| | ||
*Defines that ship has no shields by default, to allow mixing and matching shielded and unshielded craft in loadout}} | *Defines that ship has no shields by default, to allow mixing and matching shielded and unshielded craft in loadout}} | ||
+ | |||
+ | |||
+ | ==="dynamic primary linking"=== | ||
+ | {{Table37| | ||
+ | *Allows this ship use the primary firepoint cycling code. With a key bind added in 3.6.13, you can toggle between various factorizations of primary firepoint groupings on a per-primary bank basis. So a 4-firepoint bank could cycle through all four firepoints firing together (1x4), each firepoint firing individually (4x1, all 4 firing over the timespan of the bank cooldown, so no change in damage over time, or DPS, occurs from retail behavior), or firing in pairs (2x2).}} | ||
+ | |||
==="no primary linking"=== | ==="no primary linking"=== | ||
{{Table3611| | {{Table3611| | ||
*Bypasses linked primaries while cycling. Does not block SEXPs/scripts that might be able to lock them, only the act of cycling for players and determing whether to link or not for AI.}} | *Bypasses linked primaries while cycling. Does not block SEXPs/scripts that might be able to lock them, only the act of cycling for players and determing whether to link or not for AI.}} | ||
+ | |||
==="no pain flash"=== | ==="no pain flash"=== | ||
Line 2,103: | Line 2,354: | ||
*Prevents pain flash from being shown when ship is hit}} | *Prevents pain flash from being shown when ship is hit}} | ||
− | |||
− | |||
− | |||
==="no ets"=== | ==="no ets"=== | ||
{{Table37| | {{Table37| | ||
Sets ship class to have no ETS}} | Sets ship class to have no ETS}} | ||
+ | |||
==="no lighting"=== | ==="no lighting"=== | ||
{{Table3613| | {{Table3613| | ||
Ship will not receive lighting calculations}} | Ship will not receive lighting calculations}} | ||
+ | |||
==="auto spread shields"=== | ==="auto spread shields"=== | ||
{{Table371| | {{Table371| | ||
Causes the ship's shield mesh (if any) to be ignored and a shield of a given thickness to be automatically projected around the ship's hull. Weapons will impact the ship's shields at a distance equal to the shield thickness defined in [[Ships.tbl#.2BAuto_Spread:|#.2BAuto_Spread:]], but not before the weapon itself has travelled at least a distance equal to that. Note that impact effects normally projected onto the shield mesh will not work.}} | Causes the ship's shield mesh (if any) to be ignored and a shield of a given thickness to be automatically projected around the ship's hull. Weapons will impact the ship's shields at a distance equal to the shield thickness defined in [[Ships.tbl#.2BAuto_Spread:|#.2BAuto_Spread:]], but not before the weapon itself has travelled at least a distance equal to that. Note that impact effects normally projected onto the shield mesh will not work.}} | ||
+ | |||
==="model point shields"=== | ==="model point shields"=== | ||
{{Table371| | {{Table371| | ||
− | Instead of the standard 4 shield quadrants, the ship uses an arbitrary number of shield sections which must have been defined in the model file, see [[Model Point Shields]]. If used on a player ship, you must also define [[Ships.tbl#.24Model_Point_Shield_Controls:| | + | Instead of the standard 4 shield quadrants, the ship uses an arbitrary number of shield sections which must have been defined in the model file, see [[Model Point Shields]]. If used on a player ship, you must also define [[Ships.tbl#.24Model_Point_Shield_Controls:|$Model_Point_Shield_Controls:]] to allow the shield augmentation controls to be used.}} |
+ | |||
+ | |||
+ | ==="repair disabled subsystems"=== | ||
+ | {{Table371| | ||
+ | Destroyed subsystems will auto-repair, provided [[Ships.tbl#.24Subsystem_Repair_Rate:|$Subsystem Repair Rate:]] is greater than 0. }} | ||
+ | |||
+ | |||
+ | ==="don't bank when turning"=== | ||
+ | {{Table210|All maneuvers by this ship class will have the same effect as the equivalent flag in <tt>ship-maneuver</tt>: the ship will not bank when changing its heading.}} | ||
+ | |||
+ | |||
+ | ==="don't clamp max velocity"=== | ||
+ | {{Table210|All maneuvers by this ship class will have the same effect as the equivalent flag in <tt>ship-maneuver</tt>: the ship's velocity will not be limited by its tabled max velocity, provided the max velocity is greater than 0. Use with caution!}} | ||
+ | |||
+ | |||
+ | ==="instantaneous acceleration"=== | ||
+ | {{Table210|All maneuvers by this ship class will have the same effect as the equivalent flag in <tt>ship-maneuver</tt>: whenever the ship decides to change speed, it will instantaneously reach its desired speed.}} | ||
+ | |||
+ | |||
+ | ==="large ship deathroll"=== | ||
+ | {{Table210| | ||
+ | Causes the ship to deathroll like a fighter, even if it is big or huge (which is disabled by default). Note that their deathroll intensity is scaled down by being larger size. }} | ||
+ | |||
+ | |||
+ | ==="no impact debris"=== | ||
+ | {{Table212| | ||
+ | Turns off the tiny debris shards that are typically spawned when something impacts a ship. }} | ||
+ | |||
==Wing Formations== | ==Wing Formations== |
Latest revision as of 23:54, 22 August 2024
Revision information.....
- FSO Git Commit: Date: 2022-10-07 UTC SHA: 0dfed6de4be6747fcbcf9c35f8c35996d9d7259b
List of Tables and related code files | |
---|---|
* Notes Modular Tables | |
** Notes tables which only use modular tables | |
Ai.tbl* | /ai/aicode.cpp |
Ai_profiles.tbl* | /ai/ai_profiles.cpp |
Animation.tbl** | /model/modelanimation.cpp |
Armor.tbl* | /ship/ship.cpp |
Asteroid.tbl* | /asteroid/asteroid.cpp |
Autopilot.tbl* | /autopilot/autopilot.cpp |
Cheats.tbl* | /cheats_table/cheats_table.cpp |
Colors.tbl* | /globalincs/alphacolors.cpp |
Curves.tbl* | /math/curves.cpp |
Controlconfigdefaults.tbl | /controlconfig/controlsconfigcommon.cpp |
Credits.tbl* | /menuui/credits.cpp |
Cutscenes.tbl* | /cutscene/cutscenes.cpp |
Decals.tbl** | /decals/decals.cpp |
Fireball.tbl* | /fireball/fireballs.cpp |
Fonts.tbl* | /graphics/font.cpp |
Game_settings.tbl* | /mod_table/mod_table.cpp |
Glowpoints.tbl* | /model/modelread.cpp |
Help.tbl* | /gamehelp/contexthelp.cpp |
Hud_gauges.tbl* | /hud/hudparse.cpp |
Icons.tbl* | /mission/missionbriefcommon.cpp |
Iff_defs.tbl* | /iff_defs/iff_defs.cpp |
Keywords.tbl* | Not In Codebase |
Lighting_Profiles.tbl* | /lighting/lighting_profiles.cpp |
Lightning.tbl* | /nebula/neblightning.cpp |
Mainhall.tbl* | /menuui/mainhallmenu.cpp |
Medals.tbl* | /stats/medals.cpp |
Messages.tbl* | /mission/missionmessage.cpp |
Mflash.tbl* | /weapon/muzzleflash.cpp |
Music.tbl* | /gamesnd/eventmusic.cpp |
Nebula.tbl* | /nebula/neb.cpp |
Objecttypes.tbl* | /ship/ship.cpp |
Options.tbl* | Not In Codebase |
Particle effects(-part.tbm)** | /particle/effects... |
Post_processing.tbl | /graphics/gropenglpostprocessing.cpp |
Rank.tbl* | /stats/scoring.cpp |
Scpui.tbl* | Not In Codebase |
Scripting.tbl* | /parse/scripting.cpp |
Ships.tbl* | /ship/ship.cpp |
Sexps.tbl** | /parse/sexp/sexp_lookup.cpp |
Sounds.tbl* | /gamesnd/gamesnd.cpp |
Species_defs.tbl* | /species_defs/species_defs.cpp |
Species.tbl* | /menuui/techmenu.cpp |
Ssm.tbl* | /hud/hudartillery.cpp |
Stars.tbl* | /starfield/starfield.cpp |
Strings.tbl* | /localization/localize.cpp |
Tips.tbl* | /menuui/playermenu.cpp |
Traitor.tbl* | /stats/scoring.cpp |
Tstrings.tbl* | /localization/localize.cpp |
Virtual_pofs.tbl* | /model/modelreplace.cpp |
Weapon_expl.tbl* | /weapon/weapons.cpp |
Weapons.tbl* | /weapon/weapons.cpp |
The ships.tbl defines all the ship classes used in FSO.
This table is one of the Modular Tables and can be extended with xxx-shp.tbm
See the article Subsystem for ship table information that is specific to subsystems.
Contents
- 1 General Format
- 2 Default Player Ship
- 3 Engine Wash
- 4 Ship Template Options
- 5 Ships Table Options
- 5.1 $Name:
- 5.2 +nocreate
- 5.3 +Use Template:
- 5.4 +Use Ship as Template:
- 5.5 $Alt Name:
- 5.6 $Short name:
- 5.7 $Species:
- 5.8 Technical Description
- 5.9 $Selection Effect:
- 5.10 $Cockpit POF file:
- 5.11 $Cockpit Animations:
- 5.12 $Driven Cockpit Animations:
- 5.13 $Cockpit Moveables:
- 5.14 +Cockpit Offset:
- 5.15 $Cockpit Display:
- 5.16 $POF File:
- 5.17 $POF file Techroom:
- 5.18 $Texture Replace:
- 5.19 $POF Target File:
- 5.20 $POF Target LOD:
- 5.21 $Detail Distance:
- 5.22 $Collision LOD:
- 5.23 $ND:
- 5.24 $Enable Team Colors:
- 5.25 $Default Team:
- 5.26 $Show Damage:
- 5.27 $Damage Lightning Type:
- 5.28 $Impact:
- 5.29 $Impact Spew:
- 5.30 $Damage Spew:
- 5.31 $Collision Physics:
- 5.31.1 +Bounce:
- 5.31.2 +Both Small Bounce:
- 5.31.3 +Friction:
- 5.31.4 +Rotation Factor:
- 5.31.5 +Landing Max Forward Vel:
- 5.31.6 +Landing Min Forward Vel:
- 5.31.7 +Landing Max Descent Vel:
- 5.31.8 +Landing Max Horizontal Vel:
- 5.31.9 +Landing Max Angle:
- 5.31.10 +Landing Min Angle:
- 5.31.11 +Landing Max Rotate Angle:
- 5.31.12 +Reorient Max Forward Vel:
- 5.31.13 +Reorient Min Forward Vel:
- 5.31.14 +Reorient Max Descent Vel:
- 5.31.15 +Reorient Max Horizontal Vel:
- 5.31.16 +Reorient Max Angle:
- 5.31.17 +Reorient Min Angle:
- 5.31.18 +Reorient Max Rotate Angle:
- 5.31.19 +Reorient Speed Mult:
- 5.31.20 +Landing Rest Angle:
- 5.31.21 +Landing Sound:
- 5.31.22 +Collision Sound Light:
- 5.31.23 +Collision Sound Heavy:
- 5.31.24 +Collision Sound Shielded:
- 5.32 $Gravity Const:
- 5.33 $Dying Gravity Const:
- 5.34 $Debris:
- 5.35 $Density:
- 5.36 $Damp:
- 5.37 $Rotdamp:
- 5.38 $Banking Constant:
- 5.39 $Max Velocity:
- 5.40 $Player Minimum Velocity:
- 5.41 $Rotation Time:
- 5.42 $Rear Velocity:
- 5.43 $Forward Accel:
- 5.44 $Forward Decel:
- 5.45 $Slide Accel:
- 5.46 $Slide Decel:
- 5.47 $Glide:
- 5.48 $Use Newtonian Dampening:
- 5.49 $Autoaim FOV:
- 5.50 +Primary Bank Autoaim FOV:
- 5.51 $Aims at Flight Cursor:
- 5.52 +Extent:
- 5.53 $Convergence:
- 5.54 $Warpin Type:
- 5.55 $Warpin Start Sound:
- 5.56 $Warpin End Sound:
- 5.57 $Warpin Speed:
- 5.58 $Warpin Time:
- 5.59 $Warpin Decel Exp:
- 5.60 $Warpin Radius:
- 5.61 $Warpin Animation:
- 5.62 $Supercap warpin physics:
- 5.63 $Warpout Type:
- 5.64 $Warpout Start Sound:
- 5.65 $Warpout End Sound:
- 5.66 $Warpout Engage Time:
- 5.67 $Warpout Speed:
- 5.68 $Warpout Time:
- 5.69 $Warpout Accel Exp:
- 5.70 $Warpout Radius:
- 5.71 $Warpout Animation:
- 5.72 $Supercap warpout physics:
- 5.73 $Player Warpout Speed:
- 5.74 $Expl Inner Rad:
- 5.75 $Expl Outer Rad:
- 5.76 $Expl Damage:
- 5.77 $Expl Blast:
- 5.78 $Expl Propagates:
- 5.79 $Expl Splits Ship:
- 5.80 $Propagating Expl Radius Multiplier:
- 5.81 $Expl Visual Rad:
- 5.82 $Base Death-Roll Time:
- 5.83 $Death-Roll Explosion Radius Mult:
- 5.84 $Death-Roll Explosion Intensity Mult:
- 5.85 $Death FX Explosion Radius Mult:
- 5.86 $Death FX Explosion Count:
- 5.87 $Death Roll Rotation Multiplier:
- 5.88 $Death Roll X rotation Cap:
- 5.89 $Death Roll Y rotation Cap:
- 5.90 $Death Roll Z rotation Cap:
- 5.91 $Ship Splitting Particles:
- 5.92 $Ship Death Effect:
- 5.93 $Ship Death Particles:
- 5.94 $Alternate Death Particles:
- 5.95 $Vaporize Percent Chance:
- 5.96 $Shockwave Damage Type:
- 5.97 $Shockwave Speed:
- 5.98 $Shockwave Count:
- 5.99 $Shockwave Model:
- 5.100 $Shockwave Name:
- 5.101 $Shockwave Sound:
- 5.102 $Explosion Animations:
- 5.103 $Weapon Model Draw Distance:
- 5.104 Primary Weapons
- 5.105 Secondary Weapons
- 5.106 $Ship Recoil Modifier:
- 5.107 $Shields:
- 5.108 $Model Point Shield Controls:
- 5.109 $Shield Color:
- 5.110 $Shield Impact Explosion:
- 5.111 $Max Shield Recharge:
- 5.112 $Power Output:
- 5.113 $Shield Regeneration Rate:
- 5.114 +Shield Regen Hit Delay:
- 5.115 $Support Shield Repair Rate:
- 5.116 $Weapon Regeneration Rate:
- 5.117 $Shield to Weapon Transfer Quantity:
- 5.118 $Shield to Weapon Transfer Efficiency:
- 5.119 $Shield to Weapon Transfer Speed:
- 5.120 $Weapon to Shield Transfer Quantity:
- 5.121 $Weapon to Shield Transfer Efficiency:
- 5.122 $Weapon to Shield Transfer Speed:
- 5.123 $Max Oclk Speed:
- 5.124 $Max Weapon Eng:
- 5.125 $Hitpoints:
- 5.126 $Hull Repair Rate:
- 5.127 $Hull Self Repair Maximum:
- 5.128 $Support Hull Repair Rate:
- 5.129 $Subsystem Repair Rate:
- 5.130 $Subsystem Self Repair Maximum:
- 5.131 $Support Subsystem Repair Rate:
- 5.132 $Armor Type:
- 5.133 $Shield Armor Type:
- 5.134 $Flags:
- 5.135 $AI Class:
- 5.136 $Afterburner:
- 5.136.1 +Aburn Max Vel:
- 5.136.2 +Aburn For accel:
- 5.136.3 +Aburn Max Reverse Vel:
- 5.136.4 +Aburn Rev accel:
- 5.136.5 +Aburn Fuel:
- 5.136.6 +Aburn Burn Rate:
- 5.136.7 +Aburn Rec Rate:
- 5.136.8 +Aburn Minimum Start Fuel:
- 5.136.9 +Aburn Minimum Fuel to Burn:
- 5.136.10 +Aburn Cooldown Time:
- 5.136.11 $Trails:
- 5.137 $Countermeasure Type:
- 5.138 $Countermeasures:
- 5.139 $Scan Time:
- 5.140 $Scan range Normal:
- 5.141 $Scan range Capital:
- 5.142 $Scanning time multiplier:
- 5.143 $Scanning range multiplier:
- 5.144 $Ask Help Shield Percent:
- 5.145 $Ask Help Hull Percent:
- 5.146 $EngineSnd:
- 5.147 $Minimum Engine Volume:
- 5.148 $GlideStartSnd:
- 5.149 $GlideEndSnd:
- 5.150 $Flyby Sound
- 5.151 $CockpitEngineSnd
- 5.152 $FullThrottleSnd
- 5.153 $ZeroThrottleSnd
- 5.154 $ThrottleUpSnd
- 5.155 $ThrottleDownSnd
- 5.156 $AfterburnerSnd
- 5.157 $AfterburnerEngageSnd
- 5.158 $AfterburnerFailedSnd
- 5.159 $MissileTrackingSnd
- 5.160 $MissileLockedSnd
- 5.161 $PrimaryCycleSnd
- 5.162 $SecondaryCycleSnd
- 5.163 $TargetAcquiredSnd
- 5.164 $PrimaryFireFailedSnd
- 5.165 $SecondaryFireFailedSnd
- 5.166 $HeatSeekerLaunchWarningSnd
- 5.167 $AspectSeekerLaunchWarningSnd
- 5.168 $MissileLockWarningSnd
- 5.169 $HeatSeekerProximityWarningSnd
- 5.170 $AspectSeekerProximityWarningSnd
- 5.171 $MissileEvadedSnd
- 5.172 $CargoScanningSnd
- 5.173 $DeathRollSnd
- 5.174 $ExplosionSnd
- 5.175 $SubsysExplosionSnd
- 5.176 $Closeup_pos:
- 5.177 $Closeup_zoom:
- 5.178 $Closeup_pos_targetbox:
- 5.179 $Closeup_zoom_targetbox:
- 5.180 $Topdown Offset:
- 5.181 $Chase View Offset:
- 5.182 $Chase View Rigidity:
- 5.183 $Shield_Icon:
- 5.184 $Model Icon Direction:
- 5.185 $Ship_Icon:
- 5.186 $Ship_Anim:
- 5.187 $Ship_Overhead:
- 5.188 $Wingmen Gauge Dot Override:
- 5.189 $Briefing icon:
- 5.190 $Briefing icon with cargo:
- 5.191 $Briefing wing icon:
- 5.192 $Briefing wing icon with cargo:
- 5.193 $Score:
- 5.194 Customized Thruster Effects
- 5.195 $Thruster Particles:
- 5.196 $Stealth:
- 5.197 $Max Decals:
- 5.198 $Trail:
- 5.199 $Thruster:
- 5.200 $Glowpoint overrides:
- 5.201 $Radar Image 2D:
- 5.202 $Ship IFF Colors:
- 5.203 $Target Priority Groups:
- 5.204 $EMP Resistance Modifier:
- 5.205 $Piercing Damage Draw Limit:
- 5.206 $Path Metadata:
- 5.207 $Passive Lightning Arcs:
- 5.208 $Animations:
- 5.209 $Driven Animations:
- 5.210 $Animation Moveables:
- 5.211 $Custom data:
- 5.212 $Subsystem:
- 6 Ships.tbl flags
- 6.1 "no_collide"
- 6.2 "player_ship"
- 6.3 "default_player_ship"
- 6.4 Ship Type
- 6.4.1 "repair_rearm" or "support"
- 6.4.2 "cargo"
- 6.4.3 "fighter"
- 6.4.4 "bomber"
- 6.4.5 "transport"
- 6.4.6 "freighter"
- 6.4.7 "capital"
- 6.4.8 "supercap" or "super cap"
- 6.4.9 "drydock"
- 6.4.10 "cruiser"
- 6.4.11 "navbuoy"
- 6.4.12 "sentrygun" or "sentry gun"
- 6.4.13 "escapepod" or "escape pod"
- 6.4.14 "corvette"
- 6.4.15 "gas miner"
- 6.4.16 "awacs"
- 6.4.17 "knossos" or "knossos device"
- 6.4.18 "stealth"
- 6.4.19 "no type"
- 6.5 "ship copy"
- 6.6 "in tech database"
- 6.7 "in tech database multi"
- 6.8 "don't collide invisible" or "dont collide invisible"
- 6.9 "big damage"
- 6.10 "no_fred"
- 6.11 "ballistic primaries"
- 6.12 "flash"
- 6.13 "surface shields"
- 6.14 "show ship"
- 6.15 "generate icon"
- 6.16 no weapon damage scaling"
- 6.17 "gun convergence"
- 6.18 "no thruster geometry noise"
- 6.19 "intrinsic no shields"
- 6.20 "dynamic primary linking"
- 6.21 "no primary linking"
- 6.22 "no pain flash"
- 6.23 "no ets"
- 6.24 "no lighting"
- 6.25 "auto spread shields"
- 6.26 "model point shields"
- 6.27 "repair disabled subsystems"
- 6.28 "don't bank when turning"
- 6.29 "don't clamp max velocity"
- 6.30 "instantaneous acceleration"
- 6.31 "large ship deathroll"
- 6.32 "no impact debris"
- 7 Wing Formations
- 8 Player Ship Precedence
- 9 Sample
General Format
- Ship.tbl is formed of several different sections.
- All sections beginning with # need #End before the next section.
- #Default Player Ship
- 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.
- #Engine Wash Info
- Includes all the definitions of all engine washes used in the game.
- #Default Player Ship
- #Ship Templates
- Includes entries for ship templates
- #Ship Templates
- #Ship Classes
- Includes entries for every ship and also defines their attributes that are used in the game
- Is discussed in detail at Table Options section.
- #Ship Classes
- #Wing Formations
- Includes the list of custom wingmate formations
- #Wing Formations
- 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)
Default Player Ship
- Defines the default ship in the game.
- Syntax: Name, name of ship model as defined in Table Options.
Engine Wash
- Defines the engines washes
- First entry must be named 'default'
$Name:
- Defines the name of the engine wash.
- Syntax: String
+nocreate
- In Modular Tables a name can be followed by the line +nocreate to prevent the game from creating an incomplete entry with very few valid fields. If the entry does not already exist (either in ships.tbl or in earlier parsed *-shp.tbm files), the modular entry is skipped.
+remove
- In Modular Tables a name can be followed by the line +remove to completely remove a previously parsed entry.
$Angle:
- Defines the angle from the engine where the engine wash exists
- Syntax: Float, degrees
$Radius Mult:
- Defines engine wash multiplier
- Syntax: Float
$Length:
- Defines the length of the engine wash
- Syntax: Float, meters
$Intensity:
- Defines the strength of the engine wash
- This setting does nothing
- Syntax: Float, blast effect
Example
$Name: Default $Angle: 10.0 $Radius Mult: 1.2 $Length: 400 $Intensity: 1.0
Ship Template Options
- Example of template usage Ship_Templates in which both GTB Artemis variants have been defined using a single template
$Template:
- Defines the name of template
- Syntax: String, name
+Use Template:
- Another template can be used as template for the current template
- Syntax: String, name
Ships Table Options
$Name:
- Model name that is used also in game. It is also used as name for the whole ship entry.
There are two special characters can be used in the name: # and @- #. It's used in the middle of the name and cannot be the first character in the $Name: string. It makes the right part of the name not being shown in the ship class info of the target window, (or beside the target brackets in FS_Open builds). It allows making different versions of a base ship while showing the same class name inside the game.
An example from FSPort FreeSpace 1: The SF Dragon#weakened ship, used in Enter the Dragon, appears to the player just as any other SF Dragon. - @. It's used before the proper ship name. It is fully ignored by the game. Moreover, @WhateverShip and WhateverShip are exactly the same name and therefore they both appear as WhateverShip inside the game. It just allows the user marking ships in the table because of any modding reason.
In the retail FS2 ships there are several ships starting by @.
- #. It's used in the middle of the name and cannot be the first character in the $Name: string. It makes the right part of the name not being shown in the ship class info of the target window, (or beside the target brackets in FS_Open builds). It allows making different versions of a base ship while showing the same class name inside the game.
- Syntax: String, name
+nocreate
- In Modular Tables name can be followed by line +nocreate 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.
+Use Template:
- Sets the table entry to use template based on an existing table entry instead of creating totally new one
- Syntax: String, name of the template
+Use Ship as Template:
- Creates a copy of the specified ship to use as a base for this ship.
- Caution! This is highly dependent on the order the tables are loaded. If the ship used as a template is modified using +nocreate, the tabled changes will only be applied to the newly created ship if they are loaded before +Use Ship as Template. Any +nocreate changes after +Use Ship as Template will not have any effect on the newly created ship class. Thus, proper templates should be preferred if possible.
- Cannot be used in conjunction with +Use Template.
- Syntax: String, name of the ship class to use as a template
$Alt Name:
- Alternative $Name: for the ship. Used to rename ships without breaking missions.
- Syntax: String, Alternate $Name:
$Short name:
- Shortened model name, for FRED, Usually more descriptive than the real name.
- Syntax: String'
$Species:
- 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.
- More species have been enabled, and all of these have to be defined in species_defs.tbl.
- Syntax: String, name of the species
- Example: Terran
Technical Description
List of descriptive terms for techroom and ship selection screens. Number after the quotes refers to tstrings.tbl
+Type:
- Syntax: XSTR("String", integer)
- Example: XSTR("", -1)
+Maneuverability:
- Syntax: XSTR("String", integer)
- Example: XSTR("", -1)
+Armor:
- Syntax: XSTR("String", integer)
- Example: XSTR("", -1)
+Manufacturer:
- Syntax: XSTR("String", integer)
- Example: XSTR("", -1)
+Description:
- Syntax: XSTR("String", integer)
- Requires $end_multi_text after the entry
- Example:
- XSTR("", -1)
- $end_multi_text
+Tech Title:
- Defines name of the ship as displayed in the tech room
- Syntax: String
+Tech Description:
- Syntax: XSTR("String", integer)
- Requires $end_multi_text after the entry
- Example:
- XSTR("", -1)
- $end_multi_text
+Length:
- Syntax: XSTR("String", integer)
- Example: XSTR("", -1)
+Gun Mounts:
- Syntax: XSTR("String", integer)
- Example: XSTR("", -1)
+Missile Banks:
- Syntax: XSTR("String", integer)
- Example: XSTR("", -1)
$Selection Effect:
- Defines which selection effect to use when the -ship_choice_3d commandline flag is enabled or no ani can be found for the selected ship.
- Syntax: String, either "FS1", or "Off". This defaults to the FS2 effect.
$Cockpit POF file:
- Syntax: String.pof, model filename
$Cockpit Animations:
- Allows specifying animations that only run on the cockpit model of a ship
- See $Animations
- Syntax: ( "String" "String" ), names of the animations for this ship, as defined in the Animation.tbl
- Example: ( "wingflap" "docksequence" )
$Driven Cockpit Animations:
- See Animation_Drivers#Parsing (+Driver Set:)
- Driven cockpit animations are not compatible with $Cockpit Animations! If you need cockpit animations without drivers, create a driver set that has no driver and list all animations in it's +Affected Animations:
$Cockpit Moveables:
- Allows specifying moveables that only run on the cockpit model of a ship
- See $Moveables
- Syntax: ( "String" "String" ), names of the moveable animations for this ship, as defined in the Animation.tbl
- Example: ( "wingflap" "docksequence" )
+Cockpit Offset:
- Syntax: Vector, three floats, x-axis, y-axis, z-axis, respectively
$Cockpit Display:
- Defines a rectangle surface on a cockpit texture that can be updated dynamically. Multiple displays can be defined, but only one needs to be defined for each texture on the cockpit model.
- +Texture:
- The filename of the cockpit texture to be replaced.
- Syntax: String, texture filename
- +Offsets:
- (Optional) The offsets of the rectangle surface into the texture that will be drawn into.
- Syntax: Vector, two integers
- +Size:
- The size of the rectangle surface that will be drawn into.
- Syntax: Vector, two integers
- +Background:
- (Optional) Filename of the bitmap to be used as the background of this display.
- Syntax: String, texture filename
- +Foreground:
- (Optional) Filename of the bitmap to be used as the foreground of this display.
- Syntax: String, texture filename
- +Display Name:
- A name to be used as a reference handle.
- Syntax: String
$POF File:
- Filename of the model file (.pof) at data/models folder
- Syntax: String.pof, model filename
$POF file Techroom:
- Filename of the model file (.pof) at data/models folder; used only in the weapon loadout screen
- Syntax: String.pof, model filename
$Texture Replace:
- +old:
- Defines the texture to be replaced
- Syntax: String, filename
- +new:
- Defines the new texture
- Syntax: String, filename
$POF Target File:
- Optional hud targeting model
- Syntax: String.pof, model filename
$POF Target LOD:
- Defines the LOD (Level-Of-Detail) of target model used in the HUD targetbox
- Syntax: Integer
$Detail Distance:
- Defines the distance where the change between different Levels-Of-Details (LODs) occurs
- Take notice that these are base values. Model detail in Detail options, (within game press F2), applies a multiplier to these values. These multipliers default to (from left to right): 1/8, 1/4, 1, 4, and 8, and may be overridden by the $Detail Distance Multiplier
- Syntax: (Detail Distances) , list of integers (same amount as LODs), distances from the model in meters
- Example: (0, 80, 300, 900)
$Collision LOD:
- Defines an alternative LOD (Level-Of-Detail) to use for collision detection. Using this can increase performance without visible drawbacks if the LOD chosen has much simpler geometry but the shape still closely matches the base model.
- This works as follows: collision detection proceeds normally through the various model/submodel radius and bounding box checks based on LOD0, but when the game decides to perform a mesh-based collision check of a given submodel, it will use the submodel's LOD mesh instead. However, all submodels do not need to have a counterpart in the given LOD; if one is not found, the closest alternative will automatically be used instead.
- For example, if $Collision LOD: 3 is used and the submodel engine01a is checked for a hit, the game will attempt to use the mesh of engine01d instead. However, if there is no engine01d submodel, the game will find the closest alternative: it'll look for engine01c, then engine01b, and finally fall back to engine01a. Note the implications of for example the root LOD submodel (detaild, detail3, etc) including the geometry of subsystem submodels; if detail0 is checked for a collision before engine01a, and detail3 includes the engine geometry (as opposed to having it in engine01d), then the subsystem engine01a cannot be hit.
- Syntax: Integer
$ND:
NOTE: this option has done nothing since before 2008
- No Dim field field was used in FreeSpace for ship lights. Use of glowmaps is preferred to the $ND entry. Only noticeable in Glide or Software mode.
- Syntax: Color, red, green, blue respectively, value from 0 to 255
- Example: 42, 42, 224
$Enable Team Colors:
- Enables Team Colors for a ship without setting a default color setting.
- Syntax: Boolean
$Default Team:
- Specifies the default team name to be used for coloring a ship.
- None will set the default to 'no coloring'.
- Syntax: String, name of the teams as defined in colors.tbl
$Show Damage:
- No function at all. The engine will read values, but discard them. In 3.6.10 or later, this can be left out without adverse consequences.
- Syntax: Boolean, yes or no, usually yes
$Damage Lightning Type:
- Changes the damage lightning effect shown on highly damaged ships.
- Can be defined as:
- None
- Default
$Impact:
- +Damage Type:
- Defines the damage type of the collision
- Syntax: String, name of the armor as defined in armor.tbl
$Impact Spew:
- Used to define the impact particle spew
- Note: You CANNOT define a different type of particle spew here; the only option possible is listed below
- +Max particles:
- Defines the maximum number of particles spewed
- Setting to zero causes model to generate no particles at all
- Syntax: Integer
- Default Value: 30
- +Min particles:
- Defines the minimum number of particles spewed
- Syntax: Integer
- Default Value: 25
- +Max Radius:
- Defines the maximum radius of particles
- Syntax: Float
- Default Value: 0.5f
- +Min Radius:
- Defines the minimum radius of particles
- Syntax: Float
- Default Value: 0.2f
- +Max Lifetime:
- Defines the maximum lifetime of particles
- Syntax: Float
- Default Value: 0.55f
- +Min Lifetime:
- Defines the minimum lifetime of particles
- Syntax: Float
- Default Value: 0.05f
- +Max Velocity:
- Defines the maximum velocity of particles
- Syntax: Float
- Default Value: 12.0f
- +Min Velocity:
- Defines the minimum velocity of particles
- Syntax: Float
- Default Value: 2.0f
- +Normal Variance:
- Defines the variance of particle direction from the normal
- Syntax: Float
- Default Value: 1.0f
$Damage Spew:
- Controls the 'smoke' released on weapon impact point
- Certain default values (marked with X) gain a specific multiplier based on ship radius
- If the radius is less than 20 the multiplier is 1
- If the radius is larger than 40 the multipler is 1.2
- Otherwise it is between 1 and 1.2
- +Max Particles:
- Default Value: 50 * X
- +Min Particles:
- Default Value: 20 * X
- +Max Radius:
- Default Value: 1.3
- +Min Radius:
- Default Value: 0.7
- +Max Lifetime:
- Default Value: 1.5 * X
- +Min Lifetime:
- Default Value: 0.7 * X
- +Max Velocity:
- Default Value: 12.0
- +Min Velocity:
- Default Value: 3.0
- +Normal Variance:
- Default Value: 0.2 * X
$Collision Physics:
- Parameters affecting collision physics, including landings.
- "Landing" means the ship will not take damage or shake when it touches down. Instead, the ship will reorient towards a neutral resting orientation. "Reorient" thresholds below mean that the ship will still take damage (counts as a crash) but will move towards the correct landing orientation.
+Bounce:
When this ship collides with a large ship, how many meters to instantly move it away. Default is 5.0.
+Both Small Bounce:
When this ship collides with a small ship, how many meters to instantly move it away. Default is 5.0.
+Friction:
During collisions, how much friction to apply (slowing lateral movement). Default is 0.0.
+Rotation Factor:
Affects the rotational energy of collisions. Default is 0.2.
+Landing Max Forward Vel:
Maximum velocity for which landing physics are used.
+Landing Min Forward Vel:
Minimum velocity for which landing physics are used.
+Landing Max Descent Vel:
Maximum velocity at which the ship can "hit the deck" and still be considered a landing.
+Landing Max Horizontal Vel:
Maximum sideways velocity the ship can land at.
+Landing Max Angle:
Maximum angle of attack the ship can land at (in degrees).
+Landing Min Angle:
Minimum angle of attack the ship can land at (in degrees).
+Landing Max Rotate Angle:
How many degrees the ship can be rotated relative to the landing surface in order to count as a landing.
+Reorient Max Forward Vel:
Maximum velocity for which the ship will be adjusted to the correct landing orientation.
+Reorient Min Forward Vel:
Minimum velocity for which the ship will be adjusted to the correct landing orientation.
+Reorient Max Descent Vel:
Maximum velocity at which the ship can "hit the deck" and still reorient.
+Reorient Max Horizontal Vel:
Maximum sideways velocity for reorienting.
+Reorient Max Angle:
Maximum angle of attack for reorienting to kick in (in degrees).
+Reorient Min Angle:
Minimum angle of attack for reorienting to kick in (in degrees).
+Reorient Max Rotate Angle:
How many degrees the ship can be rotated relative to the landing surface in order to be reoriented on impact.
+Reorient Speed Mult:
How quickly the reorientation takes place (when applicable)
+Landing Rest Angle:
Angle of the ship's nose relative to the plane of the landing surface when the ship is at rest. Reorient will move the ship towards this angle.
+Landing Sound:
Sound to play when landing (if it's not a landing, normal collision sound is used).
+Collision Sound Light:
Sound when this ship collides normally.
+Collision Sound Heavy:
Sound when this ship collides at high speed.
+Collision Sound Shielded:
Sound when this ship collides with shields active.
$Gravity Const:
- If the mission has gravity, this is the multiplier applied to acceleration from gravity on the ship.
- Note that due to the exponential damping from $Damp, the acceleration from gravity will eventually even out with $Damp and result in a constant velocity in the direction of gravity.
- Syntax: Float
$Dying Gravity Const:
- Same as above, but while ths ship is dying/in death roll.
- The aforementioned exponential damp is still in effect during this time, but it is weaker.
- Syntax: Float
- Default: The same as $Gravity Const:
$Debris:
- +Min Lifetime:
- Defines the minimum lifetime of the debris (Default value is a random number)
- Syntax: Float, Seconds
- +Max Lifetime:
- Defines the maximum lifetime of the debris
- Syntax: Float, Seconds
- +Min Speed:
- Defines the minimum speed of the debris
- Syntax: Float, Meters/second
- +Max Speed:
- Defines the maximum speed of the debris
- Syntax: Float, Meters/second
- +Min Rotation speed:
- Defines the minimum rotational speed of the debris (Default is (6 to 10)/Ship-radius)
- Syntax: Float, Radians/second
- +Max Rotation speed:
- Defines the maximum rotational speed of the debris
- Syntax: Float, Radians/second
- +Damage Type:
- Defines the damage type of the debris
- Syntax: String, name of the armor as defined in armor.tbl
- +Min Hitpoints:
- Defines the minimum hitpoints assigned for the generated debris pieces
- Syntax: Float
- +Max Hitpoints:
- Defines the maximum hitpoints assigned for the generated debris pieces
- Syntax: Float
- +Damage Multiplier:
- Defines the collision damage multiplier for collisions against the generated debris pieces
- Syntax: Float
- +Lightning Arc Percent:
- Controls what percent of debris pieces will have the damage lightning effect applied to them.
- Defaults to 50%.
- Syntax: Float, 0-100
- +Debris Gravity Const:
- If the mission has gravity, this is the multiplier applied to acceleration from gravity on the ship's debris.
- Syntax: Float
- Default: The same as $Dying Gravity Const
- +Debris Density:
- Same as Density but only applied to the ship's debris.
- Syntax: Float
- Default: 1.0
- +Ambient Sound:
- The sound played in the vicinity of debris.
- +Generic Debris POF file:
- The filename of the ship's generic debris, by default debris01.pof.
- Big or huge ships do not normally have generic debris, but if this is specified for them, they will generate generic debris on explosion.
- Syntax: String
- +Generic Debris Spew Num:
- How many generic debris fragments to generate when the ship explodes.
- If this is a big or huge ship, this is the number of generic debris fragments to generate for every individual propagating explosion.
- Syntax: Integer
- Default: 20
$Density:
- Multiplies the mass and moment of inertia of the relevant ship.
- Ships with a high mass and moment of inertia will be moved/rotated by collisions and impacts less strongly.
- Syntax: Float, usually 1. Must not be 0.
$Damp:
- Sets the natural period (1 / omega) of the dampening effects on top of the acceleration model. (See $Forward Accel:)
- In essence, affects how quickly you will accel/decel to your target velocity. Higher damp means slower acceleration and deceleration, while lower values (down to 0.0001) means faster acceleration/deceleration.
- Specifying a value of 0.0 means there is no damping placed on top of the acceleration model, which is the most responsiveness you'll get.
- Syntax: Float
$Rotdamp:
- Shares the same principles of $Damp, but is applied to rotations directly. (there isn't a engine/thrust acceleration model for rotations)
- Syntax: Float
$Banking Constant:
- Defines a factor for how much roll is added during a yaw. Set as 1 for full roll and 0 is no roll. Default is 0.5.
- Syntax: Float
$Max Velocity:
- 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.
- The x and y velocities are considered slide veocities
- Syntax: Vector, three floats, x-axis, y-axis, z-axis, respectively, meters per second
- Example: 0.0, 0.0, 80.0
$Player Minimum Velocity:
- Defines minimum velocities on x (left/right), y (up/down), and z (forward) -axis (respectively). This affects the player only, the AI ignores the value.
- The x and y velocities are considered slide velocities, the minimums for them are not currently implemented.
- When gliding, if the absolute speed vector of the players ship falls below the minimum then the ships engines will re-engage and cannot be switched off again until the ships absolute vector exceeds the z-minimum.
- Syntax: Vector, three floats, x-axis, y-axis, z-axis, respectively, meters per second
- Example: 0.0, 0.0, 40.0
$Rotation Time:
- 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. X-axis is "pitch," y-axis is "yaw," and z-axis is "roll."
- Syntax: Vector, three floats, seconds per 360 degree turn around x-axis, y-axis, z-axis, respectively
- Example: 3.0, 2.6, 5.0
- Note: Setting to Zero will cause the model to disappear in mission.
$Rear Velocity:
- Defines rear velocity
- Syntax: Float, meters per second
- Note: This value must be set for +Aburn_Max_Reverse_Vel: to work
$Forward Accel:
- Number of seconds needed from full stop to 63.21% of the maximum forward (z) velocity
- We use 63.21% instead of 100% because FSO's acceleration/velocity model is based on a simplistic exponential function, rather than the more complex models seen for prop-driven, jet-driven, or rocket-driven craft.
- The equation is a derivative of v = 1 - e^(-t / T), where T is what we define in the ship.tbl
- Syntax: Float, seconds
$Forward Decel:
- Number of seconds needed from maximum forward (z) velocity to full stop
- Syntax: Float, seconds
$Slide Accel:
- Number of seconds needed from full stop to 63.21% maximum slide velocity
- Note: this is applied to both slide (x and y) axes
- See $Forward Accel for an explanation of the 63.21%
- Syntax: Float, seconds
$Slide Decel:
- Number of seconds needed from 63.21% maximum slide velocity to full stop
- Note: this is applied to both slide (x and y) axes
- See $Forward Accel for an explanation of the 63.21%
- Syntax: Float, seconds
$Glide:
- Allows gliding in game, i.e. turning the ship's attitude/facing without changing its current movement direction and speed.
- Syntax: Boolean, yes or no
+Dynamic Glide Cap:
- If set, game uses dynamic glide cap. The dynamic glide cap means that the maximum glide speed will follow the same rules as normal flight, including the effects of afterburner and power to engines. If set to YES, the value in +Max Glide Speed is ignored.
- Syntax: Boolean
+Max Glide Speed:
- Defines the maximum glide speed if glide has been enabled. If 0, this is set to the fastest speed the ship can go.
- If negative, there is no glide cap (allowing practically infinite maximum gliding speed), but only for the player, the AI will act as though it is still 0.
- Syntax: Float
- Defaults to 0.
+Glide Accel Mult:
- Defines the acceleration multiplier for the gliding mode.
- If > 0, sets a fixed acceleration rate in glide mode: ships will accelerate at their tabled maximum velocity along the given axis, interpreted in m/s^2, multiplied by +Glide Accel Mult:.
- If set to 0, impossible to accelerate while in glide mode.
- If negative, enables glide speed ramping: acceleration in glide mode ramps using the same constants as in normal flight. Note, however, that glide acceleration ignores the ship's $Damp: value, so glide acceleration will always be faster than in normal flight; and if the damping constant is significantly larger than the acceleration constant along a given axis, this difference will become very pronounced.
- Syntax: Float
- Default: 0
- Entry exists as a dummy entry which doesn't do anything to prevent compatibility issues
$Use Newtonian Dampening:
- If set, forces the ship to use (or not use) newtonian dampening. Basically, allows overriding the AI Profiles flag on a per-ship basis.
- Syntax: Boolean
$Autoaim FOV:
- Defines the field of view for autoaim
- Syntax: Integer
+Converging Autoaim
- Defines that the autoaim uses convergence
+Minimum Distance:
- Defines the minimum distance for the convergence
+Primary Bank Autoaim FOV:
- Defines the autoaim for the primary bank.
- Can be listed once for each existing bank on the ship.
- Syntax: Float
$Aims at Flight Cursor:
- Enables flight cursor-style flying for the ship, and causes the ship to fire in the direction of the cursor.
- Note: Only works for players! AI may need a system like autoaim to mimic it.
- Syntax: Boolean
+Extent:
- Required if the above is true.
- How many degrees away from the center the player is allowed to shoot, using the flight cursor.
- Syntax: Float, degrees
$Convergence:
- Defines the weapons use convergence
+Automatic
- Defines that the ship uses automatic convergence - converging distance calculated from estimated hit position (lead) of the current target.
- +Minimum Distance:
- Defines the minimum distance for the convergence. Overrides the setting for $Autoaim FOV's minimum distance.
+Standard
- Defines that ship uses fixed convergence.
- +Distance:
- Defines the converging distance from the ship
+Offset:
- Defines the offset from the ship centerpoint for the convergence
- Syntax: Vector, three floats, x-axis, y-axis, z-axis, respectively
$Warpin Type:
- Allow an animation to be defined as a warpin effect.
- Can be defined as:
- Default
- BTRL or Galactica
- Homeworld
- Hyperspace
- Knossos
- Babylon5
- BTRL was replaced with Galactica after 3.6.10
- [Fireball Unique ID] - Uses the default mechanics but replaces the portal effect with the identified fireball.
- Syntax: String
$Warpin Start Sound:
- File for playing at start of warp in effect
- Syntax: String, filename
$Warpin End Sound:
- File for playing at end of warp in effect
- Syntax: String, filename
$Warpin Speed:
- Sets the speed at which the ship warps in for default warpin effect
- Sets the time that the ships warp in (not the animation itself) takes for BTRL type warpin effects
- Syntax: Float, meters per second or miiliseconds
$Warpin Time:
- Defines the effect duration
- Syntax: Float, seconds
$Warpin Decel Exp:
- Only for the hyperspace warpin effect.
- Defines an exponent for the deceleration curve at the end of the warpin. Must be higher than 0; a value of 1 produces a constant velocity throughout the effect and higher values produce gradual deceleration.
- Syntax: Float
- Default: 1.0
$Warpin Radius:
- Defines the effect radius
- Syntax: Float, meters
$Warpin Animation:
- Defines the animation used for the Homeworld warpin effect. Has no effect for other warpin types.
- Syntax: String, filename
$Supercap warpin physics:
- Specifies whether this ship should use supercap deceleration when arriving, similar to the Colossus. Can also disable supercap deceleration on a ship that normally has it.
- Syntax: Boolean
$Warpout Type:
- Allow an animation to be defined as a warpout effect.
- Can be defined as:
- Default
- BTRL or Galactica
- Homeworld
- Hyperspace
- Knossos
- Babylon5
- BTRL was replaced with Galactica after 3.6.10
- [Fireball Unique ID] - Uses the default mechanics but replaces the portal effect with the identified fireball.
- Syntax: String
$Warpout Start Sound:
- File for playing at start of warp out effect
- Syntax: String, filename
$Warpout End Sound:
- File for playing at end of warp out effect
- Syntax: String, filename
$Warpout Engage Time:
- Defines the delay the it takes for the warp drive of the ship to engage, during which the player may still abort the warpout. Affects both the player as well as AI ships. If not defined, defaults to 3 seconds for the player and none for the AI.
- Syntax: Float, seconds
$Warpout Speed:
- Sets the speed at which the ship warps out for default warpout effect
- Sets the time that the ships warp out (not the animation itself) takes for BTRL type warpout effects
- Sets the minimum speed required for the ship to warp out for hyperspace type warpout effects
- Syntax: Float, meters per second or milliseconds
$Warpout Time:
- Defines the effect duration
- Syntax: Float, seconds
$Warpout Accel Exp:
- Only for the hyperspace warpin effect.
- Defines an exponent for the acceleration curve at the start of the warpout. Must be higher than 0; a value of 1 produces a constant velocity throughout the effect and higher values produce gradual acceleration.
- Syntax: Float
- Default: 1.0
$Warpout Radius:
- Defines the effect radius
- Syntax: Float, meters
$Warpout Animation:
- Defines the animation used as the warpout effect.
- Syntax: String, filename
$Supercap warpout physics:
- Specifies whether this ship should use special physics when departing, as a complement to $Supercap warpin physics. Currently has no effect.
- Syntax: Boolean
$Player Warpout Speed:
- Sets the speed at which the player warps out from the game
- Syntax: Float
$Expl Inner Rad:
- Radius at which the full explosion damage is done
- Syntax: Float, meters
$Expl Outer Rad:
- Maximum radius at which any damage is done
- Syntax: Float, meters
$Expl Damage:
- Amount of damage done inside the inner radius
- Syntax: Float, damage
$Expl Blast:
- The intensity of the blast effect when you're within the outer radius
- Syntax: Float, blast effect
$Expl Propagates:
- This decides whether the ship has many smaller explosions while in its death-roll. Also determines whether the ship splits in two or not unless explicitly set below.
- Syntax: Boolean, yes or no
$Expl Splits Ship:
- Whether the ship splits in two and slowly explodes outward towards its front and back, or just immediately explodes into debris.
- Syntax: Boolean, yes or no, defaults to the value of '$Expl Propagates:' above
$Propagating Expl Radius Multiplier:
- This sets the multiplier for the ship splitting propagating explosions
- Syntax: Float, defaults to 1
$Expl Visual Rad:
- This determines the visual size of the main fireball for an exploding ship. Does not affect ships with propagating explosions.
- Syntax: Float, meters
$Base Death-Roll Time:
- Defines the base death-roll time
- Values is modified depending on conditions when the ship died
- Syntax: Integer, milliseconds
- Default: 3000
$Death-Roll Explosion Radius Mult:
- Defines the multiplier for the radius of the ship surface explosions during death roll
- Syntax: Float
- Default: 1
$Death-Roll Explosion Intensity Mult:
- Defines the multiplier for the amount of the ship surface explosions during death roll
- Syntax: Float
- Default: 1
$Death FX Explosion Radius Mult:
- Defines the multiplier applied to the ship death explosions
- Syntax: Float
- Default: 1
$Death FX Explosion Count:
- Defines the number of explosion effect game uses when a large ship dies
- Syntax: Integer
- Default: 6
$Death Roll Rotation Multiplier:
- Multiplies the strength of the rotation imparted by death-rolling.
- Syntax: Float
- Default: 1.0
$Death Roll X rotation Cap:
- Defines the cap (aka maximum) on X-axis (pitch) rotation during the ships deathroll. The value is radians per second. The current hard-coded minimum is 0.8. Note the code generally won't use this value for ships with radius > 150 (hard-coded).
- Syntax: Float
- Default: 4.725
$Death Roll Y rotation Cap:
- Defines the cap (aka maximum) on Y-axis (yaw) rotation during the ships deathroll. For other details see $Death Roll X rotation Cap:
- Syntax: Float
- Default: 4.725
$Death Roll Z rotation Cap:
- Defines the cap (aka maximum) on Z-axis (roll) rotation during the ships deathroll. For other details see $Death Roll X rotation Cap:
- Syntax: Float
- Default: 4.725
$Ship Splitting Particles:
- Controls the particles released on every explosion event which happens when ship is splitting apart
- The old 'popcorn' effect
- +Max Particles:
- Default Value: 80
- +Min Particles:
- Default Value: 40
- +Max Radius:
- Default Value: Ship radius * 0.015
- +Min Radius:
- Default Value: Ship radius * 0.005
- +Max Lifetime:
- Default Value: 6.0 * (1 + 0.002 * Ship radius)
- +Min Lifetime:
- Default Value: 0.5 * (1 + 0.002 * Ship radius)
- +Max Velocity:
- Default Value: Speed of the propagating explosion
- +Min Velocity:
- Default Value: 0.0
- +Normal Variance:
- Default Value: 2.0
$Ship Death Effect:
- Specifies the particle effect which will be used the final explosion of this ship type,
- Syntax: String, the particle effect name
- If this option is specified then $Ship Death Particles is not a valid option!
$Ship Death Particles:
- Controls the particles released on the moment 'non-knossos' type object dies
- +Max Particles:
- Default Value: 100
- +Min Particles:
- Default Value: 50
- +Max Radius:
- Default Value: 1.5
- +Min Radius:
- Default Value: 0.1
- +Max Lifetime:
- Default Value: 4.0
- +Min Lifetime:
- Default Value: 0.5
- +Max Velocity:
- Default Value: 20.0
- +Min Velocity:
- Default Value: 0.0
- +Normal Variance:
- Default Value: 2.0
$Alternate Death Particles:
- Controls the particles released when 'knossos' type object is dying
- +Max Particles:
- Default Value: 30
- +Min Particles:
- Default Value: 15
- +Max Radius:
- Default Value: 100.0
- +Min Radius:
- Default Value: 30.0
- +Max Lifetime:
- Default Value: 12.0
- +Min Lifetime:
- Default Value: 2.0
- +Max Velocity:
- Default Value: 350.0
- +Min Velocity:
- Default Value: 50.0
- +Normal Variance:
- Default Value: 2.0
$Vaporize Percent Chance:
- Allows ships to sometimes explode instantly instead of going through a death roll first. Overrides the same flag in objecttypes.tbl. Note that this option is misleadingly named; "vaporization" usually refers to a ship exploding into tiny debris shards rather than hull chunks.
- Syntax: Float, percent chance of instant explosion, 0 to 100
$Shockwave Damage Type:
- REQUIRES ADDITIONAL TABLE. Defines the damage type used for the ship explosions
- Syntax: String, name of the armor as defined in armor.tbl
$Shockwave Speed:
- Speed shockwave expands at, 0 means no shockwave
- Syntax: Float, meters per second
$Shockwave Count:
- Defines the number of shockwaves to spawned
- Syntax: Integer
$Shockwave Model:
- Defines the textured model used as the ship's 3D shockwave
- Syntax: String.pof, model filename
$Shockwave Name:
- Defines the name of the animation to used for the 2D shockwave
- Syntax: String, filename
$Shockwave Sound:
Optional sound to be used for the sound heard when for the ship explosion shockwave (default is sound 109).
- Syntax: Integer or String, name or identification number of the sound as defined in sounds.tbl
$Explosion Animations:
- Defines the explosion animations used for the ship
- Syntax: Integer list
$Weapon Model Draw Distance:
- Distance that external weapons are shown, ie. missiles and such.
- Syntax: Float, meters
- Default: 200
Primary Weapons
$Allowed PBanks:
- List of allowed primary weapons in brackets (weapon name marked with quotes).
- Syntax: ( "String" "String" ), names of the weapons
- Each of the primary weapon banks can optionally be given their own list of allowed weapons, in which case each bank has its own bracketed entry.
- Syntax: ( "String" "String" ) ( "String" "String" )
$Allowed Dogfight PBanks:
- Primary weapons for multiplayer dogfights.
- Syntax: ( "String" "String" ), names of the weapons
- Each of the primary weapon dogfight banks can optionally be given their own list of allowed weapons, in which case each bank has its own bracketed entry.
- Syntax: ( "String" "String" ) ( "String" "String" )
$Default PBanks:
- Defines default primary weapons for each of the primary weapon banks
- Syntax: ( "String" "String" ), names of the weapons
$PBank Capacity:
- Defines ammunition capacity of primary weapon banks. In brackets, different weapon banks separated by commas.
- NOTE: In order for this to work, at least one of the primary weapons in the list of default primaries must be a ballistic weapon.
- Syntax: ( Integer, Integer )
$Show Primary Models:
- Defines the use of weapon models for primary weapons. In brackets, different weapon banks may have different definitions
- Syntax: ( Boolean Boolean ), yes or no
- Example: ( YES YES ) - Note the spaces on the insides of the brackets.
Secondary Weapons
$Allowed SBanks:
- Same for secondary weapons.
- Syntax: ( "String" "String" ), names of the weapons
- Each of the secondary weapon banks can be given their own list of allowed weapons, in which case each bank has its own bracketed entry.
- Syntax: ( "String" "String" ) ( "String" "String" )
$Allowed Dogfight SBanks:
- Same for secondary weapons.
- Syntax: ( "String" "String" ), names of the weapons
- Each of the secondary weapon dogfight banks can be given their own list of allowed weapons, in which case each bank has its own bracketed entry.
- Syntax: ( "String" "String" ) ( "String" "String" )
$Default SBanks:
- Defines default primary weapons for each of the primary weapon banks
- Syntax: ( "String" "String" ), names of the weapons
$SBank Capacity:
- Defines ammunition capacity of secondary weapon banks. In brackets, different weapon banks separated by commas.
- Syntax: ( Integer, Integer )
$Show Secondary Models:
- Defines the use of weapon models for secondary weapons. In brackets, different weapon banks may have different definitions
- Syntax: ( Boolean Boolean )
- Example: (YES YES)
- Note: This requires the $External_Model_File entry to be defined in weapons.tbl. Weapons without external models will revert to the standard behaviour.
- Behavior is as follows:
- If your bank carries fewer or as many missiles as the number of gunpoints on your bank, you will have exactly as many external model shown as you have missiles left in your bank (going in the order of gunpoints defined in the POF). External models will disappear when missiles are fired.
- If your bank carries more missiles than you have gunpoints in your bank, then external models will "recoil" (to simulate a reloading animation) every time you fire, and will disappear based on the % of missile left in the bank. Example: you have 2 gunpoints and 4 missiles, the first external model will disappear after you fire the second missile.
- If your weapon uses the "external_model_launcher" flag, then the model will be displayed on all gunpoints and will not recoil nor disappear when fired.
$Ship Recoil Modifier:
- Multiplies the recoil force of a weapon by this value, use a value greater than 1.0 to increase the force, use a value between 1.0 and 0.0 to decrease.
- Syntax: Float (defaults to 1.0)
$Shields:
- Determines the shield strength
- Syntax: Float, total shield strength
+Auto Spread:
- Defines the thickness of auto spread shields. Note that the "auto spread shields" ship flag is also needed.
- Syntax: Float, shield thickness in meters.
+Minimum Weapon Span:
- Determines the minimum distance weapons must have traveled before impacting the shield (for example if fired close to or inside the shield). Does not affect whether the weapon bypasses shields, unless +Allow Bypass (see below) is set to YES. Only valid with auto spread shields.
- Syntax: Float, defaults to the shield thickness.
+Allow Bypass:
- Determines whether weapons which impact on the ship's hull (see +Minimum Weapon Span above) will bypass shields. Only valid with auto spread shields.
- Syntax: Boolean
- Default: NO
+Spread From LOD:
- Causes the auto spread shields calculations to be done based off a LOD level other than LOD0. Using a lower-poly LOD will considerably speed up the shield collision detection, while being visually indistinguishable in most cases.
- Syntax: Integer, defaults to 0
$Model Point Shield Controls:
- Allows remapping of the 4 shield augmentation keys when Model Point Shields are used. You should usually supply as many values as you have shield segments. The first value determines which augmentation key to use for the first shield segment, the second value determines which key to use for the second shield segment, and so on (the order being defined by the order of the shield points in the model file). If less than 4 values are given, "none" is assumed for the missing ones. Note that as there are only 4 augmentation keys, player ships with more than 4 shield segments would generally not be a good idea.
- Syntax: ( String list ), possible values "front", "left", "right", "rear" and "none"
- Example: ( "front" "rear" ) for a ship with only two shield sections, front and rear; the left and right augmentation keys would be disabled.
- Example: ( "left" "rear" "right" ) for a ship with only three shield sections, left, right and rear; the front augmentation key would be disabled.
- Example: ( "front" "right" "rear" "left" ) for a ship with four shield sections but perhaps positioned in a non-standard way.
$Shield Color:
- RGB value for shield color
- Syntax: Color, red, green, blue respectively, value from 0 to 255
- Example: 100, 100, 255
$Shield Impact Explosion:
- Impact explosion animation to trigger when this ship's shields are hit. Works identically for all shield types.
- Note: The size of the explosion is defined by the weapon, see Weapons.tbl#.24Shield_Impact_Explosion_Radius:.
- Syntax: String, filename or none
$Max Shield Recharge:
- Determines a maximum recharge limit of shields. When used, the combined maximum shield energy is lowered, meaning that shield energy can be moved between quadrants even with shields fully charged.
- Syntax: Float, multiplier ranging from 0.0 to 1.0, defaults to 1.0
- Example: $Max Shield Recharge: 0.5 caps the combined shield energy to 50%, meaning that a ship with 4 shield quadrants will by default have 12.5% strength on all quadrants (instead of normal 25%), allowing it to for example augment one quadrant to 50% while dropping other quadrants to 0%.
$Power Output:
- Actually does *NOTHING* unless set to zero; in which case weapon/shield/burner energy regeneration is disabled. Checked via code inspection 2014-12-29
- Syntax: Float
$Shield Regeneration Rate:
- Repair rates for shields at percent per second
- Syntax: Float, multiplier of total shield hitpoints recharged each second. (NOT A PERCENTAGE, 0.02 equals 2% recharged per second)
- Default: 0.02
- Affected by ETS Shields value (1/3rd value recharged per sec at default ETS setting of '4')
- Affected by AI Profile Setting: $Player Shield Recharge Scale:
+Shield Regen Hit Delay:
- Specifies a time delay after being hit by a weapon before the shield may begin regenerating again.
- Syntax: Float, seconds
$Support Shield Repair Rate:
- Shield repair rate when docked to a support ship
- Syntax: Float
$Weapon Regeneration Rate:
- Regeneration rates for primary guns at percent per second
- Syntax: Float, multiplier of total gun energy recharged each second (NOT A PERCENTAGE, 0.04 equals 4% recharged per second)
- Default: 0.04
- Affected by ETS Guns value (1/3rd value recharged per sec at default ETS setting of '4')
- Affected by AI Profile Setting: $Player Weapon Recharge Scale:
$Shield to Weapon Transfer Quantity:
- The fraction of maximum shield capacity to use when making direct shield -> weapon energy transfers.
- Syntax: Float
- Default: 0.2
- Note: default direct transfers have a large and poorly-appreciated impact on ETS balancing. If you care about balancing your ship's weapon and shield recharge rates you are advised to set this to 0.
$Shield to Weapon Transfer Efficiency:
- Syntax: Float
- Default: 1.0
- Note that the amount deposited will be absolute, not relative. For instance, for a ship with 100 weapon energy and 200 shields and default quantity and efficiency, a shield->weapon transfer will deduct 40 shield energy and add 40 weapon energy. It is entirely possible for efficiency to be more than 1.0.
- Unless transfer efficiency is tuned to account for the different charge rates for weapons and shields, direct transfers will tend to make the ETS unbalanced in the hands of an experienced player, as in retail.
$Shield to Weapon Transfer Speed:
- Syntax: Float
- Default:0.04
- When energy is transferred it is instantly deducted from shields, but it must 'trickle' into the weapon capacitor at a fixed fraction per second. This acts as a second bonus recharge on top of whatever the ETS produces.
$Weapon to Shield Transfer Quantity:
$Weapon to Shield Transfer Efficiency:
$Weapon to Shield Transfer Speed:
$Max Oclk Speed:
- Can also be $Max Overclock Speed:
- Maximum velocity with all energy diverted to engines
- Syntax: Float, meters per second
$Max Weapon Eng:
- Can also be $Max Weapon Energy:
- The maximum amount of energy you can store in your primary weapons bank.
- Syntax: Float
$Hitpoints:
- How much damage the ship can take
- Syntax: Float, hitpoints
- Default: 100
$Hull Repair Rate:
- Repair rates for hull at percent per second
- Syntax: Float, percentage of hitpoints repaired per second
$Hull Self Repair Maximum:
- Maximum percentage of total hull strength that the hull will self-repair to.
- Syntax: Float, percentage of hull hitpoints
$Support Hull Repair Rate:
- Repair rate for hull when docked to a support ship
- Syntax: Float
$Subsystem Repair Rate:
- Repair rates for sybsystems percent per second
- Syntax: Value, percentage of total subsystem hitpoints repaired per second
$Subsystem Self Repair Maximum:
- Maximum percentage of total subsystem strength that subsystems will self-repair to.
- Syntax: Float, percentage of subsystems hitpoints
$Support Subsystem Repair Rate:
- Repair rate for subsystems when docked to a support ship
- Syntax: Float
$Armor Type:
- REQUIRES ADDITIONAL TABLE. Defines armor type used for the ship
- Syntax: String, name of the armor as defined in armor.tbl
$Shield Armor Type:
- REQUIRES ADDITIONAL TABLE. Defines the armor type used for shield of the ship
- Syntax: String, name of the armor as defined in armor.tbl
$Flags:
- See below
- Syntax: ( "String" "String" ), names of the flags assigned to the ship
- Example: ( "fighter" "in tech database" )
- +noreplace
- Can be used to force game to retain existing flags instead of reseting the ship flags before parsing in the new flags.
$AI Class:
- Default AI class
- Syntax: String, name of the AI class as defined in ai.tbl
$Afterburner:
- Defines if the ships has afterburner
- Syntax: Boolean, yes or no
+Aburn Max Vel:
- Syntax: Vector, three floats, x-axis, y-axis, z-axis, respectively, meters per second
+Aburn For accel:
- Defined only for the forward acceleration. In same format as $Forward Accel
- Syntax: Float, seconds
+Aburn Max Reverse Vel:
- Defined only for the reverse acceleration, Sets the top speed for Reverse Afterburner.
- Syntax: Float, seconds
- NOTE: Requires $Rear Velocity: to be set in order to work.
+Aburn Rev accel:
- Defined only for the reverse acceleration. In same format as $Forward Accel
- Syntax: Float, seconds
+Aburn Fuel:
- Amount of afterburner fuel the ship has
- Syntax: Float, fuel
+Aburn Burn Rate:
- Rate the fuel is consumed when afterburner is engaged (in units per seconds)
- Syntax: Float, fuel units per second
+Aburn Rec Rate:
- Rate the fuel is restored.
- Exact fuel recharged per second is given by the ETS value (as a percentage of total power output) multiplied by twice the tabled recharge rate, and then multiplied by the difficulty setting.
- Syntax: Float, fuel units per second
+Aburn Minimum Start Fuel:
- Minimum afterburner fuel the ship must have before allowed to afterburn.
- Syntax: Float, fuel
+Aburn Minimum Fuel to Burn:
- Forces the ship to afterburn until at least this much fuel is used, or it runs out of fuel.
- Syntax: Float, fuel
+Aburn Cooldown Time:
- How much time must have elapsed since the last afterburn finished to allow afterburning again.
- Syntax: Float, seconds
$Trails:
- Allows afterburner trails to be used
+Bitmap:
- Texture used to draw the afterburner trail
- Syntax: String, filename
+Bitmap Stretch:
- Multiplies how far the bitmap is stretched over each trail segment.
- Syntax: Float
- Default:1
+Width:
- Width of afterburner trail at the beginning of it (ie. the thruster end)
- Syntax: Float, meters
+Alpha:
- Transparancy of the trail, value from 1 (non-transparent) to 0 (totally transparent)
- Syntax: Float
+Alpha Decay Exponent:
- Causes the trail to fade away non-linearly. The 0 -> 1 progress through the trail's life is taken to the power of the provided number when being used for trail alpha purposes
- Smaller numbers below 1 cause the trail to fade away very slowly at first, and then suddenly at the end. Larger numbers above 1 cause it to fade away quickly at first, and then slow down for most of its life.
- Syntax: Float, positive
- Default:1
+Life:
- How long the trail will last
- Syntax: Float, seconds
+Spread:
- Causes the trail points to diffuse and drift apart at this speed over time.
- Syntax: Float, meters per second
+Faded Out Sections:
- Defines the number of the trail sections from the leading edge that are gradually faded away.
- Syntax: Integer
$Countermeasure Type:
- Defines the weapon used as a countermeasure. Weapon does not have to be included in the countermeasure section of the weapons.tbl, but it has to have "countermeasure" flag in that case.
- Syntax: String, name of the weapon as defined in weapons.tbl
$Countermeasures:
- Number of countermeasures that can be loaded to the ship
- Syntax: Integer
$Scan Time:
- Time it takes to scan the ship
- Syntax: Integer, milliseconds
$Scan range Normal:
- Distance at which the ship can scan other small ships or large ship subsystems
- Syntax: Float, distance
$Scan range Capital:
- Distance at which the ship can scan capital (& similar size) ships
- Syntax: Float, distance
$Scanning time multiplier:
- A factor to apply to scan time when this ship is doing the scanning
- Syntax: Float
$Scanning range multiplier:
- A factor to apply to scan distance when this ship is doing the scanning
- Syntax: Float
$Ask Help Shield Percent:
- Percentage of shield damage at which the ship will send a call for assistance message.
- Syntax: Float, percentage. Valid range 0.0-1.0
$Ask Help Hull Percent:
- Percentage of hull damage at which the ship will send a call for assistance message.
- Syntax: Float, percentage. Valid range 0.0-1.0
$EngineSnd:
- Engine sound used for the ship with number referring to sounds.tbl
- Syntax: Integer or String, name or identification number of the sound as defined in sounds.tbl
$Minimum Engine Volume:
- Specifies how to multiply the volume of the engine sound based on ship speed. When the ship is stationary, the engine volume will be multiplied by the given value, with the value approaching 1.0 as the ship speed approaches maximum.
- Note: Default behavior is to ramp the multiplier from 0.5 (when ship is stationary) to 1.0 (when ship is at half speed or more).
- Syntax: Float, volume multiplier, usually you'll want a value between 0.0 and 1.0
$GlideStartSnd:
- Optional sound to be used when entering glide mode, instead of the default throttle down sound.
- Syntax: Integer or String, name or identification number of the sound as defined in sounds.tbl
$GlideEndSnd:
- Optional sound to be used when exiting glide mode, instead of the default throttle up sound.
- Syntax: Integer or String, name or identification number of the sound as defined in sounds.tbl
$Flyby Sound
- Optional sound to be used for the fly-by sound
- Syntax: Integer or String, name or identification number of the sound as defined in sounds.tbl
$CockpitEngineSnd
- Optional sound to be used for looping engine sound heard in the cockpit.
- Syntax: Integer or String, name or identification number of the sound as defined in sounds.tbl
$FullThrottleSnd
- Optional sound to be used for the sound heard when setting throttle to full power.
- Syntax: Integer or String, name or identification number of the sound as defined in sounds.tbl
$ZeroThrottleSnd
- Optional sound to be used for the sound heard when setting throttle to zero power
- Syntax: Integer or String, name or identification number of the sound as defined in sounds.tbl
$ThrottleUpSnd
- Optional sound to be used for the sound heard when increasing throttle power by 1/3
- Syntax: Integer or String, name or identification number of the sound as defined in sounds.tbl
$ThrottleDownSnd
- Optional sound to be used for the sound heard when decreasing throttle power by 1/3
- Syntax: Integer or String, name or identification number of the sound as defined in sounds.tbl
$AfterburnerSnd
- Optional optional sound to be used for the looping sound heard when the afterburner is active
- Syntax: Integer or String, name or identification number of the sound as defined in sounds.tbl
$AfterburnerEngageSnd
- Optional optional sound to be used for the sound heard when the afterburner is engaged
- Syntax: Integer or String, name or identification number of the sound as defined in sounds.tbl
$AfterburnerFailedSnd
- Optional sound to be used for the sound heard when the activation of the afterburner failed
- Syntax: Integer or String, name or identification number of the sound as defined in sounds.tbl
$MissileTrackingSnd
- Optional sound to be used for the sound heard when a aspect seeking missile of the player tries to acquire a lock
- Syntax: Integer or String, name or identification number of the sound as defined in sounds.tbl
$MissileLockedSnd
- Optional sound to be used for the sound heard when a aspect seeking missile of the player has acquired a lock
- Syntax: Integer or String, name or identification number of the sound as defined in sounds.tbl
$PrimaryCycleSnd
- Optional sound to be used for the sound heard when the player cycles his primary weapon
- Syntax: Integer or String, name or identification number of the sound as defined in sounds.tbl
$SecondaryCycleSnd
- Optional sound to be used for the sound heard when the player cycles his secondary weapon
- Syntax: Integer or String, name or identification number of the sound as defined in sounds.tbl
$TargetAcquiredSnd
- Optional sound to be used for the sound heard when the player acquires a new target
- Syntax: Integer or String, name or identification number of the sound as defined in sounds.tbl
$PrimaryFireFailedSnd
- Optional sound to be used for the sound heard when the primary weapon fails to fire
- Syntax: Integer or String, name or identification number of the sound as defined in sounds.tbl
$SecondaryFireFailedSnd
- Optional sound to be used for the sound heard when the secondary weapon fails to fire
- Syntax: Integer or String, name or identification number of the sound as defined in sounds.tbl
$HeatSeekerLaunchWarningSnd
- Optional sound to be used for the sound heard when a heat-seeker is fired at the player
- Syntax: Integer or String, name or identification number of the sound as defined in sounds.tbl
$AspectSeekerLaunchWarningSnd
- Optional sound to be used for the sound heard when an aspect-seeker is fired at the player
- Syntax: Integer or String, name or identification number of the sound as defined in sounds.tbl
$MissileLockWarningSnd
- Optional sound to be used for the sound heard when an aspect-seeker is locked onto the player
- Syntax: Integer or String, name or identification number of the sound as defined in sounds.tbl
$HeatSeekerProximityWarningSnd
- Optional sound to be used for the sound heard when a heat-seeker is in close proximity to the player
- Syntax: Integer or String, name or identification number of the sound as defined in sounds.tbl
$AspectSeekerProximityWarningSnd
- Optional sound to be used for the sound heard when an aspect-seeker is in close proximity to the player
- Syntax: Integer or String, name or identification number of the sound as defined in sounds.tbl
$MissileEvadedSnd
- Optional sound to be used for the sound heard when a missile has been evaded
- Syntax: Integer or String, name or identification number of the sound as defined in sounds.tbl
$CargoScanningSnd
- Optional sound to be used for the sound heard when the cargo of an object is being scanned
- Syntax: Integer or String, name or identification number of the sound as defined in sounds.tbl
$DeathRollSnd
- Optional sound to be used for the sound heard when the ship enters its death roll
- Syntax: Integer or String, name or identification number of the sound as defined in sounds.tbl
$ExplosionSnd
- Optional sound to be used for the sound heard when the ship explodes
- Syntax: Integer or String, name or identification number of the sound as defined in sounds.tbl
$SubsysExplosionSnd
- Optional sound to be used for the sound heard when a subsystem on this ship explodes
- Syntax: Integer or String, name or identification number of the sound as defined in sounds.tbl
$Closeup_pos:
- How the model will show at techroom and briefing screen animations (assuming a pre-rendered animation is not specified). The position of the camera relative to the model in the tech room and the target box view. If 3D ship selection is used, also affects the drawing of the ship icon in the weapon & ship selection briefing screens.
- Syntax: Vector, three floats, x, y and z values respectively
$Closeup_zoom:
- How the model will show at techroom and briefing screen animations (assuming a pre-rendered animation is not specified). How far the camera's zoomed in, defines camera's FOV. If 3D ship selection is used, also affects the drawing of the ship icon in the weapon & ship selection briefing screens.
- Syntax: Float, radians
$Closeup_pos_targetbox:
- Optional value to set for the position of the camera relative to the model in the HUD target box view. If not set then the value for $Closeup_pos: will be used.
- Syntax: Vector, three floats, x, y and z values respectively
$Closeup_zoom_targetbox:
- Optional value to set how the model will show in the HUD target box view. How far the camera's zoomed in, defines camera's FOV. If not set then the value for $Closeup_zoom: will be used.
- Syntax: Float, radians
$Topdown Offset:
- Specifies how high the camera is above the center point of a ship in topdown camera views, or 2D missions.
- Syntax: Float, meters
$Chase View Offset:
- Specifies a custom camera position when the ship is being viewed in the chase camera.
- Syntax: Vector, three floats, x, y and z values respectively in meters
$Chase View Rigidity:
- Specifies how 'rigidly' the camera adheres to the 'rest' position of the chase view camera when doing maneuvers or changing speed.
- Syntax: Float
- Defaults to 5.0.
$Shield_Icon:
- This .ani file must be at data/hud and included to the hud.tbl.
- Reference to the hud.tbl is no longer needed.
- Syntax: Filename
$Model Icon Direction:
- The direction from which the ship should be drawn from, if $Ship_Icon is not used and the ship icon is generated from the model.
- By default, the direction is based on whether the game thinks the ship is a small ship, a capship or an installation.
- Syntax: String, one of "top", "bottom", "front", "back", "left" or "right"
$Ship_Icon:
- The icon used in ship selection.
- Ship model is used by default to generate the image.
- Syntax: Filename
$Ship_Anim:
- The glowing green grid animation used in ship selection.
- Ship model is used by default to generate the image.
- Syntax: String, filename
$Ship_Overhead:
- The overhead view used in the weapons loadout.
- Ship model is used by default to generate the image.
- Syntax: String, filename
$Wingmen Gauge Dot Override:
- (Optional) Defines an animation to use for the dots in the wingmen status gauge. Overrides 'Dot Filename:' under the '+Wingman Status:' entry in Hud_gauges.tbl
- Must be an animation with two frames.
- Syntax: String, filename
$Briefing icon:
- Defines if the ship has its own briefing icon information which overrides the standard briefing icon image
+Regular:
- Syntax: <regular anim filename>
+Fade:
- Syntax: <fade anim filename>
+Highlight:
- Syntax: <highlight anim filename>
$Briefing icon with cargo:
- Defines if the ship has its own cargo briefing icon (which will only be an option if a ship icon is also specified)
+Regular:
- Syntax: <regular anim filename>
+Fade:
- Syntax: <fade anim filename>
+Highlight:
- Syntax: <highlight anim filename>
$Briefing wing icon:
- Defines if the ship has its own wing briefing icon (which will only be an option if a ship icon is also specified)
+Regular:
- Syntax: <regular anim filename>
+Fade:
- Syntax: <fade anim filename>
+Highlight:
- Syntax: <highlight anim filename>
$Briefing wing icon with cargo:
- Defines if the ship has its own wing-with-cargo briefing icon (which will only be an option if a ship icon is also specified)
+Regular:
- Syntax: <regular anim filename>
+Fade:
- Syntax: <fade anim filename>
+Highlight:
- Syntax: <highlight anim filename>
$Score:
- Points awarded for destroying the ship
- Syntax: Float
Customized Thruster Effects
- Defines the texture of the modeled thruster effect cone
- $Thruster Normal Flame:
- Syntax: String, filename
- Defines the texture of the modeled thruster effect cone with afterburners lit
- $Thruster Afterburner Flame:
- Syntax: String, filename
- Defines the primary thruster glow - the one visible only from behind
- $Thruster Bitmap 1:
- Defines the effect for the standard drives. Overrides Species_defs.tbl line +Normal: under the $Thrustglows: entry.
- Syntax: String, filename
- $Thruster Bitmap 1a:
- Defines the effect for the afterburner. Overrides Species_defs.tbl line +Afterburner: under the $Thrustglows: entry.
- Syntax: String, filename
- $Thruster01 Radius factor:
- Defines the radius multiplier
- Syntax: Float
- $Thruster Bitmap 1:
- Defines the secondary glow type-effect for thrusters - the feathery trail like haze behind the main glow
- $Thruster Bitmap 2:
- Defines the effect for the standard drives. Overrides Species_defs.tbl line +Sec_Normal: under the $ThrustAnims: entry.
- Syntax: String, filename
- $Thruster Bitmap 2a:
- Defines the effect for the afterburner. Overrides Species_defs.tbl line +Sec_Afterburn: under the $ThrustAnims: entry.
- Syntax: String, filename
- $Thruster02 Radius factor:
- Defines the radius multiplier
- Syntax: Float
- $Thruster02 Length factor:
- Defines the length multiplier for the trail type (secondary) glowpoint thrusters
- Replaces the older $Thruster01 Length factor:
- Syntax: Float
- $Thruster Bitmap 2:
- Defines the tertiary glow type-effect for thrusters - the one visible from all directions
- NOTE: The rotation of this effect is jittered, which can look quite bad with certain types of effects.
- $Thruster Bitmap 3:
- Defines the effect for the standard drives. Overrides Species_defs.tbl line +Ter_Normal: under the $ThrustAnims: entry.
- Syntax: String, filename
- $Thruster Bitmap 3a:
- Defines the effect for the afterburner. Overrides Species_defs.tbl line +Ter_Afterburn: under the $ThrustAnims: entry.
- Syntax: String, filename
- $Thruster03 Radius factor:
- Defines the radius multiplier
- Syntax: Float
- Defines the distortion effect for thrusters
- $Thruster Bitmap Distortion:
- Defines name of normal thruster distortion envelope animation. Overrides Species_defs.tbl line +Dist_Normal: under the $ThrustAnims: entry.
- Syntax: String, filename
- $Thruster Bitmap Distortion a:
- Defines name of afterburner thruster distortion envelope animation. Overrides Species_defs.tbl line +Dist_Afterburn: under the $ThrustAnims: entry.
- Syntax: String, filename
- $Thruster Distortion Radius factor:
- Defines the radius multiplier
- Syntax: Float
- $Thruster Distortion Length factor:
- Defines the length multiplier for the thruster distortion
- Syntax: Float
- $Thruster Distortion:
- Defines whether the distortion effect is rendered for this ship.
- Syntax: Bool
- $Thruster Bitmap Distortion:
- $Thruster Glow Noise Mult:
- A multiplier for how much noise is applied to the thruster glow radius. A value of 0 causes the radius to remain perfectly steady and values higher than 1 cause the radius to fluctuate more than the default.
- Defaults to 1.0.
- Syntax: Float
$Thruster Particles:
- Defines the alternative particle thruster
- $Thruster Particle Bitmap: OR $Afterburner Particle Bitmap:
- 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 at least 1 existing particle thruster entry.
- Syntax: String, filename
- $Min Radius:
- Defines the minimum radius of new particles
- Syntax: Float, meters
- $Max Radius:
- Defines the maximum radius of new particles
- Syntax: Float, meters
- $Min Created:
- Defines the minimum amount of particles created
- Syntax: Float
- $Max Created:
- Defines the maximum amount of particles created
- Syntax: Float
- $Variance:
- Value that describes the randomness of particle generation, values close to 0 will cause particles to spew very close to the thrusters normal while values close 1 will cause some particles to be spewed even to opposite direction
- Syntax: Float
$Stealth:
- Defines: Ship behaves as a stealth-ship: non-targettable, and not on radar.
$Max Decals:
- Defines: Maximum number of weapon decals on a ship
- Syntax: Integer, maximum number of decals on ship
- Default: 50 for anything below cruiser size, 100 for anything below superdestroyer/installation size, 300 for anything above destroyer size, 10 for everything else.
- Feature disabled. Parsing retained to maintain compatibility
$Trail:
- These are the origins of the white contrails that appear in the nebula missions. Ship may have multiple trails.
- +ClearAll
- Clears all existing trail data from the ship
+Offset:
- The position of the contrail's head
- Syntax: Vector, three floats, x, y and z values respectively, relative to the center point of the model
+Start Width:
- The width of the contrail's head
- Syntax: Float, meters
+End Width:
- The width of the contrail's tail
- Syntax: Float, meters
+Start Alpha:
- The opacity of the contrail's head
- Syntax: Float, value between 0 and 1
+End Alpha:
- The opacity of the contrail's tail
- Syntax: Float, value between 0 and 1
+Alpha Decay Exponent:
- Causes the trail to fade away non-linearly. The 0 -> 1 progress through the trail's life is taken to the power of the provided number when being used for trail alpha purposes
- Smaller numbers below 1 cause the trail to fade away very slowly at first, and then suddenly at the end. Larger numbers above 1 cause it to fade away quickly at first, and then slow down for most of its life.
- Syntax: Float, positive
- Default:1
+Max Life:
- How long the contrail remains
- Syntax: Float', seconds
+Spread:
- Causes the trail points to diffuse and drift apart at this speed over time.
- Syntax: Float, meters per second
+Spew Time:
- Time in milliseconds to create new trail points, lower means less 'jagged' trails.
- Syntax: Integer
+Bitmap:
- The image to use for the contrail.
- Syntax: String, filename
+Bitmap Stretch:
- Multiplies how far the bitmap is stretched over each trail segment.
- Syntax: Float
- Default:1
+Faded Out Sections:
- Defines the number of the trail sections from the leading edge that are gradually faded away.
$Thruster:
- Defines maneuvering thrusters. Ship may have multiple $Thrusters defined.
- +Index:
- Defines the index number of the manoeuvring thruster defined in this entry
- Syntax: Integer
- +Used For:
- This field may be omitted, and the activation of the thruster will be calculated automatically based on its position and direction.
- Defines the maneuver that triggers the maneuvering thruster
- 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
- THESE NAMES MAY BE MISLEADING FOR YOU.
- 'Roll left' and 'Roll right' are actually yaw, activated when the ship rotates around its top-bottom axis.
- 'Bank left' and 'Bank right' are actually roll, activated when the ship rotates around its front-back axis.
- 'Yaw left' and 'Yaw right' are now valid strings for this field. 'Roll left' and 'Roll right' are still recognized for compatibility.
- Syntax: ("String" "String")
- Allows one or more strings, does not have a set limit.
- +Position:
- Defines thruster location
- Syntax: ( Float Float Float ), position from the ships center point, x, y, z axis respectively
- +Normal:
- Defines the direction where the thruster points to
- Syntax: ( Float Float Float ), direction of the thrusters normal, x, y, z axis respectively
- +Texture:
- Defines the graphic that will be used for trail, rendered like beams
- Syntax: String, filename
- +Radius:
- Defines the radius of cylinder
- Syntax: Float, meters
- +Length:
- Defines the length of thruster trail
- Syntax: Float, meters
- +StartSnd:
- Defines the sound played when the thruster is started
- Syntax: Integer or String, name or identification number of the sound as defined in sounds.tbl
- +LoopSnd:
- Defines the sound played when the thruster is continuously used
- Syntax: Integer or String, name or identification number of the sound as defined in sounds.tbl
- +StopSnd:
- Defines the sound played when the thruster is shutting down
- Syntax: Integer or String, name or identification number of the sound as defined in sounds.tbl
$Glowpoint overrides:
- Creates a point that casts light onto ships and objects with the source being a glowpoint defined in the model file.
- Syntax: ( "String:Integer" )
- String refers to name in glowpoints.tbl
- Essentially, [Name_of_glowpoint_override_in_glowpoints.tbl]:[Bank_in_POF]. If there is no override entry then the game will not generate a light. If you have multiple banks that use the same override, use a comma if they are not in order (2,4,7) and use a dash if they are in order (3-5 yields 3, 4, and 5).
- Example: $Glowpoint overrides: ( "teal_glow_10:1" "red_glow:2,3" "white_glow_10:4" "red_glow_10:5" "green_glow_10:6")
$Radar Image 2D:
- Defines the bitmap used to represent the ship on the radar screen.
- Syntax: Filename
- $Radar Color Image 2D:
- Defines the color bitmap used to represent the ship on the radar screen.
- Syntax: Filename
- $Radar Image Size:
- Defines the size of the bitmap on the radar screen (length of the longer dimension)
- Syntax: Integer
- $3D Radar Blip Size Multiplier:
- Defines the multiplier used for blip size on the 3D radar.
- Syntax: Float
$Ship IFF Colors:
- Defines the alternate color for the ship. Affects both the targeting brackets as well as the radar screen.
- +Seen By:
- Defines the IFF actually viewing the object (most often 'Friendly')
- Syntax: String, name of an IFF class.
- +When IFF Is:
- Defines the IFF which the ship has to have for its color to be altered.
- Syntax: String, name of an IFF class.
- +As Color:
- Defines the new color of the ship's targeting brackets and radar blip
- Syntax: Integer list, red, blue and green respectively
$Target Priority Groups:
- Defines into which target priority groups the ship belongs to
- Syntax: String list, names of the targeting groups
- +Override
- Overrides the ships existing groupings
$EMP Resistance Modifier:
- Defines the ships EMP resistance modifier:
- Syntax: Float
$Piercing Damage Draw Limit:
- Defines the maximum percentage of hitpoints ship has before piercing effects are enabled
- Syntax: Float
- Example: 10, sets the limit to 10%
$Path Metadata:
- Allows definition of extra metadata
- Syntax: String, name of the path as defined in the ship POF file.
- Example: $Path Metadata: $Bay01
+arrival rvec:
- When using this path to arrive via fighterbay, the arriving ship will rotate to align itself with this rvec (so the right side of the ship is pointing in this direction). Only affects paths used to arrive via fighterbay.
- Syntax: Vector, three floats, x-axis, y-axis, z-axis, respectively
+departure rvec:
- When using this path to depart via fighterbay, the departing ship will rotate to align itself with this rvec (so the right side of the ship is pointing in this direction). Only affects paths used to depart via fighterbay.
- Syntax: Vector, three floats, x-axis, y-axis, z-axis, respectively
+arrive speed multiplier:
- Modifies the speed of ships arriving from a fighterbay using this path. See Ai_profiles.tbl#.24bay_arrive_speed_multiplier: for details.
- Syntax: Float
+depart speed multiplier:
- Modifies the speed of ships departing to a fighterbay using this path. See Ai_profiles.tbl#.24bay_depart_speed_multiplier: for details.
- Syntax: Float
$Passive Lightning Arcs:
- Creates a 'lightning arc' between two points on the ship's hull, like when the ship is EMP'd or damaged, but naturally and fixed to two points on the ship.
- This section can be repeated.
- All subfields are required
+Submodel 1:
- The name of the name of the submodel the first end is connected to.
- Note that the arc will not move along with a submodel while it is animating (but it will be initially created in the correct position). In the case of an animating submodel, it is recommended to use very short durations/frequencies.
- Syntax: String
+Position 1:
- The position on the ship this end is attached to, relative to the origin of the entire ship.
- Syntax: Vector, three floats, x-axis, y-axis, z-axis, respectively
+Submodel 2:
+Position 2:
- The same as the above for the other end of the arc.
+Duration:
- How long the arc persists while active.
- Syntax: Float, seconds
+Frequency:
- How long after creating an arc it should wait before creating another.
- Syntax: Float, seconds
+Primary color 1:
- The first primary color of the arc, chosen randomly between color 1 and 2.
- Syntax: three Integers, 0-255
+Primary color 2:
- The second primary color of the arc, chosen randomly between color 1 and 2.
- Syntax: three Integers, 0-255
+Secondary color:
- The secondary color of the arc. This is the inner color, usually close to white.
- Syntax: three Integers, 0-255
$Animations:
- The new way of specifying triggered animations, replacing the subsystem-based definitions
- See Animation.tbl
- Syntax: ( "String" "String" ), names of the animations for this ship, as defined in the Animation.tbl
- Example: ( "wingflap" "docksequence" )
$Driven Animations:
- See Animation_Drivers#Parsing (+Driver Set:)
- Driven animations are not compatible with $Animations! If you need animations without drivers, create a driver set that has no driver and list all animations in it's +Affected Animations:
$Animation Moveables:
- Like $Animations: but for specific in-mission adjustable moveable animations.
- See Animation.tbl
- Syntax: ( "String" "String" ), names of the moveable animations for this ship, as defined in the Animation.tbl
- Example: ( "wingflap" "docksequence" )
$Custom data:
Defines a set of custom data that for this ship class, which can then be accessed through Lua scripts. There can be any amount of +Val: entries. It requires a $end_custom_data entry at the end. Check the scripting documentation of Ship Class to find the CustomData Lua Table.
+Val:
Specifies a custom data value and its name, in the format
+Val: Name Value
These values will always be strings of text. If you use them in Lua as other types of value, you might need to convert them in the script.
$end_custom_data
Mandatory entry to indicate that the Custom Data list has ended.$Subsystem:
- Main article: Subsystem
Ships.tbl flags
"no_collide"
- Defines ship as non-collideable, ie. everything will go through it
"player_ship"
- Makes it possible for the player to fly the ship
"default_player_ship"
- Makes this ship as a default part of the loadout options in FRED
Ship Type
- Flags in this section are used to define the type of the ship
- Use only one ship type flag per table entry
- New ship types can be defined in objecttypes.tbl
"repair_rearm" or "support"
- Defines the ship as repair and rearm vessel and sets AI behaviour accordingly
"cargo"
- Defines ship as a cargo crate and also sets the AI behaviour
- In FS1/FS2 ships that are marked with this flag cannot accept any player orders
"fighter"
- Defines ship as a fighter and also sets the AI behaviour
- In FS1/FS2 only ships flagged as fighters or bombers can accept the full set of player orders
"bomber"
- Defines ship as a bomber and also sets the AI behaviour
- In FS1/FS2 only ships flagged as fighters or bombers can accept the full set of player orders
"transport"
- Defines ship as a transport and also sets the AI behaviour
"freighter"
- Defines ship as a freighter and also sets the AI behaviour
"capital"
- Defines ship as a capital ship and also sets the AI behaviour
- By default, the ship's subsystems are scannable (this can be overridden by mission designers)
- The ship will warp out without ramping up to warpout speed
- When using the "Knossos" warpout, this ship will aim for the center of the portal
"supercap" or "super cap"
- Defines ship as a super capital ship and also sets the AI behaviour
- The following things are true for all ships with this flag:
- When hit by debris, damage dealt by the collision is capped to between 10 and 20% of the ship's health maximum (determined randomly for each collision)
- All damage dealt by weapons without the corresponding supercap flag from weapons.tbl will be reduced by 75%
- In addition, once the ship is at or below 75% health, damage from non-supercap weapons is completely negated
- Do note that shockwave damage, regardless of origin, is not subject to these rules unless the "$Weapon shockwave damage respects huge ship flags:" setting in game_settings.tbl is set to true
- Ship subsystems are scannable by default (can be overridden by mission designers)
- The ship does not need to ramp up to warpout speed before entering subspace
- When using the "Knossos" warpout, the ship will aim for a departure point at the center of the Knossos portal
"drydock"
- Defines ship as a drydock and also sets the AI behaviour
"cruiser"
- Defines ship as a cruiser and also sets the AI behaviour
- Defines ship as a navbuoy and also sets the AI behaviour
- In FS1/FS2 ships that are marked with this flag cannot accept any player orders
"sentrygun" or "sentry gun"
- Defines ship as a sentrygun and also sets the AI behaviour
- In FS1/FS2 ships that are marked with this flag cannot accept any player orders
"escapepod" or "escape pod"
- Defines ship as a escapepod and also sets the AI behaviour
- In FS1/FS2 ships that are marked with this flag cannot accept any player orders
"corvette"
- Defines ship as a corvette and also sets the AI behaviour
"gas miner"
- Defines ship as a gas miner and also sets the AI behaviour
"awacs"
- Defines ship as a AWACS and also sets the AI behaviour
"knossos" or "knossos device"
- Defines ship as a Knossos and also sets the AI behaviour
- In FS1/FS2 ships that are marked with this flag cannot accept any player orders
"stealth"
- Defines ship as a stealth-ship: non-targetable, and not on radar.
"no type"
- Does not enable any type-specific behavior
"ship copy"
- Defines the ship as a copy of another ship. For ships which have this flag and are a hash-variant of another ship (like SF Dragon and SF Dragon#2 (Weakened)), the ship copy will be listed on the scoreboard as the original ship. This only affects the listing, not the score.
"in tech database"
- Includes ships description to the tech database from the beginning of the campaign
"in tech database multi"
- Includes the ship to multiplayer tech database
"don't collide invisible" or "dont collide invisible"
- Defines invisible textures as non-collidable (For example, a hangar entrance)
"big damage"
- Limits the damage made to the ship by non-huge weapons.
"no_fred"
- Ship will not appear in any of the FRED dropdown lists for ship classes.
"ballistic primaries"
- Enables the ship to use ballistic primaries
- No longer needed; game handles it automatically
"flash"
- Makes a flash when a ship dies
"surface shields"
- Shots that impact the hull are applied to shields, regardless of if the ship has a modelled shield mesh.
"show ship"
- Enable rendering the ship even when the ship is a player ship
- Will result in the player's ship model being rendered, when in cockpit mode
"generate icon"
- Creates a HUD shield icon from the model itself
no weapon damage scaling"
- Weapons that impact this ship will not by scaled according to 'big damage' or supercap rules
"gun convergence"
- Enables ship to use the firing points' normals in defining the direction where the weapon fire
"no thruster geometry noise"
- Prevents noise from being added to the thruster effects geometry
"intrinsic no shields"
- Defines that ship has no shields by default, to allow mixing and matching shielded and unshielded craft in loadout
"dynamic primary linking"
- Allows this ship use the primary firepoint cycling code. With a key bind added in 3.6.13, you can toggle between various factorizations of primary firepoint groupings on a per-primary bank basis. So a 4-firepoint bank could cycle through all four firepoints firing together (1x4), each firepoint firing individually (4x1, all 4 firing over the timespan of the bank cooldown, so no change in damage over time, or DPS, occurs from retail behavior), or firing in pairs (2x2).
"no primary linking"
- Bypasses linked primaries while cycling. Does not block SEXPs/scripts that might be able to lock them, only the act of cycling for players and determing whether to link or not for AI.
"no pain flash"
- Prevents pain flash from being shown when ship is hit
"no ets"
"no lighting"
"auto spread shields"
"model point shields"
"repair disabled subsystems"
"don't bank when turning"
"don't clamp max velocity"
"instantaneous acceleration"
"large ship deathroll"
"no impact debris"
Wing Formations
$Name:
- Provides a unique name for the formation, followed by the list of positions occupied by each member of the wing relative to their leader. The leader is always at 0,0,0 and is omitted, so the first position is the second in the wing, and second is the third in the wing, etc. Each formation must contain all 5 positions.
- NOTE: FSO automatically scales these these positions by the ship's size, so the table values will be very small. You can see the retail formation's values below for reference.
- Syntax: (a list of 5 Vectors), each has three floats, x-axis, y-axis, z-axis, respectively
Example
#Wing Formations $Name: Default ((-0.39, 0.20, -0.59) ( 0.39, 0.20, -0.59) (-0.78, 0.39, -1.18) ( 0.00, 0.39, -1.18) ( 0.78, 0.39, -1.18)) #End
Player Ship Precedence
- Syntax: ( "String" "String")
Example
$Player Ship Precedence: ( "GTF Ulysses" "GTF Hercules" "GTB Medusa" "GTB Ursa" )
Sample
#Default Player Ship $Name: GTF Ulysses #End #Engine Wash Info $Name: Default $Angle: 10.0 $Radius Mult: 1.2 $Length: 400 $Intensity: 1.0 #End #Ship Classes $Name: GTF Ulysses $Short name: TFight $Species: Terran +Type: XSTR("Space Superiority", -1) +Maneuverability: XSTR("Excellent", -1) +Armor: XSTR("Light", -1 +Manufacturer: XSTR("Triton / Mekhu", -1) +Description: XSTR( " ", -1) $end_multi_text +Tech Description: XSTR("Descriptive text", -1) $end_multi_text +Length: 16 m +Gun Mounts: 4 +Missile Banks: 1 $POF File: fighter01.pof $Detail Distance: (0, 80, 300, 900) $ND: 42 42 244 $Show Damage: YES $Density: 1 $Damp: 0.1 $Rotdamp: 0.35 $Max Velocity: 0.0, 0.0, 70.0 $Rotation Time: 3.0, 2.6, 5.0 $Rear Velocity: 0.0 $Forward Accel: 2.0 $Forward Decel: 1.5 $Slide Accel: 0.0 $Slide Decel: 0.0 $Expl Inner Rad: 25.0 $Expl Outer Rad: 55.0 $Expl Damage: 15.0 $Expl Blast: 1000.0 $Expl Propagates: NO $Shockwave Speed: 0.0 $Allowed PBanks: ( "Subach HL-7" "Prometheus R") $Allowed Dogfight PBanks: ( "Subach HL-D" "Prometheus D" ) $Default PBanks: ( "Subach HL-7" "Prometheus R" ) $Allowed SBanks: ( "Rockeye" "Tempest" ) $Allowed Dogfight SBanks: ( "Tempest D" "Hornet D" ) $Default SBanks: ( "Harpoon" ) $SBank Capacity: ( 40 ) $Shields: 380 $Shield Color: 100 100 255 $Power Output: 2.0 $Max Oclk Speed: 94.0 $Max Weapon Eng: 80.0 $Hitpoints: 180 $Flags: ( "player_ship" "default_player_ship" "fighter" "in tech database") $AI Class: Captain $Afterburner: YES +Aburn Max Vel: 0.0, 0.0, 150.0 +Aburn For accel: 0.7 +Aburn Fuel: 300.0 +Aburn Burn Rate: 50.0 +Aburn Rec Rate: 25.0 $Countermeasures: 25 $Scan Time: 2000 $EngineSnd: 128 $Closeup_Pos: 0.0, 0.0, -22 $Closeup_Zoom: 0.5 $Shield_Icon: shield-f01 $Ship_Icon: iconfighter01 $Ship_Anim: ssfighter01 $Ship_Overhead: loadfighter01 $Score: 8 $Trail: +Offset: -7.75 -2.8 0.75 +Start Width: 0.25 +End Width: 0.05 +Start Alpha: 1.0 +End Alpha: 0.0 +Max Life: 1.0 +Spew Time: 60 +Bitmap: Contrail01 $Trail: +Offset: 7.75 -2.8 0.75 +Start Width: 0.25 +End Width: 0.05 +Start Alpha: 1.0 +End Alpha: 0.0 +Max Life: 1.0 +Spew Time: 60 +Bitmap: Contrail01 $Subsystem: communication, 10, 0 $Subsystem: navigation, 10, 0 $Subsystem: weapons, 20, 0 $Subsystem: sensors, 10, 0 $Subsystem: engines, 35, 0 #End $Player Ship Precedence: ( "GTF Ulysses")