ZeroSpace.gg

Sentinel

Protectorate Co-Op T1.5 Army Unit

import { ArmyUnit } from "../../../../../engine/unit.js"; import { Attack, Upgrade } from "../../../../../engine/ability.js"; export class CoopSentinel extends ArmyUnit { static override src = "src/zerospace/coop/commander/aster/unit/coop-aster-sentinel.ts"; constructor() { super(); this.faction = "protectorate"; this.factionName = "Protectorate"; this.hexiteCost = 75; this.fluxCost = 75; this.buildTime = 36; this.buildCount = 1; this.name = "Sentinel"; this.description = "Ranged infantry equipped with an anti-heavy cannon."; this.tier = "T1.5"; this.hotkey = "R"; this.uuid = "c5916a87-f869-46bd-a211-238c93cf48c8"; this.internalId = "Troop_Prot_MP_HeavyRail_C"; this.internalPath = "/Game/Nova/Archetypes_Troops/Multiplayer/Protectorate/Troop_Prot_MP_HeavyRail.Default__Troop_Prot_MP_HeavyRail_C"; this.internalTags = [ "Attackable.Unit.Troop", "Attackable.Unit.Light", "Attackable.ArmorType.Light", "Attackable.Biological", ]; this.internalSecondaryTags = ["Infantry"]; this.hp = 180; this.shields = 0; this.armor = 0; this.armorType = "light"; this.speed = 550; this.turnSpeed = 5000; this.vision = 1600; this.pushability = 1; this.supply = 3; this.unlockedBy = ["faction/protectorate/building/research-lab"]; this.upgradedBy = ["faction/protectorate/building/research-lab"]; this.createdBy = ["faction/protectorate/building/prot-barracks"]; this.attacks.hR7RailCannon = new Attack({ internalId: "Default__Weapon_Prot_RocketTrooper_Beam_C", name: "HR-7 Rail Cannon", damage: 30, cooldown: 2.6, armorPenetration: 0, delay: 0.08, range: 1300, targets: ["ground"], bonusDamage: [{ multiplier: 2.0, vs: ["armor:heavy"] }], parentId: this.id, parentUUID: this.uuid, }); this.upgrades.longshotCalibration = new Upgrade({ name: "Longshot Calibration", unlockedBy: ["faction/protectorate/building/research-lab"], description: "+4 attack range", tier: "T1", position: "A", fluxCost: 100, researchTime: 45, apply: () => { this.attacks.hR7RailCannon!.range! += 400; }, parentId: this.id, parentUUID: this.uuid, }); this.upgrades.heavyRockets = new Upgrade({ name: "Heavy Rockets", unlockedBy: ["faction/protectorate/building/mechanical-research-lab"], description: "+100% damage vs heavy armor", tier: "T1", position: "B", fluxCost: 100, researchTime: 45, apply: () => { const attack = this.attacks.hR7RailCannon!; attack.bonusDamage![0]!.multiplier! += 3.0; }, parentId: this.id, parentUUID: this.uuid, }); this.internalId = undefined; this.internalPath = undefined; this.setVariantUUID("coop-aster"); delete this.upgrades.longshotCalibration; this.upgrades.longshotCalibration = new Upgrade({ name: "Longshot Calibration", unlockedBy: ["faction/protectorate/building/research-lab"], description: "+4 attack range", tier: "T1", position: "A", fluxCost: 100, researchTime: 45, apply: () => { this.attacks.hR7RailCannon!.range! += 400; }, parentId: this.id, parentUUID: this.uuid, }); delete this.upgrades.heavyRockets; this.upgrades.hyperdenseRounds = new Upgrade({ name: "Hyperdense Rounds", unlockedBy: ["faction/protectorate/building/mechanical-research-lab"], description: "+100% damage vs heavy armor", tier: "T2", position: "A", fluxCost: 100, researchTime: 45, apply: () => { const attack = this.attacks.hR7RailCannon!; attack.bonusDamage![0]!.multiplier! += 3.0; }, parentId: this.id, parentUUID: this.uuid, }); this.upgrades.falcoRounds = new Upgrade({ name: "Falco Rounds", description: "Sentinels can target air units.", tier: "T2", position: "B", fluxCost: 150, researchTime: 45, parentId: this.id, parentUUID: this.uuid, uuid: "132e13bd-eae0-4b7e-961a-fa1a73e5da17", }); this.unlockedBy = ["coop/commander/aster/building/coop-aster-research-lab"]; this.createdBy = ["coop/commander/aster/building/coop-aster-prot-barracks"]; this.upgradedBy = ["coop/commander/aster/building/coop-aster-research-lab"]; } } export default CoopSentinel;