Weapons.tbl
From FreeSpace Wiki
Made following the older guide (originally written by GE) by
- Wanderer
- Contribute and include yourself here
Contents
- 1 Weapons Table
- 1.1 General Format
- 1.2 Core Table
- 1.2.1 $Name:
- 1.2.2 +Title:
- 1.2.3 +Description:
- 1.2.4 +Tech Title:
- 1.2.5 +Tech Anim:
- 1.2.6 +Tech Description:
- 1.2.7 $Model File:
- 1.2.8 $Mass:
- 1.2.9 $Velocity:
- 1.2.10 $Fire Wait:
- 1.2.11 $Damage:
- 1.2.12 $Damage Type:
- 1.2.13 $Arm time:
- 1.2.14 $Arm distance:
- 1.2.15 $Arm radius:
- 1.2.16 $Shockwave damage:
- 1.2.17 $Blast Force:
- 1.2.18 $Inner Radius:
- 1.2.19 $Outer Radius:
- 1.2.20 $Shockwave Speed:
- 1.2.21 $Shockwave rotation:
- 1.2.22 $Shockwave model:
- 1.2.23 $Shockwave name:
- 1.2.24 $Dinky shockwave:
- 1.2.25 $Armor Factor:
- 1.2.26 $Shield Factor:
- 1.2.27 $Subsystem Factor:
- 1.2.28 $Lifetime:
- 1.2.29 $Energy Consumed:
- 1.2.30 $Cargo Size:
- 1.2.31 $Homing:
- 1.2.32 $Swarm:
- 1.2.33 $LaunchSnd:
- 1.2.34 $ImpactSnd:
- 1.2.35 $FlyBySnd:
- 1.2.36 +Weapon Range:
- 1.2.37 $Flags:
- 1.2.38 $Trail:
- 1.2.39 $Icon:
- 1.2.40 $Anim:
- 1.2.41 $Impact Explosion:
- 1.2.42 $Impact Explosion Radius:
- 1.2.43 $Dinky impact explosion:
- 1.2.44 $Dinky impact explosion radius:
- 1.2.45 $Tag:
- 1.2.46 $Leech Weapon:
- 1.2.47 $Leech Afterburner:
- 1.2.48 $EMP Intensity:
- 1.2.49 $EMP Time:
- 1.2.50 $Muzzleflash:
- 1.2.51 $Pspew:
- 1.2.52 $fof:
- 1.2.53 $decal:
- 1.2.54 $Corkscrew:
- 1.3 Beam Cannons
- 1.4 Flak Cannons
- 2 Retail FS2 - Weapon Flags
- 2.1 "in tech database"
- 2.2 "player allowed"
- 2.3 "stream"
- 2.4 "puncture"
- 2.5 "shudder"
- 2.6 "esuck"
- 2.7 "particle spew"
- 2.8 "beam"
- 2.9 "Big Ship"
- 2.10 "Huge"
- 2.11 "Flak"
- 2.12 "Corkscrew"
- 2.13 "Lockarm"
- 2.14 "Bomber+"
- 2.15 "Spawn Name,Value"
- 2.16 "Remote Detonate"
- 2.17 "Bomb"
- 2.18 "No Dumbfire"
- 2.19 "EMP"
- 2.20 "Electronics"
- 2.21 "child"
- 2.22 "Ballistic"
- 2.23 "no Pierce shields"
- 2.24 "same turret cooldown"
- 3 Countermeasures
Weapons Table
- Retail options will look like this
- SCP options are marked with red color
- Most of the entries in ships.tbl are optional (does anyone have the default values?)
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).
- #Primary Weapons
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. If the weapon has an @ symbol in front of it, it means it's allowed in the demo. It doesn't really do anything in the retail version.
- Syntax: Name
+Title:
- This is the title of the weapon in the Weapons loadout screen. Only needed for player allowed weapons. Title may be anything.
- Syntax: XSTR("Title", -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.
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("Title", -1)
+Tech Anim:
- Animation used for the weapon in the Tech room. Only needed for player allowed weapons.
- Syntax: Filename
- Example: Tech_Subach_HL-7
+Tech Description:
- Descriptive text you see in the tech room. Only needed for player allowed weapons.
XSTR( "The Subach-Innes HL-7...", 3245) $end_multi_text
$Model File:
- Filename of the model file (.pof) at data/models folder. Additional fields after the $Model file: are not required if model has been defined.
- 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: Filename.pof or none
- Example: none
- @Laser Bitmap:
- The graphic file to be used as the weapon effect if no model is defined.
- Syntax: Filename
- @Laser Glow:
- The graphic file that determines the glow of the weapon effect if no model is defined
- Syntax: Filename
- @Laser Color:
- The color of the weapon effect when you fire it.
- Syntax: "Value, Value, Value (Red, Green, Blue respectively, value from 0 to 255)
- Example: 250, 0, 0
- @Laser Color2:
- The color of the weapon effect at its maximum range.
- Syntax: "Value, Value, Value (Red, Green, Blue respectively, value from 0 to 255)
- Example: 0, 0, 250
- @Laser Length:
- Length of the weapon effect.
- Syntax: Value, (1/10 of a meters)
- @Laser Head Radius:
- Width of the head of the weapon effect.
- Syntax: Value, (meters ?)
- @Laser Tail Radius:
- Width of the tail of the weapon effect.
- Syntax: Value (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.
- Syntax: Value, (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 targetting with certain beam types.
- Syntax: Value, (meters per second)
$Fire Wait:
- Time in seconds between firings
- Syntax: Value, (seconds)
$Damage:
- Base damage this weapon does. The actual damage is this number multiplied by the factors below.
- Base damage this beam does is continous damage, damage is 5.5 times the damage value per second. The actual damage is this number multiplied by one of the factors below.
- Syntax: Value, (damage value)
$Damage Type:
- Defines the damage type that this weapon uses. All armor effects are applied after shield and have no function against shockwave or subsystem damage. REQUIRES ADDITIONAL TABLE.
- Syntax: Name, of the damage type as defined in armor.tbl
$Arm time:
- 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: Value, (seconds)
$Arm distance:
- 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: Value, (meters)
$Arm radius:
- Defines the distance from the target where the weapon detonates
- Syntax: Value, (meters)
$Shockwave damage:
- Override for the damage caused by shockwaves
- Syntax: Value, (damage value)
$Blast Force:
- The intensity of the blast effect when ship is within the outer radius of the explosion. Comes in effect only if inner and outer radius are defined.
- Syntax: Value, (blast effect)
$Inner Radius:
- Radius at which the full explosion damage is done. Marks the line where damage attenuation begins.
- Syntax: Value, (meters)
$Outer Radius:
- Maximum radius at which any damage is done
- Syntax: Value, (meters)
$Shockwave Speed:
- Speed shockwave expands at. Zero means no shockwave and that damage is applied immediately
- Syntax: Value, (meters per second)
$Shockwave rotation:
$Shockwave model:
$Shockwave name:
$Dinky shockwave:
- Dinky shockwave are used if the weapon is shot down or if the conditions marked at Arm time and Arm distance are not reached
- It uses exactly same entries as the standard shockwaves
- +Shockwave damage:
- +Blast force:
- +Inner radius:
- +Outer radius:
- +Shockwave speed:
- +Shockwave rotation:
- +Shockwave model:
- +Shockwave name:
$Armor Factor:
- Multiplier for the damage done to armor
- Syntax: Value, (damage multiplier)
$Shield Factor:
- Multiplier for the damage done to shields
- Syntax: Value, (damage multiplier)
$Subsystem Factor:
- Multiplier for the damage done to subsystems
- Syntax: Value, (damage multiplier)
$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 targetting with certain beam types
- Syntax: Value, (seconds)
$Energy Consumed:
- The amount of energy each bolt drains firing ship. Has no effect on turretted weapons.
- Syntax: Value
$Cargo Size:
- Cargo size, is not used with primaries.
- Amount of missiles available = Bank capacity / Cargo Size.
- Syntax: Value
$Homing:
- Only for secondaries. You can't have homing primaries. If this is set to YES with primaries, then the bolts turn to face their target but keep moving in the same direction. If the field is set to NO then following fields are not required in the table.
- Defines if the missiles in question is homing
- Syntax: YES or NO
- +Type:
- Defines the homing method
- Syntax: ASPECT or HEAT
- +Turn Time:
- Defines how well missile manouvers. Number of seconds it takes the missile to do a 360 degree circle
- Syntax: Value, (seconds)
- +View Cone:
- Heat-seeking missiles only, this is then number of degrees the missile sees. Value / 2 gives the angle from the missiles centerline.
- Syntax: Value, (degrees)
- +Min Lock Time:
- For aspect missiles only, the minimum number of seconds to gain target lock
- Syntax: Value, (seconds)
- +Lock Pixels/Sec:
- For aspect missiles only, pixels the aspect triangle moves per second while attempting lock-on
- Syntax: Value, (pixels per second)
- +Catch-up Pixels/Sec:
- For aspect missiles only, pixels moved per second while attempting to catch up to the target
- Syntax: Value, (pixels per second)
- +Catch-up Penalty:
- For aspect missiles only, extra pixels to move after catching up ????
- Syntax: Value, (pixels)
- Syntax: YES or NO, usually NO
$Swarm:
- The number of missiles to fire per volley if it's a swarm missile
- Can be issued to Standard primaries also. Causes singlepart turrets to malfunction but causes multipart turrets to fire only on their barrel line. Can be used for 'burst fire weapons'.
- Is incompatible with "Corkscrew" option.
- Syntax: Value
$LaunchSnd:
- Corresponding sound effect when the weapon is launched.
- Syntax: Value, identification number of the sound as defined in sounds.tbl
$ImpactSnd:
- Sound the weapon makes when it hits a hull.
- Syntax: Value, 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: Value, identification number of the sound as defined in sounds.tbl, usually -1
+Weapon Range:
- Defines the range to the target where the weapons under AI will start firing.??
- Syntax: Value, (meters)
$Flags:
- Flags are detailed below.
$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: Value, (meters)
- +End Width:
- How wide the tail of the trail is.
- Syntax: Value, (meters)
- +Start Alpha:
- The opacity of the trail head.
- Syntax: Value value between 0 and 1
- +End Alpha:
- The opacity of the trail tail.
- Syntax: Value, value between 0 and 1
- +Max Life:
- How long the trail lasts.
- Syntax: Value, (seconds)
- +Bitmap:
- The graphic file to use for the trail.
- Syntax: Filename
$Icon:
- Loadout icon used in the weapons selection screen.
- Syntax: Filename
$Anim:
- Green grid animation used on the weapons screen.
- Syntax: Filename
$Impact Explosion:
- Impact explosion used. Must be defined in weapon_expl.tbl,
- Syntax: Filename or none
$Impact Explosion Radius:
- Radius of the defined impact explosion.
- Syntax: Value
$Dinky impact explosion:
- Same as Impact explosion but for Dinky explosions
$Dinky impact explosion radius:
- Same as Impact explosion radius but for Dinky explosions
$Tag:
- Allowed for secondary weapons
- Location: After $Impact Explosion Radius:
- Sets this weapon as a TAG missile, level 1, 2, or 3. The second number is the duration in seconds.
- Syntax: TAG level Value, (seconds)
$Leech Weapon:
- The amount of weapon energy to drain with each hit
- Syntax: Value
$Leech Afterburner:
- The amount of afterburner fuel to drain with each hit
- Syntax: Value
$EMP Intensity:
- If it has an EMP effect, how deeply it scrambles your electronics
- Syntax: Value
$EMP Time:
- Duration of the EMP effect
- Syntax: Value, (seconds)
$Muzzleflash:
- Normally only with flak cannons.
- Defines the muzzle flash the weapon uses
- Syntax: Muzzleflash name, as defined in mflash.tbl
$Pspew:
- Defines a particle spew effect for the given weapon
- +Count:
- Defines???
- Syntax: Value
- +Time:
- Defines???
- Syntax: Value, (seconds)
- +Vel:
- Defines the created paricles speed relative to the weapon speed
- Syntax: Value, (meters per second)
- +Radius:
- Defines the size of the created particles
- Syntax: Value, (meters)
- +Life:
- Defines???
- Syntax: Value, (seconds)
- +Scale:
- Defines???
- Syntax: Value
- +Bitmap:
- Defines the animation used to create the particle spew effect
- Syntax: Filename
$fof:
- 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: Value, (degrees)
$decal:
- Defines impact decals if they are in use
- +texture:
- Defines the texture used for impact decals
- Syntax: Filename
- +radius:
- Defines the size of the impact decals on target
- Syntax: Value, (meters)
$Corkscrew:
- 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: Value
- +Radius:
- Defines the radius used in the corkscrew motion
- Syntax: Value, (meters)
- +Fire Delay:
- Defines the delay between missile firings
- Syntax: Value, (milliseconds)
- +Counter rotate:
- Defines if every other missile rotates to a different direction (clokwise / anticlockwise)
- Syntax: 0 or 1, no or yes
- +Twist:
- Defines the speed of rotation movement on the radius of corkscrew motion.
- Syntax: Value (radians per second)
Beam Cannons
- Special case weapons
- REQUIRES: "beam" flag
$BeamInfo:
- Location: Ater $Impact Explosion Radius:
- Has special fields for different beam parameters
- +Type:
- Defines the type of beam in question. Beam types: 0 is a standard non-slashing type beam. 1 is a slashing type beam. 3 is a beam type that fires pulses in anti-fighter role and acts like type 0 beam in other roles. 4 is a beam that is restricted to what is directly in front of it, along turrets firepoints normal. Nobody knows what Type 2 beams are.
- Syntax: Value, only values from 0 to 4 are legal
- +Life:
- How long it lasts once the beam is actually firing.
- Syntax: Value, (seconds)
- +Warmup:
- Warmup time
- Syntax: Value, (milliseconds)
- +Warmdown:
- Warmdown time
- Syntax: Value, (milliseconds)
- +Radius:
- Muzzle glow radius
- Syntax: Value (meters)
- +PCount:
- Particles spewed every interval. ??
- Syntax: Value
- +PRadius:
- Particle radius
- Syntax: Value, (meters)
- +PAngle:
- Defines the random "cone" where the particles are generated
- Syntax: Value, (angle of the cone)
- +PAni:
- Animation used to represent the particles
- Syntax: Filename
- +Miss Factor:
- The higher the numbers, the more likely that this beam will miss. One value for every difficulty level
- Syntax: Value Value Value Value Value, Very Easy, Easy, Moderate, Hard, Very Hard respectively.
- Example: 0.5 0.975 1.35 1.875 2.5
- +BeamSound:
- Corresponding looping sound effect when the beam is firing.
- Syntax: Value, identification number of the sound as defined in sounds.tbl
- +WarmupSound:
- Corresponding sound effect when the beam is beam warmed up.
- Syntax: Value, identification number of the sound as defined in sounds.tbl
- +WarmdownSound:
- Corresponding sound effect when the beam is warming down.
- Syntax: Value, identification number of the sound as defined in sounds.tbl
- +Muzzleglow:
- Defines the bitmap used t create the muzzle glow
- Syntax: Filename
- +Shots:
- Defines into how may invidual shots the type 3 (AAA) beams are divided. Note total firing is the same as the +Life:
- Syntax: Value
- +ShrinkFactor:
- What percentage of lifetime where beam starts shrinking (0.1 == 10% life left)
- Syntax: Value
- +ShrinkPct:
- What percentage of max width we subtract per second
- Syntax: Value
- $Section:
- Beams are made up of up to five sections layered atop one another to create the effect. Each section has its own parameters.
- +Width:
- Width of the section
- Syntax: Value (meters)
- +Texture:
- Texture for the section
- Syntax: Filename
- +RGBA Inner:
- Defines the color and transparency of the center of the section
- Syntax: Value Value Value Value, (Red, Green, Blue, and 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
- Syntax: Value Value Value Value, (Red, Green, Blue, and Alpha respectively, value from 0 to 255)
- Example: 150 150 150 10
- +Flicker:
- Defines how much the section flickers
- Syntax: Value, value from 0 to 1
- +Zadd:
- Defines the 'thickness' of the section. The higher the Zadd, the closer the section appears to be.
- Syntax: Value
Flak Cannons
- Special case weapons.
- REQUIRE: "flak" and "particle spew" flags
- Must have inner and outer radius defined to have any effect.
- Does not use any model or weapon effect though model must be defined, usually Hornet.pof. Instead it uses particle spew.
Retail FS2 - Weapon Flags
"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
"stream"
- Gives this weapon a streaming effect. In effect weapon keeps firing when firing button is kept pressed.
"puncture"
- Reduces hull damage by 25%
"shudder"
- Makes your ship shudder while you're firing it
"esuck"
- Drains the target's energy banks
- Can be defined with Leech Weapon and Leech Afterburner
"particle spew"
- Makes the weapon projectile spew out particles
- Can be defined with Particle Spew parameters
"beam"
- Makes this weapon a beam cannon
"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
"Flak"
- Makes this weapon a flak gun
"Corkscrew"
- Makes this weapon spiral AND swarm 4.
- Can be defined with Corkscrew parameters
"Lockarm"
- Requires a target lock in order to arm its warhead
"Bomber+"
- The AI will prefer to use this weapon against bombers.
"Spawn Name,Value"
- Will spawn the specified number of missiles named upon detonation.
"Remote Detonate"
- Can be triggered remotely via a second press on the trigger
"Bomb"
- Makes this weapon targetable with the B key, and the AI prefers to use it against large ships
"No Dumbfire"
- Missile will not fire without a lock
"EMP"
- This weapon will have an EMP effect on any ship within the blast radius
- Can be defined with EMP Intensity and EMP Time
"Electronics"
- Will seize up the weapons and engines systems of any ship of cruiser class or below for a short period of time
"child"
- Cannot be set as a weapon on any ship, but is instead a child of a weapon. Usually defined with "Spawn Name,Value"
"Ballistic"
- Defines the weapon as a ballistic weapon that needs ammunition.
"no Pierce shields"
- Prevents beams from piercing shields causing shields to be damaged by beams first.
"same turret cooldown"
- Forces the turrets to fire on the designated rate of fire on all difficulty levels
Countermeasures
- Usually not altered. Only one can exist
$Name:
- Name of the countermeasure
- Syntax: Name, usually Type One
$Velocity:
- Defines the spped of the countermeasure, relative to the ship.
- Syntax: Value, (meter per second)
$Fire Wait:
- Definies the minumum time between the countermeasure launches
- Syntax: Value, (seconds)
Lifetime
- Countermeasure's life time is defined between with minimum and maximum lifetime
- $Lifetime Min:
- Syntax: Value, (seconds)
- $Lifetime Max:
- Syntax: Value, (seconds)
$LaunchSnd:
- Defines the sound for the countermeasure launch
- Syntax: Value, refers to sounds.tbl
$Model:
- Defines the used model file (.pof)
- Syntax: Filename.pof, usually cmeasure01.pof