ZeroSpace.gg

Bloomwell

Grell T0 Base Building

import { GrellBaseBuilding } from "../../../../defaults/grell.js"; import { Attack, Spell } from "../../../../engine/ability.js"; import { Turret } from "../../../../engine/turret.js"; export class Bloomwell extends GrellBaseBuilding { static override src = "src/zerospace/faction/grell/building/bloomwell.ts"; 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 = 2; this.maxTurrets = 1; this.providesBiomass = 1500; this.description = "Mining outpost which builds extractors to mine Hexite. \nCan be upgraded to attack."; this.uuid = "9f01463e-8972-4011-8364-6714d89d0a1e"; 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", "Research.Production.ShareLocation.Merc", "Attackable.Biological", ]; this.internalSecondaryTags = []; this.setupGrellPassives(); this.createdBy = ["faction/grell/unit/seedling"]; this.unlockedBy = []; this.upgradedBy = []; this.creates = [ "faction/grell/unit/seedling", "faction/grell/unit/gatherer", "faction/grell/building/feeding-vine", ]; this.unlocks = [ "faction/grell/building/nourishing-pod", "faction/grell/building/cultivator", "faction/grell/unit/seedling", "faction/grell/unit/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, }); const colony = this; this.attacks.attack = new Attack({ name: "Attack", 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) + 1; colony.attacks.attack!.unlocked = true; }, }); this.attacks.attack.unlockedBy = [this.turrets.bloomwellAttacker.id]; this.turrets.bloomwellAttacker.unlocks = [this.attacks.attack.id]; } } export default Bloomwell;