ZSGG Public Library
Corsair Raider
Free-corsairs Co-Op T1 Merc Unit
import { FreeCorsairsMercUnit } from "../../../../../defaults/corsair.js";
import { Attack, Spell } from "../../../../../engine/ability.js";
class CoopCorsairRaider extends FreeCorsairsMercUnit {
override uuid: string;
static override src = "src/zerospace/coop/mercenary/free-corsairs/unit/coop-corsair-raider.ts";
constructor() {
super();
this.name = "Corsair Raider";
this.tier = "T1";
this.hexiteCost = 175;
this.fluxCost = 0;
this.hotkey = "Z";
this.buildCount = 3;
this.internalId = "Troop_Dread_Demo_C";
this.internalPath = "/Game/Nova/Archetypes_Troops/Troop_Dread_Demo.Default__Troop_Dread_Demo_C";
this.internalTags = [
"Attackable.Unit.Troop",
"Attackable.Unit.Light",
"Attackable.ArmorType.Light",
"Attackable.Biological",
"Local.Dread.Raider",
];
this.internalSecondaryTags = ["Biological", "Infantry"];
this.uuid = "e519563a-4093-4937-8075-4968a60005e1";
this.description = "Light infantry which can steal Hexite from enemies. \nCan jump up and down cliffs.";
this.shortName = "Raider";
this.hp = 150;
this.shields = 0;
this.armor = 0;
this.armorType = "light";
this.speed = 650;
this.supply = 2;
this.turnSpeed = 5000;
// TODO: Convert to getter - this.infuseCost = 3;
this.createdBy = ["coop/mercenary/free-corsairs/building/coop-free-corsair-merc-outpost"!];
this.attacks.s2Marksman = new Attack({
internalId: "Default__Dread_Raider_Rifle_C",
name: "S-2 Marksman",
damage: 12,
cooldown: 1.5,
armorPenetration: 0,
delay: 0,
range: 900,
targets: ["air", "ground"],
bonusDamage: [{ multiplier: 1.5, vs: ["armor:medium"] }],
parentId: this.id,
parentUUID: this.uuid,
});
this.spells.thieve = new Spell({
name: "Thieve",
cooldown: 60.0,
targets: ["ground"],
delay: 5.0,
description:
"Steals 100 hexite from target main building or 70 flux from harvesters. The owner does not lose resources.",
parentId: this.id,
parentUUID: this.uuid,
});
}
}
export default CoopCorsairRaider;