ZeroSpace.gg

Weaver

Grell Co-Op T3.5 Army Unit

import { CoopFrenzySkill } from "../../../../../defaults/grell.js"; import { Upgrade } from "../../../../../engine/ability.js"; import { GrellArmyUnit } from "../../../../../defaults/grell.js"; import { Attack, Channel, Spell } from "../../../../../engine/ability.js"; export class CoopWeaver extends GrellArmyUnit { override uuid: string; static override src = "src/zerospace/coop/commander/vynthra/unit/coop-vynthra-weaver.ts"; override get variantOf(): string { return "faction/grell/unit/weaver"; } constructor() { super(); this.hexiteCost = 75; this.fluxCost = 150; this.buildTime = 40; this.buildCount = 1; this.name = "Weaver"; this.tier = "T3.5"; this.hotkey = "E"; this.energy = 100; this.uuid = "de9670d1-2bac-4c32-8ab7-3411148163aa"; this.internalId = "Troop_GrellWeaver_C"; this.internalPath = "/Game/Nova/Archetypes_Troops/Troop_GrellWeaver.Default__Troop_GrellWeaver_C"; this.internalTags = [ "Attackable.Unit.Troop", "Attackable.Unit.Light", "Attackable.ArmorType.Medium", "Logic.ConstantMaxEnergy", "Attackable.Biological", ]; this.internalSecondaryTags = []; this.unlockedBy = ["coop/commander/vynthra/building/coop-vynthra-elderwomb"]; this.createdBy = ["coop/commander/vynthra/building/coop-vynthra-elderwomb"]; this.upgradedBy = ["coop/commander/vynthra/building/coop-vynthra-synapse-canopy"]; const unit = this; this.hp = 200; this.startingEnergy = 80; this.energyRegen = 2.5; this.shields = 0; this.armor = 0; this.armorType = "medium"; this.speed = 650; this.supply = 4; this.turnSpeed = 2000; this.description = "Grell caster. \nDeals bonus damage against air."; this.attacks.mephiticSpit = new Attack({ internalId: "Default__Grell_WeaverAtack_C", name: "Mephitic Spit", damage: 20, range: 1200, cooldown: 2, targets: ["air", "ground"], bonusDamage: [{ multiplier: 2.0, vs: ["domain:air"] }], parentId: this.id, parentUUID: this.uuid, armorPenetration: 0, delay: 0.26, }); this.spells.acidBlight = new Spell({ name: "Acid Blight", description: "Create an acid puddle at target location. Puddle poisons enemy units. Lasts 10 seconds.", energyCost: 75, energyType: "classic", targets: ["map"], hotkey: "F", parentId: this.id, parentUUID: this.uuid, }); this.spells.siphonLife = new Channel({ name: "Siphon Life", description: "Drain enemy health, slowing them by 20%, and poisoning them \nOR \nHeal allies for 5 health per second and grant them 1 armor", energyCost: 10, energyType: "classic", hotkey: "Y", targets: ["air", "ground"], parentId: this.id, parentUUID: this.uuid, }); this.upgrades.koruNeuropaths = new Upgrade({ name: "Koru Neuropaths", unlockedBy: ["coop/commander/vynthra/building/coop-vynthra-elderwomb"], description: "+25% cast range", tier: "T1", position: "A", fluxCost: 100, researchTime: 50, apply() {}, parentId: this.id, parentUUID: this.uuid, }); this.internalId = undefined; this.internalPath = undefined; this.setVariantUUID("coop-vynthra"); this.upgrades.healing = new Upgrade({ name: "Healing", description: "+35% healing and damage output.", tier: "T1", position: "B", fluxCost: 50, researchTime: 25, parentId: this.id, parentUUID: this.uuid, uuid: "e2913486-af64-4d6e-905e-07f281593931", }); this.unlockedBy = ["coop/commander/vynthra/building/coop-vynthra-elderwomb"]; this.createdBy = ["coop/commander/vynthra/building/coop-vynthra-elderwomb"]; this.upgradedBy = ["coop/commander/vynthra/building/coop-vynthra-synapse-canopy"]; this.spells.frenzy = new CoopFrenzySkill({ parentId: this.id, parentUUID: this.uuid }); this.upgrades.koruNeuropaths.fluxCost = 50; this.upgrades.koruNeuropaths.researchTime = 25; } } export default CoopWeaver;