ZeroSpace.gg

Thresher

Grell T2.5 Army Unit

import { GrellArmyUnit } from "../../../../defaults/grell.js"; import { Attack, Siege, Upgrade } from "../../../../engine/ability.js"; export class Thresher extends GrellArmyUnit { override uuid: string; static override src = "src/zerospace/faction/grell/unit/thresher.ts"; override get infuseCost(): number { return 15; } constructor() { super(); this.hexiteCost = 100; this.fluxCost = 175; this.buildTime = 65; this.buildCount = 1; this.name = "Thresher"; this.tier = "T2.5"; this.hotkey = "S"; this.uuid = "a7240b28-2b4c-46a8-9294-58c898ca7555"; this.internalId = "Troop_GrellThresher_C"; this.internalPath = "/Game/Nova/Archetypes_Troops/Troop_GrellThresher.Default__Troop_GrellThresher_C"; this.internalTags = [ "Attackable.Unit.Troop", "Attackable.ArmorType.Heavy", "Attackable.Biological", "Local.Grell.Thresher", ]; this.internalSecondaryTags = []; this.unlockedBy = ["faction/grell/building/macrogenesis-canopy"]; this.createdBy = ["faction/grell/building/incubator"]; this.upgradedBy = ["faction/grell/building/macrogenesis-canopy"]; const unit = this; this.hp = 300; this.shields = 0; this.armor = 1; this.armorType = "heavy"; this.speed = 450; this.supply = 8; this.turnSpeed = 2000; this.pushability = 0; this.description = "Long range siege unit with splash damage."; this.attacks.voidBomb = new Attack({ name: "Void Bomb", damage: 120, range: 2700, cooldown: 3.3, requiresMode: "sieged", targets: ["ground"], bonusDamage: [{ multiplier: 1.75, vs: ["building"] }], splash: { multiplier: 0.85, range: 275 }, armorPenetration: 0, delay: 0.45, parentId: this.id, parentUUID: this.uuid, }); this.sieges.takeRoot = new Siege({ name: "Take Root", description: "Rooted Threshers gain a long range AoE attack. Rooted Threshers cannot move.", hotkey: "D", togglesMode: "siege", reverseHotKey: "Ctrl-D", duration: 1.25, }); // this.passives.siegeResistance = new Passive({ // name: "Siege Resistance", // description: "+75% status resist while sieged", // parentId: this.id, // parentUUID: this.uuid, // }); this.upgrades.CorrodingExpulsion = new Upgrade({ name: "Crackling Energy", description: "Attacks create a pool of poison on the ground that lasts for 6 seconds", tier: "T2.5", fluxCost: 100, researchTime: 50, apply() { // unit.attacks.attack!.description += " - Creates burning ground effect (140 damage over 6s)"; }, parentId: this.id, parentUUID: this.uuid, }); this.upgrades.anchoringTendrils = new Upgrade({ name: "Anchoring Tendrils", description: "Rooting and uprooting is 50% faster, +30% movement speed", tier: "T2.5", fluxCost: 100, researchTime: 50, apply() { unit.speed = (unit.speed || 0) * 1.3; if (unit.sieges.takeRoot) { unit.sieges.takeRoot.duration = (unit.sieges.takeRoot.duration || 0) * 0.5; } }, parentId: this.id, parentUUID: this.uuid, }); } } export default Thresher;