ZeroSpace.gg

Roller

Xol T1 Army Unit

import { XolArmyUnit } from "../../../../defaults/xol.js"; import { Attack } from "../../../../engine/ability.js"; import { applyXolMerges } from "../_util/xol-merges.js"; export class Roller extends XolArmyUnit { override uuid: string; static override src = "src/zerospace/faction/xol/unit/roller.ts"; constructor() { super(); applyXolMerges(this); this.hexiteCost = 100; this.fluxCost = 0; this.buildTime = 0; this.buildCount = 2; this.name = "Roller"; this.tier = "T1"; this.hotkey = ""; this.uuid = "e49d21f3-9b20-422a-a67f-f7cdb4429e2f"; this.internalId = "Troop_Xol_Rumbler_C"; this.internalPath = "/Game/Nova/Archetypes_Troops/Troop_Xol_Rumbler.Default__Troop_Xol_Rumbler_C"; this.internalTags = [ "Attackable.Unit.Troop", "Attackable.ArmorType.Light", "Local.Xol.Rumbler", "Troop.Xol.Tier1", ]; this.internalSecondaryTags = ["Infantry"]; this.description = "Short-range unit that can roll when moving."; this.transformsInto = ["faction/xol/unit/havoc"]; this.createdBy = ["faction/xol/building/gyroforge"]; this.unlockedBy = ["faction/xol/building/gyroforge"]; this.hp = 70; this.shields = 0; this.armor = 0; this.armorType = "light"; this.speed = 400; this.supply = 1; this.turnSpeed = 3000; this.vision = 1600; this.pushability = 0; this.modes = [ { slug: "normal", name: "Normal", description: "Has not been upgraded by the Molten Core." }, { slug: "molten", name: "Molten", description: "Upgraded by the Molten Core for 50 energy." }, ]; this.attacks.primary = new Attack({ name: "Sentinel Ray", damage: 4, range: 200, cooldown: 0.4, armorPenetration: 0, delay: 0.3, targets: ["ground", "air"], requiresMode: "normal", parentId: this.id, parentUUID: this.uuid, }); this.attacks.shockwave = new Attack({ name: "Shockwave", damage: 50, cooldown: 1, range: 100, splash: { multiplier: 1, range: 200 }, bonusDamage: [{ multiplier: 2, vs: ["armor:medium"] }], targets: ["ground"], requiresMode: "molten", parentId: this.id, parentUUID: this.uuid, }); } } export default Roller;