ZeroSpace.gg

World Forge

Xol Tech Building

import { XolTechBuilding } from "../../../../defaults/xol.js"; import { GlobalUpgrade } from "../../../../engine/ability.js"; export class WorldForge extends XolTechBuilding { override uuid: string; static override src = "src/zerospace/faction/xol/building/world-forge.ts"; constructor() { super(); this.name = "World Forge"; this.unlocksMercTier = "T3"; this.description = "A research structure. Upgrades affect all Xol units. Only 3 upgrade types can be researched.\nUnits nearby the structure gain double the upgrade bonus."; this.wikiDescription = "A research structure. Upgrades affect all Xol units. Only 3 upgrade types can be researched.\nUnits nearby the structure gain double the upgrade bonus."; this.tier = ""; this.hotkey = "X"; this.uuid = "08356581-4233-4041-b27b-59d84ab46941"; this.hexiteCost = 100; this.fluxCost = 100; this.buildTime = 75; this.buildCount = 1; this.hp = 1000; this.armor = 1; this.armorType = "building"; this.upgradeSelectionLimit = 3; this.nearbyUpgradeMultiplier = 2; this.unlockedBy = ["faction/xol/building/molten-core"]; this.unlocks = [ "faction/xol/unit/gravitron", "faction/xol/unit/eradicator", "faction/xol/unit/aegis", "faction/xol/unit/cataclyst", "faction/xol/unit/paradox", ]; const sharedUpgradeData = { maxRank: 1, appliesToTags: ["faction:xol", "unit"], researchTime: 60, parentId: this.id, parentUUID: this.uuid, } as const; this.upgrades.armor = new GlobalUpgrade({ name: "Armor", description: "+1 Armor to all Xol units.", fluxCost: 200, ...sharedUpgradeData, }); this.upgrades.cooldownReduction = new GlobalUpgrade({ name: "Cooldown Reduction", description: "+20% cooldown rate to all Xol units.", fluxCost: 200, ...sharedUpgradeData, }); this.upgrades.damage = new GlobalUpgrade({ name: "Damage", description: "+10% weapon damage to all Xol units.", fluxCost: 200, ...sharedUpgradeData, }); this.upgrades.vitals = new GlobalUpgrade({ name: "Vitals", description: "+10% health and shields to all Xol units.", fluxCost: 200, ...sharedUpgradeData, }); this.upgrades.weaponRange = new GlobalUpgrade({ name: "Weapon Range", description: "+20% weapon range to all Xol units.", fluxCost: 200, ...sharedUpgradeData, }); this.upgrades.castingRange = new GlobalUpgrade({ name: "Casting Range", description: "+20% casting range to all Xol units.", fluxCost: 400, ...sharedUpgradeData, }); } } export default WorldForge;