warscript
Version:
A typescript library for Warcraft III using Warpack.
87 lines (86 loc) • 3.08 kB
TypeScript
/** @noSelfInFile */
import { Handle, HandleDestructor } from "../../core/types/handle";
import { Color } from "../../core/types/color";
import { Event } from "../../event";
import { ReadonlyRect } from "../../core/types/rect";
import { ItemAbility } from "./ability";
import { AbilityTypeId } from "../object-data/entry/ability-type";
type DefenseType = 0 | 1 | 2 | 3 | 4 | 5;
export declare const addAndGetAbility: (handle: jitem, abilityTypeId: AbilityTypeId) => jability | null;
declare const enum ItemPropertyKey {
ABILITIES = 100,
LUA_INDEX_BY_ABILITY_TYPE_ID = 101
}
export declare class Item extends Handle<jitem> {
private readonly [ItemPropertyKey.ABILITIES];
private readonly [ItemPropertyKey.LUA_INDEX_BY_ABILITY_TYPE_ID];
constructor(handle: jitem);
protected onDestroy(): HandleDestructor;
static create<T extends Item>(this: typeof Item & (new (handle: jitem) => T), id: number, x: number, y: number, skinId?: number): T;
get typeId(): number;
set skinId(v: number);
get skinId(): number;
set name(v: string);
get name(): string;
set description(v: string);
get description(): string;
set tooltip(v: string);
get tooltip(): string;
set extendedTooltip(v: string);
get extendedTooltip(): string;
set iconPath(v: string);
get iconPath(): string;
set dropOnDeath(v: boolean);
get dropOnDeath(): boolean;
set droppable(v: boolean);
get droppable(): boolean;
set pawnable(v: boolean);
get pawnable(): boolean;
set perishable(v: boolean);
get perishable(): boolean;
set powerup(v: boolean);
get powerup(): boolean;
get isAlive(): boolean;
get isDead(): boolean;
set isInvulnerable(isInvulnerable: boolean);
get isInvulnerable(): boolean;
set usable(v: boolean);
get usable(): boolean;
set visible(v: boolean);
get visible(): boolean;
set level(v: number);
get level(): number;
set priority(v: number);
get priority(): number;
set health(v: number);
get health(): number;
set maxHealth(v: number);
get maxHealth(): number;
set defenseType(v: DefenseType);
get defenseType(): DefenseType;
set cooldownId(v: number);
get cooldownId(): number;
get x(): number;
set x(v: number);
get y(): number;
set y(v: number);
set scale(v: number);
get scale(): number;
set vertexColor(v: Color);
get vertexColor(): Color;
get model(): string;
get position(): Vec2;
set position(v: Vec2);
set charges(v: number);
get charges(): number;
addAbility(abilityTypeId: AbilityTypeId): ItemAbility | undefined;
removeAbility(abilityTypeId: AbilityTypeId): boolean;
hasAbility(abilityTypeId: AbilityTypeId): boolean;
getAbility(abilityTypeId: AbilityTypeId): ItemAbility | undefined;
get abilities(): readonly ItemAbility[];
static getInRange(pos: Vec2, range: number): Item[];
static getInRect(rect: ReadonlyRect): Item[];
static get onCreate(): Event<[Item]>;
static get onDestroy(): Event<[Item]>;
}
export {};