@zerospacegg/iolin
Version:
Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)
64 lines • 2.31 kB
JavaScript
/**
* Hellfire - Long-range artillery platform with devastating splash damage and siege capabilities
* Mobile artillery unit with multi-volley missile system
*/
import { Attack, Upgrade } from "../../../../engine/ability.js";
import { ProtectorateArmyUnit } from "../../protectorate-classes.js";
import Factory from "../building/factory.js";
import MechanicalResearchLab from "../building/mechanical-research-lab.js";
export class Hellfire extends 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 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 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 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.id];
this.upgradedBy = [MechanicalResearchLab.id];
this.unlockedBy = [Factory.id];
}
}
// Static property for source path
Hellfire.src = "src/zerospace/faction/protectorate/unit/hellfire.ts";
export default Hellfire;
//# sourceMappingURL=hellfire.js.map