@zerospacegg/iolin
Version:
Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)
89 lines (77 loc) • 4.04 kB
JavaScript
;
/**
* Flux
*/
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Flux = void 0;
const mechanic_js_1 = require("../../engine/mechanic.cjs");
const grell_harvester_js_1 = __importDefault(require("../faction/grell/unit/grell-harvester.cjs"));
const legion_laborer_js_1 = __importDefault(require("../faction/legion/unit/legion-laborer.cjs"));
const prot_harvester_js_1 = __importDefault(require("../faction/protectorate/unit/prot-harvester.cjs"));
class Flux extends mechanic_js_1.GameMechanic {
constructor() {
super();
this.name = "Flux";
this.uuid = "c512619e-0f55-4fa1-b20e-63263c98d609";
// Get dynamic harvester data from all three factions
const protHarvester = new prot_harvester_js_1.default();
const grellHarvester = new grell_harvester_js_1.default();
const legionLaborer = new legion_laborer_js_1.default();
// 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];
}
}
exports.Flux = Flux;
Flux.src = "src/zerospace/mechanic/flux.ts";
exports.default = Flux;
//# sourceMappingURL=flux.js.map