UNPKG

@zerospacegg/iolin

Version:

Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)

69 lines 2.68 kB
/** * Dread Sniper - Long-range T1 precision unit with crippling shot ability * Elite marksman who combines advanced marksmanship with social justice philosophy */ import { DreadRaidersMercUnit } from "../../../../defaults/dread.js"; import { Attack, Spell } from "../../../../engine/ability.js"; class DreadSniper extends 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 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 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"; export default DreadSniper; //# sourceMappingURL=dread-sniper.js.map