ZeroSpace.gg

Marran Sharpshooter

Marran T1 Merc Unit

import { MarranMercUnit } from "../../../../defaults/marran.js"; import { Attack, Siege } from "../../../../engine/ability.js"; export class MarranSharpshooter extends MarranMercUnit { override uuid: string; static override src = "src/zerospace/mercenary/marran/unit/marran-sharpshooter.ts"; constructor() { super(); this.hexiteCost = 100; this.fluxCost = 200; this.buildCount = 3; this.name = "Marran Sharpshooter"; this.tier = "T1"; this.internalId = "Troop_Marran_Sharpshooter_C"; this.internalPath = "/Game/Nova/Archetypes_Troops/Troop_Marran_Sharpshooter.Default__Troop_Marran_Sharpshooter_C"; this.internalTags = [ "Attackable.Unit.Troop", "Attackable.Unit.Light", "Attackable.ArmorType.Light", "Attackable.Biological", ]; this.internalSecondaryTags = ["Infantry"]; this.uuid = "fa911f95-449e-47a7-9aa4-8084ed260d3d"; this.description = "Infantry which can deploy to attack with extra range in a limited area."; this.shortName = "Sharpshooter"; this.supply = 3; this.hp = 100; this.shields = 100; this.armorType = "light"; this.speed = 450; this.vision = 1800; this.turnSpeed = 5000; // TODO: Convert to getter - this.infuseCost = 5; this.createdBy = ["mercenary/marran/building/marran-mothership"!]; this.unlockedBy = ["mercenary/marran/building/marran-mothership"!]; this.attacks.seekerLance = new Attack({ name: "Seeker Lance", damage: 15, cooldown: 1.0, requiresMode: "sieged", armorPenetration: 0, delay: 0.01, range: 1200, targets: ["air", "ground"], bonusDamage: [{ multiplier: 1.5, vs: ["armor:light"] }], parentId: this.id, parentUUID: this.uuid, }); this.sieges.firingPosition = new Siege({ name: "Firing Position", description: "Gain +100% range and +50% attack speed against units in a limited arc. \nCannot move while in firing position.", hotkey: "F", togglesMode: "siege", duration: 0.3, }); } } export default MarranSharpshooter;