ZeroSpace.gg

Predator

Protectorate Co-Op T2 Army Unit

import { ArmyUnit } from "../../../../../engine/unit.js"; import { Attack, Spell, Upgrade } from "../../../../../engine/ability.js"; export class CoopPredator extends ArmyUnit { static override src = "src/zerospace/coop/commander/aster/unit/coop-aster-predator.ts"; constructor() { super(); this.faction = "protectorate"; this.factionName = "Protectorate"; this.hexiteCost = 125; this.fluxCost = 25; this.buildTime = 36; this.buildCount = 2; this.name = "Predator"; this.tier = "T2"; this.supply = 3; this.uuid = "8081db56-9efb-44cf-a032-02a67e67b736"; this.internalId = "Troop_Prot_Predator_C"; this.internalPath = "/Game/Nova/Archetypes_Troops/Troop_Prot_Predator.Default__Troop_Prot_Predator_C"; this.internalTags = ["Attackable.Unit.Troop", "Attackable.ArmorType.Light"]; this.internalSecondaryTags = ["Vehicle"]; this.hp = 300; this.armor = 0; this.armorType = "light"; this.speed = 800; this.turnSpeed = 3000; this.pushability = 0.45; this.maxTurrets = 0; this.description = "Fast vehicle that can lay mines."; this.attacks.sKT23ShockCannon = new Attack({ internalId: "Default__Weapon_Vulture_GrenadeLauncher_C", name: "SKT-23 Shock Cannon", damage: 26, //TODO shoots two attacks in a burst. Represent this data cooldown: 2, armorPenetration: 0, delay: 0, range: 700, targets: ["ground"], bonusDamage: [{ multiplier: 1.5, vs: ["armor:medium"] }], parentId: this.id, parentUUID: this.uuid, }); this.spells.proximityMine = new Spell({ name: "Proximity Mine", description: "Lay a Proximity Mine (25hp, cloaked, deals 25 dmg, gives vision on slowed units when an enemy gets close)", cooldown: 120, forceAutocast: false, unlocked: false, parentId: this.id, parentUUID: this.uuid, }); this.upgrades.proximityMine = new Upgrade({ name: "Proximity Mine", unlockedBy: ["faction/protectorate/building/mechanical-research-lab"], description: "Unlocks Proximity Mine ability\nThis upgrade is temporarily not avilable!", tier: "T1", position: "A", fluxCost: 125, researchTime: 50, apply: () => { this.spells.proximityMine!.unlocked = true; }, parentId: this.id, parentUUID: this.uuid, }); this.upgrades.reinforcedMatrix = new Upgrade({ name: "Reinforced Matrix", unlockedBy: ["faction/protectorate/building/mechanical-research-lab"], description: "+50 shields", tier: "T1", position: "B", fluxCost: 125, researchTime: 50, parentId: this.id, parentUUID: this.uuid, }); this.createdBy = ["faction/protectorate/building/assembly-plant"]; this.upgradedBy = ["faction/protectorate/building/mechanical-research-lab"]; this.unlockedBy = ["faction/protectorate/building/assembly-plant"]; this.internalId = undefined; this.internalPath = undefined; this.setVariantUUID("coop-aster"); this.hp = 150; this.fluxCost = 0; this.unlockedBy = ["coop/commander/aster/building/coop-aster-assembly-plant"]; this.upgrades.proximityMine.description = "Unlocks Proximity Mine ability."; this.upgrades.proximityMine.fluxCost = 100; this.upgrades.proximityMine.researchTime = 40; this.upgrades.reinforcedMatrix.tier = "T2"; this.upgrades.reinforcedMatrix.position = "A"; this.upgrades.proximityMine.fluxCost = 100; this.upgrades.proximityMine.researchTime = 45; this.createdBy = ["coop/commander/aster/building/coop-aster-assembly-plant"]; this.upgradedBy = ["coop/commander/aster/building/coop-aster-mechanical-research-lab"]; } } export default CoopPredator;