@zerospacegg/iolin
Version:
Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)
77 lines • 3.19 kB
JavaScript
"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