ZeroSpace.gg

Marran Sharpshooter

Marran Co-Op T1 Merc Unit

import { MarranMercUnit } from "../../../../../defaults/marran.js"; import { Attack, Siege } from "../../../../../engine/ability.js"; export class CoopMarranSharpshooter extends MarranMercUnit { override uuid: string; static override src = "src/zerospace/coop/mercenary/marran/unit/coop-marran-sharpshooter.ts"; constructor() { super(); this.hexiteCost = 100; this.fluxCost = 200; this.buildCount = 3; this.name = "Marran Sharpshooter"; this.tier = "T1"; this.hotkey = "X"; 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", "Local.Marran.Trooper", ]; this.internalSecondaryTags = ["Infantry"]; this.uuid = "2cd388f9-3a35-48aa-9768-d5d1e75a27a5"; this.description = "Infantry which can deploy to attack with extra range in a limited area."; this.shortName = "Sharpshooter"; this.supply = 3; this.shieldRegen = 9; 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 = ["coop/mercenary/marran/building/coop-marran-bulwark"!]; this.attacks.seekerLance = new Attack({ internalId: "Default__MarranDischargeRifle_C", name: "Seeker Lance", damage: 20, 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 +100% attack speed against units in a limited arc. \nCannot move while in firing position.", hotkey: "F", duration: 0.3, parentId: this.id, parentUUID: this.uuid, }); } } export default CoopMarranSharpshooter;