ZeroSpace.gg

Synapse

Xol Co-Op T2 Army Unit

import { XolArmyUnit } from "../../../../../defaults/xol.js"; import { Attack, Passive, Spell, Upgrade } from "../../../../../engine/ability.js"; import { applyCoopXolMerges } from "../../../_util/coop-xol-merges.js"; export class CoopSynapse extends XolArmyUnit { static override src = "src/zerospace/coop/commander/anrubic/unit/coop-anrubic-synapse.ts"; override get variantOf(): string { return "faction/xol/unit/synapse"; } constructor() { super(); applyCoopXolMerges(this); this.buildTime = 16; this.name = "Synapse"; this.tier = "T2"; this.hotkey = ""; this.uuid = "28bd0d25-4b63-4825-84d0-acf53ce1d0e3"; this.internalId = "Troop_Xol_Synapse_C"; this.internalPath = "/Game/Nova/Archetypes_Troops/Troop_Xol_Synapse.Default__Troop_Xol_Synapse_C"; this.internalTags = [ "Attackable.Unit.Troop", "Local.Xol.Synapse", "Attackable.FlyingUnit", "Attackable.ArmorType.Light", "Troop.Xol.Tier3", ]; this.internalSecondaryTags = ["Air"]; this.description = "Flying unit which heals nearby units that it touches for 8 hit points each second. May use the Overclock ability on nearby allied units.\nOverclock: Grants nearby units +35% damage and movement speed for 5 seconds."; this.hp = 250; this.shields = 0; this.armor = 0; this.armorType = "light"; this.domain = "air"; this.speed = 675; this.supply = 4; this.turnSpeed = 4000; this.vision = 1800; this.pushability = 0; this.attacks.stellarisLash = new Attack({ internalId: "Default__Weapon_Xol_Synapse_C", name: "Stellaris Lash", damage: 30, range: 550, cooldown: 1.8, armorPenetration: 0, delay: 0.16, targets: ["ground", "air"], parentId: this.id, parentUUID: this.uuid, }); this.passives.touchHeal = new Passive({ name: "Touch Heal", // The rate is from patch notes: passives are not surfaced in the UI or the dev export, so // there is nothing to check it against short of testing in game. description: "Heals nearby units that it touches for 8 hit points each second.", healing: 8, cooldown: 1, targets: ["friendly:ground", "friendly:air"], parentId: this.id, parentUUID: this.uuid, }); this.spells.overclock = new Spell({ name: "Overclock", hotkey: "G", description: "Gives nearby units the Overclock buff, granting +35% damage and movement speed for 5 seconds.", cooldown: 30, duration: 5, targets: ["friendly:ground", "friendly:air"], targetMode: "around-self", parentId: this.id, parentUUID: this.uuid, }); this.unlockedBy = ["coop/commander/anrubic/building/coop-anrubic-world-forge"]; this.upgradedBy = ["coop/commander/anrubic/building/coop-anrubic-world-forge"]; this.upgrades.overclock = new Upgrade({ name: "Overclock", description: "Grants the Synapse the Overclock ability, which overclocks itself and allies in a range of 8 around the synapse.", tier: "T1", position: "A", fluxCost: 150, researchTime: 50, parentId: this.id, parentUUID: this.uuid, uuid: "1ed3d440-4b0c-48cc-8b3f-3ffa4963b4f5", }); this.upgrades.energyShock = new Upgrade({ name: "Energy Shock", description: "Attacks decrease enemy movement speed and attack speed by 10% for 5 seconds, stacking up to 6 times.", tier: "T1", position: "B", fluxCost: 150, researchTime: 50, parentId: this.id, parentUUID: this.uuid, uuid: "f6f15cbb-717a-4b31-ae0c-d201b0ed652a", }); } } export default CoopSynapse;