ZeroSpace.gg

Stinger

Grell T1 Army Unit

import { GrellArmyUnit } from "../../../../defaults/grell.js"; import { Attack, Passive, Upgrade } from "../../../../engine/ability.js"; class Stinger extends GrellArmyUnit { override uuid: string; static override src = "src/zerospace/faction/grell/unit/stinger.ts"; 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 = "234bc62d-ee5e-4033-ab5c-73abd6ae9947"; 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 = 90; this.shields = 0; this.armor = 0; this.armorType = "light"; this.speed = 700; this.supply = 1; this.turnSpeed = 5000; this.description = "Fast small melee unit."; this.createdBy = ["faction/grell/building/broodwomb"!]; this.unlockedBy = ["faction/grell/building/broodwomb"!]; this.upgradedBy = ["faction/grell/building/young-canopy"!]; const stinger = this; this.attacks.feralClaws = new Attack({ 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.biomassSubversion = 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", description: "Increase Stinger movement speed by 30%", tier: "T1.5" as const, fluxCost: 70, researchTime: 40, apply: () => { stinger.speed = (stinger.speed || 0) * 1.3; }, parentId: this.id, parentUUID: this.uuid, }); this.upgrades.dissolvingVenom = new Upgrade({ name: "Dissolving Venom", description: "Attacks deal 6 damage per second and slow move speed by 25%. Lasts for 5 seconds.", tier: "T3.5" as const, fluxCost: 125, researchTime: 60, apply: () => { stinger.passives.dissolvingVenom!.unlocked = true; }, parentId: this.id, parentUUID: this.uuid, }); this.upgrades.biomassSubmersion = new Upgrade({ name: "Biomass Submersion", description: "+30% attack speed. \nGain stealth on friendly Biomass.", tier: "T2.5" as const, fluxCost: 100, researchTime: 45, apply: () => { stinger.passives.biomassSubversion!.unlocked = true; // Note: +50% attack speed boost applies conditionally on friendly biomass gain }, parentId: this.id, parentUUID: this.uuid, }); this.upgrades.pouncingReflex = new Upgrade({ name: "Cliff Jumping", description: "Stingers can jump up and down normal cliffs. Upon landing, gain 50% attack speed for 5 seconds.", tier: "T2.5" as const, fluxCost: 100, researchTime: 45, apply: () => { stinger.speed = (stinger.speed || 0) * 1.2; stinger._addTags("jump:up", "jump:down"); }, parentId: this.id, parentUUID: this.uuid, }); } } export default Stinger;