DotNet.Ships.Class.BuildMetrics - Elite-Dangerous-Almanac/Almanac-Core GitHub Wiki
EliteDangerousAlmanac / Ships / BuildMetrics
Defined in: dotnet/src/EliteDangerousAlmanac/Ships/BuildMetrics.cs:195
Every figure a fitted build can be asked for.
What the fitted systems do with the power, the heat and the shots.
A view holds the build rather than copying it, so a later edit is visible to every call that follows. What the build already carries — its mounts, its aggregate figures and its editors — stays on the build itself.
Every member is a method, because each one computes from the build state rather than reading a fact the fit already holds.
Loadout:
ShipLoadout
Defined in: dotnet/src/EliteDangerousAlmanac/Ships/BuildMetrics.cs:212
The build this view reads.
ArmourMetrics():
ArmourMetrics
Defined in: dotnet/src/EliteDangerousAlmanac/Ships/BuildMetrics.Systems.cs:175
The build's armour.
The hull points, what the bulkhead and each reinforcement contribute, and the effective resistances.
BuildCost():
BuildCost
Defined in: dotnet/src/EliteDangerousAlmanac/Ships/BuildMetrics.cs:426
Prices the whole build from the catalogues.
The shop credits, the Merc Coin and the engineering materials the modifications consume. The module price, the total and the rebuy are lower bounds while anything is unpriced. A built-in hull fitting is free rather than unpriced.
No modification is charged twice. A Mercenary article arrives at the grade it was sold at, so only the climb above that grade bills materials and further Merc Coin, and an experimental effect the article came with is free while one added on top is not.
BuildMass(
load?):BuildMass
Defined in: dotnet/src/EliteDangerousAlmanac/Ships/BuildMetrics.cs:400
Weighs the hull, the fitted modules and the load on top of them.
BuildLoad? = null
The fuel and the cargo. Omit it for a full tank and an empty hold.
The breakdown, every figure in tonnes.
Every module's mass is post-engineering, so a lightweight roll is already counted. The reserve tank is not counted: the main tank is the fuel the drive and the flight model see, and it is what the jump and the mobility calculations weigh.
ArgumentOutOfRangeException
The fuel or the cargo is not a finite figure of zero or more.
CellBanks():
CellBankSummary
Defined in: dotnet/src/EliteDangerousAlmanac/Ships/BuildMetrics.Systems.cs:164
Every fitted shield cell bank and the pool a rearmed set of them restores.
The banks in the hull's mount order, and the totals. Every fitted bank is listed, and each says whether it is switched on and whether its power band is fed with the hardpoints deployed. The totals count the powered banks alone, so a build whose plant is off or outdrawn reports every bank unpowered and no pool at all.
DistributorMetricsResult(
pips?):CalculationResult<DistributorMetrics>
Defined in: dotnet/src/EliteDangerousAlmanac/Ships/BuildMetrics.Systems.cs:255
The build's power distributor at one allocation.
DistributorPips? = null
The pips fed to each of the three capacitors. Omit it for a full allocation to each.
CalculationResult<DistributorMetrics>
The distributor figures, or the fitted distributor's state: missing when none is fitted, disabled when it is switched off, shed when the retracted budget does not feed it, and unresolved when its record states less than all six capacitor figures.
ArgumentOutOfRangeException
An allocation is outside zero through four.
FrameShiftDrive():
FrameShiftDriveParams
Defined in: dotnet/src/EliteDangerousAlmanac/Ships/BuildMetrics.cs:220
The fitted drive's constants, post-engineering.
The constants, with any fitted jump booster folded into the jump bonus.
InvalidOperationException
The build has no frame shift drive, or the fitted drive states none of the constants a jump needs.
FrameShiftDriveMassFactor(
load?):double
Defined in: dotnet/src/EliteDangerousAlmanac/Ships/BuildMetrics.cs:251
The drive's dimensionless mass factor at one load.
BuildLoad? = null
The fuel and the cargo. Omit it for a full tank and an empty hold.
double
The optimised mass over the loaded mass: one at the drive's optimised mass, below one above it and above one below it.
This is the mass term the jump equation uses rather than the three-point curve the thrusters and the shield generators use. The main-tank fuel joins the loaded mass, and a jump booster's additive range does not reach the factor.
InvalidOperationException
The build has no usable frame shift drive.
ArgumentOutOfRangeException
The fuel or the cargo is not a finite figure of zero or more.
FuelPerJump(
distance,load?):double
Defined in: dotnet/src/EliteDangerousAlmanac/Ships/BuildMetrics.cs:294
The fuel one jump of a stated distance costs.
double
The jump distance, in light-years.
BuildLoad? = null
The fuel and the cargo. Omit it for a full tank and an empty hold.
double
The fuel used, in tonnes, capped at what the drive burns in one jump.
InvalidOperationException
The build has no usable frame shift drive.
ArgumentOutOfRangeException
The fuel or the cargo is not a finite figure of zero or more.
HeatMetricsResult():
CalculationResult<HeatMetrics>
Defined in: dotnet/src/EliteDangerousAlmanac/Ships/BuildMetrics.Systems.cs:47
The build's heat.
CalculationResult<HeatMetrics>
The heat figures, or the state of the fitted power plant that stopped them: missing when none is fitted, disabled when it is switched off, and unresolved when its record states no heat efficiency.
JumpRangeAt(
load?):double
Defined in: dotnet/src/EliteDangerousAlmanac/Ships/BuildMetrics.cs:274
The range of one jump at a chosen load.
BuildLoad? = null
The fuel and the cargo. Omit it for a full tank and an empty hold.
double
The jump's range, in light-years.
InvalidOperationException
The build has no usable frame shift drive.
ArgumentOutOfRangeException
The fuel or the cargo is not a finite figure of zero or more.
JumpRangeSummary():
JumpRangeSummary
Defined in: dotnet/src/EliteDangerousAlmanac/Ships/BuildMetrics.cs:375
Every jump figure at once: the best, the unladen, the laden, and each total.
The summary. Each single jump and each total's range is in light-years.
For a load of a caller's own, ask for one jump or for every jump at the fuel and the cargo actually carried.
InvalidOperationException
The build has no usable frame shift drive, so no standard load can be weighed.
LadenJumpRange():
double
Defined in: dotnet/src/EliteDangerousAlmanac/Ships/BuildMetrics.cs:284
The range of one jump on a full tank with a full hold.
double
The jump's range, in light-years.
InvalidOperationException
The build has no usable frame shift drive.
MaxJumpRange():
double
Defined in: dotnet/src/EliteDangerousAlmanac/Ships/BuildMetrics.cs:261
The best single jump: no cargo, and one jump's fuel aboard.
double
The range in light-years. A capture stating an empty main tank jumps nowhere.
InvalidOperationException
The build has no usable frame shift drive.
MobilityCapacitorMetricsResult(
load?,enginesPips?):CalculationResult<MobilityCapacitorMetrics>
Defined in: dotnet/src/EliteDangerousAlmanac/Ships/BuildMetrics.Systems.cs:86
The build's engines capacitor at one load and one allocation.
BuildLoad? = null
The fuel and the cargo. Omit it for a full tank and an empty hold.
double = 4
The pips fed to the engines capacitor, from zero through four. Four reproduces the mobility figures exactly.
CalculationResult<MobilityCapacitorMetrics>
The capacitor figures, or the same states the mobility figures report, the two reading one build.
ArgumentOutOfRangeException
The fuel or the cargo is not a finite figure of zero or more, or the allocation is outside zero through four.
MobilityMetricsResult(
load?):CalculationResult<MobilityMetrics>
Defined in: dotnet/src/EliteDangerousAlmanac/Ships/BuildMetrics.Systems.cs:64
The build's speed and handling at one load.
BuildLoad? = null
The fuel and the cargo. Omit it for a full tank and an empty hold.
CalculationResult<MobilityMetrics>
The mobility figures, or the input or fitted-module state that stopped them.
ArgumentOutOfRangeException
The fuel or the cargo is not a finite figure of zero or more.
staticOf(build):BuildMetrics
Defined in: dotnet/src/EliteDangerousAlmanac/Ships/BuildMetrics.cs:208
Attaches a metrics view to a build.
The build to read.
The view.
ArgumentNullException
build is null.
PowerBudget():
PowerBudget
Defined in: dotnet/src/EliteDangerousAlmanac/Ships/BuildMetrics.Systems.cs:25
The build's power budget.
What the plant makes, what the modules draw with the hardpoints retracted and deployed, and which power bands stay lit. The consumers are the modules that draw something, so a passive or a zero-draw fitting is absent.
Draws are post-engineering, a module switched off in the capture is skipped, and a weapon — with the utility fittings that are not always powered — counts towards the deployed total alone.
ArgumentOutOfRangeException
A power capacity or a module draw is negative or not a finite figure.
ShieldCapacitorMetricsResult(
systemsPips?):CalculationResult<ShieldCapacitorMetrics>
Defined in: dotnet/src/EliteDangerousAlmanac/Ships/BuildMetrics.Systems.cs:123
The build's systems capacitor and the resistance it buys.
double = 4
The pips fed to the systems capacitor, from zero through four. Four is a full capacitor, which is the condition the game's own panel quotes. Zero is the bare shield, whose effective figures then equal the shield figures.
CalculationResult<ShieldCapacitorMetrics>
The capacitor figures, or the shield states plus an unresolved distributor whose record states no systems capacity or recharge.
ArgumentOutOfRangeException
The allocation is outside zero through four.
ShieldMetricsResult():
CalculationResult<ShieldMetrics>
Defined in: dotnet/src/EliteDangerousAlmanac/Ships/BuildMetrics.Systems.cs:101
The build's bare shields, which take no pips.
CalculationResult<ShieldMetrics>
The shield figures, or the input or fitted-module state that stopped them.
ShieldRecoveryResult(
systemsPips?):CalculationResult<ShieldRecoveryMetrics>
Defined in: dotnet/src/EliteDangerousAlmanac/Ships/BuildMetrics.Systems.cs:146
The time the build's collapsed shield takes to come back.
double = 4
The pips fed to the systems capacitor, from zero through four, which feed the recovery. Four is the condition the game reports a recovery at.
CalculationResult<ShieldRecoveryMetrics>
The recovery figures, or the input or fitted-module state that stopped them.
ArgumentOutOfRangeException
The allocation is outside zero through four.
StandardLoadResult(
load):CalculationResult<StandardLoadFigures>
Defined in: dotnet/src/EliteDangerousAlmanac/Ships/BuildMetrics.cs:323
Resolves one of the standard loads the jump and the mobility views quote.
Which standard load to weigh.
CalculationResult<StandardLoadFigures>
The fuel and the cargo carried, and what the ship weighs carrying them, all in tonnes. Only the maximum load can come back incomplete: it reads the whole fitted drive, the jump booster included, so a complete one can be passed straight to a jump calculation.
Thrusters():
ThrusterParams?
Defined in: dotnet/src/EliteDangerousAlmanac/Ships/BuildMetrics.cs:233
The fitted thrusters' post-engineering mass curve.
The curve, or null where no thrusters are fitted or the fitted record carries no complete curve.
This is the fitted article's own curve, so a switched-off or a shed thruster still has one. What the build can do with it is the mobility metric's judgement.
TotalRange(
load?):TotalRangeDetails
Defined in: dotnet/src/EliteDangerousAlmanac/Ships/BuildMetrics.cs:309
The summed range and the jumps a chosen load produces.
BuildLoad? = null
The fuel and the cargo. Omit it for a full tank and an empty hold.
The summed range in light-years, and the jumps made before the tank empties.
InvalidOperationException
The build has no usable frame shift drive.
ArgumentOutOfRangeException
The fuel or the cargo is not a finite figure of zero or more, or the fuel would take more jumps than the calculation counts.
WeaponMetrics():
BuildWeaponMetrics
Defined in: dotnet/src/EliteDangerousAlmanac/Ships/BuildMetrics.Systems.cs:184
The build's firepower.
Every fitted weapon with its own figures, and the totals across the enabled ones. Every figure is post-engineering. A weapon switched off in the capture is still listed, with its own figures, and joins no total.
WeaponsCapacitorMetrics(
weaponsPips?):WeaponsCapacitorMetrics
Defined in: dotnet/src/EliteDangerousAlmanac/Ships/BuildMetrics.Systems.cs:234
The weapons capacitor while every powered weapon fires.
double = 4
The pips fed to the weapons capacitor, from zero through four.
The recharge, the sustained draw, the net drain and the seconds from full to empty. The deployed power budget reaches the distributor and the weapons, so a module the plant sheds contributes nothing. With no powered distributor the capacity and the recharge are zero, and a load that draws no more than the recharge never empties.
ArgumentOutOfRangeException
The allocation is outside zero through four.