@kayahr/ed-journal
Version:
Typescript library to read/watch the player journal of Frontier's game Elite Dangerous
150 lines (149 loc) • 4.81 kB
TypeScript
import type { JournalEvent } from "../../JournalEvent.ts";
/** Valid legal states. */
export type LegalState = "Clean" | "IllegalCargo" | "Speeding" | "Wanted" | "Hostile" | "PassengerWanted" | "Warrant";
/** Valid "Flags" bits. */
export declare const Flag: {
/** Docked oon a landing pad) */
DOCKED: number;
/** Landed on planet surface. */
LANDED: number;
LANDING_GEAR_DOWN: number;
SHIELDS_UP: number;
SUPERCRUISE: number;
FLIGHT_ASSIST_OFF: number;
HARDPOINTS_DEPLOYED: number;
IN_WING: number;
LIGHTS_ON: number;
CARGO_SCOOP_DEPLOYED: number;
SILENT_RUNNING: number;
SCOOPING_FUEL: number;
SRV_HANDBRAKE: number;
SRV_TURRET_VIEW: number;
SRV_TURRET_RETRACTED: number;
SRV_DRIVE_ASSIST: number;
FSD_MASS_LOCKED: number;
FSD_CHARGING: number;
FSD_COOLDOWN: number;
/** Fuel lower than 25%. */
LOW_FUEL: number;
/** Heat over 100% */
OVERHEATING: number;
HAS_LAT_LONG: number;
IS_IN_DANGER: number;
BEING_INTERDICTED: number;
IN_MAIN_SHIP: number;
IN_FIGHTER: number;
IN_SRV: number;
ANALYSIS_MODE: number;
NIGHT_VISION: number;
/**
* If set, the altitude value is based on the planet’s average radius (used at higher altitudes).
* If not set, the Altitude value is based on a raycast to the actual surface below the ship/srv.
*/
ALTITUDE_FROM_AVERAGE_RADIUS: number;
FSD_JUMP: number;
SRV_HIGH_BEAM: number;
};
export type Flag = typeof Flag[keyof typeof Flag];
/** Valid "Flags2" bits. */
export declare const Flag2: {
ON_FOOT: number;
/** Or dropship/shuttle. */
IN_TAXI: number;
/** In someone else's ship. */
IN_MULTICREW: number;
ON_FOOT_IN_STATION: number;
ON_FOOT_ON_PLANET: number;
AIM_DOWN_SIGHT: number;
LOW_OXYGEN: number;
LOW_HEALTH: number;
COLD: number;
HOT: number;
VERY_COLD: number;
VERY_HOT: number;
GLIDE_MODE: number;
ON_FOOT_IN_HANGAR: number;
ON_FOOT_SOCIAL_SPACE: number;
ON_FOOT_EXTERIOR: number;
BREATHABLE_ATMOSPHERE: number;
TELEPRESENCE_MULTICREW: number;
PHYSICAL_MULTICREW: number;
FSD_HYPERDRIVE_CHARGING: number;
};
export type Flag2 = typeof Flag2[keyof typeof Flag2];
/** Valid GUI focus values. */
export declare const GuiFocus: {
NO_FOCUS: number;
/** Right hand side. */
INTERNAL_PANEL: number;
/** Left hand side. */
EXTERNAL_PANEL: number;
COMMS_PANEL: number;
ROLE_PANEL: number;
STATION_SERVICES: number;
GALAXY_MAP: number;
SYSTEM_MAP: number;
ORRERY: number;
FSS_MODE: number;
SAA_MODE: number;
CODEX: number;
};
export type GuiFocus = typeof GuiFocus[keyof typeof GuiFocus];
/**
* Some information about the current state of the game written every few seconds to the file 'Status.json' in the
* journal directory.
*
* The latitude or longitude need to change by 0.02 degrees to trigger an update when flying, or by 0.0005 degrees
* when in the SRV.
*/
export interface Status extends JournalEvent<"Status"> {
/** Multiple flags encoded as bits in an integer. */
Flags: number;
/** More flags, mainly for when on foot. */
Flags2?: number;
/** An array of 3 integers (0-8) representing energy distribution (in half-pips) */
Pips?: [number, number, number];
/** The currently selected firegroup number. */
FireGroup?: number;
/** The selected GUI screen. */
GuiFocus?: GuiFocus;
/** Fuel mass in tons. */
Fuel?: {
FuelMain: number;
FuelReservoir: number;
};
/** Cargo mass in tons. */
Cargo?: number;
/** The current legal state. */
LegalState?: LegalState;
/** The latitude. Set when on or near a planet. */
Latitude?: number;
/** The altitude. Set when on or near a planet. */
Altitude?: number;
/** The longitude. Set when on or near a planet. */
Longitude?: number;
/** The current heading. Set when on or near a planet. */
Heading?: number;
/** The planet radius. Set when on or near a planet. */
PlanetRadius?: number;
BodyName?: string;
/** The current credit balance. */
Balance?: number;
/** The selected destination if any. */
Destination?: {
System: number;
Body: number;
Name: string;
};
/** The oxygen level (0.0 .. 1.0). Only set when on foot. */
Oxygen?: number;
/** The health level (0.0 .. 1.0). Only set when on foot. */
Health?: number;
/** Temperature in Kelvin. Only set when on foot. */
Temperature?: number;
/** The name of the selected weapon. Only set when on foot. */
SelectedWeapon?: string;
SelectedWeapon_Localised?: string;
/** The gravity relative to 1G. Only set when on foot. */
Gravity?: number;
}