Weapons.tbl

From FreeSpace Wiki
Revision as of 05:08, 3 June 2021 by Asteroth (talk | contribs) ("heals")
Jump to: navigation, search

Revision information.....

FSO Git Commit: Date: 2017-08-25 SHA: 2039815
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 weapons.tbl defines all of the weapon classes used in FSO.

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

Contents

Introduction

The weapons.tbl is responsible for defining the behavior of the numerous weapon effects used in FSO, including the amount of damage dealt, the firing rate, and graphical effects.

This wiki page goes over all of the entries used exclusively in the weapons.tbl file. Hyperlinks to individual weapon creation/editing tutorials are provided when appropriate.

Special Case Weapons

Beam Cannons

REQUIRES:

See also: Tutorial - Beam Weapons

Flak Guns

REQUIRES:

  • "flak" flag
  • "particle spew" flag
  • Must have inner and outer radius defined to have any effect.
  • A .pof model must be defined ( usually Hornet.pof )
    • Note: the model is not actually used... Instead, it uses particle spew. Trails may also be added.


General Format

  • The weapons table consist of several sections
  • All sections beginning with # need #End before the next section.
    • #Primary Weapons
      • Defines all standard primaries weapons as well as beam cannons and flak cannons.
    • #Secondary Weapons
      • Defines all secondary weapons.
    • #Beam Weapons
      • I haven't got any ideas for this one.
    • #Countermeasures
      • Defines the used countermeasure.
    • $Player Weapon Precedence
      • Player Weapon Precedence is used in weapon selection when a default specified by the mission designer is not available to the player. The next weapon on the list is used in its place (assuming that weapon is allowed for the player).

Core Table

$Name:

  • This is the name of the weapon. If it's going to be used by the player, keep it under 12 characters so it doesn't spill over the HUD box.
    Two special characters can be used in the name: # and @. Their usage details are the very same than inside the $Name field from Ships.tbl.
  • Syntax: String


+nocreate

FS2 Open 3.6.10:
  • In Modular Tables name can be followed by line +nocreate that prevent game from creating an incomplete entry by leaving the entry unread unless it already exists (either in Weapons.tbl or in earlier parsed *-wep.tbm files) by the time the *-wep.tbm is read.


$Alt Name:

FS2 Open, 3.6.12:
  • An alternative name that can be referenced instead of $Name:
  • Syntax: String


$Subtype:

FS2 Open 3.6.10:

Specifies the weapon 's subtype. Overrides the default subtype as specified by the #-section it is in (#Primary, #Secondary, #Beam Weapon, etc.).


Note:
Since the weapon subtype is already specified by the #-section it is in, this option is not particularly useful when the weapon is inside a #Primary or #Secondary section. However, it may be used to specify the weapon slot it uses on fighters/bombers for weapons that are normally capship only (such as beam cannons).


  • Syntax: String
  • Valid Entries:
Primary
Secondary

+Title:

  • This is the title of the weapon in the Weapons loadout screen. Only needed for player allowed weapons. Title may be anything. Numerical value is a reference to translations in Tstrings.tbl
  • Syntax: XSTR("String", -1)


+Description:

  • This is the description you see in the weapons loadout screen. Again, these aren't based on any hard numbers, just approximations. Only needed for player allowed weapons. Numerical value is a reference to translations in Tstrings.tbl
  • Must be followed by $end_multi_text

Example

XSTR(
"''Standard Issue
''Level 3 Hull Damage
''Level 2 Shield Damage''", -1)
$end_multi_text

+Tech Title:

  • Title of the weapon in the Tech room. Only needed for player allowed weapons.
  • Syntax: XSTR("String", -1)


+Tech Anim:

  • Animation used for the weapon in the Tech room. Only needed for player allowed weapons.
  • Syntax: String, animation filename
    • Example: Tech_Subach_HL-7


+Tech Description:

  • Descriptive text you see in the tech room. Only needed for player allowed weapons. Numerical value is a reference to translations in Tstrings.tbl
  • Must be followed by $end_multi_text

Example

XSTR(
"''The Subach-Innes HL-7...''", 3245)
$end_multi_text

$Tech Model:

FS2 Open 3.6.10:
  • Defines model used in wing loadout screen for the weapon. 3D weapon models in the tech room have not yet been implemented.
  • Syntax: String.pof, model filename

+Closeup_Pos:

FS2 Open, 3.6.14:
  • How the model will show on the Loadout Screen. The position of the camera relative to the model center.
  • Syntax: Vector, three floats, x, y and z values respectively

+Closeup_Zoom:

FS2 Open, 3.6.14:
  • How the model will show on the Loadout Screen. How far the camera's zoomed in, defines camera's FOV.
  • Syntax: Float, radians


$Selection Effect:

FS2 Open, 3.6.14:
  • Defines which selection effect to use when the -weapon_choice_3d commandline flag is enabled or no ani can be found for the selected weapon.
  • Syntax: String, either "FS1", or "Off". This defaults to the FS2 effect.

$HUD Image:

FS2 Open 3.6.10:
  • Defines the picture used to represent the weapon in HUD loadout list
  • Syntax: String, filename


$Model File:

  • Filename of the model file (.pof) at data/models folder. Additional fields beginning from @Laser Bitmap: and ending to @Laser Tail Radius: are not needed if a model has been defined for the weapon.
  • Standard primaries and beam cannons do not use specific models so for those the name is 'none'.
  • Flak weapons and secondaries use models, though the exact model is not important with the flak weapons.
  • Syntax: String.pof or none, model filename
    • Example: none


$POF target LOD:

FS2 Open 3.6.10:
  • Defines the LOD (Level-Of-Detail) of the model used in HUD targeting view
  • Syntax: Integer

$Detail Distance:

FS2 Open, 3.6.14:
  • Defines the distance where the change between different Levels-Of-Details (LODs) occurs
  • Take notice that these are base values. Model detail in Detail options, (within game press F2), applies a multiplier to these values. These multipliers are (from left to right): 1/8, 1/4, 1, 4, 8
  • Optional. If not defined the game uses the formula ((radius * 20.0 + 20.0) * LOD)
  • Syntax: (Detail Distances) , list of integers (same amount as LODs), distances from the model in meters
    • Example: (0, 80, 300, 900)

$External Model File:

FS2 Open 3.6.10:
  • Defines the models shown on the gunpoint, used with Bobb's external-visible-weapon code.
  • Syntax: String.pof, model filename


$Submodel Rotation Speed:

FS2 Open 3.6.10:
  • Defines the rotation speed of the subobject, with the $gun_rotation property defined, in the external weapon model.
  • Syntax: Float
  • Note: weapon fire will be delayed by the time it takes for the weapon to spin up to this speed (using $Submodel Rotation Acceleration or its default value), regardless of whether an external model is used or not.
FS2 Open, 3.8:
  • Note: It's no longer required that the ship actually have external models enabled (whether or not this weapon has one defined) for the spin up delay to occur.

$Submodel Rotation Acceleration:

FS2 Open 3.6.10:
  • Defines the rotation acceleration of the external weapon model.
  • Syntax: Float
  • Default value: 10

@Laser

In the event a 3D model is not defined for the weapon, FSO creates an object similar to a glowpoint. Essentially, it is a 2D plane that always faces the player's camera with an additive texture applied to it, and may or may not have an omnilight follow it.

As suggested by its name, this option group is normally used for lasers and similar primaries, but it may also be used for other weapon types as well.

Unless said otherwise, the graphic files used within this group may be of any compatible type (.DDS, .PCX, .TGA, etc.), however a .DDS is recommended.


@Laser Bitmap:

Defines the graphic file to be used as the weapon effect.

Blending type: additive

Syntax: String, filename


Example:

@Laser Bitmap: my_laser_bitmap


@Laser Glow:

Defines the graphic file to be used for the glowmap of the weapon effect.

Blending type: additive

  • This file is 'multiplied' by a value between Color and Color2.
  • The physical dimensions of the glowmap in-game is 2x the size of the bitmap.

Syntax: String, filename


Example:

@Laser Glow: my_laser_glowmap


@Laser Color:

The RGB color of the glow effect.

  • The color is applied both to the glowmap and the omnilight that follows the effect.

Syntax: Color, red, green, blue respectively, 8-bit value from 0 to 255


Example:

@Laser Color: 255, 0, 0    ; Red glow effect at the start of the effect's lifetime


@Laser Color2:

The RGB color of the glow effect at the end of the effect's lifetime (at its maximum range).

  • The color is applied both to the glowmap and the omnilight that follows the effect.
  • The actual color of the glow effect is somewhere in between the values defined by Color and Color2. Essentially, the actual color "fades" from Color to Color2 over its lifetime.
    • If Color is not defined, then a default value of 255, 255, 255 is assumed for its initial color.

Syntax: Color, red, green, blue respectively, 8-bit value from 0 to 255


Example:

@Laser Color2:  0, 0, 255    ; Blue glow effect at the end of the effect's lifetime.

Example:

@Laser Color: 255, 0,   0    ; Start with a Red glow effect, and fade into...
@Laser Color2:  0, 0, 255    ; a Blue glow effect over the lifetime of the effect.


@Laser Length:

Defines the length of the weapon effect.

  • This option stretches the 2D plane "away" from its origin.

Syntax: Float, meters


Example:

@Laser Length:  1.0


@Laser Head Radius:

Defines the width of the leading edge, or "head," of the weapon effect.

  • The edge of the 2D plane farthest away from its origin is the leading edge.

Syntax: Float, meters


Example:

@Laser Head Radius: 0.75


@Laser Tail Radius:

Defines the width of the trailing edge, or "tail" of the weapon effect.

  • The edge of the 2D plane that is closest to its origin is the trailing edge.

Syntax: Float, meters


Example:

@Laser Tail Radius: 0.75


$Collision Radius Override:

FS2 Open, 21.0:
  • Weapon - weapon collisions are treated as two spheres, where a laser's sphere's radius is equal to its Head Radius, and a missile's is the radius of its associated model (possibly doubled). Using this will override either of those values.
  • NOTE: If the weapon is interceptable, such as a bomb or has been given hitpoints, this value will still be doubled, unless the "no radius doubling" flag is used.
  • Syntax: Float, meters


$Mass:

  • How much of a kinetic effect this weapon has on its target. 3+ gives you the Flail effect. Set it to 10 and you can knock cruisers around.
  • This is multiplied by the speed. ie $Mass: 3 and $Velocity: 200 has much weaker kinetic effect than $Mass: 3 and $Velocity: 1000. Also $Mass is used to calculate intensity of "shudder" effect if flagged.
  • Syntax: Float, blast effect

$Velocity:

  • How fast the weapon travels. Is also used to define the weapon range, $Velocity x $Lifetime = range.
  • Beams travel instantly so this field has effect only on weapon range and AI beam targeting with certain beam types. $Velocity of beam also applies to its kinetic effect along with $Mass.
  • Syntax: Float, meters per second


$Fire Wait:

  • Time in seconds between firings
  • Note that Fire wait will be reset to 1 if it is set over 5 for non turreted primary weapons (doesn't apply to 3.6.14+)
  • Syntax: Float, seconds

+Max Delay:

FS2 Open, 3.7.4:
  • Defines the maximum amount of time it takes to refire a weapon in a random fire delay range.
    • This must be used with +Min Delay: to have any effect.
  • Syntax: Float, seconds

+Min Delay:

FS2 Open, 3.7.4:
  • Defines the minimum amount of time it takes to refire a weapon in a random fire delay range.
    • This must be used with +Max Delay: to have any effect.
  • Syntax: Float, seconds

$Damage:

  • Base damage this weapon does. The actual damage is this number multiplied by the factors below.
  • Base damage this beam does is continuous damage, damage is approximately 5.88 times the damage value per second. The actual damage is this number multiplied by one of the factors below.
  • The exact factor to multiply by is 100/17, or one 'pulse' of damage every 170 seconds. The generally used wisdom of 5.5 times may have been generally accurate before beam damage was made continuous and frame-rate independent, but is now out of date information.
  • Syntax: Float, damage
  • Note: adding an inner and/or outer radius to a weapon doubles its effective damage to the target (i.e. 1x impact, 1x area effect)

$Damage Time:

FS2 Open, 3.7.4:
  • This sets a time from the end of the weapons lifetime that damage will start to attenuate at. Example: Weapon lifetime is 2.0 seconds and the desired effect is to attenuate after 0.5 seconds have passed, set this to 1.5 seconds.
  • Syntax: Float, seconds. Defaults to 0.0.
    • Note: If neither +Min Damage: nor +Max Damage: is set, the damage will always attenuate to zero at max range.
      • If both +Min Damage: and +Max Damage: are set, both are defaulted to 0.0 and damage will be attenuated to zero.

+Attenuation Damage:

FS2 Open, 3.7.4:
  • This sets the damage a weapon will attenuate to after reaching $Damage Time:.
  • Syntax: Float, damage.

+Min Damage:

FS2 Open, 3.7.4:
  • This sets the lowest amount of damage possible assuming damage attenuation is taking place. This has been deprecated, please use +Attenuation Damage: instead.
  • Syntax: Float, damage. Defaults to 0.0.

+Max Damage:

FS2 Open, 3.7.4:
  • This sets the highest amount of damage possible assuming damage attenuation is taking place. This has been deprecated, please use +Attenuation Damage: instead.
  • Syntax: Float, damage. Defaults to 0.0.

$Angle of Incidence Damage Multiplier:

FS2 Open, 21.2:
  • Causes the weapon's damage to be multiplied by these factors depending on the angle of incidence.
  • It is not linear, it is based on the sine of the angle to the surface. If the factors are 1x for minimum, and 2x for maximum, at an angle of 45° the multiplier is 1.707x, for instance.

+Min:

  • The damage multiplier at a perfectly glancing hit, parallel to the surface (although not technically possible).
  • Syntax: Float

+Max:

  • The damage multiplier when hit straight on, perpendicular to the surface.
  • Syntax: Float

$Damage Type:

FS2 Open 3.6.10:

Defines the damage type that this weapon uses. All armor effects are applied after shield and have no function against shockwave or subsystem damage.

REQUIRES: armor.tbl

  • Syntax: String, name of the damage type ( as defined by $Damage Type )

$Arm time:

FS2 Open 3.6.10:
  • Defines the time after the launch that is required before the weapon comes hot
  • If the time has not been reached when the weapon detonates the Dinky explosion is used
  • Syntax: Float, seconds


$Arm distance:

FS2 Open 3.6.10:
  • Defines the distance from the firing ships that is required before the weapon comes hot
  • If the distance has not been reached when the weapon detonates the Dinky explosion is used
  • Syntax: Float, meters
FS2 Open, 3.6.16:
  • This parameter is also applied to flak weapons. Previous behaviour was to arm weapons after 10 meters of travel.

$Arm radius:

FS2 Open 3.6.10:
  • Defines the distance from the target where the weapon will arm itself
  • Syntax: Float, meters

$Detonation Range:

FS2 Open 3.6.10:
  • Defines the distance from the point in space that the weapon was launched where the weapon will detonate
  • Syntax: Float, meters


$Detonation Radius:

FS2 Open 3.6.10:
  • Defines the distance between the target center point point and the weapon which detonates the weapon.
  • Syntax: Float, meters


$Shockwave damage:

FS2 Open 3.6.10:
  • Override for the damage caused by shockwaves (default is #$Damage:)
  • Syntax: Float, damage
  • Note: adding a shockwave to a weapon doubles its effective damage to the target (i.e. 1x impact, 1x shockwave)

$Shockwave Damage Type:

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

$Flak Detonation Accuracy:

FS2 Open, 3.6.16:
  • Normally, flak weapons detonate at a range of 65 to 99 meters from their intended target, depending on the firing ships' weapon subsystem health. This parameter can be used to adjust this behaviour, as it defines the base range used to determine this detonation range. Standard value is 65.
  • Syntax: Float, range in meters

$Flak Targeting Accuracy:

FS2 Open, 3.6.16:
  • Turret-fired flak weapons are normally firing in a cone around the target's predicted position. This parameter can be used to adjust the size of this cones' base radius. Standard is 60 meters.
  • Syntax: Float, radius in meters

$Untargeted Flak Range Penalty:

FS2 Open, 3.6.16:
  • If a flak weapon is fired without a target selected, this parameter defines the range penalty applied to that weapon. Standard is 20 meters, meaning an untargeted flak weapon will detonate after travelling its max range - 20 meters.
  • Syntax: Float, penalty in meters.

$Blast Force:

  • The intensity of the kinetic blast effect when ship is within the outer radius of the explosion. Comes in effect only if inner and outer radius are defined.
  • Syntax: Float, blast effect

$Inner Radius:

  • Radius at which the full explosion damage is done. Marks the line where damage attenuation begins. Damage is reduced by the square of the distance between the inner radius and outer radius. i.e. half way between inner and outer results in 1/4 damage
  • Note: adding an inner and/or outer radius to a weapon doubles its effective damage to the target (i.e. 1x impact, 1x area effect)
  • Syntax: Float, meters

$Outer Radius:

  • Maximum radius at which any damage is done. See $Inner Radius for the attenuation formula.
  • Also defines the size of the shockwave (if shockwave speed is > 0)
  • Note: adding an inner and/or outer radius to a weapon doubles its effective damage to the target (i.e. 1x impact, 1x area effect)
  • Syntax: Float, meters

$Shockwave Speed:

  • Speed shockwave expands at. Zero means no shockwave and that any area-effect damage is applied immediately
  • Syntax: Float, meters per second

$Shockwave rotation:

FS2 Open 3.6.10:
  • Defines how the 3D shockwave is rotated. Random, if left undefined.
  • Syntax: Angle, three values, pitch, bank, heading respectively, in degrees

$Shockwave model:

FS2 Open 3.6.10:
  • Defines the model file (.pof) used as a shockwave for the 3D shockwaves.
  • Syntax: String.pof, model filename


$Shockwave name:

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


$Dinky shockwave:

FS2 Open 3.6.10:
  • Dinky shockwave are used if the weapon is shot down before arming or if the conditions marked at Arm time and Arm distance are not reached before impact
  • It uses exactly same entries as the standard shockwaves
  • +Shockwave damage:
  • +Shockwave damage type:
  • +Blast Force:
  • +Inner Radius:
  • +Outer Radius:
  • +Shockwave Speed:
  • +Shockwave Rotation:
  • +Shockwave Model:
  • +Shockwave Name:


$Armor Factor:

  • Multiplier for the damage done to armor
  • Syntax: Float, damage multiplier


$Shield Factor:

  • Multiplier for the damage done to shields
  • Syntax: Float, damage multiplier


$Subsystem Factor:

  • Multiplier for the damage done to subsystems
  • Syntax: Float, damage multiplier


$Lifetime Min:

FS2 Open 3.6.10:
  • Defines the minimum lifetime of the weapon
  • Syntax: Float, seconds


$Lifetime Max:

FS2 Open 3.6.10:
  • Defines the maximum lifetime of the weapon
  • Syntax: Float, seconds


$Lifetime:

  • Time before the standard primaries fizzle out and secondaries self destruct. Multiply this by the speed to get the range. If values are too low (below framerate) then the collision detection and graphic effects may suffer.
  • This field has no effect for the beams apart from weapon range and AI beam targeting with certain beam types
  • Syntax: Float, seconds


$Energy Consumed:

  • The amount of energy each bolt drains firing ship. Has no effect on turretted weapons.
  • Syntax: Float


$Cargo Size:

  • Cargo size, is not used with non-ballistic primaries.
  • Amount of missiles available = Bank capacity / Cargo Size.
  • Syntax: Float

$Homing:

This option is exclusive to secondaries.

FS2 Open, 21.2: This option may now be applied to primaries. They may only use heat seeking. For optimal results the "no homing speed ramp" flag may be used.

Defines if the bolts/missiles in question is homing

If set to NO, then following fields are not required in the table.

  • Syntax: Boolean, yes or no

+Type:

Defines the homing method

  • Syntax: String, ASPECT or HEAT
FS2 Open 3.6.10: An additional option, JAVELIN, has been added. This behaves like an aspect missile but automatically only locks onto the engines of a target, and only if the engines are in sight.


+Turn Time:

Determines how quickly the missile can turn. Ostensibly the number of seconds it takes the missile to do a 360 degree circle at full turn speed, but for complicated reasons this is only true if AI respect tabled turn time and rotdamp is enabled.

    • Syntax: Float, seconds

+Turning Acceleration Time:

FS2 Open, 21.0:

Determines how quickly the missile reaches its maximum turn speed.


+View Cone:

Heat-seeking missiles only

This is the width of the weapon's viewing cone, given in degrees. Objects outside this cone are effectively invisible to the missile. The value / 2 gives the angle from the missile's centerline to the edge of the viewing cone.

  • Syntax: Float, degrees
FS2 Open 3.6.10: Has been enabled also to aspect seekers as an option. They will continue to home on targets outside their view cone, but will take a continuous lifetime penalty every second their target is outside this cone.

+Min Lock Time:

For aspect/javelin missiles only

The minimum number of seconds to gain a target lock.

  • Syntax: Float, seconds

+Lock Pixels/Sec:

For aspect/javelin missiles only The number of pixels the aspect triangle moves per second while attempting lock-on.

  • Syntax: Integer, pixels per second


+Catch-up Pixels/Sec:

For aspect/javelin missiles only

The number of pixels moved per second while attempting to catch up to the target.

  • Syntax: Integer, pixels per second


+Catch-up Penalty:

For aspect/javelin missiles only

Extra pixels to move after catching up. (Needs verification )

    • Syntax: Integer, pixels


+Seeker Strength:

FS2 Open 3.6.10:

Defines the seeking ability of the homing system. Default of heat seekers is 3.0 and for aspect seekers 2.0. Spoofing chance is defined as cm type effectiveness/seeker strength (missile must be within the countermeasures +Effective Radius:

  • Syntax: Float, seeker strength

+Target Lead Scaler:

FS2 Open, 3.6.12:

Defines the type of pursuit course the missile tries to obtain.

  • Values < 0 give lag pursuit, values ~ 0 give pure pursuit, values > 0 give lead pursuit.
  • Syntax: Float, default for heat seekers: 0, default for aspect or javelin seekers: 1.

+Target Lock Restriction:

FS2 Open, 21.0:

Defines if the missile can lock onto ships besides the current target

  • Syntax: String, name of the behavior, default is current target only;.
  • Current target only As normal, can only acquire locks on the targeted ship
  • Any target Missile will lock on any valid target. Missile locking is still disabled in certain cases, such as when a friendly is the player's target
  • Current target, any subsystem Targeting is restricted to the current ship, but will pick turrets and subsystems on that ship.

+Independent Seekers:

FS2 Open, 21.0:

Defines the ability for a missile to target multiple objects at once.

  • Syntax: Boolean, yes or no, default is no.

+Trigger Hold:

FS2 Open, 21.0:

Defines the ability to hold the trigger to lock and release to fire.

  • Syntax: Boolean, yes or no, default is no.

+Reset On Launch:

FS2 Open, 21.0:

Defines the ability for locks to reset upon missiles being fired.

  • Syntax: Boolean, yes or no, default is no.

+Max Seekers Per Target:

FS2 Open, 21.0:

Defines the maximum number of seekers that can target a single object.

  • Syntax: Integer, number of seekers.

+Max Active Seekers:

FS2 Open, 21.0:

Defines the maximum number of total seekers for the weapon to have.

  • Syntax: Integer, number of seekers.

+Ship Types:

FS2 Open, 21.0:

Defines the ship types that this missile can target. In order for a ship to be targetable it must be able to match one of the listed types, if some of the below lists are also specified, it must match into those as well.

  • Syntax: ("String" "String"), ship types.

+Ship Classes:

FS2 Open, 21.0:

Defines the ship classes that this missile can target. In order for a ship to be targetable it must be able to match one of the listed classes, if some of the above/below lists are also specified, it must match into those as well.

  • Syntax: ("String" "String"), ship classes.

+Species:

FS2 Open, 21.0:

Defines the species whose ships this missile can target. In order for a ship to be targetable it must be able to match one of the listed Species, if some of the above/below lists are also specified, it must match into those as well.

  • Syntax: ("String" "String"), species.

+IFFs:

FS2 Open, 21.0:

Defines the IFF's whose ships this missile can target. In order for a ship to be targetable it must be able to match one of the listed IFFs, if some of the above lists are also specified, it must match into those as well.

  • Syntax: ("String" "String"), IFFs.

$Swarm:

  • The number of missiles to fire per volley if it's a swarm missile
  • Can be issued to Standard primaries also. Causes single part turrets to malfunction but causes multi part turrets to fire only on their barrel line. Can be used for 'burst fire weapons'. Does not work with player weapons.
  • Is incompatible with "Corkscrew" option.
  • Swarm will negatively affect the missile's ability to hit its target and will not lead its target even with Target Lead Scaler defined unless $Swarmers Lead Targets is enabled.
  • Syntax: Integer, number of shots in a swarm
FS2 Open 3.6.10:
  • +SwarmWait:
    • Defines the time between weapons fired in a swarm
    • Syntax: Float, seconds
      • Default: 0.150
      • Max: 0.5 (Resets to default if set over 0.5)

$Acceleration Time:

FS2 Open, 3.7.2:
  • Defines how long it takes for a secondary weapon to attain full speed. Takes precedence over $Free Flight Time (see below) in terms of the weapon's velocity, and affects both locked-on and dumbfired secondaries.
  • Syntax: Float, seconds
    • Default: 0.0

$Velocity Inherit:

FS2 Open, 3.7.2:

$Free Flight Time:

FS2 Open 3.6.10:
  • Defines the free flight time of homing weapons. During this time weapon flies at 1/4 of its velocity + firing ships velocity in a straight line.
  • Syntax: Float, seconds
    • Default: 0.25

Note: due to dumbfires never changing their speed, using this on a dumbfire missile will have it stuck at freeflight speed even after the end of the freeflight time.

$Free Flight Speed:

FS2 Open, 3.6.14:
  • Defines the speed that the weapon will be travelling at during the free flight segment (see above).
  • Syntax: Float, Multiplier for the actual speed, minimum 0.01.
    • Default: 0.25
Note: This feature was never implemented correctly and was removed in r8867. FSO parses but doesn't use the value, and prints a warning in the log. This feature has subsequently been reimplemented, see $Free Flight Speed Factor: below

$Free Flight Speed Factor:

FS2 Open, 21.0:
  • Defines the speed that the weapon will be traveling at during the free flight segment (see above).
  • Syntax: Float, Multiplier for the actual speed, minimum 0.01.
    • Default: 0.25

$PreLaunchSnd:

FS2 Open, 3.6.14:
  • Defines the one-shot sound effect to play at the beginning of a firing stream. Currently only has an effect on primary weapons.
  • Syntax: Integer or String, name or identification number of the sound as defined in sounds.tbl
    • Default: No Sound

+PreLaunchSnd Min Interval:

FS2 Open, 3.6.14:
  • Defines Minimum interval between when the player stops firing and the next time the pre-launch sound can play, as a limiter in case the player is pumping the trigger.
  • Syntax: Integer, Minimum delay in milliseconds between the end of the previous firing sequence and the next time the pre-launch sound effect will be played.
    • Default: 0 (play pre-launch sound at the beginning of every firing sequence, if present)

$LaunchSnd:

  • Corresponding sound effect when the weapon is launched.
  • Syntax: Integer or String, name or identification number of the sound as defined in sounds.tbl


$ImpactSnd:

  • Sound the weapon makes when it hits a hull.
  • Syntax: Integer or String, name or identification number of the sound as defined in sounds.tbl


$Disarmed ImpactSnd:

FS2 Open 3.6.10:
  • Sound the weapon makes when it hits a hull before being armed.
  • Syntax: Integer or String, name or identification number of the sound as defined in sounds.tbl


$FlyBySnd:

  • The sound this weapon makes if it narrowly misses you. -1 is no sound.
  • Syntax: Integer or String, name or identification number of the sound as defined in sounds.tbl, usually -1


$TrackingSnd

FS2 Open, 3.6.16:
  • The looping sound played when this weapon tracks a target.
  • Syntax: Integer or String, name or identification number of the sound as defined in sounds.tbl


$LockedSnd

FS2 Open, 3.6.16:
  • The sound played when this weapon has locked onto its target.
  • Syntax: Integer or String, name or identification number of the sound as defined in sounds.tbl


$InFlightSnd

FS2 Open, 3.6.16:
  • The looping sound played when the missile is currently flying.
  • Syntax: Integer or String, name or identification number of the sound as defined in sounds.tbl
  • +Inflight sound type
    • Specifies when the in flight sound is played.
    • The value can be one of the following values which are matched case-insensitively:
      • 'TARGETED': The sound is played when the missile tracks a target
      • 'UNTARGETED': The sound is played when the missile is currently not tracking a target
      • 'ALWAYS': The sound is played always


$Model:

FS2 Open 3.6.10:
  • Defines used model file. Included for compatibility with countermeasures as they have been merged with weapons in the code.
  • Syntax: String.pof, model filename


$Rearm Rate:

  • Defines the frequency that weapons are loaded to the ship
  • Syntax: Float, How many times per second the weapons are loaded.
    • Example: 2.0 will reload every half second. 0.1 will load every ten seconds.

$Rearm Ammo Increment:

FS2 Open, 3.8:
  • Defines how many missiles or how much ballistic ammo is loaded per load sound.
  • Syntax: Integer, how many bullets or missiles are loaded.


+Weapon Range:

  • Defines the range to the target where the weapons under AI will start firing. This also affects the Lead Indicator
  • Syntax: Float, meters

+Weapon Min Range:

FS2 Open 3.6.10:
  • Defines the minimum range to the target where the weapons under AI will still fire.
  • Implemented before FS_Open 3.6.5
  • Syntax: Float, meters

$Pierce Objects:

FS2 Open, 21.2:
  • Causes the weapon to penetrate the objects impacted and not be destroyed.
  • Syntax: Boolean

+Spawn Children On Pierce:

  • Will spawn the weapons children on each hit, not just when it eventually gets destroyed through lifetime
  • Syntax: Boolean

$Flags:

  • See below
  • Syntax: ( "String" "String" ), names of the flags assigned to the weapon
    • Example: ( "Player allowed" "in tech database" )


FS2 Open 3.6.10:
  • Can be followed by +override option in order to reset the weapon flags before parsing in the new ones
  • Using this option will erase all homing-related flags as well as swarm, variable lead, trail, TAG, and transparent settings in addition to the listed flags. All these should be set again - if they are required - when this option is used.
    • Syntax: +override


$Trail:

  • This is used if you want your weapon to have a trail. Trail is often used only with secondaries though it works with standard primaries as well.
  • +Start Width:
    • How wide the head of the trail is.
    • Syntax: Float, meters
  • +End Width:
    • How wide the tail of the trail is.
    • Syntax: Float, meters
  • +Start Alpha:
    • The opacity of the trail head.
    • Syntax: Float, value between 0 and 1
  • +End Alpha:
    • The opacity of the trail tail.
    • Syntax: Float, value between 0 and 1
FS2 Open, 21.2:
  • +Alpha Decay Exponent:
    • Causes the trail to fade away non-linearly. The 1 -> 0 progress through the trail's life is taken to the power of the provided number when being used for trail alpha purposes
    • Smaller numbers below 1 cause the trail to fade away very slowly at first, and then suddenly at the end. Larger numbers above 1 cause it to fade away quickly at first, and then slow down for most of its life.
    • Syntax: Float, positive
  • +Max Life:
    • How long the trail lasts.
    • Syntax: Float, seconds
  • FS2 Open, 21.0:
    • +Spread:
      • Causes the trail points to diffuse and drift apart at this speed over time.
      • Syntax: Float, meters per second
  • +Bitmap:
    • The graphic file to use for the trail.
    • Syntax: String, filename
  • FS2 Open, 21.2:
    • +Bitmap Stretch:
      • Multiplies how far the bitmap is stretched over each trail segment.
      • Syntax: Float
    FS2 Open, 3.6.12:
    • +Faded Out Sections:
      • Defines the number of the trail sections (counting from the leading edge) which are gradually faded out.
      • Syntax: Integer, number of trail sections

    $Icon:

    • Loadout icon used in the weapons selection screen.
    • Syntax: String, filename


    $Anim:

    • Green grid animation used on the weapons screen.
    • Syntax: String, filename


    $Collide Ship:

    FS2 Open 3.6.10:


    $Collide Weapon:

    FS2 Open 3.6.10:

    $Impact Effect:

    FS2 Open, 3.8:
    • Specifies the particle effect which will be used for impacts of this weapon.
    • Syntax: String, the particle effect name
    • If this option is specified then $Impact Explosion and $Impact Explosion Radius are not valid options!

    $Impact Explosion:

    • Impact explosion used. Must be defined in weapon_expl.tbl,
    • Syntax: String, filename or none


    $Impact Explosion Radius:

    • Radius of the defined impact explosion.
    • Syntax: Float, meters, default 1.0


    $Shield Impact Explosion Radius:

    FS2 Open, 3.7.4:

    $Dinky Impact Effect:

    FS2 Open, 3.8:
    • Specifies the particle effect which will be used for Dinky (not armed) explosions of this weapon.
    • Syntax: String, the particle effect name
    • If this option is specified then $Dinky Impact Explosion and $Dinky Impact Explosion Radius are not valid options!


    $Dinky Impact Explosion:

    FS2 Open 3.6.10:
    • Same as Impact Explosion but for Dinky (not armed) explosions
    • Syntax: String, filename or none


    $Dinky Impact Explosion Radius:

    FS2 Open 3.6.10:
    • Same as Impact Explosion Radius but for Dinky explosions
    • Syntax: Float, meters

    $Piercing Impact Effect:

    FS2 Open, 3.8:
    • Specifies the particle effect which will be used for piercing impacts.
    • Syntax: String, the particle effect name
    • If this option is specified then piercing impact options below are not valid!

    $Piercing Impact Explosion:

    FS2 Open, 3.6.12:
    • Defines the effect used for events when weapon pierces the target
    • Syntax: String, filename or none


    $Piercing Impact Radius:

    FS2 Open, 3.6.12:
    • Defines the base radius of the effect used for piercing weapon impacts
    • Syntax: Float


    $Piercing Impact Velocity:

    FS2 Open, 3.6.12:
    • Defines the base velocity for the particles piercing the target
    • Syntax: Float


    $Piercing Impact Splash Velocity:

    FS2 Open, 3.6.12:
    • Defines the base velocity for the particles splashing from the target (secondary piercing effects
    • Negative value causes the second batch or particles to splash to opposite direction
    • Syntax: Float


    $Piercing Impact Variance:

    FS2 Open, 3.6.12:
    • Defines the variance added to the particles
    • Values near 0 cause very little variance and values close to 1 cause extreme dispersal.
    • Syntax: Float


    $Piercing Impact Life:

    FS2 Open, 3.6.12:
    • Defines the lifetime of the effect for single frame effects
    • For multiple frame effects the lifetime is the lifetime of the animation used
    • Syntax: Float


    $Piercing Impact Particles:

    FS2 Open, 3.6.12:
    • Defines the number of particles released per impact
    • Syntax: Integer


    $Piercing Impact Draw Modifier:

    FS2 Open, 3.6.12:
    • Defines the multiplier applied to the ships piercing effect limit percentage
    • Syntax: Float
  • Option removed in 3.6.12. Use armor.tbl to finetune piercing effects.
  • $Inflight Effect:

    FS2 Open, 3.8:
    • Sets the inflight particle effect which is used when the laser is active. This is only used by laser weapons.
    • Syntax: String, the particle effect name

    $Freeflight Effect:

    FS2 Open, 3.8:
    • Sets the particle effect which is used when the missile is in the free flight phase. See $Free Flight Time for more information.
    • Syntax: String, the particle effect name
    • This option is only valid for missile weapons

    $Ignition Effect:

    FS2 Open, 3.8:
    • Sets the ignition particle effect which is used when the missile is transitioning from free flight to homed or unhomed flight.
    • Syntax: String, the particle effect name
    • This option is only valid for missile weapons

    $Homed Flight Effect:

    FS2 Open, 3.8:
    • Sets the ignition particle effect which is used when the missile is in homed flight mode.
    • Syntax: String, the particle effect name
    • This option is only valid for missile weapons

    $Unhomed Flight Effect:

    FS2 Open, 3.8:
    • Sets the ignition particle effect which is used when the missile is in unhomed flight mode.
    • Syntax: String, the particle effect name
    • This option is only valid for missile weapons

    $Muzzleflash:

    • Normally only with flak cannons.
    • Defines the muzzle flash the weapon uses
    • Syntax: String, muzzleflash name, as defined in mflash.tbl


    $EMP Intensity:

    • If it has an EMP effect, how deeply it scrambles your electronics
    • Basically a percentage, a value of 250 results in a 25% chance of something getting scrambled each frame.
    • Maximum value of 500
      • Syntax: Float

    $EMP Time:

      • Duration of the EMP effect
      • Syntax: Float, seconds

    $Recoil Modifier:

    FS2 Open, 3.7.4:
    • Multiplies the recoil force of a weapon by this value, use a value greater than 1.0 to increase the force, use a value between 1.0 and 0.0 to decrease.
      • Syntax: Float (defaults to 1.0)
    Note: The "apply recoil" weapon flag must be set for this to be valid. If the flag is not set, FSO will throw a warning and automatically set it at runtime.

    $Leech Weapon:

      • The amount of weapon energy to drain with each hit (a flat value, not a percentage)
      • Needs the Esuck flag set to have any effect
      • Syntax: Float (defaults to 10.0)

    $Leech Afterburner:

      • The amount of afterburner fuel to drain with each hit (a flat value, not a percentage)
      • Needs the Esuck flag set to have any effect
      • Syntax: Float (defaults to 10.0)

    $Corkscrew:

    FS2 Open 3.6.10:
    • Allow corkscrew parameters to be defined
    • +Num Fired:
      • Defines the number of weapons fired in sequence. Same as the standard swarm entry but for corkscrew missiles
      • Syntax: Integer, number of missiles
    • +Radius:
      • Defines the radius used in the corkscrew motion
      • Syntax: Float, meters
    • +Fire Delay:
      • Defines the delay between missile firings
      • Syntax: Integer, milliseconds
    • +Counter rotate:
      • Defines if every other missile rotates to a different direction (clockwise / anticlockwise)
      • Syntax: Boolean, 0 or 1, no or yes
    • +Twist:
      • Defines the speed of rotation movement on the radius of corkscrew motion.
      • Syntax: Float, radians per second


    $Electronics:

    FS2 Open 3.6.10:
    • Defines the weapons effect against electronics. Requires "electronics" flag. +New Style: and +Old Style: options are mutually exclusive.
    • +New Style:
      • Defines that the electronics use the new style which enables more options.
    • +Old Style:
      • Defines that the electronics use the old style. The old style was the way the D-Missile worked in Descent: FreeSpace.
    FS2 Open, 3.7.2:
    • +Area Of Effect
      • If specified, allows the electronics effect to apply to every ship hit by this weapon's blast or shockwave (the "Electronics" flag isn't necessary with this option).
    FS2 Open 3.6.10:
    • +Intensity:
      • May only be used with +New Style: electronics. Has been deprecated.
      • Syntax: Float
    • +Lifetime:
      • Syntax: Integer, milliseconds
    • +Engine Multiplier:
      • May only be used with +New Style: electronics. Defines how much longer the disruption effect lasts for engine subsystems.
      • Syntax: Float
    • +Weapon Multiplier:
      • May only be used with +New Style: electronics. Defines how much longer the disruption effect lasts for non-beam turrets.
      • Syntax: Float
    • +Beam Turret Multiplier:
      • May only be used with +New Style: electronics. Defines how much longer the disruption effect lasts for beam turrets.
      • Syntax: Float
    • +Sensors Multiplier:
      • May only be used with +New Style: electronics. Defines how much longer the disruption effect lasts for sensor subsystems.
      • Syntax: Float
    • +Randomness Time:
      • Defines the randomness of duration target suffers from the electronics hit. A random number between 0 and this time will be added or subtracted from the disruption time.
      • Syntax: Integer, milliseconds
    • Without any electronics parameters, a weapon with the "electronics" flag will default to the Old Style mode with a lifetime of 6000 milliseconds and a randomness of 4000 milliseconds. Thus any ship that gets hit can get disrupted for anywhere between 2 to 10 seconds.

    $Spawn Angle:

    FS2 Open 3.6.10:
    • Defines the cone (with an angle) where the spawned weapons appear. Value gives the angle from the missile's centerline. The maximum possible angle between any two child weapons would be Value*2.
    • Like all spawn options, Spawn Angle should be defined as many times as the carrier weapon has child weapons defined for it (up to 5), before moving to the next option.
    • Syntax: Float, degrees, default is 180

    $Spawn Minimum Angle:

    FS2 Open, 21.0:
    • Defines an inner angle for the cone within which the spawned weapons appear. Value gives the angle from the missile's centerline.
    • Like all spawn options, Spawn Minimum Angle should be defined as many times as the carrier weapon has child weapons defined for it (up to 5), before moving to the next option.
    • Syntax: Float, degrees, default is 0

    $Spawn Interval:

    FS2 Open, 21.0:
    • Causes the associated spawn event to happen continuously at this time interval. Enabling this will prevent the spawn event from triggering on detonation.
    • NOTE: Having very large numbers of total children (low interval and/or high count) can cause issues for multiplayer, and you will be warned in multiplayer if the ttotal count is greater then 300.
    • Like all spawn options, Spawn Interval (and its associated Delay) should be defined as many times as the carrier weapon has child weapons defined for it (up to 5), before moving to the next option.
    • Syntax: Float, seconds, minimum is 0.1, You will not be warned for a negative spawn interval. The value will be ignored and the spawn will be treated as a regular detonate spawn if negative. This is on purpose so that continuous/detonate spawns can be set regardless of the order in which they are defined in the flags.

    +Delay:

    FS2 Open, 21.0:
    • Continuous spawn will not begin until this has elapsed.
    • Syntax: Float, seconds, default is 0

    $Spawn Effect:

    FS2 Open, 21.0:
    • Specifies the particle effect which will be used for continuous spawns of this weapon. Will not be used for detonation.
    • Like all spawn options, Spawn Effect should be defined as many times as the carrier weapon has child weapons defined for it (up to 5), before moving to the next option.
    • Syntax: String, the particle effect name

    $Local SSM:

    FS2 Open 3.6.10:
    • Defines the local SSM (Subspace Missile). In effect missile moves via subspace to a position close to the target and starts homing.
    • Weapon must be aspect seeking missile and must have local ssm flag.
    • +Warpout Delay:
      • Defines the time between the missile launch and the subspace jump.
      • Syntax: Integer, milliseconds
    • +Warpin Delay:
      • Defines the time missile stays in subspace before exiting.
      • Syntax: Integer, milliseconds
    • +Stage 5 Velocity:
      • Defines the velocity of the missile after the subspace jump.
      • Syntax: Float, meters per second
    • +Warpin Radius:
      • Defines how far from the SSM will appear from the outer radius of the target.
      • Syntax: Float, meters
    • +Lock Range:
      • Defines the maximum range where SSM can achieve target lock
      • Syntax: Float, meters


    $Countermeasure:

    • Defines the countermeasure effectiveness, radius, etc
    Note:
    • Spoofing chance is defined as cm type effectiveness/seeker strength (missile must be within the countermeasures +Effective Radius:).
    • All countermeasures in the mission perform tests to spoof missiles for two frames after any countermeasure is created in the mission. No, this doesn't seem to make much sense.
    FS2 Open, 19.0: The global frame counter can be bypassed by using pulse interval.
    • Provisional; Countermeasures are only given one chance to spoof any individual missile. This makes tuning seeker strength/effectiveness meaningful.
      • Previously some record of which countermeasures had been seen by each missile was kept, but it broke when multiple countermeasures were involved. A good chance of breaking with two countermeasures, and a guaranteed chance of breaking with three or more. This reduced the impact of the seeker strength/effectiveness ratio, but was partly cancelled out by the 2 frames thing.


    FS2 Open 3.6.10:

    +Heat Effectiveness:

    • Defines the countermeasures effectiveness against heat seeking missiles
    • Syntax: Float, cm effectiveness
      • Default: 1.0

    +Aspect Effectiveness:

    • Defines the countermeasures effectiveness against aspect seeking missiles
    • Syntax: Float, cm effectiveness
    • Default: 1.0

    +Effective Radius:

    • Defines the countermeasures effective radius
    • Syntax: Float, meters
      • Default: 300.0


    FS2 Open, 3.7.4:

    +Missile Detonation Radius:

    • Defines the radius within which a missile homing on this countermeasure will trigger a detonation (see +Single Missile Kill:)
    • Syntax: Float, meters
      • Default: 40.0
    Note: only affects missiles homing on countermeasures, i.e. heat or aspect with "pulls aspect seekers" flag

    +Single Missile Kill:

    • Defines if countermeasures will detonate only the missile homing on this countermeasure, or every missile within +Missile Detonation Radius:
    • Syntax: Boolean
      • Default: false
    Note: only affects missiles homing on countermeasures, i.e. heat or aspect with "pulls aspect seekers" flag


    FS2 Open, 19.0:

    +Pulse Interval:

    • Defines how much time passes between each pulse of this countermeasure.
    • Syntax: Float, milliseconds
      • Default: 0
    Note: any value less than or equal to 0 means the countermeasure doesn't pulse, and uses the global 2-frame counter after any countermeasure is fired.


    FS2 Open, 21.2:

    +Use Fire Wait:

    • Makes the countermeasure fire wait use what is specified in the $Fire Wait: section of the weapon.
    • Default countermeasure fire wait is 333 milliseconds, regardless of that value was set in $Fire Wait:.

    +Failure Launch Delay Multiplier for AI:

    • After a failed countermeasure launch the game waits a certain time interval before attempting another launch.
    • Previously, the amount of time was calculated as ('fire wait' + 2000 * 'countermeasure firing chance').
    • If set to a non negative number, this value will be multiplied to the fire wait value to determine the amount of time before another countermeasure can be attempted.
    • Syntax: Integer
      • Default: -1
    Note: any value less than 0 means the default formula will be used.

    +Successful Launch Delay Multiplier for AI:

    • After a successful countermeasure launch the game waits a certain time interval before attempting another launch.
    • This value is multiplied to the fire wait value to determine the amount of time before another countermeasure can be attempted.
    • Syntax: Integer
      • Default: 2
    Note: any value less than 0 means the default value will be used.


    }}

    $BeamInfo:

    • +Type:
      • Defines the type of beam in question. Beam types: 0 is a standard non-slashing type beam. 1 is a slashing type beam. 2 is a targeting beam that is used to trigger SSMs. 3 is a beam type that fires pulses in anti-fighter role and acts like type 0 beam in other roles. 4 is a beam that is restricted to what is directly in front of it, along turrets firepoints normal.
      • Syntax: Integer,, only values from 0 to 4 are legal
    • +Life:
      • How long it lasts once the beam is actually firing.
      • Syntax: Float, seconds
    • +Warmup:
      • Warmup time
      • Syntax: Integer, milliseconds
    • +Warmdown:
      • Warmdown time
      • Syntax: Integer, milliseconds
    • +Radius:
      • Muzzle glow radius
      • Syntax: Float, meters
    • +PCount:
      • Particles spewed every interval. ??
      • Syntax: Integer
    • +PRadius:
      • Particle radius
      • Syntax: Float, meters
    • +PAngle:
      • Defines the random "cone" where the particles are generated
      • Syntax: Float, angle of the cone
    • +PAni:
      • Animation used to represent the particles
      • Syntax: String, filename
    • +Miss Factor:
      • The higher the numbers, the more likely that this beam will miss. One value for every difficulty level
      • Syntax: Miss Factor, five floats, very easy, easy, moderate, hard, insane, respectively.
        • Example: 0.5 0.975 1.35 1.875 2.5
    FS2 Open, 3.6.14:
    • IFF specific miss factors
      • Identical to the preceding entry but IFF specific. Replace the <IFF> with the name of the IFF from iff_defs.tbl
      • Syntax: +<IFF> Miss Factor:, five floats, very easy, easy, moderate, hard, insane, respectively.
        • Example: 0.5 0.975 1.35 1.875 2.5
  • +BeamSound:
    • Corresponding looping sound effect when the beam is firing.
    • Syntax: Integer or String, name or identification number of the sound as defined in sounds.tbl
  • +WarmupSound:
    • Corresponding sound effect when the beam is beam warmed up.
    • Syntax: Integer or String, name or identification number of the sound as defined in sounds.tbl
  • +WarmdownSound:
    • Corresponding sound effect when the beam is warming down.
    • Syntax: Integer or String, name or identification number of the sound as defined in sounds.tbl
  • +Muzzleglow:
    • Defines the bitmap used to create the muzzle glow
    • Syntax: String, filename
  • FS2 Open, 3.7.2:
    • +Directional Glow:
      • Defines the length to stretch the muzzleglow along the beam.
      • Syntax: Float, length in meters, the muzzleglow is rendered along (in the same plane) as the beam instead of perpendicular to the camera.
  • +Shots:
    • Defines into how may invidual shots the type 3 (AAA) beams are divided. Note total firing is the same as the +Life:
    • ALSO AFFECTS FIGHTER BEAMS. If greater than 0, fires from up to that many fire points at a time before cycling. 1 mimics the behavior of weapons with the "cycle" flag, 0 fires from all available fire points like normal weapons.
    • Syntax: Integer, Default: 1
  • +ShrinkFactor:
    • How much of the beam's life is remaining before it starts to shrink in width. (0.1 means 10% life left)
    • Syntax: Float, value from 0 to 1
  • +ShrinkPct:
    • What factor of beam's width is subtracted per second.
    • Syntax: Float, value from 0 to 1
  • FS2 Open, 21.0:
    • +GrowFactor:
      • How much of the beam's life is remaining before it starts to grow in width. (1.0 means as soon as the beam fires)
      • Syntax: Float, value from 0 to 1
    • +GrowPct:
      • What factor of beam's width is added per second.
      • Syntax: Float, value from 0 to 1
    • +Initial Width Factor:
      • What factor of the beam's maximum width it starts with.
      • Syntax: Float, value from 0 to 1
    FS2 Open 3.6.10:
    • +Range:
      • Defines the maximum range where the beam still has any effect.
      • Syntax: Float, meters
    • +Attenuation:
      • Defines the point where the damage caused by the beam starts to attenuate. At maximum range damage is zero.
      • Syntax: Float, from 0 - firing point to 1 - no effect
        • Default: 1
    FS2 Open, 3.6.12:
    • +BeamWidth:
      • Defines the width of the beam for collision test purposes instead of using widest beam section.
      • Syntax: Float'
    FS2 Open, 3.8:
    • +Beam Flash Particle Effect:
      • Specifies the beam flash particle effect.
      • Syntax: String, particle effect name
      • If this is specified then +Beam Flash Effect and +Beam Flash Radius are not valid options!
    • +Beam Flash Effect:
      • Defines the additional impact flash effect for the beam.
      • Syntax: String, filename
    • +Beam Flash Radius:
      • Defines the radius for the additional impact flash effect.
      • Syntax: Float
    • +Beam Piercing Effect:
      • Defines the beam piercing (bursting flames) effect for the beam.
      • Syntax: String, filename
    • +Beam Piercing Radius:
      • Defines the average radius used for the beam piercing effects.
      • Syntax: Float
    • +Beam Piercing Effect Velocity:
      • Defines the base velocity for the piercing effects
      • Syntax: Float
    • +Beam Piercing Splash Effect Velocity:
      • Defines the base velocity for the secondary piercing effects
      • Negative velocity causes the particles to move to opposite direction
      • Syntax: Float
    • +Beam Piercing Effect Variance:
      • Defines the variances of the particles from the main path
      • Values close to 0 cause minimum variance, higher values cause higher variances
      • Syntax: Float
    • $Section:
      • Beams are made up of up to five sections layered atop one another to create the effect. Each section has its own parameters.
    FS2 Open 3.6.10:
    • +Index:
      • Field used to define with Modular Tables the beam section which is edited.
      • Only valid when editing beam sections that already exist in other tables. Attempting to index new sections will generate warnings, adding new sections is the default behavior for un-indexed sections.
      • Syntax: Integer, index number legal values are from 0 to 5
    • +remove
      • Removes the set beam section.
    • +nocreate
      • Does not create new section for the beam
    • +Width:
      • Width of the section
      • Syntax: Float, meters
    • +Texture:
      • Texture for the section
      • Syntax: String, filename
    • +RGBA Inner:
      • Defines the color and transparency of the center of the section
    FS2 Open, 3.6.14: :**Not used in current builds. Settings entered here will have no effect.
      • Syntax: Color, red, green, blue, alpha, respectively, value from 0 to 255
        • Example: 255 255 255 255
    • +RGBA Outer:
      • Defines the color and transparency of the edges of the section
    FS2 Open, 3.6.14: :**Not used in current builds. Settings entered here will have no effect.
      • Syntax: Color, red, green, blue, alpha, respectively, value from 0 to 255
        • Example: 150 150 150 10
    • +Flicker:
      • Defines how much the section flickers
      • Syntax: Float, value from 0 to 1
    • +Zadd:
      • Defines the 'thickness' of the section. The higher the Zadd, the closer the section appears to be. (Zadd can be safely ignored; it actually does nothing.)
      • Syntax: Float
    FS2 Open 3.6.10:
    • +Tile Factor:
      • Defines the beam texture tiling factor. Second number defines the tiling type. Type 0 tiles the graphic in the beam as many times as defined by the 1st number. Type 1 uses the 1st value as the lenght of the tile.
      • Syntax: Float, Integer
    • +Translation:
      • Defines the speed of translation of the beam, a positive value moves from the impact point to the firing point, while a negative value moves away from the firing point towards the impact point. Measured in tiles per second, where the tile count is defined in the "+Tile Factor:" field above.
      • Syntax: Float

    $Pspew:

    FS2 Open 3.6.10:
    • Defines a particle spew effect for the given weapon
    FS2 Open, 3.6.14:
    • +Index:
      • indicates which spewer to add/edit/delete. may be 0-3. used for xmt compatibility.
      • Syntax: Integer
    • +Remove
      • removes spewer at +Index: (requires +index:)
    • +Type:
      • type of particle spew
      • Syntax: String, Default, Helix, Sparkler, Ring, or Plume
    FS2 Open 3.6.10:
    • +Count:
      • Defines how many particles are spawn when they are ready to be created (at each +Time: interval)
      • Syntax: Integer
    • +Time:
      • Defines the time in milliseconds between next particle(s) spewed
      • Syntax: Integer, milliseconds
    • +Vel:
      • Defines the created particles velocity as percentage of the weapons velocity
      • Syntax: Float
    • +Radius:
      • Defines the size of the created particles
      • Syntax: Float, meters
    • +Life:
      • Defines how long the particles last.
      • Syntax: Float, seconds
    • +Scale:
      • Defines the particle spread. Small value will make particles group together
      • typically controls how big the effect is or how fast it moves away from the weapon path on a perpendicular (or sometimes arbitrary) axis.
      • helical spews and rings use this value to control how fast the particle helix moves away from the central axis.
      • sparklers use this to control how fast particles move away from the spawn point, in any direction
      • plumes use this to set the diameter of the disk across which particles are spawned
      • Syntax: Float
    FS2 Open, 3.6.14:
    • +Z Scale:
      • for sparklers, allows you to elongate the effect to surround other effects, like lasers. essentially a length multiplier
      • for plume, it multiplies against +scale to set the plume to spread or converge, zero would be full convergence, 1 would be straight flight, and bigger numbers would cause particles to diverge from the disk.
      • Syntax: Float
    • +Rotation Rate:
      • used only by helical spews, controls how many rotations per second the helix makes
      • Syntax: Float, may be negative, useful for setting up 2 spews that spin in opposite directions
    • +Offset:
      • position of effect with regards to the weapon center
      • Syntax: Vector
    • +Initial Velocity:
      • to indicate both direction and speed of particle effects regards to the weapon velocity and +scale:
      • Syntax: Vector
    FS2 Open 3.6.10:
    • +Bitmap:
      • Defines the animation used to create the particle spew effect
      • Syntax: String, filename


    $Tag:

    • Allowed for secondary weapons
    FS2 Open 3.6.10:
    • Allowed for primary weapons and secondary weapons
    • Sets this weapon as a TAG missile, level 1, 2, or 3. The second number is the duration in seconds.
    • TAG Level 1 will illuminate hidden targets such as stealth fighters or ships normally obscured by nebula conditions.
    • TAG Level 2 illiminates targets much like TAG Level 1, but turrets will prefer to shoot at them over other ships.
    • TAG Level 3 has no effect in retail.
    FS2 Open 3.6.10:
    • TAG Level 3 allows the weapon to trigger SSMs
    • Syntax: Integer Float, TAG level and seconds respectively
    • Note: TAG will not trigger unless the weapon in question has a non-zero damage value.

    $SSM:

    FS2 Open 3.6.10:
    • Defines the weapons SSM index number.
    • Requires TAG level 3 or a targeting beam.
    • Syntax: Integer
    FS2 Open, 3.7.4:
    • Now also accepts SSM strike names.
    • Syntax: String


    $FOF:

    FS2 Open 3.6.10:
    • Defines the field of fire for the weapon. Causes weapon to fire into a firing cone instead of direct firing line thus causing light inaccuracy
    • Syntax: Float, degrees

    +FOF Spread Rate:

    FS2 Open, 3.7:
    • Defines the spread rate of the field of fire. This controls how the FOF increases over time while the weapon is firing.
    • Syntax: 'Float', rate

    +FOF Reset Rate:

    FS2 Open, 3.7:
    • Rate at which the spread decreases if the weapon isn't firing.
    • Syntax: 'Float', rate
    • This is required if +FOF Spread Rate: is present

    +Max FOF:

    FS2 Open, 3.7:
    • The maximum FOF. After the FOF reaches this value it will not increase any further.
    • Syntax: 'Float', degrees. Must be greater than or equal to zero.
    • This is required if +FOF Spread Rate: is present

    $Shots:

    FS2 Open 3.6.10:
    • Defines the number of shots every time the weapon is fired.
    • Works only for primary weapons
    • Syntax: Integer, number of shots


    $decal:

    FS2 Open 3.6.10:
    • Defines impact decals if they are in use
    • +texture:
      • Defines the texture used for impact decals (can use -burn and -glow textures)
      • Syntax: String, filename
    • +backface texture:
      • Defines ???
      • Syntax: String, filename
    • +radius:
      • Defines the size of the impact decals on target
      • Syntax: Float, meters
    • +burn time:
      • Defines the time the -burn texture appears on the target
      • Syntax: Integer, milliseconds
    FS2 Open, 3.6.14:
    • Feature removed - table parsing retained to maintain compatibility

    $Impact decal:

    FS2 Open, 19.0:
    • Defines an impact decal (think bullet impact/scorch mark) using the new system introduced in FSO 19.0.0.
      • Syntax: String, this must match to one of the entries in a decal tbm.
    • +Radius:
      • Syntax: Float, Radius of the impact decal; default is 1.0
    • +Lifetime:
      • Syntax: Either Eternal or Float, lifetime in seconds

    $Transparent:

    FS2 Open 3.6.10:
    • Defines weapon effect as transparent. Enables optional fields for 'alpha animations'
    • +Alpha:
      • Defines the strenght of the alpha (transparency). And also the maximum value for the alpha cycle option
      • Syntax: Float, from 0 to 1
    • +Alpha Min:
      • Defines the minimum alpha value for alpha cycle option
      • Syntax: Float, from 0 to 1
    • +Alpha Cycle:
      • Defines the change in alpha per frame, between Alpha and Alpha Min values
      • Syntax: Float


    $Weapon Hitpoints:

    FS2 Open, 3.6.12:
    • Defines the amount of hitpoints a weapon has.
    • Weapons with "bomb" flag have 50 hitpoints by default
    • Giving weapon hitpoints makes it possible for the weapon to be shot down or be destroyed by EMP.
      • Syntax: Integer

    $Armor Type:

    FS2 Open, 3.6.14:
    • REQUIRES ADDITIONAL TABLE. Defines the armor type for the weapon. This works exactly like ship armor types.
      • Syntax: String, name of the armor as defined in armor.tbl

    $Burst Shots:

    FS2 Open, 3.6.12:
    • Defines the number of shots in a burst
    • Shots in a burst use shorter ( $Burst Delay: ) delay than usually
    • If this weapon is cycling each individual firing event counts as one burst shot, so bursts end sooner in time for large banks than small.
      • Syntax: Integer

    $Burst Delay:

    FS2 Open, 3.6.12:
    • Defines the time in milliseconds between the shots in a burst
      • Syntax: Integer


    $Burst Flags:

    FS2 Open, 3.6.12:
    • Defines the flags used to define the burst firing behaviour
      • Syntax: ( String String ), list of flags
      • Available burst flags:
        • "fast firing", acts as if same turret cooldown flag would be used between the shots in the burst.
        • "random length", makes AI to fire burst of random length (from 1 to burst shots).
    FS2 Open, 21.0: "resets", as long as a full fire wait has passed since last fired, the burst is reset and can be fired in full again.

    $Thruster Flame Effect:

    FS2 Open, 3.6.12:
    • Defines the filename of the effect used on the modeled thruster of the missile
      • Syntax: String, filename


    $Thruster Glow Effect:

    FS2 Open, 3.6.12:
    • Defines the filename of the effect used on the glow type effect of the missile
      • Syntax: String, filename


    $Thruster Glow Radius Factor:

    FS2 Open, 3.6.12:
    • Defines the radius multiplier for the thruster's glow type effect
      • Syntax: Float


    $Failure Rate:

    FS2 Open, 3.8:
    • Defines the random chance that the weapon will fail to fire, or spawn the substitute below if specified.
      • Syntax: Float, 0 - 1

    +Failure Substitute:

    • Defines the weapon to substitute when the weapon 'fails'.
      • Syntax: String, Weapon


    $On Create:

    FS2 Open, 21.2:
    • Defines an action system program set to be executed when a weapon of this type is created. Only applicable to laser and missile style weapons.


    $Substitute:

    FS2 Open, 3.6.14:

    Defines a pattern of ammo to substitute for primary or secondary weapons. $Substitute: can be repeated any number of times (so you could make something like a rainbow laser with several ammo substitutions, for example). If neither +period or +index is specified, it is assumed to be equivalent to +index: 0.

    • Syntax: Weapon Name
    • Swarm missiles act in a strange way when used with $Substitute, use at your own risk.


    FS2 Open, 3.6.16:

    Turrets can use $Substitute as well.

    +period:

    FS2 Open, 3.6.14:

    FSO will substitute Weapon Name every period shots.

    • Syntax: Positive Integer
    • You may not define both +period and +index for the same $Substitute entry
    +offset:
    FS2 Open, 3.6.14:

    A suboption of +period, offsets the substitute pattern according to the launched ammo. For example, an offset of 3 and a period of 4 will substitute on the 3rd ammo launched, and then every 4th ammo after that.

    • Syntax: Positive Integer

    +index:

    FS2 Open, 3.6.14:

    FSO will substitute the Weapon Name at firepoint index in the shot pattern. Similar to carefully using both +period and +offset, but is not affected by ships with different firepoint numbers. i.e. Firepoint index will always have the substitution, while +period and +offset will cycle at different rates dependant on the number of firepoints.

    • Syntax: Positive Integer
    • You may not define both +period and +index for the same $Substitute entry

    Weapons.tbl Flags

    "Electronics"

    • Will seize up the weapons and engines systems of any ship for a short period of time.


    "Spawn Name,Value"

    • Will spawn the specified number of defined missiles upon detonation.
    • The flag will parse without a value, using a default of 10.
    FS2 Open 3.6.10:
    • Multiple spawn types can be defined for a single 'carrier' weapon up to maximum of 5 different weapons

    "Remote Detonate"

    • Can be triggered remotely via a second press on the trigger


    "Big Ship"

    • These weapons cannot be mounted on small ships like fighters, bombers, sentry guns etc.


    "Huge"

    • Allows this weapon to do the final 10% damage to a ship with the "Big Damage" flag. Also the AI will not try to hit fighters with it, but only if the weapon is in a turret or is a secondary. If the weapon is a primary in a fighter then there are no targeting restrictions. See capital+ instead.

    "Supercap"

    • Allows this weapon to do the final 75% damage to a ship with the "supercap" flag.


    "Bomber+"

    • The AI will prefer to use this weapon against bombers


    "child"

    • Cannot be set as a weapon on any ship, but is instead a child of a weapon. Usually defined with "Spawn Name,Value"


    "Bomb"

    • Makes this weapon target-able with the B key and interceptable by AIs
      • Has been long thought to make the AI prefer this weapon against large ships, but in fact has no effect on AI weapon selection.

    "No Dumbfire"

    • Missile will not fire without a lock


    "in tech database"

    • Has the weapon in the tech database at the start of the campaign


    "Player allowed"

    • Allows this weapon as a player weapon.
    FS2 Open 3.6.10:
    • EXTREMELY IMPORTANT NOTE:
      • Whenever you plan to use a weapon as a player one in your campaign or missions, USE THIS FLAG.
      • Not using it can cause problems within fs_open and it's a BAD MOD DESIGN.
      • In the future, fs_open will maybe be able to avoid these problems but, nevertheless, it's still a BAD DESIGN.
      • As another possible example: be careful to update "retail" tables if you plan to use Shivan weapons in player fighters.

    "Particle Spew"

    • Makes the weapon projectile spew out particles
    FS2 Open 3.6.10:


    "EMP"

    • This weapon will have an EMP effect on any ship within the blast radius
    • Can be defined with EMP Intensity and EMP Time


    "Esuck"


    "Flak"


    "Corkscrew"

    • Makes this weapon spiral AND swarm 4.
    FS2 Open 3.6.10:


    "Shudder"

    • Makes your ship shudder while you're firing the weapon


    "lockarm"

    • Requires a target lock in order to arm its warhead. In other words weapon causes less damage if it hits the target without target lock.


    "beam"


    "stream"

    • Does nothing

    "puncture"

    • Reduces hull damage by 75%

    The AI will prefer these weapons for anti-subsystem use

    "countermeasure"

    FS2 Open 3.6.10:
    • Defines the weapon as a countermeasure


    "Ballistic"

    FS2 Open 3.6.10:
    • Defines the weapon as a ballistic weapon that needs ammunition.
    • Make sure you define the size and reload rate for ballistic weapons


    "pierce shields"

    FS2 Open 3.6.10:
    • Causes weapons to penetrate shield without causing damage to it.


    "no pierce shields"

    FS2 Open 3.6.10:
    • Prevents weapons (beams) from piercing shields causing shields to be damaged by weapons first.


    "local ssm"

    FS2 Open 3.6.10:


    "tagged only"

    FS2 Open 3.6.10:
    • Weapon can only be fired at tagged targets


    "beam no whack"

    FS2 Open 3.6.10:
    • Disables beam whacking (push). Practically same as setting beam mass to zero.


    "cycle"

    FS2 Open 3.6.10:
    • Causes weapon to alternate between firing points


    "small only"

    FS2 Open 3.6.10:
    • Causes AI to use the weapon only on small targets (fighters, bombers etc.) Only applies to the target selection of turrets, has no effect on the behavior of fighters picking primary and secondary bank weapons.

    "same turret cooldown"

    FS2 Open 3.6.10:
    • Forces the turrets to fire on the designated rate of fire on all difficulty levels and all AI levels


    "apply no light"

    FS2 Open 3.6.10:
    • Prevents light from being applied to the weapon model.

    "training"

    FS2 Open 3.6.10:
    • Sets weapon to be of training weapon type. ?

    "smart spawn"

    FS2 Open, 3.6.12:
    • Forces turret fired spawn weapon of this type to be fired like normal weapons.

    "inherit parent target"

    FS2 Open, 3.6.12:
    • Sets spawned 'child' weapons to use parent weapon's target.

    "no emp kill"

    FS2 Open, 3.6.12:
    • Defines the weapon (with hitpoints) to be immune to automatic EMP destruction.

    "untargeted heat seeker"

    FS2 Open, 3.6.12:
    • Defines the weapon as a heatseeker type missile which acquires its target by itself.

    "no radius doubling"

    FS2 Open, 3.6.12:
    • Prevents weapon radius from being doubled when doing collision test. Makes bombs harder to intercept.

    "no subsystem homing"

    FS2 Open, 3.6.12:
    • Prevents weapon from acquiring a subsystem as its target. Missile homing points are spread over the target ship.

    "no lifeleft penalty"

    FS2 Open, 3.6.12:
    • Prevents weapon lifetime from being penalized if the angle to the target is too big.

    "can be targeted"

    FS2 Open, 3.6.12:
    • Allows weapon to be targeted by player. Does not influence AI

    "show on radar"

    FS2 Open, 3.6.12:
    • Allows weapon to be visible on the radar

    "show friendly on radar"

    FS2 Open, 3.6.12:
    • Allows friendly, otherwise visible to radar weapon, to be visible on player radar

    "capital+"

    FS2 Open, 3.6.14:
    • Tells AI to use this weapon only on capital ships

    "chain external model fps"

    FS2 Open, 3.6.14:
    • Tells game to keep switching external model firingpoints when firing

    "external model launcher"

    FS2 Open, 3.6.14:
    • Tells game that the external model is a launcher so that it would be kept static without loading motion

    "takes blast damage"

    FS2 Open, 3.6.14:
    • Weapon takes damage from weapon blasts

    "takes shockwave damage"

    FS2 Open, 3.6.14:
    • Weapon takes damage from shockwaves

    "ciws"

    FS2 Open, 3.6.16:
    • Weapon can deal shockwave/blast damage to bombs, regardless of whether the target weapons have the "take blast/shockwave damage" flags.

    "render flak"

    FS2 Open, 3.6.16:
    • Normally, flak shells are not rendered. This flag switches rendering on for those weapons.

    "anti-subsystem beam"

    FS2 Open, 3.6.16:
    • Beam weapons with this flag can target subsystems on enemy ships, just like normal weapons.

    "no primary linking"

    FS2 Open, 3.6.16:
    • Primary weapons with this flag can not be linked with other weapons.

    "same emp time for capships"

    FS2 Open, 3.7:
    • capships affected by this weapon will use the tabled EMP time rather than the fixed retail value (7.5 secs)

    "no primary linked penalty"

    FS2 Open, 3.7.2:
    • Primary weapons with this flag do not incur the retail linked fire penalty

    "no homing speed ramp"

    FS2 Open, 3.7.2:
    • Locked homing weapons will not perform the standard 1 second long acceleration when fired. Note that use of $Acceleration Time is not affected by this flag.

    "pulls aspect seekers"

    FS2 Open, 3.7.2:
    • If an aspect seeker is grabbed by this countermeasure the missile will follow the countermeasure instead of going into dumbfire mode.
    Only valid for countermeasures!

    "turret interceptable"

    "fighter interceptable"

    "interceptable"

    FS2 Open, 3.7.2:
    • Allows turrets/fighters/both (respectively) to shoot at this weapon without requiring it to be a bomb. If this is the first time this weapon has been defined, it also gives it a default of 25 hitpoints so that it can be shot down.
    If you use a TBM to give this flag to an existing weapon, you'll need to specify hitpoints manually (unless you want it to be unkillable but still draw defensive fire).

    "apply recoil"

    FS2 Open, 3.7.4:
    • A ship that fires a weapon with this flag will experience a recoil effect, slowing the ship down and, with lighter strikecraft, inducing some rotation if the firing points are offset from the center of mass.

    "don't spawn if shot"

    FS2 Open, 3.7.4:
    • Prevents parent weapons from spawning children in the even of the parent weapon being shot down.

    "die on lost lock"

    FS2 Open, 3.7.4:
    • Aspect seeking missiles (only, not heat seekers) will detonate upon losing their lock. Currently they only lose lock if decoyed by a countermeasure, AND "pulls aspect seekers" or similar is not set. The detonation will use their "dinky" explosion (i.e. same as if ran out of lifetime).

    "no doublefire"

    FS2 Open, 21.0:
    • Prevents dual-firing of secondary weapons. If the ship tries to dual-fire a weapon with this flag they are set back to single fire.

    "require exact los"

    FS2 Open, 21.0:
    • Prevent AI form firing this weapon from a turret or as a secondary weapon if there is no clear line of sight from the weapons firing point to its targeted ship (center). Note that this may keep the weapon trained on a target out of sight while another target may be available to shoot.

    "can damage shooter"

    FS2 Open, 21.2:
    • This weapon can collide with and directly damage the original shooter of this weapon (even if it was spawned), which is not normally possible.

    "heals"

    FS2 Open, 21.4:
    • This weapon uses its $Damage value to heal its target(s) instead of damaging them.
    • This works very similarly to damage, the armor/shield/subsystem factors apply to healing as well as do armor classes. However, there are some caveats.
    • Healing will always carry. Unlike damage, which first has to go through the shield, has damage subtracted, then damages subsystems, has damage subtracted, then finally damages the hull if any damage remains, healing will apply in full to hull, shield, and subsystems (factors or armor classes notwithstanding). A weapon with 100 'healing' will attempt to apply that healing to the hull, shield and nearby subsystems to the impact. Even if the weapon only heals hull, it will still do so even if it strikes the shield.

    Countermeasures

    • Usually not altered. Only one can exist
    FS2 Open 3.6.10:
    • More than one can exist


    $Name:

    • Name of the countermeasure
    • Syntax: String, name


    $Velocity:

    • Defines the speed of the countermeasure, relative to the ship.
    • Syntax: Float, meter per second

    $Fire Wait:

    • Definies the minumum time between the countermeasure launches
    • Syntax: Float, seconds


    Lifetime

    • Countermeasure's life time is defined between with minimum and maximum lifetime
    • $Lifetime Min:
      • Syntax: Float, seconds
    • $Lifetime Max:
      • Syntax: Float, seconds


    $LaunchSnd:

    • Defines the sound for the countermeasure launch
    • Syntax: Integer or String, name or identification number of the sound as defined in sounds.tbl


    $Model:

    • Defines the used model file (.pof)
    • Syntax: String.pof, model filename


    Player Weapon Precedence

    • First the primary weapons are defined, from most powerful to least powerful, and then the same for secondaries
    • Syntax: ( "String" "String"), names of the weapons
    • Example:
    $Player Weapon Precedence: (
         "UD-8 Kayser"
         "Prometheus R"
         "Subach HL-7"
         "Harpoon"
         "Tempest"
         "Rockeye"   )
    

    Sample

    #Primary Weapons
    
    $Name:                            @Subach HL-7
       +Title:                           XSTR("GTW Subach HL-7", 3243)
       +Description:
    XSTR( "Standard Issue
    Level 3 Hull Damage
    Level 2 Shield Damage", 3244)
    $end_multi_text
       +Tech Title:                      XSTR("Subach HL-7", 146)
       +Tech Anim:                       Tech_Subach_HL-7
       +Tech Description:
    XSTR(
    "Descriptive text...", -1)
    $end_multi_text
    $Model File:                      none
       @Laser Bitmap:                    newglo9
       @Laser Glow:                      2_laserglow03
       @Laser Color:                     250, 0, 0
       @Laser Color2:                    0, 0, 250
       @Laser Length:                    10.0
       @Laser Head Radius:               0.90
       @Laser Tail Radius:               0.90
    $Mass:                            0.2
    $Velocity:                        450.0
    $Fire Wait:                       0.2
    $Damage:                          15
    $Armor Factor:                    0.9
    $Shield Factor:                   0.7
    $Subsystem Factor:                0.3
    $Lifetime:                        2.0
    $Energy Consumed:                 0.20
    $Cargo Size:                      0.0
    $Homing:                          NO
    $LaunchSnd:                       76
    $ImpactSnd:                       85
    $Flags:                           (  "in tech database"
                                         "player allowed"
                                         "stream")
    $Icon:                            iconSD4
    $Anim:                            SD4
    $Impact Explosion:                none
    
    #End
    
    
    #Secondary Weapons
    
    $Name:                            EMP Adv.
       +Title:                           XSTR("GTM-14 EMP Adv.", 3396)
       +Description:
    XSTR( "Advanced Missile
    Electromagnetic Pulse Weapon
    General Purpose Suppression", 3397)
    $end_multi_text
       +Tech Title:                      XSTR("GTM-14 EM Pulse Adv.", 3398)
       +Tech Anim:                       Tech_EMP
       +Tech Description:
    XSTR(
    "Descriptive text...", -1)
    $end_multi_text
    $Model File:                      EMPulse2.pof
    $Mass:                            15.0
    $Velocity:                        275.0
    $Fire Wait:                       2.0
    $Damage:                          45
    $Blast Force:                     20.0
    $Inner Radius:                    80.0
    $Outer Radius:                    300.0
    $Shockwave Speed:                 120.0
    $Armor Factor:                    1.0
    $Shield Factor:                   0.8
    $Subsystem Factor:                0.5
    $Lifetime:                        5.0
    $Energy Consumed:                 0.0
    $Cargo Size:                      4.0
    $Homing:                          YES
       +Type:                            ASPECT
       +Turn Time:                       1.0
       +Min Lock Time:                   2.0
       +Lock Pixels/Sec:                 70
       +Catch-up Pixels/Sec:             100
       +Catch-up Penalty:                30
    $LaunchSnd:                       118
    $ImpactSnd:                       88
    $FlyBySnd:                        -1
    $Rearm Rate:                      2.0
    $Flags:                           (  "player allowed"
                                         "EMP")
    $Trail:
       +Start Width:                     0.25
       +End Width:                       0.75
       +Start Alpha:                     1.0
       +End Alpha:                       0.0
       +Max Life:                        1.5
       +Bitmap:                          MissileTrail04
    $Icon:                            iconEMPulse
    $Anim:                            ecm
    $Impact Explosion:                ExpMissileHit1
    $Impact Explosion Radius:         10.0
    $EMP Intensity:                   375.0
    $EMP Time:                        20.0
    
    #End
    
    $Player Weapon Precedence: (
         "Subach HL-7"
         "EMP Adv."   )