ZeroSpace.gg

Hauler

Protectorate T2 Army Unit

import { ProtectorateArmyUnit } from "../../../../defaults/protectorate.js"; import { Passive, Siege, Spell, Upgrade } from "../../../../engine/ability.js"; export class Hauler extends ProtectorateArmyUnit { override uuid: string; static override src = "src/zerospace/faction/protectorate/unit/hauler.ts"; constructor() { super(); this.hexiteCost = 100; this.fluxCost = 100; this.buildTime = 40; this.buildCount = 1; this.name = "Hauler"; this.tier = "T2"; this.supply = 4; this.hotkey = "Y"; this.uuid = "7d66d0d8-3685-4d5f-917a-b797520acf5d"; this.internalId = "Troop_Prot_MP_Hammerhead_C"; this.internalPath = "/Game/Nova/Archetypes_Troops/Multiplayer/Protectorate/Troop_Prot_MP_Hammerhead.Default__Troop_Prot_MP_Hammerhead_C"; this.internalTags = ["Attackable.ArmorType.Heavy", "Attackable.FlyingUnit", "Attackable.Unit.Troop"]; this.internalSecondaryTags = ["Air"]; this.hp = 500; this.shields = 0; this.armor = 2; this.armorType = "heavy"; this.speed = 600; this.vision = 1800; this.turnSpeed = 2000; this.domain = "air"; this.description = "Air transport. Heals biological units inside. \nCan land to heal biological units nearby. \nMust be landed to load units."; this.maxTurrets = 0; this.carryCapacity = 20; this.createdBy = ["faction/protectorate/building/skydock"]; this.upgradedBy = ["faction/protectorate/building/mechanical-research-lab"]; this.unlockedBy = ["faction/protectorate/building/skydock"]; this.passives.healAura = new Passive({ name: "Heal Aura", description: "Heals nearby friendly units for 5 HP per second while in transport", healing: 5, cooldown: 1, effectRadius: 1000, parentId: this.id, parentUUID: this.uuid, }); this.spells.unload = new Spell({ name: "Unload", description: "Unloads all contained units at the target location", hotkey: "U", cooldown: 0.1, parentId: this.id, parentUUID: this.uuid, }); this.sieges.combatLanding = new Siege({ name: "Combat Landing", description: "Lands the hauler, unloading loaded units and healing nearby biological units for 4 health per second", hotkey: "C", cooldown: 0.5, parentId: this.id, parentUUID: this.uuid, }); this.upgrades.medbays = new Upgrade({ name: "Medbays", description: "+75% healing rate, +20% healing radius.", tier: "T1", position: "A", fluxCost: 100, researchTime: 30, unlockedBy: ["faction/protectorate/building/mechanical-research-lab"], parentId: this.id, parentUUID: this.uuid, }); this.upgrades.transport = new Upgrade({ name: "Transport", description: "+50% transport capacity. \n+50% movement speed out of combat. \nAllows units to be loaded while flying.", tier: "T1", position: "B", fluxCost: 100, researchTime: 30, unlockedBy: ["faction/protectorate/building/mechanical-research-lab"], parentId: this.id, parentUUID: this.uuid, }); } } export default Hauler;