ZSGG Public Library
Storm Bringer
Legion Co-Op T3 Army Unit
import { LegionArmyUnit } from "../../../../../defaults/legion.js";
import { Attack, Spell, Upgrade } from "../../../../../engine/ability.js";
export class CoopGalavaxStormBringer extends LegionArmyUnit {
static override src = "src/zerospace/coop/commander/galavax/unit/coop-galavax-storm-bringer.ts";
constructor() {
super();
this.uuid = "22bd6315-53a9-4b46-8e6c-ffa039a1e6fd";
this.hexiteCost = 50;
this.fluxCost = 125;
this.buildTime = 48;
this.buildCount = 1;
this.name = "Storm Bringer";
this.description = "Light ranged infantry that can create a Tempest. \nAttacking generates energy.";
this.tier = "T3";
this.hotkey = "";
this.internalId = "Troop_Legion_MP_StormBringer_C";
this.internalPath =
"/Game/Nova/Archetypes_Troops/Multiplayer/Legion/Troop_Legion_MP_StormBringer.Default__Troop_Legion_MP_StormBringer_C";
this.internalTags = [
"Attackable.Unit.Troop",
"Attackable.Unit.Light",
"Attackable.ArmorType.Light",
"Attackable.Biological",
"Local.Legion.Infantry.StormBringer",
];
this.internalSecondaryTags = ["Biological", "Infantry"];
this.hp = 150;
this.energy = 100;
this.startingEnergy = 0;
this.energyRegen = 1;
this.shields = 0;
this.armor = 0;
this.armorType = "light";
this.speed = 450;
this.turnSpeed = 5000;
this.vision = 1600;
this.pushability = 1;
this.supply = 4;
this.hotkey = "Y";
this.createdBy = ["coop/commander/galavax/building/coop-galavax-legion-barracks"];
this.unlockedBy = ["coop/commander/galavax/building/coop-galavax-terror-tower"];
this.attacks.blightstorm = new Attack({
internalId: "Default__Weapon_Legion_MP_DarkDisciple_Siphon_C",
name: "Blightstorm",
damage: 4,
cooldown: 0.4,
armorPenetration: 0,
delay: 0,
range: 1600,
targets: ["ground", "air"],
parentId: this.id,
parentUUID: this.uuid,
});
this.spells.tempest = new Spell({
name: "Tempest",
description:
"Casts a storm at a target location, dealing 40 damage per second to enemies in the area. Lasts for 5 seconds",
energyCost: 50,
energyType: "classic",
charges: 2,
range: 2400,
parentId: this.id,
parentUUID: this.uuid,
});
this.internalId = "Troop_Galavax_StormBringer_C";
this.internalPath = undefined;
this.energy = 150;
this.attacks.blightstorm.range = 1400;
this.spells.tempest.description = "Channel storm at targeted location. \nEach lightning hit consumes 2 energy.";
this.upgrades.tempestPerpetuator = new Upgrade({
name: "Tempest Perpetuator",
description:
"When low on energy while casting Tempest, Storm Bringer will sacrifice a nearby Thrall to regain energy to continue casting.",
tier: "T1",
position: "A",
fluxCost: 150,
researchTime: 60,
parentId: this.id,
parentUUID: this.uuid,
});
this.upgrades.galebloodStimulants = new Upgrade({
name: "Galeblood Stimulants",
description:
"Storm Bringer attacks slow attack speed in addition to movement speed, and gain more energy from attacks.",
tier: "T2",
position: "A",
fluxCost: 150,
researchTime: 60,
parentId: this.id,
parentUUID: this.uuid,
});
this.createdBy = ["coop/commander/galavax/building/coop-galavax-legion-barracks"];
this.unlockedBy = ["coop/commander/galavax/building/coop-galavax-terror-tower"];
this.upgradedBy = ["coop/commander/galavax/building/coop-galavax-terror-tower"];
}
}
export default CoopGalavaxStormBringer;