ZeroSpace.gg

Keeper

Grell Co-Op T1 Army Unit

import { CoopFrenzySkill } from "../../../../../defaults/grell.js"; import { GrellArmyUnit } from "../../../../../defaults/grell.js"; import { Attack, Passive, Upgrade } from "../../../../../engine/ability.js"; export class CoopKeeper extends GrellArmyUnit { override uuid: string; static override src = "src/zerospace/coop/commander/vynthra/unit/coop-vynthra-keeper.ts"; override get variantOf(): string { return "faction/grell/unit/keeper"; } constructor() { super(); this.hexiteCost = 150; this.fluxCost = 50; this.buildTime = 40; this.buildCount = 2; this.name = "Keeper"; this.tier = "T2"; this.hotkey = "E"; this.uuid = "71541e61-01c7-48fe-bbdb-3e4bd1364072"; this.internalId = "Troop_Grell_BroodGuard_C"; this.internalPath = "/Game/Nova/Archetypes_Troops/Troop_Grell_BroodGuard.Default__Troop_Grell_BroodGuard_C"; this.internalTags = ["Attackable.ArmorType.Medium", "Attackable.Biological", "Attackable.Unit.Troop"]; this.internalSecondaryTags = ["Biological"]; this.hp = 225; this.shields = 0; this.armor = 1; this.armorType = "medium"; this.speed = 550; this.supply = 2; this.turnSpeed = 5000; this.description = "Tanky melee unit which spawns Arkanids upon taking damage."; this.wikiDescription = "Tanky melee unit which spawns [[coop/commander/vynthra/unit/coop-vynthra-arkanid]] upon taking damage."; this.createdBy = ["coop/commander/vynthra/building/coop-vynthra-incubator"]; this.unlockedBy = ["coop/commander/vynthra/building/coop-vynthra-incubator"]; this.upgradedBy = ["coop/commander/vynthra/building/coop-vynthra-synapse-canopy"]; this.creates = ["coop/commander/vynthra/unit/coop-vynthra-arkanid"]; const unit = this; this.attacks.keeperTalons = new Attack({ internalId: "Default__Grell_GrellingBig_C", name: "Keeper Talons", damage: 20, cooldown: 1.3, range: 140, delay: 0.15, targets: ["ground"], parentId: this.id, parentUUID: this.uuid, }); this.passives.arkanidSpawn = new Passive({ name: "Arkanid Spawn", description: "Spawns a 50 HP arkanid every 60 HP lost", wikiDescription: "Spawns a 50 HP [[coop/commander/vynthra/unit/coop-vynthra-arkanid]] every 60 HP lost.", parentId: this.id, parentUUID: this.uuid, }); this.upgrades.exoskeletonReinforcement = new Upgrade({ name: "Exoskeleton Reinforcement", unlockedBy: ["coop/commander/vynthra/building/coop-vynthra-synapse-canopy"], description: "+75 health.", tier: "T1", position: "A", fluxCost: 100, researchTime: 45, apply() { unit.hp = (unit.hp || 0) + 100; }, parentId: this.id, parentUUID: this.uuid, }); this.upgrades.cytokininSurge = new Upgrade({ name: "Cytokinin Surge", unlockedBy: ["coop/commander/vynthra/building/coop-vynthra-synapse-canopy"], description: "+3 health regeneration", tier: "T1", position: "B", fluxCost: 100, researchTime: 45, apply() {}, parentId: this.id, parentUUID: this.uuid, }); this.upgrades.acceleratedMitosis = new Upgrade({ name: "Accelerated Mitosis", unlockedBy: ["coop/commander/vynthra/building/coop-vynthra-elderwomb"], description: "Reduce Health loss per Arkanid from 20 to 15.", wikiDescription: "Increases spawned [[coop/commander/vynthra/unit/coop-vynthra-arkanid]] from 1 to 2.", tier: "T2", position: "A", fluxCost: 150, researchTime: 60, apply() {}, parentId: this.id, parentUUID: this.uuid, }); this.tier = "T1"; this.hp = 250; this.armor = 2; // Vynthra's Keepers are built one at a time for 125 hexite; PvP builds pairs for 150/50. this.hexiteCost = 125; this.fluxCost = 0; this.buildCount = 1; this.internalId = undefined; this.internalPath = undefined; this.setVariantUUID("coop-vynthra"); this.upgrades.exoskeletonReinforcement.description = "+75 max HP."; this.unlockedBy = ["coop/commander/vynthra/building/coop-vynthra-broodwomb"]; this.createdBy = ["coop/commander/vynthra/building/coop-vynthra-broodwomb"]; this.upgradedBy = ["coop/commander/vynthra/building/coop-vynthra-synapse-canopy"]; this.creates = ["coop/commander/vynthra/unit/coop-vynthra-arkanid"]; this.attacks.keeperTalons.range = 100; this.spells.frenzy = new CoopFrenzySkill({ parentId: this.id, parentUUID: this.uuid, }); this.upgrades.acceleratedMitosis.fluxCost = 75; this.upgrades.acceleratedMitosis.researchTime = 30; this.upgrades.cytokininSurge.fluxCost = 50; this.upgrades.cytokininSurge.researchTime = 22; this.upgrades.exoskeletonReinforcement.fluxCost = 50; this.upgrades.exoskeletonReinforcement.researchTime = 22; } } export default CoopKeeper;