warscript
Version:
A typescript library for Warcraft III using Warpack.
711 lines (710 loc) • 32 kB
TypeScript
/// <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 {};