UNPKG

@zerospacegg/iolin

Version:

Pure TypeScript implementation of ZeroSpace game data processing (PKL-free)

88 lines 3.33 kB
/** * Weaver - Grell bio-manipulation support unit * T3.5 support specialist with poison grenade abilities and anti-air focus */ import { GrellArmyUnit } from "../../../../defaults/grell.js"; import { Attack, Spell, Upgrade } from "../../../../engine/ability.js"; export class Weaver extends GrellArmyUnit { get infuseCost() { return 30; } constructor() { super(); // Auto-generated fixes from dev data comparison this.hexiteCost = 75; this.fluxCost = 175; this.buildTime = 30; this.buildCount = 1; this.name = "Weaver"; this.tier = "T3.5"; this.hotkey = "E"; this.energy = 50; this.uuid = "958e5bfe-1482-4776-a6fd-88cee520a3b3"; // Internal game engine data this.internalId = "Troop_GrellWeaver_C"; this.internalPath = "/Game/Nova/Archetypes_Troops/Troop_GrellWeaver.Default__Troop_GrellWeaver_C"; this.internalTags = [ "Attackable.Unit.Troop", "Attackable.Unit.Light", "Attackable.ArmorType.Medium", "Logic.ConstantMaxEnergy", "Attackable.Biological", ]; this.internalSecondaryTags = []; this.unlockedBy = ["faction/grell/building/special-augmentation-pool"]; this.createdBy = ["faction/grell/building/large-incubator"]; this.upgradedBy = ["faction/grell/building/special-augmentation-pool"]; // Capture instance for upgrade apply methods const unit = this; this.hp = 375; this.shields = 0; this.armor = 0; this.armorType = "medium"; this.speed = 650; this.supply = 4; // Internal game engine data from dev comparison this.turnSpeed = 2000; this.description = "Can put units into a cocoon. Attacks ground and air units. Bonus damage against air."; this.attacks.attack = new Attack({ name: "Attack", damage: 20, range: 1200, cooldown: 2, targets: ["air", "ground"], bonusDamage: [{ multiplier: 2.0, vs: ["flyer"] }], parentId: this.id, parentUUID: this.uuid, // Internal game engine data from dev comparison cooldownBetweenShots: 1, armorPenetration: 0, delay: 0.26, }); this.spells.poisonGrenade = new Spell({ name: "Poison Grenade", description: "Poisons units in an area for 15 seconds. Poisoned units take 8 damage per second and spawn a spiderling on death.", energyCost: 80, energyType: "classic", targets: ["map"], parentId: this.id, parentUUID: this.uuid, }); this.upgrades.abilityRange = new Upgrade({ name: "Ability Range", description: "+25% ability range", tier: "T3.5", fluxCost: 100, researchTime: 50, apply() { // Implementation handled by game engine for ability range increase }, parentId: this.id, parentUUID: this.uuid, }); } } // Static property for source path Weaver.src = "src/zerospace/faction/grell/unit/weaver.ts"; export default Weaver; //# sourceMappingURL=weaver.js.map