UNPKG

@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
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; }