@zerospacegg/iolin
Version:
Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)
121 lines • 4.91 kB
JavaScript
"use strict";
/**
* Inquisitress - Legion's warrior-priest and melee combat specialist
* Melee hero with cleave attacks, charge abilities, and sacrificial protection
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.Inquisitress = void 0;
const legion_js_1 = require("../../../../defaults/legion.cjs");
const ability_js_1 = require("../../../../engine/ability.cjs");
class Inquisitress extends legion_js_1.LegionHeroUnit {
constructor() {
super();
// HP will be set at the proper location below
this.hexiteCost = 150;
this.fluxCost = 150;
this.buildTime = 30;
this.buildCount = 1;
this.name = "Inquisitress";
this.internalId = "Troop_Empire_Inquisitress_C";
this.internalPath = "/Game/Nova/Archetypes_Troops/Troop_Empire_Inquisitress.Default__Troop_Empire_Inquisitress_C";
this.internalTags = [
"Attackable.Unit.Hero",
"Logic.SpawnAtOldestSpawner",
"Attackable.Biological",
"Logic.NoVeterancy",
];
this.internalSecondaryTags = ["Infantry"];
this.uuid = "85985ac0-ed49-4642-b37f-6aecd66d1c40";
// Melee warrior stats - divinely enhanced
this.hp = 350;
this.shields = 0;
this.armor = 0;
this.armorType = "medium";
this.speed = 500; // Divine purpose
this.supply = 10; // Heroes consume supply
this.stunResist = 50; // Divine protection
this.energy = 100; // Standard hero energy
this.vision = 1800;
this.turnSpeed = 6000;
this.pushability = 0.1;
// Costs
// Relationships
this.createdBy = ["faction/legion/building/altar"];
this.unlockedBy = ["faction/legion/building/altar"];
this.upgradedBy = ["faction/legion/building/armory"];
// Tags
// Tags for identification and targeting - none needed for Inquisitress
// Powerful melee attack with blessed weaponry (faster attacks, longer leash range in patch)
this.attacks.attack = new ability_js_1.Attack({
name: "Attack",
damage: 30,
range: 150,
cooldown: 1.05,
cooldownBetweenShots: 1.05,
armorPenetration: 0,
delay: 0.303,
targets: ["ground"],
parentId: this.id,
parentUUID: this.uuid,
});
// Cleave spell - frontal area damage and slow
this.spells.cleave = new ability_js_1.Spell({
name: "Cleave",
hotkey: "Q",
energyCost: 25,
energyType: "classic",
cooldown: 5,
targets: ["ground"],
description: "deals 65 damage to and slows by 50% for 2 seconds to enemy units in front of the hero.",
parentId: this.id,
parentUUID: this.uuid,
});
// Charge spell - mobility and damage
this.spells.charge = new ability_js_1.Spell({
name: "Charge",
hotkey: "W",
energyCost: 14,
energyType: "classic",
cooldown: 6,
targets: ["ground"],
description: "Charge to a location dealing 25 damage to enemy units in its way. Gain increased +50% movement speed for 5s",
parentId: this.id,
parentUUID: this.uuid,
});
// Improved Charge upgrade - enhanced range and charges
this.upgrades.improvedCharge = new ability_js_1.Upgrade({
name: "Improved Charge",
description: "+25% Charge range. Charge now has 2 cast charges.",
tier: "T2.5",
fluxCost: 125,
researchTime: 40,
parentId: this.id,
parentUUID: this.uuid,
});
// Improved Cleave upgrade - doubled area
this.upgrades.improvedCleave = new ability_js_1.Upgrade({
name: "Improved Cleave",
description: "+100% Cleave area",
tier: "T2.5",
fluxCost: 125,
researchTime: 40,
parentId: this.id,
parentUUID: this.uuid,
});
// One Life for Another upgrade - ultimate survival ability
this.upgrades.oneLifeForAnother = new ability_js_1.Upgrade({
name: "One Life for Another",
description: "When taking fatal damage, sacrifice a nearby Thrall and heal instead. Each sacrifice consumes a green orb. Orbs regenerate when not attacked.",
tier: "T3.5",
fluxCost: 175,
researchTime: 55,
parentId: this.id,
parentUUID: this.uuid,
});
// Lore - warrior-priest embodying martial fanaticism
}
}
exports.Inquisitress = Inquisitress;
Inquisitress.src = "src/zerospace/faction/legion/hero/inquisitress.ts";
exports.default = Inquisitress;
//# sourceMappingURL=inquisitress.js.map