warscript 0.0.1-dev.f5421e8 → 0.0.1-dev.f70428f
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/attributes.d.ts +6 -0
- package/attributes.lua +17 -1
- package/core/types/frame.lua +24 -21
- package/core/types/player.d.ts +15 -0
- package/core/types/player.lua +56 -14
- package/core/types/playerCamera.d.ts +2 -0
- package/core/types/playerCamera.lua +123 -5
- package/core/types/sound.lua +5 -0
- package/core/types/tileCell.d.ts +11 -1
- package/core/types/tileCell.lua +97 -0
- package/core/types/timer.d.ts +3 -1
- package/core/types/timer.lua +27 -2
- package/decl/native.d.ts +846 -790
- package/engine/behavior.d.ts +12 -1
- package/engine/behavior.lua +172 -70
- package/engine/behaviour/ability/apply-buff.lua +1 -1
- package/engine/behaviour/ability/damage.d.ts +6 -3
- package/engine/behaviour/ability/damage.lua +24 -36
- package/engine/behaviour/ability/emulate-impact.d.ts +1 -1
- package/engine/behaviour/ability/emulate-impact.lua +18 -3
- package/engine/behaviour/ability/remove-buffs.d.ts +9 -0
- package/engine/behaviour/ability/remove-buffs.lua +21 -0
- package/engine/behaviour/ability/restore-mana.d.ts +1 -1
- package/engine/behaviour/ability/restore-mana.lua +6 -6
- package/engine/behaviour/ability.lua +8 -17
- package/engine/behaviour/unit/stun-immunity.d.ts +11 -5
- package/engine/behaviour/unit/stun-immunity.lua +53 -28
- package/engine/behaviour/unit.d.ts +34 -2
- package/engine/behaviour/unit.lua +192 -6
- package/engine/buff.d.ts +12 -5
- package/engine/buff.lua +125 -87
- package/engine/internal/ability.d.ts +7 -1
- package/engine/internal/ability.lua +49 -9
- package/engine/internal/item/ability.lua +63 -11
- package/engine/internal/item+owner.lua +12 -6
- package/engine/internal/item.d.ts +18 -17
- package/engine/internal/item.lua +135 -49
- package/engine/internal/misc/damage-metadata-by-target.d.ts +2 -0
- package/engine/internal/misc/damage-metadata-by-target.lua +5 -0
- package/engine/internal/misc/frame-coordinates.d.ts +2 -0
- package/engine/internal/misc/frame-coordinates.lua +21 -0
- package/engine/internal/misc/get-terrain-z.d.ts +2 -0
- package/engine/internal/misc/get-terrain-z.lua +11 -0
- package/engine/internal/misc/player-local-handle.d.ts +2 -0
- package/engine/internal/misc/player-local-handle.lua +5 -0
- package/engine/internal/unit/ability.d.ts +35 -0
- package/engine/internal/unit/ability.lua +98 -9
- package/engine/internal/unit/allowed-targets.d.ts +1 -1
- package/engine/internal/unit/allowed-targets.lua +9 -1
- package/engine/internal/unit/fly-height.d.ts +7 -0
- package/engine/internal/unit/fly-height.lua +20 -0
- package/engine/internal/unit/main-selected.lua +12 -27
- package/engine/internal/unit/order.d.ts +20 -0
- package/engine/internal/unit/order.lua +136 -0
- package/engine/internal/unit/scale.d.ts +7 -0
- package/engine/internal/unit/scale.lua +20 -0
- package/engine/internal/unit+ability.lua +10 -1
- package/engine/internal/unit+damage.d.ts +2 -11
- package/engine/internal/unit+damage.lua +10 -14
- package/engine/internal/unit+spellSteal.lua +1 -2
- package/engine/internal/unit-missile-launch.lua +45 -14
- package/engine/internal/unit.d.ts +39 -19
- package/engine/internal/unit.lua +329 -169
- package/engine/local-client.d.ts +2 -0
- package/engine/local-client.lua +30 -0
- package/engine/object-data/auxiliary/armor-type.d.ts +11 -0
- package/engine/object-data/auxiliary/armor-type.lua +46 -0
- package/engine/object-data/auxiliary/attack-type.d.ts +7 -8
- package/engine/object-data/auxiliary/attack-type.lua +42 -0
- package/engine/object-data/auxiliary/movement-type.d.ts +7 -7
- package/engine/object-data/auxiliary/movement-type.lua +22 -0
- package/engine/object-data/auxiliary/unit-attribute.d.ts +6 -0
- package/engine/object-data/auxiliary/unit-attribute.lua +9 -0
- package/engine/object-data/entry/ability-type/berserk.d.ts +2 -0
- package/engine/object-data/entry/ability-type/berserk.lua +13 -0
- package/engine/object-data/entry/ability-type/permanent-invisibility.d.ts +8 -0
- package/engine/object-data/entry/ability-type/permanent-invisibility.lua +26 -0
- package/engine/object-data/entry/ability-type/slow-poison.d.ts +10 -0
- package/engine/object-data/entry/ability-type/slow-poison.lua +58 -0
- package/engine/object-data/entry/ability-type.lua +11 -3
- package/engine/object-data/entry/buff-type/applicable.lua +5 -0
- package/engine/object-data/entry/buff-type.d.ts +5 -11
- package/engine/object-data/entry/buff-type.lua +11 -27
- package/engine/object-data/entry/unit-type.d.ts +13 -4
- package/engine/object-data/entry/unit-type.lua +153 -85
- package/engine/object-field/ability.d.ts +4 -4
- package/engine/object-field/ability.lua +7 -6
- package/engine/object-field/unit.d.ts +69 -3
- package/engine/object-field/unit.lua +264 -7
- package/engine/object-field.d.ts +23 -6
- package/engine/object-field.lua +309 -126
- package/engine/random.d.ts +9 -0
- package/engine/random.lua +13 -0
- package/engine/standard/entries/buff-type.d.ts +3 -0
- package/engine/standard/entries/buff-type.lua +3 -0
- package/engine/standard/fields/unit.d.ts +6 -0
- package/engine/standard/fields/unit.lua +11 -0
- package/engine/synchronization.d.ts +11 -0
- package/engine/synchronization.lua +77 -0
- package/engine/text-tag.d.ts +36 -2
- package/engine/text-tag.lua +250 -10
- package/engine/unit.d.ts +3 -0
- package/engine/unit.lua +3 -0
- package/net/socket.lua +1 -1
- package/objutil/buff.lua +2 -3
- package/package.json +2 -2
- package/patch-lualib.lua +1 -1
- package/utility/arrays.d.ts +2 -0
- package/utility/arrays.lua +11 -0
- package/utility/callback-array.d.ts +17 -0
- package/utility/callback-array.lua +61 -0
- package/utility/functions.d.ts +8 -0
- package/utility/functions.lua +13 -0
- package/utility/linked-set.d.ts +2 -0
- package/utility/linked-set.lua +22 -1
- package/utility/lua-maps.d.ts +15 -2
- package/utility/lua-maps.lua +53 -2
- package/utility/lua-sets.d.ts +2 -0
- package/utility/lua-sets.lua +7 -0
- package/utility/types.d.ts +3 -0
- package/core/types/order.d.ts +0 -25
- package/core/types/order.lua +0 -55
|
@@ -11,6 +11,10 @@ import { Ability, UnitAbility } from "./ability";
|
|
|
11
11
|
import { Widget } from "../../core/types/widget";
|
|
12
12
|
import type { UnitTypeId } from "../object-data/entry/unit-type";
|
|
13
13
|
import { CombatClassification, CombatClassifications } from "../object-data/auxiliary/combat-classification";
|
|
14
|
+
import { MovementType } from "../object-data/auxiliary/movement-type";
|
|
15
|
+
import { UnitAttribute } from "../object-data/auxiliary/unit-attribute";
|
|
16
|
+
import { AttackType } from "../object-data/auxiliary/attack-type";
|
|
17
|
+
import { AttributesHolder } from "../../attributes";
|
|
14
18
|
export type UnitClassification = junittype;
|
|
15
19
|
export declare namespace UnitClassification {
|
|
16
20
|
const STRUCTURE: junittype;
|
|
@@ -19,6 +23,7 @@ export declare namespace UnitClassification {
|
|
|
19
23
|
const GROUND: junittype;
|
|
20
24
|
const SUMMONED: junittype;
|
|
21
25
|
const MECHANICAL: junittype;
|
|
26
|
+
const WORKER: junittype;
|
|
22
27
|
const ANCIENT: junittype;
|
|
23
28
|
const SUICIDAL: junittype;
|
|
24
29
|
const TAUREN: junittype;
|
|
@@ -36,15 +41,18 @@ type AbilityDispatcherTable<T extends any[] = []> = {
|
|
|
36
41
|
readonly [id: number]: Event<[Unit, Ability, ...T]>;
|
|
37
42
|
};
|
|
38
43
|
type AbilityEventDispatcher<T extends any[] = []> = Event<[Unit, Ability, ...T]> & AbilityDispatcherTable<T>;
|
|
39
|
-
export interface DamagingEvent {
|
|
44
|
+
export interface DamagingEvent extends AttributesHolder {
|
|
40
45
|
amount: number;
|
|
41
|
-
attackType:
|
|
46
|
+
attackType: AttackType;
|
|
42
47
|
damageType: jdamagetype;
|
|
43
48
|
weaponType: jweapontype;
|
|
49
|
+
metadata: unknown;
|
|
44
50
|
readonly isAttack: boolean;
|
|
45
51
|
readonly originalAmount: number;
|
|
52
|
+
readonly originalMetadata: unknown;
|
|
53
|
+
preventRetaliation(this: DamagingEvent): void;
|
|
46
54
|
}
|
|
47
|
-
export type DamageEvent = DamagingEvent & {
|
|
55
|
+
export type DamageEvent = Omit<DamagingEvent, "preventRetaliation"> & {
|
|
48
56
|
preventDeath<P extends any[]>(this: DamageEvent, callback: (this: void, ...parameters: P) => any, ...parameters: P): void;
|
|
49
57
|
};
|
|
50
58
|
export type AttackDamageEvent = DamagingEvent & {
|
|
@@ -72,10 +80,14 @@ export declare class UnitWeapon {
|
|
|
72
80
|
readonly unit: Unit;
|
|
73
81
|
readonly index: 0 | 1;
|
|
74
82
|
constructor(unit: Unit, index: 0 | 1);
|
|
83
|
+
get isEnabled(): boolean;
|
|
84
|
+
set isEnabled(isEnabled: boolean);
|
|
75
85
|
get cooldown(): number;
|
|
76
86
|
set cooldown(cooldown: number);
|
|
77
87
|
get damage(): [minimumDamage: number, maximumDamage: number];
|
|
78
88
|
set damage([minimumDamage, maximumDamage]: [number, number]);
|
|
89
|
+
get allowedTargetCombatClassifications(): CombatClassifications;
|
|
90
|
+
set allowedTargetCombatClassifications(allowedTargetCombatClassifications: CombatClassifications);
|
|
79
91
|
get damageBase(): number;
|
|
80
92
|
set damageBase(damageBase: number);
|
|
81
93
|
get damageDiceCount(): number;
|
|
@@ -97,12 +109,13 @@ declare const enum UnitPropertyKey {
|
|
|
97
109
|
SYNC_ID = 100,
|
|
98
110
|
IS_PAUSED = 101,
|
|
99
111
|
STUN_COUNTER = 102,
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
112
|
+
FORCE_STUN_COUNTER = 103,
|
|
113
|
+
DELAY_HEALTH_CHECKS_COUNTER = 104,
|
|
114
|
+
DELAY_HEALTH_CHECKS_HEALTH_BONUS = 105,
|
|
115
|
+
PREVENT_DEATH_HEALTH_BONUS = 106,
|
|
116
|
+
IS_TEAM_GLOW_HIDDEN = 107,
|
|
117
|
+
LAST_X = 108,
|
|
118
|
+
LAST_Y = 109
|
|
106
119
|
}
|
|
107
120
|
export type UnitSyncId = number & {
|
|
108
121
|
readonly __unitSyncId: unique symbol;
|
|
@@ -111,6 +124,7 @@ export declare class Unit extends Handle<junit> {
|
|
|
111
124
|
readonly syncId: UnitSyncId;
|
|
112
125
|
private [UnitPropertyKey.IS_PAUSED]?;
|
|
113
126
|
private [UnitPropertyKey.STUN_COUNTER]?;
|
|
127
|
+
private [UnitPropertyKey.FORCE_STUN_COUNTER]?;
|
|
114
128
|
private [UnitPropertyKey.DELAY_HEALTH_CHECKS_COUNTER]?;
|
|
115
129
|
private [UnitPropertyKey.DELAY_HEALTH_CHECKS_HEALTH_BONUS]?;
|
|
116
130
|
private [UnitPropertyKey.PREVENT_DEATH_HEALTH_BONUS]?;
|
|
@@ -150,17 +164,19 @@ export declare class Unit extends Handle<junit> {
|
|
|
150
164
|
isInRangeOf(unit: Unit, range: number): boolean;
|
|
151
165
|
isAllyOf(unit: Unit): boolean;
|
|
152
166
|
isEnemyOf(unit: Unit): boolean;
|
|
153
|
-
playAnimation(animation: string, rarity?: jraritycontrol): void;
|
|
154
|
-
playAnimation(animation: number): void;
|
|
167
|
+
playAnimation(...parameters: [animation: number] | [animation: string, rarity?: jraritycontrol]): void;
|
|
155
168
|
resetAnimation(): void;
|
|
156
169
|
queueAnimation(animation: string): void;
|
|
157
170
|
get weapons(): [UnitWeapon, UnitWeapon];
|
|
158
171
|
get firstWeapon(): UnitWeapon;
|
|
159
172
|
get secondWeapon(): UnitWeapon;
|
|
173
|
+
chooseWeapon(target: Unit): UnitWeapon | undefined;
|
|
160
174
|
get level(): number;
|
|
161
175
|
set level(v: number);
|
|
162
176
|
get xp(): number;
|
|
163
177
|
set xp(v: number);
|
|
178
|
+
get primaryAttribute(): UnitAttribute;
|
|
179
|
+
set primaryAttribute(primaryAttribute: UnitAttribute);
|
|
164
180
|
get strengthBase(): number;
|
|
165
181
|
set strengthBase(strengthBase: number);
|
|
166
182
|
get strengthBonus(): number;
|
|
@@ -204,8 +220,6 @@ export declare class Unit extends Handle<junit> {
|
|
|
204
220
|
set facing(v: number);
|
|
205
221
|
get speed(): number;
|
|
206
222
|
set speed(v: number);
|
|
207
|
-
get flyHeight(): number;
|
|
208
|
-
set flyHeight(v: number);
|
|
209
223
|
get x(): number;
|
|
210
224
|
set x(v: number);
|
|
211
225
|
get y(): number;
|
|
@@ -229,12 +243,12 @@ export declare class Unit extends Handle<junit> {
|
|
|
229
243
|
get isInvulnerable(): boolean;
|
|
230
244
|
get vertexColor(): Color;
|
|
231
245
|
set vertexColor(v: Color);
|
|
232
|
-
get scale(): number;
|
|
233
|
-
set scale(v: number);
|
|
234
246
|
get timeScale(): number;
|
|
235
247
|
set timeScale(v: number);
|
|
236
248
|
get collisionSize(): number;
|
|
237
249
|
get pathingCollisionRange(): number;
|
|
250
|
+
get movementType(): MovementType;
|
|
251
|
+
set movementType(movementType: MovementType);
|
|
238
252
|
set pathing(v: boolean);
|
|
239
253
|
isSelected(player: Player): boolean;
|
|
240
254
|
explode(): void;
|
|
@@ -252,17 +266,18 @@ export declare class Unit extends Handle<junit> {
|
|
|
252
266
|
dropItemTarget(item: Item, target: Widget): boolean;
|
|
253
267
|
dropItemSlot(item: Item, slot: number): boolean;
|
|
254
268
|
itemInSlot(slot: number): Item | null;
|
|
255
|
-
addAbility(abilityId: number): UnitAbility |
|
|
269
|
+
addAbility(abilityId: number): UnitAbility | undefined;
|
|
256
270
|
makeAbilityPermanent(abilityId: number, permanent: true): boolean;
|
|
257
271
|
setAbilityLevel(abilityId: number, level: number): number;
|
|
258
272
|
getAbilityLevel(abilityId: number): number;
|
|
259
273
|
hasAbility(abilityId: number): boolean;
|
|
260
|
-
|
|
261
|
-
removeAbility(
|
|
274
|
+
getAbility(abilityId: number): UnitAbility | undefined;
|
|
275
|
+
removeAbility(abilityTypeId: number): boolean;
|
|
262
276
|
hideAbility(abilityId: number, flag: boolean): void;
|
|
263
277
|
getAbilityRemainingCooldown(abilityId: number): number;
|
|
264
278
|
startAbilityCooldown(abilityId: number, cooldown: number): void;
|
|
265
279
|
endAbilityCooldown(abilityId: number): void;
|
|
280
|
+
interruptMovement(): void;
|
|
266
281
|
interruptAttack(): void;
|
|
267
282
|
interruptCast(abilityId: number): void;
|
|
268
283
|
getDistanceTo(target: Unit | Vec2): number;
|
|
@@ -277,6 +292,8 @@ export declare class Unit extends Handle<junit> {
|
|
|
277
292
|
unpauseEx(): void;
|
|
278
293
|
incrementStunCounter(): void;
|
|
279
294
|
decrementStunCounter(): void;
|
|
295
|
+
incrementForceStunCounter(): void;
|
|
296
|
+
decrementForceStunCounter(): void;
|
|
280
297
|
set waygateActive(v: boolean);
|
|
281
298
|
get waygateActive(): boolean;
|
|
282
299
|
set waygateDestination(v: Vec2);
|
|
@@ -285,6 +302,7 @@ export declare class Unit extends Handle<junit> {
|
|
|
285
302
|
get onUnitInRange(): Record<number, Event<[Unit]>>;
|
|
286
303
|
get onManaEqual(): Record<number, Event<[Unit, number]>>;
|
|
287
304
|
get manaEvent(): Record<Operator, Record<number, Event<[Unit]>>>;
|
|
305
|
+
get targetAcquiredEvent(): Event;
|
|
288
306
|
get onSelect(): Event;
|
|
289
307
|
get onDeselect(): Event;
|
|
290
308
|
get onImmediateOrder(): Event<[number]>;
|
|
@@ -337,7 +355,8 @@ export declare class Unit extends Handle<junit> {
|
|
|
337
355
|
static itemDroppedEvent: UnitTriggerEvent<[Item]>;
|
|
338
356
|
static itemPickedUpEvent: UnitTriggerEvent<[Item]>;
|
|
339
357
|
static itemUsedEvent: UnitTriggerEvent<[Item]>;
|
|
340
|
-
static itemStackedEvent: UnitTriggerEvent<[Item]>;
|
|
358
|
+
static itemStackedEvent: UnitTriggerEvent<[target: Item, source: Item]>;
|
|
359
|
+
static get itemChargesChangedEvent(): Event<[unit: Unit, item: Item]>;
|
|
341
360
|
static get itemUseOrderEvent(): Event<[unit: Unit, item: Item]>;
|
|
342
361
|
static get itemMoveOrderEvent(): Event<[
|
|
343
362
|
unit: Unit,
|
|
@@ -356,5 +375,6 @@ export declare class Unit extends Handle<junit> {
|
|
|
356
375
|
setField(field: junitstringfield, value: string): boolean;
|
|
357
376
|
toString(): string;
|
|
358
377
|
static getBySyncId(syncId: UnitSyncId): Unit | undefined;
|
|
378
|
+
static synchronize: (player: Player, object: Unit | undefined) => Promise<Unit | undefined>;
|
|
359
379
|
}
|
|
360
380
|
export {};
|