ZeroSpace.gg

Hellfire

Protectorate T2.5 Army Unit

import { ProtectorateArmyUnit } from "../../../../defaults/protectorate.js"; import { Attack, Siege, Upgrade } from "../../../../engine/ability.js"; export class Hellfire extends ProtectorateArmyUnit { override uuid: string; static override src = "src/zerospace/faction/protectorate/unit/hellfire.ts"; override get infuseCost(): number | undefined { return 13; } constructor() { super(); this.hexiteCost = 150; this.fluxCost = 100; this.buildTime = 65; this.name = "Hellfire"; this.tier = "T2.5"; this.supply = 6; this.uuid = "a4cb9bbf-57ca-4d5a-8611-6dad6020799e"; this.internalId = "Troop_Prot_Hellfire_C"; this.internalPath = "/Game/Nova/Archetypes_Troops/Troop_Prot_Hellfire.Default__Troop_Prot_Hellfire_C"; this.internalTags = ["Attackable.Unit.Troop", "Attackable.ArmorType.Medium"]; this.internalSecondaryTags = ["Vehicle"]; this.description = "Long range artillery"; this.hp = 300; this.armorType = "medium"; this.speed = 400; this.turnSpeed = 1000; this.pushability = 0.45; const unit = this; this.attacks.missileLauncher = new Attack({ name: "Missile Launcher", damage: 16, shots: 6, cooldown: 5, cooldownBetweenShots: 0.2, requiresMode: "sieged", armorPenetration: 0, delay: 0, range: 1600, splash: { multiplier: 1.0, range: 200 }, targets: ["ground"], parentId: this.id, parentUUID: this.uuid, }); this.sieges.siegeMode = new Siege({ name: "Siege mode", description: "Siege to gain +87.5% attack range. Cannot move while sieged.", hotkey: "C", togglesMode: "siege", cooldown: 2.5, }); this.upgrades.resonantMissiles = new Upgrade({ name: "Resonant Missiles", description: "+50% missile speed. \n+15% more missiles", tier: "T3.5", fluxCost: 150, researchTime: 60, apply() { // we don't have projectile speed as a thing we can track, so cant do missile speed unit.attacks.missileLauncher!.shots! += 1; // this is the 15% more missiles }, parentId: this.id, parentUUID: this.uuid, }); this.createdBy = ["faction/protectorate/building/assembly-plant"]; this.upgradedBy = ["faction/protectorate/building/mechanical-research-lab"]; this.unlockedBy = ["faction/protectorate/building/assembly-plant"]; } } export default Hellfire;