UNPKG

@zerospacegg/iolin

Version:

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

82 lines (70 loc) 3.63 kB
/** * Flux */ import { GameMechanic } from "../../engine/mechanic.js"; import GrellHarvester from "../faction/grell/unit/grell-harvester.js"; import LegionLaborer from "../faction/legion/unit/legion-laborer.js"; import ProtHarvester from "../faction/protectorate/unit/prot-harvester.js"; export class Flux extends GameMechanic { constructor() { super(); this.name = "Flux"; this.uuid = "c512619e-0f55-4fa1-b20e-63263c98d609"; // Get dynamic harvester data from all three factions const protHarvester = new ProtHarvester(); const grellHarvester = new GrellHarvester(); const legionLaborer = new LegionLaborer(); // Simple description for API/JSON usage this.description = "Flux is a purple crystal that serves as the secondary and tech resource in ZeroSpace, required for upgrades and advanced units, with different harvesting methods across factions."; // Rich wiki content with {{box}} components this.wiki = ` ## Overview Flux is a purple crystal that grows naturally on the map and serves as the secondary and tech resource in ZeroSpace. While hexite is the primary resource, flux is required for upgrades and more advanced units. {{box-grid}} {{box header="Standard Flux" icon="mdi-crystal-ball"}} **Purple Crystal Resource** - **Role**: Secondary and tech resource for advanced upgrades - **Natural Growth**: Spawns automatically on map terrain - **Harvesting**: Requires faction-specific harvester units - **Usage**: Essential for unit upgrades and advanced technologies {{/box}} {{box header="Rich Flux" icon="mdi-diamond"}} **Enhanced Yield Deposits** - **Yield**: Double the flux of standard deposits - **Harvester Cap**: No limit on harvesters per rich flux field - **Spawning**: Appears periodically throughout the match - **Strategic Value**: High-priority expansion targets {{/box}} {{/box-grid}} ## Faction Harvesting Each faction harvests flux using different specialized units with unique capabilities: {{box-grid}} {{box header="${protHarvester.name}" icon="mdi-factory"}} **Protectorate Harvesting** - **Standard Flux**: ${protHarvester.gathersFlux || "Unknown"} flux/min - **Rich Flux**: ${protHarvester.gathersRichFlux || "Unknown"} rich flux/min - **Max Units**: ${protHarvester.maxOwned || "Unknown"} harvesters - **[View Unit Details](${protHarvester.zsggPath})** {{/box}} {{box header="${grellHarvester.name}" icon="mdi-dna"}} **Grell Harvesting** - **Standard Flux**: ${grellHarvester.gathersFlux} flux/min - **Rich Flux**: ${grellHarvester.gathersRichFlux} rich flux/min - **Max Units**: ${grellHarvester.maxOwned} harvesters - **[View Unit Details](${grellHarvester.zsggPath})** {{/box}} {{box header="${legionLaborer.name}" icon="mdi-hammer-wrench"}} **Legion Harvesting** - **Standard Flux**: ${legionLaborer.gathersFlux} flux/min - **Rich Flux**: ${legionLaborer.gathersRichFlux} rich flux/min - **Max Units**: ${legionLaborer.maxOwned} harvesters - **[View Unit Details](${legionLaborer.zsggPath})** {{/box}} {{/box-grid}} `; this.references = [protHarvester.id, grellHarvester.id, legionLaborer.id]; } } Flux.src = "src/zerospace/mechanic/flux.ts"; export default Flux; //# sourceMappingURL=flux.js.map