warscript 0.0.1-dev.5dbd5af → 0.0.1-dev.5e33506
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 +16 -0
- package/core/types/player.lua +60 -15
- package/core/types/playerCamera.d.ts +2 -0
- package/core/types/playerCamera.lua +123 -5
- 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 +6 -4
- package/destroyable.d.ts +1 -0
- package/destroyable.lua +9 -0
- package/engine/behavior.d.ts +14 -1
- package/engine/behavior.lua +230 -70
- package/engine/behaviour/ability/apply-buff.lua +5 -5
- package/engine/behaviour/ability/damage.d.ts +4 -2
- 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 +11 -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.d.ts +2 -1
- package/engine/behaviour/ability.lua +10 -18
- 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 +39 -3
- package/engine/behaviour/unit.lua +259 -6
- package/engine/buff.d.ts +14 -6
- package/engine/buff.lua +145 -97
- 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 +16 -16
- 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 +1 -1
- package/engine/internal/unit+damage.lua +6 -1
- package/engine/internal/unit-missile-launch.lua +45 -14
- package/engine/internal/unit.d.ts +31 -18
- package/engine/internal/unit.lua +289 -165
- 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/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.lua +5 -4
- package/engine/object-data/entry/destructible-type.d.ts +27 -1
- package/engine/object-data/entry/destructible-type.lua +155 -0
- package/engine/object-data/entry/unit-type.d.ts +15 -2
- package/engine/object-data/entry/unit-type.lua +135 -33
- package/engine/object-field/ability.d.ts +3 -3
- package/engine/object-field/ability.lua +7 -6
- package/engine/object-field/unit.d.ts +24 -1
- package/engine/object-field/unit.lua +91 -0
- package/engine/object-field.d.ts +15 -6
- package/engine/object-field.lua +258 -123
- package/engine/random.d.ts +9 -0
- package/engine/random.lua +13 -0
- package/engine/standard/fields/ability.d.ts +2 -2
- package/engine/standard/fields/ability.lua +2 -2
- 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 +1 -1
- 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 +1 -0
- package/utility/linked-set.lua +19 -1
- package/utility/lua-maps.d.ts +12 -2
- package/utility/lua-maps.lua +37 -2
- package/utility/lua-sets.d.ts +1 -0
- package/utility/lua-sets.lua +4 -0
- package/utility/types.d.ts +3 -0
- package/core/types/order.d.ts +0 -25
- package/core/types/order.lua +0 -55
|
@@ -14,6 +14,7 @@ import { CombatClassification, CombatClassifications } from "../object-data/auxi
|
|
|
14
14
|
import { MovementType } from "../object-data/auxiliary/movement-type";
|
|
15
15
|
import { UnitAttribute } from "../object-data/auxiliary/unit-attribute";
|
|
16
16
|
import { AttackType } from "../object-data/auxiliary/attack-type";
|
|
17
|
+
import { AttributesHolder } from "../../attributes";
|
|
17
18
|
export type UnitClassification = junittype;
|
|
18
19
|
export declare namespace UnitClassification {
|
|
19
20
|
const STRUCTURE: junittype;
|
|
@@ -22,6 +23,7 @@ export declare namespace UnitClassification {
|
|
|
22
23
|
const GROUND: junittype;
|
|
23
24
|
const SUMMONED: junittype;
|
|
24
25
|
const MECHANICAL: junittype;
|
|
26
|
+
const WORKER: junittype;
|
|
25
27
|
const ANCIENT: junittype;
|
|
26
28
|
const SUICIDAL: junittype;
|
|
27
29
|
const TAUREN: junittype;
|
|
@@ -39,15 +41,18 @@ type AbilityDispatcherTable<T extends any[] = []> = {
|
|
|
39
41
|
readonly [id: number]: Event<[Unit, Ability, ...T]>;
|
|
40
42
|
};
|
|
41
43
|
type AbilityEventDispatcher<T extends any[] = []> = Event<[Unit, Ability, ...T]> & AbilityDispatcherTable<T>;
|
|
42
|
-
export interface DamagingEvent {
|
|
44
|
+
export interface DamagingEvent extends AttributesHolder {
|
|
43
45
|
amount: number;
|
|
44
46
|
attackType: AttackType;
|
|
45
47
|
damageType: jdamagetype;
|
|
46
48
|
weaponType: jweapontype;
|
|
49
|
+
metadata: unknown;
|
|
47
50
|
readonly isAttack: boolean;
|
|
48
51
|
readonly originalAmount: number;
|
|
52
|
+
readonly originalMetadata: unknown;
|
|
53
|
+
preventRetaliation(this: DamagingEvent): void;
|
|
49
54
|
}
|
|
50
|
-
export type DamageEvent = DamagingEvent & {
|
|
55
|
+
export type DamageEvent = Omit<DamagingEvent, "preventRetaliation"> & {
|
|
51
56
|
preventDeath<P extends any[]>(this: DamageEvent, callback: (this: void, ...parameters: P) => any, ...parameters: P): void;
|
|
52
57
|
};
|
|
53
58
|
export type AttackDamageEvent = DamagingEvent & {
|
|
@@ -75,10 +80,14 @@ export declare class UnitWeapon {
|
|
|
75
80
|
readonly unit: Unit;
|
|
76
81
|
readonly index: 0 | 1;
|
|
77
82
|
constructor(unit: Unit, index: 0 | 1);
|
|
83
|
+
get isEnabled(): boolean;
|
|
84
|
+
set isEnabled(isEnabled: boolean);
|
|
78
85
|
get cooldown(): number;
|
|
79
86
|
set cooldown(cooldown: number);
|
|
80
87
|
get damage(): [minimumDamage: number, maximumDamage: number];
|
|
81
88
|
set damage([minimumDamage, maximumDamage]: [number, number]);
|
|
89
|
+
get allowedTargetCombatClassifications(): CombatClassifications;
|
|
90
|
+
set allowedTargetCombatClassifications(allowedTargetCombatClassifications: CombatClassifications);
|
|
82
91
|
get damageBase(): number;
|
|
83
92
|
set damageBase(damageBase: number);
|
|
84
93
|
get damageDiceCount(): number;
|
|
@@ -100,12 +109,13 @@ declare const enum UnitPropertyKey {
|
|
|
100
109
|
SYNC_ID = 100,
|
|
101
110
|
IS_PAUSED = 101,
|
|
102
111
|
STUN_COUNTER = 102,
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
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
|
|
109
119
|
}
|
|
110
120
|
export type UnitSyncId = number & {
|
|
111
121
|
readonly __unitSyncId: unique symbol;
|
|
@@ -114,6 +124,7 @@ export declare class Unit extends Handle<junit> {
|
|
|
114
124
|
readonly syncId: UnitSyncId;
|
|
115
125
|
private [UnitPropertyKey.IS_PAUSED]?;
|
|
116
126
|
private [UnitPropertyKey.STUN_COUNTER]?;
|
|
127
|
+
private [UnitPropertyKey.FORCE_STUN_COUNTER]?;
|
|
117
128
|
private [UnitPropertyKey.DELAY_HEALTH_CHECKS_COUNTER]?;
|
|
118
129
|
private [UnitPropertyKey.DELAY_HEALTH_CHECKS_HEALTH_BONUS]?;
|
|
119
130
|
private [UnitPropertyKey.PREVENT_DEATH_HEALTH_BONUS]?;
|
|
@@ -153,13 +164,13 @@ export declare class Unit extends Handle<junit> {
|
|
|
153
164
|
isInRangeOf(unit: Unit, range: number): boolean;
|
|
154
165
|
isAllyOf(unit: Unit): boolean;
|
|
155
166
|
isEnemyOf(unit: Unit): boolean;
|
|
156
|
-
playAnimation(animation: string, rarity?: jraritycontrol): void;
|
|
157
|
-
playAnimation(animation: number): void;
|
|
167
|
+
playAnimation(...parameters: [animation: number] | [animation: string, rarity?: jraritycontrol]): void;
|
|
158
168
|
resetAnimation(): void;
|
|
159
169
|
queueAnimation(animation: string): void;
|
|
160
170
|
get weapons(): [UnitWeapon, UnitWeapon];
|
|
161
171
|
get firstWeapon(): UnitWeapon;
|
|
162
172
|
get secondWeapon(): UnitWeapon;
|
|
173
|
+
chooseWeapon(target: Unit): UnitWeapon | undefined;
|
|
163
174
|
get level(): number;
|
|
164
175
|
set level(v: number);
|
|
165
176
|
get xp(): number;
|
|
@@ -209,8 +220,6 @@ export declare class Unit extends Handle<junit> {
|
|
|
209
220
|
set facing(v: number);
|
|
210
221
|
get speed(): number;
|
|
211
222
|
set speed(v: number);
|
|
212
|
-
get flyHeight(): number;
|
|
213
|
-
set flyHeight(v: number);
|
|
214
223
|
get x(): number;
|
|
215
224
|
set x(v: number);
|
|
216
225
|
get y(): number;
|
|
@@ -234,8 +243,6 @@ export declare class Unit extends Handle<junit> {
|
|
|
234
243
|
get isInvulnerable(): boolean;
|
|
235
244
|
get vertexColor(): Color;
|
|
236
245
|
set vertexColor(v: Color);
|
|
237
|
-
get scale(): number;
|
|
238
|
-
set scale(v: number);
|
|
239
246
|
get timeScale(): number;
|
|
240
247
|
set timeScale(v: number);
|
|
241
248
|
get collisionSize(): number;
|
|
@@ -259,17 +266,18 @@ export declare class Unit extends Handle<junit> {
|
|
|
259
266
|
dropItemTarget(item: Item, target: Widget): boolean;
|
|
260
267
|
dropItemSlot(item: Item, slot: number): boolean;
|
|
261
268
|
itemInSlot(slot: number): Item | null;
|
|
262
|
-
addAbility(abilityId: number): UnitAbility |
|
|
269
|
+
addAbility(abilityId: number): UnitAbility | undefined;
|
|
263
270
|
makeAbilityPermanent(abilityId: number, permanent: true): boolean;
|
|
264
271
|
setAbilityLevel(abilityId: number, level: number): number;
|
|
265
272
|
getAbilityLevel(abilityId: number): number;
|
|
266
273
|
hasAbility(abilityId: number): boolean;
|
|
267
|
-
|
|
268
|
-
removeAbility(
|
|
274
|
+
getAbility(abilityId: number): UnitAbility | undefined;
|
|
275
|
+
removeAbility(abilityTypeId: number): boolean;
|
|
269
276
|
hideAbility(abilityId: number, flag: boolean): void;
|
|
270
277
|
getAbilityRemainingCooldown(abilityId: number): number;
|
|
271
278
|
startAbilityCooldown(abilityId: number, cooldown: number): void;
|
|
272
279
|
endAbilityCooldown(abilityId: number): void;
|
|
280
|
+
interruptMovement(): void;
|
|
273
281
|
interruptAttack(): void;
|
|
274
282
|
interruptCast(abilityId: number): void;
|
|
275
283
|
getDistanceTo(target: Unit | Vec2): number;
|
|
@@ -284,6 +292,8 @@ export declare class Unit extends Handle<junit> {
|
|
|
284
292
|
unpauseEx(): void;
|
|
285
293
|
incrementStunCounter(): void;
|
|
286
294
|
decrementStunCounter(): void;
|
|
295
|
+
incrementForceStunCounter(): void;
|
|
296
|
+
decrementForceStunCounter(): void;
|
|
287
297
|
set waygateActive(v: boolean);
|
|
288
298
|
get waygateActive(): boolean;
|
|
289
299
|
set waygateDestination(v: Vec2);
|
|
@@ -292,6 +302,7 @@ export declare class Unit extends Handle<junit> {
|
|
|
292
302
|
get onUnitInRange(): Record<number, Event<[Unit]>>;
|
|
293
303
|
get onManaEqual(): Record<number, Event<[Unit, number]>>;
|
|
294
304
|
get manaEvent(): Record<Operator, Record<number, Event<[Unit]>>>;
|
|
305
|
+
get targetAcquiredEvent(): Event;
|
|
295
306
|
get onSelect(): Event;
|
|
296
307
|
get onDeselect(): Event;
|
|
297
308
|
get onImmediateOrder(): Event<[number]>;
|
|
@@ -344,7 +355,8 @@ export declare class Unit extends Handle<junit> {
|
|
|
344
355
|
static itemDroppedEvent: UnitTriggerEvent<[Item]>;
|
|
345
356
|
static itemPickedUpEvent: UnitTriggerEvent<[Item]>;
|
|
346
357
|
static itemUsedEvent: UnitTriggerEvent<[Item]>;
|
|
347
|
-
static itemStackedEvent: UnitTriggerEvent<[Item]>;
|
|
358
|
+
static itemStackedEvent: UnitTriggerEvent<[target: Item, source: Item]>;
|
|
359
|
+
static get itemChargesChangedEvent(): Event<[unit: Unit, item: Item]>;
|
|
348
360
|
static get itemUseOrderEvent(): Event<[unit: Unit, item: Item]>;
|
|
349
361
|
static get itemMoveOrderEvent(): Event<[
|
|
350
362
|
unit: Unit,
|
|
@@ -363,5 +375,6 @@ export declare class Unit extends Handle<junit> {
|
|
|
363
375
|
setField(field: junitstringfield, value: string): boolean;
|
|
364
376
|
toString(): string;
|
|
365
377
|
static getBySyncId(syncId: UnitSyncId): Unit | undefined;
|
|
378
|
+
static synchronize: (player: Player, object: Unit | undefined) => Promise<Unit | undefined>;
|
|
366
379
|
}
|
|
367
380
|
export {};
|