ZeroSpace.gg

Supply Platform

Protectorate T0 Supply Building

import { ProtectorateSupplyBuilding } from "../../../../defaults/protectorate.js"; import { Attack } from "../../../../engine/ability.js"; import { Turret } from "../../../../engine/turret.js"; export class SupplyPlatform extends ProtectorateSupplyBuilding { override uuid: string; static override src = "src/zerospace/faction/protectorate/building/supply-platform.ts"; constructor() { super(); this.hexiteCost = 75; this.fluxCost = 0; this.buildTime = 12; this.name = "Supply Platform"; this.description = `Provides ${this.providesSupply} Supply. \n Can be upgraded to provide additional utility.`; this.tier = "T0"; this.uuid = "3de70e15-5469-4834-aa4d-b86fbe7ceb55"; this.internalId = "Building_Platform_C"; this.internalPath = "/Game/Nova/Archetypes_Buildings/Building_Platform.Default__Building_Platform_C"; this.internalTags = ["Building.Prot.DefPlatform", "Building.Supply", "Attackable.Building.Anorganic"]; this.internalSecondaryTags = []; this.hp = 500; this.shields = 0; this.armorType = "light"; this.createdBy = ["faction/protectorate/unit/prot-build-drone"]; this.unlockedBy = ["faction/protectorate/building/operating-tower"]; this.unlocks = ["faction/protectorate/building/prot-barracks", "faction/protectorate/building/research-lab"]; this.maxTurrets = 1; const supplyPlatform = this; // this.turrets.enhancedSupplyPlatform = new Turret({ // name: "Enhanced Supply Platform", // description: "Increases supply capacity and structural integrity", // hexiteCost: 100, // buildTime: 3, // hp: 550, // unlocked: false, // apply() { // supplyPlatform.hp = (supplyPlatform.hp || 0) + 550; // supplyPlatform.providesSupply = (supplyPlatform.providesSupply || 0) + 18; // }, // }); this.turrets.sensorPlatform = new Turret({ name: "Sensor Platform", description: "Uprage to provide vision over a large area. \nProvides high ground vision.", hexiteCost: 50, buildTime: 12, hp: 300, unlocked: false, apply() { supplyPlatform.hp = (supplyPlatform.hp || 0) + 300; supplyPlatform.vision = 3600; }, }); this.turrets.turretPlatform = new Turret({ internalId: "Building_PlatformTurret_C", internalPath: "/Game/Nova/Archetypes_Buildings/Building_PlatformTurret.Default__Building_PlatformTurret_C", name: "Turret Platform", description: "Attach a missile launcher to the platform.", hexiteCost: 75, buildTime: 25, hp: 500, unlocked: false, apply() { supplyPlatform.hp! += 500; supplyPlatform.attacks.rocketBarrage!.unlocked = true; }, }); this.attacks.rocketBarrage = new Attack({ name: "Rocket Barrage", description: "Defensive turret attack", damage: 10, shots: 3, bonusDamage: [{ multiplier: 1.5, vs: ["domain:air"] }], cooldown: 1.5, range: 1500, targets: ["air", "ground"], unlocked: false, parentId: this.id, parentUUID: this.uuid, }); } } export default SupplyPlatform;