UNPKG

warscript

Version:

A typescript library for Warcraft III using Warpack.

711 lines (710 loc) 32 kB
/// <reference types="warpack-types/warpack" /> /** @noSelfInFile */ import { LevelFieldValueProvider, ObjectDefinition } from "./object"; export declare namespace AbilityDefinition { type TargetType = ObjectDefinition.TargetType; } type Art = { model: string; attachmentPoint: string; }; type ArtInput = string | Art; export declare class AbilityDefinition extends ObjectDefinition { readonly id: string; constructor(baseId: string | number, id?: string | number); static create<T extends AbilityDefinition>(this: new (object: WarObject) => T, baseId: string | number, id?: string | number): T; static of<T extends AbilityDefinition>(this: new (object: WarObject) => T, id: string | number): T; set name(v: string); get name(): string; set tooltip(v: LevelFieldValueProvider<string>); get tooltip(): string[]; set tooltipExtended(v: LevelFieldValueProvider<string>); get tooltipExtended(): string[]; set hotkey(v: string); get hotkey(): string; set buttonPositionX(v: 0 | 1 | 2 | 3); get buttonPositionX(): 0 | 1 | 2 | 3; set buttonPositionY(v: 0 | 1 | 2); get buttonPositionY(): 0 | 1 | 2; set levels(v: number); get levels(): number; set requiredLevel(v: number); get requiredLevel(): number; set heroAbility(v: boolean); get heroAbility(): boolean; set buffs(v: LevelFieldValueProvider<(string | number)[]>); get buffs(): string[][]; set effects(v: LevelFieldValueProvider<(string | number)[]>); get effects(): string[][]; set durationNormal(v: LevelFieldValueProvider<number>); get durationNormal(): number[]; set durationHero(v: LevelFieldValueProvider<number>); get durationHero(): number[]; set castTime(v: LevelFieldValueProvider<number>); get castTime(): number[]; set cooldown(v: LevelFieldValueProvider<number>); get cooldown(): number[]; set manaCost(v: LevelFieldValueProvider<number>); get manaCost(): number[]; set areaOfEffect(v: LevelFieldValueProvider<number>); get areaOfEffect(): number[]; set castRange(v: LevelFieldValueProvider<number>); get castRange(): number[]; set targetsAllowed(v: LevelFieldValueProvider<AbilityDefinition.TargetType[]>); get targetsAllowed(): AbilityDefinition.TargetType[][]; get icon(): string; set icon(v: string); get turnOffIcon(): string; set turnOffIcon(v: string); get researchIcon(): string; set researchIcon(v: string); set animationNames(v: string[]); get animationNames(): string[]; set casterArt(v: string); get casterArt(): string; set effectArt(v: string); get effectArt(): string; get specialArt(): Art; set specialArt(v: ArtInput); get targetArt(): [ ...([ Art, ...([Art, ...([Art, ...([Art, ...([Art, ...([Art] | [])] | [])] | [])] | [])] | []) ] | []) ]; set targetArt(v: ArtInput | [ ...([ ArtInput, ...([ ArtInput, ...([ ArtInput, ...([ ArtInput, ...([ArtInput, ...([ArtInput] | [])] | []) ] | []) ] | []) ] | []) ] | []) ]); set lightningEffects(v: string[]); get lightningEffects(): string[]; set missileArt(v: string); get missileArt(): string; set missileArc(v: number); get missileArc(): number; set missileSpeed(v: number); get missileSpeed(): number; set missileHoming(v: boolean); get missileHoming(): boolean; get checkDependencies(): boolean; set checkDependencies(v: boolean); get requirements(): { id: string; level: number; }[]; set requirements(v: (string | number | { id: string | number; level?: number; })[]); } export declare class AbilityDefinitionSpikedCarapace extends AbilityDefinition { constructor(id?: string | number); set returnedDamageFactor(v: LevelFieldValueProvider<number>); get returnedDamageFactor(): number[]; set receivedDamageFactor(v: LevelFieldValueProvider<number>); get receivedDamageFactor(): number[]; set armorBonus(v: LevelFieldValueProvider<number>); get armorBonus(): number[]; } export declare class AbilityDefinitionAnimateDead extends AbilityDefinition { constructor(id?: string | number); get numberOfCorpsesRaised(): number[]; set numberOfCorpsesRaised(v: LevelFieldValueProvider<number>); get raisedUnitsAreInvulnerable(): boolean[]; set raisedUnitsAreInvulnerable(v: LevelFieldValueProvider<boolean>); get inheritUpgrades(): boolean[]; set inheritUpgrades(v: LevelFieldValueProvider<boolean>); } export declare class AbilityDefinitionArmorBonus extends AbilityDefinition { constructor(id?: string | number); get armorBonus(): number[]; set armorBonus(v: LevelFieldValueProvider<number>); } export declare class AbilityDefinitionAttackSpeedBonus extends AbilityDefinition { constructor(id?: string | number); get attackSpeedIncrease(): number[]; set attackSpeedIncrease(v: LevelFieldValueProvider<number>); } export declare class AbilityDefinitionBanish extends AbilityDefinition { constructor(id?: string | number); get movementSpeedReduction(): number[]; set movementSpeedReduction(v: LevelFieldValueProvider<number>); get attackSpeedReduction(): number[]; set attackSpeedReduction(v: LevelFieldValueProvider<number>); } export declare class AbilityDefinitionBash extends AbilityDefinition { constructor(id?: string | number); get chanceToBash(): number[]; set chanceToBash(v: LevelFieldValueProvider<number>); get damageFactor(): number[]; set damageFactor(v: LevelFieldValueProvider<number>); get damageBonus(): number[]; set damageBonus(v: LevelFieldValueProvider<number>); get chanceToMiss(): number[]; set chanceToMiss(v: LevelFieldValueProvider<number>); get neverMiss(): boolean[]; set neverMiss(v: LevelFieldValueProvider<boolean>); } export declare class AbilityDefinitionBarrage extends AbilityDefinition { constructor(id?: string | number); get damage(): number[]; set damage(v: LevelFieldValueProvider<number>); get maximumDamage(): number[]; set maximumDamage(v: LevelFieldValueProvider<number>); get numberOfTargets(): number[]; set numberOfTargets(v: LevelFieldValueProvider<number>); } export declare class AbilityDefinitionBerserk extends AbilityDefinition { constructor(id?: string | number); get movementSpeedIncrease(): number[]; set movementSpeedIncrease(v: LevelFieldValueProvider<number>); get attackSpeedIncrease(): number[]; set attackSpeedIncrease(v: LevelFieldValueProvider<number>); get damageTakenIncrease(): number[]; set damageTakenIncrease(v: LevelFieldValueProvider<number>); } export declare class AbilityDefinitionBlink extends AbilityDefinition { constructor(id?: string | number); set maximumRange(v: LevelFieldValueProvider<number>); get maximumRange(): number[]; set minimumRange(v: LevelFieldValueProvider<number>); get minimumRange(): number[]; } export declare class AbilityDefinitionBlizzard extends AbilityDefinition { constructor(id?: string | number); set numberOfWaves(v: LevelFieldValueProvider<number>); get numberOfWaves(): number[]; set damage(v: LevelFieldValueProvider<number>); get damage(): number[]; set numberOfShards(v: LevelFieldValueProvider<number>); get numberOfShards(): number[]; set buildingReduction(v: LevelFieldValueProvider<number>); get buildingReduction(): number[]; set damagePerSecond(v: LevelFieldValueProvider<number>); get damagePerSecond(): number[]; set maximumDamagePerWave(v: LevelFieldValueProvider<number>); get maximumDamagePerWave(): number[]; } export declare class AbilityDefinitionCripple extends AbilityDefinition { constructor(id?: string | number); get movementSpeedReduction(): number[]; set movementSpeedReduction(v: LevelFieldValueProvider<number>); get attackSpeedReduction(): number[]; set attackSpeedReduction(v: LevelFieldValueProvider<number>); get damageReduction(): number[]; set damageReduction(v: LevelFieldValueProvider<number>); } export declare class AbilityDefinitionCriticalStrike extends AbilityDefinition { constructor(id?: string | number); get chanceToCriticalStrike(): number[]; set chanceToCriticalStrike(v: LevelFieldValueProvider<number>); get damageFactor(): number[]; set damageFactor(v: LevelFieldValueProvider<number>); get damageBonus(): number[]; set damageBonus(v: LevelFieldValueProvider<number>); get chanceToEvade(): number[]; set chanceToEvade(v: LevelFieldValueProvider<number>); get neverMiss(): boolean[]; set neverMiss(v: LevelFieldValueProvider<boolean>); get excludeItemDamage(): boolean[]; set excludeItemDamage(v: LevelFieldValueProvider<boolean>); } export declare class AbilityDefinitionMeleeColdDamageBonus extends AbilityDefinition { constructor(id?: string | number); set damageBonus(v: LevelFieldValueProvider<number>); get damageBonus(): number[]; set enabledWeaponIndex(v: LevelFieldValueProvider<number>); get enabledWeaponIndex(): number[]; } export declare class AbilityDefinitionChainLightning extends AbilityDefinition { constructor(id?: string | number); get damage(): number[]; set damage(v: LevelFieldValueProvider<number>); get numberOfTargets(): number[]; set numberOfTargets(v: LevelFieldValueProvider<number>); get damageReduction(): number[]; set damageReduction(v: LevelFieldValueProvider<number>); } export declare class AbilityDefinitionCyclone extends AbilityDefinition { constructor(id?: string | number); get canBeDispelled(): boolean[]; set canBeDispelled(v: LevelFieldValueProvider<boolean>); } export declare class AbilityDefinitionDamageBonus extends AbilityDefinition { constructor(id?: string | number); get damageBonus(): number[]; set damageBonus(v: LevelFieldValueProvider<number>); } export declare class AbilityDefinitionDefend extends AbilityDefinition { constructor(id?: string | number); get receivedPiercingDamageFactor(): number[]; set receivedPiercingDamageFactor(v: LevelFieldValueProvider<number>); get returnedDamageFactor(): number[]; set returnedDamageFactor(v: LevelFieldValueProvider<number>); get movementSpeedReduction(): number[]; set movementSpeedReduction(v: LevelFieldValueProvider<number>); get attackSpeedReduction(): number[]; set attackSpeedReduction(v: LevelFieldValueProvider<number>); get receivedMagicDamageFactor(): number[]; set receivedMagicDamageFactor(v: LevelFieldValueProvider<number>); get chanceToDeflect(): number[]; set chanceToDeflect(v: LevelFieldValueProvider<number>); get receivedDeflectedPiercingDamageFactor(): number[]; set receivedDeflectedPiercingDamageFactor(v: LevelFieldValueProvider<number>); } export declare class AbilityDefinitionDefendPassive extends AbilityDefinition { constructor(id?: string | number); get receivedPiercingDamageFactor(): number[]; set receivedPiercingDamageFactor(v: LevelFieldValueProvider<number>); get returnedDamageFactor(): number[]; set returnedDamageFactor(v: LevelFieldValueProvider<number>); get movementSpeedReduction(): number[]; set movementSpeedReduction(v: LevelFieldValueProvider<number>); get attackSpeedReduction(): number[]; set attackSpeedReduction(v: LevelFieldValueProvider<number>); get receivedMagicDamageFactor(): number[]; set receivedMagicDamageFactor(v: LevelFieldValueProvider<number>); get chanceToDeflect(): number[]; set chanceToDeflect(v: LevelFieldValueProvider<number>); get receivedDeflectedPiercingDamageFactor(): number[]; set receivedDeflectedPiercingDamageFactor(v: LevelFieldValueProvider<number>); } export declare class AbilityDefinitionDiseaseCloudAbomination extends AbilityDefinition { constructor(id?: string | number); get auraDuration(): number[]; set auraDuration(v: LevelFieldValueProvider<number>); get damagePerSecond(): number[]; set damagePerSecond(v: LevelFieldValueProvider<number>); get plagueWardDuration(): number[]; set plagueWardDuration(v: LevelFieldValueProvider<number>); get plagueWardUnitTypeId(): string[]; set plagueWardUnitTypeId(v: LevelFieldValueProvider<string | number>); } export declare class AbilityDefinitionDrunkenHaze extends AbilityDefinition { constructor(id?: string | number); get attacksPrevented(): number[]; set attacksPrevented(v: LevelFieldValueProvider<number>); get chanceToMiss(): number[]; set chanceToMiss(v: LevelFieldValueProvider<number>); get movementSpeedModifier(): number[]; set movementSpeedModifier(v: LevelFieldValueProvider<number>); get attackSpeedModifier(): number[]; set attackSpeedModifier(v: LevelFieldValueProvider<number>); } export declare class AbilityDefinitionElunesGrace extends AbilityDefinition { constructor(id?: string | number); get receivedDamageFactor(): number[]; set receivedDamageFactor(v: LevelFieldValueProvider<number>); get returnedDamageFactor(): number[]; set returnedDamageFactor(v: LevelFieldValueProvider<number>); get movementSpeedReduction(): number[]; set movementSpeedReduction(v: LevelFieldValueProvider<number>); get attackSpeedReduction(): number[]; set attackSpeedReduction(v: LevelFieldValueProvider<number>); get receivedMagicDamageFactor(): number[]; set receivedMagicDamageFactor(v: LevelFieldValueProvider<number>); get chanceToDeflect(): number[]; set chanceToDeflect(v: LevelFieldValueProvider<number>); get deflectedReceivedPiercingDamageFactor(): number[]; set deflectedReceivedPiercingDamageFactor(v: LevelFieldValueProvider<number>); get deflectedReceivedSpellDamageFactor(): number[]; set deflectedReceivedSpellDamageFactor(v: LevelFieldValueProvider<number>); } export declare class AbilityDefinitionEnsnare extends AbilityDefinition { constructor(id?: string | number); get airUnitLowerDuration(): number[]; set airUnitLowerDuration(v: LevelFieldValueProvider<number>); get airUnitLowerHeight(): number[]; set airUnitLowerHeight(v: LevelFieldValueProvider<number>); get meleeAttackRange(): number[]; set meleeAttackRange(v: LevelFieldValueProvider<number>); } export declare class AbilityDefinitionEntanglingRoots extends AbilityDefinition { constructor(id?: string | number); get damage(): number[]; set damage(v: LevelFieldValueProvider<number>); } export declare class AbilityDefinitionExhumeCorpses extends AbilityDefinition { constructor(id?: string | number); get maximumNumberOfCorpses(): number[]; set maximumNumberOfCorpses(v: LevelFieldValueProvider<number>); get unitTypeId(): string[]; set unitTypeId(v: LevelFieldValueProvider<string | number>); } export declare class AbilityDefinitionFaerieFire extends AbilityDefinition { constructor(id?: string | number); get armorReduction(): number[]; set armorReduction(v: LevelFieldValueProvider<number>); get alwaysAutocast(): boolean[]; set alwaysAutocast(v: LevelFieldValueProvider<boolean>); } export declare class AbilityDefinitionFirebolt extends AbilityDefinition { constructor(id?: string | number); get damage(): number[]; set damage(v: LevelFieldValueProvider<number>); } export declare class AbilityDefinitionForkedLightning extends AbilityDefinition { constructor(id?: string | number); set damage(v: LevelFieldValueProvider<number>); get damage(): number[]; set numberOfTargets(v: LevelFieldValueProvider<number>); get numberOfTargets(): number[]; set distance(v: LevelFieldValueProvider<number>); get distance(): number[]; set finalArea(v: LevelFieldValueProvider<number>); get finalArea(): number[]; } export declare class AbilityDefinitionFrenzy extends AbilityDefinition { constructor(id?: string | number); get attackSpeedIncrease(): number[]; set attackSpeedIncrease(v: LevelFieldValueProvider<number>); get movementSpeedIncrease(): number[]; set movementSpeedIncrease(v: LevelFieldValueProvider<number>); get scaleIncrease(): number[]; set scaleIncrease(v: LevelFieldValueProvider<number>); } export declare class AbilityDefinitionGhost extends AbilityDefinition { constructor(id?: string | number); get autoAcquireAttackTargets(): boolean[]; set autoAcquireAttackTargets(v: LevelFieldValueProvider<boolean>); get immuneToMorphEffects(): boolean[]; set immuneToMorphEffects(v: LevelFieldValueProvider<boolean>); get doesNotBlockBuildings(): boolean[]; set doesNotBlockBuildings(v: LevelFieldValueProvider<boolean>); } export declare class AbilityDefinitionGhostVisible extends AbilityDefinition { constructor(id?: string | number); get immuneToMorphEffects(): boolean[]; set immuneToMorphEffects(v: LevelFieldValueProvider<boolean>); get doesNotBlockBuildings(): boolean[]; set doesNotBlockBuildings(v: LevelFieldValueProvider<boolean>); } export declare class AbilityDefinitionHardenedSkin extends AbilityDefinition { constructor(id?: string | number); get chanceToReduceDamage(): number[]; set chanceToReduceDamage(v: LevelFieldValueProvider<number>); get minimumDamage(): number[]; set minimumDamage(v: LevelFieldValueProvider<number>); get ignoredDamage(): number[]; set ignoredDamage(v: LevelFieldValueProvider<number>); get includeRangedDamage(): boolean[]; set includeRangedDamage(v: LevelFieldValueProvider<boolean>); get includeMeleeDamage(): boolean[]; set includeMeleeDamage(v: LevelFieldValueProvider<boolean>); } export declare class AbilityDefinitionHealingSalve extends AbilityDefinition { constructor(id?: string | number); get lifeRegenerated(): number[]; set lifeRegenerated(v: LevelFieldValueProvider<number>); get manaRegenerated(): number[]; set manaRegenerated(v: LevelFieldValueProvider<number>); get allowWhenFull(): ("never" | "life" | "mana" | "always")[]; set allowWhenFull(v: LevelFieldValueProvider<"never" | "life" | "mana" | "always">); get noTargetRequired(): boolean[]; set noTargetRequired(v: LevelFieldValueProvider<boolean>); get dispelOnAttack(): boolean[]; set dispelOnAttack(v: LevelFieldValueProvider<boolean>); } export declare class AbilityDefinitionHealingWave extends AbilityDefinition { constructor(id?: string | number); get damage(): number[]; set damage(v: LevelFieldValueProvider<number>); get numberOfTargets(): number[]; set numberOfTargets(v: LevelFieldValueProvider<number>); get damageReduction(): number[]; set damageReduction(v: LevelFieldValueProvider<number>); } export declare class AbilityDefinitionHealthBonus extends AbilityDefinition { constructor(id?: string | number); get healthBonus(): number[]; set healthBonus(v: LevelFieldValueProvider<number>); } export declare class AbilityDefinitionImmolation extends AbilityDefinition { constructor(id?: string | number); get damagePerInterval(): number[]; set damagePerInterval(v: LevelFieldValueProvider<number>); get manaDrainedPerSecond(): number[]; set manaDrainedPerSecond(v: LevelFieldValueProvider<number>); get bufferManaRequired(): number[]; set bufferManaRequired(v: LevelFieldValueProvider<number>); } export declare class AbilityDefinitionInnerFire extends AbilityDefinition { constructor(id?: string | number); get damageIncrease(): number[]; set damageIncrease(v: LevelFieldValueProvider<number>); set armorBonus(v: LevelFieldValueProvider<number>); get armorBonus(): number[]; get autoCastRange(): number[]; set autoCastRange(v: LevelFieldValueProvider<number>); get healthRegenerationBonus(): number[]; set healthRegenerationBonus(v: LevelFieldValueProvider<number>); } export declare class AbilityDefinitionInvisibility extends AbilityDefinition { constructor(id?: string | number); get transitionTime(): number[]; set transitionTime(v: LevelFieldValueProvider<number>); } export declare class AbilityDefinitionInvulnerable extends AbilityDefinition { constructor(id?: string | number); } export declare class AbilityDefinitionLifeDrain extends AbilityDefinition { constructor(id?: string | number); get healthDrained(): number[]; set healthDrained(v: LevelFieldValueProvider<number>); get manaDrained(): number[]; set manaDrained(v: LevelFieldValueProvider<number>); get drainInterval(): number[]; set drainInterval(v: LevelFieldValueProvider<number>); get healthTransferredPerSecond(): number[]; set healthTransferredPerSecond(v: LevelFieldValueProvider<number>); get manaTransferredPerSecond(): number[]; set manaTransferredPerSecond(v: LevelFieldValueProvider<number>); get bonusHealthFactor(): number[]; set bonusHealthFactor(v: LevelFieldValueProvider<number>); get bonusHealthDecay(): number[]; set bonusHealthDecay(v: LevelFieldValueProvider<number>); get bonusManaFactor(): number[]; set bonusManaFactor(v: LevelFieldValueProvider<number>); get bonusManaDecay(): number[]; set bonusManaDecay(v: LevelFieldValueProvider<number>); get useBlackArrowEffect(): boolean[]; set useBlackArrowEffect(v: LevelFieldValueProvider<boolean>); } export declare class AbilityDefinitionLightningAttack extends AbilityDefinition { constructor(id?: string | number); get graphicDelay(): number[]; set graphicDelay(v: LevelFieldValueProvider<number>); get graphicDuration(): number[]; set graphicDuration(v: LevelFieldValueProvider<number>); } export declare class AbilityDefinitionManaBonus extends AbilityDefinition { constructor(id?: string | number); get manaBonus(): number[]; set manaBonus(v: LevelFieldValueProvider<number>); } export declare class AbilityDefinitionMoveSpeedBonus extends AbilityDefinition { constructor(id?: string | number); get moveSpeedBonus(): number[]; set moveSpeedBonus(v: LevelFieldValueProvider<number>); } export declare class AbilityDefinitionAttackHealReductionBonus extends AbilityDefinition { constructor(id?: string | number); get damageBonus(): number[]; set damageBonus(v: LevelFieldValueProvider<number>); get enabledWeaponIndex(): number[]; set enabledWeaponIndex(v: LevelFieldValueProvider<number>); get healingFactor(): number[]; set healingFactor(v: LevelFieldValueProvider<number>); } export declare class AbilityDefinitionParasite extends AbilityDefinition { constructor(id?: string | number); get damagePerSecond(): number[]; set damagePerSecond(v: LevelFieldValueProvider<number>); get movementSpeedFactor(): number[]; set movementSpeedFactor(v: LevelFieldValueProvider<number>); get attackSpeedFactor(): number[]; set attackSpeedFactor(v: LevelFieldValueProvider<number>); get stackingType(): number[]; set stackingType(v: LevelFieldValueProvider<number>); get summonedUnitCount(): number[]; set summonedUnitCount(v: LevelFieldValueProvider<number>); get summonedUnitDuration(): number[]; set summonedUnitDuration(v: LevelFieldValueProvider<number>); get unitTypeId(): string[]; set unitTypeId(v: LevelFieldValueProvider<string | number>); } export declare class AbilityDefinitionPermanentInvisibility extends AbilityDefinition { constructor(id?: string | number); get autoAcquireAttackTargets(): boolean[]; set autoAcquireAttackTargets(v: LevelFieldValueProvider<boolean>); } export declare class AbilityDefinitionResurrection extends AbilityDefinition { constructor(id?: string | number); get numberOfCorpsesRaised(): number[]; set numberOfCorpsesRaised(v: LevelFieldValueProvider<number>); get raisedUnitsAreInvulnerable(): boolean[]; set raisedUnitsAreInvulnerable(v: LevelFieldValueProvider<boolean>); } export declare class AbilityDefinitionPhaseShift extends AbilityDefinition { constructor(id?: string | number); } export declare class AbilityDefinitionSearingArrows extends AbilityDefinition { constructor(id?: string | number); get damageBonus(): number[]; set damageBonus(v: LevelFieldValueProvider<number>); } export declare class AbilityDefinitionSentinel extends AbilityDefinition { constructor(id?: string | number); get inFlightSightRadius(): number[]; set inFlightSightRadius(v: LevelFieldValueProvider<number>); get hoveringSightRadius(): number[]; set hoveringSightRadius(v: LevelFieldValueProvider<number>); get hoveringHeight(): number[]; set hoveringHeight(v: LevelFieldValueProvider<number>); get numberOfOwls(): number[]; set numberOfOwls(v: LevelFieldValueProvider<number>); get durationOfOwls(): number[]; set durationOfOwls(v: LevelFieldValueProvider<number>); } export declare class AbilityDefinitionSleep extends AbilityDefinition { constructor(id?: string | number); get stunDuration(): number[]; set stunDuration(v: LevelFieldValueProvider<number>); } export declare class AbilityDefinitionSlow extends AbilityDefinition { constructor(id?: string | number); get movementSpeedReduction(): number[]; set movementSpeedReduction(v: LevelFieldValueProvider<number>); get attackSpeedReduction(): number[]; set attackSpeedReduction(v: LevelFieldValueProvider<number>); get alwaysAutoCast(): boolean[]; set alwaysAutoCast(v: LevelFieldValueProvider<boolean>); } export declare class AbilityDefinitionSlowAura extends AbilityDefinition { constructor(id?: string | number); get movementSpeedFactor(): number[]; set movementSpeedFactor(v: LevelFieldValueProvider<number>); get attackSpeedFactor(): number[]; set attackSpeedFactor(v: LevelFieldValueProvider<number>); get alwaysAutoCast(): boolean[]; set alwaysAutoCast(v: LevelFieldValueProvider<boolean>); } export declare class AbilityDefinitionSlowPoison extends AbilityDefinition { constructor(id?: string | number); get damagePerSecond(): number[]; set damagePerSecond(v: LevelFieldValueProvider<number>); get movementSpeedFactor(): number[]; set movementSpeedFactor(v: LevelFieldValueProvider<number>); get attackSpeedFactor(): number[]; set attackSpeedFactor(v: LevelFieldValueProvider<number>); get stackingType(): number[]; set stackingType(v: LevelFieldValueProvider<number>); } export declare class AbilityDefinitionSoulBurn extends AbilityDefinition { constructor(id?: string | number); get damage(): number[]; set damage(v: LevelFieldValueProvider<number>); get damagePeriod(): number[]; set damagePeriod(v: LevelFieldValueProvider<number>); get damagePenalty(): number[]; set damagePenalty(v: LevelFieldValueProvider<number>); get movementSpeedReduction(): number[]; set movementSpeedReduction(v: LevelFieldValueProvider<number>); get attackSpeedReduction(): number[]; set attackSpeedReduction(v: LevelFieldValueProvider<number>); } export declare class AbilityDefinitionSpellBook extends AbilityDefinition { constructor(id?: string | number); get spells(): string[][]; set spells(v: LevelFieldValueProvider<(number | string)[]>); get sharedCooldown(): boolean[]; set sharedCooldown(v: LevelFieldValueProvider<boolean>); get minimumSpells(): number[]; set minimumSpells(v: LevelFieldValueProvider<number>); get maximumSpells(): number[]; set maximumSpells(v: LevelFieldValueProvider<number>); get baseOrder(): string[]; set baseOrder(v: LevelFieldValueProvider<string>); } export declare class AbilityDefinitionSpiritTouch extends AbilityDefinition { constructor(id?: string | number); get manaGained(): number[]; set manaGained(v: LevelFieldValueProvider<number>); get minimumManaRequired(): number[]; set minimumManaRequired(v: LevelFieldValueProvider<number>); get maximumUnitsChargedToCaster(): number[]; set maximumUnitsChargedToCaster(v: LevelFieldValueProvider<number>); get maximumUnitsAffected(): number[]; set maximumUnitsAffected(v: LevelFieldValueProvider<number>); } export declare class AbilityDefinitionStarfall extends AbilityDefinition { constructor(id?: string | number); set damage(v: LevelFieldValueProvider<number>); get damage(): number[]; set damageInterval(v: LevelFieldValueProvider<number>); get damageInterval(): number[]; set buildingReduction(v: LevelFieldValueProvider<number>); get buildingReduction(): number[]; } export declare class AbilityDefinitionStormBolt extends AbilityDefinition { constructor(id?: string | number); get damage(): number[]; set damage(v: LevelFieldValueProvider<number>); } export declare class AbilityDefinitionAcidBomb extends AbilityDefinition { constructor(id?: string | number); set movementSpeedReduction(v: LevelFieldValueProvider<number>); get movementSpeedReduction(): number[]; set attackSpeedReduction(v: LevelFieldValueProvider<number>); get attackSpeedReduction(): number[]; set armorPenalty(v: LevelFieldValueProvider<number>); get armorPenalty(): number[]; set primaryDamage(v: LevelFieldValueProvider<number>); get primaryDamage(): number[]; set secondaryDamage(v: LevelFieldValueProvider<number>); get secondaryDamage(): number[]; set damageInterval(v: LevelFieldValueProvider<number>); get damageInterval(): number[]; } export declare class AbilityDefinitionInventory extends AbilityDefinition { constructor(id?: string | number); set capacity(v: LevelFieldValueProvider<number>); get capacity(): number[]; } export declare namespace ChannelAbilityPreset { type TargetType = "none" | "unit" | "point" | "pointunit" | "passive"; } export declare class ChannelAbilityPreset extends AbilityDefinition implements Compiletime<AbilityPresetData> { private readonly orders; constructor(id?: string, levels?: number, ctor?: { targetType?: LevelFieldValueProvider<ChannelAbilityPreset.TargetType>; castRange?: LevelFieldValueProvider<number>; icon?: string; }); compiletime(): AbilityPresetData; protected resetBaseOrder(): void; protected setOption(option: 1 | 2 | 4 | 8 | 16, v: LevelFieldValueProvider<boolean>): void; protected getOption(option: 1 | 2 | 4 | 8 | 16): boolean[]; set followThroughTime(v: LevelFieldValueProvider<number>); get followThroughTime(): number[]; set targetType(v: LevelFieldValueProvider<ChannelAbilityPreset.TargetType>); get targetType(): ChannelAbilityPreset.TargetType[]; set artDuration(v: LevelFieldValueProvider<number>); get artDuration(): number[]; set disableOtherAbilities(v: LevelFieldValueProvider<boolean>); get disableOtherAbilities(): boolean[]; set baseOrder(v: LevelFieldValueProvider<string>); get baseOrder(): string[]; set visible(v: LevelFieldValueProvider<boolean>); get visible(): boolean[]; set targetingImage(v: LevelFieldValueProvider<boolean>); get targetingImage(): boolean[]; set physicalSpell(v: LevelFieldValueProvider<boolean>); get physicalSpell(): boolean[]; set universalSpell(v: LevelFieldValueProvider<boolean>); get universalSpell(): boolean[]; set uniqueCast(v: LevelFieldValueProvider<boolean>); get uniqueCast(): boolean[]; } export declare class SpellBookAbilityPreset extends AbilityDefinitionSpellBook { constructor(id?: string | number); } export type AbilityPresetData = { id: number; }; export declare abstract class AbilityXX { protected static readonly preset: AbilityPresetData; static get id(): number; } export {};