ZeroSpace.gg

Griffin

Protectorate Co-Op T3 Army Unit

import { ArmyUnit } from "../../../../../engine/unit.js"; import { Attack, Heal, Spell, Upgrade } from "../../../../../engine/ability.js"; export class CoopGriffin extends ArmyUnit { static override src = "src/zerospace/coop/commander/aster/unit/coop-aster-griffin.ts"; constructor() { super(); this.faction = "protectorate"; this.factionName = "Protectorate"; 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 = "484fd5e4-a0f4-481e-be48-8b4464720de5"; 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 = 550; this.vision = 1800; this.turnSpeed = 2000; this.attacks.magellanLightPulseCannon = new Attack({ internalId: "Default__Weapon_Prot_AirCaster_C", name: "Magellan 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; unit.heals.supportMatrix = new Heal({ name: "Support Matrix", healing: 11, 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", unlockedBy: ["faction/protectorate/building/mechanical-research-lab"], description: "Unlocks EMP ability", fluxCost: 150, researchTime: 60, tier: "T1", position: "A", parentId: this.id, parentUUID: this.uuid, }); this.upgrades.serviceRelay = new Upgrade({ name: "Service Relay", unlockedBy: ["faction/protectorate/building/mechanical-research-lab"], tier: "T1", position: "B", 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"]; // 25 hexite cheaper than the PvP Griffin. this.hexiteCost = 100; this.hp = 250; this.internalId = undefined; this.internalPath = undefined; this.setVariantUUID("coop-aster"); this.upgrades.bioMatrix = new Upgrade({ name: "Bio-Matrix", description: "Allows the Griffin to heal biological units.", tier: "T1", position: "B", fluxCost: 150, researchTime: 60, parentId: this.id, parentUUID: this.uuid, uuid: "7371c6ba-bb74-4233-89ab-fbcc66b1a4ce", }); this.upgrades.serviceRelay.tier = "T2"; this.upgrades.serviceRelay.position = "A"; this.upgrades.serviceRelay.description = "+40% Support Matrix repair rate."; this.unlockedBy = ["coop/commander/aster/building/coop-aster-war-foundry"]; this.createdBy = ["coop/commander/aster/building/coop-aster-war-foundry"]; this.upgradedBy = ["coop/commander/aster/building/coop-aster-mechanical-research-lab"]; this.upgrades.serviceRelay.fluxCost = 200; this.upgrades.serviceRelay.researchTime = 70; } } export default CoopGriffin;