ZSGG Public Library
Keeper
Grell T2 Army Unit
import { GrellArmyUnit } from "../../../../defaults/grell.js";
import { Attack, Passive, Upgrade } from "../../../../engine/ability.js";
export class Keeper extends GrellArmyUnit {
override uuid: string;
static override src = "src/zerospace/faction/grell/unit/keeper.ts";
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 = "f8a2d3c1-9b7e-4f65-a8c9-1d2e3f4a5b6c";
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 [[faction/grell/unit/arkanid]] upon taking damage.";
this.createdBy = ["faction/grell/building/incubator"];
this.unlockedBy = ["faction/grell/building/incubator"];
this.upgradedBy = ["faction/grell/building/synapse-canopy"];
this.creates = ["faction/grell/unit/arkanid"];
const unit = this;
this.attacks.broodClaws = new Attack({
internalId: "Default__Grell_GrellingBig_C",
name: "Brood Claws",
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 [[faction/grell/unit/arkanid]] every 60 HP lost.",
parentId: this.id,
parentUUID: this.uuid,
});
this.upgrades.exoskeletonReinforcement = new Upgrade({
name: "Exoskeleton Reinforcement",
description: "+100 max HP",
tier: "T2.5",
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",
description: "+3 health regeneration",
tier: "T2.5",
fluxCost: 100,
researchTime: 45,
apply() {},
parentId: this.id,
parentUUID: this.uuid,
});
this.upgrades.acceleratedMitosis = new Upgrade({
name: "Accelerated Mitosis",
description: "Reduce Health loss per Arkanid from 20 to 15.",
wikiDescription: "Increases spawned [[faction/grell/unit/arkanid]] from 1 to 2.",
tier: "T3.5",
fluxCost: 150,
researchTime: 60,
apply() {},
parentId: this.id,
parentUUID: this.uuid,
});
}
}
export default Keeper;