UNPKG

@zerospacegg/iolin

Version:

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

105 lines 3.8 kB
/** * Griffin - Multi-role support aircraft with triple healing beams and EMP capabilities * Flying support unit with healing and electromagnetic warfare abilities */ import { ProtectorateArmyUnit } from "../../../../defaults/protectorate.js"; import { Attack, Heal, Spell, Upgrade } from "../../../../engine/ability.js"; export class Griffin extends ProtectorateArmyUnit { get infuseCost() { return 16; } constructor() { super(); // Auto-generated fixes from dev data comparison this.hexiteCost = 125; this.fluxCost = 175; this.buildTime = 40; this.domain = "air"; this.name = "Griffin"; this.tier = "T3"; this.hotkey = "P"; this.supply = 6; this.uuid = "e93b9c8e-9a24-470d-aa35-b65e262384ff"; // Internal game engine data this.internalId = "Troop_Prot_Griffin_C"; this.internalPath = "/Game/Nova/Archetypes_Troops/Troop_Prot_Griffin.Default__Troop_Prot_Griffin_C"; this.internalTags = ["Attackable.Unit.Troop", "Attackable.FlyingUnit", "Attackable.ArmorType.Medium"]; this.internalSecondaryTags = ["Air"]; this.description = "Provides healing and can EMP enemy units. Attacks ground and air units."; this.hp = 250; this.armorType = "medium"; this.speed = 700; this.vision = 1800; this.turnSpeed = 2000; this.attacks.cannon = new Attack({ name: "Attack", damage: 12, cooldown: 1.1, cooldownBetweenShots: 1.1, armorPenetration: 0, delay: 0.01, range: 1400, targets: ["air", "ground"], parentId: this.id, parentUUID: this.uuid, }); // Triple healing beam system this.heals.healBeam1 = new Heal({ name: "Heal Beam 1", healing: 2, cooldown: 0.25, range: 1300, parentId: this.id, parentUUID: this.uuid, }); this.heals.healBeam2 = new Heal({ name: "Heal Beam 2", healing: 2, cooldown: 0.25, range: 1300, parentId: this.id, parentUUID: this.uuid, }); this.heals.healBeam3 = new Heal({ name: "Heal Beam 3", healing: 2, cooldown: 0.25, range: 1300, parentId: this.id, parentUUID: this.uuid, }); this.spells.emp = new Spell({ name: "EMP", description: "Drain 50 energy and knockback and breifly slow enemy units. 220 radius effect, 80% slower", energyCost: 75, energyType: "classic", parentId: this.id, parentUUID: this.uuid, }); this.upgrades.empUpgrade = new Upgrade({ name: "EMP", description: "Unlocks EMP ability", fluxCost: 150, researchTime: 45, tier: "T3.5", parentId: this.id, parentUUID: this.uuid, }); this.upgrades.improvedHeal = new Upgrade({ name: "Improved Heal", description: "Increase Healing Rate by 40%", fluxCost: 150, researchTime: 60, parentId: this.id, parentUUID: this.uuid, }); // Unit relationships this.createdBy = ["faction/protectorate/building/starport"]; this.unlockedBy = ["faction/protectorate/building/starport"]; this.upgradedBy = ["faction/protectorate/building/specialized-research-lab"]; } } // Static property for source path Griffin.src = "src/zerospace/faction/protectorate/unit/griffin.ts"; export default Griffin; //# sourceMappingURL=griffin.js.map