ships
This page is a work in progress!
There may be missing, incomplete or incorrect information on this page as it's still being built! Take information here with a pinch of salt, and feel free to contribute and correct things!
Overview
Although shiparch.ini
and rtc_shiparch.ini
are listed as having configurable locations in freelancer.ini
, ships used by NPCs must be in the default shiparch.ini
file or crashes may occur.
Vanilla Examples
DATA\SHIPS\shiparch.ini
DATA\SHIPS\rtc_shiparch.ini
Ship Handling
Ship handling is dictated by several keys found in the [Engine]
block from equipment, as well as keys attributed to the [Ship]
entry itself. The mass
of a ship attenuates any change in speed and influences behaviour when colliding with other objects. rotation_inertia
operates in much the same manner, but for turning.
rotation_inertia
should typically be between 10 to 20% of angular_drag
to avoid strange behaviour from the autopilot.
Where linear_drag
= the sum of engine and ship linear_drag
values:
†Value is defined in an equipment entry.
Syntax
Simple
[Simple]
nickname = STRING
DA_archetype = PATH
material_library = PATH ;repeatable
LODranges = INT, INT, ...
MinSpecLOD = INT
Parameter | Information |
---|---|
nickname | How this simple object is referenced elsewhere in the game's files. |
DA_archetype | The path to the archetype model to use for the simple. Typically a .3db or .cmp file. |
material_library | The path to a material library (.mat) file that the DA_archetype uses. Missing .mat files will cause the ship, or parts of the model to render inconsistently. |
ScreenReset | |
LODranges | |
MinSpecLOD |
Ship
[Ship]
ids_name = INT
ids_info = INT
ids_info1 = INT
ids_info2 = INT
ids_info3 = INT
ship_class = INT
nickname = STRING
LODranges = INT, INT, ...
msg_id_prefix = STRING
mission_property = STRING
type = STRING
mass = INT
hold_size = INT
linear_drag = INT
fuse = STRING, FLOAT, FLOAT ;repeatable
max_bank_angle = INT
camera_offset = INT, INT
camera_angular_acceleration = FLOAT
camera_horizontal_turn_angle = INT
camera_vertical_turn_up_angle = INT
camera_vertical_turn_down_angle = INT
camera_turn_look_ahead_slerp_amount = INT
nanobot_limit = INT
shield_battery_limit = INT
hit_pts = INT
DA_archetype = PATH
material_library = PATH ;repeatable
envmap_material = STRING
cockpit = PATH
pilot_mesh = STRING
explosion_arch = STRING
surface_hit_effects = INT, STRING, STRING, STRING
steering_torque = INT, INT, INT
angular_drag = INT, INT, INT
rotation_inertia = INT, INT, INT
nudge_force = INT
strafe_force = INT
strafe_power_usage = INT
bay_door_anim = STRING
bay_doors_open_snd = STRING
bay_doors_close_snd = STRING
HP_bay_surface = STRING
HP_bay_external = STRING
num_exhaust_nozzles = INT
HP_tractor_source = STRING
shield_link = STRING, STRING, STRING
hp_type = STRING, STRING ;repeatable
Parameter | Information |
---|---|
ids_name | The string ID name of the ship. |
ids_info | The stat description text used in the ship dealer. |
ids_info1 | The 'flavour text' used in a ship's description. |
ids_info2 | The stats 'fields' used in the ship infobox when examining it outside the ship dealer. In vanilla this value is typically 66608 |
ids_info3 | The stats 'numbers' used in the ship infobox when examining it outside the ship dealer. |
ship_class | A value between 0 and 3. Determines the ship class displayed in the dealer where 0 = 'Light Fighter', 1 = 'Heavy Fighter', 2 = 'Freighter', 3 = 'Very Heavy Fighter' and 4 = |
nickname | The internal nickname of the ship, i.e. how this will be referred to elsewhere in the game's INI files. |
LODranges | |
msg_id_prefix | References an ID prefix such as 'Liberty Heavy Fighter' for use when stations/other ships are hailing one another. These entries are typically found within voices, with the sound files themsevles contained within binary UTF files. |
mission_property | Determines what the ship is able to dock to. Valid options seem to be can_use_berths (Which allows the ship to use docking rings), can_use_med_moors and can_use_large_moors . |
type | Seems to influence NPC attack_preference values in pilots_population.ini. There are also suggestions that this influences NPC behaviour when in formation. Observed values are FIGHTER , FREIGHTER , TRANSPORT , CAPITAL , GUNBOAT and CRUISER . |
mass | The mass of the ship. This value attenuates any changes in speed that the ship makes. A higher value results in greater attenuation. |
hold_size | The cargo size of the ship. |
linear_drag | 'Drag' applied to the ship when you are moving. linear_drag on the ship applies even when in engine kill mode. |
fuse | A fuse applied to the ship. Values here are typically a fuse , a delay in seconds and a hit_pts threshold for the fuse to trigger. |
max_bank_angle | The maximum bank angle permitted when turning. This value is defined in degrees. |
camera_offset | Y and Z axis of the camera offset from 0 for the ship. |
camera_angular_acceleration | |
camera_horizontal_turn_angle | |
camera_vertical_turn_up_angle | |
camera_vertical_turn_down_angle | |
camera_turn_look_ahead_slerp_amount | |
nanobot_limit | Determines the maximum number of Nanobots a ship can carry. |
shield_battery_limit | Determines the maximum number of Shield Batteries a ship can carry. |
hit_pts | Determines the ship's maximum hit points. |
DA_archetype | The path to the archetype model to use for the ship. Typically a .3db or .cmp file. |
material_library | The path to a material library (.mat) file that the DA_archetype uses. Missing .mat files will cause the ship, or parts of the model to render inconsistently. |
envmap_material | Cubemap texture to use for the model. Vanilla entries almost always use envmapbasic |
cockpit | Path to a Cockpit ini entry. Determines the properties of the ship's cockpit when in first-person view. |
pilot_mesh | References a [Simple] block to attach at the HpPilot hardpoint. |
explosion_arch | Defines the explosion used when the ship is destroyed. |
surface_hit_effects | A damage amount threshold followed by a list of possible visual effects to use when the ship's hull takes damage. |
steering_torque | |
angular_drag | 'Drag' when turning, determines the rate of acceleration when turning from zero velocity to maximum permitted. |
rotation_inertia | |
nudge_force | |
strafe_force | |
strafe_power_usage | |
bay_door_anim | The animation in the model file to use when opening and closing the cargo bay doors. |
bay_doors_open_snd | The sound played when opening the bay doors. |
bay_doors_close_snd | The sound played when closing the bay doors. |
HP_bay_surface | A hardpoint denoting the location of the bay doors. Typically this is used for the purposes of animations. |
HP_bay_external | A hardpoint denoting the location of the bay doors. Typically this is used for the purposes of animations. |
num_exhaust_nozzles | Determines the number of 'HpEngine' hardpoints to use when attaching engine effects to the ship. |
HP_tractor_source | The hardpoint source for the tractor beam effect when it is played. |
shield_link | Defines the shield bubble to use for the ship. Links to a [Shield] entry, followed by a hardpoint to center the bubble on, and the [ShieldGenerator] mount hardpoint. |
hp_type | Determines the 'classes' of hardpoints set on the ship. This is typically a hardpoint class (i.e. hp_gun_special_1 , followed by a list of hardpoints to apply this class to. Hardpoints can have multiple classes assigned to them.) |
CollisionGroup
[CollisionGroup]
obj = STRING
separable
parent_impulse = INT ;optional
child_impulse = INT ;optional
dmg_hp = STRING ;optional
dmg_obj = STRING ;optional
fuse = STRING, INT, INT ;optional
group_dmg_hp = STRING ;optional
group_dmg_obj = STRING ;optional
mass = INT
debris_type = STRING
separation_explosion = STRING
type = STRING
hit_pts = INT
root_health_proxy = BOOL
explosion_resistance = FLOAT ;optional
linked_equip = STRING, FLOAT ;optional
Parameter | Information |
---|---|
obj | References a [Simple] block defined elsewhere in the Shiparch file. |
separable | Typically defined as a key with no values. When present this allows the CollisionGroup to seperate from the ship under certain conditions. |
parent_impulse | |
child_impulse | |
dmg_hp | |
dmg_obj | References a [Simple] object to use in this CollisionGroup . |
mass | The mass of the CollisionGroup. This value attenuates any changes in speed that the CollisionGroup makes. A higher value results in greater attenuation. |
fuse | |
group_dmg_hp | |
group_dmg_obj | |
debris_type | |
separation_explosion | The explosion to use when this object is seperated from it's parent. |
type | |
hit_pts | The amount of hitpoints this collision group has. |
root_health_proxy | Decides whether any damage applied to this collision group is also applied to the root object, too. true applies the damage to the root object, false does not forward the damage and keeps it just to this group. |
explosion_resistance | Defines a factor by which damage caused by explosions is multiplied. Defaults to 1. 0 means no explosion damage is applied ever. |
linked_equip | When this collision group is being destroyed, it causes damage to a type of equipment on the ship. The first entry accept a defined set of equipment types, which are: scanner, engine, weapon, shield, thruster, power, light, tractor, attached_fx, internal_fx, tradelane, repairdroid, cloaking_device, armor |