ZSGG Public Library
Protectorate Build Drone
Protectorate T0 Builder Unit
import { ProtectorateBuilderUnit } from "../../../../defaults/protectorate.js";
import { Spell } from "../../../../engine/ability.js";
export class ProtBuildDrone extends ProtectorateBuilderUnit {
override uuid: string;
static override src = "src/zerospace/faction/protectorate/unit/prot-build-drone.ts";
override get infuseCost(): number | undefined {
return 0;
}
constructor() {
super();
this.hexiteCost = 50;
this.fluxCost = 0;
this.buildTime = 15;
this.name = "Protectorate Build Drone";
this.tier = "T0";
this.supply = 0;
this.uuid = "13b39476-cf10-477d-bd74-c8d8563aee7f";
this.unlockedBy = ["faction/protectorate/building/operating-tower"];
this.hp = 100;
this.armor = 0;
this.armorType = "light";
this.speed = 500;
this.description =
"Automated construction unit capable of building all Protectorate structures and infrastructure.";
this.creates = [
"faction/protectorate/building/operating-tower",
"faction/protectorate/building/supply-platform",
"faction/protectorate/building/prot-barracks",
"faction/protectorate/building/assembly-plant",
"faction/protectorate/building/war-foundry",
"faction/protectorate/building/research-lab",
"faction/protectorate/building/mechanical-research-lab",
"faction/protectorate/building/airstrip",
"faction/protectorate/building/skydock",
"faction/protectorate/unit/strider",
];
this.spells.build = new Spell({
name: "Build",
hotkey: "B",
description: "Constructs buildings and structures",
range: 100,
parentId: this.id,
parentUUID: this.uuid,
});
this.spells.repair = new Spell({
name: "Repair",
hotkey: "R",
description: "Repairs damaged mechanical units and structures",
range: 100,
healing: 10,
parentId: this.id,
parentUUID: this.uuid,
});
this.createdBy = ["faction/protectorate/building/operating-tower"];
}
}
export default ProtBuildDrone;