@zerospacegg/iolin
Version:
Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)
71 lines • 2.75 kB
JavaScript
"use strict";
/**
* Hellfire - Long-range artillery platform with devastating splash damage and siege capabilities
* Mobile artillery unit with multi-volley missile system
*/
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Hellfire = void 0;
const ability_js_1 = require("../../../../engine/ability.cjs");
const protectorate_classes_js_1 = require("../../protectorate-classes.cjs");
const factory_js_1 = __importDefault(require("../building/factory.cjs"));
const mechanical_research_lab_js_1 = __importDefault(require("../building/mechanical-research-lab.cjs"));
class Hellfire extends protectorate_classes_js_1.ProtectorateArmyUnit {
get infuseCost() {
return 13;
}
constructor() {
super();
this.name = "Hellfire";
this.tier = "T2.5";
this.supply = 6;
this.hexiteCost = 150;
this.fluxCost = 100;
this.buildTime = 50;
this.uuid = "a4cb9bbf-57ca-4d5a-8611-6dad6020799e";
this.description = "Long range artillery. Attacks ground units.";
this.hp = 350;
this.armorType = "medium";
this.speed = 400;
this.attacks.missiles = new ability_js_1.Attack({
name: "Attack",
damage: 16,
volleys: 6,
cooldown: 5,
range: 2000,
splash: { multiplier: 1.0, range: 200 },
targets: ["ground"],
parentId: this.id,
parentUUID: this.uuid,
});
this.upgrades.siegeMode = new ability_js_1.Upgrade({
name: "Siege Mode",
description: "Unlocks the siege ability. Increases the range of the hellfire by 40%. Cannot move while sieged.",
tier: "T2.5",
fluxCost: 100,
researchTime: 50,
parentId: this.id,
parentUUID: this.uuid,
});
this.upgrades.resonantMissiles = new ability_js_1.Upgrade({
name: "Resonant Missiles",
description: "+50% missile speed, +15% more missiles",
tier: "T3.5",
fluxCost: 150,
researchTime: 60,
parentId: this.id,
parentUUID: this.uuid,
});
// Unit relationships
this.createdBy = [factory_js_1.default.id];
this.upgradedBy = [mechanical_research_lab_js_1.default.id];
this.unlockedBy = [factory_js_1.default.id];
}
}
exports.Hellfire = Hellfire;
// Static property for source path
Hellfire.src = "src/zerospace/faction/protectorate/unit/hellfire.ts";
exports.default = Hellfire;
//# sourceMappingURL=hellfire.js.map