@zerospacegg/iolin
Version:
Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)
63 lines • 1.77 kB
JavaScript
;
/**
* 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