ZeroSpace.gg

Dark Disciple

Legion Co-Op T2 Army Unit

import { LegionArmyUnit } from "../../../../../defaults/legion.js"; import { Attack, Channel, Spell, Upgrade } from "../../../../../engine/ability.js"; export class CoopGalavaxDarkDisciple extends LegionArmyUnit { static override src = "src/zerospace/coop/commander/galavax/unit/coop-galavax-dark-disciple.ts"; constructor() { super(); this.uuid = "3db83451-3ce1-4b46-bdad-9018bd950486"; // Fix: Movement Speed this.speed = 450; this.hexiteCost = 50; this.fluxCost = 100; this.buildTime = 48; this.buildCount = 1; this.name = "Dark Disciple"; this.tier = "T2"; this.internalId = "Troop_Empire_Fanatic_C"; this.internalPath = "/Game/Nova/Archetypes_Troops/Troop_Empire_Fanatic.Default__Troop_Empire_Fanatic_C"; this.internalTags = [ "Attackable.Unit.Troop", "Attackable.Unit.Light", "Attackable.ArmorType.Light", "Attackable.Biological", "Local.Legion.Infantry.DarkDisciple", ]; this.internalSecondaryTags = ["Biological", "Infantry"]; this.description = "Light ranged infantry. \nIts damage increases the longer it attacks."; this.supply = 4; this.hp = 180; this.shields = 0; this.armor = 0; this.armorType = "light"; this.turnSpeed = 5000; this.hotkey = "E"; this.createdBy = ["coop/commander/galavax/building/coop-galavax-legion-barracks"]; this.unlockedBy = ["coop/commander/galavax/building/coop-galavax-terror-tower"]; this.upgradedBy = ["coop/commander/galavax/building/coop-galavax-citadel"]; this.tag("legion:thrall"); this.attacks.oblivionSCall = new Attack({ internalId: "Default__Weapon_Legion_Psyker_C", name: "Oblivion's Call", damage: 6, cooldown: 0.8, armorPenetration: 0, delay: 0.13, range: 1400, targets: ["air", "ground"], bonusDamage: [{ multiplier: 1.75, vs: ["armor:heavy"] }], parentId: this.id, parentUUID: this.uuid, }); this.upgrades.frenzy = new Upgrade({ name: "Frenzy", unlockedBy: ["coop/commander/galavax/building/coop-galavax-citadel"], description: "Temporarily gain +35% attack speed when nearby friendly units die", tier: "T1", position: "A", fluxCost: 125, researchTime: 50, apply() {}, parentId: this.id, parentUUID: this.uuid, }); this.upgrades.frenzy.name = "Battle Frenzy"; this.spells.battleFrenzy = new Spell({ name: "Battle Frenzy", description: "Gain +50% attack speed and +30% movement speed for 20 seconds.", energyCost: 75, energyType: "classic", cooldown: 20, duration: 20, unlocked: false, parentId: this.id, parentUUID: this.uuid, }); this.internalId = "Troop_Galavax_DarkDisciple_C"; this.hexiteCost = 50; this.fluxCost = 100; this.supply = 4; this.internalTags = [ "Attackable.Unit.Troop", "Attackable.Unit.Light", "Attackable.ArmorType.Light", "Attackable.Biological", "Local.Legion.Infantry.DarkDisciple", ]; this.hp = 180; this.energy = 100; this.armor = 0; this.armorType = "light"; this.speed = 450; this.upgrades.frenzy.description = "Gain +50% attack speed and +30% movement speed for 20 seconds. Costs 75 energy."; this.upgrades.erodingLightning = new Upgrade({ name: "Eroding Lightning", description: "Attacks reduce the target's armor by 5.", tier: "T1", position: "B", fluxCost: 150, researchTime: 60, parentId: this.id, parentUUID: this.uuid, uuid: "8b34b5d7-4af8-43af-bd14-cbef634bb4d6", }); this.attacks.oblivionSCall.damage = 6; this.spells.shadowTraining = new Channel({ name: "Shadow Training", damage: 30, cooldown: 1, cooldownBetweenShots: 0.5, energyCost: 1, energyType: "classic", targets: ["map"], description: "Channel storm at targeted location. Each lightning hit consumes 1 energy. Deals 30 damage every 0.5 seconds.", parentId: this.id, parentUUID: this.uuid, }); this.createdBy = ["coop/commander/galavax/building/coop-galavax-legion-barracks"]; this.unlockedBy = ["coop/commander/galavax/building/coop-galavax-terror-tower"]; this.upgradedBy = ["coop/commander/galavax/building/coop-galavax-citadel"]; this.upgrades.frenzy.fluxCost = 150; this.upgrades.frenzy.researchTime = 60; } } export default CoopGalavaxDarkDisciple;