ZSGG Public Library
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;