Subsystem

From FreeSpace Wiki
Revision as of 08:09, 14 February 2011 by VA (talk | contribs) ($Flags:: - added new "no aggregate" flag)
Jump to: navigation, search

Revision information.....

SVN revision: 6921
Note: Please update the version number when the page is updated. If your edit had nothing to do with new code entries then please do not edit the version numbers


  • All subsystems ship can have must be defined in ships model file (.pof).


FS2 Open 3.6.10:
  • Animation Code can be applied to the subsystems that consist of submodels, like multi-part turrets.


$Subsystem:

  • The name of the subsystem as defined in .pof file, % of ship's total hitpoints the subsystem has and rotation time (360 degrees) for multi-part turrets. Note: Assinging zero to the %-hitpoint entry causes the subsystem to be without hitpoints, like fighterbays on some capital ships.
  • Syntax: String, Float, Float, name of the subsystem followed by the subsystem hitpoints as % of ships hitpoints and seconds per 360 degree turn. Subsystem name must be the same as described in model file (.pof).
FS2 Open 3.6.10:
  • Entries can be left empty in which case game uses default values
  • Example: communications, 5, 0.0


$Alt Subsystem Name:

FS2 Open 3.6.10:
  • Defines the alternate name for the subsystem. This name is shown for example in the targeting window when subsystem is targeted.
  • Syntax: String
FS2 Open, 3.6.12:
  • Option to use pipe character '|' to force line breaks into the alt subsystem name


$Alt Damage Popup Subsystem Name:

FS2 Open, 3.6.12:
  • Defines the alternate name for the subsystem when it is displayed on the damaged systems popup.
  • Syntax: String


$Armor Type:

FS2 Open 3.6.10:
  • REQUIRES ADDITIONAL TABLE. Defines armor type used for the subsystem. If subsystem armor type is not defined ships armor type is used instead.
  • Syntax: String, as defined in armor.tbl


$Default PBanks:

  • Defines default primary weapon for the turret
  • Syntax: ( "String" )
    • Example: ( "Subach HL-7" )


$PBank Capacity:

FS2 Open 3.6.10:
  • Defines ammunition capacity of turrets ballistic primary weapon.
  • Syntax: ( Integer )


$Default SBanks:

  • Defines default secondary weapon for the turret
  • Syntax: ( "String" )


$SBank Capacity:

  • Defines ammunition capacity of turrets secondary weapon.
  • Syntax: ( Integer )


$Engine Wash:

  • All engines may use information concerning the engine wash. Engine washes are usually used only with larger vessels.
  • Syntax: String, name as defined in Engine Wash section in ships.tbl
    • Example: Default1000


$AliveSnd:

FS2 Open 3.6.10:
  • Specifies a sound to play from the subsystem while it is not destroyed.
  • Syntax: Integer or String, name or identification number of the sound as defined in sounds.tbl


$DeadSnd:

FS2 Open 3.6.10:
  • Specifies a sound to play from the subsystem while it is destroyed.
  • Syntax: Integer or String, name or identification number of the sound as defined in sounds.tbl


$RotationSnd:

FS2 Open 3.6.10:
  • Does nothing for now
  • Syntax: Integer or String, name or identification number of the sound as defined in sounds.tbl


$Turret Base RotationSnd:

FS2 Open, 3.6.12:
  • Defines the sound which is played when the turrets base rotates
  • Syntax: Integer or String, name or identification number of the sound as defined in sounds.tbl


$Turret Gun RotationSnd:

FS2 Open, 3.6.12:
  • Defines the sound which is played when the turrets guns change their elevation
  • Syntax: Integer or String, name or identification number of the sound as defined in sounds.tbl


$Turret BaseSnd Volume:

FS2 Open, 3.6.12:
  • Defines the multiplier for the sound volume for turret base rotations
  • Syntax: Float


$Turret GunSnd Volume:

FS2 Open, 3.6.12:
  • Defines the multiplier for the sound volume for turret guns change their elevation
  • Syntax: Float


$AWACS:

  • Sets this subsystem's effective AWACS range. (AWACS reveals stealthed ships, cuts through nebula fog.)
  • Syntax: Float, the maximum range of the AWACS


$Maximum Barrel Elevation:

FS2 Open, 3.6.12:
  • Defines the maximum barrel elevation for the turret
  • Basically 'inverse FOV'.
  • Syntax: Integer, from 0 to 90


$Turret Base FOV:

FS2 Open, 3.6.12:
  • Defines the FOV of the turret's base.
  • Syntax: Integer, from 0 to 359


$Turret Reset Delay:

FS2 Open, 3.6.12:
  • Defines the time after losing the target before the turret begins to reset itself
  • Syntax: Integer, in milliseconds


$Turret Optimum Range:

FS2 Open, 3.6.12:
  • Defines the optimum range for the turret
  • Syntax: Float


$Turret Direction Preference:

FS2 Open, 3.6.12:
  • Defines the turrets preference to keep targeting targets based how far the turret should turn instead of nearest target
  • The higher the value the higher the preference to keep targeting targets close to previous targets direction
  • Syntax: Integer, from 0 to 100, 0 disables the preference setup


$Target Priority:

FS2 Open, 3.6.12:
  • Defines the target priorities, and their order for the turret
  • Syntax: String list


$ROF:

FS2 Open, 3.6.14:
  • Defines the modifier applied to the turret rate of fire (ROF).

+Use firingpoints

  • Modifies (multiplies) the rate of fire by the number of firingpoints the turret has.

+Multiplier:

  • Checked only if +Use firingpoints has not been defined
  • If set to larger than 0 the value acts as multiplier
  • If set to 1.0 the feature is disabled
  • If set to equal to or smaller than 0 it as if +Use firingpoints option would have been enabled
  • Syntax: Float


$Flags:

FS2 Open 3.6.10:
  • Can be used to sets additional subsystem related properties
  • Syntax: ( "String" "String" )
  • List of available flags:

"untargetable"

  • Subsystem cannot be targeted

"carry no damage"

  • Damage caused to the subsystem will not carry over to the parent ship

"use multiple guns"

  • Enables the turret to fire all equipped weapons, picking a not-in-use firing point at each trigger. Not to be confused with 'Salvo mode'.

"fire down normals"

  • Forces the turret to fire along the turret normals - regardless of the swarm setting.

"check hull"

  • Forces the firing turret to check against the parent model if valid line of sight exists between the firingpoint and the target.


FS2 Open, 3.6.12:

"fixed firingpoints"

  • Forces the firing turret to retain the firingpoints of their weapons. Maximum number of weapons is the same as maximum number of weapons in turret (3 primary, 4 secondary)

"salvo mode"

  • Forces the firing turret to use only the first weapon defined for it but fires it simultaneously from all the firing points. Not to be confused with 'use multiple guns'

"no subsystem targeting"

  • Prevents the firing turret from targeting targets subsystems - instead forces the turret to fire randomly at the targets hull.

"fire on target"

  • Prevents the turret from firing unless the turret barrels (firingpoints) and targets are aligned.

"reset when idle"

  • Forces the turret to reset to its initial position if it has no targets.

"carry shockwave"

  • Forces the turret to carry damage caused by shockwaves to the hull regardless of other flags.


FS2 Open, 3.6.14:

"allow landing"

  • Defines the subsystem as something on which player can attempt to land on

"target requires fov"

  • Prevents turret from accidentally selecting target out of it field of view (fov) when acquiring targets

"fov edge checks"

  • If the predicted target point of the turret falls outside of the field of view this flag but according to ship radius and dot product the target should still be partially visible then this flag attempts to turn the turret to the edge of the FOV closest to the targeted position and allow it to fire along that direction.

"no replace"

  • Tells game not to use the replacement submodel (-destroyed) when the subsystem loses all of it's hitpoints.

"no live debris"

  • Prevents the subsystem from releasing live debris pieces when destroyed

"ignore if dead"

  • When subsystem has been destroyed prevents homing weapons from attempting to hit the now destroyed submodel and instead tells them to home on the main hull of the target

"allow vanishing"

  • Allow subsystem to be destroyed from the ship without sound or graphical effects

"damage as hull"

  • Treats subsystem as if it were hull when applying damage.

"starts locked"

  • Turret starts locked and won't shoot until you use a turret-free or turret-free-all SEXP on it.

"no aggregate"

  • Freespace keeps track of a ships overall functionality (such as if a ship is sensorless, disarmed or disabled) via a total hitpoint count of the associated subsystems. For example if a ship has three engines with 100HP each, the 'engines' count will be at 300HP. Shooting at any of the subsystems with the keyword 'engine' in them will decrement this total, and when it is at 0 then the ship becomes disabled.
  • This flag tells FS to ignore the associated subsystem and not count it towards those totals. For example, if a ship had three 100HP engines with one set to 'no aggregate' then the 'engines' count will be 200HP. Shooting the 'no aggregate' engine will not decrement the 'engines' count, and so in other words the status of this engine is irrelevant to whether or not the ship is disabled. In the same way when applied to a turret, the turret's status is irrelevant to whether the ship is disarmed or not.


Animation Code

FS2 Open 3.6.10:
  • Option for animating the submodels


Case Specific Entries

Turret

  • All turrets require information concerning the weapon mounted to the turret. The entry can be either $Default PBanks for turret primaries (including beams) or $Default SBanks for turret secondaries
FS2 Open 3.6.10:
  • Animation Code can be used with multi-part turrets.
  • Multiple defined weapons will all fire but the targetting is handled by the first weapon in the list. Multiple beams are not possible. All weapons alternate between the firingpoints of the turret so turrets do not need to have more than one weapon defined no matter how many barrels or firingpoints they have.

Example

$Subsystem: turret01, 1.0, 1.0
$Default PBanks: ( "Terran Turret" )


Engine

Example

$Subsystem: engine01, 5.0, 0.0
$Engine Wash: Default1000