@zerospacegg/iolin
Version:
Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)
77 lines • 3.23 kB
JavaScript
"use strict";
/**
* Emperor Projection - Ultimate sacrifice-powered manifestation
* Living vessel for collective thrall souls with devastating power scaling
*/
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.EmperorProjection = void 0;
const ability_js_1 = require("../../../../engine/ability.cjs");
const turret_js_1 = require("../../../../engine/turret.cjs");
const legion_classes_js_1 = require("../../legion-classes.cjs");
const ritual_site_js_1 = __importDefault(require("../building/ritual-site.cjs"));
class EmperorProjection extends legion_classes_js_1.LegionUltimateUnit {
constructor() {
super();
this.name = "Emperor Projection";
this.tier = "ultimate";
this.fluxCost = 0;
this.buildCount = 1;
this.hexiteCost = 0;
this.buildTime = 0;
this.uuid = "02b5fb2f-8759-4c09-b9bd-0b2c2cf80d49";
// Mutable properties - ultimate sacrifice vessel
this.supply = 0; // Ultimate units don't consume supply
this.hp = 2000; // Base power before soul absorption
this.shields = 0;
this.armor = 2;
this.armorType = "medium";
this.speed = 600;
// Relationships - summoned by ritual site
this.createdBy = [ritual_site_js_1.default.id];
this.unlockedBy = [ritual_site_js_1.default.id];
// Tags for identification and targeting
this.tag("massive");
// Devastating melee attack with building destruction focus
this.attacks.attack = new ability_js_1.Attack({
name: "Attack",
damage: 100, // Base damage, scales with soul sacrifice
cooldown: 1.4,
range: 300,
targets: ["ground"],
bonusDamage: [{ multiplier: 3.0, vs: ["building"] }],
splash: { multiplier: 1.0, range: 100 },
parentId: this.id,
parentUUID: this.uuid,
});
// Soul sacrifice mechanics
this.maxAddOns = 30; // Can consume up to 30 supply worth of souls
// Sacrifice system implementation
const emperor = this;
// Thrall Soul sacrifice - supply-based power scaling
this.turrets.thrallSoul = new turret_js_1.Turret({
name: "Thrall Soul",
description: "Each 1 supply worth of thralls sacrificed gives +50 HP and +5 attack damage",
subtype: "sacrifice",
hexiteCost: 0,
fluxCost: 0,
buildTime: 0,
hp: 0,
unlocked: true,
apply() {
// Each supply point of thralls sacrificed gives bonuses
emperor.hp = (emperor.hp || 0) + 50;
if (emperor.attacks.attack.damage) {
emperor.attacks.attack.damage += 5;
}
},
});
}
}
exports.EmperorProjection = EmperorProjection;
// Static property for source path
EmperorProjection.src = "src/zerospace/faction/legion/unit/emperor-projection.ts";
exports.default = EmperorProjection;
//# sourceMappingURL=emperor-projection.js.map