ZSGG Public Library
Vynthra (Commander)
Grell Co-Op Coop Commander Unit
import { CoopFrenzySkill, GrellTopbar } from "../../../defaults/grell.js";
import { Attack, Channel, Spell } from "../../../engine/ability.js";
import { CommanderLevel } from "../../../engine/commander-level.js";
import { CoopCommanderUnit } from "../../../engine/unit.js";
export class VynthraCoop extends CoopCommanderUnit {
static override src = "src/zerospace/coop/commander/vynthra-commander.ts";
override get infuseCost(): number {
return 16;
}
constructor() {
super();
this.uuid = "85521f4e-b720-4266-9d69-6d774f94becd";
this.name = "Vynthra (Commander)";
this.commanderType = "support";
this.maxLevel = 12;
this.faction = "grell";
this.factionName = "Grell";
this.commanderFaction = [
"coop/commander/vynthra/building/coop-vynthra-feeding-vine",
"coop/commander/vynthra/building/coop-vynthra-nourishing-pod",
"coop/commander/vynthra/building/coop-vynthra-bloomwell",
"coop/commander/vynthra/building/coop-vynthra-broodwomb",
"coop/commander/vynthra/building/coop-vynthra-incubator",
"coop/commander/vynthra/building/coop-vynthra-elderwomb",
"coop/commander/vynthra/building/coop-vynthra-young-canopy",
"coop/commander/vynthra/building/coop-vynthra-macrogenesis-canopy",
"coop/commander/vynthra/building/coop-vynthra-synapse-canopy",
"coop/commander/vynthra/building/coop-vynthra-skyclutch",
"coop/commander/vynthra/building/coop-vynthra-cultivator",
"coop/commander/vynthra/unit/coop-vynthra-arkanid",
"coop/commander/vynthra/unit/coop-vynthra-behemoth",
"coop/commander/vynthra/unit/coop-vynthra-boomer",
"coop/commander/vynthra/unit/coop-vynthra-grell-keeper",
"coop/commander/vynthra/unit/coop-vynthra-destroyer",
"coop/commander/vynthra/unit/coop-vynthra-gatherer",
"coop/commander/vynthra/unit/coop-vynthra-harbinger",
"coop/commander/vynthra/unit/coop-vynthra-lasher",
"coop/commander/vynthra/unit/coop-vynthra-mandragora",
"coop/commander/vynthra/unit/coop-vynthra-reaver",
"coop/commander/vynthra/unit/coop-vynthra-seedling",
"coop/commander/vynthra/unit/coop-vynthra-stinger",
"coop/commander/vynthra/unit/coop-vynthra-thresher",
"coop/commander/vynthra/unit/coop-vynthra-weaver",
];
this.faction = "grell";
this.factionName = "Grell";
this.hp = 600;
this.speed = 575;
this.currentLevel = 1;
this.attacks.attack = new Attack({
name: "Attack",
damage: 30,
cooldown: 1.8,
range: 1200,
targets: ["air", "ground"],
parentId: this.id,
parentUUID: this.uuid,
});
this.spells.channel = new Channel({
name: "Channel",
hotkey: "Q",
targets: ["air", "ground"],
description:
"Drain enemy health, slowing them and making them vulnerable to attack. 40/60/80% slow and bonus dmg based on Infusion level. OR Heal allies and make them attack faster. +50/75/100% attack speed based on Infusion level.",
parentId: this.id,
parentUUID: this.uuid,
});
this.spells.thornyShield = new Spell({
name: "Thorny Shield",
hotkey: "W",
cooldown: 60,
description:
"The target unit is protected by thorns, takes 50% less damage, and returns 0/5/10 dmg based on infusion level.",
parentId: this.id,
parentUUID: this.uuid,
});
this.spells.frenzy = new CoopFrenzySkill({
parentId: this.id,
parentUUID: this.uuid,
});
this.commanderTopbars.infusion = new GrellTopbar({
name: "Infusion",
topbarType: "special",
slot: 1,
description:
"Increases health, attack damage, and regeneration of a friendly unit. After acquring the double infusion talent, may be infused a second time. Double infusion bonuses: Hero/Basic unit attacks apply spores that slow enemy units and explode on death. T2 units attacks cause enemies to spawn stingers on death. T3 units do splash damave and stun every 7s.",
requiredLevel: 1,
parentId: this.id,
parentUUID: this.uuid,
});
this.commanderTopbars.doubleInfusion = new GrellTopbar({
name: "Double Infusion",
topbarType: "special",
slot: 1,
description:
"Units may be infused a second time. Double infusion bonuses: Hero/Basic unit attacks apply spores that slow enemy units and explode on death. T2 units attacks cause enemies to spawn stingers on death. T3 units do splash damave and stun every 7s.",
requiredLevel: 5,
parentId: this.id,
parentUUID: this.uuid,
});
this.commanderTopbars.nourishingPod = new GrellTopbar({
name: "Nourishing Pod",
topbarType: "summon",
slot: 2,
charges: 5,
cooldown: 60,
description: "Spawns a free nourishing pod and 3 seedlings anywhere you have vision",
requiredLevel: 3,
parentId: this.id,
parentUUID: this.uuid,
});
this.commanderTopbars.treeOfLife = new GrellTopbar({
name: "Tree of Life",
topbarType: "ultimate",
slot: 3,
cooldown: 360,
description: "Spawns a tree of life that heals nearby units and revives nearby dead units.",
requiredLevel: 3,
parentId: this.id,
parentUUID: this.uuid,
});
this.levels["1"] = new CommanderLevel({
name: "Vynthra",
level: 1,
description: "Vynthra is a support hero. Infusion Essence can be used on heroes.",
unlocks: [
"infusion",
"coop/commander/vynthra/unit/coop-vynthra-stinger",
"coop/commander/vynthra/unit/coop-vynthra-lasher",
"coop/commander/vynthra/unit/coop-vynthra-harbinger",
"coop/commander/vynthra/unit/coop-vynthra-mandragora",
"coop/commander/vynthra/unit/coop-vynthra-behemoth",
],
parentId: this.id,
uuid: "1d79e988-0baf-4145-909f-5ba5d66700a1",
});
this.levels["2"] = new CommanderLevel({
name: "Adaptive Mitosis",
level: 2,
description: "+2.5 Range for infused ranged units. \n+20% health for infused melee units.",
parentId: this.id,
uuid: "b56f5d5a-5ec5-4cb4-9c7e-438b7071d6df",
});
this.levels["3"] = new CommanderLevel({
name: "Tree of Life",
level: 3,
description:
"New Topbar Ability: Spawn a Tree of Life that heals nearby units and revives nearby dead units. Cooldown: 360s.",
unlocks: ["tree-of-life"],
parentId: this.id,
uuid: "3fe2aca4-326d-47d5-94d0-d7dc8cb79687",
});
// this.levels["3"] = new CommanderLevel({
// level: 3,
// description:
// "New Topbar Ability: Spawn a Nourishing Pod and three seedlings anywhere you have vision. Cooldown: 60s. Charges: 5.",
// unlocks: ["coop/commander/vynthra/building/coop-vynthra-nourishing-pod"],
// parentId: this.id,
// uuid: "d63edb28-1b08-4556-b25e-b39670f60425",
// });
this.levels["4"] = new CommanderLevel({
name: "Next Evolution Tier (1)",
level: 4,
description: "+15% movement speed. \nNew Unit: Thresher",
unlocks: ["coop/commander/vynthra/unit/coop-vynthra-thresher"],
parentId: this.id,
uuid: "26042924-8e1c-42c8-a1fa-0295840c64d6",
});
this.levels["5"] = new CommanderLevel({
name: "Double Infusion",
level: 5,
description:
"Units can be infused twice. Vynthra's units gain special bonuses on attack after the second infusion. Bonuses are different based on where they are produced -- slowing and exploding spores, spawning stingers, or dealing splash damage and stun",
unlocks: ["double-infusion"],
parentId: this.id,
uuid: "a01a2fd1-444c-47e4-843c-03ba222c393e",
});
this.levels["6"] = new CommanderLevel({
name: "Next Evolution Tier (2)",
level: 6,
description: "-50% unit research cost and time. \nNew Elderwomb units: Weaver and Reaver",
unlocks: ["coop/commander/vynthra/unit/coop-vynthra-weaver", "coop/commander/vynthra/unit/coop-vynthra-reaver"],
parentId: this.id,
uuid: "dcceed18-95cb-477e-aebf-3b630d33e429",
});
this.levels["7"] = new CommanderLevel({
name: "Frenzy",
level: 7,
description:
"New Unit Ability for all units: Lose 25% health and gain +50% attack and +30% movement speed for 20s.",
parentId: this.id,
uuid: "7e9f96e1-090b-47f3-8def-47c9c5d43251",
});
this.levels["8"] = new CommanderLevel({
name: "Protective Biomass",
level: 8,
description: "Units on biomass take 25% less damage",
parentId: this.id,
uuid: "3db8e20b-ade0-43cb-b814-8b9253a97cfc",
});
this.levels["9"] = new CommanderLevel({
name: "Infused Lifesteal",
level: 9,
description: "+15% Lifesteal for infused units",
parentId: this.id,
uuid: "6e1a824b-954b-4fb5-ae89-f6fa875bf12c",
});
this.levels["10"] = new CommanderLevel({
name: "Destroyer",
level: 10,
description: "New faction power: Spawn a powerful guardian with limited life.",
unlocks: ["coop/commander/vynthra/unit/coop-vynthra-destroyer"],
parentId: this.id,
uuid: "efbc43e0-e9bd-4e97-ae72-3aaeafe46541",
});
this.levels["11"] = new CommanderLevel({
name: "Spore Surge",
level: 11,
description: "Cultivators attack faster, deal splash damage, and slow enemies",
parentId: this.id,
uuid: "9a8b46e8-02f8-4110-b01c-e07cdcc416f3",
});
this.levels["12"] = new CommanderLevel({
name: "Catalyzed Infusion",
level: 12,
description: "4x faster infuse. +40% attack and move speed for 15s.",
parentId: this.id,
uuid: "13cb87ad-ad9b-42d5-a33f-28dc3e2f65ff",
});
}
}
export default VynthraCoop;