ZeroSpace.gg

Stinger

Grell Co-Op T1 Army Unit

import { CoopFrenzySkill } from "../../../../../defaults/grell.js"; import { GrellArmyUnit } from "../../../../../defaults/grell.js"; import { Attack, Passive, Upgrade } from "../../../../../engine/ability.js"; export class CoopStinger extends GrellArmyUnit { override uuid: string; static override src = "src/zerospace/coop/commander/vynthra/unit/coop-vynthra-stinger.ts"; override get variantOf(): string { return "faction/grell/unit/stinger"; } constructor() { super(); this.hexiteCost = 75; this.fluxCost = 0; this.buildTime = 30; this.buildCount = 3; this.name = "Stinger"; this.tier = "T1"; this.hotkey = "Q"; this.uuid = "a039239e-5a2e-4300-8b3d-137d49f3224a"; this.internalId = "Troop_Grell_Stinger_C"; this.internalPath = "/Game/Nova/Archetypes_Troops/Troop_Grell_Stinger.Default__Troop_Grell_Stinger_C"; this.internalTags = [ "Attackable.Unit.Troop", "Attackable.Unit.Light", "Attackable.ArmorType.Light", "Attackable.Biological", ]; this.internalSecondaryTags = []; this.hp = 100; this.shields = 0; this.armor = 0; this.armorType = "light"; this.speed = 600; this.supply = 1; this.turnSpeed = 5000; this.description = "Fast small melee unit."; this.createdBy = ["coop/commander/vynthra/building/coop-vynthra-broodwomb"!]; this.unlockedBy = ["coop/commander/vynthra/building/coop-vynthra-broodwomb"!]; this.upgradedBy = ["coop/commander/vynthra/building/coop-vynthra-young-canopy"!]; const stinger = this; this.attacks.feralClaws = new Attack({ internalId: "Default__Grell_GrellingMelee_C", name: "Feral Claws", damage: 6, range: 100, cooldown: 0.65, delay: 0.06, targets: ["ground"], armorPenetration: 0, parentId: this.id, parentUUID: this.uuid, }); this.passives.biomassSubmersion = new Passive({ name: "Biomass Submersion", description: "On friendly biomass gain stealth and +50% attack speed", unlocked: false, parentId: this.id, parentUUID: this.uuid, }); this.passives.dissolvingVenom = new Passive({ name: "Dissolving Venom", description: "Attacks deal 6 damage per second and slow move speed by 25%. Lasts for 5 seconds.", unlocked: false, parentId: this.id, parentUUID: this.uuid, }); this.upgrades.extensorAdaptation = new Upgrade({ name: "Extensor Adaptation", unlockedBy: ["coop/commander/vynthra/building/coop-vynthra-young-canopy"], tier: "T1", position: "A", description: "+200 movement speed.", fluxCost: 100, researchTime: 60, apply: () => { stinger.speed! += 200; }, parentId: this.id, parentUUID: this.uuid, }); this.upgrades.biomassSubmersion = new Upgrade({ name: "Biomass Submersion", unlockedBy: ["coop/commander/vynthra/building/coop-vynthra-synapse-canopy"], tier: "T1", position: "B", description: "+300 move speed and stealth on friendly Biomass.", fluxCost: 100, researchTime: 60, apply: () => { stinger.passives.biomassSubmersion!.unlocked = true; // Note: +300 move speed boost applies conditionally on friendly biomass gain }, parentId: this.id, parentUUID: this.uuid, }); this.upgrades.pouncingReflex = new Upgrade({ name: "Pouncing Reflex", unlockedBy: ["coop/commander/vynthra/building/coop-vynthra-synapse-canopy"], tier: "T2", position: "A", description: "Stingers can jump up and down cliffs. Upon landing, gain 50% attack speed for 5 seconds.", fluxCost: 125, researchTime: 60, apply: () => { stinger._addTags("jump:up", "jump:down"); }, parentId: this.id, parentUUID: this.uuid, }); this.upgrades.dissolvingVenom = new Upgrade({ name: "Dissolving Venom", unlockedBy: ["coop/commander/vynthra/building/coop-vynthra-elderwomb"], tier: "T2", position: "B", description: "Attacks deal 6 damage per second and slow move speed by 25%. Lasts for 5 seconds.", fluxCost: 125, researchTime: 60, apply: () => { stinger.passives.dissolvingVenom!.unlocked = true; }, parentId: this.id, parentUUID: this.uuid, }); this.internalId = undefined; this.internalPath = undefined; this.setVariantUUID("coop-vynthra"); this.hexiteCost = 60; this.buildTime = 20; this.upgrades.extensorAdaptation.description = "+50% movement speed."; this.upgrades.pouncingReflex.name = "Pouncing Reflex"; this.upgrades.dissolvingVenom.name = "Dissolving Venom"; this.upgrades.dissolvingVenom.description = "Attacks deal 8 damage per second and slow movement speed by 25% for 5 seconds."; this.unlockedBy = ["coop/commander/vynthra/building/coop-vynthra-broodwomb"]; this.createdBy = ["coop/commander/vynthra/building/coop-vynthra-broodwomb"]; this.upgradedBy = ["coop/commander/vynthra/building/coop-vynthra-young-canopy"]; this.spells.frenzy = new CoopFrenzySkill({ parentId: this.id, parentUUID: this.uuid }); this.upgrades.extensorAdaptation.fluxCost = 50; this.upgrades.extensorAdaptation.researchTime = 30; this.upgrades.biomassSubmersion.fluxCost = 50; this.upgrades.biomassSubmersion.researchTime = 22; this.upgrades.pouncingReflex.fluxCost = 62.5; this.upgrades.pouncingReflex.researchTime = 30; this.upgrades.dissolvingVenom.fluxCost = 62.5; this.upgrades.dissolvingVenom.researchTime = 30; } } export default CoopStinger;