UNPKG

@zerospacegg/iolin

Version:

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

63 lines 1.77 kB
"use strict"; /** * Mission - Co-op mission class for ZeroSpace missions * Ported from coop_mission.pkl with TypeScript mission definitions */ Object.defineProperty(exports, "__esModule", { value: true }); exports.AssaultDefenseMission = exports.SurvivalMission = exports.EscortMission = exports.CoopMission = void 0; const entity_js_1 = require("./entity.cjs"); /** * Base Co-op Mission class - extends Entity with mission-specific properties * Usage: new CoopMission("Critical Delivery", (mission) => { mission.missionType = "escort"; }) */ class CoopMission extends entity_js_1.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; } } exports.CoopMission = CoopMission; /** * Escort Mission - Protect or guide units to a destination */ class EscortMission extends CoopMission { get missionType() { return "escort"; } } exports.EscortMission = EscortMission; /** * Survival Mission - Defend against waves of enemies */ class SurvivalMission extends CoopMission { get missionType() { return "survival"; } } exports.SurvivalMission = SurvivalMission; /** * Assault-Defense Mission - Attack objectives while defending key positions */ class AssaultDefenseMission extends CoopMission { get missionType() { return "assault-defense"; } } exports.AssaultDefenseMission = AssaultDefenseMission; //# sourceMappingURL=mission.js.map