warscript 0.0.1-dev.90e4632 → 0.0.1-dev.91a4dce
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/effect.d.ts +1 -3
- package/core/types/effect.lua +26 -29
- package/core/types/frame.lua +24 -21
- package/core/types/player.d.ts +15 -0
- package/core/types/player.lua +40 -7
- package/core/types/playerCamera.d.ts +2 -0
- package/core/types/playerCamera.lua +123 -5
- package/core/types/sound.d.ts +17 -25
- package/core/types/sound.lua +85 -44
- package/core/types/tileCell.d.ts +9 -0
- package/core/types/tileCell.lua +92 -0
- package/core/types/timer.d.ts +9 -8
- package/core/types/timer.lua +45 -23
- package/core/util.lua +6 -1
- package/decl/native.d.ts +846 -790
- package/engine/behavior.d.ts +5 -0
- package/engine/behavior.lua +106 -27
- package/engine/behaviour/ability/apply-buff.lua +1 -1
- package/engine/behaviour/ability/apply-unit-behavior.lua +1 -0
- package/engine/behaviour/ability/damage.d.ts +9 -3
- package/engine/behaviour/ability/damage.lua +26 -38
- 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.d.ts +5 -1
- package/engine/behaviour/ability.lua +26 -21
- package/engine/behaviour/unit/stun-immunity.d.ts +7 -3
- package/engine/behaviour/unit/stun-immunity.lua +52 -27
- package/engine/behaviour/unit.d.ts +34 -0
- package/engine/behaviour/unit.lua +190 -4
- package/engine/buff.d.ts +15 -12
- package/engine/buff.lua +133 -117
- 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/mechanics/ability-duration.lua +1 -1
- 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/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+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 +42 -14
- package/engine/internal/unit.d.ts +34 -10
- package/engine/internal/unit.lua +273 -116
- 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/attachment-preset.d.ts +7 -2
- package/engine/object-data/auxiliary/attachment-preset.lua +4 -3
- 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/sound-eax.d.ts +10 -0
- package/engine/object-data/auxiliary/sound-eax.lua +2 -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/carrion-swarm.d.ts +14 -0
- package/engine/object-data/entry/ability-type/carrion-swarm.lua +65 -0
- package/engine/object-data/entry/ability-type/curse.lua +2 -2
- package/engine/object-data/entry/ability-type/ensnare.d.ts +12 -0
- package/engine/object-data/entry/ability-type/ensnare.lua +52 -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/phase-shift.d.ts +10 -0
- package/engine/object-data/entry/ability-type/phase-shift.lua +39 -0
- package/engine/object-data/entry/ability-type/raise-dead.d.ts +17 -0
- package/engine/object-data/entry/ability-type/raise-dead.lua +78 -0
- package/engine/object-data/entry/ability-type/shock-wave.d.ts +4 -0
- package/engine/object-data/entry/ability-type/shock-wave.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/web.d.ts +12 -0
- package/engine/object-data/entry/ability-type/web.lua +52 -0
- package/engine/object-data/entry/ability-type.d.ts +11 -11
- package/engine/object-data/entry/ability-type.lua +35 -13
- 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/sound-preset.d.ts +17 -0
- package/engine/object-data/entry/sound-preset.lua +104 -0
- 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 +57 -3
- package/engine/object-field/unit.lua +207 -7
- package/engine/object-field.d.ts +17 -6
- package/engine/object-field.lua +188 -92
- 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 +4 -0
- package/engine/standard/fields/unit.lua +7 -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 +249 -10
- package/engine/unit.d.ts +1 -0
- package/engine/unit.lua +1 -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;
|
|
@@ -100,7 +112,9 @@ declare const enum UnitPropertyKey {
|
|
|
100
112
|
DELAY_HEALTH_CHECKS_COUNTER = 103,
|
|
101
113
|
DELAY_HEALTH_CHECKS_HEALTH_BONUS = 104,
|
|
102
114
|
PREVENT_DEATH_HEALTH_BONUS = 105,
|
|
103
|
-
IS_TEAM_GLOW_HIDDEN = 106
|
|
115
|
+
IS_TEAM_GLOW_HIDDEN = 106,
|
|
116
|
+
LAST_X = 107,
|
|
117
|
+
LAST_Y = 108
|
|
104
118
|
}
|
|
105
119
|
export type UnitSyncId = number & {
|
|
106
120
|
readonly __unitSyncId: unique symbol;
|
|
@@ -113,6 +127,8 @@ export declare class Unit extends Handle<junit> {
|
|
|
113
127
|
private [UnitPropertyKey.DELAY_HEALTH_CHECKS_HEALTH_BONUS]?;
|
|
114
128
|
private [UnitPropertyKey.PREVENT_DEATH_HEALTH_BONUS]?;
|
|
115
129
|
private [UnitPropertyKey.IS_TEAM_GLOW_HIDDEN]?;
|
|
130
|
+
private [UnitPropertyKey.LAST_X]?;
|
|
131
|
+
private [UnitPropertyKey.LAST_Y]?;
|
|
116
132
|
private _owner?;
|
|
117
133
|
private _timeScale?;
|
|
118
134
|
private events?;
|
|
@@ -146,16 +162,19 @@ export declare class Unit extends Handle<junit> {
|
|
|
146
162
|
isInRangeOf(unit: Unit, range: number): boolean;
|
|
147
163
|
isAllyOf(unit: Unit): boolean;
|
|
148
164
|
isEnemyOf(unit: Unit): boolean;
|
|
149
|
-
playAnimation(animation: string, rarity?: jraritycontrol): void;
|
|
150
|
-
|
|
165
|
+
playAnimation(...parameters: [animation: number] | [animation: string, rarity?: jraritycontrol]): void;
|
|
166
|
+
resetAnimation(): void;
|
|
151
167
|
queueAnimation(animation: string): void;
|
|
152
168
|
get weapons(): [UnitWeapon, UnitWeapon];
|
|
153
169
|
get firstWeapon(): UnitWeapon;
|
|
154
170
|
get secondWeapon(): UnitWeapon;
|
|
171
|
+
chooseWeapon(target: Unit): UnitWeapon | undefined;
|
|
155
172
|
get level(): number;
|
|
156
173
|
set level(v: number);
|
|
157
174
|
get xp(): number;
|
|
158
175
|
set xp(v: number);
|
|
176
|
+
get primaryAttribute(): UnitAttribute;
|
|
177
|
+
set primaryAttribute(primaryAttribute: UnitAttribute);
|
|
159
178
|
get strengthBase(): number;
|
|
160
179
|
set strengthBase(strengthBase: number);
|
|
161
180
|
get strengthBonus(): number;
|
|
@@ -230,6 +249,8 @@ export declare class Unit extends Handle<junit> {
|
|
|
230
249
|
set timeScale(v: number);
|
|
231
250
|
get collisionSize(): number;
|
|
232
251
|
get pathingCollisionRange(): number;
|
|
252
|
+
get movementType(): MovementType;
|
|
253
|
+
set movementType(movementType: MovementType);
|
|
233
254
|
set pathing(v: boolean);
|
|
234
255
|
isSelected(player: Player): boolean;
|
|
235
256
|
explode(): void;
|
|
@@ -247,17 +268,18 @@ export declare class Unit extends Handle<junit> {
|
|
|
247
268
|
dropItemTarget(item: Item, target: Widget): boolean;
|
|
248
269
|
dropItemSlot(item: Item, slot: number): boolean;
|
|
249
270
|
itemInSlot(slot: number): Item | null;
|
|
250
|
-
addAbility(abilityId: number): UnitAbility |
|
|
271
|
+
addAbility(abilityId: number): UnitAbility | undefined;
|
|
251
272
|
makeAbilityPermanent(abilityId: number, permanent: true): boolean;
|
|
252
273
|
setAbilityLevel(abilityId: number, level: number): number;
|
|
253
274
|
getAbilityLevel(abilityId: number): number;
|
|
254
275
|
hasAbility(abilityId: number): boolean;
|
|
255
|
-
|
|
256
|
-
removeAbility(
|
|
276
|
+
getAbility(abilityId: number): UnitAbility | undefined;
|
|
277
|
+
removeAbility(abilityTypeId: number): boolean;
|
|
257
278
|
hideAbility(abilityId: number, flag: boolean): void;
|
|
258
279
|
getAbilityRemainingCooldown(abilityId: number): number;
|
|
259
280
|
startAbilityCooldown(abilityId: number, cooldown: number): void;
|
|
260
281
|
endAbilityCooldown(abilityId: number): void;
|
|
282
|
+
interruptMovement(): void;
|
|
261
283
|
interruptAttack(): void;
|
|
262
284
|
interruptCast(abilityId: number): void;
|
|
263
285
|
getDistanceTo(target: Unit | Vec2): number;
|
|
@@ -280,6 +302,7 @@ export declare class Unit extends Handle<junit> {
|
|
|
280
302
|
get onUnitInRange(): Record<number, Event<[Unit]>>;
|
|
281
303
|
get onManaEqual(): Record<number, Event<[Unit, number]>>;
|
|
282
304
|
get manaEvent(): Record<Operator, Record<number, Event<[Unit]>>>;
|
|
305
|
+
get targetAcquiredEvent(): Event;
|
|
283
306
|
get onSelect(): Event;
|
|
284
307
|
get onDeselect(): Event;
|
|
285
308
|
get onImmediateOrder(): Event<[number]>;
|
|
@@ -332,7 +355,8 @@ export declare class Unit extends Handle<junit> {
|
|
|
332
355
|
static itemDroppedEvent: UnitTriggerEvent<[Item]>;
|
|
333
356
|
static itemPickedUpEvent: UnitTriggerEvent<[Item]>;
|
|
334
357
|
static itemUsedEvent: UnitTriggerEvent<[Item]>;
|
|
335
|
-
static itemStackedEvent: UnitTriggerEvent<[Item]>;
|
|
358
|
+
static itemStackedEvent: UnitTriggerEvent<[target: Item, source: Item]>;
|
|
359
|
+
static get itemChargesChangedEvent(): Event<[unit: Unit, item: Item]>;
|
|
336
360
|
static get itemUseOrderEvent(): Event<[unit: Unit, item: Item]>;
|
|
337
361
|
static get itemMoveOrderEvent(): Event<[
|
|
338
362
|
unit: Unit,
|