ZeroSpace.gg

Steelsworn

Legion Co-Op T1 Army Unit

import { LegionArmyUnit } from "../../../../../defaults/legion.js"; import { Attack, Upgrade } from "../../../../../engine/ability.js"; export class CoopGalavaxSteelsworn extends LegionArmyUnit { static override src = "src/zerospace/coop/commander/galavax/unit/coop-galavax-steelsworn.ts"; constructor() { super(); this.uuid = "43c6c3a0-81dd-4242-8551-19f5f9064779"; this.hexiteCost = 50; this.fluxCost = 0; this.buildTime = 24; this.buildCount = 1; this.name = "Steelsworn"; this.tier = "T1"; this.internalId = "Troop_Empire_Steelsworn_C"; this.internalPath = "/Game/Nova/Archetypes_Troops/Troop_Empire_Steelsworn.Default__Troop_Empire_Steelsworn_C"; this.internalTags = [ "Attackable.Unit.Troop", "Attackable.Unit.Light", "Attackable.ArmorType.Medium", "Attackable.Biological", "Local.Legion.Infantry.Thrall.Armored", ]; this.internalSecondaryTags = ["Infantry"]; this.supply = 2; this.hp = 200; this.shields = 0; this.armor = 1; this.armorType = "medium"; this.speed = 550; this.turnSpeed = 5000; this.hotkey = "W"; this.createdBy = ["coop/commander/galavax/building/coop-galavax-legion-barracks"]; this.unlockedBy = ["coop/commander/galavax/building/coop-galavax-legion-barracks"]; this.upgradedBy = ["coop/commander/galavax/building/coop-galavax-citadel"]; this.description = "Tanky melee infantry. Attacks ground units."; this.tag("legion:thrall"); this.attacks.steelPincers = new Attack({ internalId: "Default__Legion_ThrallMelee_C", name: "Steel Pincers", damage: 15, cooldown: 1.37, range: 120, targets: ["ground"], bonusDamage: [{ multiplier: 2.0, vs: ["armor:light"] }], armorPenetration: 0, delay: 0.15, parentId: this.id, parentUUID: this.uuid, }); const unit = this; this.upgrades.alloyArmor = new Upgrade({ name: "Alloy Armor", unlockedBy: ["coop/commander/galavax/building/coop-galavax-citadel"], description: "Each hit increases attack speed (+10% up to 70%)", tier: "T1", position: "A", fluxCost: 100, researchTime: 40, apply() {}, parentId: this.id, parentUUID: this.uuid, }); this.upgrades.saw = new Upgrade({ name: "Saw", unlockedBy: ["coop/commander/galavax/building/coop-galavax-citadel"], description: "Additional +100% damage against light armor", tier: "T1", position: "B", fluxCost: 100, researchTime: 40, apply() { unit.attacks.steelPincers.bonusDamage = [{ multiplier: 3.0, vs: ["armor:light"] }]; }, parentId: this.id, parentUUID: this.uuid, }); this.upgrades.performanceEnhancers = new Upgrade({ name: "Performance Enhancers", unlockedBy: ["coop/commander/galavax/building/coop-galavax-terror-tower"], description: "+125 movement speed.", tier: "T2", position: "A", fluxCost: 150, researchTime: 50, apply() { unit.speed = (unit.speed || 0) * 1.4; }, parentId: this.id, parentUUID: this.uuid, }); this.internalId = "Troop_Galavax_Steelsworn_C"; this.hexiteCost = 50; this.fluxCost = 0; this.upgrades.alloyArmor.name = "Emperor's Blessing"; this.upgrades.alloyArmor.description = "Steelsworn gain +50 Health and +1 Armor. Steelsworn will sacrifice nearby thralls to regain health and sending the steelsworn into a frenzy. {dur} cooldown."; this.upgrades.saw.name = "Leech Protocol"; this.upgrades.saw.description = "Attacks now cleave, gain additional +300% damage against light, and +50% lifesteal."; this.upgrades.performanceEnhancers.description = "+35% movement speed"; this.createdBy = ["coop/commander/galavax/building/coop-galavax-legion-barracks"]; this.unlockedBy = ["coop/commander/galavax/building/coop-galavax-legion-barracks"]; this.upgradedBy = ["coop/commander/galavax/building/coop-galavax-citadel"]; } } export default CoopGalavaxSteelsworn;