UNPKG

@zerospacegg/iolin

Version:

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

77 lines 3.19 kB
"use strict"; /** * Dark Disciple - Legion's fanatical ranged unit with death frenzy * Enhanced spiritual perception and battle fury triggered by ally martyrdom */ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.DarkDisciple = void 0; const ability_js_1 = require("../../../../engine/ability.cjs"); const legion_classes_js_1 = require("../../legion-classes.cjs"); const citadel_js_1 = __importDefault(require("../building/citadel.cjs")); const legion_barracks_js_1 = __importDefault(require("../building/legion-barracks.cjs")); const terror_tower_js_1 = __importDefault(require("../building/terror-tower.cjs")); class DarkDisciple extends legion_classes_js_1.LegionArmyUnit { get infuseCost() { return 8; } constructor() { super(); this.name = "Dark Disciple"; this.tier = "T2"; this.hexiteCost = 50; this.fluxCost = 125; this.buildTime = 36; this.buildCount = 1; this.uuid = "2fb97e7f-e4d5-4517-aa50-a903aed222ca"; this.description = "Light ranged infantry. Its damage increases the longer it attacks. Attacks ground and air units."; // Mutable properties - fanatical ranged warrior with enhanced perception this.supply = 4; this.hp = 225; this.shields = 0; this.armor = 0; this.armorType = "light"; this.speed = 525; // Enhanced by religious fervor this.hotkey = "E"; // Relationships - unlocked by Terror Tower this.createdBy = [legion_barracks_js_1.default.id]; this.unlockedBy = [terror_tower_js_1.default.id]; this.upgradedBy = [citadel_js_1.default.id]; // Tags for identification and targeting this.tag("legion:thrall"); // Fast ranged attack with exceptional range this.attacks.attack = new ability_js_1.Attack({ name: "Attack", damage: 8, cooldown: 0.8, range: 1400, targets: ["air", "ground"], parentId: this.id, parentUUID: this.uuid, }); this.upgrades.frenzy = new ability_js_1.Upgrade({ name: "Frenzy", description: "Dying nearby Thralls increases its attack speed by 35% for 10s. Max 14 stacks (was 20).", tier: "T3.5", fluxCost: 125, researchTime: 50, apply() { // Frenzy effect applied when nearby Thralls die // Max stacks reduced from 20 to 14, attack speed buff per shot increased from 30% to 35% // Implementation handled by game engine // // this one is a little difficult to implement in iolin right now }, parentId: this.id, parentUUID: this.uuid, }); } } exports.DarkDisciple = DarkDisciple; // Static property for source path DarkDisciple.src = "src/zerospace/faction/legion/unit/dark-disciple.ts"; exports.default = DarkDisciple; //# sourceMappingURL=dark-disciple.js.map