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