ZeroSpace.gg

Sentinel

Protectorate T1.5 Army Unit

import { ProtectorateArmyUnit } from "../../../../defaults/protectorate.js"; import { Attack, Upgrade } from "../../../../engine/ability.js"; class Sentinel extends ProtectorateArmyUnit { override uuid: string; static override src = "src/zerospace/faction/protectorate/unit/sentinel.ts"; constructor() { super(); this.hexiteCost = 75; this.fluxCost = 75; this.buildTime = 40; 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 = "71c56c20-0458-4f2d-905d-aa71d7f0f297"; 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 = 525; 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.hr7mRailCannon = new Attack({ name: "HR-7M 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", description: "+4 attack range", tier: "T1.5", fluxCost: 100, researchTime: 45, apply: () => { this.attacks.hr7mRailCannon!.range! += 400; }, parentId: this.id, parentUUID: this.uuid, }); this.upgrades.heavyRockets = new Upgrade({ name: "Heavy Rockets", description: "+100% damage vs heavy armor", tier: "T1.5", fluxCost: 100, researchTime: 45, apply: () => { const attack = this.attacks.hr7mRailCannon!; attack.bonusDamage![0]!.multiplier! += 3.0; }, parentId: this.id, parentUUID: this.uuid, }); } } export default Sentinel;