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"; override get infuseCost(): number | undefined { return 3; } 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 = 130; 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({ name: "S-10 Combat Rifle", damage: 8, cooldown: 0.84, 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", description: "-33% Jetpack cooldown. \n+42% Jetpack Range.", tier: "T1", fluxCost: 100, researchTime: 40, parentId: this.id, parentUUID: this.uuid, }); this.upgrades.precisionScope = new Upgrade({ name: "Precision Scope", description: "+4 attack range", tier: "T1.5", fluxCost: 100, researchTime: 45, apply: () => { commando.attacks.s10CombatRifle!.range! += 400; }, parentId: this.id, parentUUID: this.uuid, }); this.upgrades.assaultTraining = new Upgrade({ name: "Assault Training", description: "After using Jetpack, for 4 seconds: \n+50% attack speed \n+50% movement speed.", tier: "T2.5", 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;