UNPKG

@zerospacegg/iolin

Version:

Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)

77 lines 3.23 kB
"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