Read the tables#
Paths below are relative to the selected macro element, not the file root. For example, properties/hull/@max is inside /macros/macro. These tables cover the main hull and connected-resource fields, not every field of every X4 class.
Example values were checked against the 9.00 base catalogs. A missing attribute does not mean zero: defaults.xml supplies some settings. One XML file does not prove the final value after all extensions and in-game equipment modifications.
Identity and classification#
| Path | Type | Purpose |
|---|---|---|
@name |
String ID | Unique macro name referenced by the index and ware |
@class |
Class ID | Definition class, such as ship_s; not a display name or merely model scale |
component/@ref |
Component ID | Model definition; change only when switching to another compatible component |
properties/identification/@name |
Text reference | Display name; for example {990001,1} using your own text ID |
properties/identification/@description |
Text reference | Description from a language file |
properties/identification/@makerrace |
Race ID | Manufacturer; not the current owner of a ship instance |
properties/purpose/@primary |
Category string | Primary purpose; does not itself create an AI order |
properties/ship/@type |
Ship type ID | For example fighter; separate from class |
For your own variant, keep the macro and ware names and descriptions consistent. Changing only one can produce different UI labels. See localization for text-reference syntax.
Hull, people and reserves#
| Hull macro path | Type / units | Elite 9.00 example and meaning |
|---|---|---|
properties/hull/@max |
Number, hull points | 1800: maximum hull, not shields |
properties/people/@capacity |
Integer, people | 2: capacity; the field does not hire crew |
properties/storage/@missile |
Integer, missiles | 0: missile storage, not cargo hold volume |
properties/storage/@deployable |
Integer, deployables | Deployable capacity; supplied through defaults in this example |
properties/storage/@countermeasure |
Integer, countermeasures | Separate countermeasure reserve; not container cargo volume |
Hull price belongs to the ware; shield properties belong to equipment. Increasing hull/@max does not repair a damaged instance. See the complete Elite hull patch.
The cargo hold belongs to a storage macro#
In the inspected Elite chain, con_storage01 references storage_arg_s_fighter_02_a_macro. Its properties/cargo/@max is 150 and properties/cargo/@tags is container. max is volume in cubic metres; the number of ware units also depends on the ware volume.
<diff>
<replace sel="/macros/macro[@name='storage_arg_s_fighter_02_a_macro']/properties/cargo/@max">300</replace>
</diff>Patch file path: assets/units/size_s/macros/storage_arg_s_fighter_02_a_macro.xml. Expected volume is 300 instead of 150; the container tag stays unchanged. This is not 300 units of every ware. A fictional ware of volume 2 cubic metres fits 150 units when no other cargo is present.
A storage patch affects every macro referencing that resource. For a hold exclusive to your variant, create and register a separate storage macro and change the new hull's reference. Increasing max alone does not allow other cargo types.
Mass and movement#
| Path | Type / example | Effect |
|---|---|---|
properties/physics/@mass |
Positive number; Elite uses 3.772 |
Engine-data mass; conversion to kilograms is not established here |
properties/physics/inertia/@pitch |
Numeric parameter | Pitch rotational inertia; yaw and roll are separate |
properties/physics/drag/@forward |
Numeric parameter | Forward motion resistance; not a direct speed in metres per second |
properties/physics/drag/@horizontal |
Numeric parameter | Lateral resistance; vertical and angular axes are separate |
properties/physics/accfactors/@forward |
Dimensionless multiplier | Forward acceleration adjustment; Elite uses 1.2 |
properties/physics/accfactors/@horizontal |
Dimensionless multiplier | Lateral acceleration adjustment; Elite uses 0.8 |
properties/jerk |
Settings block | Acceleration smoothing, not another engine force |
properties/steeringcurve/point |
Curve points | Steering changes across speed regimes |
Engine and thruster parameters live in other macros. Continue with types, units and an example in ship flight.
What to check after editing#
First check the path, exactly one selected node and the changed XML. Then compare a new game instance: maximum hull, people, cargo and movement with identical equipment. Check an existing save separately. This article's examples are not claimed as completed game tests.