ZSGG Public Library
Molten Core
Xol T2 Tech Building
import { XolTechBuilding } from "../../../../defaults/xol.js";
import { Passive, Spell } from "../../../../engine/ability.js";
export class MoltenCore extends XolTechBuilding {
override uuid: string;
static override src = "src/zerospace/faction/xol/building/molten-core.ts";
constructor() {
super();
this.name = "Molten Core";
this.description =
"Unlocks Tier 3 Xol units and Mercenaries.\nUpgrades individual units but has limited energy. Gains additional energy when an enemy unit dies on top of it.\nDeals damage to enemies that walk over it.\n\nRoller - Loses its weapon but explodes, damaging and slowing enemies.\nXyther - Rebuilds when destroyed. 120 second cooldown.\nSpectron - Projectile deals area damage but is slow.\nEcho - On attack creates a hallucination every 20 seconds. Lasts 60 seconds.";
this.wikiDescription = `
Unlocks Tier 3 Xol units and Mercenaries.
Upgrades individual units but has limited energy. Gains additional energy when an enemy unit dies on top of it.
Deals damage to enemies that walk over it.
- [[faction/xol/unit/roller]]: Loses its weapon but explodes, damaging and slowing enemies.
- [[faction/xol/unit/xyther]]: Rebuilds when destroyed. 120 second cooldown.
- [[faction/xol/unit/spectron]]: Projectile deals area damage but is slow.
- [[faction/xol/unit/echo]]: On attack, creates a hallucination every 20 seconds. Lasts 60 seconds.
`;
this.tier = "T2";
this.hotkey = "Z";
this.uuid = "157dc9ab-6e5d-4a2b-b257-7a802eebb302";
this.hexiteCost = 50;
this.fluxCost = 25;
this.buildTime = 40;
this.buildCount = 1;
this.hp = 1250;
this.armor = 1;
this.armorType = "building";
this.energy = 100;
this.startingEnergy = 100;
this.unlocks = [
"faction/xol/unit/echo",
"faction/xol/unit/defiant",
"faction/xol/unit/synapse",
];
this.spells.moltenRoller = new Spell({
name: "Molten Roller",
description: "Triggered when an allied Roller moves onto the Molten Core. Sets it to Molten mode.",
wikiDescription:
"Triggered when an allied [[faction/xol/unit/roller]] moves onto the Molten Core. Sets it to Molten mode.",
activationType: "trigger",
targetMode: "walk-over",
targets: ["friendly:ground"],
energyCost: 50,
energyType: "classic",
setsTargetMode: "molten",
parentId: this.id,
parentUUID: this.uuid,
});
this.spells.moltenXyther = new Spell({
name: "Molten Xyther",
description: "Triggered when an allied Xyther moves onto the Molten Core. Sets it to Molten mode.",
wikiDescription:
"Triggered when an allied [[faction/xol/unit/xyther]] moves onto the Molten Core. Sets it to Molten mode.",
activationType: "trigger",
targetMode: "walk-over",
targets: ["friendly:ground"],
energyCost: 100,
energyType: "classic",
setsTargetMode: "molten",
parentId: this.id,
parentUUID: this.uuid,
});
this.spells.moltenSpectron = new Spell({
name: "Molten Spectron",
description: "Triggered when an allied Spectron moves onto the Molten Core. Sets it to Molten mode.",
wikiDescription:
"Triggered when an allied [[faction/xol/unit/spectron]] moves onto the Molten Core. Sets it to Molten mode.",
activationType: "trigger",
targetMode: "walk-over",
targets: ["friendly:ground"],
energyCost: 100,
energyType: "classic",
setsTargetMode: "molten",
parentId: this.id,
parentUUID: this.uuid,
});
this.spells.moltenEcho = new Spell({
name: "Molten Echo",
description: "Triggered when an allied Echo moves onto the Molten Core. Sets it to Molten mode.",
wikiDescription:
"Triggered when an allied [[faction/xol/unit/echo]] moves onto the Molten Core. Sets it to Molten mode.",
activationType: "trigger",
targetMode: "walk-over",
targets: ["friendly:air"],
energyCost: 100,
energyType: "classic",
setsTargetMode: "molten",
parentId: this.id,
parentUUID: this.uuid,
});
this.passives.deathEnergy = new Passive({
name: "Death Energy",
description: "Gains energy when an enemy unit dies on top of the Molten Core.",
activationType: "trigger",
targetMode: "walk-over",
targets: ["ground", "air"],
parentId: this.id,
parentUUID: this.uuid,
});
this.passives.contactDamage = new Passive({
name: "Molten Contact Damage",
description: "Deals damage to enemies that walk over the Molten Core.",
activationType: "trigger",
targetMode: "walk-over",
targets: ["ground"],
parentId: this.id,
parentUUID: this.uuid,
});
}
}
export default MoltenCore;