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.

XML
<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.