ZeroSpace.gg

World Forge

Xol Tech Building

import { XolTechBuilding } from "../../../../defaults/xol.js"; import { Upgrade } 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.description = "Choose up to 3 of 6 upgrades. Each upgrade can gain 2 ranks, or 3 ranks with the T3 Upgrades talent.\nUpgrades affect all Xol army units. Units near the World Forge gain double the upgrade bonus."; this.wikiDescription = "Choose up to 3 of 6 upgrades. Each upgrade can gain 2 ranks, or 3 ranks with [[faction/xol/talents/t3-upgrades]].\nUpgrades affect all Xol army units. Units near the World Forge 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.unlocks = ["faction/xol/unit/gravitron", "faction/xol/unit/eradicator"]; const sharedUpgradeData = { maxRank: 2, maxRankWithTalent: 3, rankUnlockTalent: "faction/xol/talents/t3-upgrades", appliesToTags: ["faction:xol", "unit:army"], researchTime: 60, parentId: this.id, parentUUID: this.uuid, } as const; this.upgrades.armor = new Upgrade({ name: "Armor", description: "+1 Armor to all Xol army units per rank.", fluxCost: 200, ...sharedUpgradeData, }); this.upgrades.cooldownReduction = new Upgrade({ name: "Cooldown Reduction", description: "+20% cooldown rate to all Xol army units per rank.", fluxCost: 200, ...sharedUpgradeData, }); this.upgrades.damage = new Upgrade({ name: "Damage", description: "+10% weapon damage to all Xol army units per rank.", fluxCost: 200, ...sharedUpgradeData, }); this.upgrades.vitals = new Upgrade({ name: "Vitals", description: "+10% health and shields to all Xol army units per rank.", fluxCost: 200, ...sharedUpgradeData, }); this.upgrades.weaponRange = new Upgrade({ name: "Weapon Range", description: "+20% weapon range to all Xol army units per rank.", fluxCost: 200, ...sharedUpgradeData, }); this.upgrades.castingRange = new Upgrade({ name: "Casting Range", description: "+20% casting range to all Xol army units per rank.", fluxCost: 400, ...sharedUpgradeData, }); } } export default WorldForge;