Wing data.csv Overview

From Starsector Wiki
Jump to navigation Jump to search

Description

An entry in wing_data.csv is required for all fighter type ships. This is in addition to other things a ship needs, such as a .ship file and a ship_data.csv entry. The more commonly balance tweaked information is in the csv files while the less commonly edited information is in the .ship file.

Elements

id

Internal ID used to reference this fighter. Must match the id field in the ship_data.csv entry with an appended "_wing". For example the id of the broadsword fighter in ship_data.csv is "broadsword" so the id in the wing_data.csv is "broadsword_wing". Case sensitive. String

variant

Internal variant ID for this fighter. Must match the variantId element within a .variant file. For example the broadsword variant file broadsword_Fighter.variant contains element variantId with value "broadsword_Fighter". Case sensitive. String

tags

Primarily used by the autofit system to locate similar replacement weapons by providing a tiered grouping. Autofit would prefer higher numbers in the same grouping first and upgrade if possible. The vanilla groupings, where x is replaced with a number, are:

  • fighterX
  • interceptorX
  • bomberX
  • supportX

These are the tags that classify that the wings regarding automated ships.

  • auto_fighter: Allows ships with Automated Ship to equip these wings.
  • drone: This is used for autofit purposes if the variant has a drone wing, it will prefer to use wings with this drone tag.

There are tags that categorize the wings into 3 categories, this is just for UI display:

  • fighter
  • interceptor
  • bomber

Tags also help control which factions know a weapon and which blueprint packages it appears in. Some such tags include:

  • lowtech_bp
  • midline_bp
  • hightech_bp
  • base_bp (known to all factions, including player at start of game)
  • rare_bp (will appear as a standalone blueprint)
  • merc (used by mercenary fleets)

Tags help with how the fighter operate AI-wise:

  • rapid_reform - lagging wing members catch up more quickly
  • leader_no_swarm - leader will start a new attack run on reaching target
  • wingmen_no_swarm - wing members will keep their position in the wing on reaching target
  • match_leader_facing - wing members will not face towards target but will match wing leader
  • attack_at_an_angle - aim to pass near target instead of directly over it, based on weapon range
  • independent_of_carrier - combat won't end when only these are left on the field

For Reserve Deployment

  • rd_no_extra_craft: prevents Reserve Deployment from deploying extra extra wings when used.
  • rd_force_extra_craft (defunct): Allow Reserve Deployment to deploy extra wings when used (this used to be placed on bombers when the system did not allow bombers)
  • no_drop: Prevents from being salvaged or recovered (for built-in wings).
  • no_sell: Prevents markets from selling the wing.
  • restricted

The hist1t, hist2t, and hist3t tag means the historian can tell the player about the location of a blueprint with this weapon.

tier

According to Alex For weapons, higher tier means a lower chance of being available. For fighters, this isn't the case - there aren't enough fighters, i.e. there's no "Talon, but worse" and "Talon, but better" etc progression for each kind of fighter, so that didn't work very well. Instead, it just picks a couple of the available fighters for each autofit category.

com.fs.starfarer.api.impl.campaign.fleets.DefaultFleetInflater.java is a good place to look for the details; if you want specific behavior with regard to rarity etc, writing a custom one is probably the way to go. See also: CampaignPlugin.pickFleetInflater().

rarity

Impacts the availability of this wing in loot drops. Between 0 and 1. Typical values are null, which defaults to 0 with some entries being 0.5 or 0.25 with higher being rarer. Int

fleet pts

Abstract number denoting how powerful the ship is. Used for when two AI fleets clash in the campaign and for determining maximum total abstract fleet power for randomly generated fleet doctrines. Int

op cost

The cost in OP points to mount this fighter wing on a carrier. Int

formation

The formation the fighters should fly in. Allow types are listed in the Starsector API

BOX, CLAW, DIAMOND, V

range

Range the fighters may operate from their parent carrier. Due to the combat engine allowing some leeway this is effectively +1000 / -500 units. Typical fighter range is 4000. Can be set to 0. Int

attackRunRange

Range at which the fighters "should" attack. They may still fire before this range if their weapon permits it. A lower attackRunRange makes them do closer turnaround to their target. Int

attackPositionOffset

The relative position of this fighter wing in an attack run. Used to put fighters in front or behind other fighters. Lower numbers are closer to the front. Can be negative. Int

num

The number of fighters within the wing. Int

role

The role of the fighters in the game engine. Allowed types are listed in the Starsector API
  • ASSAULT: Depreciated, can still be used but no fancy changes.
  • BOMBER: Will return back to the carrier automatically when it runs out of ammo
  • FIGHTER: Default Wing AI. Will appear more often than the rest but not more than the interceptor.
  • INTERCEPTOR: Prefers to target missiles and other fighters first. Will also appear the most often in markets than the rest of the roles.
  • SUPPORT: Will stick close to its carrier and may only escort (through its engagement range) other allied ships.

role desc

Friendly concise player-facing description of this fighter's role. String

refit

Base time in seconds to replace a dead fighter. Also factors into the rearm time for a fighters with limited ammo weapons. Note that if the rearm time is less than the time it takes the fighters to return to the carrier then they can potentially respawn very quickly. Int

base value

The base value of the fighter wing in credits. Int

twelve empty elements

These are required for the format of the csv. Blank

number

Unknown use. Potentially similar to the ship_data.csv, impacts the sorting display of ships within a market. I.E. ships will be sorted based on hull size and then based on this number field. Int
Icon cross.png
At least two versions out of date. Last verified for version 0.9.1. Please refer to Version History and update this page.

Return to: Modding