@zerospacegg/iolin
Version:
Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)
61 lines • 2.31 kB
JavaScript
/**
* Cha'Kru Hatun - Elite warrior-shaman with dimensional rift powers through Wurm Bonding ritual
* Massive elite unit that can manipulate spatial dimensions through Leviathan blood mysticism
*/
import { Attack, Spell } from "../../../../engine/ability.js";
import { ChakruMercUnit } from "../../chakru-classes.js";
import ChakruTempleOfWater from "../building/chakru-temple-of-water.js";
class ChakruHatun extends ChakruMercUnit {
constructor() {
super();
this.name = "Cha'Kru Hatun";
this.tier = "T3";
this.hotkey = "";
this.hexiteCost = 100;
this.fluxCost = 200;
this.buildTime = 60;
this.buildCount = 1;
this.uuid = "68118f93-d0cc-457c-bbc2-e3e3802075b6";
this.description = "Big melee unit that can create a Rift preventing unit movement.";
// Mutable properties (can be modified by upgrades)
this.shortName = "Hatun";
this.hp = 1000;
this.shields = 0;
this.armor = 2;
this.armorType = "heavy";
this.speed = 400;
this.supply = 7;
// TODO: Convert to getter - this.infuseCost = 20;
// Relationships
this.createdBy = [ChakruTempleOfWater.id];
this.unlockedBy = [ChakruTempleOfWater.id];
// Primary attack - Massive melee strike
this.attacks.attack = new Attack({
name: "Attack",
damage: 100,
cooldown: 1.52,
range: 110,
targets: ["ground"],
description: "Devastating melee strikes powered by dimensional blood magic",
parentId: this.id,
parentUUID: this.uuid,
});
// Rift spell - Dimensional manipulation
this.spells.rift = new Spell({
name: "Rift",
hotkey: "R",
cooldown: 50,
delay: 0.44,
range: 800,
targets: ["ground"],
duration: 7,
description: "Create a rift that pushes all units away and creates unpathable area for 7s",
parentId: this.id,
parentUUID: this.uuid,
});
}
}
// Static property for source path
ChakruHatun.src = "src/zerospace/mercenary/chakru/unit/chakru-hatun.ts";
export default ChakruHatun;
//# sourceMappingURL=chakru-hatun.js.map