warscript 0.0.1-dev.3324599 → 0.0.1-dev.33b52d0
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/core/dummy.lua +4 -2
- package/core/types/effect.d.ts +11 -1
- package/core/types/effect.lua +43 -77
- package/core/types/frame.d.ts +16 -2
- package/core/types/frame.lua +81 -66
- package/core/types/handle.lua +9 -9
- package/core/types/missile.lua +8 -7
- package/core/types/player.d.ts +2 -1
- package/core/types/player.lua +18 -13
- package/core/types/playerColor.lua +4 -3
- package/core/types/sound.d.ts +1 -1
- package/core/types/sound.lua +13 -8
- package/core/types/tileCell.d.ts +7 -2
- package/core/types/tileCell.lua +11 -0
- package/core/types/unit.d.ts +5 -0
- package/core/types/unit.lua +5 -0
- package/core/util.d.ts +3 -1
- package/core/util.lua +109 -3
- package/decl/native.d.ts +706 -7
- package/engine/ability-type-extended-tooltip.d.ts +8 -0
- package/engine/ability-type-extended-tooltip.lua +44 -0
- package/engine/behaviour/ability/apply-unit-behavior.lua +5 -0
- package/engine/behaviour/ability/damage.d.ts +1 -0
- package/engine/behaviour/ability/damage.lua +12 -14
- package/engine/behaviour/ability/emulate-impact.d.ts +14 -0
- package/engine/behaviour/ability/emulate-impact.lua +79 -5
- package/engine/behaviour/ability/instant-impact.d.ts +12 -1
- package/engine/behaviour/ability/instant-impact.lua +17 -2
- package/engine/behaviour/ability/on-command-impact.d.ts +1 -0
- package/engine/behaviour/ability/on-command-impact.lua +1 -0
- package/engine/behaviour/ability.d.ts +8 -0
- package/engine/behaviour/ability.lua +89 -8
- package/engine/behaviour/unit.d.ts +1 -0
- package/engine/behaviour/unit.lua +1 -0
- package/engine/buff.d.ts +65 -54
- package/engine/buff.lua +318 -243
- package/engine/index.d.ts +2 -1
- package/engine/internal/ability.d.ts +7 -0
- package/engine/internal/ability.lua +65 -36
- package/engine/internal/item/owner-cache.d.ts +5 -0
- package/engine/internal/item/owner-cache.lua +4 -0
- package/engine/internal/item+owner.d.ts +2 -0
- package/engine/internal/item+owner.lua +27 -4
- package/engine/internal/item.d.ts +20 -1
- package/engine/internal/item.lua +146 -20
- package/engine/internal/misc/unit-ability-level-natives.d.ts +2 -0
- package/engine/internal/misc/unit-ability-level-natives.lua +12 -0
- package/engine/internal/object-data/health-regeneration-rate-increase.d.ts +2 -0
- package/engine/internal/object-data/health-regeneration-rate-increase.lua +48 -0
- package/engine/internal/object-data/returned-melee-damage-factor.d.ts +2 -0
- package/engine/internal/object-data/returned-melee-damage-factor.lua +21 -0
- package/engine/internal/unit/ability.lua +16 -0
- package/engine/internal/unit/add-item-to-slot-init.lua +3 -14
- package/engine/internal/unit/add-item-to-slot.lua +53 -12
- package/engine/internal/unit/appearance.d.ts +15 -0
- package/engine/internal/unit/appearance.lua +85 -0
- package/engine/internal/unit/bonus.d.ts +11 -0
- package/engine/internal/unit/bonus.lua +80 -5
- package/engine/internal/unit/buff.d.ts +2 -2
- package/engine/internal/unit/buff.lua +34 -19
- package/engine/internal/unit/equipment-inventory.d.ts +44 -0
- package/engine/internal/unit/equipment-inventory.lua +233 -0
- package/engine/internal/unit/expiration-timer.lua +1 -1
- package/engine/internal/unit/extended-inventory.d.ts +25 -0
- package/engine/internal/unit/extended-inventory.lua +99 -0
- package/engine/internal/unit/ignore-events-items.lua +10 -1
- package/engine/internal/unit/{item.d.ts → inventory.d.ts} +7 -3
- package/engine/internal/unit/inventory.lua +87 -0
- package/engine/internal/unit/item-container.d.ts +25 -0
- package/engine/internal/unit/item-container.lua +11 -0
- package/engine/internal/unit/item-order-events.d.ts +17 -0
- package/engine/internal/unit/item-order-events.lua +67 -0
- package/engine/internal/unit/item-slot.d.ts +27 -0
- package/engine/internal/unit/item-slot.lua +92 -0
- package/engine/internal/unit/order.d.ts +3 -3
- package/engine/internal/unit/order.lua +10 -10
- package/engine/internal/unit+ability.d.ts +2 -1
- package/engine/internal/unit+ability.lua +73 -2
- package/engine/internal/unit+damage.d.ts +9 -0
- package/engine/internal/unit+damage.lua +33 -0
- package/engine/internal/unit+rally.lua +9 -31
- package/engine/internal/unit-missile-data.lua +96 -68
- package/engine/internal/unit-missile-launch.lua +13 -13
- package/engine/internal/unit.d.ts +2 -10
- package/engine/internal/unit.lua +53 -100
- package/engine/lightning.lua +4 -4
- package/engine/local-client.d.ts +21 -0
- package/engine/local-client.lua +242 -57
- package/engine/object-data/auxiliary/attachment-preset.d.ts +7 -0
- package/engine/object-data/auxiliary/attachment-preset.lua +7 -0
- package/engine/object-data/auxiliary/equipment-slot.d.ts +12 -0
- package/engine/object-data/auxiliary/equipment-slot.lua +2 -0
- package/engine/object-data/auxiliary/equipment-type.d.ts +12 -0
- package/engine/object-data/auxiliary/equipment-type.lua +26 -0
- package/engine/object-data/auxiliary/item-class.d.ts +11 -0
- package/engine/object-data/auxiliary/item-class.lua +2 -0
- package/engine/object-data/auxiliary/item-tag.d.ts +12 -0
- package/engine/object-data/auxiliary/item-tag.lua +2 -0
- package/engine/object-data/auxiliary/order-type.d.ts +939 -0
- package/engine/object-data/auxiliary/order-type.lua +2 -0
- package/engine/object-data/auxiliary/sound-set-name.d.ts +14 -3
- package/engine/object-data/entry/ability-type/apprehend.d.ts +22 -0
- package/engine/object-data/entry/ability-type/apprehend.lua +66 -0
- package/engine/object-data/entry/ability-type/aura-of-blight.d.ts +13 -0
- package/engine/object-data/entry/ability-type/aura-of-blight.lua +39 -0
- package/engine/object-data/entry/ability-type/banshee.d.ts +8 -0
- package/engine/object-data/entry/ability-type/banshee.lua +13 -0
- package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.d.ts +12 -0
- package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.lua +27 -0
- package/engine/object-data/entry/ability-type/banshees-wail.d.ts +31 -0
- package/engine/object-data/entry/ability-type/banshees-wail.lua +117 -0
- package/engine/object-data/entry/ability-type/barrage.d.ts +12 -0
- package/engine/object-data/entry/ability-type/barrage.lua +52 -0
- package/engine/object-data/entry/ability-type/battering-ram.d.ts +33 -0
- package/engine/object-data/entry/ability-type/battering-ram.lua +130 -0
- package/engine/object-data/entry/ability-type/blank-configurable.lua +2 -2
- package/engine/object-data/entry/ability-type/blank-passive-with-cooldown.d.ts +23 -0
- package/engine/object-data/entry/ability-type/blank-passive-with-cooldown.lua +112 -0
- package/engine/object-data/entry/ability-type/blank-passive.d.ts +4 -0
- package/engine/object-data/entry/ability-type/blank-passive.lua +27 -7
- package/engine/object-data/entry/ability-type/breath-of-fire.d.ts +11 -0
- package/engine/object-data/entry/ability-type/breath-of-fire.lua +27 -0
- package/engine/object-data/entry/ability-type/channel.d.ts +2 -2
- package/engine/object-data/entry/ability-type/channel.lua +3 -3
- package/engine/object-data/entry/ability-type/cleansing-fire.d.ts +27 -0
- package/engine/object-data/entry/ability-type/cleansing-fire.lua +104 -0
- package/engine/object-data/entry/ability-type/consecration.d.ts +15 -0
- package/engine/object-data/entry/ability-type/consecration.lua +52 -0
- package/engine/object-data/entry/ability-type/cooldown-reduction.d.ts +12 -0
- package/engine/object-data/entry/ability-type/cooldown-reduction.lua +39 -0
- package/engine/object-data/entry/ability-type/critical-strike-system.d.ts +18 -0
- package/engine/object-data/entry/ability-type/critical-strike-system.lua +65 -0
- package/engine/object-data/entry/ability-type/deathseeker-arrows.d.ts +21 -0
- package/engine/object-data/entry/ability-type/deathseeker-arrows.lua +78 -0
- package/engine/object-data/entry/ability-type/equipment-inventory-interface.d.ts +8 -0
- package/engine/object-data/entry/ability-type/equipment-inventory-interface.lua +13 -0
- package/engine/object-data/entry/ability-type/equipment-inventory.d.ts +13 -0
- package/engine/object-data/entry/ability-type/equipment-inventory.lua +27 -0
- package/engine/object-data/entry/ability-type/equipment.d.ts +13 -0
- package/engine/object-data/entry/ability-type/equipment.lua +27 -0
- package/engine/object-data/entry/ability-type/exhume-corpses.d.ts +14 -0
- package/engine/object-data/entry/ability-type/exhume-corpses.lua +40 -0
- package/engine/object-data/entry/ability-type/firebolt.d.ts +7 -0
- package/engine/object-data/entry/ability-type/firebolt.lua +13 -0
- package/engine/object-data/entry/ability-type/flame-strike.d.ts +25 -0
- package/engine/object-data/entry/ability-type/flame-strike.lua +92 -0
- package/engine/object-data/entry/ability-type/grant-talent-point.d.ts +8 -0
- package/engine/object-data/entry/ability-type/grant-talent-point.lua +13 -0
- package/engine/object-data/entry/ability-type/grim-conviction.d.ts +36 -0
- package/engine/object-data/entry/ability-type/grim-conviction.lua +131 -0
- package/engine/object-data/entry/ability-type/grit.d.ts +18 -0
- package/engine/object-data/entry/ability-type/grit.lua +65 -0
- package/engine/object-data/entry/ability-type/guiding-hand.d.ts +27 -0
- package/engine/object-data/entry/ability-type/guiding-hand.lua +104 -0
- package/engine/object-data/entry/ability-type/headsplitter.d.ts +27 -0
- package/engine/object-data/entry/ability-type/headsplitter.lua +104 -0
- package/engine/object-data/entry/ability-type/healing-modifier.d.ts +9 -0
- package/engine/object-data/entry/ability-type/healing-modifier.lua +26 -0
- package/engine/object-data/entry/ability-type/healing-ward-aura.d.ts +13 -0
- package/engine/object-data/entry/ability-type/healing-ward-aura.lua +39 -0
- package/engine/object-data/entry/ability-type/heroic-slash.d.ts +18 -0
- package/engine/object-data/entry/ability-type/heroic-slash.lua +65 -0
- package/engine/object-data/entry/ability-type/holy-wrath.d.ts +30 -0
- package/engine/object-data/entry/ability-type/holy-wrath.lua +117 -0
- package/engine/object-data/entry/ability-type/inspire-courage.d.ts +18 -0
- package/engine/object-data/entry/ability-type/inspire-courage.lua +65 -0
- package/engine/object-data/entry/ability-type/item-life-regeneration.d.ts +10 -0
- package/engine/object-data/entry/ability-type/item-life-regeneration.lua +26 -0
- package/engine/object-data/entry/ability-type/life-drain.d.ts +37 -0
- package/engine/object-data/entry/ability-type/life-drain.lua +144 -0
- package/engine/object-data/entry/ability-type/lights-mercy.d.ts +27 -0
- package/engine/object-data/entry/ability-type/lights-mercy.lua +104 -0
- package/engine/object-data/entry/ability-type/mana-efficiency.d.ts +12 -0
- package/engine/object-data/entry/ability-type/mana-efficiency.lua +39 -0
- package/engine/object-data/entry/ability-type/mind-control.d.ts +21 -0
- package/engine/object-data/entry/ability-type/mind-control.lua +78 -0
- package/engine/object-data/entry/ability-type/on-attack-cast-spell.d.ts +21 -0
- package/engine/object-data/entry/ability-type/on-attack-cast-spell.lua +52 -0
- package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.d.ts +19 -0
- package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.lua +65 -0
- package/engine/object-data/entry/ability-type/on-hit-cast-spell.d.ts +15 -0
- package/engine/object-data/entry/ability-type/on-hit-cast-spell.lua +26 -0
- package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.d.ts +6 -0
- package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.lua +12 -0
- package/engine/object-data/entry/ability-type/provoke.d.ts +21 -0
- package/engine/object-data/entry/ability-type/provoke.lua +66 -0
- package/engine/object-data/entry/ability-type/rain-of-fire.d.ts +7 -0
- package/engine/object-data/entry/ability-type/rain-of-fire.lua +13 -0
- package/engine/object-data/entry/ability-type/raise-the-banner.d.ts +9 -0
- package/engine/object-data/entry/ability-type/raise-the-banner.lua +26 -0
- package/engine/object-data/entry/ability-type/resolve.d.ts +12 -0
- package/engine/object-data/entry/ability-type/resolve.lua +39 -0
- package/engine/object-data/entry/ability-type/righteous-fury.d.ts +33 -0
- package/engine/object-data/entry/ability-type/righteous-fury.lua +130 -0
- package/engine/object-data/entry/ability-type/sacred-aura.d.ts +27 -0
- package/engine/object-data/entry/ability-type/sacred-aura.lua +104 -0
- package/engine/object-data/entry/ability-type/soul-burn.d.ts +22 -0
- package/engine/object-data/entry/ability-type/soul-burn.lua +79 -0
- package/engine/object-data/entry/ability-type/soul-lantern.d.ts +30 -0
- package/engine/object-data/entry/ability-type/soul-lantern.lua +117 -0
- package/engine/object-data/entry/ability-type/spell-amp.d.ts +15 -0
- package/engine/object-data/entry/ability-type/spell-amp.lua +52 -0
- package/engine/object-data/entry/ability-type/spell-critical-strike.d.ts +12 -0
- package/engine/object-data/entry/ability-type/spell-critical-strike.lua +39 -0
- package/engine/object-data/entry/ability-type/spell-vamp.d.ts +12 -0
- package/engine/object-data/entry/ability-type/spell-vamp.lua +39 -0
- package/engine/object-data/entry/ability-type/stackable-evasion.d.ts +9 -0
- package/engine/object-data/entry/ability-type/stackable-evasion.lua +13 -0
- package/engine/object-data/entry/ability-type/stackable-hardened-skin.d.ts +21 -0
- package/engine/object-data/entry/ability-type/stackable-hardened-skin.lua +78 -0
- package/engine/object-data/entry/ability-type/stackable-life-steal.d.ts +9 -0
- package/engine/object-data/entry/ability-type/stackable-life-steal.lua +26 -0
- package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.d.ts +9 -0
- package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.lua +13 -0
- package/engine/object-data/entry/ability-type/stackable-thorn-shield.d.ts +9 -0
- package/engine/object-data/entry/ability-type/stackable-thorn-shield.lua +13 -0
- package/engine/object-data/entry/ability-type/stat-details.d.ts +12 -0
- package/engine/object-data/entry/ability-type/stat-details.lua +27 -0
- package/engine/object-data/entry/ability-type/surge-of-light.d.ts +33 -0
- package/engine/object-data/entry/ability-type/surge-of-light.lua +130 -0
- package/engine/object-data/entry/ability-type/sweeping-strike.d.ts +57 -0
- package/engine/object-data/entry/ability-type/sweeping-strike.lua +234 -0
- package/engine/object-data/entry/ability-type/talents.d.ts +12 -0
- package/engine/object-data/entry/ability-type/talents.lua +27 -0
- package/engine/object-data/entry/ability-type/unyielding-guard.d.ts +30 -0
- package/engine/object-data/entry/ability-type/unyielding-guard.lua +117 -0
- package/engine/object-data/entry/ability-type/valiant-charge.d.ts +27 -0
- package/engine/object-data/entry/ability-type/valiant-charge.lua +104 -0
- package/engine/object-data/entry/ability-type/warcry.d.ts +9 -0
- package/engine/object-data/entry/ability-type/warcry.lua +26 -0
- package/engine/object-data/entry/ability-type/withering-fire.d.ts +21 -0
- package/engine/object-data/entry/ability-type/withering-fire.lua +78 -0
- package/engine/object-data/entry/ability-type.d.ts +33 -8
- package/engine/object-data/entry/ability-type.lua +256 -48
- package/engine/object-data/entry/buff-type/applicable.lua +10 -3
- package/engine/object-data/entry/buff-type.d.ts +6 -2
- package/engine/object-data/entry/buff-type.lua +26 -0
- package/engine/object-data/entry/destructible-type.d.ts +6 -2
- package/engine/object-data/entry/destructible-type.lua +26 -0
- package/engine/object-data/entry/item-type.d.ts +18 -3
- package/engine/object-data/entry/item-type.lua +84 -0
- package/engine/object-data/entry/lightning-type.d.ts +6 -8
- package/engine/object-data/entry/lightning-type.lua +1 -1
- package/engine/object-data/entry/sound-preset.d.ts +2 -2
- package/engine/object-data/entry/unit-type.d.ts +57 -2
- package/engine/object-data/entry/unit-type.lua +412 -64
- package/engine/object-data/entry/upgrade.d.ts +2 -2
- package/engine/object-data/entry.d.ts +6 -1
- package/engine/object-data/entry.lua +8 -0
- package/engine/random.lua +1 -1
- package/engine/standard/entries/ability-type.d.ts +3102 -7
- package/engine/standard/entries/ability-type.lua +0 -6
- package/engine/standard/entries/buff-type.d.ts +45 -0
- package/engine/standard/entries/buff-type.lua +43 -0
- package/engine/standard/entries/item-type.d.ts +1299 -0
- package/engine/standard/entries/item-type.lua +2 -0
- package/engine/standard/entries/lightning-type.d.ts +42 -15
- package/engine/standard/entries/lightning-type.lua +0 -14
- package/engine/standard/entries/unit-type.d.ts +5 -0
- package/engine/standard/entries/unit-type.lua +5 -0
- package/engine/standard/fields/ability.d.ts +2 -2
- package/engine/standard/fields/ability.lua +2 -2
- package/engine/text-tag.d.ts +13 -1
- package/engine/text-tag.lua +76 -37
- package/engine/unit.d.ts +5 -1
- package/engine/unit.lua +5 -1
- package/event.d.ts +1 -1
- package/network.lua +25 -1
- package/objutil/buff.lua +1 -1
- package/operation.d.ts +8 -1
- package/operation.lua +37 -14
- package/package.json +2 -22
- package/utility/arrays.d.ts +7 -1
- package/utility/arrays.lua +17 -0
- package/utility/random.d.ts +102 -0
- package/utility/random.lua +273 -0
- package/utility/unordered-map.lua +9 -4
- package/engine/internal/unit/item.lua +0 -78
|
@@ -1,16 +1,43 @@
|
|
|
1
1
|
/** @noSelfInFile */
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
2
|
+
export declare const enum StandardLightningTypeId {
|
|
3
|
+
/** `LEAS` */
|
|
4
|
+
AERIAL_SHACKLES = 1279607123,
|
|
5
|
+
/** `VLCG` */
|
|
6
|
+
CHAIN_LIGHTNING_GOLD = 1447838535,
|
|
7
|
+
/** `CLPB` */
|
|
8
|
+
CHAIN_LIGHTNING_PRIMARY = 1129074754,
|
|
9
|
+
/** `CLSB` */
|
|
10
|
+
CHAIN_LIGHTNING_SECONDARY = 1129075522,
|
|
11
|
+
/** `DRAL` */
|
|
12
|
+
DRAIN_LIFE = 1146241356,
|
|
13
|
+
/** `DRAB` */
|
|
14
|
+
DRAIN_LIFE_AND_MANA = 1146241346,
|
|
15
|
+
/** `DRAM` */
|
|
16
|
+
DRAIN_MANA = 1146241357,
|
|
17
|
+
/** `AFOD` */
|
|
18
|
+
FINGER_OF_DEATH = 1095126852,
|
|
19
|
+
/** `FORK` */
|
|
20
|
+
FORKED_LIGHTNING = 1179603531,
|
|
21
|
+
/** `HWPB` */
|
|
22
|
+
HEALING_WAVE_PRIMARY = 1213681730,
|
|
23
|
+
/** `HWSB` */
|
|
24
|
+
HEALING_WAVE_SECONDARY = 1213682498,
|
|
25
|
+
/** `INIT` */
|
|
26
|
+
INIT = 1229867348,
|
|
27
|
+
/** `DRWL` */
|
|
28
|
+
LIFE_WAVE = 1146246988,
|
|
29
|
+
/** `CHIM` */
|
|
30
|
+
LIGHTNING_ATTACK = 1128810829,
|
|
31
|
+
/** `MBUR` */
|
|
32
|
+
MANA_BURN = 1296192850,
|
|
33
|
+
/** `MFPB` */
|
|
34
|
+
MANA_FLARE = 1296453698,
|
|
35
|
+
/** `DRWM` */
|
|
36
|
+
MANA_WAVE = 1146246989,
|
|
37
|
+
/** `POSS` */
|
|
38
|
+
POSSESSION = 1347375955,
|
|
39
|
+
/** `VLST` */
|
|
40
|
+
SOUL_TETHER = 1447842644,
|
|
41
|
+
/** `SPLK` */
|
|
42
|
+
SPIRIT_LINK = 1397771339
|
|
43
|
+
}
|
|
@@ -1,16 +1,2 @@
|
|
|
1
1
|
local ____exports = {}
|
|
2
|
-
____exports.AERIAL_SHACKLES_LIGHTNING_TYPE_ID = fourCC("LEAS")
|
|
3
|
-
____exports.CHAIN_LIGHTNING_PRIMARY_LIGHTNING_TYPE_ID = fourCC("CLPB")
|
|
4
|
-
____exports.CHAIN_LIGHTNING_SECONDARY_LIGHTNING_TYPE_ID = fourCC("CLSB")
|
|
5
|
-
____exports.DRAIN_LIFE_LIGHTNING_TYPE_ID = fourCC("DRAL")
|
|
6
|
-
____exports.DRAIN_LIFE_AND_MANA_LIGHTNING_TYPE_ID = fourCC("DRAB")
|
|
7
|
-
____exports.DRAIN_MANA_LIGHTNING_TYPE_ID = fourCC("DRAM")
|
|
8
|
-
____exports.FINGER_OF_DEATH_LIGHTNING_TYPE_ID = fourCC("AFOD")
|
|
9
|
-
____exports.FORKED_LIGHTNING_LIGHTNING_TYPE_ID = fourCC("FORK")
|
|
10
|
-
____exports.HEALING_WAVE_PRIMARY_LIGHTNING_TYPE_ID = fourCC("HWPB")
|
|
11
|
-
____exports.HEALING_WAVE_SECONDARY_LIGHTNING_TYPE_ID = fourCC("HWSB")
|
|
12
|
-
____exports.LIGHTNING_ATTACK_LIGHTNING_TYPE_ID = fourCC("CHIM")
|
|
13
|
-
____exports.MANA_BURN_LIGHTNING_TYPE_ID = fourCC("MBUR")
|
|
14
|
-
____exports.MANA_FLARE_LIGHTNING_TYPE_ID = fourCC("MFPB")
|
|
15
|
-
____exports.SPIRIT_LINK_LIGHTNING_TYPE_ID = fourCC("SPLK")
|
|
16
2
|
return ____exports
|
|
@@ -15,6 +15,7 @@ export declare const MOUNTAIN_KING_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
|
|
|
15
15
|
export declare const PALADIN_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
|
|
16
16
|
export declare const ARCHER_HIGH_ELF_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
17
17
|
export declare const CAPTAIN_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
18
|
+
export declare const CHAPLAIN_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
18
19
|
export declare const SWORDSMAN_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
19
20
|
export declare const ADMIRAL_PROUDMOORE_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
|
|
20
21
|
export declare const ANASTERIAN_SUNSTRIDER_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
|
|
@@ -47,6 +48,7 @@ export declare const SPIRIT_WALKER_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
|
47
48
|
export declare const TAUREN_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
48
49
|
export declare const WIND_RIDER_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
49
50
|
export declare const WITCH_DOCTOR_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
51
|
+
export declare const BLADEMASTER_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
|
|
50
52
|
export declare const ARCHER_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
51
53
|
export declare const CHIMAERA_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
52
54
|
export declare const DRUID_OF_THE_CLAW_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
@@ -67,9 +69,11 @@ export declare const DEMON_HUNTER_DEMON_FORM_HERO_UNIT_TYPE_ID: StandardHeroUnit
|
|
|
67
69
|
export declare const ABOMINATION_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
68
70
|
export declare const GHOUL_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
69
71
|
export declare const DEATH_KNIGHT_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
|
|
72
|
+
export declare const DREADLORD_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
|
|
70
73
|
export declare const ZOMBIE_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
71
74
|
export declare const ZOMBIE_FEMALE_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
72
75
|
export declare const ARTHAS_EVIL_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
|
|
76
|
+
export declare const MAL_GANIS_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
|
|
73
77
|
export declare const DIRE_MAMMOTH_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
74
78
|
export declare const ELDER_JUNGLE_STALKER_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
75
79
|
export declare const ENRAGED_ELEMENTAL_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
@@ -98,6 +102,7 @@ export declare const WENDIGO_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
|
98
102
|
export declare const WENDIGO_SHAMAN_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
99
103
|
export declare const WILDKIN_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
100
104
|
export declare const WRAITH_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
105
|
+
export declare const PIT_LORD_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
|
|
101
106
|
export declare const GOBLIN_LAND_MINE_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
102
107
|
export declare const CIRCLE_OF_POWER_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
103
108
|
export declare const CIRCLE_OF_POWER_MEDIUM_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
@@ -14,6 +14,7 @@ ____exports.MOUNTAIN_KING_HERO_UNIT_TYPE_ID = fourCC("Hmkg")
|
|
|
14
14
|
____exports.PALADIN_HERO_UNIT_TYPE_ID = fourCC("Hpal")
|
|
15
15
|
____exports.ARCHER_HIGH_ELF_UNIT_TYPE_ID = fourCC("nhea")
|
|
16
16
|
____exports.CAPTAIN_UNIT_TYPE_ID = fourCC("hcth")
|
|
17
|
+
____exports.CHAPLAIN_UNIT_TYPE_ID = fourCC("nchp")
|
|
17
18
|
____exports.SWORDSMAN_UNIT_TYPE_ID = fourCC("hhes")
|
|
18
19
|
____exports.ADMIRAL_PROUDMOORE_HERO_UNIT_TYPE_ID = fourCC("Hapm")
|
|
19
20
|
____exports.ANASTERIAN_SUNSTRIDER_HERO_UNIT_TYPE_ID = fourCC("Hssa")
|
|
@@ -46,6 +47,7 @@ ____exports.SPIRIT_WALKER_UNIT_TYPE_ID = fourCC("ospw")
|
|
|
46
47
|
____exports.TAUREN_UNIT_TYPE_ID = fourCC("otau")
|
|
47
48
|
____exports.WIND_RIDER_UNIT_TYPE_ID = fourCC("owyv")
|
|
48
49
|
____exports.WITCH_DOCTOR_UNIT_TYPE_ID = fourCC("odoc")
|
|
50
|
+
____exports.BLADEMASTER_HERO_UNIT_TYPE_ID = fourCC("Obla")
|
|
49
51
|
____exports.ARCHER_UNIT_TYPE_ID = fourCC("earc")
|
|
50
52
|
____exports.CHIMAERA_UNIT_TYPE_ID = fourCC("echm")
|
|
51
53
|
____exports.DRUID_OF_THE_CLAW_UNIT_TYPE_ID = fourCC("edoc")
|
|
@@ -66,9 +68,11 @@ ____exports.DEMON_HUNTER_DEMON_FORM_HERO_UNIT_TYPE_ID = fourCC("Edmm")
|
|
|
66
68
|
____exports.ABOMINATION_UNIT_TYPE_ID = fourCC("uabo")
|
|
67
69
|
____exports.GHOUL_UNIT_TYPE_ID = fourCC("ugho")
|
|
68
70
|
____exports.DEATH_KNIGHT_HERO_UNIT_TYPE_ID = fourCC("Udea")
|
|
71
|
+
____exports.DREADLORD_HERO_UNIT_TYPE_ID = fourCC("Udre")
|
|
69
72
|
____exports.ZOMBIE_UNIT_TYPE_ID = fourCC("nzom")
|
|
70
73
|
____exports.ZOMBIE_FEMALE_UNIT_TYPE_ID = fourCC("nzof")
|
|
71
74
|
____exports.ARTHAS_EVIL_HERO_UNIT_TYPE_ID = fourCC("Uear")
|
|
75
|
+
____exports.MAL_GANIS_HERO_UNIT_TYPE_ID = fourCC("Umal")
|
|
72
76
|
____exports.DIRE_MAMMOTH_UNIT_TYPE_ID = fourCC("nmdr")
|
|
73
77
|
____exports.ELDER_JUNGLE_STALKER_UNIT_TYPE_ID = fourCC("njga")
|
|
74
78
|
____exports.ENRAGED_ELEMENTAL_UNIT_TYPE_ID = fourCC("nele")
|
|
@@ -97,6 +101,7 @@ ____exports.WENDIGO_UNIT_TYPE_ID = fourCC("nwen")
|
|
|
97
101
|
____exports.WENDIGO_SHAMAN_UNIT_TYPE_ID = fourCC("nwns")
|
|
98
102
|
____exports.WILDKIN_UNIT_TYPE_ID = fourCC("nowb")
|
|
99
103
|
____exports.WRAITH_UNIT_TYPE_ID = fourCC("ngh2")
|
|
104
|
+
____exports.PIT_LORD_HERO_UNIT_TYPE_ID = fourCC("Nplh")
|
|
100
105
|
____exports.GOBLIN_LAND_MINE_UNIT_TYPE_ID = fourCC("nglm")
|
|
101
106
|
____exports.CIRCLE_OF_POWER_UNIT_TYPE_ID = fourCC("ncop")
|
|
102
107
|
____exports.CIRCLE_OF_POWER_MEDIUM_UNIT_TYPE_ID = fourCC("ncp2")
|
|
@@ -7,8 +7,8 @@ export declare const BUTTON_POSITION_ACTIVATED_Y_ABILITY_INTEGER_FIELD: AbilityI
|
|
|
7
7
|
export declare const BUTTON_POSITION_RESEARCH_X_ABILITY_INTEGER_FIELD: AbilityIntegerField & symbol;
|
|
8
8
|
export declare const BUTTON_POSITION_RESEARCH_Y_ABILITY_INTEGER_FIELD: AbilityIntegerField & symbol;
|
|
9
9
|
export declare const MISSILE_SPEED_ABILITY_INTEGER_FIELD: AbilityIntegerField & symbol;
|
|
10
|
-
export declare const
|
|
11
|
-
export declare const
|
|
10
|
+
export declare const TARGET_EFFECT_COUNT_ABILITY_INTEGER_FIELD: AbilityIntegerField & symbol;
|
|
11
|
+
export declare const CASTER_EFFECT_COUNT_ABILITY_INTEGER_FIELD: AbilityIntegerField & symbol;
|
|
12
12
|
export declare const PRIORITY_ABILITY_INTEGER_FIELD: AbilityIntegerField & symbol;
|
|
13
13
|
export declare const LEVELS_ABILITY_INTEGER_FIELD: AbilityIntegerField & symbol;
|
|
14
14
|
export declare const REQUIRED_LEVEL_ABILITY_INTEGER_FIELD: AbilityIntegerField & symbol;
|
|
@@ -18,8 +18,8 @@ ____exports.BUTTON_POSITION_ACTIVATED_Y_ABILITY_INTEGER_FIELD = AbilityIntegerFi
|
|
|
18
18
|
____exports.BUTTON_POSITION_RESEARCH_X_ABILITY_INTEGER_FIELD = AbilityIntegerField:create(fourCC("arpx"))
|
|
19
19
|
____exports.BUTTON_POSITION_RESEARCH_Y_ABILITY_INTEGER_FIELD = AbilityIntegerField:create(fourCC("arpy"))
|
|
20
20
|
____exports.MISSILE_SPEED_ABILITY_INTEGER_FIELD = AbilityIntegerField:create(fourCC("amsp"))
|
|
21
|
-
____exports.
|
|
22
|
-
____exports.
|
|
21
|
+
____exports.TARGET_EFFECT_COUNT_ABILITY_INTEGER_FIELD = AbilityIntegerField:create(fourCC("atac"))
|
|
22
|
+
____exports.CASTER_EFFECT_COUNT_ABILITY_INTEGER_FIELD = AbilityIntegerField:create(fourCC("acac"))
|
|
23
23
|
____exports.PRIORITY_ABILITY_INTEGER_FIELD = AbilityIntegerField:create(fourCC("apri"))
|
|
24
24
|
____exports.LEVELS_ABILITY_INTEGER_FIELD = AbilityIntegerField:create(fourCC("alev"))
|
|
25
25
|
____exports.REQUIRED_LEVEL_ABILITY_INTEGER_FIELD = AbilityIntegerField:create(fourCC("arlv"))
|
package/engine/text-tag.d.ts
CHANGED
|
@@ -20,7 +20,13 @@ declare const enum TextTagPropertyKey {
|
|
|
20
20
|
FONT_SIZE = 104,
|
|
21
21
|
COLOR = 105,
|
|
22
22
|
X = 106,
|
|
23
|
-
Y = 107
|
|
23
|
+
Y = 107,
|
|
24
|
+
UNIT_X = 108,
|
|
25
|
+
UNIT_Y = 109,
|
|
26
|
+
UNIT_FLY_HEIGHT = 110,
|
|
27
|
+
UNIT_TERRAIN_Z = 111,
|
|
28
|
+
IS_UNIT_VISIBLE = 112,
|
|
29
|
+
VISIBILITY_CHECK_PHASE = 113
|
|
24
30
|
}
|
|
25
31
|
export declare class TextTag extends AbstractDestroyable {
|
|
26
32
|
private [TextTagPropertyKey.HANDLE]?;
|
|
@@ -31,6 +37,12 @@ export declare class TextTag extends AbstractDestroyable {
|
|
|
31
37
|
private [TextTagPropertyKey.UNIT]?;
|
|
32
38
|
private [TextTagPropertyKey.X]?;
|
|
33
39
|
private [TextTagPropertyKey.Y]?;
|
|
40
|
+
private [TextTagPropertyKey.UNIT_X]?;
|
|
41
|
+
private [TextTagPropertyKey.UNIT_Y]?;
|
|
42
|
+
private [TextTagPropertyKey.UNIT_FLY_HEIGHT]?;
|
|
43
|
+
private [TextTagPropertyKey.UNIT_TERRAIN_Z]?;
|
|
44
|
+
private [TextTagPropertyKey.IS_UNIT_VISIBLE]?;
|
|
45
|
+
private [TextTagPropertyKey.VISIBILITY_CHECK_PHASE]?;
|
|
34
46
|
private constructor();
|
|
35
47
|
protected onDestroy(): Destructor;
|
|
36
48
|
get text(): string;
|
package/engine/text-tag.lua
CHANGED
|
@@ -38,6 +38,7 @@ local getUnitX = GetUnitX
|
|
|
38
38
|
local getUnitY = GetUnitY
|
|
39
39
|
local unitAlive = UnitAlive
|
|
40
40
|
local DEFAULT_FONT_SIZE = 0.024
|
|
41
|
+
local VISIBILITY_CHECK_INTERVAL = 4
|
|
41
42
|
local function applyConfiguration(textTag, configuration)
|
|
42
43
|
setTextTagFadepoint(textTag, configuration.fadepoint)
|
|
43
44
|
setTextTagLifespan(textTag, configuration.lifespan)
|
|
@@ -54,6 +55,7 @@ local function applyConfiguration(textTag, configuration)
|
|
|
54
55
|
setTextTagVisibility(textTag, true)
|
|
55
56
|
end
|
|
56
57
|
local unitTextTags = setmetatable({}, {__mode = "k"})
|
|
58
|
+
local nextVisibilityCheckPhase = 0
|
|
57
59
|
local function ensureHandle(textTag)
|
|
58
60
|
local handle = textTag[101]
|
|
59
61
|
if handle == nil then
|
|
@@ -109,7 +111,8 @@ function TextTag.create(self, configuration, text, unit)
|
|
|
109
111
|
textTag[103] = text
|
|
110
112
|
textTag[100] = unit
|
|
111
113
|
textTag[102] = configuration
|
|
112
|
-
|
|
114
|
+
textTag[113] = nextVisibilityCheckPhase
|
|
115
|
+
nextVisibilityCheckPhase = (nextVisibilityCheckPhase + 1) % VISIBILITY_CHECK_INTERVAL
|
|
113
116
|
unitTextTags[textTag] = true
|
|
114
117
|
return textTag
|
|
115
118
|
end
|
|
@@ -121,12 +124,14 @@ __TS__SetDescriptor(
|
|
|
121
124
|
return self[103] or ""
|
|
122
125
|
end,
|
|
123
126
|
set = function(self, text)
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
self[104] or DEFAULT_FONT_SIZE
|
|
128
|
-
)
|
|
127
|
+
if text == self[103] then
|
|
128
|
+
return
|
|
129
|
+
end
|
|
129
130
|
self[103] = text
|
|
131
|
+
local handle = self[101]
|
|
132
|
+
if handle ~= nil then
|
|
133
|
+
setTextTagText(handle, text, self[104] or DEFAULT_FONT_SIZE)
|
|
134
|
+
end
|
|
130
135
|
end
|
|
131
136
|
},
|
|
132
137
|
true
|
|
@@ -139,12 +144,14 @@ __TS__SetDescriptor(
|
|
|
139
144
|
return self[104] or DEFAULT_FONT_SIZE
|
|
140
145
|
end,
|
|
141
146
|
set = function(self, fontSize)
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
fontSize
|
|
146
|
-
)
|
|
147
|
+
if fontSize == self[104] then
|
|
148
|
+
return
|
|
149
|
+
end
|
|
147
150
|
self[104] = fontSize
|
|
151
|
+
local handle = self[101]
|
|
152
|
+
if handle ~= nil then
|
|
153
|
+
setTextTagText(handle, self[103] or "", fontSize)
|
|
154
|
+
end
|
|
148
155
|
end
|
|
149
156
|
},
|
|
150
157
|
true
|
|
@@ -157,14 +164,20 @@ __TS__SetDescriptor(
|
|
|
157
164
|
return self[105] or Color.white
|
|
158
165
|
end,
|
|
159
166
|
set = function(self, color)
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
color.g,
|
|
164
|
-
color.b,
|
|
165
|
-
color.a
|
|
166
|
-
)
|
|
167
|
+
if color == self[105] then
|
|
168
|
+
return
|
|
169
|
+
end
|
|
167
170
|
self[105] = color
|
|
171
|
+
local handle = self[101]
|
|
172
|
+
if handle ~= nil then
|
|
173
|
+
setTextTagColor(
|
|
174
|
+
handle,
|
|
175
|
+
color.r,
|
|
176
|
+
color.g,
|
|
177
|
+
color.b,
|
|
178
|
+
color.a
|
|
179
|
+
)
|
|
180
|
+
end
|
|
168
181
|
end
|
|
169
182
|
},
|
|
170
183
|
true
|
|
@@ -178,13 +191,17 @@ __TS__SetDescriptor(
|
|
|
178
191
|
end,
|
|
179
192
|
set = function(self, unit)
|
|
180
193
|
if unit ~= nil then
|
|
181
|
-
setTextTagPosUnit(
|
|
182
|
-
ensureHandle(self),
|
|
183
|
-
unit.handle,
|
|
184
|
-
0
|
|
185
|
-
)
|
|
186
194
|
self[106] = nil
|
|
187
195
|
self[107] = nil
|
|
196
|
+
self[108] = nil
|
|
197
|
+
self[109] = nil
|
|
198
|
+
self[110] = nil
|
|
199
|
+
self[111] = nil
|
|
200
|
+
self[112] = nil
|
|
201
|
+
local handle = self[101]
|
|
202
|
+
if handle ~= nil then
|
|
203
|
+
setTextTagPosUnit(handle, unit.handle, self[102].offsetZ)
|
|
204
|
+
end
|
|
188
205
|
unitTextTags[self] = true
|
|
189
206
|
elseif self[100] ~= nil then
|
|
190
207
|
local unit = self[100]
|
|
@@ -324,25 +341,47 @@ TextTag.SHADOW_STRIKE = __TS__ObjectAssign(
|
|
|
324
341
|
lifespan = 5
|
|
325
342
|
}
|
|
326
343
|
)
|
|
344
|
+
local visibilityCheckPhase = 0
|
|
327
345
|
Timer.onPeriod[1 / 64]:addListener(function()
|
|
346
|
+
visibilityCheckPhase = (visibilityCheckPhase + 1) % VISIBILITY_CHECK_INTERVAL
|
|
328
347
|
for textTag in pairs(unitTextTags) do
|
|
329
348
|
local unit = textTag[100].handle
|
|
330
349
|
local x = getUnitX(unit)
|
|
331
350
|
local y = getUnitY(unit)
|
|
332
|
-
local
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
351
|
+
local flyHeight = getUnitFlyHeight(unit)
|
|
352
|
+
local hasMoved = x ~= textTag[108] or y ~= textTag[109]
|
|
353
|
+
local hasPositionChanged = hasMoved or flyHeight ~= textTag[110]
|
|
354
|
+
local terrainZ = textTag[111]
|
|
355
|
+
if hasMoved or terrainZ == nil then
|
|
356
|
+
terrainZ = getTerrainZ(x, y)
|
|
357
|
+
textTag[108] = x
|
|
358
|
+
textTag[109] = y
|
|
359
|
+
textTag[111] = terrainZ
|
|
360
|
+
end
|
|
361
|
+
textTag[110] = flyHeight
|
|
362
|
+
local ____, ____, isInView = worldCoordinatesToFrame(x, y, flyHeight + terrainZ)
|
|
363
|
+
local isVisible = false
|
|
364
|
+
if isInView then
|
|
365
|
+
local cachedIsVisible = textTag[112]
|
|
366
|
+
if cachedIsVisible == nil or textTag[113] == visibilityCheckPhase then
|
|
367
|
+
isVisible = not isUnitHidden(unit) and not isUnitLoaded(unit) and isUnitVisible(unit, PLAYER_LOCAL_HANDLE) and unitAlive(unit)
|
|
368
|
+
textTag[112] = isVisible
|
|
369
|
+
else
|
|
370
|
+
isVisible = cachedIsVisible
|
|
371
|
+
end
|
|
372
|
+
else
|
|
373
|
+
textTag[112] = nil
|
|
374
|
+
end
|
|
375
|
+
local handle = textTag[101]
|
|
376
|
+
if not isVisible then
|
|
377
|
+
if handle ~= nil then
|
|
378
|
+
destroyTextTag(handle)
|
|
379
|
+
textTag[101] = nil
|
|
380
|
+
end
|
|
381
|
+
elseif handle == nil then
|
|
382
|
+
ensureHandle(textTag)
|
|
383
|
+
elseif hasPositionChanged then
|
|
384
|
+
setTextTagPosUnit(handle, unit, textTag[102].offsetZ)
|
|
346
385
|
end
|
|
347
386
|
end
|
|
348
387
|
end)
|
package/engine/unit.d.ts
CHANGED
|
@@ -2,10 +2,14 @@
|
|
|
2
2
|
import "./internal/unit";
|
|
3
3
|
import "./internal/unit/order";
|
|
4
4
|
import "./internal/unit/ability";
|
|
5
|
+
import "./internal/unit/appearance";
|
|
6
|
+
import "./internal/unit/extended-inventory";
|
|
7
|
+
import "./internal/unit/equipment-inventory";
|
|
5
8
|
import "./internal/unit/allowed-targets";
|
|
6
9
|
import "./internal/unit/buff";
|
|
7
10
|
import "./internal/unit/expiration-timer";
|
|
8
|
-
import "./internal/unit/
|
|
11
|
+
import "./internal/unit/inventory";
|
|
12
|
+
import "./internal/unit/item-order-events";
|
|
9
13
|
import "./internal/unit+ability";
|
|
10
14
|
import "./internal/unit+damage";
|
|
11
15
|
import "./internal/unit+rally";
|
package/engine/unit.lua
CHANGED
|
@@ -2,10 +2,14 @@ local ____exports = {}
|
|
|
2
2
|
require("engine.internal.unit")
|
|
3
3
|
require("engine.internal.unit.order")
|
|
4
4
|
require("engine.internal.unit.ability")
|
|
5
|
+
require("engine.internal.unit.appearance")
|
|
6
|
+
require("engine.internal.unit.extended-inventory")
|
|
7
|
+
require("engine.internal.unit.equipment-inventory")
|
|
5
8
|
require("engine.internal.unit.allowed-targets")
|
|
6
9
|
require("engine.internal.unit.buff")
|
|
7
10
|
require("engine.internal.unit.expiration-timer")
|
|
8
|
-
require("engine.internal.unit.
|
|
11
|
+
require("engine.internal.unit.inventory")
|
|
12
|
+
require("engine.internal.unit.item-order-events")
|
|
9
13
|
require("engine.internal.unit+ability")
|
|
10
14
|
require("engine.internal.unit+damage")
|
|
11
15
|
require("engine.internal.unit+rally")
|
package/event.d.ts
CHANGED
|
@@ -40,7 +40,7 @@ export declare const createDispatchingEvent: {
|
|
|
40
40
|
<T extends Event<any>, S extends Event<EventParameters<T>>>(underlyingEvent: T, extractKey: (this: void, ...args: EventParameters<T>) => number, invokeEvent?: (this: void, event: S, ...args: EventParameters<T>) => unknown, ...createEvent: [...(Event<any> extends S ? [((this: void) => S)?] : [(this: void) => S])]): DispatchingEvent<EventParameters<T>, T, S>;
|
|
41
41
|
};
|
|
42
42
|
export declare class DependentInitializingEvent<T extends any[], R extends any[]> extends InitializingEvent<R, EventListener<T>> {
|
|
43
|
-
constructor(underlyingEvent: Event<T>, priority: EventListenerPriority, collector: (...args: T) => LuaMultiReturn<[false] | [
|
|
43
|
+
constructor(underlyingEvent: Event<T>, priority: EventListenerPriority, collector: (...args: T) => LuaMultiReturn<[false, ...unknown[]] | [boolean, ...R]>);
|
|
44
44
|
}
|
|
45
45
|
export declare class EventParametersCaptor<T extends any[]> {
|
|
46
46
|
private readonly event;
|
package/network.lua
CHANGED
|
@@ -8,6 +8,7 @@ local ____exports = {}
|
|
|
8
8
|
local ____event = require("event")
|
|
9
9
|
local TriggerEvent = ____event.TriggerEvent
|
|
10
10
|
local ____exception = require("exception")
|
|
11
|
+
local CancellationException = ____exception.CancellationException
|
|
11
12
|
local IllegalArgumentException = ____exception.IllegalArgumentException
|
|
12
13
|
local ____player = require("core.types.player")
|
|
13
14
|
local Player = ____player.Player
|
|
@@ -86,6 +87,9 @@ function SyncOperation.prototype.____constructor(self, player, data)
|
|
|
86
87
|
self.l = #self.d
|
|
87
88
|
end
|
|
88
89
|
function SyncOperation.prototype.estimate(self)
|
|
90
|
+
if self.isCanceled or not self.player.isPlaying then
|
|
91
|
+
return __TS__Promise.reject(__TS__New(CancellationException))
|
|
92
|
+
end
|
|
89
93
|
if self.player.isLocal then
|
|
90
94
|
sendSyncData(
|
|
91
95
|
"__oh",
|
|
@@ -98,6 +102,7 @@ function SyncOperation.prototype.estimate(self)
|
|
|
98
102
|
end
|
|
99
103
|
function SyncOperation.prototype.work(self)
|
|
100
104
|
if self.progress >= self.maximum then
|
|
105
|
+
syncOperationById[self.x] = nil
|
|
101
106
|
return decode(concat(self.c))
|
|
102
107
|
end
|
|
103
108
|
self.s = packetsPerRound
|
|
@@ -116,7 +121,18 @@ function SyncOperation.prototype.work(self)
|
|
|
116
121
|
return __TS__New(__TS__Promise, syncPromiseExecutor)
|
|
117
122
|
end
|
|
118
123
|
function SyncOperation.prototype.doCancel(self)
|
|
119
|
-
|
|
124
|
+
if not (syncOperationById[self.x] ~= nil) then
|
|
125
|
+
return false
|
|
126
|
+
end
|
|
127
|
+
syncOperationById[self.x] = nil
|
|
128
|
+
local ____opt_1 = self.r
|
|
129
|
+
if ____opt_1 ~= nil then
|
|
130
|
+
____opt_1(
|
|
131
|
+
self,
|
|
132
|
+
__TS__New(CancellationException)
|
|
133
|
+
)
|
|
134
|
+
end
|
|
135
|
+
return true
|
|
120
136
|
end
|
|
121
137
|
__TS__ObjectDefineProperty(
|
|
122
138
|
SyncOperation,
|
|
@@ -178,6 +194,7 @@ SyncOperation._ = (function()
|
|
|
178
194
|
local resolveWork = syncOperation.w
|
|
179
195
|
if resolveWork then
|
|
180
196
|
if syncOperation.progress >= syncOperation.maximum then
|
|
197
|
+
syncOperationById[id] = nil
|
|
181
198
|
resolveWork(
|
|
182
199
|
nil,
|
|
183
200
|
decode(concat(chunks))
|
|
@@ -188,6 +205,13 @@ SyncOperation._ = (function()
|
|
|
188
205
|
end
|
|
189
206
|
end
|
|
190
207
|
end)
|
|
208
|
+
Player.onLeave:addListener(function(player)
|
|
209
|
+
for ____, operation in pairs(syncOperationById) do
|
|
210
|
+
if operation.player == player then
|
|
211
|
+
operation:cancel()
|
|
212
|
+
end
|
|
213
|
+
end
|
|
214
|
+
end)
|
|
191
215
|
end)()
|
|
192
216
|
function ____exports.synchronize(player, data)
|
|
193
217
|
return __TS__New(____exports.SyncOperation, player, data):execute()
|
package/objutil/buff.lua
CHANGED
|
@@ -527,7 +527,7 @@ function Buff.prototype.____constructor(self, unit, source, duration, level, pre
|
|
|
527
527
|
ability:setField(ABILITY_RLF_DURATION_NORMAL, level, actualDuration)
|
|
528
528
|
ability:setField(ABILITY_RLF_DURATION_HERO, level, actualDuration)
|
|
529
529
|
end,
|
|
530
|
-
preset.positive and (preset.magic and
|
|
530
|
+
preset.positive and (preset.magic and 852066 or 852609) or (preset.magic and 852189 or 852173),
|
|
531
531
|
unit
|
|
532
532
|
)
|
|
533
533
|
if slowPoisonMethod then
|
package/operation.d.ts
CHANGED
|
@@ -16,9 +16,11 @@ export { OperationContinue };
|
|
|
16
16
|
export declare abstract class Operation<T> {
|
|
17
17
|
protected constructor();
|
|
18
18
|
private started;
|
|
19
|
+
private settled;
|
|
20
|
+
private canceled;
|
|
19
21
|
protected progress: number;
|
|
20
22
|
protected maximum: number;
|
|
21
|
-
isCanceled: boolean;
|
|
23
|
+
get isCanceled(): boolean;
|
|
22
24
|
get isStarted(): boolean;
|
|
23
25
|
execute(): OperationMonitor<T>;
|
|
24
26
|
protected abstract estimate(): number | Promise<number>;
|
|
@@ -30,6 +32,11 @@ export declare abstract class Operation<T> {
|
|
|
30
32
|
...result: [success: true, result: T] | [success: false, reason?: any]
|
|
31
33
|
]>;
|
|
32
34
|
get onProgress(): Event<[operation: Operation<T>]>;
|
|
35
|
+
/**
|
|
36
|
+
* Invoked with `isCanceled` already set. Should unblock any pending `estimate`/`work` promise
|
|
37
|
+
* (e.g. by rejecting it) and return whether cancellation is possible; on `false` the canceled
|
|
38
|
+
* state is reverted.
|
|
39
|
+
*/
|
|
33
40
|
protected abstract doCancel(): boolean;
|
|
34
41
|
cancel(): boolean;
|
|
35
42
|
}
|
package/operation.lua
CHANGED
|
@@ -35,9 +35,10 @@ local Operation = ____exports.Operation
|
|
|
35
35
|
Operation.name = "Operation"
|
|
36
36
|
function Operation.prototype.____constructor(self)
|
|
37
37
|
self.started = false
|
|
38
|
+
self.settled = false
|
|
39
|
+
self.canceled = false
|
|
38
40
|
self.progress = 0
|
|
39
41
|
self.maximum = 0
|
|
40
|
-
self.isCanceled = false
|
|
41
42
|
end
|
|
42
43
|
function Operation.prototype.execute(self)
|
|
43
44
|
if self.started then
|
|
@@ -55,6 +56,12 @@ function Operation.prototype.execute(self)
|
|
|
55
56
|
local result
|
|
56
57
|
local progress = self.progress
|
|
57
58
|
local ____try = __TS__AsyncAwaiter(function()
|
|
59
|
+
if self.canceled then
|
|
60
|
+
error(
|
|
61
|
+
__TS__New(CancellationException),
|
|
62
|
+
0
|
|
63
|
+
)
|
|
64
|
+
end
|
|
58
65
|
local maximum = __TS__Await(self:estimate())
|
|
59
66
|
self.maximum = maximum
|
|
60
67
|
if maximum ~= 0 then
|
|
@@ -65,20 +72,19 @@ function Operation.prototype.execute(self)
|
|
|
65
72
|
end
|
|
66
73
|
repeat
|
|
67
74
|
do
|
|
68
|
-
if self.
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
Event.invoke(onFailure, self, reason)
|
|
74
|
-
end
|
|
75
|
-
local onComplete = ____rawget(self, "onComplete")
|
|
76
|
-
if onComplete ~= nil then
|
|
77
|
-
Event.invoke(onComplete, self, false, reason)
|
|
78
|
-
end
|
|
79
|
-
return ____awaiter_resolve(nil)
|
|
75
|
+
if self.canceled then
|
|
76
|
+
error(
|
|
77
|
+
__TS__New(CancellationException),
|
|
78
|
+
0
|
|
79
|
+
)
|
|
80
80
|
end
|
|
81
81
|
result = __TS__Await(self:work())
|
|
82
|
+
if self.canceled then
|
|
83
|
+
error(
|
|
84
|
+
__TS__New(CancellationException),
|
|
85
|
+
0
|
|
86
|
+
)
|
|
87
|
+
end
|
|
82
88
|
if self.progress ~= progress or self.maximum ~= maximum then
|
|
83
89
|
progress = self.progress
|
|
84
90
|
maximum = self.maximum
|
|
@@ -93,6 +99,7 @@ function Operation.prototype.execute(self)
|
|
|
93
99
|
__TS__Await(____try.catch(
|
|
94
100
|
____try,
|
|
95
101
|
function(____, reason)
|
|
102
|
+
self.settled = true
|
|
96
103
|
reject(nil, reason)
|
|
97
104
|
local onFailure = ____rawget(self, "onFailure")
|
|
98
105
|
if onFailure ~= nil then
|
|
@@ -105,6 +112,7 @@ function Operation.prototype.execute(self)
|
|
|
105
112
|
return ____awaiter_resolve(nil)
|
|
106
113
|
end
|
|
107
114
|
))
|
|
115
|
+
self.settled = true
|
|
108
116
|
resolve(nil, result)
|
|
109
117
|
local onSuccess = ____rawget(self, "onSuccess")
|
|
110
118
|
if onSuccess ~= nil then
|
|
@@ -119,12 +127,27 @@ function Operation.prototype.execute(self)
|
|
|
119
127
|
)
|
|
120
128
|
end
|
|
121
129
|
function Operation.prototype.cancel(self)
|
|
130
|
+
if self.canceled then
|
|
131
|
+
return true
|
|
132
|
+
end
|
|
133
|
+
if self.settled then
|
|
134
|
+
return false
|
|
135
|
+
end
|
|
136
|
+
self.canceled = true
|
|
122
137
|
if self:doCancel() then
|
|
123
|
-
self.isCanceled = true
|
|
124
138
|
return true
|
|
125
139
|
end
|
|
140
|
+
self.canceled = false
|
|
126
141
|
return false
|
|
127
142
|
end
|
|
143
|
+
__TS__SetDescriptor(
|
|
144
|
+
Operation.prototype,
|
|
145
|
+
"isCanceled",
|
|
146
|
+
{get = function(self)
|
|
147
|
+
return self.canceled
|
|
148
|
+
end},
|
|
149
|
+
true
|
|
150
|
+
)
|
|
128
151
|
__TS__SetDescriptor(
|
|
129
152
|
Operation.prototype,
|
|
130
153
|
"isStarted",
|