ZeroSpace.gg

Bloomwell

Grell Co-Op T0 Base Building

import { GrellBaseBuilding } from "../../../../../defaults/grell.js"; import { Attack, Spell } from "../../../../../engine/ability.js"; import { Turret } from "../../../../../engine/turret.js"; export class CoopBloomwell extends GrellBaseBuilding { static override src = "src/zerospace/coop/commander/vynthra/building/coop-vynthra-bloomwell.ts"; override get variantOf(): string { return "faction/grell/building/bloomwell"; } constructor() { super(); this.hexiteCost = 400; this.fluxCost = 0; this.buildTime = 60; this.buildCount = 1; this.name = "Bloomwell"; this.tier = "T0"; this.hp = 2500; this.shields = 0; this.armor = 0; this.maxTurrets = 1; this.providesBiomass = 1500; this.providesDetection = true; this.description = "Mining outpost which builds extractors to mine Hexite. \nCan be upgraded to attack."; this.uuid = "884c7371-1f82-4026-a5ab-c1f5081ee52e"; this.internalId = "Building_Grell_RootColony_C"; this.internalPath = "/Game/Nova/Archetypes_Buildings/Building_Grell_RootColony.Default__Building_Grell_RootColony_C"; this.internalTags = [ "Attackable.Building", "Select.AllProduction.Disabled", "Building.OperatingTower", "Ability.RecallTarget", "Logic.ContestCritical", "Building.Production.Harvester", "Building.Grell", "Attackable.Biological", ]; this.internalSecondaryTags = []; this.setupGrellPassives(); this.createdBy = ["coop/commander/vynthra/unit/coop-vynthra-seedling"]; this.unlockedBy = []; this.upgradedBy = []; this.creates = [ "coop/commander/vynthra/unit/coop-vynthra-seedling", "coop/commander/vynthra/unit/coop-vynthra-gatherer", "coop/commander/vynthra/building/coop-vynthra-feeding-vine", ]; this.unlocks = [ "coop/commander/vynthra/building/coop-vynthra-nourishing-pod", "coop/commander/vynthra/building/coop-vynthra-cultivator", "coop/commander/vynthra/unit/coop-vynthra-seedling", "coop/commander/vynthra/unit/coop-vynthra-gatherer", ]; this.spells.homeBase = new Spell({ name: "Home Base", hotkey: "U", cooldown: 0.2, targets: ["self"], description: "Set this base as primary", parentId: this.id, parentUUID: this.uuid, }); this.spells.harvesterRallyPoint = new Spell({ name: "Harvester Rally Point", hotkey: "K", description: "Place a rally point for Harvesters.", parentId: this.id, parentUUID: this.uuid, }); const colony = this; this.attacks.digestiveAcids = new Attack({ name: "Digestive Acids", description: "Defensive attack system that targets air and ground units", damage: 23, cooldown: 0.66, range: 2000, targets: ["air", "ground"], unlocked: false, parentId: this.id, parentUUID: this.uuid, }); this.turrets.bloomwellAttacker = new Turret({ name: "Bloomwell Attacker", description: "Allows the Bloomwell to attack enemies.", hexiteCost: 200, buildTime: 5, hp: 500, unlocked: false, apply() { colony.armor = (colony.armor || 0) + 2; colony.attacks.digestiveAcids!.unlocked = true; }, }); this.attacks.digestiveAcids.unlockedBy = [this.turrets.bloomwellAttacker.id]; this.turrets.bloomwellAttacker.unlocks = [this.attacks.digestiveAcids.id]; this.setVariantUUID("coop-vynthra"); this.unlockedBy = []; this.createdBy = ["coop/commander/vynthra/unit/coop-vynthra-seedling"]; this.creates = [ "coop/commander/vynthra/unit/coop-vynthra-seedling", "coop/commander/vynthra/unit/coop-vynthra-gatherer", "coop/commander/vynthra/building/coop-vynthra-feeding-vine", ]; this.unlocks = [ "coop/commander/vynthra/building/coop-vynthra-nourishing-pod", "coop/commander/vynthra/building/coop-vynthra-cultivator", "coop/commander/vynthra/building/coop-vynthra-feeding-vine", "coop/commander/vynthra/unit/coop-vynthra-seedling", "coop/commander/vynthra/unit/coop-vynthra-gatherer", ]; } } export default CoopBloomwell;