@zerospacegg/iolin
Version:
Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)
71 lines • 2.79 kB
JavaScript
"use strict";
/**
* Dread Sniper - Long-range T1 precision unit with crippling shot ability
* Elite marksman who combines advanced marksmanship with social justice philosophy
*/
Object.defineProperty(exports, "__esModule", { value: true });
const dread_js_1 = require("../../../../defaults/dread.cjs");
const ability_js_1 = require("../../../../engine/ability.cjs");
class DreadSniper extends dread_js_1.DreadRaidersMercUnit {
constructor() {
super();
// Auto-generated fixes from dev data comparison
this.hexiteCost = 37.5;
this.fluxCost = 100;
this.name = "Dread Sniper";
this.tier = "T1";
this.hotkey = "S";
this.internalId = "Troop_DreadSniper_C";
this.internalPath = "/Game/Nova/Archetypes_Troops/Troop_DreadSniper.Default__Troop_DreadSniper_C";
this.internalTags = [
"Attackable.Unit.Troop",
"Attackable.Unit.Light",
"Attackable.ArmorType.Light",
"Attackable.Biological",
];
this.internalSecondaryTags = ["Infantry"];
this.uuid = "01c16a3f-740e-4150-afb4-cbb80efed840";
this.description = "Long range infantry that deals bonus damage vs light units. Attacks ground and air units.";
// Mutable properties (can be modified by upgrades)
this.shortName = "Sniper";
this.hp = 100;
this.shields = 100;
this.armor = 0;
this.armorType = "light";
this.speed = 425;
this.supply = 8;
this.vision = 2000;
this.turnSpeed = 4000;
// TODO: Convert to getter - this.infuseCost = 8;
// Relationships
this.createdBy = ["mercenary/dread/building/dread-merc-outpost"];
this.unlockedBy = ["mercenary/dread/building/dread-merc-outpost"];
// Primary attack - Long-range rifle
this.attacks.attack = new ability_js_1.Attack({
name: "Attack",
damage: 30,
cooldown: 2.2,
cooldownBetweenShots: 0.1,
armorPenetration: 0,
delay: 0.01,
range: 1750,
targets: ["air", "ground"],
parentId: this.id,
parentUUID: this.uuid,
});
// Crippling Shot special ability
this.spells.cripplingShot = new ability_js_1.Spell({
name: "Crippling Shot",
damage: 50,
cooldown: 75.0,
delay: 0.3,
description: "75s cooldown. deals 50 damage, slows target by 70% for 2 seconds",
parentId: this.id,
parentUUID: this.uuid,
});
}
}
// Static property for source path
DreadSniper.src = "src/zerospace/mercenary/dread/unit/dread-sniper.ts";
exports.default = DreadSniper;
//# sourceMappingURL=dread-sniper.js.map