ZeroSpace.gg

Grell

Main Faction

import { GrellFaction, GrellTalent, GrellTopbar } from "../../defaults/grell.js"; export class Grell extends GrellFaction { override uuid: string; static override src = "src/zerospace/faction/grell.ts"; constructor() { super(); this.name = "Grell"; this.name = "Grell"; this.uuid = "73d5cdb2-5fa5-465a-a9ea-231cc987aedb"; this.description = "An insectoid race in symbiosis with the plantlike Koru, the Grell are relentless terraformers and conquerors. They spread biomass across planets, preparing the ground for the Koru to take root and thrive. The Grell's forces grow stronger through strategic infusions, making them increasingly dangerous as they advance. Their tactics emphasize rapid expansion, overwhelming numbers, and the ability to adapt to any environment, overtaking battlefields with a lush, untamed growth that blankets everything in its path."; this.buildings = [ "faction/grell/building/bloomwell", "faction/grell/building/cultivator", "faction/grell/building/feeding-vine", "faction/grell/building/broodwomb", "faction/grell/building/nourishing-pod", "faction/grell/building/young-canopy", "faction/grell/building/incubator", "faction/grell/building/skyclutch", "faction/grell/building/elderwomb", "faction/grell/building/macrogenesis-canopy", "faction/grell/building/synapse-canopy", "faction/grell/building/deep-nest", "faction/grell/building/tree-of-life", ]; this.units = [ "faction/grell/unit/stinger", "faction/grell/unit/arkanid", "faction/grell/unit/seedling", "faction/grell/unit/gatherer", "faction/grell/unit/skrell", "faction/grell/unit/grell-keeper", "faction/grell/unit/weaver", "faction/grell/unit/reaver", "faction/grell/unit/lasher", "faction/grell/unit/mandragora", "faction/grell/unit/thresher", "faction/grell/unit/harbinger", "faction/grell/unit/behemoth", ]; this.heroes = ["faction/grell/hero/grell-mera", "faction/grell/hero/grell-marv", "faction/grell/hero/vynthra"]; this.topbars.undergroundTransport = new GrellTopbar({ name: "Underground Transport", topbarType: "recall", slot: 1, description: "Transports all selected units via underground worm. Cannot cross water.", cooldown: 60, hotkey: "Q", energyCost: 5, }); this.topbars.infuse = new GrellTopbar({ name: "Infuse", topbarType: "special", slot: 2, description: "Enhances selected unit with biomass, providing various bonuses.", hotkey: "W", variableEnergyCost: "supply x2", }); // this.topbars.flowers = new GrellTopbar({ // name: "Flowers", // topbarType: "ultimate", // slot: 3, // cooldown: 180, // description: "Flowers deal damage to enemies and spawn hallucinations of friendly units. 20s duration.", // hotkey: "E", // energyCost: 30, // }); this.topbars.deepNest = new GrellTopbar({ name: "Deep Nest", topbarType: "summon", slot: 3, cooldown: 0, description: "A Deep Nest will appear at the location spawning 6 Arkanids every second. \nThe Deep Nest loses health over time.", wikiDescription: "A [[faction/grell/building/deep-nest]] will appear at the location, spawning 6 [[faction/grell/unit/arkanid]] every second. \nThe Deep Nest loses health over time.", hotkey: "E", energyCost: 15, creates: ["faction/grell/building/deep-nest"], unlockedBy: ["faction/grell/talents/deep-nest"], }); this.topbars.treeOfLife = new GrellTopbar({ name: "Tree of Life", topbarType: "ultimate", slot: 4, cooldown: 120, description: "Revives units killed nearby and heals friendly units. Radius: 1500. Starting energy: 30.", wikiDescription: "Creates a [[faction/grell/building/tree-of-life]], which revives units killed nearby and heals friendly units. Radius: 15. Starting energy: 30.", hotkey: "R", energyCost: 50, creates: ["faction/grell/building/tree-of-life"], unlockedBy: ["faction/grell/talents/tree-of-life"], }); this.talents.bioNourishment = new GrellTalent({ name: "Koru Symbiosis", level: 1, description: "+30% healing & health regen.", apply() {}, }); this.talents.cultivatorRange = new GrellTalent({ name: "Mycelial Reach", level: 1, description: "+30% Nourishing Pod & Cultivator vision and biomass range. \n-50% cultivator cost", apply() {}, }); this.talents.flourishment = new GrellTalent({ name: "Rapid Germination", level: 2, description: "+50% faster building construction.", apply() {}, }); this.talents.battleInfusion = new GrellTalent({ name: "Catalyzed Infusion", level: 3, description: "4x faster infuse. \n+40% attack and movement speed for 10s.", apply() {}, }); this.talents.improvedInfusion = new GrellTalent({ name: "Adaptive Mitosis", level: 3, description: "+2.5 range for infused ranged units. \n+20% health for infused melee units", apply() {}, }); this.talents.improvedSpeed = new GrellTalent({ name: "Improved Speed", level: 4, description: "+12% attack and movement Speed.", apply() {}, }); // this.talents.flowers = new GrellTalent({ // name: "Flowers", // level: 5, // description: "Unlocks the Flowers topbar ability.", // unlocks: [this.topbars.flowers.id], // }); // this.talents.flowers.apply = () => { // this.topbars.flowers!.unlocked = true; // }; this.talents.deepNest = new GrellTalent({ name: "Deep Nest", level: 5, description: "Unlocks the Deep Nest topbar ability.", wikiDescription: "Unlocks the [[faction/grell/topbar/deep-nest]] topbar ability.", unlocks: [this.topbars.deepNest.id, "faction/grell/building/deep-nest"], }); this.talents.deepNest.apply = () => { this.topbars.deepNest!.unlocked = true; }; this.talents.treeOfLife = new GrellTalent({ name: "Tree of Life", level: 5, description: "Unlocks the Tree of Life topbar ability.", wikiDescription: "Unlocks the [[faction/grell/topbar/tree-of-life]] topbar ability.", unlocks: [this.topbars.treeOfLife.id, "faction/grell/building/tree-of-life"], }); this.talents.treeOfLife.apply = () => { this.topbars.treeOfLife!.unlocked = true; }; this.talents.bloomFasciation = new GrellTalent({ name: "Bloom Fasciation", level: 6, description: "Units can be infused a second time. \n+50 current and max Topbar Power.", apply() {}, }); this.wireUpUnlocks(); } } export default Grell;