UNPKG

warscript

Version:

A typescript library for Warcraft III using Warpack.

87 lines (86 loc) 3.08 kB
/** @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 {};