warscript 0.0.1-dev.d690591 → 0.0.1-dev.d6e2c10
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 +12 -1
- package/engine/behavior.lua +172 -70
- package/engine/behaviour/ability/apply-buff.lua +5 -5
- 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/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-missile-launch.lua +45 -14
- package/engine/internal/unit.d.ts +29 -18
- package/engine/internal/unit.lua +257 -140
- 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 +17 -1
- package/engine/object-data/entry/destructible-type.lua +90 -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 +225 -124
- 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 +1 -0
- package/utility/arrays.lua +8 -0
- package/utility/callback-array.d.ts +17 -0
- package/utility/callback-array.lua +61 -0
- package/utility/functions.d.ts +7 -0
- package/utility/functions.lua +12 -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,7 +41,7 @@ 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;
|
|
@@ -48,8 +50,9 @@ export interface DamagingEvent {
|
|
|
48
50
|
readonly isAttack: boolean;
|
|
49
51
|
readonly originalAmount: number;
|
|
50
52
|
readonly originalMetadata: unknown;
|
|
53
|
+
preventRetaliation(this: DamagingEvent): void;
|
|
51
54
|
}
|
|
52
|
-
export type DamageEvent = DamagingEvent & {
|
|
55
|
+
export type DamageEvent = Omit<DamagingEvent, "preventRetaliation"> & {
|
|
53
56
|
preventDeath<P extends any[]>(this: DamageEvent, callback: (this: void, ...parameters: P) => any, ...parameters: P): void;
|
|
54
57
|
};
|
|
55
58
|
export type AttackDamageEvent = DamagingEvent & {
|
|
@@ -77,10 +80,14 @@ export declare class UnitWeapon {
|
|
|
77
80
|
readonly unit: Unit;
|
|
78
81
|
readonly index: 0 | 1;
|
|
79
82
|
constructor(unit: Unit, index: 0 | 1);
|
|
83
|
+
get isEnabled(): boolean;
|
|
84
|
+
set isEnabled(isEnabled: boolean);
|
|
80
85
|
get cooldown(): number;
|
|
81
86
|
set cooldown(cooldown: number);
|
|
82
87
|
get damage(): [minimumDamage: number, maximumDamage: number];
|
|
83
88
|
set damage([minimumDamage, maximumDamage]: [number, number]);
|
|
89
|
+
get allowedTargetCombatClassifications(): CombatClassifications;
|
|
90
|
+
set allowedTargetCombatClassifications(allowedTargetCombatClassifications: CombatClassifications);
|
|
84
91
|
get damageBase(): number;
|
|
85
92
|
set damageBase(damageBase: number);
|
|
86
93
|
get damageDiceCount(): number;
|
|
@@ -102,12 +109,13 @@ declare const enum UnitPropertyKey {
|
|
|
102
109
|
SYNC_ID = 100,
|
|
103
110
|
IS_PAUSED = 101,
|
|
104
111
|
STUN_COUNTER = 102,
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
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
|
|
111
119
|
}
|
|
112
120
|
export type UnitSyncId = number & {
|
|
113
121
|
readonly __unitSyncId: unique symbol;
|
|
@@ -116,6 +124,7 @@ export declare class Unit extends Handle<junit> {
|
|
|
116
124
|
readonly syncId: UnitSyncId;
|
|
117
125
|
private [UnitPropertyKey.IS_PAUSED]?;
|
|
118
126
|
private [UnitPropertyKey.STUN_COUNTER]?;
|
|
127
|
+
private [UnitPropertyKey.FORCE_STUN_COUNTER]?;
|
|
119
128
|
private [UnitPropertyKey.DELAY_HEALTH_CHECKS_COUNTER]?;
|
|
120
129
|
private [UnitPropertyKey.DELAY_HEALTH_CHECKS_HEALTH_BONUS]?;
|
|
121
130
|
private [UnitPropertyKey.PREVENT_DEATH_HEALTH_BONUS]?;
|
|
@@ -155,13 +164,13 @@ export declare class Unit extends Handle<junit> {
|
|
|
155
164
|
isInRangeOf(unit: Unit, range: number): boolean;
|
|
156
165
|
isAllyOf(unit: Unit): boolean;
|
|
157
166
|
isEnemyOf(unit: Unit): boolean;
|
|
158
|
-
playAnimation(animation: string, rarity?: jraritycontrol): void;
|
|
159
|
-
playAnimation(animation: number): void;
|
|
167
|
+
playAnimation(...parameters: [animation: number] | [animation: string, rarity?: jraritycontrol]): void;
|
|
160
168
|
resetAnimation(): void;
|
|
161
169
|
queueAnimation(animation: string): void;
|
|
162
170
|
get weapons(): [UnitWeapon, UnitWeapon];
|
|
163
171
|
get firstWeapon(): UnitWeapon;
|
|
164
172
|
get secondWeapon(): UnitWeapon;
|
|
173
|
+
chooseWeapon(target: Unit): UnitWeapon | undefined;
|
|
165
174
|
get level(): number;
|
|
166
175
|
set level(v: number);
|
|
167
176
|
get xp(): number;
|
|
@@ -211,8 +220,6 @@ export declare class Unit extends Handle<junit> {
|
|
|
211
220
|
set facing(v: number);
|
|
212
221
|
get speed(): number;
|
|
213
222
|
set speed(v: number);
|
|
214
|
-
get flyHeight(): number;
|
|
215
|
-
set flyHeight(v: number);
|
|
216
223
|
get x(): number;
|
|
217
224
|
set x(v: number);
|
|
218
225
|
get y(): number;
|
|
@@ -236,8 +243,6 @@ export declare class Unit extends Handle<junit> {
|
|
|
236
243
|
get isInvulnerable(): boolean;
|
|
237
244
|
get vertexColor(): Color;
|
|
238
245
|
set vertexColor(v: Color);
|
|
239
|
-
get scale(): number;
|
|
240
|
-
set scale(v: number);
|
|
241
246
|
get timeScale(): number;
|
|
242
247
|
set timeScale(v: number);
|
|
243
248
|
get collisionSize(): number;
|
|
@@ -261,17 +266,18 @@ export declare class Unit extends Handle<junit> {
|
|
|
261
266
|
dropItemTarget(item: Item, target: Widget): boolean;
|
|
262
267
|
dropItemSlot(item: Item, slot: number): boolean;
|
|
263
268
|
itemInSlot(slot: number): Item | null;
|
|
264
|
-
addAbility(abilityId: number): UnitAbility |
|
|
269
|
+
addAbility(abilityId: number): UnitAbility | undefined;
|
|
265
270
|
makeAbilityPermanent(abilityId: number, permanent: true): boolean;
|
|
266
271
|
setAbilityLevel(abilityId: number, level: number): number;
|
|
267
272
|
getAbilityLevel(abilityId: number): number;
|
|
268
273
|
hasAbility(abilityId: number): boolean;
|
|
269
|
-
|
|
270
|
-
removeAbility(
|
|
274
|
+
getAbility(abilityId: number): UnitAbility | undefined;
|
|
275
|
+
removeAbility(abilityTypeId: number): boolean;
|
|
271
276
|
hideAbility(abilityId: number, flag: boolean): void;
|
|
272
277
|
getAbilityRemainingCooldown(abilityId: number): number;
|
|
273
278
|
startAbilityCooldown(abilityId: number, cooldown: number): void;
|
|
274
279
|
endAbilityCooldown(abilityId: number): void;
|
|
280
|
+
interruptMovement(): void;
|
|
275
281
|
interruptAttack(): void;
|
|
276
282
|
interruptCast(abilityId: number): void;
|
|
277
283
|
getDistanceTo(target: Unit | Vec2): number;
|
|
@@ -286,6 +292,8 @@ export declare class Unit extends Handle<junit> {
|
|
|
286
292
|
unpauseEx(): void;
|
|
287
293
|
incrementStunCounter(): void;
|
|
288
294
|
decrementStunCounter(): void;
|
|
295
|
+
incrementForceStunCounter(): void;
|
|
296
|
+
decrementForceStunCounter(): void;
|
|
289
297
|
set waygateActive(v: boolean);
|
|
290
298
|
get waygateActive(): boolean;
|
|
291
299
|
set waygateDestination(v: Vec2);
|
|
@@ -294,6 +302,7 @@ export declare class Unit extends Handle<junit> {
|
|
|
294
302
|
get onUnitInRange(): Record<number, Event<[Unit]>>;
|
|
295
303
|
get onManaEqual(): Record<number, Event<[Unit, number]>>;
|
|
296
304
|
get manaEvent(): Record<Operator, Record<number, Event<[Unit]>>>;
|
|
305
|
+
get targetAcquiredEvent(): Event;
|
|
297
306
|
get onSelect(): Event;
|
|
298
307
|
get onDeselect(): Event;
|
|
299
308
|
get onImmediateOrder(): Event<[number]>;
|
|
@@ -346,7 +355,8 @@ export declare class Unit extends Handle<junit> {
|
|
|
346
355
|
static itemDroppedEvent: UnitTriggerEvent<[Item]>;
|
|
347
356
|
static itemPickedUpEvent: UnitTriggerEvent<[Item]>;
|
|
348
357
|
static itemUsedEvent: UnitTriggerEvent<[Item]>;
|
|
349
|
-
static itemStackedEvent: UnitTriggerEvent<[Item]>;
|
|
358
|
+
static itemStackedEvent: UnitTriggerEvent<[target: Item, source: Item]>;
|
|
359
|
+
static get itemChargesChangedEvent(): Event<[unit: Unit, item: Item]>;
|
|
350
360
|
static get itemUseOrderEvent(): Event<[unit: Unit, item: Item]>;
|
|
351
361
|
static get itemMoveOrderEvent(): Event<[
|
|
352
362
|
unit: Unit,
|
|
@@ -365,5 +375,6 @@ export declare class Unit extends Handle<junit> {
|
|
|
365
375
|
setField(field: junitstringfield, value: string): boolean;
|
|
366
376
|
toString(): string;
|
|
367
377
|
static getBySyncId(syncId: UnitSyncId): Unit | undefined;
|
|
378
|
+
static synchronize: (player: Player, object: Unit | undefined) => Promise<Unit | undefined>;
|
|
368
379
|
}
|
|
369
380
|
export {};
|