UNPKG

@zerospacegg/iolin

Version:

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

71 lines 2.73 kB
/** * Hammerhead - Protectorate transport aircraft with healing capabilities * Flying transport unit that can load/unload units and heal nearby allies */ import { ProtectorateArmyUnit } from "../../../../defaults/protectorate.js"; import { Passive, Siege, Spell } from "../../../../engine/ability.js"; export class Hammerhead extends ProtectorateArmyUnit { get infuseCost() { return 16; } constructor() { super(); this.hexiteCost = 100; this.fluxCost = 100; this.buildTime = 46; this.buildCount = 1; this.name = "Hammerhead"; this.tier = "T2"; this.supply = 4; this.hotkey = "Y"; this.uuid = "7d66d0d8-3685-4d5f-917a-b797520acf5d"; // Unit stats this.hp = 350; this.shields = 0; this.armor = 0; this.armorType = "heavy"; this.speed = 700; this.vision = 1600; this.domain = "air"; this.description = "Flying transport unit that can carry ground units. Heals units while in transport and can heal nearby units when landed."; this.maxAddOns = 0; this.createdBy = ["faction/protectorate/building/starport"]; this.upgradedBy = ["faction/protectorate/building/mechanical-research-lab"]; this.unlockedBy = ["faction/protectorate/building/starport"]; // Passive heal ability this.passives.healAura = new Passive({ name: "Heal Aura", description: "Heals nearby friendly units for 5 HP per second while in transport", healing: 5, cooldown: 1, parentId: this.id, parentUUID: this.uuid, }); // Unload ability (type spell) this.spells.unload = new Spell({ name: "Unload", description: "Unloads all contained units at the target location", hotkey: "U", cooldown: 0.1, parentId: this.id, parentUUID: this.uuid, }); // Land ability (siege type ability) this.sieges.land = new Siege({ name: "Land", description: "Lands the hammerhead, instantly unloading all contained units and granting 4 hp regen to nearby friendly units", hotkey: "C", cooldown: 0.5, togglesMode: "landed", parentId: this.id, parentUUID: this.uuid, }); // Add tags this.tags.push("transport", "can-be-infused", "can-be-reanimated", "can-be-mind-controlled"); } } // Static property for source path Hammerhead.src = "src/zerospace/faction/protectorate/unit/hammerhead.ts"; export default Hammerhead; //# sourceMappingURL=hammerhead.js.map