UNPKG

@zerospacegg/iolin

Version:

Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)

56 lines 1.41 kB
/** * Mission - Co-op mission class for ZeroSpace missions * Ported from coop_mission.pkl with TypeScript mission definitions */ import { Entity } from "./entity.js"; /** * Base Co-op Mission class - extends Entity with mission-specific properties * Usage: new CoopMission("Critical Delivery", (mission) => { mission.missionType = "escort"; }) */ export class CoopMission extends Entity { get type() { return "coop-mission"; } constructor(props) { super(); this._missionType = "escort"; if (props) { Object.assign(this, props); } } get missionType() { return this._missionType; } set missionType(value) { this._missionType = value; } // Mission defaults get subtype() { return this.missionType; } } /** * Escort Mission - Protect or guide units to a destination */ export class EscortMission extends CoopMission { get missionType() { return "escort"; } } /** * Survival Mission - Defend against waves of enemies */ export class SurvivalMission extends CoopMission { get missionType() { return "survival"; } } /** * Assault-Defense Mission - Attack objectives while defending key positions */ export class AssaultDefenseMission extends CoopMission { get missionType() { return "assault-defense"; } } //# sourceMappingURL=mission.js.map