@zerospacegg/iolin
Version:
Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)
40 lines • 1.26 kB
TypeScript
/**
* Turret - Child entity class for defensive turret systems
* Turrets are child entities that attach to buildings/units for defense
*/
import { Child } from "./child.js";
/**
* Turret class for defensive systems that attach to entities
* Extends Child since turrets are child entities, not abilities
*/
export declare class Turret extends Child {
readonly name: string;
readonly description: string;
unlocked: boolean;
readonly type = "turret";
readonly subtype: string;
hexiteCost?: number;
fluxCost?: number;
buildTime?: number;
hp?: number;
apply?: () => void;
unlocks?: string[];
constructor(props?: Partial<Turret>);
/** JSON.stringify() calls this automatically */
toJSON(): Record<string, any>;
}
/**
* Building Turret - Specialized turret for building defense
*/
export declare abstract class BuildingTurret extends Turret {
readonly subtype = "building-turret";
constructor(props?: Partial<BuildingTurret>);
}
/**
* Unit Turret - Specialized turret for unit add-ons (like Dreadnought modules)
*/
export declare abstract class UnitTurret extends Turret {
readonly subtype = "unit-turret";
constructor(props?: Partial<UnitTurret>);
}
//# sourceMappingURL=turret.d.ts.map