warscript
Version:
A typescript library for Warcraft III using Warpack.
149 lines (148 loc) • 8.28 kB
TypeScript
/// <reference types="warpack-types/warpack" />
/** @noSelfInFile */
import { TupleOf } from "../../../utility/types";
import { AnimationName } from "../auxiliary/animation-name";
import { AnimationQualifier } from "../auxiliary/animation-qualifier";
import { AttachmentPreset, AttachmentPresetInput } from "../auxiliary/attachment-preset";
import { CombatClassifications } from "../auxiliary/combat-classification";
import { Race } from "../auxiliary/race";
import { SoundPresetName } from "../auxiliary/sound-preset-name";
import { TechTreeDependency, TechTreeDependencyInput } from "../auxiliary/tech-tree-dependency";
import { ObjectDataEntry, ObjectDataEntryId, ObjectDataEntryLevelFieldValueSupplier } from "../entry";
import { BuffTypeId } from "./buff-type";
import { LightningTypeId } from "./lightning-type";
export type AbilityTypeId = ObjectDataEntryId & {
readonly __abilityTypeId: unique symbol;
};
export declare abstract class AbilityType extends ObjectDataEntry<AbilityTypeId> {
private static readonly idGenerator;
protected static generateId(): number;
protected static getObjectData(map: WarMap): WarObjects;
private _isButtonVisible;
get channelingAnimation(): [...([] | [AnimationName]), ...AnimationQualifier[]];
set channelingAnimation(animations: [...([] | [AnimationName]), ...AnimationQualifier[]]);
get areaEffectModelPaths(): string[];
set areaEffectModelPaths(areaEffectModelPaths: string[]);
get buttonPositionX(): number;
set buttonPositionX(buttonPositionX: number);
get buttonPositionY(): number;
set buttonPositionY(buttonPositionY: number);
get casterCastingEffectPresets(): AttachmentPreset[];
set casterCastingEffectPresets(casterCastingEffectPresets: AttachmentPresetInput[]);
get casterChannelingEffectPresets(): AttachmentPreset[];
set casterChannelingEffectPresets(casterChannelingEffectPresets: AttachmentPresetInput[]);
get casterAttachmentPresets(): TupleOf<AttachmentPreset, 0 | 1 | 2>;
set casterAttachmentPresets(casterAttachmentPresets: TupleOf<AttachmentPresetInput, 0 | 1 | 2>);
get effectModelPaths(): string[];
set effectModelPaths(effectModelPaths: string[]);
get iconPath(): string;
set iconPath(iconPath: string);
get iconPathSD(): string;
set iconPathSD(iconPathSD: string);
get iconPathHD(): string;
set iconPathHD(iconPathHD: string);
get isButtonVisible(): boolean;
set isButtonVisible(isButtonVisible: boolean);
get isMissileHoming(): boolean;
set isMissileHoming(isMissileHoming: boolean);
get learnButtonPositionX(): number;
set learnButtonPositionX(buttonPositionX: number);
get learnButtonPositionY(): number;
set learnButtonPositionY(buttonPositionY: number);
get learnIconPath(): string;
set learnIconPath(learnIconPath: string);
get lightningTypeIds(): LightningTypeId[];
set lightningTypeIds(lightningTypeIds: LightningTypeId[]);
get missileModelPath(): string;
set missileModelPath(missileModelPath: string);
get missileModelPathSD(): string;
set missileModelPathSD(missileModelPathSD: string);
get missileModelPathHD(): string;
set missileModelPathHD(missileModelPathHD: string);
get missileMovementArc(): number;
set missileMovementArc(missileMovementArc: number);
get missileMovementSpeed(): number;
set missileMovementSpeed(missileMovementSpeed: number);
get specialAttachmentPreset(): AttachmentPreset | undefined;
set specialAttachmentPreset(specialAttachmentPreset: AttachmentPresetInput | undefined);
get targetCastingEffectPresets(): AttachmentPreset[];
set targetCastingEffectPresets(targetCastingEffectPresets: AttachmentPresetInput[]);
get targetEffectPresets(): TupleOf<AttachmentPreset, 0 | 1 | 2 | 3 | 4 | 5 | 6>;
set targetEffectPresets(targetEffectPresets: TupleOf<AttachmentPresetInput, 0 | 1 | 2 | 3 | 4 | 5 | 6>);
get targetEffectPresetsSD(): TupleOf<AttachmentPreset, 0 | 1 | 2 | 3 | 4 | 5 | 6>;
set targetEffectPresetsSD(targetEffectPresetsSD: TupleOf<AttachmentPresetInput, 0 | 1 | 2 | 3 | 4 | 5 | 6>);
get targetEffectPresetsHD(): TupleOf<AttachmentPreset, 0 | 1 | 2 | 3 | 4 | 5 | 6>;
set targetEffectPresetsHD(targetEffectPresetsHD: TupleOf<AttachmentPresetInput, 0 | 1 | 2 | 3 | 4 | 5 | 6>);
get turnOffButtonPositionX(): number;
set turnOffButtonPositionX(buttonPositionX: number);
get turnOffButtonPositionY(): number;
set turnOffButtonPositionY(buttonPositionY: number);
get turnOffIconPath(): string;
set turnOffIconPath(turnOffIconPath: string);
get shouldCheckTechTreeDependencies(): boolean;
set shouldCheckTechTreeDependencies(shouldCheckTechTreeDependencies: boolean);
get techTreeDependencies(): TechTreeDependency[];
set techTreeDependencies(techTreeDependencies: TechTreeDependencyInput[]);
get activateOrderTypeStringId(): string;
set activateOrderTypeStringId(activateOrderTypeStringId: string);
get deactivateOrderTypeStringId(): string;
set deactivateOrderTypeStringId(deactivateOrderTypeStringId: string);
get hotkey(): string;
set hotkey(hotkey: string);
get learnHotkey(): string;
set learnHotkey(learnHotkey: string);
get learnTooltipText(): string;
set learnTooltipText(learnTooltipText: string);
get learnTooltipExtendedText(): string;
set learnTooltipExtendedText(learnTooltipExtendedText: string);
get name(): string;
set name(name: string);
get orderTypeStringId(): string;
set orderTypeStringId(orderTypeStringId: string);
get tooltipText(): string[];
set tooltipText(tooltipText: ObjectDataEntryLevelFieldValueSupplier<string>);
get tooltipExtendedText(): string[];
set tooltipExtendedText(tooltipExtendedText: ObjectDataEntryLevelFieldValueSupplier<string>);
get turnOffHotkey(): string;
set turnOffHotkey(turnOffHotkey: string);
get turnOffOrderTypeStringId(): string;
set turnOffOrderTypeStringId(turnOffOrderTypeStringId: string);
get turnOffTooltipText(): string[];
set turnOffTooltipText(turnOffTooltipText: ObjectDataEntryLevelFieldValueSupplier<string>);
get turnOffTooltipExtendedText(): string[];
set turnOffTooltipExtendedText(turnOffTooltipExtendedText: ObjectDataEntryLevelFieldValueSupplier<string>);
get soundPresetName(): SoundPresetName;
set soundPresetName(soundPresetName: SoundPresetName);
get loopingSoundPresetName(): SoundPresetName;
set loopingSoundPresetName(loopingSoundPresetName: SoundPresetName);
get allowedTargetCombatClassifications(): CombatClassifications[];
set allowedTargetCombatClassifications(allowedTargetCombatClassifications: ObjectDataEntryLevelFieldValueSupplier<CombatClassifications>);
get areaOfEffect(): number[];
set areaOfEffect(areaOfEffect: ObjectDataEntryLevelFieldValueSupplier<number>);
get buffDuration(): number[];
set buffDuration(buffDuration: ObjectDataEntryLevelFieldValueSupplier<number>);
get buffTypeIds(): BuffTypeId[][];
set buffTypeIds(buffTypeIds: ObjectDataEntryLevelFieldValueSupplier<BuffTypeId[]>);
get castRange(): number[];
set castRange(castRange: ObjectDataEntryLevelFieldValueSupplier<number>);
get castingDuration(): number[];
set castingDuration(castingDuration: ObjectDataEntryLevelFieldValueSupplier<number>);
get cooldown(): number[];
set cooldown(cooldown: ObjectDataEntryLevelFieldValueSupplier<number>);
get effectBuffTypeIds(): BuffTypeId[][];
set effectBuffTypeIds(effectBuffTypeIds: ObjectDataEntryLevelFieldValueSupplier<BuffTypeId[]>);
get heroBuffDuration(): number[];
set heroBuffDuration(heroBuffDuration: ObjectDataEntryLevelFieldValueSupplier<number>);
get learnLevelMinimum(): number;
set learnLevelMinimum(learnLevelMinimum: number);
get learnLevelStep(): number;
set learnLevelStep(learnLevelStep: number);
get levelCount(): number;
set levelCount(levelCount: number);
get manaCost(): number[];
set manaCost(manaCost: ObjectDataEntryLevelFieldValueSupplier<number>);
get race(): Race;
set race(race: Race);
get spellStealPriority(): number[];
set spellStealPriority(spellStealPriority: ObjectDataEntryLevelFieldValueSupplier<number>);
}