Difference between revisions of "Ships.tbl"

From FreeSpace Wiki
Jump to: navigation, search
m ($Name:: spelling, relevance)
m (formal tweak and spelling fix)
 
(229 intermediate revisions by 40 users not shown)
Line 1: Line 1:
{{TableVersion|5339|5861}}
+
{{TableVersionGit|2022-10-07 UTC|0dfed6de4be6747fcbcf9c35f8c35996d9d7259b}}
 +
{{Tables}}
 +
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.
 +
 
  
<!-- I'll leave these here - commented away - until we can be sure they are not needed
 
Links to archived versions:
 
*[[Ships.tbl/CVS_version|CVS version of ships.tbl]]
 
*[[Ships.tbl/Retail_version|Retail version of ships.tbl]]
 
-->
 
 
==General Format==
 
==General Format==
 
*Ship.tbl is formed of several different sections.
 
*Ship.tbl is formed of several different sections.
Line 20: Line 22:
 
:**Includes entries for every ship and also defines their attributes that are used in the game
 
:**Includes entries for every ship and also defines their attributes that are used in the game
 
:**Is discussed in detail at [[Ships.tbl#Table_Options|Table Options]] section.
 
:**Is discussed in detail at [[Ships.tbl#Table_Options|Table Options]] section.
 +
{{Table202|
 +
:*<nowiki>#</nowiki>'''Wing Formations'''
 +
:**Includes the list of custom wingmate formations}}
 
:*'''$Player Ship Precedence'''
 
:*'''$Player Ship Precedence'''
 
:**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)
 
:**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)
Line 40: Line 45:
 
===+nocreate===
 
===+nocreate===
 
{{Table3610|
 
{{Table3610|
*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.}}
+
*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 60: Line 68:
 
===$Intensity:===
 
===$Intensity:===
 
*Defines the strength of the engine wash
 
*Defines the strength of the engine wash
 +
*This setting does nothing
 
*Syntax: '''''Float''''', blast effect
 
*Syntax: '''''Float''''', blast effect
  
Line 70: Line 79:
 
   $Length:        400
 
   $Length:        400
 
   $Intensity:      1.0
 
   $Intensity:      1.0
 
  
 
==Ship Template Options==
 
==Ship Template Options==
 +
{{Warning|
 +
The ship templates feature, when originally introduced, caused crashes and memory issues. Between 2014/07/24 and 2015/8/20, it was removed from the codebase. In short: do not use in versions prior to 3.7.4.}}
 
{{Table3610|
 
{{Table3610|
 
*Example of template usage [[Ship_Templates]] in which both [[GTB Artemis]] variants have been defined using a single template}}
 
*Example of template usage [[Ship_Templates]] in which both [[GTB Artemis]] variants have been defined using a single template}}
Line 87: Line 97:
 
*Another template can be used as template for the current template
 
*Another template can be used as template for the current template
 
*Syntax: '''''String''''', name}}
 
*Syntax: '''''String''''', name}}
 
  
 
==Ships Table Options==
 
==Ships Table Options==
Line 94: Line 103:
 
===$Name:===
 
===$Name:===
 
*Model name that is used also in game. It is also used as name for the whole ship entry.<br>There are two special characters can be used in the name: '''#''' and '''@'''
 
*Model name that is used also in game. It is also used as name for the whole ship entry.<br>There are two special characters can be used in the name: '''#''' and '''@'''
**'''#'''. It's used in the middle of the name. 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.<br>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 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.<br>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.<br>In the retail FS2 ships there are several ships starting by '''@'''.
 
**'''@'''. 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.<br>In the retail FS2 ships there are several ships starting by '''@'''.
 
*Syntax: '''''String''''', name
 
*Syntax: '''''String''''', name
Line 108: 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:===
 +
{{Table3613|
 +
*Alternative $Name: for the ship. Used to rename ships without breaking missions.
 +
*Syntax: '''''String''''', Alternate $Name:}}
  
 
===$Short name:===
 
===$Short name:===
 
*Shortened model name, for FRED, Usually more descriptive than the real name.
 
*Shortened model name, for FRED, Usually more descriptive than the real name.
 
*Syntax: '''''String''''''
 
*Syntax: '''''String''''''
 
 
===$Alt Name:===
 
{{Table3611|
 
*Alternative $Name: for the ship.
 
*Syntax: '''''String''''', Alternate $Name:}}
 
  
  
Line 154: Line 168:
 
::XSTR("", -1)
 
::XSTR("", -1)
 
::$end_multi_text
 
::$end_multi_text
 +
 +
====+Tech Title:====
 +
{{Table3613|
 +
*Defines name of the ship as displayed in the tech room
 +
*Syntax: '''''String'''''}}
  
 
====+Tech Description:====
 
====+Tech Description:====
Line 174: Line 193:
 
*Example: XSTR("", -1)
 
*Example: XSTR("", -1)
  
 +
 +
===$Selection Effect:===
 +
{{Table3613|
 +
*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:===
 
===$Cockpit POF file:===
Line 179: Line 203:
 
*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 184: Line 229:
 
*Syntax: '''''Vector''''', three '''floats''', x-axis, y-axis, z-axis, respectively}}
 
*Syntax: '''''Vector''''', three '''floats''', x-axis, y-axis, z-axis, respectively}}
  
 +
===$Cockpit Display:===
 +
{{Table3615|
 +
*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:===
 
===$POF File:===
 
*Filename of the model file (.pof) at data/models folder
 
*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
 
*Syntax: '''''String.pof''''', model filename
  
Line 213: Line 283:
 
===$Detail Distance:===
 
===$Detail Distance:===
 
*Defines the distance where the change between different Levels-Of-Details (LODs) occurs
 
*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 are (from left to right): 1/8, 1/4, 1, 4, 8
+
*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 [[Ai_profiles.tbl#$Detail Distance Multiplier:|$Detail Distance Multiplier]]
 
*Syntax: '''''(Detail Distances)''''' , list of '''integers''' (same amount as LODs), distances from the model in meters
 
*Syntax: '''''(Detail Distances)''''' , list of '''integers''' (same amount as LODs), distances from the model in meters
 
**Example: ''(0, 80, 300, 900)''
 
**Example: ''(0, 80, 300, 900)''
 +
 +
 +
===$Collision LOD:===
 +
{{Table373|
 +
*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:===
 
===$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.
 
*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
 
*Syntax: '''''Color''''', red, green, blue respectively, value from 0 to 255
 
**Example: ''42, 42, 224''
 
**Example: ''42, 42, 224''
  
 +
===$Enable Team Colors:===
 +
{{Table3615|
 +
*Enables Team Colors for a ship without setting a default color setting.
 +
*Syntax: '''''Boolean'''''}}
 +
 +
===$Default Team:===
 +
{{Table3615|
 +
*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:===
 
===$Show Damage:===
*No known function. Best left alone to avoid possible compatibility issues.
+
*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
 
*Syntax: '''''Boolean''''', yes or no, usually yes
  
  
 
===$Damage Lightning Type:===
 
===$Damage Lightning Type:===
{{Table3611|
+
{{Table3613|
 
*Changes the damage lightning effect shown on highly damaged ships.  
 
*Changes the damage lightning effect shown on highly damaged ships.  
 
*Can be defined as:
 
*Can be defined as:
Line 247: Line 337:
 
{{Table3610|
 
{{Table3610|
 
*Used to define the impact particle 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:'''
 
*'''+Max particles:'''
 
**Defines the maximum number of particles spewed
 
**Defines the maximum number of particles spewed
 
**Setting to zero causes model to generate no particles at all
 
**Setting to zero causes model to generate no particles at all
**Syntax: '''''Integer'''''}}
+
**Syntax: '''''Integer'''''
 +
**Default Value: 30}}{{Table3613|
 +
*'''+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:===
 
===$Damage Spew:===
 +
See [[Ship.tbl#$Impact Spew:|Impact Spew entry]]
 +
*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
 
{{Table3610|
 
{{Table3610|
*Used to define the damage particle spew
 
 
*'''+Max Particles:'''
 
*'''+Max Particles:'''
**Defines the maximum number of particles spewed
+
**Default Value: 50 * '''X'''}}{{Table3613|
**Setting to zero causes model to generate no particles at all
+
*'''+Min Particles:'''
**Syntax: '''''Integer'''''}}
+
**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:===
 +
{{Table3613|
 +
*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).
 +
}}
 +
{{Table202|
 +
====+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:===
 +
{{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 299: 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|
 +
*'''+Ambient Sound:'''
 +
**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:===
*This defines how hard you hit something. If you set it very high, a collision will severely damage your ship, and push the lower density object away; the higher the numbers are, the harder they will hit and the farther they will be pushed. Setting a density of 10 on a fighter with 180 hitpoints will cause the fighter to immediately explode if it collides with, say, an asteroid.
+
*Multiplies the mass and moment of inertia of the relevant ship.
*Syntax: '''''Float''''', usually 1
+
*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 [[Ships.tbl#$Forward Accel:|$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.
  
===$Damp:===
 
*Damp affects how quickly you will accel/decel to your target velocity. Higher damp means slow acceleration and deceleration. The lower this number, the faster the ship responds. For example, specifying a value of 0.0 means there is no damping, in other words, people would say, "this has no physics, like Wing Commander." The more damping, the harder to control, but the more smoothly it moves.
 
 
*Syntax: '''''Float'''''
 
*Syntax: '''''Float'''''
 
  
 
===$Rotdamp:===
 
===$Rotdamp:===
*Same thing, but for rotational movement.
+
*Shares the same principles of [[Ships.tbl#$Damp:|$Damp]], but is applied to rotations directly. (there isn't a engine/thrust acceleration model for rotations)
 
*Syntax: '''''Float'''''
 
*Syntax: '''''Float'''''
 
  
 
===$Banking Constant:===
 
===$Banking Constant:===
Line 324: Line 560:
 
===$Max Velocity:===
 
===$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.
 
*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
 
*Syntax: '''''Vector''''', three '''floats''', x-axis, y-axis, z-axis, respectively, meters per second
 
**Example: ''0.0, 0.0, 80.0''
 
**Example: ''0.0, 0.0, 80.0''
  
 +
 +
===$Player Minimum Velocity:===
 +
{{Table38|
 +
*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:===
 
===$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
+
*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
 
*Syntax: '''''Vector''''', three '''floats''', seconds per 360 degree turn around x-axis, y-axis, z-axis, respectively
 
**Example: ''3.0, 2.6, 5.0''
 
**Example: ''3.0, 2.6, 5.0''
 
+
**Note: Setting to Zero will cause the model to disappear in mission.
  
 
===$Rear Velocity:===
 
===$Rear Velocity:===
Line 341: Line 587:
  
 
===$Forward Accel:===
 
===$Forward Accel:===
*Number of seconds needed from full stop to maximum velocity
+
*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
 
*Syntax: '''''Float''''', seconds
 
  
 
===$Forward Decel:===
 
===$Forward Decel:===
*Number of seconds needed from maximum velocity to full stop
+
*Number of seconds needed from maximum forward (z) velocity to full stop
 
*Syntax: '''''Float''''', seconds
 
*Syntax: '''''Float''''', seconds
  
  
 
===$Slide Accel:===
 
===$Slide Accel:===
*Same for sliding as the $Forward accel: is for for normal movement.
+
*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 [[Ships.tbl#$Forward Accel:|$Forward Accel]] for an explanation of the 63.21%
 
*Syntax: '''''Float''''', seconds
 
*Syntax: '''''Float''''', seconds
 
  
 
===$Slide Decel:===
 
===$Slide Decel:===
*Same for sliding as the $Forward decel: is for for normal movement.
+
*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 [[Ships.tbl#$Forward Accel:|$Forward Accel]] for an explanation of the 63.21%
 
*Syntax: '''''Float''''', seconds
 
*Syntax: '''''Float''''', seconds
 
  
 
===$Glide:===
 
===$Glide:===
 
{{Table3610|
 
{{Table3610|
*Allows gliding in game, i.e. turning the ship's facing without changing its direction.
+
*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}}
 
*Syntax: '''''Boolean''''', yes or no}}
  
Line 374: 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). Defaults to 0.
+
*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.}}
  
  
 
====+Glide Accel Mult:====
 
====+Glide Accel Mult:====
 
{{Table3611|
 
{{Table3611|
*Defines the acceleration multiplier for the gliding mode. If > 0, sets a fixed acceleration rate in glide mode depending on value. If set to 0, impossible to accelerate while in glide mode. If negative, enables glide speed ramping (acceleration in glide mode ramps in the same way as in normal flight). Defaults to 0.
+
*Defines the acceleration multiplier for the gliding mode.
*Syntax: '''''Float'''''}}
+
**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''}}
 
{{Table3610|
 
{{Table3610|
*Entry exists as a dummy entry which doesnt do anything to prevent compatibility issues}}
+
*Entry exists as a dummy entry which doesn't do anything to prevent compatibility issues}}
 
 
  
 
===$Use Newtonian Dampening:===
 
===$Use Newtonian Dampening:===
Line 405: 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:===
 
{{Table3611|
 
{{Table3611|
*Defines the weapons use convergence}}
+
*Defines the weapons use convergence
 +
{{Note|If none of the following optional strings are added, the weapon will not converge. Don't forget to use them.}}
 +
}}
  
 
====+Automatic====
 
====+Automatic====
Line 426: Line 699:
 
*Defines the offset from the ship centerpoint for the convergence
 
*Defines the offset from the ship centerpoint for the convergence
 
*Syntax: '''''Vector''''', three '''floats''', x-axis, y-axis, z-axis, respectively}}
 
*Syntax: '''''Vector''''', three '''floats''', x-axis, y-axis, z-axis, respectively}}
 
  
 
===$Warpin Type:===
 
===$Warpin Type:===
Line 432: Line 704:
 
*Allow an animation to be defined as a warpin effect.
 
*Allow an animation to be defined as a warpin effect.
 
*Can be defined as:
 
*Can be defined as:
**''Default''
+
:*''Default''
**''BTRL''
+
:*''BTRL'' or ''Galactica''
**''Homeworld''
+
:*''Homeworld''
**''Hyperspace''}}
+
:*''Hyperspace''}}
 +
{{Table3613|
 +
:*''Knossos''
 +
:*''Babylon5''}}
 
{{Table3611|
 
{{Table3611|
*List is changed to
+
::*''BTRL'' was replaced with ''Galactica'' after 3.6.10}}
**''Default''
 
**''Galactica''
 
**''Homeworld''
 
**''Hyperspace''}}
 
 
{{Table3610|
 
{{Table3610|
 +
:*''[Fireball Unique ID]'' - Uses the default mechanics but replaces the portal effect with the identified fireball.
 
*Syntax: '''''String'''''}}
 
*Syntax: '''''String'''''}}
  
Line 469: Line 741:
 
*Defines the effect duration
 
*Defines the effect duration
 
*Syntax: '''''Float''''', seconds}}
 
*Syntax: '''''Float''''', seconds}}
 +
 +
 +
===$Warpin Decel Exp:===
 +
{{Table3613|
 +
*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}}
  
  
Line 479: Line 759:
 
===$Warpin Animation:===
 
===$Warpin Animation:===
 
{{Table3610|
 
{{Table3610|
*Defines the animation used as the warpin effect.
+
*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'''''}}
  
  
Line 486: Line 772:
 
{{Table3610|
 
{{Table3610|
 
*Allow an animation to be defined as a warpout effect.
 
*Allow an animation to be defined as a warpout effect.
*Can be defined as ''BTRL'' or ''default''.
+
*Can be defined as:
 +
:*''Default''
 +
:*''BTRL'' or ''Galactica''
 +
:*''Homeworld''
 +
:*''Hyperspace''}}
 +
{{Table3613|
 +
:*''Knossos''
 +
:*''Babylon5''}}
 +
{{Table3611|
 +
::*''BTRL'' was replaced with ''Galactica'' after 3.6.10}}
 +
{{Table3610|
 +
:*''[Fireball Unique ID]'' - Uses the default mechanics but replaces the portal effect with the identified fireball.
 
*Syntax: '''''String'''''}}
 
*Syntax: '''''String'''''}}
  
Line 501: Line 798:
 
*Syntax: '''''String''''', filename}}
 
*Syntax: '''''String''''', filename}}
  
 +
 +
===$Warpout Engage Time:===
 +
{{Table3615|
 +
*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, [[Game_settings.tbl#.24Minimum player warpout time:|defaults to]] 3 seconds for the player and none for the AI.
 +
*Syntax: '''''Float''''', seconds}}
  
 
===$Warpout Speed:===
 
===$Warpout Speed:===
 
{{Table3610|
 
{{Table3610|
 
*Sets the speed at which the ship warps out for '''default''' warpout effect
 
*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 time that the ships warp out (not the animation itself) takes for '''BTRL''' type warpout effects}}
 +
{{Table3613|
 +
*Sets the minimum speed required for the ship to warp out for '''hyperspace''' type warpout effects}}
 +
{{Table3610|
 
*Syntax: '''''Float''''', meters per second or milliseconds}}
 
*Syntax: '''''Float''''', meters per second or milliseconds}}
  
Line 513: Line 818:
 
*Defines the effect duration
 
*Defines the effect duration
 
*Syntax: '''''Float''''', seconds}}
 
*Syntax: '''''Float''''', seconds}}
 +
 +
 +
===$Warpout Accel Exp:===
 +
{{Table3613|
 +
*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}}
  
  
Line 525: 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 554: Line 873:
  
 
===$Expl Propagates:===
 
===$Expl Propagates:===
*This decides whether the ship explodes into debris immediately, or whether it has the many small explosions before breaking apart slowly
+
*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
 
*Syntax: '''''Boolean''''', yes or no
 +
 +
 +
===$Expl Splits Ship:===
 +
{{Table202|
 +
*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:===
 +
{{Table3613|
 +
*This sets the multiplier for the ship splitting propagating explosions
 +
*Syntax: '''''Float''''', defaults to 1}}
  
  
Line 562: Line 893:
 
*This determines the visual size of the main fireball for an exploding ship. Does not affect ships with propagating explosions.  
 
*This determines the visual size of the main fireball for an exploding ship. Does not affect ships with propagating explosions.  
 
*Syntax: '''''Float''''', meters}}
 
*Syntax: '''''Float''''', meters}}
 +
 +
 +
===$Base Death-Roll Time:===
 +
{{Table3613|
 +
*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:===
 +
{{Table3613|
 +
*Defines the multiplier for the radius of the ship surface explosions during death roll
 +
*Syntax: '''''Float'''''
 +
**Default: 1}}
 +
 +
 +
===$Death-Roll Explosion Intensity Mult:===
 +
{{Table3613|
 +
*Defines the multiplier for the amount of the ship surface explosions during death roll
 +
*Syntax: '''''Float'''''
 +
**Default: 1}}
 +
 +
 +
===$Death FX Explosion Radius Mult:===
 +
{{Table3613|
 +
*Defines the multiplier applied to the ship death explosions
 +
*Syntax: '''''Float'''''
 +
**Default: 1}}
 +
 +
 +
===$Death FX Explosion Count:===
 +
{{Table3613|
 +
*Defines the number of explosion effect game uses when a large ship dies
 +
*Syntax: '''''Integer'''''
 +
**Default: 6}}
 +
 +
===$Death Roll Rotation Multiplier:===
 +
{{Table202|
 +
*Multiplies the strength of the rotation imparted by death-rolling.
 +
*Syntax: '''''Float'''''
 +
**Default: 1.0}}
 +
 +
===$Death Roll X rotation Cap:===
 +
{{Table382|
 +
*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:===
 +
{{Table382|
 +
*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:===
 +
{{Table382|
 +
*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:===
 +
See [[Ship.tbl#$Impact Spew:|Impact Spew entry]]
 +
*Controls the particles released on every explosion event which happens when ship is splitting apart
 +
*The old 'popcorn' effect
 +
{{Table3613|
 +
*'''+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:===
 +
{{Table38|
 +
*Specifies the [[Particle Effects|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:===
 +
See [[Ship.tbl#$Impact Spew:|Impact Spew entry]]
 +
*Controls the particles released on the moment 'non-knossos' type object dies
 +
{{Table3613|
 +
*'''+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:===
 +
See [[Ship.tbl#$Impact Spew:|Impact Spew entry]]
 +
*Controls the particles released when 'knossos' type object is dying
 +
{{Table3613|
 +
*'''+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:===
 
===$Vaporize Percent Chance:===
 
{{Table3611|
 
{{Table3611|
*Allows ships to sometimes explode instantly (vaporize) instead of going through a death roll first. Overrides the same flag in [[objecttypes.tbl]].  
+
*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 vaporization}}
+
*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.}}
 +
 
  
 
===$Shockwave Damage Type:===
 
===$Shockwave Damage Type:===
Line 595: 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 611: Line 1,089:
  
 
===Primary Weapons===
 
===Primary Weapons===
 
 
 
====$Allowed PBanks:====
 
====$Allowed PBanks:====
 
*List of allowed primary weapons in brackets (weapon name marked with quotes).
 
*List of allowed primary weapons in brackets (weapon name marked with quotes).
Line 625: 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 it's own bracketed entry.
+
*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 637: Line 1,113:
 
{{Table3610|
 
{{Table3610|
 
*Defines ammunition capacity of primary weapon banks. In brackets, different weapon banks separated by commas.
 
*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 )'''''}}
 
*Syntax: '''''( Integer, Integer )'''''}}
  
Line 648: Line 1,125:
  
 
===Secondary Weapons===
 
===Secondary Weapons===
 
 
 
====$Allowed SBanks:====
 
====$Allowed SBanks:====
 
*Same for secondary weapons.
 
*Same for secondary weapons.
 
*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 it's own bracketed entry.
+
*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 662: 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 it's own bracketed entry.
+
*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 680: Line 1,155:
 
*Defines the use of weapon models for secondary weapons. In brackets, different weapon banks may have different definitions
 
*Defines the use of weapon models for secondary weapons. In brackets, different weapon banks may have different definitions
 
*Syntax: '''''( Boolean Boolean )'''''
 
*Syntax: '''''( Boolean Boolean )'''''
**Example: ''(YES YES)''}}
+
**Example: ''(YES YES)''
 +
*Note: This requires the [[Weapons.tbl#.24External_Model_File:|$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 [[Weapons.tbl#.22external_model_launcher.22|"external_model_launcher" flag]], then the model will be displayed on all gunpoints and will not recoil nor disappear when fired.}}
  
 +
===$Ship Recoil Modifier:===
 +
{{Table373|
 +
*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)
 +
{{Note|It is not required to have any weapons with the "apply recoil" flag set for this to be enabled.}}
 +
}}
  
 
===$Shields:===
 
===$Shields:===
 
*Determines the shield strength
 
*Determines the shield strength
 
*Syntax: '''''Float''''', total shield strength
 
*Syntax: '''''Float''''', total shield strength
 +
 +
====+Auto Spread:====
 +
{{Table371|
 +
*Defines the thickness of auto spread shields. Note that the [[#.22auto_spread_shields.22|"auto spread shields"]] ship flag is also needed.
 +
*Syntax: '''''Float''''', shield thickness in meters.}}
 +
 +
====+Minimum Weapon Span:====
 +
{{Table373|
 +
*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:====
 +
{{Table371|
 +
*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:====
 +
{{Table371|
 +
*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:===
 +
{{Table371|
 +
*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.}}
  
  
Line 692: Line 1,208:
 
*Syntax: '''''Color''''', red, green, blue respectively, value from 0 to 255
 
*Syntax: '''''Color''''', red, green, blue respectively, value from 0 to 255
 
**Example: ''100, 100, 255''
 
**Example: ''100, 100, 255''
 +
 +
 +
===$Shield Impact Explosion:===
 +
{{Table373|
 +
*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:===
 +
{{Table373|
 +
*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:===
 
===$Power Output:===
*The amount of energy available. The higher the output, the faster your weapons and shields recharge.
+
*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 702: Line 1,234:
 
*Repair rates for shields at percent per second
 
*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)
 
*Syntax: '''''Float''''', multiplier of total shield hitpoints recharged each second. ('''NOT A PERCENTAGE''', 0.02 equals 2% recharged per second)
**Default: ''0.02''}}
+
**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:===
 +
{{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 715: Line 1,253:
 
*Regeneration rates for primary guns at percent per second
 
*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)
 
*Syntax: '''''Float''''', multiplier of total gun energy recharged each second ('''NOT A PERCENTAGE''', 0.04 equals 4% recharged per second)
**Default: ''0.04''}}
+
**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:===
 +
{{Table202|
 +
*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:===
 +
{{Table202|*The fraction of the transferred shield energy that will actually end up in the weapon capacitor.
 +
*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:===
 +
{{Table202|*The rate at which transferred energy will move into the weapon capacitor,
 +
*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:===
 +
 +
{{Table202|As above, but with the transfer direction reversed.}}
  
 
===$Max Oclk Speed:===
 
===$Max Oclk Speed:===
Line 728: Line 1,295:
 
*The maximum amount of energy you can store in your primary weapons bank.
 
*The maximum amount of energy you can store in your primary weapons bank.
 
*Syntax: '''''Float'''''
 
*Syntax: '''''Float'''''
 
  
 
===$Hitpoints:===
 
===$Hitpoints:===
Line 739: Line 1,305:
 
{{Table3610|
 
{{Table3610|
 
*Repair rates for hull at percent per second
 
*Repair rates for hull at percent per second
*Syntax: '''''Float''''', multiplier of hitpoints repaired per second, '''NOT A PERCENTAGE''', 0.01 equals 1% recharged per second}}
+
*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 751: Line 1,321:
 
{{Table3610|
 
{{Table3610|
 
*Repair rates for sybsystems percent per second
 
*Repair rates for sybsystems percent per second
*Syntax: ''Value'', multiplier of total subsystem hitpoints repaired per second, '''NOT A PERCENTAGE''', 0.01 equals 1% recharged 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 760: Line 1,334:
  
  
===$Armor Type===
+
===$Armor Type:===
 
{{Table3610|
 
{{Table3610|
 
*'''REQUIRES ADDITIONAL TABLE'''. Defines armor type used for the ship
 
*'''REQUIRES ADDITIONAL TABLE'''. Defines armor type used for the ship
 
*Syntax: '''''String''''', name of the armor as defined in [[armor.tbl]]}}
 
*Syntax: '''''String''''', name of the armor as defined in [[armor.tbl]]}}
 
  
 
===$Shield Armor Type:===
 
===$Shield Armor Type:===
Line 792: Line 1,365:
 
*Syntax: '''''Vector''''', three '''floats''', x-axis, y-axis, z-axis, respectively, meters per second
 
*Syntax: '''''Vector''''', three '''floats''', x-axis, y-axis, z-axis, respectively, meters per second
 
====+Aburn For accel:====
 
====+Aburn For accel:====
*Defined only for the forward acceleration. In same format as $Forward accel:
+
*Defined only for the forward acceleration. In same format as [[Ships.tbl#$Forward Accel:|$Forward Accel]]
 
*Syntax: '''''Float''''', seconds
 
*Syntax: '''''Float''''', seconds
 +
====+Aburn Max Reverse Vel:====
 
{{Table3611|
 
{{Table3611|
====+Aburn Max Reverse Vel:====
+
*Defined only for the reverse acceleration, Sets the top speed for Reverse Afterburner.
*Defined only for the reverse acceleration, Set the top speed for Reverse Afterburner.
 
 
*Syntax: '''''Float''''', seconds
 
*Syntax: '''''Float''''', seconds
 
**NOTE: Requires [[Ships.tbl#.24Rear_Velocity:|$Rear Velocity:]] to be set in order to work.
 
**NOTE: Requires [[Ships.tbl#.24Rear_Velocity:|$Rear Velocity:]] to be set in order to work.
 +
}}
 
====+Aburn Rev accel:====
 
====+Aburn Rev accel:====
*Defined only for the reverse acceleration. In same format as $Forward accel:
+
{{Table3611|
 +
*Defined only for the reverse acceleration. In same format as [[Ships.tbl#$Forward Accel:|$Forward Accel]]
 +
 
 
*Syntax: '''''Float''''', seconds'''''}}
 
*Syntax: '''''Float''''', seconds'''''}}
 
====+Aburn Fuel:====
 
====+Aburn Fuel:====
Line 810: Line 1,386:
 
====+Aburn Rec Rate:====
 
====+Aburn Rec Rate:====
 
*Rate the fuel is restored.
 
*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
 
*Syntax: '''''Float''''', fuel units per second
 +
====+Aburn Minimum Start Fuel:====
 +
{{Table202|
 +
*Minimum afterburner fuel the ship must have before allowed to afterburn.
 +
*Syntax: '''''Float''''', fuel}}
 +
====+Aburn Minimum Fuel to Burn:====
 +
{{Table202|
 +
*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:====
 +
{{Table202|
 +
*How much time must have elapsed since the last afterburn finished to allow afterburning again.
 +
*Syntax: '''''Float''''', seconds}}
 
{{Table3610|
 
{{Table3610|
 
====$Trails:====
 
====$Trails:====
Line 817: 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 823: 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
 
*Syntax: '''''Float''''', seconds}}
 
*Syntax: '''''Float''''', seconds}}
 +
{{Table202|
 +
=====+Spread:=====
 +
*Causes the trail points to diffuse and drift apart at this speed over time.
 +
*Syntax: '''''Float''''', meters per second}}
 
{{Table3611|
 
{{Table3611|
 
=====+Faded Out Sections:=====
 
=====+Faded Out Sections:=====
 
*Defines the number of the trail sections from the leading edge that are gradually faded away.
 
*Defines the number of the trail sections from the leading edge that are gradually faded away.
 
*Syntax: '''''Integer'''''}}
 
*Syntax: '''''Integer'''''}}
 +
  
 
===$Countermeasure Type:===
 
===$Countermeasure Type:===
Line 846: Line 1,451:
 
*Syntax: '''''Integer''''', milliseconds
 
*Syntax: '''''Integer''''', milliseconds
  
 +
 +
===$Scan range Normal:===
 +
{{Table381|
 +
*Distance at which the ship can scan other small ships or large ship subsystems
 +
*Syntax: '''''Float''''', distance
 +
}}
 +
 +
===$Scan range Capital:===
 +
{{Table381|
 +
*Distance at which the ship can scan capital (& similar size) ships
 +
*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'''''
 +
}}
 +
 +
===$Ask Help Shield Percent:===
 +
{{Table381|
 +
*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:===
 +
{{Table381|
 +
*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:===
 
===$EngineSnd:===
Line 852: Line 1,493:
  
  
===$Closeup_Pos:===
+
===$Minimum Engine Volume:===
*How the model will show at techroom. The position of the camera relative to the model in the tech room and the target box view
+
{{Table373|
 +
*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:===
 +
{{Table3613|
 +
*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:===
 +
{{Table3613|
 +
*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]]
 +
}}
 +
 
 +
===$CockpitEngineSnd===
 +
{{Table3613|
 +
*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===
 +
{{Table3613|
 +
*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===
 +
{{Table3613|
 +
*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===
 +
{{Table3613|
 +
*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===
 +
{{Table3613|
 +
*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===
 +
{{Table3613|
 +
*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===
 +
{{Table3613|
 +
*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===
 +
{{Table3613|
 +
*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===
 +
{{Table3613|
 +
*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===
 +
{{Table3613|
 +
*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===
 +
{{Table3613|
 +
*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===
 +
{{Table3613|
 +
*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===
 +
{{Table3613|
 +
*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===
 +
{{Table3613|
 +
*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===
 +
{{Table3613|
 +
*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===
 +
{{Table3613|
 +
*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===
 +
{{Table3613|
 +
*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===
 +
{{Table3613|
 +
*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===
 +
{{Table3613|
 +
*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===
 +
{{Table3613|
 +
*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===
 +
{{Table3613|
 +
*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===
 +
{{Table3613|
 +
*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===
 +
{{Table202|
 +
*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===
 +
{{Table3613|
 +
*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===
 +
{{Table202|
 +
*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
 
*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_Zoom:===
+
{{Table381|
*How the model will show at techroom. How far the camera's zoomed in, defines camera's FOV.
+
===$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
 
*Syntax: '''''Float''''', radians
 +
}}
  
  
Line 866: 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 872: Line 1,710:
 
{{Table3610|
 
{{Table3610|
 
*Reference to the hud.tbl is no longer needed.}}
 
*Reference to the hud.tbl is no longer needed.}}
 +
**Syntax: ''Filename''
 +
  
*Syntax: ''Filename''
+
===$Model Icon Direction:===
 +
{{Table373|
 +
*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"}}
  
  
Line 880: Line 1,724:
 
{{Table3610|
 
{{Table3610|
 
*Ship model is used by default to generate the image.}}
 
*Ship model is used by default to generate the image.}}
 
+
**Syntax: ''Filename''
*Syntax: ''Filename''
 
  
  
Line 888: Line 1,731:
 
{{Table3610|
 
{{Table3610|
 
*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
 
  
  
Line 896: Line 1,738:
 
{{Table3610|
 
{{Table3610|
 
*Ship model is used by default to generate the image.}}
 
*Ship model is used by default to generate the image.}}
 +
**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
 
*Syntax: '''''String''''', filename
 +
}}
 +
 +
 +
{{Table371|
 +
===$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>'''''}}
 +
 +
{{Table371|
 +
===$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>'''''}}
  
 +
{{Table371|
 +
===$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>'''''}}
 +
 +
{{Table371|
 +
===$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:===
 
===$Score:===
Line 949: Line 1,838:
 
***Defines the radius multiplier
 
***Defines the radius multiplier
 
***Syntax: '''''Float'''''}}
 
***Syntax: '''''Float'''''}}
 +
{{Table3613|
 +
*'''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'''''}}
 +
{{Table373|
 +
*'''$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:===
 
===$Thruster Particles:===
Line 977: Line 1,890:
 
{{Table3610|
 
{{Table3610|
 
This field is [[deprecated]], and mods using 3.6.8 and above should use the "stealth" flag.}}
 
This field is [[deprecated]], and mods using 3.6.8 and above should use the "stealth" flag.}}
 +
  
 
===$Max Decals:===
 
===$Max Decals:===
Line 983: Line 1,897:
 
*Syntax: '''''Integer''''', maximum number of decals on 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.}}
 
**Default: 50 for anything below cruiser size, 100 for anything below superdestroyer/installation size, 300 for anything above destroyer size, 10 for everything else.}}
 +
{{Table3613|
 +
*Feature disabled. Parsing retained to maintain compatibility}}
  
  
Line 1,005: 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
 
*Syntax: '''''Float'''''', seconds
 
*Syntax: '''''Float'''''', seconds
 +
{{Table202|
 +
=====+Spread:=====
 +
*Causes the trail points to diffuse and drift apart at this speed over time.
 +
*Syntax: '''''Float''''', meters per second}}
 
====+Spew Time:====
 
====+Spew Time:====
 +
*Time in milliseconds to create new trail points, lower means less 'jagged' trails.
 
*Syntax: '''''Integer'''''
 
*Syntax: '''''Integer'''''
 
====+Bitmap:====
 
====+Bitmap:====
 
*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:====
 
*Defines the number of the trail sections from the leading edge that are gradually faded away.}}
 
*Defines the number of the trail sections from the leading edge that are gradually faded away.}}
 +
  
 
===$Thruster:===
 
===$Thruster:===
Line 1,024: 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
**Syntax: '''''String'''''
+
***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")'''''
 +
**Allows one or more strings, does not have a set limit.
 
*'''+Position:'''
 
*'''+Position:'''
 
**Defines thruster location
 
**Defines thruster location
Line 1,052: 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]]}}
  
 +
===$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:===
 
===$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.
*Syntax: '''''Filename'''''
+
*Syntax: '''''Filename'''''}}
 +
{{Table3615|
 +
*'''$Radar Color Image 2D:'''
 +
**Defines the color bitmap used to represent the ship on the radar screen.
 +
**Syntax: '''''Filename'''''}}
 +
{{Table3611|
 
*'''$Radar Image Size:'''
 
*'''$Radar Image Size:'''
 
**Defines the size of the bitmap on the radar screen (length of the longer dimension)
 
**Defines the size of the bitmap on the radar screen (length of the longer dimension)
Line 1,063: 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,099: Line 2,054:
 
**Example: '''10''', sets the limit to 10%}}
 
**Example: '''10''', sets the limit to 10%}}
  
 +
===$Path Metadata:===
 +
{{Table3613|
 +
*Allows definition of extra metadata
 +
*Syntax: '''''String''''', name of the path as defined in the ship POF file.
 +
**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:====
 +
*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:====
 +
{{Table373|
 +
*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:====
 +
{{Table373|
 +
*Modifies the speed of ships departing to a fighterbay using this path. See [[Ai_profiles.tbl#.24bay_depart_speed_multiplier:]] for details.
 +
**Syntax: '''''Float'''''
 +
}}
 +
}}
  
===[[Subsystem]]<nowiki>:</nowiki>===
+
===$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>===
 +
:''Main article: [[Subsystem]]''
  
 
==Ships.tbl flags==
 
==Ships.tbl flags==
Line 1,110: Line 2,158:
  
 
==="player_ship"===
 
==="player_ship"===
*Makes it possible to player to fly the ship
+
*Makes it possible for the player to fly the ship
  
  
Line 1,118: 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,126: Line 2,173:
  
  
===="repair_rearm"====
+
===="repair_rearm" or "support"====
*Alternate name for "support"
 
 
 
 
 
===="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
*Only one such vessel can be defined per species
 
  
  
Line 1,160: Line 2,202:
 
===="capital"====
 
===="capital"====
 
*Defines ship as a capital ship and also sets the AI behaviour
 
*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"====
+
===="supercap" or "super cap"====
*Alternate name for "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:
 +
**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
  
  
Line 1,183: Line 2,232:
  
  
===="sentrygun"====
+
===="sentrygun" or "sentry gun"====
*Alternate name for "sentry gun"
 
 
 
 
 
===="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"====
*Alternate name for "escape pod"
 
 
 
 
 
===="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 1,213: Line 2,254:
  
  
===="knossos"====
+
===="knossos" or "knossos device"====
*Alternate name for the "Knossos device"
 
 
 
 
 
===="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 1,224: Line 2,261:
 
===="stealth"====
 
===="stealth"====
 
{{Table3610|
 
{{Table3610|
*Defines ship as a stealth-ship: non-targettable, and not on radar.}}
+
*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 model
+
*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 1,245: Line 2,281:
  
  
==="dont collide invisible"===
+
==="don't collide invisible" or "dont collide invisible"===
*Defines invisible textures as non-collideable (For example, a hangar entrace)
+
*Defines invisible textures as non-collidable (For example, a hangar entrance)
  
  
Line 1,254: 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 1,260: Line 2,296:
 
{{Table3610|
 
{{Table3610|
 
*Enables the ship to use ballistic primaries
 
*Enables the ship to use ballistic primaries
*No longer needed, game handles it automatically}}
+
*No longer needed; game handles it automatically}}
  
  
Line 1,270: 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 1,281: 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 1,292: 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"===
 +
{{Table3613|
 +
*Prevents pain flash from being shown when ship is hit}}
 +
 +
 +
==="no ets"===
 +
{{Table37|
 +
Sets ship class to have no ETS}}
 +
 +
 +
==="no lighting"===
 +
{{Table3613|
 +
Ship will not receive lighting calculations}}
 +
 +
 +
==="auto spread shields"===
 +
{{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.}}
 +
 +
 +
==="model point shields"===
 +
{{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:|$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==
 +
===$Name:===
 +
{{Table202|
 +
*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===
 +
 +
<pre>
 +
#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
 +
</pre>
  
 
==Player Ship Precedence==
 
==Player Ship Precedence==

Latest revision as of 23:54, 22 August 2024

Revision information.....

FSO Git Commit: Date: 2022-10-07 UTC SHA: 0dfed6de4be6747fcbcf9c35f8c35996d9d7259b
Note: Please update the revision information when the page is updated. If your edit had nothing to do with new code entries then please do not edit the revision information


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

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.
FS2 Open 3.6.10:
  • #Ship Templates
    • Includes entries for 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.
FS2 Open, 21.0:
  • #Wing Formations
    • Includes the list of custom wingmate formations
  • $Player Ship Precedence
    • 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

    FS2 Open 3.6.10:
    • 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

    FS2 Open, 21.0:
    • 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

    Warning: The ship templates feature, when originally introduced, caused crashes and memory issues. Between 2014/07/24 and 2015/8/20, it was removed from the codebase. In short: do not use in versions prior to 3.7.4.
    FS2 Open 3.6.10:


    $Template:

    FS2 Open 3.6.10:
    • Defines the name of template
    • Syntax: String, name


    +Use Template:

    FS2 Open 3.6.10:
    • 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 @.
    • Syntax: String, name

    +nocreate

    FS2 Open 3.6.10:
    • 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:

    FS2 Open 3.6.10:
    • 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:

    FS2 Open, 23.2:
    • 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:

    FS2 Open, 3.6.14:
    • 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.
    FS2 Open 3.6.10:
    • 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:

    FS2 Open, 3.6.14:
    • 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:

    FS2 Open, 3.6.14:
    • 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:

    FS2 Open 3.6.10: *Filename of the cockpit model file
    • Syntax: String.pof, model filename

    $Cockpit Animations:

    FS2 Open, 23.0:
    • 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:

    FS2 Open, 24.2:
    • 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:

    FS2 Open, 23.0:
    • 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:

    FS2 Open 3.6.10: *Defines the offset of the cockpit model
    • Syntax: Vector, three floats, x-axis, y-axis, z-axis, respectively

    $Cockpit Display:

    FS2 Open, 3.6.16:
    • 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:

    FS2 Open 3.6.10:
    • +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:

    FS2 Open 3.6.10:
    • 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:

    FS2 Open, 3.7.4:
    • 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:

    FS2 Open, 3.6.16:
    • Enables Team Colors for a ship without setting a default color setting.
    • Syntax: Boolean

    $Default Team:

    FS2 Open, 3.6.16:
    • 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:

    FS2 Open, 3.6.14:
    • Changes the damage lightning effect shown on highly damaged ships.
    • Can be defined as:
      • None
      • Default


    $Impact:

    FS2 Open 3.6.10:
    • +Damage Type:
      • Defines the damage type of the collision
      • Syntax: String, name of the armor as defined in armor.tbl


    $Impact Spew:

    FS2 Open 3.6.10:
    • 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
    FS2 Open, 3.6.14:
    • +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:

    See Impact Spew entry

    • 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
    FS2 Open 3.6.10:
    • +Max Particles:
      • Default Value: 50 * X
    FS2 Open, 3.6.14:
    • +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:

    FS2 Open, 3.6.14:
    • 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).

    FS2 Open, 21.0:

    +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:

    FS2 Open, 23.0:
      • 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:

    FS2 Open, 23.0:
      • 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:

    FS2 Open 3.6.10:
    • +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
    FS2 Open, 3.6.12:
    • +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
    FS2 Open, 23.0:
    • +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
    FS2 Open, 23.2:
    • +Debris Density:
      • Same as Density but only applied to the ship's debris.
      • Syntax: Float
      • Default: 1.0
    FS2 Open, 21.0:
    • +Ambient Sound:
      • The sound played in the vicinity of debris.
    FS2 Open, 21.2:
    • +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:

    FS2 Open 3.6.10:
    • 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:

    FS2 Open, 3.8:
    • 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


    $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
    • 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
    • Syntax: Float, seconds

    $Glide:

    FS2 Open 3.6.10:
    • 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:

    FS2 Open, 3.6.12:
    • 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:

    FS2 Open 3.6.10:
    • 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:

    FS2 Open, 3.6.12:
    • 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
    FS2 Open 3.6.10:
    • Entry exists as a dummy entry which doesn't do anything to prevent compatibility issues

    $Use Newtonian Dampening:

    FS2 Open, 3.6.12:
    • 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:

    FS2 Open 3.6.10:
    • Defines the field of view for autoaim
    • Syntax: Integer

    +Converging Autoaim

    FS2 Open, 3.6.12:
    • Defines that the autoaim uses convergence

    +Minimum Distance:

    FS2 Open, 3.6.12:
    • Defines the minimum distance for the convergence

    +Primary Bank Autoaim FOV:

    FS2 Open, 23.2:
    • Defines the autoaim for the primary bank.
    • Can be listed once for each existing bank on the ship.
    • Syntax: Float

    $Aims at Flight Cursor:

    FS2 Open, 24.2:
    • 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:

    FS2 Open, 24.2:
    • 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:

    FS2 Open, 3.6.12:
    • Defines the weapons use convergence
    Note: If none of the following optional strings are added, the weapon will not converge. Don't forget to use them.

    +Automatic

    FS2 Open, 3.6.12:
    • 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

    FS2 Open, 3.6.12:
    • Defines that ship uses fixed convergence.
    • +Distance:
      • Defines the converging distance from the ship

    +Offset:

    FS2 Open, 3.6.12:
    • Defines the offset from the ship centerpoint for the convergence
    • Syntax: Vector, three floats, x-axis, y-axis, z-axis, respectively

    $Warpin Type:

    FS2 Open 3.6.10:
    • Allow an animation to be defined as a warpin effect.
    • Can be defined as:
    • Default
    • BTRL or Galactica
    • Homeworld
    • Hyperspace
    FS2 Open, 3.6.14:
    • Knossos
    • Babylon5
    FS2 Open, 3.6.12:
    • BTRL was replaced with Galactica after 3.6.10
    FS2 Open 3.6.10:
    • [Fireball Unique ID] - Uses the default mechanics but replaces the portal effect with the identified fireball.
    • Syntax: String


    $Warpin Start Sound:

    FS2 Open 3.6.10:
    • File for playing at start of warp in effect
    • Syntax: String, filename


    $Warpin End Sound:

    FS2 Open 3.6.10:
    • File for playing at end of warp in effect
    • Syntax: String, filename


    $Warpin Speed:

    FS2 Open 3.6.10:
    • 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:

    FS2 Open 3.6.10:
    • Defines the effect duration
    • Syntax: Float, seconds


    $Warpin Decel Exp:

    FS2 Open, 3.6.14:
    • 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:

    FS2 Open 3.6.10:
    • Defines the effect radius
    • Syntax: Float, meters


    $Warpin Animation:

    FS2 Open 3.6.10:
    • Defines the animation used for the Homeworld warpin effect. Has no effect for other warpin types.
    • Syntax: String, filename


    $Supercap warpin physics:

    FS2 Open, 24.0:
    • 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:

    FS2 Open 3.6.10:
    • Allow an animation to be defined as a warpout effect.
    • Can be defined as:
    • Default
    • BTRL or Galactica
    • Homeworld
    • Hyperspace
    FS2 Open, 3.6.14:
    • Knossos
    • Babylon5
    FS2 Open, 3.6.12:
    • BTRL was replaced with Galactica after 3.6.10
    FS2 Open 3.6.10:
    • [Fireball Unique ID] - Uses the default mechanics but replaces the portal effect with the identified fireball.
    • Syntax: String


    $Warpout Start Sound:

    FS2 Open 3.6.10:
    • File for playing at start of warp out effect
    • Syntax: String, filename


    $Warpout End Sound:

    FS2 Open 3.6.10:
    • File for playing at end of warp out effect
    • Syntax: String, filename


    $Warpout Engage Time:

    FS2 Open, 3.6.16:
    • 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:

    FS2 Open 3.6.10:
    • 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
    FS2 Open, 3.6.14:
    • Sets the minimum speed required for the ship to warp out for hyperspace type warpout effects
    FS2 Open 3.6.10:
    • Syntax: Float, meters per second or milliseconds


    $Warpout Time:

    FS2 Open 3.6.10:
    • Defines the effect duration
    • Syntax: Float, seconds


    $Warpout Accel Exp:

    FS2 Open, 3.6.14:
    • 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:

    FS2 Open 3.6.10:
    • Defines the effect radius
    • Syntax: Float, meters


    $Warpout Animation:

    FS2 Open 3.6.10:
    • Defines the animation used as the warpout effect.
    • Syntax: String, filename


    $Supercap warpout physics:

    FS2 Open, 24.0:
    • 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:

    FS2 Open 3.6.10:
    • 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:

    FS2 Open, 21.0:
    • 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:

    FS2 Open, 3.6.14:
    • This sets the multiplier for the ship splitting propagating explosions
    • Syntax: Float, defaults to 1


    $Expl Visual Rad:

    FS2 Open, 3.6.12:
    • 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:

    FS2 Open, 3.6.14:
    • 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:

    FS2 Open, 3.6.14:
    • Defines the multiplier for the radius of the ship surface explosions during death roll
    • Syntax: Float
      • Default: 1


    $Death-Roll Explosion Intensity Mult:

    FS2 Open, 3.6.14:
    • Defines the multiplier for the amount of the ship surface explosions during death roll
    • Syntax: Float
      • Default: 1


    $Death FX Explosion Radius Mult:

    FS2 Open, 3.6.14:
    • Defines the multiplier applied to the ship death explosions
    • Syntax: Float
      • Default: 1


    $Death FX Explosion Count:

    FS2 Open, 3.6.14:
    • Defines the number of explosion effect game uses when a large ship dies
    • Syntax: Integer
      • Default: 6

    $Death Roll Rotation Multiplier:

    FS2 Open, 21.0:
    • Multiplies the strength of the rotation imparted by death-rolling.
    • Syntax: Float
      • Default: 1.0

    $Death Roll X rotation Cap:

    FS2 Open, 19.0:
    • 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:

    FS2 Open, 19.0:
    • 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:

    FS2 Open, 19.0:
    • 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:

    See Impact Spew entry

    • Controls the particles released on every explosion event which happens when ship is splitting apart
    • The old 'popcorn' effect
    FS2 Open, 3.6.14:
    • +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:

    FS2 Open, 3.8:
    • 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:

    See Impact Spew entry

    • Controls the particles released on the moment 'non-knossos' type object dies
    FS2 Open, 3.6.14:
    • +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:

    See Impact Spew entry

    • Controls the particles released when 'knossos' type object is dying
    FS2 Open, 3.6.14:
    • +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:

    FS2 Open, 3.6.12:
    • 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
    FS2 Open, 24.0: In version 24.0 and later, $Skip Death Roll Percent Chance: can be used as a more accurate alternative.


    $Shockwave Damage Type:

    FS2 Open 3.6.10:
    • 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:

    FS2 Open 3.6.10:
    • Defines the textured model used as the ship's 3D shockwave
    • Syntax: String.pof, model filename


    $Shockwave Name:

    FS2 Open 3.6.10:
    • Defines the name of the animation to used for the 2D shockwave
    • Syntax: String, filename


    $Shockwave Sound:

    FS2 Open, 21.0:

    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:

    FS2 Open 3.6.10:
    • Defines the explosion animations used for the ship
    • Syntax: Integer list


    $Weapon Model Draw Distance:

    FS2 Open 3.6.10:
    • 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
    FS2 Open 3.6.10:
    • 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
    FS2 Open 3.6.10:
    • 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:

    FS2 Open 3.6.10:
    • 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:

    FS2 Open 3.6.10:
    • 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
    FS2 Open 3.6.10:
    • 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
    FS2 Open 3.6.10:
    • 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:

    FS2 Open 3.6.10:
    • 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:

    FS2 Open, 3.7.4:
    • 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)
    Note: It is not required to have any weapons with the "apply recoil" flag set for this to be enabled.

    $Shields:

    • Determines the shield strength
    • Syntax: Float, total shield strength

    +Auto Spread:

    FS2 Open, 3.7.2:
    • 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:

    FS2 Open, 3.7.4:
    • 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:

    FS2 Open, 3.7.2:
    • 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:

    FS2 Open, 3.7.2:
    • 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:

    FS2 Open, 3.7.2:
    • 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:

    FS2 Open, 3.7.4:
    • 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:

    FS2 Open, 3.7.4:
    • 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:

    FS2 Open 3.6.10:
    • 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:

    FS2 Open, 21.4:
    • Specifies a time delay after being hit by a weapon before the shield may begin regenerating again.
    • Syntax: Float, seconds

    $Support Shield Repair Rate:

    FS2 Open, 3.6.12:
    • Shield repair rate when docked to a support ship
    • Syntax: Float


    $Weapon Regeneration Rate:

    FS2 Open 3.6.10:
    • 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:

    FS2 Open, 21.0:
    • 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:

    FS2 Open, 21.0: *The fraction of the transferred shield energy that will actually end up in the weapon capacitor.
    • 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:

    FS2 Open, 21.0: *The rate at which transferred energy will move into the weapon capacitor,
    • 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:

    FS2 Open, 21.0: 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:

    • How much damage the ship can take
    • Syntax: Float, hitpoints
      • Default: 100


    $Hull Repair Rate:

    FS2 Open 3.6.10:
    • Repair rates for hull at percent per second
    • Syntax: Float, percentage of hitpoints repaired per second

    $Hull Self Repair Maximum:

    FS2 Open, 22.0:
    • Maximum percentage of total hull strength that the hull will self-repair to.
    • Syntax: Float, percentage of hull hitpoints

    $Support Hull Repair Rate:

    FS2 Open, 3.6.12:
    • Repair rate for hull when docked to a support ship
    • Syntax: Float


    $Subsystem Repair Rate:

    FS2 Open 3.6.10:
    • Repair rates for sybsystems percent per second
    • Syntax: Value, percentage of total subsystem hitpoints repaired per second

    $Subsystem Self Repair Maximum:

    FS2 Open, 22.0:
    • Maximum percentage of total subsystem strength that subsystems will self-repair to.
    • Syntax: Float, percentage of subsystems hitpoints

    $Support Subsystem Repair Rate:

    FS2 Open, 3.6.12:
    • Repair rate for subsystems when docked to a support ship
    • Syntax: Float


    $Armor Type:

    FS2 Open 3.6.10:
    • REQUIRES ADDITIONAL TABLE. Defines armor type used for the ship
    • Syntax: String, name of the armor as defined in armor.tbl

    $Shield Armor Type:

    FS2 Open, 3.6.12:
    • 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" )
    FS2 Open 3.6.10:
    • +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:

    FS2 Open, 3.6.12:
    • Defined only for the reverse acceleration, Sets the top speed for Reverse Afterburner.
    • Syntax: Float, seconds

    +Aburn Rev accel:

    FS2 Open, 3.6.12:
    • 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:

    FS2 Open, 21.0:
    • Minimum afterburner fuel the ship must have before allowed to afterburn.
    • Syntax: Float, fuel

    +Aburn Minimum Fuel to Burn:

    FS2 Open, 21.0:
    • 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:

    FS2 Open, 21.0:
    • How much time must have elapsed since the last afterburn finished to allow afterburning again.
    • Syntax: Float, seconds
    FS2 Open 3.6.10:

    $Trails:

    • Allows afterburner trails to be used
    +Bitmap:
    • Texture used to draw the afterburner trail
    • Syntax: String, filename
    FS2 Open, 21.2:
    +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
    FS2 Open, 21.2:
    +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
    FS2 Open, 21.0:
    +Spread:
    • Causes the trail points to diffuse and drift apart at this speed over time.
    • Syntax: Float, meters per second
    FS2 Open, 3.6.12:
    +Faded Out Sections:
    • Defines the number of the trail sections from the leading edge that are gradually faded away.
    • Syntax: Integer


    $Countermeasure Type:

    FS2 Open 3.6.10:
    • 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:

    FS2 Open, 19.0:
    • Distance at which the ship can scan other small ships or large ship subsystems
    • Syntax: Float, distance

    $Scan range Capital:

    FS2 Open, 19.0:
    • Distance at which the ship can scan capital (& similar size) ships
    • Syntax: Float, distance

    $Scanning time multiplier:

    FS2 Open, 22.0:
    • A factor to apply to scan time when this ship is doing the scanning
    • Syntax: Float

    $Scanning range multiplier:

    FS2 Open, 22.0:
    • A factor to apply to scan distance when this ship is doing the scanning
    • Syntax: Float

    $Ask Help Shield Percent:

    FS2 Open, 19.0:
    • 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:

    FS2 Open, 19.0:
    • 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:

    FS2 Open, 3.7.4:
    • 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:

    FS2 Open, 3.6.14:
    • 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:

    FS2 Open, 3.6.14:
    • 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

    FS2 Open, 19.0:
    • 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

    FS2 Open, 3.6.14:
    • 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

    FS2 Open, 3.6.14:
    • 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

    FS2 Open, 3.6.14:
    • 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

    FS2 Open, 3.6.14:
    • 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

    FS2 Open, 3.6.14:
    • 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

    FS2 Open, 3.6.14:
    • 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

    FS2 Open, 3.6.14:
    • 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

    FS2 Open, 3.6.14:
    • 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

    FS2 Open, 3.6.14:
    • 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

    FS2 Open, 3.6.14:
    • 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

    FS2 Open, 3.6.14:
    • 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

    FS2 Open, 3.6.14:
    • 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

    FS2 Open, 3.6.14:
    • 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

    FS2 Open, 3.6.14:
    • 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

    FS2 Open, 3.6.14:
    • 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

    FS2 Open, 3.6.14:
    • 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

    FS2 Open, 3.6.14:
    • 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

    FS2 Open, 3.6.14:
    • 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

    FS2 Open, 3.6.14:
    • 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

    FS2 Open, 3.6.14:
    • 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

    FS2 Open, 3.6.14:
    • 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

    FS2 Open, 3.6.14:
    • 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

    FS2 Open, 21.0:
    • 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

    FS2 Open, 3.6.14:
    • 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

    FS2 Open, 21.0:
    • 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


    FS2 Open, 19.0:

    $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:

    FS2 Open 3.6.10:
    • 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:

    FS2 Open, 21.4:
    • 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:

    FS2 Open, 21.4:
    • 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.
    FS2 Open 3.6.10:
    • Reference to the hud.tbl is no longer needed.
    • Syntax: Filename


    $Model Icon Direction:

    FS2 Open, 3.7.4:
    • 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.
    FS2 Open 3.6.10:
    • Ship model is used by default to generate the image.
    • Syntax: Filename


    $Ship_Anim:

    • The glowing green grid animation used in ship selection.
    FS2 Open 3.6.10:
    • Ship model is used by default to generate the image.
    • Syntax: String, filename


    $Ship_Overhead:

    • The overhead view used in the weapons loadout.
    FS2 Open 3.6.10:
    • Ship model is used by default to generate the image.
    • Syntax: String, filename


    FS2 Open, 21.4:

    $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


    FS2 Open, 3.7.2:

    $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>


    FS2 Open, 3.7.2:

    $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>


    FS2 Open, 3.7.2:

    $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>


    FS2 Open, 3.7.2:

    $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

    FS2 Open, 3.6.12:
    • 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
    FS2 Open 3.6.10:
    • 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
    • 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
    • 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
    FS2 Open, 3.6.14:
    • 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
    FS2 Open, 3.7.4:
    • $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:

    FS2 Open 3.6.10:
    • 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.
    FS2 Open 3.6.10: This field is deprecated, and mods using 3.6.8 and above should use the "stealth" flag.


    $Max Decals:

    FS2 Open 3.6.10:
    • 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.
    FS2 Open, 3.6.14:
    • 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.
    FS2 Open, 3.6.12:
    • +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
    FS2 Open, 21.2:

    +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
    FS2 Open, 21.0:
    +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
    FS2 Open, 21.2:

    +Bitmap Stretch:

    • Multiplies how far the bitmap is stretched over each trail segment.
    • Syntax: Float
      • Default:1
    FS2 Open, 3.6.12:

    +Faded Out Sections:

    • Defines the number of the trail sections from the leading edge that are gradually faded away.


    $Thruster:

    FS2 Open 3.6.10:
    • 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:
    FS2 Open, 23.0:
      • 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.
    FS2 Open, 23.2:
        • '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:

    FS2 Open, 3.7.4:
    • 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:

    FS2 Open, 3.6.12:
    • Defines the bitmap used to represent the ship on the radar screen.
    • Syntax: Filename
    FS2 Open, 3.6.16:
    • $Radar Color Image 2D:
      • Defines the color bitmap used to represent the ship on the radar screen.
      • Syntax: Filename
    FS2 Open, 3.6.12:
    • $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:

    FS2 Open, 3.6.12:
    • 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:

    FS2 Open, 3.6.12:
    • 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:

    FS2 Open, 3.6.12:
    • Defines the ships EMP resistance modifier:
    • Syntax: Float


    $Piercing Damage Draw Limit:

    FS2 Open, 3.6.12:
    • Defines the maximum percentage of hitpoints ship has before piercing effects are enabled
    • Syntax: Float
      • Example: 10, sets the limit to 10%

    $Path Metadata:

    FS2 Open, 3.6.14:
    • Allows definition of extra metadata
    • Syntax: String, name of the path as defined in the ship POF file.
      • Example: $Path Metadata: $Bay01
    FS2 Open, 22.0:

    +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:

    FS2 Open, 3.7.4:

    +depart speed multiplier:

    FS2 Open, 3.7.4:

    $Passive Lightning Arcs:

    FS2 Open, 22.0:
    • 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
    FS2 Open, 23.0:

    +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:

    FS2 Open, 22.0:
    • 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:

    FS2 Open, 24.0:
    • 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:

    FS2 Open, 22.0:
    • 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:

    FS2 Open, 22.0:

    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
    FS2 Open 3.6.10:


    "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


    "navbuoy"

    • 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"

    FS2 Open 3.6.10:
    • 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"

    FS2 Open 3.6.10:
    • Enables the ship to use ballistic primaries
    • No longer needed; game handles it automatically


    "flash"

    FS2 Open 3.6.10:
    • Makes a flash when a ship dies


    "surface shields"

    FS2 Open 3.6.10:
    • Shots that impact the hull are applied to shields, regardless of if the ship has a modelled shield mesh.


    "show ship"

    FS2 Open 3.6.10:
    • 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"

    FS2 Open 3.6.10:
    • Creates a HUD shield icon from the model itself


    no weapon damage scaling"

    FS2 Open 3.6.10:
    • Weapons that impact this ship will not by scaled according to 'big damage' or supercap rules


    "gun convergence"

    FS2 Open 3.6.10:
    • Enables ship to use the firing points' normals in defining the direction where the weapon fire


    "no thruster geometry noise"

    FS2 Open, 3.6.12:
    • Prevents noise from being added to the thruster effects geometry


    "intrinsic no shields"

    FS2 Open, 3.6.12:
    • Defines that ship has no shields by default, to allow mixing and matching shielded and unshielded craft in loadout


    "dynamic primary linking"

    FS2 Open, 3.7:
    • 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"

    FS2 Open, 3.6.12:
    • 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"

    FS2 Open, 3.6.14:
    • Prevents pain flash from being shown when ship is hit


    "no ets"

    FS2 Open, 3.7: Sets ship class to have no ETS


    "no lighting"

    FS2 Open, 3.6.14: Ship will not receive lighting calculations


    "auto spread shields"

    FS2 Open, 3.7.2: 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 #.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"

    FS2 Open, 3.7.2: 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 $Model_Point_Shield_Controls: to allow the shield augmentation controls to be used.


    "repair disabled subsystems"

    FS2 Open, 3.7.2: Destroyed subsystems will auto-repair, provided $Subsystem Repair Rate: is greater than 0.


    "don't bank when turning"

    FS2 Open, 21.0: All maneuvers by this ship class will have the same effect as the equivalent flag in ship-maneuver: the ship will not bank when changing its heading.


    "don't clamp max velocity"

    FS2 Open, 21.0: All maneuvers by this ship class will have the same effect as the equivalent flag in ship-maneuver: 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"

    FS2 Open, 21.0: All maneuvers by this ship class will have the same effect as the equivalent flag in ship-maneuver: whenever the ship decides to change speed, it will instantaneously reach its desired speed.


    "large ship deathroll"

    FS2 Open, 21.0: 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"

    FS2 Open, 21.2: Turns off the tiny debris shards that are typically spawned when something impacts a ship.


    Wing Formations

    $Name:

    FS2 Open, 21.0:
    • 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")