ZSGG Public Library
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;