ZeroSpace.gg

Commando

Protectorate T1 Army Unit

import { ProtectorateArmyUnit } from "../../../../defaults/protectorate.js"; import { Attack, Spell, Upgrade } from "../../../../engine/ability.js"; export class Commando extends ProtectorateArmyUnit { override uuid: string; static override src = "src/zerospace/faction/protectorate/unit/commando.ts"; constructor() { super(); this.hexiteCost = 50; this.fluxCost = 0; this.buildTime = 24; this.name = "Commando"; this.tier = "T1"; this.supply = 2; this.uuid = "38c2cfa9-c894-47b9-a2c0-7715de8ed15c"; this.internalId = "Troop_Prot_Commando_C"; this.internalPath = "/Game/Nova/Archetypes_Troops/Troop_Prot_Commando.Default__Troop_Prot_Commando_C"; this.internalTags = [ "Attackable.Unit.Troop", "Attackable.Unit.Light", "Attackable.ArmorType.Light", "Attackable.Biological", ]; this.internalSecondaryTags = ["Biological", "Infantry"]; this.hp = 125; this.armor = 0; this.armorType = "light"; this.speed = 550; this.turnSpeed = 5000; this.description = "Ranged infantry equipped with a jetpack"; this.attacks.s10CombatRifle = new Attack({ internalId: "Default__Prot_CommandoRifle_C", name: "S-10 Combat Rifle", damage: 7, cooldown: 0.8, armorPenetration: 0, delay: 0.01, range: 700, targets: ["ground", "air"], parentId: this.id, parentUUID: this.uuid, }); const commando = this; this.spells.jetpack = new Spell({ name: "Jetpack", hotkey: "D", cooldown: 18, description: "Jump to a target location, ignoring terrain.", parentId: this.id, parentUUID: this.uuid, }); this.upgrades.impulseThrusters = new Upgrade({ name: "Impulse Thrusters", unlockedBy: ["faction/protectorate/building/research-lab"], description: "-33% Jetpack cooldown. \n+42% Jetpack Range.\n(Affects Prefect Aster)", tier: "T1", position: "A", fluxCost: 100, researchTime: 40, parentId: this.id, parentUUID: this.uuid, }); this.upgrades.magneticRifling = new Upgrade({ name: "Magnetic Rifling", unlockedBy: ["faction/protectorate/building/research-lab"], description: "+3 attack range\n(Affects Prefect Aster)", tier: "T1", position: "B", fluxCost: 100, researchTime: 45, apply: () => { commando.attacks.s10CombatRifle!.range! += 300; }, parentId: this.id, parentUUID: this.uuid, }); this.upgrades.eagleTactics = new Upgrade({ name: "Eagle Tactics", unlockedBy: ["faction/protectorate/building/mechanical-research-lab"], description: "After using Jetpack, for 4 seconds: \n+40% attack speed \n+40% movement speed.\n(Affects Prefect Aster)", tier: "T2", position: "A", fluxCost: 150, researchTime: 60, parentId: this.id, parentUUID: this.uuid, }); this.createdBy = ["faction/protectorate/building/prot-barracks"]; this.upgradedBy = ["faction/protectorate/building/research-lab"]; this.unlockedBy = ["faction/protectorate/building/prot-barracks"]; } } export default Commando;