@kayahr/ed-journal
Version:
Typescript library to read/watch the player journal of Frontier's game Elite Dangerous
78 lines (77 loc) • 2.66 kB
TypeScript
import type { JournalEvent } from "../../JournalEvent.ts";
import type { ID } from "../types/ID.ts";
/**
* Written at startup when loading from main menu, when switching ships, after changing the ship in outfitting or
* when docking SRV back in mothership.
*/
export interface Loadout extends JournalEvent<"Loadout"> {
/** Current ship type. */
Ship: string;
/** Ship ID number. */
ShipID: ID;
/** User-defined ship name. */
ShipName: string;
/** User-defined ship ID string. */
ShipIdent: string;
HullValue?: number;
ModulesValue?: number;
HullHealth?: number;
/** Mass of hull and modules, excludes fuel and cargo. */
UnladenMass?: number;
FuelCapacity?: {
Main: number;
Reserve: number;
};
CargoCapacity?: number;
/** Maximum jump range based on zero cargo, and just enough fuel for 1 jump. */
MaxJumpRange?: number;
Rebuy?: number;
/** If wanted at startup. */
Hot?: boolean;
/** Array of installed items. */
Modules: Array<{
Slot: string;
/** Module name. */
Item: string;
/** Indicates if module is on or off. */
On: boolean;
/** Power priority. */
Priority: number;
Health: number;
Value?: number;
/** For a passenger cabin, holds the number of places in the cabin. */
AmmoInClip?: number;
AmmoInHopper?: number;
/** Set if module is engineered. */
Engineering?: {
/** The ID of the applied blueprint. */
BlueprintID: ID;
/** The name of the applied blueprint. */
BlueprintName: string;
/** The name of the engineer. */
Engineer?: string;
/** The ID of the engineer. */
EngineerID: ID;
/** The experimental effect if applied. */
ExperimentalEffect?: string;
/** Localised name of applied experimental effect. */
ExperimentalEffect_Localised?: string;
/** The engineering level. */
Level: number;
Modifiers: Array<{
Label: string;
LessIsGood?: number;
OriginalValue?: number;
Value?: string | number;
Value_Localised?: string;
ValueStr?: string;
ValueStr_Localised?: string;
}>;
Quality: number;
};
/** Replaced by Engineering object in newer version. */
EngineerBlueprint?: string;
/** Replaced by Engineering object in newer version. */
EngineerLevel?: number;
}>;
}