ZeroSpace.gg

Griffin

Protectorate T3 Army Unit

import { ProtectorateArmyUnit } from "../../../../defaults/protectorate.js"; import { Attack, Heal, Spell, Upgrade } from "../../../../engine/ability.js"; export class Griffin extends ProtectorateArmyUnit { override uuid: string; static override src = "src/zerospace/faction/protectorate/unit/griffin.ts"; override get infuseCost(): number | undefined { return 16; } constructor() { super(); this.hexiteCost = 125; this.fluxCost = 175; this.buildTime = 53; this.domain = "air"; this.name = "Griffin"; this.tier = "T3"; this.hotkey = "P"; this.supply = 6; this.uuid = "e93b9c8e-9a24-470d-aa35-b65e262384ff"; 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.providesDetection = true; this.description = "Repairs friendly vehicles, can cast EMP."; this.hp = 200; this.armorType = "medium"; this.armor = 1; this.speed = 650; this.vision = 1800; this.turnSpeed = 2000; this.attacks.lightPulseCannon = new Attack({ name: "Light Pulse Cannon", damage: 12, cooldown: 1.1, armorPenetration: 0, delay: 0.01, range: 1400, targets: ["air", "ground"], parentId: this.id, parentUUID: this.uuid, }); const unit = this; [1, 2, 3].forEach(i => { unit.heals[`supportMatrix${i}`] = new Heal({ name: `Support Matrix ${i}`, healing: 6, cooldown: 0.5, range: 1100, parentId: unit.id, parentUUID: unit.uuid, }); }); this.spells.emp = new Spell({ name: "EMP", description: "Drain 50 energy and shields, knocks back and breifly slow enemy units", cooldown: 50, parentId: this.id, parentUUID: this.uuid, }); this.upgrades.emp = new Upgrade({ name: "EMP", description: "Unlocks EMP ability", fluxCost: 150, researchTime: 45, tier: "T3.5", parentId: this.id, parentUUID: this.uuid, }); this.upgrades.serviceRelay = new Upgrade({ name: "Service Relay", description: "+30% Support Matrix repair rate.", fluxCost: 150, researchTime: 60, parentId: this.id, parentUUID: this.uuid, }); this.createdBy = ["faction/protectorate/building/skydock"]; this.unlockedBy = ["faction/protectorate/building/skydock"]; this.upgradedBy = ["faction/protectorate/building/mechanical-research-lab"]; } } export default Griffin;