Difference between revisions of "Ai profiles.tbl"

From FreeSpace Wiki
Jump to: navigation, search
m ($AI In Range Time:: reworded for better clarifty - noticed by SF-Junky)
 
(92 intermediate revisions by 19 users not shown)
Line 1: Line 1:
 
{{SCP_table}}
 
{{SCP_table}}
 +
{{TableVersionGit|2024-8-13|67a9f6f5b7ae9a03fb47bfef09daa878ccc39d4b}}
 +
{{Tables}}
 +
The '''ai_profiles.tbl''' allows the creation and management of different patterns of AI behavior, called profiles.  Profiles consist of various statistics and flags that provide some control over AI behavior.  All options within a profile are optional; if an option is not specified it will follow the original FreeSpace 2 retail behavior.  Different missions can specify different profiles.
  
{{TableVersion|5707}}
+
The default ai_profiles.tbl is hardcoded into the FSO executable, and defines the "FS2 RETAIL" AI profile. It's usually recommended not to modify this profile, but to create a new AI profile in a modular table instead, which will then inherit its defaults from the FS2 RETAIL profile.
  
Ai_profiles.tbl allows the creation and management of different patterns of AI behavior, called profiles.  Profiles consist of various statistics and flags that provide some control over AI behavior.  All options within a profile are optional; if an option is not specified it will follow the original FreeSpace 2 retail behavior.  Different missions can specify different profiles.
+
{{Table232| This table can also be called '''mission_profiles.tbl'''}}
  
There is a "hidden" profile called FS2 RETAIL that is hard-coded into FreeSpace Open and cannot be modified. It is always the default profile unless another is specified using $Default Profile.
+
This table is one of the [[Modular Tables]] and can be extended with xxx-aip.tbm
 +
{{Table232| Can also be extended with '''xxx-msp.tbm'''}}
 +
 
 +
 
 +
If the version targeted in [[game_settings.tbl]] is equal to or later than these listed, the following options are enabled by default:
 +
{{Table3610|
 +
*'''reset last_hit_target_time for player hits'''}}
 +
{{Table372|
 +
*'''fix ramming stationary targets bug'''}}
 +
{{Table202|
 +
*'''huge turret weapons ignore bombs'''
 +
*'''fix linked primary weapon decision bug'''
 +
*'''prevent turrets targeting too distant bombs'''
 +
*'''fix heat seekers homing on stealth ships bug'''
 +
*'''allow vertical dodge'''
 +
*'''fix ai class bug'''
 +
*'''ai guards specific ship in wing'''
 +
*'''fix ai path order bug'''
 +
*'''aspect bomb invulnerability fix'''
 +
*'''use actual primary range'''
 +
*'''fighters/bombers with no shields can manage ETS'''}}
 +
{{Table214|
 +
*'''fixed ship-weapon collisions'''}}
 +
{{Table220|
 +
*'''fighterbay arrivals use carrier orientation'''
 +
*'''prevent negative turret ammo'''
 +
*'''fix keep-safe-distance'''}}
 +
{{Table224|
 +
*'''fix good-rearm-time bug'''
 +
*'''no continuous turn on attack'''
 +
*'''remove-goal properly removes play-dead order'''}}
 +
{{Table232|
 +
*'''ships playing dead don't manage ETS'''}}
 +
{{Table234|
 +
*'''hud squad messages use tactical disarm/disable'''}}
 +
{{Table242|
 +
*'''debris damage respects 'big damage' flag'''}}
  
  
Line 23: Line 62:
  
 
===$Default Profile:===
 
===$Default Profile:===
*Defines the profile that each mission will use if no profile is specified in FRED.  In addition, this profile will be selected automatically in FRED when you create a new mission.  If this line is not specified, the default profile will be the FreeSpace 2 retail behavior.
+
*Defines the profile that each mission will use if no profile is specified in FRED.  In addition, this profile will be selected automatically in FRED when you create a new mission.  If this line is not specified, the default profile will be '''FS2 Retail''', the FreeSpace 2 retail behavior.
  
  
Line 45: Line 84:
 
===$Max Beam Friendly Fire Damage:===
 
===$Max Beam Friendly Fire Damage:===
 
{{Table3610|
 
{{Table3610|
*Defines the maximum damage inflicted by friendly beam fire
+
*Defines the maximum damage inflicted by friendly beam fire. -1 means no limit.
 
*Syntax: '''Float list'''
 
*Syntax: '''Float list'''
 
**Default:  0, 5, 10, 20, 30}}
 
**Default:  0, 5, 10, 20, 30}}
  
 +
===$Max Weapon Friendly Fire Damage:===
 +
{{Table242|
 +
*Defines the maximum damage inflicted by friendly weapon fire, including shockwaves. -1 means no limit.
 +
*Syntax: '''Float list'''
 +
**Default:  -1, -1, -1, -1, -1
 +
}}
 +
 +
===$Max Weapon Self Damage:===
 +
{{Table242|
 +
*Defines the maximum damage inflicted by self-hits, including shockwaves. -1 means no limit.
 +
*Syntax: '''Float list'''
 +
**Default:  -1, -1, -1, -1, -1
 +
}}
  
 
===$Player Countermeasure Life Scale:===
 
===$Player Countermeasure Life Scale:===
Line 105: Line 157:
  
  
===$Max Missles Locked on Player:===
+
===$Max Missiles Locked on Player:===
 
{{Table3610|
 
{{Table3610|
 
*Defines the maximum number of missiles allowed to be homing in on a player at any given time
 
*Defines the maximum number of missiles allowed to be homing in on a player at any given time
 
*Note: Single-player only, no restriction in multiplayer
 
*Note: Single-player only, no restriction in multiplayer
*Syntax: '''Float list'''
+
*Note: The alternative spelling "Missles" is also accepted for backwards compatibility reasons.
 +
*Syntax: '''Integer list'''
 
**Default: 2, 3, 4, 7, 99}}
 
**Default: 2, 3, 4, 7, 99}}
  
Line 116: Line 169:
 
{{Table3610|
 
{{Table3610|
 
*Sets the maximum number of ships allowed to be attacking the player at any given time
 
*Sets the maximum number of ships allowed to be attacking the player at any given time
*Syntax: '''Float list'''
+
*This number is also checked when a ship checks for a new target, such as using the goal attack-any.
 +
*Syntax: '''Integer list'''
 
**Default: 2, 3, 4, 5, 99}}
 
**Default: 2, 3, 4, 5, 99}}
 
  
 
===$Max Incoming Asteroids:===
 
===$Max Incoming Asteroids:===
 
{{Table3610|
 
{{Table3610|
 
*Sets the maximum number of active (i.e. "thrown") asteroids that can be heading toward a friendly ship at any given time
 
*Sets the maximum number of active (i.e. "thrown") asteroids that can be heading toward a friendly ship at any given time
*Syntax: '''Float list'''
+
*Syntax: '''Integer list'''
 
**Default: 3, 4, 5, 7, 10}}
 
**Default: 3, 4, 5, 7, 10}}
  
  
===$Player Damage Factor:===
+
===$Player Damage Factor: or $AI Damage Reduction to Player Hull:===
 
{{Table3610|
 
{{Table3610|
 
*Defines the factor applied to damage suffered by the player
 
*Defines the factor applied to damage suffered by the player
Line 134: Line 187:
  
  
===$Player Subsys Damage Factor:===
+
===$Player Subsys Damage Factor: or $AI Damage Reduction to Player Subsys:===
 
{{Table3610|
 
{{Table3610|
 
*Sets the factor applied to subsystem damage suffered by the player. This is in addition to the '''$Player Damage Factor:'''
 
*Sets the factor applied to subsystem damage suffered by the player. This is in addition to the '''$Player Damage Factor:'''
Line 143: Line 196:
 
===$Predict Position Delay:===
 
===$Predict Position Delay:===
 
{{Table3610|
 
{{Table3610|
*Sets the measure of time (in F1_0 units) after which the AI will recalculate the position of its target
+
*Sets the time after which the AI will recalculate the position of its target
*Syntax: '''Float list'''
+
*It does not apply to the AI's aim, it only applies to things like avoiding collisions and maneuvering at close range. Generally, anything other than a 0 just allows the AI to do monumentally stupid things like try to turn to avoid ramming where it thought you were 2 seconds ago.
 +
*Syntax: '''Float list''', seconds
 
**Default: 2, 1.5, 1.333, 0.5, 0}}
 
**Default: 2, 1.5, 1.333, 0.5, 0}}
 
 
===$Player Shield Recharge Scale:===
 
{{Table3610|
 
*Sets the factor applied to the speed at which the player's shields recharge
 
*Syntax: '''Float list'''
 
**Default:  4, 2, 1.5, 1.25, 1}}
 
 
  
 
===$AI Shield Manage Delay:===
 
===$AI Shield Manage Delay:===
Line 177: Line 223:
  
  
===$Player Subsys Damage Factor:===
+
===$Friendly AI Secondary Fire Delay Scale:===
{{Table3610|
+
{{Table3614|
*Also '''$AI Damage Reduction to Player Subsys:'''
+
*Sets the factor applied to "fire wait" for friendly ships
 +
*Syntax: '''Float list'''
 +
**Default: 0.4, 0.6, 0.8, 1.0, 1.2}}
 +
 
 +
 
 +
===$Hostile AI Secondary Fire Delay Scale:===
 +
{{Table3614|
 +
*Sets the factor applied to "fire wait" for hostile ships
 
*Syntax: '''Float list'''
 
*Syntax: '''Float list'''
**Default: 0.2, 0.4, 0.6, 0.8, 1}}
+
**Default: 1.4, 1.2, 1.0, 0.8, 0.6}}
  
  
Line 208: Line 261:
 
{{Table3611|
 
{{Table3611|
 
*How often the AI will use the "glide strafe" move when it has the opportunity. Glide strafe means using glide to attack capships by flying past and shooting at them. Only affects ships capable of glide.
 
*How often the AI will use the "glide strafe" move when it has the opportunity. Glide strafe means using glide to attack capships by flying past and shooting at them. Only affects ships capable of glide.
 +
*Syntax: '''Float list'''
 +
**Default: 0, 0, 0, 0, 0}}
 +
 +
 +
===$Random Sidethrust Percent:===
 +
{{Table3611|
 +
*Percentage of the time where AI ships will randomly sidethrust in a dogfight.
 
*Syntax: '''Float list'''
 
*Syntax: '''Float list'''
 
**Default: 0, 0, 0, 0, 0}}
 
**Default: 0, 0, 0, 0, 0}}
Line 224: Line 284:
 
*Syntax: '''Float list'''
 
*Syntax: '''Float list'''
 
**Default: 0, 0, 0, 0, 0}}
 
**Default: 0, 0, 0, 0, 0}}
 +
 +
 +
===$Player Shield Recharge Scale:===
 +
{{Table3610|
 +
*Defines the factor applied to the speed at which the player's shields recharge
 +
*Syntax: '''Float list'''
 +
**Default:  4, 2, 1.5, 1.25, 1}}
  
  
Line 236: Line 303:
 
{{Table3610|
 
{{Table3610|
 
*Sets the maximum number of turrets on a particular ship allowed to be attacking the same target at any given time
 
*Sets the maximum number of turrets on a particular ship allowed to be attacking the same target at any given time
*Syntax: '''Float list'''
+
*Syntax: '''Integer list'''
 
**Default: 3, 4, 7, 12, 19}}
 
**Default: 3, 4, 7, 12, 19}}
  
Line 243: Line 310:
 
{{Table3610|
 
{{Table3610|
 
*Sets the maximum number of turrets on a particular ship allowed to be attacking the player at any given time
 
*Sets the maximum number of turrets on a particular ship allowed to be attacking the player at any given time
*Syntax: '''Float list'''
+
*Syntax: '''Integer list'''
 
**Default: 3, 4, 7, 12, 19}}
 
**Default: 3, 4, 7, 12, 19}}
  
Line 284: Line 351:
 
===$Chance AI Has to Fire Missiles at Player:===
 
===$Chance AI Has to Fire Missiles at Player:===
 
{{Table3611|
 
{{Table3611|
*Chance - expressed in ('''value''' + 1) / 7 - of each AI turret within current 10 second segment to be allowed to shoot missiles at player ship.
+
* Chance for an AI to hesitate about firing a secondary or homing turret weapon at the player. Values range from 0-6, at 0 they will frequently hesitate, at 6 they will never hesitate.
*Syntax: '''Float list'''
+
*Syntax: '''Integer list'''
**Default: 0, 1, 2, 3, 4}}
+
**Default: 0, 1, 2, 3, 4
 
+
* Mechanic details: AIs are only allowed to fire homing secondaries or turrets with homing weapons at the player in a limited window of time. The window starts every ten seconds, and lasts ('''value''' + 1) 7ths of that ten second cycle. Each ship has it's own cycle, so their windows are not all synchronized.
 +
* Example: a value of 1 becomes 2/7ths, so ships can fire homing weapons at the player for roughly 2.85 seconds at a time, then are unable to fire them for 7.15 seconds.
 +
}}
  
 
===$Max Aim Update Delay:===
 
===$Max Aim Update Delay:===
Line 340: Line 409:
 
{{Table3610|
 
{{Table3610|
 
*If set, the AI will properly use brief pulses of afterburner power instead of afterburning until fuel is exhausted}}
 
*If set, the AI will properly use brief pulses of afterburner power instead of afterburning until fuel is exhausted}}
 +
 +
===$free afterburner use:===
 +
{{Table382|
 +
*If set, the AI will use afterburners in more situations.}}
  
 
===$allow rapid secondary dumbfire:===
 
===$allow rapid secondary dumbfire:===
Line 365: Line 438:
 
{{Table3610|
 
{{Table3610|
 
*If set, ships will not be able to warp out if their navigation subsystem is destroyed or low in strength}}
 
*If set, ships will not be able to warp out if their navigation subsystem is destroyed or low in strength}}
 +
 +
===$check communications for non-player ships:===
 +
{{Table202|
 +
*When set, every ship will have the same communications subsystem restrictions as the player, including minimum strength to send messages and EMP scramble status.
 +
*Off by default.
 +
*Syntax: '''''Boolean'''''}}
  
 
===$ignore lower bound for minimum speed of docked ship:===
 
===$ignore lower bound for minimum speed of docked ship:===
Line 373: Line 452:
 
===$disable linked fire penalty:===
 
===$disable linked fire penalty:===
 
{{Table3610|
 
{{Table3610|
*If set, there will be no penalty for linking primaries. Normally, the rate of fire is divided by the number of linked guns.}}
+
*If set, there will be no penalty for linking primaries. Normally, the rate of fire is *1 for a single bank, *0.66 for two banks and *0.5 for three banks (the fire delay is increased according to the formula 1+([nb of banks]-1)*0.5 ).}}
 +
 
 +
===$disable player secondary doublefire:===
 +
{{Table202|
 +
*If set, players are not allowed to dual-fire their secondaries.}}
 +
 
 +
===$disable ai secondary doublefire:===
 +
{{Table202|
 +
*If set, AIs are not allowed to dual-fire their secondaries.}}
  
 
===$disable weapon damage scaling:===
 
===$disable weapon damage scaling:===
Line 406: Line 493:
 
{{Table3610|
 
{{Table3610|
 
*If set, the AI will properly link primaries according to specified percentages of energy levels instead of retail behavior where it mistakenly linked according to absolute energy levels.}}
 
*If set, the AI will properly link primaries according to specified percentages of energy levels instead of retail behavior where it mistakenly linked according to absolute energy levels.}}
 +
 +
===$fix ramming stationary targets bug:===
 +
{{Table202|
 +
*When set, AI ships will try not to crash into stationary targets.  See [http://scp.indiegames.us/mantis/view.php?id=3147 Mantis #3147].
 +
*Off by default.
 +
*Syntax: '''''Boolean'''''}}
  
 
===$prevent turrets targeting too distant bombs:===
 
===$prevent turrets targeting too distant bombs:===
Line 447: Line 540:
 
*Fixes a bug where AI class attributes are not set properly on ships if the AI class is set in the mission to something other than the default for the ship type. Set this to YES if you want attributes in [[Ai.tbl]] to mean anything at all.}}
 
*Fixes a bug where AI class attributes are not set properly on ships if the AI class is set in the mission to something other than the default for the ship type. Set this to YES if you want attributes in [[Ai.tbl]] to mean anything at all.}}
  
===$No extra collision avoidance vs player:===
+
===$turrets ignore targets radius in range checks:===
 +
{{Table3611|
 +
*TBD.}}
 +
 
 +
===$no extra collision avoidance vs player:===
 
{{Table3611|
 
{{Table3611|
 
*Disables the extra collision avoidance that AI normally uses against the player. Makes the AI more aggressive vs the player at close range (same treatment as vs other AI), although ship-ship collisions are slightly more likely.}}
 
*Disables the extra collision avoidance that AI normally uses against the player. Makes the AI more aggressive vs the player at close range (same treatment as vs other AI), although ship-ship collisions are slightly more likely.}}
 +
 +
===$perform fewer checks for death screams:===
 +
{{Table3614|
 +
*If set, ships that are on different teams and ships that are outside the player's squadron will be allowed to send death screams.  Additionally, the game will no longer cap a maximum number of screams per mission.  (This flag originated as a customization of message behavior for the Wing Commander Saga mod.)
 +
Prior to revision 9119, this was "$perform less checks for death screams:", but the old version will still parse correctly.}}
 +
 +
===$advanced turret fov edge checks:===
 +
{{Table3614|
 +
*Forces all turrets to use [[Subsystem#.22fov_edge_checks.22|"fov edge checks"]].}}
 +
 +
===$require turrets to have target in fov:===
 +
{{Table3614|
 +
*Forces all turrets to use [[Subsystem#.22target_requires_fov.22|"target requires fov"]].}}
  
 
===$all ships manage shields:===
 
===$all ships manage shields:===
Line 457: Line 567:
 
===$ai aims from ship center:===
 
===$ai aims from ship center:===
 
{{Table3613|
 
{{Table3613|
*AI aims weapons using the center of the ship instead of the first gunpoint. If a convergence offset is specified for this ship in ships.tbl, AI aims using that as a reference point. Default: NO.}}
+
*AI aims weapons using the center of the ship instead of the first gunpoint. If a convergence offset is specified for this ship in ships.tbl, AI aims using that as a reference point.}}
  
===$allow primary link delay:===
+
===$allow primary link at mission start:===
{{Table3613|
+
{{Table37|
*When set, no ships will link primaries for the first 30 seconds of a mission. In addition, ships will randomly not link for the first two minutes of a mission. Set this to NO to get rid of this often-problematic retail behavior. Default: YES.}}
+
*Normally, no ships will link primaries for the first 30 seconds of a mission. In addition, ships will randomly not link for the first two minutes of a mission. Set this flag to YES to get rid of this often-problematic retail behavior. (Prior to revision 9119, this was called $allow primary link delay and defaulted to YES; to get rid of retail behavior you would specify NO. The old method is still supported for compatibility.)}}
  
 
===$allow beams to damage bombs:===
 
===$allow beams to damage bombs:===
 
{{Table3613|
 
{{Table3613|
*When set, beam weapons will be able to effectively intercept bombs. In addition, bombs flying through a beam path will get damaged and destroyed. Default: NO.}}
+
* Default: NO.
 +
* When no, when any secondary encounters any beam it is instantly destroyed regardless of if it is marked as interceptable, has a health value, or any other circumstance that would normally apply to interception by other weapons.
 +
* When true, damage and health values are respected in these circumstances. Secondaries without hitpoints are still destroyed, however.
 +
}}
  
 
===$disable weapon damage scaling for player:===
 
===$disable weapon damage scaling for player:===
 
{{Table3613|
 
{{Table3613|
*When set, Player weapon damage will no longer be scaled down when firing a non-huge primary against a ship with the "big damage" flag. Use with caution, as this may severely impact mission balance. Default: NO.}}
+
*When set, Player weapon damage will no longer be scaled down when firing a non-huge primary against a ship with the "big damage" flag. Use with caution, as this may severely impact mission balance.}}
 +
 
 +
===$countermeasures affect aspect seekers:===
 +
{{Table3613|
 +
*By default, an aspect seeker that's been decoyed by a CM just flies straight forward, while a heatseeker in the same position will actively home in on the CM. This flag makes aspect seekers match heatseeker behavior in this regard.}}
 +
 
 +
===$ai guards specific ship in wing:===
 +
{{Table3615|
 +
*If ordered to guard a ship in a wing (of which it is not a member), the AI will guard that specific ship instead of the entire wing (resulting in guarding the wing leader).}}
 +
 
 +
===$support don't add primaries:===
 +
{{Table382|
 +
*When set, the support ship will not equip a new primary weapon into an empty bank.
 +
*Off by default.
 +
*Syntax: '''''Boolean'''''}}
 +
 
 +
===$fighterbay arrivals use carrier orientation:===
 +
{{Table220|
 +
*Causes all ships arriving via a ship's fighterbay to attempt to align their right vector with their carrier's right vector as they exit.
 +
*Syntax: '''''Boolean'''''}}
 +
 
 +
===$fighterbay departures use carrier orientation:===
 +
{{Table220|
 +
*Causes all ships departing via a ship's fighterbay to attempt to align their right vector with their carrier's right vector as they enter.
 +
*Syntax: '''''Boolean'''''}}
 +
 
 +
===$debris damage respects 'big damage' flag:===
 +
{{Table242|
 +
*Causes damage inflicted by debris to be limited by the 'big damage' flag in the same way as damage inflicted by weapons.
 +
*Syntax: '''''Boolean'''''}}
 +
 
 +
===$don't limit change in speed due to physics whack:===
 +
{{Table242|
 +
*With this flag, the speed change due to physics whacks (collision, shockwave, etc.) is unlimited.  Without this flag, the speed change will be capped at 440 m/s if it exceeds 500 m/s.
 +
*Syntax: '''''Boolean'''''}}
  
 
===$ai path mode:===
 
===$ai path mode:===
Line 475: Line 622:
 
*Possible options are "normal" and "alt1". The alt1 mode differs from the normal behaviour in the following ways:
 
*Possible options are "normal" and "alt1". The alt1 mode differs from the normal behaviour in the following ways:
 
**1. No path shortcutting. Normal pathing AI will skip forward along a path to the furthest point it can reach. This is sometimes desirable, but makes it a lot harder to predict how the AI is going to behave at various points along a path. Turning this off also allows us to force the AI to straighten out, by giving it several waypoints in a more-or-less straight line. This is useful for such things as lining up a landing.  
 
**1. No path shortcutting. Normal pathing AI will skip forward along a path to the furthest point it can reach. This is sometimes desirable, but makes it a lot harder to predict how the AI is going to behave at various points along a path. Turning this off also allows us to force the AI to straighten out, by giving it several waypoints in a more-or-less straight line. This is useful for such things as lining up a landing.  
**2. No sliding when following paths. Docking still works, but there is some code that causes the AI to go full retard if it just misses a point: it turns towards the point in big, looping circles. This is apparently caused by passing a slide_vec value into ai_turn_towards_vector, which doesn't even seem to do what you'd expect it to do. Passing a null value instead turns off the stupid. (The behavior is fixed in alt1).
+
**2. No sliding when following paths. Docking still works, but there is some code that causes the AI to lose its mind if it just misses a point: it turns towards the point in big, looping circles. This is apparently caused by passing a slide_vec value into ai_turn_towards_vector, which doesn't even seem to do what you'd expect it to do. Passing a null value instead turns off the stupid. (The behavior is fixed in alt1).
 
**3. Momentum taken into account when following paths. Path points will trigger sooner, proportional to the ship's speed and momentum. This prevents the AI from massively overshooting a waypoint, especially with high-damp ships.
 
**3. Momentum taken into account when following paths. Path points will trigger sooner, proportional to the ship's speed and momentum. This prevents the AI from massively overshooting a waypoint, especially with high-damp ships.
 
**4. AI tries to follow the line between waypoints. Instead of just pointing at the next waypoint, the AI will fly a bit towards the line. This helps keep the AI actually on the path it claims to be following. See picture:[[Image:Altpaths.png]]
 
**4. AI tries to follow the line between waypoints. Instead of just pointing at the next waypoint, the AI will fly a bit towards the line. This helps keep the AI actually on the path it claims to be following. See picture:[[Image:Altpaths.png]]
Line 481: Line 628:
 
**5. AI will respect "cap-waypoint-speed" when following paths (such as when docking or departing via bay).}}
 
**5. AI will respect "cap-waypoint-speed" when following paths (such as when docking or departing via bay).}}
  
===$Default weapon select effect:===
+
===$default weapon select effect:===
 
{{Table3613|
 
{{Table3613|
 
*This specifies which effect to use for weapon select animations when no .ani can be found, or the -weapon_choice_3d commandline flag is active. This will default to the FS2 effect.
 
*This specifies which effect to use for weapon select animations when no .ani can be found, or the -weapon_choice_3d commandline flag is active. This will default to the FS2 effect.
 
*Possible options are "FS1" and "off"}}
 
*Possible options are "FS1" and "off"}}
 +
{{Table3615|
 +
*This flag has been moved to [[Game_settings.tbl]]}}
  
===$Default ship select effect:===
+
===$default ship select effect:===
 
{{Table3613|
 
{{Table3613|
 
*This specifies which effect to use for ship select animations when no .ani can be found, or the -ship_choice_3d commandline flag is active. This will default to the FS2 effect.
 
*This specifies which effect to use for ship select animations when no .ani can be found, or the -ship_choice_3d commandline flag is active. This will default to the FS2 effect.
 
*Possible options are "FS1" and "off"}}
 
*Possible options are "FS1" and "off"}}
 +
{{Table3615|
 +
*This flag has been moved to [[Game_settings.tbl]]}}
  
 
===$no warp camera:===
 
===$no warp camera:===
Line 495: Line 646:
 
*When set, prevents the view from switching to the external camera when the player warps out.
 
*When set, prevents the view from switching to the external camera when the player warps out.
 
*Note: this flag is deprecated and may get moved to another table without further notice.}}
 
*Note: this flag is deprecated and may get moved to another table without further notice.}}
 +
 +
===$fix ai path order bug:===
 +
{{Table3615|
 +
*When set, ship will follow its own waypoint path unless the wingleader has the same waypoint path and order.
 +
*Off by default.
 +
*Syntax: '''''Boolean'''''}}
 +
 +
===$strict turret-tagged-only targeting:===
 +
{{Table372|
 +
*When set, newer turret-tagged-only behavior will be enabled.  See [http://scp.indiegames.us/mantis/view.php?id=3114 Mantis #3114].
 +
*Off by default.
 +
*Syntax: '''''Boolean'''''}}
 +
 +
===$aspect bomb invulnerability fix:===
 +
{{Table373|
 +
*When set, the code that makes bombs invulnerable for the first 1.5 seconds of life will use the correct lifetime calculation for aspect bombs.  Without this fix, the invulnerability time will be extended by 20% of the total lifetime of the bomb.
 +
*Off by default.
 +
*Syntax: '''''Boolean'''''}}
 +
 +
===$glide decay requires thrust:===
 +
{{Table373|
 +
*When set, gliding ships will maintain their current speed without decay as long as they aren't actively thrusting.
 +
*Off by default.
 +
*Syntax: '''''Boolean'''''}}
 +
 +
===$ai can slow down when attacking big ships:===
 +
{{Table38|
 +
*When set, fighters attacking big ships will slow down depending on how long they've been attacking (80% speed after 5 seconds, 60% after 8 seconds, 40% after 10 seconds, and 20% after 15 seconds), how long it's been since they were last shot (full throttle if it was within the past 6 seconds), and how close they are (full throttle if the target is more than 1200 meters away).
 +
*Off by default.
 +
*Syntax: '''''Boolean'''''}}
 +
 +
===$use actual primary range:===
 +
{{Table382|
 +
*When set, fighters will no longer fire primary weapons at targets outside their range just because weapon travel time would be sufficiently short.
 +
*Off by default.
 +
*Syntax: '''''Boolean'''''}}
 +
 +
===$override radius for subsystem path points:===
 +
{{Table202|
 +
*When set, this value overrides the default distance for determining if a ship had reached a point in a model subsystem path. Useful to allow ships with high damp values to navigate subsystem paths when attacking a subsystem. Must be greater than or equal to 1. If '''''$use POF radius for subsystem path points:''''' is set than this override value will only be used if the point in the subsystem path is less than 1 or invalid.
 +
*5 by default.
 +
*Syntax: '''''Integer'''''}}
 +
 +
===$use POF radius for subsystem path points:===
 +
{{Table202|
 +
*When set, the distance for determining if a ship had reached a point in a model subsystem path will be the radius of that path point, not the default distance of 5. 
 +
*Off by default. If this is set to YES and ''''''$override radius for subsystem path points:''''' is set to greater than or equal to 1, then the path point radius will be used. If the path point radius cannot be found or is less than 1 then override radius will be used if it is set to greater than or equal to 1.
 +
*Syntax: '''''Boolean'''''}}
 +
 +
===$bay arrive speed multiplier:===
 +
{{Table373|
 +
*Causes all AI ships arriving from fighterbays (following a fighterbay path) to gradually accelerate, instead of immediately attempting to attain maximum speed. This can be used to prevent fighters from overshooting the fighterbay paths. The initial target speed is the maximum speed multiplied by the given value, with the multiplier gradually approaching 1.0 as the distance to the end of the path decreases.
 +
**Syntax: '''''Float''''' (defaults to 1.0)
 +
{{Note|Will be overridden by path-specific multipliers, see [[Ships.tbl#.2Barrive_speed_multiplier:]].}}
 +
}}
 +
 +
===$bay depart speed multiplier:===
 +
{{Table373|
 +
*Same as above, except for departures into fighterbays. The initial target speed is the maximum speed, with the target speed gradually approaching maximum speed multiplied by the given value as the distance to the fighterbay decreases.
 +
**Syntax: '''''Float''''' (defaults to 1.0)
 +
{{Note|Will be overridden by path-specific multipliers, see [[Ships.tbl#.2Bdepart_speed_multiplier:]].}}
 +
}}
 +
 +
===$lead indicator second-order prediction factor:===
 +
{{Table202|
 +
*This is a 0 to 1 multiplier of a factor to adjust the lead indicator to take into account a ship's rotational velocity as well as its velocity. This will directly affect autoaim, making it more accurate for turning enemies.
 +
*This ''will'' make the lead indicator slightly jitterier in general, and does not properly take into account gliding. It is recommended to adjust the value to fit your situation.
 +
**Syntax: '''''Float''''' (defaults to 0.0)}}
 +
 +
===$no directional bias for missile and ship turning:===
 +
{{Table202|
 +
*When enabled, this will cause ships and missiles to take direct turning paths to point at their target. This does not directly affect their turning time, but in many situations will result in more efficient paths and a better time-to-target.
 +
*Syntax: '''''Boolean'''''}}
 +
 +
===$respect ship axial turnrate differences:===
 +
{{Table202|
 +
*Normally AI ships will use the average of their pitch and heading turn times for their turn time on all axes. If this is enabled the ship will actually use the tabled values for each axis.
 +
*'''''NOTE''''':The AI will '''''NOT''''' take this into account when turning, it will always turn directly towards its target, even if it could bank and use a faster axis instead. Use this flag carefully, and make sure that their your ships have exactly the turn times you want for each axis.
 +
*Syntax: '''''Boolean'''''}}
 +
 +
===$any ship with no shields can manage ETS:===
 +
{{Table202|
 +
*Normally AI ships will not manage ETS if they do not have shields set to be on. When enabled, this flag allows the AI on any ship to manage ETS for weapons and engines even if they do not have shields set to on. Do note that in Vanilla FS2, some capital ships can go much faster with this enabled.
 +
*Syntax: '''''Boolean'''''}}
 +
 +
===$fighters/bombers with no shields can manage ETS:===
 +
{{Table202|
 +
*Normally AI ships will not manage ETS if they do not have shields set to be on. When enabled, this flag allows the AI on fighters and bombers to manage ETS for weapons and engines even if they do have shields set to on.
 +
*Syntax: '''''Boolean'''''}}
 +
 +
===$ships playing dead don't manage ETS:===
 +
{{Table232|
 +
*Prevents ships from managing their ETS is they are currently playing dead.  Managing ETS could lead to unexpected speed changes in ship-maneuver.
 +
*Syntax: '''''Boolean'''''}}
 +
 +
===$better combat collision avoidance for fightercraft:===
 +
{{Table202|
 +
*If set will cause small ships to be much better at avoiding colliding with large ships while fighting, and will not spend as long recovering from a collision if one does occur.
 +
*Syntax: '''''Boolean'''''}}
 +
 +
===$firing requires exact los:===
 +
{{Table202|
 +
*If set will cause turrets and AI weapons to only fire if they have a clear line of sight from their firing point to their target's ship's center.
 +
*Syntax: '''''Boolean'''''}}
 +
 +
===$improved missile avoidance for fightercraft:===
 +
{{Table212|
 +
*Fighters/bombers will be much more effective at dodging missiles in general. Of note is that AI do not normally care about countermeasure effect range before dropping them (only distance less than 200m), with this flag, they will only drop them if within countermeasure range.
 +
*Syntax: '''''Boolean'''''}}
 +
 +
===$friendly ships use AI profile countermeasure chance:===
 +
{{Table212|
 +
*Specifies Friendly ships to use their specific AI class profile countermeasure firing chance. By default Friendly ships always use the second value in '''$AI Countermeasure Firing Chance:''' from default AI profile.
 +
*Syntax: '''''Boolean'''''}}
 +
 +
===$improved subsystem attack pathing:===
 +
{{Table212|
 +
*Fightercraft will use a somewhat more efficient and faster subsystem attack pathing method.
 +
*Notably, this method ''does not'' use the path system. Using this flag, aside from docking and fighter bay paths, ''all other'' paths will be ignored and are no longer necessary.
 +
*Syntax: '''''Boolean'''''}}
 +
 +
===$fixed ship-weapon collisions:===
 +
{{Table214|
 +
*Fixes an error in ship-weapon collisions which would occasionally cause them to not trigger when they should.
 +
*Most obvious when projectiles would erroneously bypass a full shield quadrant and damage the hull.
 +
*Syntax: '''''Boolean'''''}}
 +
 +
===$AI secondary range awareness:===
 +
{{Table214|
 +
*Controls if the AI considers weapon range at all when selecting a secondary weapon to attempt to use. Currently available options are:
 +
*'RETAIL': The default. After performing filtering logic based on the target types and weapon flags, the AI will select the first valid secondary bank as its active one, regardless of range.
 +
*'AWARE': As retail, except that if a weapon is out of range it the AI will keep looking down the list to see if it has a weapon that is in range, and use that instead if it does. All other weapon selection and restriction logic still applies.}}
 +
 +
===$no shield damage from ship collisions:===
 +
{{Table214|
 +
*Normally, the heavier ship in a collision will receive shield damage from the collision if it has one.
 +
*This disables that, and causes all involved ships to only take hull damage.
 +
*Syntax: '''''Boolean'''''}}
 +
 +
===$turret target recheck time:===
 +
{{Table220|
 +
*Defines the amount of time between target recalculation for turrets.
 +
*Affects turret reaction time in all scenarios, acquiring a target from idle, re-affirming the current target, switching to a new target or even a new subsystem on the same target.
 +
*Be aware setting this value too low can have an extreme performance impact. It is recommended to not set this below 30 ms.
 +
*Syntax: '''''Float''''', milliseconds
 +
*Default: 2000}}
 +
 +
===$prevent negative turret ammo:===
 +
{{Table220|
 +
*By default, turrets with ammo would end up firing one extra shot, resulting in a -1 ammo. This flag corrects that behavior, so the ammo count is properly used.
 +
*Syntax: '''''Boolean'''''}}
 +
 +
===$fix keep-safe-distance:===
 +
{{Table220|
 +
*Allows any ship flying the keep-safe-distance behavior to turn toward its goal point. Without this flag, ships will fly into the distance in a straight line.
 +
*Syntax: '''''Boolean'''''}}
 +
 +
===$AI ignores aspect lock for leading:===
 +
{{Table222|
 +
*When off, AI fighters follows retail behavior of aiming directly at a target when using aspect lock missiles. When on AIs ignore this consideration and always lead their targets when attempting to aim at them.
 +
*Syntax: '''''Boolean'''''
 +
*Default: on}}
 +
 +
===$fix good-rearm-time bug:===
 +
{{Table224|
 +
*Causes the "good rearm time" SEXP to correctly expire (revert to being a "bad rearm time") at the end of the specified time.
 +
*Syntax: '''''Boolean'''''}}
 +
 +
===$no continuous turn on attack:===
 +
{{Table224|
 +
*Prevents an AI behavior where fighters/bombers will spin around for a second or two when they acquire a target.
 +
*Syntax: '''''Boolean'''''}}
 +
 +
===$remove-goal properly removes play-dead order:===
 +
{{Table224|
 +
*Causes remove-goal to take the ship out of the play-dead AI mode when removing the play-dead goal.
 +
*Syntax: '''''Boolean'''''}}
 +
 +
===$bay arrivals not time limited:===
 +
{{Table224|
 +
*Causes AI to always complete a bay arrival path, even if it takes longer than 10 seconds.
 +
*Syntax: '''''Boolean'''''}}
 +
 +
===$use adjusted AI class autoscale:===
 +
{{Table224|
 +
*Causes autoscaled AI classes to scale only based on the collection of autoscaled AI classes, not all AI classes.  This prevents autoscaled calculations from being skewed by the presence of non-autoscaled classes in the list.
 +
*Syntax: '''''Boolean'''''}}
 +
 +
===$carry shield difficulty scaling bug:===
 +
{{Table232|
 +
*Enables an erroneous behavior where player damage difficulty scaling is applied twice to damage from area blasts and shockwaves, greatly changing the effective difficulty scaling. This is a ''bug'' that should not be enabled, unless the mod was balanced during the time between 3.6.14 and 23.1 (mods [[Game_settings.tbl#.24Target_Version:|targeting within those versions]] automatically have this flag enabled).
 +
*Syntax: '''''Boolean'''''}}
 +
 +
===$debris affected by physics whacks:===
 +
{{Table232|
 +
*Allows debris to be affected by physics whacks from weapons.
 +
*Syntax: '''''Boolean'''''}}
 +
 +
===$asteroids affected by physics whacks:===
 +
{{Table232|
 +
*Allows asteroids to be affected by physics whacks from weapons.
 +
*Syntax: '''''Boolean'''''}}
 +
 +
===$dynamic goals afterburn hard:===
 +
{{Table232|
 +
*Will cause all dynamic goals (such as a fighter defending itself, or a fighter chasing an attacker as part of a guard order) to 'afterburn hard' as the optional argument on ai-goals do.
 +
*Syntax: '''''Boolean'''''}}
 +
 +
===$player orders afterburn hard:===
 +
{{Table242|
 +
*Will cause all player orders to 'afterburn hard' as the optional argument on ai-goals do.
 +
*Syntax: '''''Boolean'''''}}
 +
 +
===$hud squad messages use tactical disarm/disable:===
 +
{{Table234|
 +
*Will cause disarm or disable orders issued by the hud squadmsg menu (i.e. player orders) to be 'tactical' goals that do not cause the target to be protected from attack.
 +
*Syntax: '''''Boolean'''''}}
 +
 +
===$align to target when guarding stationary ship:===
 +
{{Table242|
 +
*Will cause ships to match the target's orientation when following a guard order, rather than facing directly away from the target which is the normal behavior.
 +
*Syntax: '''''Boolean'''''}}
 +
 +
===$rotation factor multiplier for player collisions:===
 +
{{Table242|
 +
*Allows modders to have players experience rotational effects from collisions. This value is multiplied by the value of [https://wiki.hard-light.net/index.php/Ships.tbl#.2BRotation_Factor: $Collision Physics: +Rotation Factor:] in the ships table (which is specified for the ship class).
 +
**Syntax: '''''Float''''' (defaults to 0.0)}}
  
 
==Sample Entry==
 
==Sample Entry==
Line 513: Line 891:
 
$AI Always Links Ammo Weapons:                95,  80,  60,  40,  20
 
$AI Always Links Ammo Weapons:                95,  80,  60,  40,  20
 
$AI Maybe Links Ammo Weapons:                  90,  60,  40,  20,  10
 
$AI Maybe Links Ammo Weapons:                  90,  60,  40,  20,  10
 +
$Primary Ammo Burst Multiplier:                0,    0,    0,    0,    0
 
$AI Always Links Energy Weapons:              100,  80,  60,  40,  20
 
$AI Always Links Energy Weapons:              100,  80,  60,  40,  20
 
$AI Maybe Links Energy Weapons:                90,  60,  40,  20,  10
 
$AI Maybe Links Energy Weapons:                90,  60,  40,  20,  10
$Max Missles Locked on Player:                 2,    3,    4,    7,    99
+
$Max Missiles Locked on Player:               2,    3,    4,    7,    99
 
$Max Player Attackers:                        2,    3,    4,    5,    99
 
$Max Player Attackers:                        2,    3,    4,    5,    99
 
$Max Incoming Asteroids:                      3,    4,    5,    7,    10
 
$Max Incoming Asteroids:                      3,    4,    5,    7,    10
 
$Player Damage Factor:                        0.25, 0.5,  0.65, 0.85, 1
 
$Player Damage Factor:                        0.25, 0.5,  0.65, 0.85, 1
 
$Player Subsys Damage Factor:                  0.2,  0.4,  0.6,  0.8,  1
 
$Player Subsys Damage Factor:                  0.2,  0.4,  0.6,  0.8,  1
$Predict Position Delay:                      2,    1.5,  1.33, 0.5,  0
+
$Predict Position Delay:                      2,    1.5,  1.333,0.5,  0
 
$AI Shield Manage Delay:                      5,    4,    2.5,  1.2,  0.1
 
$AI Shield Manage Delay:                      5,    4,    2.5,  1.2,  0.1
 
$Friendly AI Fire Delay Scale:                2,    1.4,  1.25, 1.1,  1
 
$Friendly AI Fire Delay Scale:                2,    1.4,  1.25, 1.1,  1
 
$Hostile AI Fire Delay Scale:                  4,    2.5,  1.75, 1.25, 1
 
$Hostile AI Fire Delay Scale:                  4,    2.5,  1.75, 1.25, 1
 +
$Friendly AI Secondary Fire Delay Scale:      0.4,  0.6,  0.8,  1.0,  1.2
 +
$Hostile AI Secondary Fire Delay Scale:        1.4,  1.2,  1.0,  0.8,  0.6
 
$AI Turn Time Scale:                          3,    2.2,  1.6,  1.3,  1
 
$AI Turn Time Scale:                          3,    2.2,  1.6,  1.3,  1
 +
$Glide Attack Percent:                        0,    0,    0,    0,    0
 +
$Circle Strafe Percent:                        0,    0,    0,    0,    0
 +
$Glide Strafe Percent:                        0,    0,    0,    0,    0
 +
$Random Sidethrust Percent:                    0,    0,    0,    0,    0
 +
$Stalemate Time Threshold:                    0,    0,    0,    0,    0
 +
$Stalemate Distance Threshold:                0,    0,    0,    0,    0
 
$Player Shield Recharge Scale:                4,    2,    1.5,  1.25, 1
 
$Player Shield Recharge Scale:                4,    2,    1.5,  1.25, 1
 
$Player Weapon Recharge Scale:                10,  4,    2.5,  2,    1.5
 
$Player Weapon Recharge Scale:                10,  4,    2.5,  2,    1.5
Line 531: Line 918:
 
$Percentage Required For Kill Scale:          0.30, 0.30, 0.30, 0.30, 0.30
 
$Percentage Required For Kill Scale:          0.30, 0.30, 0.30, 0.30, 0.30
 
$Percentage Required For Assist Scale:        0.15, 0.15, 0.15, 0.15, 0.15
 
$Percentage Required For Assist Scale:        0.15, 0.15, 0.15, 0.15, 0.15
$Percentage Awarded For Capship Assist:        0.5,  0.5,  0.5, 0.5,  0.5
+
$Percentage Awarded For Capship Assist:        0.1,  0.2,  0.35, 0.5,  0.6
 
$Repair Penalty:                              10,  20,  35,  50,  60
 
$Repair Penalty:                              10,  20,  35,  50,  60
 
$Delay Before Allowing Bombs to Be Shot Down:  1.5,  1.5,  1.5,  1.5,  1.5
 
$Delay Before Allowing Bombs to Be Shot Down:  1.5,  1.5,  1.5,  1.5,  1.5
 +
$Chance AI Has to Fire Missiles at Player:    0,    1,    2,    3,    4
 +
$Max Aim Update Delay:                        0,    0,    0,    0,    0
 +
$Turret Max Aim Update Delay:                  0,    0,    0,    0,    0
 +
$Player Autoaim FOV:                          0,    0,    0,    0,    0
 +
$Detail Distance Multiplier:                  0.125,0.25, 1.0,  4.0,  8.0
  
 
$big ships can attack beam turrets on untargeted ships:  NO
 
$big ships can attack beam turrets on untargeted ships:  NO
Line 564: Line 956:
 
$use only single fov for turrets:                        NO
 
$use only single fov for turrets:                        NO
 
$allow vertical dodge:                                  NO
 
$allow vertical dodge:                                  NO
 +
$force beam turrets to use normal fov:                  NO
 
$fix AI class bug:                                      NO
 
$fix AI class bug:                                      NO
 +
$turrets ignore targets radius in range checks:          NO
 +
$no extra collision avoidance vs player:                NO
 +
$perform fewer checks for death screams:                NO
 +
$advanced turret fov edge checks:                        NO
 +
$require turrets to have target in fov:                  NO
 +
$all ships manage shields:                              NO
 +
$ai aims from ship center:                              NO
 +
$allow primary link at mission start:                    NO
 +
$allow beams to damage bombs:                            NO
 +
$disable weapon damage scaling for player:              NO
 +
$countermeasures affect aspect seekers:                  NO
 +
$ai path mode:                                          normal
 +
$no warp camera:                                        NO
 +
 
#End
 
#End
 
</pre>
 
</pre>

Latest revision as of 16:32, 16 August 2024

This feature requires FreeSpace Open

Revision information.....

FSO Git Commit: Date: 2024-8-13 SHA: 67a9f6f5b7ae9a03fb47bfef09daa878ccc39d4b
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 ai_profiles.tbl allows the creation and management of different patterns of AI behavior, called profiles. Profiles consist of various statistics and flags that provide some control over AI behavior. All options within a profile are optional; if an option is not specified it will follow the original FreeSpace 2 retail behavior. Different missions can specify different profiles.

The default ai_profiles.tbl is hardcoded into the FSO executable, and defines the "FS2 RETAIL" AI profile. It's usually recommended not to modify this profile, but to create a new AI profile in a modular table instead, which will then inherit its defaults from the FS2 RETAIL profile.


FS2 Open, 23.2: This table can also be called mission_profiles.tbl

This table is one of the Modular Tables and can be extended with xxx-aip.tbm

FS2 Open, 23.2: Can also be extended with xxx-msp.tbm


If the version targeted in game_settings.tbl is equal to or later than these listed, the following options are enabled by default:

FS2 Open 3.6.10:
  • reset last_hit_target_time for player hits
FS2 Open, 3.7.2:
  • fix ramming stationary targets bug
FS2 Open, 21.0:
  • huge turret weapons ignore bombs
  • fix linked primary weapon decision bug
  • prevent turrets targeting too distant bombs
  • fix heat seekers homing on stealth ships bug
  • allow vertical dodge
  • fix ai class bug
  • ai guards specific ship in wing
  • fix ai path order bug
  • aspect bomb invulnerability fix
  • use actual primary range
  • fighters/bombers with no shields can manage ETS
FS2 Open, 21.4:
  • fixed ship-weapon collisions
FS2 Open, 22.0:
  • fighterbay arrivals use carrier orientation
  • prevent negative turret ammo
  • fix keep-safe-distance
FS2 Open, 23.0:
  • fix good-rearm-time bug
  • no continuous turn on attack
  • remove-goal properly removes play-dead order
FS2 Open, 23.2:
  • ships playing dead don't manage ETS
FS2 Open, 24.0:
  • hud squad messages use tactical disarm/disable
FS2 Open, 24.2:
  • debris damage respects 'big damage' flag


Contents

General Format

#AI Profiles

$Default Profile: a profile name

Up to 9 different AI profiles

#End


#AI Profiles

  • Indicates to the parser that this is an ai_profiles table file.


$Default Profile:

  • Defines the profile that each mission will use if no profile is specified in FRED. In addition, this profile will be selected automatically in FRED when you create a new mission. If this line is not specified, the default profile will be FS2 Retail, the FreeSpace 2 retail behavior.


$Profile Name:

  • The name of the profile, naturally.




The following entries accept float list of five comma-separated values. One value for each of the difficulty levels (Very Easy, Easy, Medium, Hard, Insane).


$Player Afterburner Recharge Scale:

FS2 Open 3.6.10:
  • Sets the speed of afterburner recharge
  • Syntax: Float list
    • Default: 5, 3, 2, 1.5, 1


$Max Beam Friendly Fire Damage:

FS2 Open 3.6.10:
  • Defines the maximum damage inflicted by friendly beam fire. -1 means no limit.
  • Syntax: Float list
    • Default: 0, 5, 10, 20, 30

$Max Weapon Friendly Fire Damage:

FS2 Open, 24.2:
  • Defines the maximum damage inflicted by friendly weapon fire, including shockwaves. -1 means no limit.
  • Syntax: Float list
    • Default: -1, -1, -1, -1, -1

$Max Weapon Self Damage:

FS2 Open, 24.2:
  • Defines the maximum damage inflicted by self-hits, including shockwaves. -1 means no limit.
  • Syntax: Float list
    • Default: -1, -1, -1, -1, -1

$Player Countermeasure Life Scale:

FS2 Open 3.6.10:
  • Sets the factor applied to player launched countermeasure lifetime
  • Syntax: Float list
    • Default: 3, 2, 1.5, 1.25, 1


$AI Countermeasure Firing Chance:

FS2 Open 3.6.10:
  • Defines the chance a countermeasure will be fired by an AI-controlled ship (this is scaled by ai_class)
  • Syntax: Float list
    • Default: 0.2, 0.3, 0.5, 0.9, 1.1


$AI In Range Time:

FS2 Open 3.6.10:
  • The delay (in seconds) for the AI to fire its weapons after getting in range.
  • Syntax: Float list
    • Default: 2, 1.4, 0.75, 0, -1

$AI Always Links Ammo Weapons:

FS2 Open 3.6.10:
  • AI ships will link ballistic primaries if ammo levels are greater than these percents.
  • Syntax: Float list
    • Default: 95, 80, 60, 40, 20


$AI Maybe Links Ammo Weapons:

FS2 Open 3.6.10:
  • Defines the same as $AI Always Links Ammo Weapons: but in situations when its hull is below 33 % of maximum hitpoints.
  • Syntax: Float list
    • Default: 90, 60, 40, 20, 10


$Primary Ammo Burst Multiplier:

FS2 Open, 3.6.12:
  • Allows the AI to fire primary weapons in bursts. How long the bursts are (and how much time between them) is a function of ammo remaining, distance to target, angle to target, and this multiplier. A value of 0 turns this feature off (AI fires normally, without bursts). A value < 1 will make for shorter bursts with larger gaps, and a value > 1 will give longer bursts with shorter gaps.
  • Syntax: Float list
    • Default: 0, 0, 0, 0, 0


$AI Always Links Energy Weapons:

FS2 Open 3.6.10:
  • AI ships will link energy primaries if energy levels are greater than these percents.
  • Syntax: Float list
    • Default: 100, 80, 60, 40, 20


$AI Maybe Links Energy Weapons:

FS2 Open 3.6.10:
  • Defines the same as $AI Always Links Energy Weapons: but in situations when its hull is below 33 % of maximum hitpoints.
  • Syntax: Float list
    • Default: 90, 60, 40, 20, 10


$Max Missiles Locked on Player:

FS2 Open 3.6.10:
  • Defines the maximum number of missiles allowed to be homing in on a player at any given time
  • Note: Single-player only, no restriction in multiplayer
  • Note: The alternative spelling "Missles" is also accepted for backwards compatibility reasons.
  • Syntax: Integer list
    • Default: 2, 3, 4, 7, 99


$Max Player Attackers:

FS2 Open 3.6.10:
  • Sets the maximum number of ships allowed to be attacking the player at any given time
  • This number is also checked when a ship checks for a new target, such as using the goal attack-any.
  • Syntax: Integer list
    • Default: 2, 3, 4, 5, 99

$Max Incoming Asteroids:

FS2 Open 3.6.10:
  • Sets the maximum number of active (i.e. "thrown") asteroids that can be heading toward a friendly ship at any given time
  • Syntax: Integer list
    • Default: 3, 4, 5, 7, 10


$Player Damage Factor: or $AI Damage Reduction to Player Hull:

FS2 Open 3.6.10:
  • Defines the factor applied to damage suffered by the player
  • Syntax: Float list
    • Default: 0.25, 0.5, 0.65, 0.85, 1


$Player Subsys Damage Factor: or $AI Damage Reduction to Player Subsys:

FS2 Open 3.6.10:
  • Sets the factor applied to subsystem damage suffered by the player. This is in addition to the $Player Damage Factor:
  • Syntax: Float list
    • Default: 0.2, 0.4, 0.6, 0.8, 1


$Predict Position Delay:

FS2 Open 3.6.10:
  • Sets the time after which the AI will recalculate the position of its target.
  • It does not apply to the AI's aim, it only applies to things like avoiding collisions and maneuvering at close range. Generally, anything other than a 0 just allows the AI to do monumentally stupid things like try to turn to avoid ramming where it thought you were 2 seconds ago.
  • Syntax: Float list, seconds
    • Default: 2, 1.5, 1.333, 0.5, 0

$AI Shield Manage Delay:

FS2 Open 3.6.10:
  • Also $AI Shield Manage Delays:
  • Sets the time in seconds between each instance of an AI ship managing its shields
  • Syntax: Float list
    • Default: 5, 4, 2.5, 1.2, 0.1


$Friendly AI Fire Delay Scale:

FS2 Open 3.6.10:
  • Sets the factor applied to "fire wait" for friendly ships
  • Syntax: Float list
    • Default: 2, 1.4, 1.25, 1.1, 1


$Hostile AI Fire Delay Scale:

FS2 Open 3.6.10:
  • Sets the factor applied to "fire wait" for hostile ships
  • Syntax: Float list
    • Default: 4, 2.5, 1.75, 1.25, 1


$Friendly AI Secondary Fire Delay Scale:

FS2 Open, 3.6.14:
  • Sets the factor applied to "fire wait" for friendly ships
  • Syntax: Float list
    • Default: 0.4, 0.6, 0.8, 1.0, 1.2


$Hostile AI Secondary Fire Delay Scale:

FS2 Open, 3.6.14:
  • Sets the factor applied to "fire wait" for hostile ships
  • Syntax: Float list
    • Default: 1.4, 1.2, 1.0, 0.8, 0.6


$AI Turn Time Scale:

FS2 Open 3.6.10:
  • Defines the factor applied to time it takes for enemy ships to turn. A value of 1.0 means the ship turns at normal speed, 2.0 means half speed (takes twice as long), etc. Note that this value ONLY affects ships hostile to the player (always 1.0 for friendly ships).
  • Syntax: Float list
    • Default: 3, 2.2, 1.6, 1.3, 1


$Glide Attack Percent:

FS2 Open, 3.6.12:
  • How often the AI will use the "glide attack" move when it has the opportunity. Glide attack means using glide to maintain course while aiming and firing at the current target. Only affects ships capable of glide.
  • Syntax: Float list
    • Default: 0, 0, 0, 0, 0


$Circle Strafe Percent:

FS2 Open, 3.6.12:
  • How often the AI will use the "circle strafe" move when it has the opportunity. Circle strafe means that the ship will attempt "Descent-like" combat, trying to maintain distance while circling around the target using sidethrusters. Ships will only attempt this when sidethrust top speed is at least 2/3 of target's current velocity.
  • Syntax: Float list
    • Default: 0, 0, 0, 0, 0


$Glide Strafe Percent:

FS2 Open, 3.6.12:
  • How often the AI will use the "glide strafe" move when it has the opportunity. Glide strafe means using glide to attack capships by flying past and shooting at them. Only affects ships capable of glide.
  • Syntax: Float list
    • Default: 0, 0, 0, 0, 0


$Random Sidethrust Percent:

FS2 Open, 3.6.12:
  • Percentage of the time where AI ships will randomly sidethrust in a dogfight.
  • Syntax: Float list
    • Default: 0, 0, 0, 0, 0


$Stalemate Time Threshold:

FS2 Open, 3.6.12:
  • The minimum amount of time required for the AI to detect a "stalemate" situation. If a ship and its target have been within a certain distance of each other (defined by $Stalemate Distance Threshold) for this amount of time without either of them scoring a hit on the other, the AI will do something to break the stalemate. Only applies to small ships. If this value is 0 or less, no stalemate detection is performed.
  • Syntax: Float list
    • Default: 0, 0, 0, 0, 0


$Stalemate Distance Threshold:

FS2 Open, 3.6.12:
  • The maximum distance that an AI ship must remain from its target for a "stalemate" to occur (see $Stalemate Time Threshold).
  • Syntax: Float list
    • Default: 0, 0, 0, 0, 0


$Player Shield Recharge Scale:

FS2 Open 3.6.10:
  • Defines the factor applied to the speed at which the player's shields recharge
  • Syntax: Float list
    • Default: 4, 2, 1.5, 1.25, 1


$Player Weapon Recharge Scale:

FS2 Open 3.6.10:
  • Defines the factor applied to the speed at which the player's weapons recharge
  • Syntax: Float list
    • Default: 10, 4, 2.5, 2, 1.5


$Max Turret Target Ownage:

FS2 Open 3.6.10:
  • Sets the maximum number of turrets on a particular ship allowed to be attacking the same target at any given time
  • Syntax: Integer list
    • Default: 3, 4, 7, 12, 19


$Max Turret Player Ownage:

FS2 Open 3.6.10:
  • Sets the maximum number of turrets on a particular ship allowed to be attacking the player at any given time
  • Syntax: Integer list
    • Default: 3, 4, 7, 12, 19


$Percentage Required For Kill Scale:

FS2 Open 3.6.10:
  • Sets the minimum percentage of the total assessed damage a player must inflict in order to be awarded a kill (3.6.10 and on)
  • Syntax: Float list
    • Default: 0.30, 0.30, 0.30, 0.30, 0.30


$Percentage Required For Assist Scale:

FS2 Open 3.6.10:
  • Sets the minimum percentage of the total assessed damage a player must inflict in order to be awarded an assist (3.6.10 and on)
  • Syntax: Float list
    • Default: 0.15, 0.15, 0.15, 0.15, 0.15


$Percentage Awarded For Capship Assist:

FS2 Open 3.6.10:
  • In TvT and Coop missions all teammates will be granted this percentage of the capships score when someone scores a kill (3.6.10 and on)
  • Syntax: Float list
    • Default: 0.5, 0.5, 0.5, 0.5, 0.5


$Repair Penalty:

FS2 Open, 3.6.12:
  • The amount to subtract from the player's score if they are repaired by a support ship
  • Syntax: Integer list
    • Default: 10, 20, 35, 50, 60


$Delay Before Allowing Bombs to Be Shot Down:

FS2 Open, 3.6.12:
  • Time after bombs are fired during which the bombs are invulnerable to weapon hits
  • Syntax: Float list
    • Default: 1.5, 1.5, 1.5, 1.5, 1.5


$Chance AI Has to Fire Missiles at Player:

FS2 Open, 3.6.12:
  • Chance for an AI to hesitate about firing a secondary or homing turret weapon at the player. Values range from 0-6, at 0 they will frequently hesitate, at 6 they will never hesitate.
  • Syntax: Integer list
    • Default: 0, 1, 2, 3, 4
  • Mechanic details: AIs are only allowed to fire homing secondaries or turrets with homing weapons at the player in a limited window of time. The window starts every ten seconds, and lasts (value + 1) 7ths of that ten second cycle. Each ship has it's own cycle, so their windows are not all synchronized.
  • Example: a value of 1 becomes 2/7ths, so ships can fire homing weapons at the player for roughly 2.85 seconds at a time, then are unable to fire them for 7.15 seconds.

$Max Aim Update Delay:

FS2 Open, 3.6.12:
  • Maximum amount of delay allowed before the AI will update its aim. Until the next update, the AI will project the target forward based on last checked position and velocity. Applies to small ships vs small ships (dogfights). The actual delay is randomly selected between 0 and the maximum (so setting a value of 2 will result in an average of 1 second delay).
  • Syntax: Float list
    • Default: 0, 0, 0, 0, 0


$Turret Max Aim Update Delay:

FS2 Open, 3.6.12:
  • As $Max Aim Update Delay, but affecting turrets instead
  • Syntax: Float list
    • Default: 0, 0, 0, 0, 0

$Player Autoaim FOV:

FS2 Open, 3.6.14:
  • Gives the player autoaim within the specified number of degrees from the target (FOV).
  • Unlike the ships.tbl settings for autoaim, this only affects the player (and, of course, only if there is a nonzero value for the difficulty level.)
  • Syntax: Float list
    • Default: 0, 0, 0, 0, 0

$Detail Distance Multiplier:

FS2 Open, 3.6.14:
  • Affects how the "model detail level" setting in Options switches between LOD levels.
  • This number acts as a multiplier on the LOD distances specified in ships.tbl.
  • NOTE THAT THIS IS PER DETAIL LEVEL, NOT PER DIFFICULTY LEVEL.
  • Syntax: Float list
    • Default: 0.125, 0.25, 1.0, 4.0, 8.0


The following entries are boolean flags. They can be set to YES or NO, TRUE or FALSE, OUI or NON, HIja′ or ghobe′, etc. The default is NO.

$big ships can attack beam turrets on untargeted ships:

FS2 Open 3.6.10:
  • If set, big ships can attack a beam turret that's firing on them from a ship that they don't currently have targeted.

$smart primary weapon selection:

FS2 Open 3.6.10:
  • If set, enables the new primary weapon selection method

$smart secondary weapon selection:

FS2 Open 3.6.10:
  • If set, enables the new secondary weapon selection method (including proper use of bomber+ missiles)

$smart shield management:

FS2 Open 3.6.10:
  • If set, shields will devote all their charging energy to the weakest quadrant(s) and not waste energy on fully-charged quadrants (previously was -smart_shields on the command line)

$smart afterburner management:

FS2 Open 3.6.10:
  • If set, the AI will properly use brief pulses of afterburner power instead of afterburning until fuel is exhausted

$free afterburner use:

FS2 Open, 19.0:
  • If set, the AI will use afterburners in more situations.

$allow rapid secondary dumbfire:

FS2 Open 3.6.10:
  • If set, allows an AI ship to switch to rapid fire for dumbfire missiles

$huge turret weapons ignore bombs:

FS2 Open 3.6.10:
  • If set, causes huge turret weapons (including anti-capship beams) to not target bombs

$don't insert random turret fire delay:

FS2 Open 3.6.10:
  • If set, removes the random turret fire delay (from .1 to .9 seconds) inserted in addition to AI Fire Delay Scale

$hack improve non-homing swarm turret fire accuracy:

FS2 Open 3.6.10:
  • If set, triggers a hack to improves the accuracy of non-homing swarm missiles by firing them along the turret's last fire direction rather than the direction it currently faces
  • Also disables swarm weapons ability to fire only on the 'turrets barrel line'.

$shockwaves damage small ship subsystems:

FS2 Open 3.6.10:
  • If set, shockwaves will cause damage to small ship subsystems (like in FS1)

$navigation subsystem governs warpout capability:

FS2 Open 3.6.10:
  • If set, ships will not be able to warp out if their navigation subsystem is destroyed or low in strength

$check communications for non-player ships:

FS2 Open, 21.0:
  • When set, every ship will have the same communications subsystem restrictions as the player, including minimum strength to send messages and EMP scramble status.
  • Off by default.
  • Syntax: Boolean

$ignore lower bound for minimum speed of docked ship:

FS2 Open 3.6.10:
  • If set, there will be no lower bound for the speed at which docked ships move (like in FS1).
  • When a ship is towing another ship or ships, the towing ship will be slowed down to a degree depending on the total mass of all docked ships. In FS1, the ships could slow down to an arbitrarily slow speed, even a fraction of a m/s above zero. In FS2, there is a lower bound on this behavior so that all ships are guaranteed to move at a minimum docked speed. When set, this flag removes the lower bound and restores FS1 behavior.

$disable linked fire penalty:

FS2 Open 3.6.10:
  • If set, there will be no penalty for linking primaries. Normally, the rate of fire is *1 for a single bank, *0.66 for two banks and *0.5 for three banks (the fire delay is increased according to the formula 1+([nb of banks]-1)*0.5 ).

$disable player secondary doublefire:

FS2 Open, 21.0:
  • If set, players are not allowed to dual-fire their secondaries.

$disable ai secondary doublefire:

FS2 Open, 21.0:
  • If set, AIs are not allowed to dual-fire their secondaries.

$disable weapon damage scaling:

FS2 Open 3.6.10:
  • If set, weapons will do the same damage to a ship regardless of "big damage", "supercap", etc. ship types.

$use additive weapon velocity:

FS2 Open 3.6.10:
  • If set, weapons will inherit their firing ship's velocity. A ship traveling quickly will fire weapons faster than a ship traveling slowly. This also improves the accuracy of weapons fired while gliding.

$use newtonian dampening:

FS2 Open 3.6.10:
  • Newtonian Dampening changes turning and acceleration behavior. By default, there's quite a bit of slide when you turn, and when combined with high damp values (such as in BtRL), you can actually push your speed up beyond the max. Newtonian Dampening is the more realistic turns, where too much turning will lower your speed. Forward momentum is also affected. Backslash can explain it in more detail. [1]

$include beams for kills and assists:

FS2 Open 3.6.10:
  • If set, beam damage is counted when calculating kills and assists.

$score kills based on damage caused:

FS2 Open 3.6.10:
  • If set, kills gain score based on the percentage damage the killer inflicted on the dead ship.

$score assists based on damage caused:

FS2 Open 3.6.10:
  • If set, kills gain score based on the percentage damage the player gaining the assist inflicted on the dead ship.

$allow event and goal scoring in multiplayer:

FS2 Open 3.6.10:
  • If set, players (rather than just their team) can gain score from events in multiplayer.

$fix linked primary weapon decision bug:

FS2 Open 3.6.10:
  • If set, the AI will properly link primaries according to specified percentages of energy levels instead of retail behavior where it mistakenly linked according to absolute energy levels.

$fix ramming stationary targets bug:

FS2 Open, 21.0:
  • When set, AI ships will try not to crash into stationary targets. See Mantis #3147.
  • Off by default.
  • Syntax: Boolean

$prevent turrets targeting too distant bombs:

FS2 Open 3.6.10:
  • If set, prevents turrets from targeting bombs beyond maximum range of the weapons of the turret.

$smart subsystem targeting for turrets:

FS2 Open 3.6.10:
  • If set, prevents turrets from trying to target subsystems beyond their fov limits, also keeps the turret subsystem targeting preference order intact regardless of the angle to the target.

$fix heat seekers homing on stealth ships bug:

FS2 Open 3.6.10:
  • If set, heat-seeking missiles will not home in on stealth ships (this mirrors the established behavior where heat-seeking missiles do not home in on ships that are hidden from sensors).

$multi allow empty primaries:

FS2 Open 3.6.10:
  • If set, allows a player to commit into a multiplayer game without primaries.

$multi allow empty secondaries:

FS2 Open 3.6.10:
  • If set, allows a player to commit into a multiplayer game without secondaries.

$allow turrets target weapons freely:

FS2 Open, 3.6.12:
  • If set, allows turrets to target any weapons instead of just targeting bombs, to be used in conjunction with target priorities setup.

$use only single fov for turrets:

FS2 Open, 3.6.12:
  • If set, allows turrets to fire outside some hardcoded FOV set for certain missile types limits, and rely only on the user defined FOV.

$allow vertical dodge:

FS2 Open, 3.6.12:
  • If set, allows ships to dodge weapons fire vertically as well as horizontally.

$force beam turrets to use normal fov:

FS2 Open, 3.6.12:
  • If set makes beam turrets use same FOV rules as other weapons do. Prevents beam from a turret from following the target beyond the turret's FOV

$fix AI class bug:

FS2 Open, 3.6.12:
  • Fixes a bug where AI class attributes are not set properly on ships if the AI class is set in the mission to something other than the default for the ship type. Set this to YES if you want attributes in Ai.tbl to mean anything at all.

$turrets ignore targets radius in range checks:

FS2 Open, 3.6.12:
  • TBD.

$no extra collision avoidance vs player:

FS2 Open, 3.6.12:
  • Disables the extra collision avoidance that AI normally uses against the player. Makes the AI more aggressive vs the player at close range (same treatment as vs other AI), although ship-ship collisions are slightly more likely.

$perform fewer checks for death screams:

FS2 Open, 3.6.14:
  • If set, ships that are on different teams and ships that are outside the player's squadron will be allowed to send death screams. Additionally, the game will no longer cap a maximum number of screams per mission. (This flag originated as a customization of message behavior for the Wing Commander Saga mod.)
Prior to revision 9119, this was "$perform less checks for death screams:", but the old version will still parse correctly.

$advanced turret fov edge checks:

FS2 Open, 3.6.14:

$require turrets to have target in fov:

FS2 Open, 3.6.14:

$all ships manage shields:

FS2 Open, 3.6.14:
  • Allows AI to manage shields on big ships

$ai aims from ship center:

FS2 Open, 3.6.14:
  • AI aims weapons using the center of the ship instead of the first gunpoint. If a convergence offset is specified for this ship in ships.tbl, AI aims using that as a reference point.

$allow primary link at mission start:

FS2 Open, 3.7:
  • Normally, no ships will link primaries for the first 30 seconds of a mission. In addition, ships will randomly not link for the first two minutes of a mission. Set this flag to YES to get rid of this often-problematic retail behavior. (Prior to revision 9119, this was called $allow primary link delay and defaulted to YES; to get rid of retail behavior you would specify NO. The old method is still supported for compatibility.)

$allow beams to damage bombs:

FS2 Open, 3.6.14:
  • Default: NO.
  • When no, when any secondary encounters any beam it is instantly destroyed regardless of if it is marked as interceptable, has a health value, or any other circumstance that would normally apply to interception by other weapons.
  • When true, damage and health values are respected in these circumstances. Secondaries without hitpoints are still destroyed, however.

$disable weapon damage scaling for player:

FS2 Open, 3.6.14:
  • When set, Player weapon damage will no longer be scaled down when firing a non-huge primary against a ship with the "big damage" flag. Use with caution, as this may severely impact mission balance.

$countermeasures affect aspect seekers:

FS2 Open, 3.6.14:
  • By default, an aspect seeker that's been decoyed by a CM just flies straight forward, while a heatseeker in the same position will actively home in on the CM. This flag makes aspect seekers match heatseeker behavior in this regard.

$ai guards specific ship in wing:

FS2 Open, 3.6.16:
  • If ordered to guard a ship in a wing (of which it is not a member), the AI will guard that specific ship instead of the entire wing (resulting in guarding the wing leader).

$support don't add primaries:

FS2 Open, 19.0:
  • When set, the support ship will not equip a new primary weapon into an empty bank.
  • Off by default.
  • Syntax: Boolean

$fighterbay arrivals use carrier orientation:

FS2 Open, 22.0:
  • Causes all ships arriving via a ship's fighterbay to attempt to align their right vector with their carrier's right vector as they exit.
  • Syntax: Boolean

$fighterbay departures use carrier orientation:

FS2 Open, 22.0:
  • Causes all ships departing via a ship's fighterbay to attempt to align their right vector with their carrier's right vector as they enter.
  • Syntax: Boolean

$debris damage respects 'big damage' flag:

FS2 Open, 24.2:
  • Causes damage inflicted by debris to be limited by the 'big damage' flag in the same way as damage inflicted by weapons.
  • Syntax: Boolean

$don't limit change in speed due to physics whack:

FS2 Open, 24.2:
  • With this flag, the speed change due to physics whacks (collision, shockwave, etc.) is unlimited. Without this flag, the speed change will be capped at 440 m/s if it exceeds 500 m/s.
  • Syntax: Boolean

$ai path mode:

FS2 Open, 3.6.14:
  • Possible options are "normal" and "alt1". The alt1 mode differs from the normal behaviour in the following ways:
    • 1. No path shortcutting. Normal pathing AI will skip forward along a path to the furthest point it can reach. This is sometimes desirable, but makes it a lot harder to predict how the AI is going to behave at various points along a path. Turning this off also allows us to force the AI to straighten out, by giving it several waypoints in a more-or-less straight line. This is useful for such things as lining up a landing.
    • 2. No sliding when following paths. Docking still works, but there is some code that causes the AI to lose its mind if it just misses a point: it turns towards the point in big, looping circles. This is apparently caused by passing a slide_vec value into ai_turn_towards_vector, which doesn't even seem to do what you'd expect it to do. Passing a null value instead turns off the stupid. (The behavior is fixed in alt1).
    • 3. Momentum taken into account when following paths. Path points will trigger sooner, proportional to the ship's speed and momentum. This prevents the AI from massively overshooting a waypoint, especially with high-damp ships.
    • 4. AI tries to follow the line between waypoints. Instead of just pointing at the next waypoint, the AI will fly a bit towards the line. This helps keep the AI actually on the path it claims to be following. See picture:Altpaths.png

Blue is what happens with regular pathing. Red is the modified pathing: as you can see, it actively moves back towards the line.

    • 5. AI will respect "cap-waypoint-speed" when following paths (such as when docking or departing via bay).

$default weapon select effect:

FS2 Open, 3.6.14:
  • This specifies which effect to use for weapon select animations when no .ani can be found, or the -weapon_choice_3d commandline flag is active. This will default to the FS2 effect.
  • Possible options are "FS1" and "off"
FS2 Open, 3.6.16:

$default ship select effect:

FS2 Open, 3.6.14:
  • This specifies which effect to use for ship select animations when no .ani can be found, or the -ship_choice_3d commandline flag is active. This will default to the FS2 effect.
  • Possible options are "FS1" and "off"
FS2 Open, 3.6.16:

$no warp camera:

FS2 Open, 3.6.16:
  • When set, prevents the view from switching to the external camera when the player warps out.
  • Note: this flag is deprecated and may get moved to another table without further notice.

$fix ai path order bug:

FS2 Open, 3.6.16:
  • When set, ship will follow its own waypoint path unless the wingleader has the same waypoint path and order.
  • Off by default.
  • Syntax: Boolean

$strict turret-tagged-only targeting:

FS2 Open, 3.7.2:
  • When set, newer turret-tagged-only behavior will be enabled. See Mantis #3114.
  • Off by default.
  • Syntax: Boolean

$aspect bomb invulnerability fix:

FS2 Open, 3.7.4:
  • When set, the code that makes bombs invulnerable for the first 1.5 seconds of life will use the correct lifetime calculation for aspect bombs. Without this fix, the invulnerability time will be extended by 20% of the total lifetime of the bomb.
  • Off by default.
  • Syntax: Boolean

$glide decay requires thrust:

FS2 Open, 3.7.4:
  • When set, gliding ships will maintain their current speed without decay as long as they aren't actively thrusting.
  • Off by default.
  • Syntax: Boolean

$ai can slow down when attacking big ships:

FS2 Open, 3.8:
  • When set, fighters attacking big ships will slow down depending on how long they've been attacking (80% speed after 5 seconds, 60% after 8 seconds, 40% after 10 seconds, and 20% after 15 seconds), how long it's been since they were last shot (full throttle if it was within the past 6 seconds), and how close they are (full throttle if the target is more than 1200 meters away).
  • Off by default.
  • Syntax: Boolean

$use actual primary range:

FS2 Open, 19.0:
  • When set, fighters will no longer fire primary weapons at targets outside their range just because weapon travel time would be sufficiently short.
  • Off by default.
  • Syntax: Boolean

$override radius for subsystem path points:

FS2 Open, 21.0:
  • When set, this value overrides the default distance for determining if a ship had reached a point in a model subsystem path. Useful to allow ships with high damp values to navigate subsystem paths when attacking a subsystem. Must be greater than or equal to 1. If $use POF radius for subsystem path points: is set than this override value will only be used if the point in the subsystem path is less than 1 or invalid.
  • 5 by default.
  • Syntax: Integer

$use POF radius for subsystem path points:

FS2 Open, 21.0:
  • When set, the distance for determining if a ship had reached a point in a model subsystem path will be the radius of that path point, not the default distance of 5.
  • Off by default. If this is set to YES and '$override radius for subsystem path points: is set to greater than or equal to 1, then the path point radius will be used. If the path point radius cannot be found or is less than 1 then override radius will be used if it is set to greater than or equal to 1.
  • Syntax: Boolean

$bay arrive speed multiplier:

FS2 Open, 3.7.4:
  • Causes all AI ships arriving from fighterbays (following a fighterbay path) to gradually accelerate, instead of immediately attempting to attain maximum speed. This can be used to prevent fighters from overshooting the fighterbay paths. The initial target speed is the maximum speed multiplied by the given value, with the multiplier gradually approaching 1.0 as the distance to the end of the path decreases.
    • Syntax: Float (defaults to 1.0)
Note: Will be overridden by path-specific multipliers, see Ships.tbl#.2Barrive_speed_multiplier:.

$bay depart speed multiplier:

FS2 Open, 3.7.4:
  • Same as above, except for departures into fighterbays. The initial target speed is the maximum speed, with the target speed gradually approaching maximum speed multiplied by the given value as the distance to the fighterbay decreases.
    • Syntax: Float (defaults to 1.0)
Note: Will be overridden by path-specific multipliers, see Ships.tbl#.2Bdepart_speed_multiplier:.

$lead indicator second-order prediction factor:

FS2 Open, 21.0:
  • This is a 0 to 1 multiplier of a factor to adjust the lead indicator to take into account a ship's rotational velocity as well as its velocity. This will directly affect autoaim, making it more accurate for turning enemies.
  • This will make the lead indicator slightly jitterier in general, and does not properly take into account gliding. It is recommended to adjust the value to fit your situation.
    • Syntax: Float (defaults to 0.0)

$no directional bias for missile and ship turning:

FS2 Open, 21.0:
  • When enabled, this will cause ships and missiles to take direct turning paths to point at their target. This does not directly affect their turning time, but in many situations will result in more efficient paths and a better time-to-target.
  • Syntax: Boolean

$respect ship axial turnrate differences:

FS2 Open, 21.0:
  • Normally AI ships will use the average of their pitch and heading turn times for their turn time on all axes. If this is enabled the ship will actually use the tabled values for each axis.
  • NOTE:The AI will NOT take this into account when turning, it will always turn directly towards its target, even if it could bank and use a faster axis instead. Use this flag carefully, and make sure that their your ships have exactly the turn times you want for each axis.
  • Syntax: Boolean

$any ship with no shields can manage ETS:

FS2 Open, 21.0:
  • Normally AI ships will not manage ETS if they do not have shields set to be on. When enabled, this flag allows the AI on any ship to manage ETS for weapons and engines even if they do not have shields set to on. Do note that in Vanilla FS2, some capital ships can go much faster with this enabled.
  • Syntax: Boolean

$fighters/bombers with no shields can manage ETS:

FS2 Open, 21.0:
  • Normally AI ships will not manage ETS if they do not have shields set to be on. When enabled, this flag allows the AI on fighters and bombers to manage ETS for weapons and engines even if they do have shields set to on.
  • Syntax: Boolean

$ships playing dead don't manage ETS:

FS2 Open, 23.2:
  • Prevents ships from managing their ETS is they are currently playing dead. Managing ETS could lead to unexpected speed changes in ship-maneuver.
  • Syntax: Boolean

$better combat collision avoidance for fightercraft:

FS2 Open, 21.0:
  • If set will cause small ships to be much better at avoiding colliding with large ships while fighting, and will not spend as long recovering from a collision if one does occur.
  • Syntax: Boolean

$firing requires exact los:

FS2 Open, 21.0:
  • If set will cause turrets and AI weapons to only fire if they have a clear line of sight from their firing point to their target's ship's center.
  • Syntax: Boolean

$improved missile avoidance for fightercraft:

FS2 Open, 21.2:
  • Fighters/bombers will be much more effective at dodging missiles in general. Of note is that AI do not normally care about countermeasure effect range before dropping them (only distance less than 200m), with this flag, they will only drop them if within countermeasure range.
  • Syntax: Boolean

$friendly ships use AI profile countermeasure chance:

FS2 Open, 21.2:
  • Specifies Friendly ships to use their specific AI class profile countermeasure firing chance. By default Friendly ships always use the second value in $AI Countermeasure Firing Chance: from default AI profile.
  • Syntax: Boolean

$improved subsystem attack pathing:

FS2 Open, 21.2:
  • Fightercraft will use a somewhat more efficient and faster subsystem attack pathing method.
  • Notably, this method does not use the path system. Using this flag, aside from docking and fighter bay paths, all other paths will be ignored and are no longer necessary.
  • Syntax: Boolean

$fixed ship-weapon collisions:

FS2 Open, 21.4:
  • Fixes an error in ship-weapon collisions which would occasionally cause them to not trigger when they should.
  • Most obvious when projectiles would erroneously bypass a full shield quadrant and damage the hull.
  • Syntax: Boolean

$AI secondary range awareness:

FS2 Open, 21.4:
  • Controls if the AI considers weapon range at all when selecting a secondary weapon to attempt to use. Currently available options are:
  • 'RETAIL': The default. After performing filtering logic based on the target types and weapon flags, the AI will select the first valid secondary bank as its active one, regardless of range.
  • 'AWARE': As retail, except that if a weapon is out of range it the AI will keep looking down the list to see if it has a weapon that is in range, and use that instead if it does. All other weapon selection and restriction logic still applies.

$no shield damage from ship collisions:

FS2 Open, 21.4:
  • Normally, the heavier ship in a collision will receive shield damage from the collision if it has one.
  • This disables that, and causes all involved ships to only take hull damage.
  • Syntax: Boolean

$turret target recheck time:

FS2 Open, 22.0:
  • Defines the amount of time between target recalculation for turrets.
  • Affects turret reaction time in all scenarios, acquiring a target from idle, re-affirming the current target, switching to a new target or even a new subsystem on the same target.
  • Be aware setting this value too low can have an extreme performance impact. It is recommended to not set this below 30 ms.
  • Syntax: Float, milliseconds
  • Default: 2000

$prevent negative turret ammo:

FS2 Open, 22.0:
  • By default, turrets with ammo would end up firing one extra shot, resulting in a -1 ammo. This flag corrects that behavior, so the ammo count is properly used.
  • Syntax: Boolean

$fix keep-safe-distance:

FS2 Open, 22.0:
  • Allows any ship flying the keep-safe-distance behavior to turn toward its goal point. Without this flag, ships will fly into the distance in a straight line.
  • Syntax: Boolean

$AI ignores aspect lock for leading:

FS2 Open, 22.2:
  • When off, AI fighters follows retail behavior of aiming directly at a target when using aspect lock missiles. When on AIs ignore this consideration and always lead their targets when attempting to aim at them.
  • Syntax: Boolean
  • Default: on

$fix good-rearm-time bug:

FS2 Open, 23.0:
  • Causes the "good rearm time" SEXP to correctly expire (revert to being a "bad rearm time") at the end of the specified time.
  • Syntax: Boolean

$no continuous turn on attack:

FS2 Open, 23.0:
  • Prevents an AI behavior where fighters/bombers will spin around for a second or two when they acquire a target.
  • Syntax: Boolean

$remove-goal properly removes play-dead order:

FS2 Open, 23.0:
  • Causes remove-goal to take the ship out of the play-dead AI mode when removing the play-dead goal.
  • Syntax: Boolean

$bay arrivals not time limited:

FS2 Open, 23.0:
  • Causes AI to always complete a bay arrival path, even if it takes longer than 10 seconds.
  • Syntax: Boolean

$use adjusted AI class autoscale:

FS2 Open, 23.0:
  • Causes autoscaled AI classes to scale only based on the collection of autoscaled AI classes, not all AI classes. This prevents autoscaled calculations from being skewed by the presence of non-autoscaled classes in the list.
  • Syntax: Boolean

$carry shield difficulty scaling bug:

FS2 Open, 23.2:
  • Enables an erroneous behavior where player damage difficulty scaling is applied twice to damage from area blasts and shockwaves, greatly changing the effective difficulty scaling. This is a bug that should not be enabled, unless the mod was balanced during the time between 3.6.14 and 23.1 (mods targeting within those versions automatically have this flag enabled).
  • Syntax: Boolean

$debris affected by physics whacks:

FS2 Open, 23.2:
  • Allows debris to be affected by physics whacks from weapons.
  • Syntax: Boolean

$asteroids affected by physics whacks:

FS2 Open, 23.2:
  • Allows asteroids to be affected by physics whacks from weapons.
  • Syntax: Boolean

$dynamic goals afterburn hard:

FS2 Open, 23.2:
  • Will cause all dynamic goals (such as a fighter defending itself, or a fighter chasing an attacker as part of a guard order) to 'afterburn hard' as the optional argument on ai-goals do.
  • Syntax: Boolean

$player orders afterburn hard:

FS2 Open, 24.2:
  • Will cause all player orders to 'afterburn hard' as the optional argument on ai-goals do.
  • Syntax: Boolean

$hud squad messages use tactical disarm/disable:

FS2 Open, 24.0:
  • Will cause disarm or disable orders issued by the hud squadmsg menu (i.e. player orders) to be 'tactical' goals that do not cause the target to be protected from attack.
  • Syntax: Boolean

$align to target when guarding stationary ship:

FS2 Open, 24.2:
  • Will cause ships to match the target's orientation when following a guard order, rather than facing directly away from the target which is the normal behavior.
  • Syntax: Boolean

$rotation factor multiplier for player collisions:

FS2 Open, 24.2:
  • Allows modders to have players experience rotational effects from collisions. This value is multiplied by the value of $Collision Physics: +Rotation Factor: in the ships table (which is specified for the ship class).
    • Syntax: Float (defaults to 0.0)

Sample Entry

  • Retail FS2 behaviour
#AI Profiles

$Default Profile:                              FS2 RETAIL

$Profile Name:                                 FS2 RETAIL

$Player Afterburner Recharge Scale:            5,    3,    2,    1.5,  1
$Max Beam Friendly Fire Damage:                0,    5,    10,   20,   30
$Player Countermeasure Life Scale:             3,    2,    1.5,  1.25, 1
$AI Countermeasure Firing Chance:              0.2,  0.3,  0.5,  0.9,  1.1
$AI In Range Time:                             2,    1.4,  0.75, 0,    -1
$AI Always Links Ammo Weapons:                 95,   80,   60,   40,   20
$AI Maybe Links Ammo Weapons:                  90,   60,   40,   20,   10
$Primary Ammo Burst Multiplier:                0,    0,    0,    0,    0
$AI Always Links Energy Weapons:               100,  80,   60,   40,   20
$AI Maybe Links Energy Weapons:                90,   60,   40,   20,   10
$Max Missiles Locked on Player:                2,    3,    4,    7,    99
$Max Player Attackers:                         2,    3,    4,    5,    99
$Max Incoming Asteroids:                       3,    4,    5,    7,    10
$Player Damage Factor:                         0.25, 0.5,  0.65, 0.85, 1
$Player Subsys Damage Factor:                  0.2,  0.4,  0.6,  0.8,  1
$Predict Position Delay:                       2,    1.5,  1.333,0.5,  0
$AI Shield Manage Delay:                       5,    4,    2.5,  1.2,  0.1
$Friendly AI Fire Delay Scale:                 2,    1.4,  1.25, 1.1,  1
$Hostile AI Fire Delay Scale:                  4,    2.5,  1.75, 1.25, 1
$Friendly AI Secondary Fire Delay Scale:       0.4,  0.6,  0.8,  1.0,  1.2
$Hostile AI Secondary Fire Delay Scale:        1.4,  1.2,  1.0,  0.8,  0.6
$AI Turn Time Scale:                           3,    2.2,  1.6,  1.3,  1
$Glide Attack Percent:                         0,    0,    0,    0,    0
$Circle Strafe Percent:                        0,    0,    0,    0,    0
$Glide Strafe Percent:                         0,    0,    0,    0,    0
$Random Sidethrust Percent:                    0,    0,    0,    0,    0
$Stalemate Time Threshold:                     0,    0,    0,    0,    0
$Stalemate Distance Threshold:                 0,    0,    0,    0,    0
$Player Shield Recharge Scale:                 4,    2,    1.5,  1.25, 1
$Player Weapon Recharge Scale:                 10,   4,    2.5,  2,    1.5
$Max Turret Target Ownage:                     3,    4,    7,    12,   19
$Max Turret Player Ownage:                     3,    4,    7,    12,   19
$Percentage Required For Kill Scale:           0.30, 0.30, 0.30, 0.30, 0.30
$Percentage Required For Assist Scale:         0.15, 0.15, 0.15, 0.15, 0.15
$Percentage Awarded For Capship Assist:        0.1,  0.2,  0.35, 0.5,  0.6
$Repair Penalty:                               10,   20,   35,   50,   60
$Delay Before Allowing Bombs to Be Shot Down:  1.5,  1.5,  1.5,  1.5,  1.5
$Chance AI Has to Fire Missiles at Player:     0,    1,    2,    3,    4
$Max Aim Update Delay:                         0,    0,    0,    0,    0
$Turret Max Aim Update Delay:                  0,    0,    0,    0,    0
$Player Autoaim FOV:                           0,    0,    0,    0,    0
$Detail Distance Multiplier:                   0.125,0.25, 1.0,  4.0,  8.0

$big ships can attack beam turrets on untargeted ships:  NO
$smart primary weapon selection:                         NO
$smart secondary weapon selection:                       NO
$smart shield management:                                NO
$smart afterburner management:                           NO
$allow rapid secondary dumbfire:                         NO
$huge turret weapons ignore bombs:                       NO
$don't insert random turret fire delay:                  NO
$hack improve non-homing swarm turret fire accuracy:     NO
$shockwaves damage small ship subsystems:                NO
$navigation subsystem governs warpout capability:        NO
$ignore lower bound for minimum speed of docked ship:    NO
$disable linked fire penalty:                            NO
$disable weapon damage scaling:                          NO
$use additive weapon velocity:                           NO
$use newtonian dampening:                                NO
$include beams for kills and assists:                    NO
$score kills based on damage caused:                     NO
$score assists based on damage caused:                   NO
$allow event and goal scoring in multiplayer:            NO
$fix linked primary weapon decision bug:                 NO
$prevent turrets targeting too distant bombs:            NO
$smart subsystem targeting for turrets:                  NO
$fix heat seekers homing on stealth ships bug:           NO
$multi allow empty primaries:                            NO
$multi allow empty secondaries:                          NO
$allow turrets target weapons freely:                    NO
$use only single fov for turrets:                        NO
$allow vertical dodge:                                   NO
$force beam turrets to use normal fov:                   NO
$fix AI class bug:                                       NO
$turrets ignore targets radius in range checks:          NO
$no extra collision avoidance vs player:                 NO
$perform fewer checks for death screams:                 NO
$advanced turret fov edge checks:                        NO
$require turrets to have target in fov:                  NO
$all ships manage shields:                               NO
$ai aims from ship center:                               NO
$allow primary link at mission start:                    NO
$allow beams to damage bombs:                            NO
$disable weapon damage scaling for player:               NO
$countermeasures affect aspect seekers:                  NO
$ai path mode:                                           normal
$no warp camera:                                         NO

#End

References

  1. "Re: New difficulty? - Feature request!", Hard Light Productions Forums, Hard Light Productions, 2007-12-15. Retrieved on December_27, 2007.