ZSGG Public Library
Cultivator
Grell T0 Special Building
import { GrellSpecialBuilding } from "../../../../defaults/grell.js";
import { Attack } from "../../../../engine/ability.js";
import { Turret } from "../../../../engine/turret.js";
export class Cultivator extends GrellSpecialBuilding {
override uuid: string;
static override src = "src/zerospace/faction/grell/building/cultivator.ts";
constructor() {
super();
this.hexiteCost = 15;
this.fluxCost = 0;
this.buildTime = 8;
this.buildCount = 1;
this.name = "Cultivator";
this.description = "Generates Biomass. \nCan be upgraded to attack.";
this.tier = "T0";
this.hotkey = "E";
this.maxTurrets = 1;
this.providesBiomass = 1500;
this.uuid = "6a63e0bb-cf32-4aab-85e8-b21d0567a3a1";
this.internalId = "Building_Grell_Cultivator_C";
this.internalPath =
"/Game/Nova/Archetypes_Buildings/Building_Grell_Cultivator.Default__Building_Grell_Cultivator_C";
this.internalTags = [
"Attackable.Building",
"Building.Grell.Cultivator",
"Building.CreepSpread",
"Attackable.Biological",
];
this.internalSecondaryTags = [];
this.hp = 150;
this.shields = 0;
this.armor = 0;
this.armorType = "building";
this.speed = 0;
this.createdBy = ["faction/grell/unit/seedling", "faction/grell/unit/gatherer"];
this.unlockedBy = ["faction/grell/building/bloomwell"];
const cultivator = this;
this.attacks.decomposerSpray = new Attack({
name: "Decomposer Spray",
description: "Requires Cultivator Defender upgrade",
damage: 15,
cooldown: 1.1,
range: 1500,
targets: ["air", "ground"],
bonusDamage: [{ multiplier: 1.5, vs: ["domain:air"] }],
unlocked: false,
parentId: this.id,
parentUUID: this.uuid,
});
this.turrets.cultivatorDefender = new Turret({
internalId: "Building_Grell_CultivatorAttacker_C",
internalPath:
"/Game/Nova/Archetypes_Buildings/Building_Grell_CultivatorAttacker.Default__Building_Grell_CultivatorAttacker_C",
name: "Cultivator Defender",
description: "Upgrade to increase health by 150 amd allow the Cultivator to attack enemies.\nAdds 1 armor.",
hexiteCost: 50,
buildTime: 20,
hp: 300,
armor: 1,
unlocked: false,
unlockedBy: ["faction/grell/building/broodwomb"], // TODO: display requirement
apply() {
cultivator.hp = 300;
cultivator.armor = 1;
cultivator.attacks.decomposerSpray!.unlocked = true;
cultivator.providesDetection = true;
},
});
}
}
export default Cultivator;