warscript 0.0.1-dev.d6e2c10 → 0.0.1-dev.d77b529
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 +1 -0
- package/core/types/frame.lua +112 -37
- package/core/types/handle.lua +9 -9
- package/core/types/item.d.ts +1 -0
- package/core/types/item.lua +1 -0
- 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 +14 -9
- 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 +705 -7
- package/engine/behavior.d.ts +4 -2
- package/engine/behavior.lua +69 -11
- package/engine/behaviour/ability/apply-unit-behavior.lua +5 -0
- package/engine/behaviour/ability/damage.d.ts +4 -0
- package/engine/behaviour/ability/damage.lua +19 -15
- package/engine/behaviour/ability/emulate-impact.lua +5 -4
- 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 +11 -5
- package/engine/behaviour/ability.lua +54 -0
- package/engine/behaviour/unit/stun-immunity.d.ts +1 -1
- package/engine/behaviour/unit/stun-immunity.lua +5 -4
- package/engine/behaviour/unit.d.ts +1 -0
- package/engine/behaviour/unit.lua +14 -3
- package/engine/buff.d.ts +64 -25
- package/engine/buff.lua +345 -156
- package/engine/index.d.ts +2 -1
- package/engine/internal/ability.d.ts +4 -0
- package/engine/internal/ability.lua +56 -36
- package/engine/internal/item/fields.d.ts +12 -0
- package/engine/internal/item/fields.lua +33 -0
- 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 -5
- package/engine/internal/item.lua +146 -57
- package/engine/internal/mechanics/cast-ability.lua +6 -3
- package/engine/internal/misc/unit-ability-level-natives.lua +12 -0
- package/engine/internal/object-data/armor-bonus.d.ts +2 -0
- package/engine/internal/object-data/attribute-bonus.lua +2 -2
- package/engine/internal/object-data/health-bonus.d.ts +2 -0
- package/engine/internal/object-data/health-bonus.lua +16 -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/mana-bonus.d.ts +2 -0
- package/engine/internal/object-data/mana-bonus.lua +16 -0
- package/engine/internal/object-data/mana-regeneration-rate-increase-factor.d.ts +2 -0
- package/engine/internal/object-data/mana-regeneration-rate-increase-factor.lua +16 -0
- package/engine/internal/unit/ability.lua +15 -3
- 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/attributes.d.ts +17 -0
- package/engine/internal/unit/attributes.lua +46 -0
- package/engine/internal/unit/bonus.d.ts +14 -0
- package/engine/internal/unit/bonus.lua +102 -8
- 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/fly-height.lua +3 -3
- package/engine/internal/unit/ignore-events-items.lua +10 -1
- package/engine/internal/unit/interrupts.d.ts +12 -0
- package/engine/internal/unit/interrupts.lua +28 -0
- 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/pseudo-passive-abilities.d.ts +2 -0
- package/engine/internal/unit/pseudo-passive-abilities.lua +11 -0
- package/engine/internal/unit/range-event.d.ts +12 -0
- package/engine/internal/unit/range-event.lua +90 -0
- package/engine/internal/unit/scale.lua +3 -3
- package/engine/internal/unit+ability.d.ts +2 -1
- package/engine/internal/unit+ability.lua +63 -2
- package/engine/internal/unit+bonus.lua +3 -3
- 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 +58 -32
- package/engine/internal/unit-missile-launch.lua +25 -18
- package/engine/internal/unit.d.ts +3 -18
- package/engine/internal/unit.lua +97 -195
- package/engine/local-client.d.ts +27 -1
- package/engine/local-client.lua +298 -58
- 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/health-regeneration-type.d.ts +8 -0
- package/engine/object-data/auxiliary/health-regeneration-type.lua +2 -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/auxiliary/unit-attribute.lua +1 -1
- 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/armor-bonus.d.ts +8 -0
- package/engine/object-data/entry/ability-type/{armor-increase.lua → armor-bonus.lua} +9 -9
- 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/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.d.ts +3 -0
- package/engine/object-data/entry/ability-type/blank-configurable.lua +30 -0
- 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/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/{armor-increase.d.ts → healing-modifier.d.ts} +4 -3
- 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/health-bonus.d.ts +8 -0
- package/engine/object-data/entry/ability-type/health-bonus.lua +26 -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/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-bonus.d.ts +8 -0
- package/engine/object-data/entry/ability-type/mana-bonus.lua +26 -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/mana-regeneration.d.ts +8 -0
- package/engine/object-data/entry/ability-type/mana-regeneration.lua +26 -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/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/reincarnation.d.ts +8 -0
- package/engine/object-data/entry/ability-type/reincarnation.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-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 +18 -3
- package/engine/object-data/entry/ability-type.lua +222 -5
- package/engine/object-data/entry/buff-type/applicable.lua +113 -109
- 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 +16 -2
- package/engine/object-data/entry/destructible-type.lua +91 -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 +47 -2
- package/engine/object-data/entry/unit-type.lua +383 -49
- 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/object-field/ability.lua +2 -2
- package/engine/object-field/item.d.ts +22 -0
- package/engine/object-field/item.lua +118 -0
- package/engine/object-field/unit.d.ts +7 -4
- package/engine/object-field/unit.lua +4 -0
- package/engine/object-field.d.ts +3 -1
- package/engine/object-field.lua +177 -119
- package/engine/random.d.ts +1 -0
- package/engine/random.lua +8 -0
- package/engine/standard/entries/ability-type.d.ts +3102 -7
- package/engine/standard/entries/ability-type.lua +0 -6
- 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/item.d.ts +4 -0
- package/engine/standard/fields/item.lua +6 -0
- package/engine/standard/fields/unit.d.ts +11 -5
- package/engine/standard/fields/unit.lua +13 -4
- package/engine/unit.d.ts +8 -1
- package/engine/unit.lua +8 -1
- package/event.d.ts +1 -1
- package/lualib_bundle.lua +1 -1
- package/math.d.ts +2 -0
- package/math.lua +14 -0
- package/network.lua +25 -1
- package/objutil/buff.lua +10 -8
- package/objutil/object.lua +1 -1
- package/operation.d.ts +8 -1
- package/operation.lua +38 -18
- package/package.json +3 -23
- package/patch-lua.lua +15 -0
- package/utility/linked-map.d.ts +35 -0
- package/utility/linked-map.lua +107 -0
- package/utility/linked-set.d.ts +3 -1
- package/utility/linked-set.lua +27 -0
- package/utility/random.d.ts +102 -0
- package/utility/random.lua +273 -0
- package/utility/records.lua +20 -1
- package/utility/unordered-map.d.ts +27 -0
- package/utility/unordered-map.lua +99 -0
- package/engine/internal/unit/item.lua +0 -78
- /package/engine/internal/{object-data/armor-increase.d.ts → misc/unit-ability-level-natives.d.ts} +0 -0
- /package/engine/internal/object-data/{armor-increase.lua → armor-bonus.lua} +0 -0
- /package/engine/object-data/entry/ability-type/{attribute-increase.d.ts → attribute-bonus.d.ts} +0 -0
- /package/engine/object-data/entry/ability-type/{attribute-increase.lua → attribute-bonus.lua} +0 -0
package/engine/internal/unit.lua
CHANGED
|
@@ -47,12 +47,10 @@ local checkNotNull = ____preconditions.checkNotNull
|
|
|
47
47
|
local ____constants = require("engine.constants")
|
|
48
48
|
local HEALTH_REGENERATION_RATE_BONUS_PER_STRENGTH_POINT = ____constants.HEALTH_REGENERATION_RATE_BONUS_PER_STRENGTH_POINT
|
|
49
49
|
local MANA_REGENERATION_RATE_BONUS_PER_INTELLIGENCE_POINT = ____constants.MANA_REGENERATION_RATE_BONUS_PER_INTELLIGENCE_POINT
|
|
50
|
-
local ____arrays = require("utility.arrays")
|
|
51
|
-
local forEach = ____arrays.forEach
|
|
52
|
-
local ____math = require("math")
|
|
53
|
-
local min = ____math.min
|
|
54
50
|
local ____ignore_2Devents_2Ditems = require("engine.internal.unit.ignore-events-items")
|
|
55
|
-
local
|
|
51
|
+
local isItemIgnoredInEvents = ____ignore_2Devents_2Ditems.isItemIgnoredInEvents
|
|
52
|
+
local ____owner_2Dcache = require("engine.internal.item.owner-cache")
|
|
53
|
+
local ownerByItem = ____owner_2Dcache.ownerByItem
|
|
56
54
|
local ____attack_2Dtype = require("engine.object-data.auxiliary.attack-type")
|
|
57
55
|
local attackTypeToNative = ____attack_2Dtype.attackTypeToNative
|
|
58
56
|
local nativeToAttackType = ____attack_2Dtype.nativeToAttackType
|
|
@@ -64,6 +62,8 @@ local ____ability = require("engine.internal.item.ability")
|
|
|
64
62
|
local doUnitAbilityAction = ____ability.doUnitAbilityAction
|
|
65
63
|
local ____synchronization = require("engine.synchronization")
|
|
66
64
|
local synchronizer = ____synchronization.synchronizer
|
|
65
|
+
local ____linked_2Dmap = require("utility.linked-map")
|
|
66
|
+
local LinkedMap = ____linked_2Dmap.LinkedMap
|
|
67
67
|
local match = string.match
|
|
68
68
|
local ____tostring = _G.tostring
|
|
69
69
|
local setUnitAnimation = SetUnitAnimation
|
|
@@ -73,16 +73,12 @@ local getUnitRealField = BlzGetUnitRealField
|
|
|
73
73
|
local getHeroStr = GetHeroStr
|
|
74
74
|
local getHeroAgi = GetHeroAgi
|
|
75
75
|
local getHeroInt = GetHeroInt
|
|
76
|
-
local setHeroStr = SetHeroStr
|
|
77
|
-
local setHeroAgi = SetHeroAgi
|
|
78
|
-
local setHeroInt = SetHeroInt
|
|
79
76
|
local getUnitBooleanField = BlzGetUnitBooleanField
|
|
80
77
|
local getUnitStringField = BlzGetUnitStringField
|
|
81
78
|
local setUnitIntegerField = BlzSetUnitIntegerField
|
|
82
79
|
local setUnitRealField = BlzSetUnitRealField
|
|
83
80
|
local setUnitBooleanField = BlzSetUnitBooleanField
|
|
84
81
|
local setUnitStringField = BlzSetUnitStringField
|
|
85
|
-
local setUnitScale = SetUnitScale
|
|
86
82
|
local setUnitPosition = SetUnitPosition
|
|
87
83
|
local setUnitTimeScale = SetUnitTimeScale
|
|
88
84
|
local getHandleId = GetHandleId
|
|
@@ -110,7 +106,6 @@ local getUnitWeaponStringField = BlzGetUnitWeaponStringField
|
|
|
110
106
|
local setUnitWeaponStringField = BlzSetUnitWeaponStringField
|
|
111
107
|
local getUnitAbilityLevel = GetUnitAbilityLevel
|
|
112
108
|
local unitDisableAbility = BlzUnitDisableAbility
|
|
113
|
-
local unitInterruptAttack = BlzUnitInterruptAttack
|
|
114
109
|
local isUnitInvisible = IsUnitInvisible
|
|
115
110
|
local isUnitVisible = IsUnitVisible
|
|
116
111
|
local getUnitX = GetUnitX
|
|
@@ -386,15 +381,27 @@ local modifiers = {
|
|
|
386
381
|
end,
|
|
387
382
|
armor = function(unit, value)
|
|
388
383
|
if UnitAddAbility(unit, armorBonusAbilityId) then
|
|
389
|
-
assert(
|
|
384
|
+
assert(
|
|
385
|
+
UnitMakeAbilityPermanent(unit, true, armorBonusAbilityId),
|
|
386
|
+
"armor bonus ability must be made permanent",
|
|
387
|
+
unit
|
|
388
|
+
)
|
|
390
389
|
end
|
|
391
|
-
local ability = assert(
|
|
392
|
-
|
|
393
|
-
ability,
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
390
|
+
local ability = assert(
|
|
391
|
+
BlzGetUnitAbility(unit, armorBonusAbilityId),
|
|
392
|
+
"armor bonus ability must be existing",
|
|
393
|
+
unit
|
|
394
|
+
)
|
|
395
|
+
assert(
|
|
396
|
+
BlzSetAbilityRealLevelField(
|
|
397
|
+
ability,
|
|
398
|
+
armorBonusField,
|
|
399
|
+
0,
|
|
400
|
+
BlzGetAbilityRealLevelField(ability, armorBonusField, 0) + value
|
|
401
|
+
),
|
|
402
|
+
"armor bonus ability field must be set",
|
|
403
|
+
unit
|
|
404
|
+
)
|
|
398
405
|
end
|
|
399
406
|
}
|
|
400
407
|
local getters = {
|
|
@@ -583,8 +590,6 @@ __TS__SetDescriptor(
|
|
|
583
590
|
},
|
|
584
591
|
true
|
|
585
592
|
)
|
|
586
|
-
local unitInventorySize = UnitInventorySize
|
|
587
|
-
local unitItemInSlot = UnitItemInSlot
|
|
588
593
|
local getItemAbility = BlzGetItemAbility
|
|
589
594
|
local getUnitAbility = BlzGetUnitAbility
|
|
590
595
|
local getUnitAbilityByIndex = BlzGetUnitAbilityByIndex
|
|
@@ -602,8 +607,8 @@ local function retrieveAbility(unit, ability, abilityId)
|
|
|
602
607
|
____exports.Unit:of(unit)
|
|
603
608
|
)
|
|
604
609
|
end
|
|
605
|
-
for i = 0,
|
|
606
|
-
local item =
|
|
610
|
+
for i = 0, UnitInventorySize(unit) - 1 do
|
|
611
|
+
local item = UnitItemInSlot(unit, i)
|
|
607
612
|
if getItemAbility(item, abilityId) == ability then
|
|
608
613
|
return ItemAbility:of(
|
|
609
614
|
ability,
|
|
@@ -648,13 +653,17 @@ local fieldSetters = {
|
|
|
648
653
|
}
|
|
649
654
|
local dummies = {}
|
|
650
655
|
for ____, player in ipairs(Player.all) do
|
|
651
|
-
local dummy = assert(
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
656
|
+
local dummy = assert(
|
|
657
|
+
createUnit(
|
|
658
|
+
player.handle,
|
|
659
|
+
dummyUnitId,
|
|
660
|
+
0,
|
|
661
|
+
0,
|
|
662
|
+
270
|
|
663
|
+
),
|
|
664
|
+
"dummy must be created",
|
|
665
|
+
player
|
|
666
|
+
)
|
|
658
667
|
ShowUnit(dummy, false)
|
|
659
668
|
dummies[player] = dummy
|
|
660
669
|
end
|
|
@@ -697,41 +706,57 @@ function Unit.prototype.____constructor(self, handle)
|
|
|
697
706
|
nextSyncId = ____nextSyncId_1 + 1
|
|
698
707
|
self.syncId = ____nextSyncId_1
|
|
699
708
|
self._owner = Player:of(getOwningPlayer(handle))
|
|
700
|
-
assert(
|
|
701
|
-
|
|
709
|
+
assert(
|
|
710
|
+
unitAddAbility(handle, leaveDetectAbilityId) and UnitMakeAbilityPermanent(handle, true, leaveDetectAbilityId),
|
|
711
|
+
"leave detection ability must be added",
|
|
712
|
+
self
|
|
713
|
+
)
|
|
714
|
+
assert(
|
|
715
|
+
unitAddAbility(handle, morphDetectAbilityId),
|
|
716
|
+
"morph detection ability must be added",
|
|
717
|
+
self
|
|
718
|
+
)
|
|
702
719
|
if unitAddAbility(
|
|
703
720
|
handle,
|
|
704
721
|
fourCC("Amrf")
|
|
705
722
|
) then
|
|
706
|
-
assert(
|
|
707
|
-
|
|
708
|
-
|
|
709
|
-
|
|
723
|
+
assert(
|
|
724
|
+
unitRemoveAbility(
|
|
725
|
+
handle,
|
|
726
|
+
fourCC("Amrf")
|
|
727
|
+
),
|
|
728
|
+
"fly ability must be removed after addition",
|
|
729
|
+
self
|
|
730
|
+
)
|
|
710
731
|
end
|
|
711
732
|
unitBySyncId[self.syncId] = self
|
|
712
733
|
local ____ = self.abilities
|
|
713
734
|
end
|
|
714
|
-
function Unit.prototype.getEvent(self,
|
|
715
|
-
self.events = self.events or (
|
|
716
|
-
local eventId = GetHandleId(
|
|
717
|
-
|
|
718
|
-
|
|
735
|
+
function Unit.prototype.getEvent(self, jevent, collector)
|
|
736
|
+
self.events = self.events or __TS__New(LinkedMap)
|
|
737
|
+
local eventId = GetHandleId(jevent)
|
|
738
|
+
local event = self.events:get(eventId)
|
|
739
|
+
if event == nil then
|
|
740
|
+
event = __TS__New(
|
|
719
741
|
TriggerEvent,
|
|
720
742
|
function(trigger)
|
|
721
|
-
TriggerRegisterUnitEvent(trigger, self.handle,
|
|
743
|
+
TriggerRegisterUnitEvent(trigger, self.handle, jevent)
|
|
722
744
|
end,
|
|
723
745
|
collector or (function() return {} end)
|
|
724
746
|
)
|
|
747
|
+
self.events:put(eventId, event)
|
|
725
748
|
end
|
|
726
|
-
return
|
|
749
|
+
return event
|
|
750
|
+
end
|
|
751
|
+
function Unit.prototype.saveData(self)
|
|
752
|
+
local handle = self.handle
|
|
753
|
+
self[108] = self[108] or getUnitX(handle)
|
|
754
|
+
self[109] = self[109] or getUnitY(handle)
|
|
755
|
+
self._owner = self._owner or Player:of(getOwningPlayer(handle))
|
|
727
756
|
end
|
|
728
757
|
function Unit.prototype.onDestroy(self)
|
|
729
758
|
local handle = self.handle
|
|
730
|
-
self
|
|
731
|
-
self[109] = getUnitY(handle)
|
|
732
|
-
if not self._owner then
|
|
733
|
-
self._owner = Player:of(getOwningPlayer(handle))
|
|
734
|
-
end
|
|
759
|
+
self:saveData()
|
|
735
760
|
local abilities = self.abilities
|
|
736
761
|
for ____, ability in ipairs(abilities) do
|
|
737
762
|
ability:destroy()
|
|
@@ -749,7 +774,9 @@ function Unit.prototype.onDestroy(self)
|
|
|
749
774
|
end
|
|
750
775
|
local eventsToDestroy = self._eventsToDestroy
|
|
751
776
|
if eventsToDestroy ~= nil then
|
|
752
|
-
|
|
777
|
+
for ____, event in ipairs(eventsToDestroy) do
|
|
778
|
+
event:destroy()
|
|
779
|
+
end
|
|
753
780
|
end
|
|
754
781
|
if getUnitAbilityLevel(handle, leaveDetectAbilityId) > 0 then
|
|
755
782
|
unitRemoveAbility(handle, leaveDetectAbilityId)
|
|
@@ -767,7 +794,11 @@ function Unit.prototype.addAttackHandler(self, condition, action)
|
|
|
767
794
|
self._attackHandlers = handlers
|
|
768
795
|
if #handlers == 1 then
|
|
769
796
|
local handle = self.handle
|
|
770
|
-
assert(
|
|
797
|
+
assert(
|
|
798
|
+
unitAddAbility(handle, attackHandlerAbilityId) and UnitMakeAbilityPermanent(handle, true, attackHandlerAbilityId),
|
|
799
|
+
"attack handler ability must be added",
|
|
800
|
+
self
|
|
801
|
+
)
|
|
771
802
|
end
|
|
772
803
|
return handler
|
|
773
804
|
end
|
|
@@ -926,7 +957,7 @@ function Unit.prototype.dropItemSlot(self, item, slot)
|
|
|
926
957
|
return UnitDropItemSlot(self.handle, item.handle, slot)
|
|
927
958
|
end
|
|
928
959
|
function Unit.prototype.itemInSlot(self, slot)
|
|
929
|
-
return Item:of(
|
|
960
|
+
return Item:of(UnitItemInSlot(self.handle, slot))
|
|
930
961
|
end
|
|
931
962
|
function Unit.prototype.addAbility(self, abilityId)
|
|
932
963
|
local ability = UnitAbility:of(
|
|
@@ -980,24 +1011,6 @@ end
|
|
|
980
1011
|
function Unit.prototype.endAbilityCooldown(self, abilityId)
|
|
981
1012
|
BlzEndUnitAbilityCooldown(self.handle, abilityId)
|
|
982
1013
|
end
|
|
983
|
-
function Unit.prototype.interruptMovement(self)
|
|
984
|
-
local handle = self.handle
|
|
985
|
-
unitDisableAbility(
|
|
986
|
-
handle,
|
|
987
|
-
fourCC("Amov"),
|
|
988
|
-
true,
|
|
989
|
-
false
|
|
990
|
-
)
|
|
991
|
-
unitDisableAbility(
|
|
992
|
-
handle,
|
|
993
|
-
fourCC("Amov"),
|
|
994
|
-
false,
|
|
995
|
-
false
|
|
996
|
-
)
|
|
997
|
-
end
|
|
998
|
-
function Unit.prototype.interruptAttack(self)
|
|
999
|
-
unitInterruptAttack(self.handle)
|
|
1000
|
-
end
|
|
1001
1014
|
function Unit.prototype.interruptCast(self, abilityId)
|
|
1002
1015
|
local handle = self.handle
|
|
1003
1016
|
unitDisableAbility(handle, abilityId, true, false)
|
|
@@ -1302,7 +1315,7 @@ __TS__SetDescriptor(
|
|
|
1302
1315
|
Unit.prototype,
|
|
1303
1316
|
"isStunned",
|
|
1304
1317
|
{get = function(self)
|
|
1305
|
-
return getUnitCurrentOrder(self.handle) ==
|
|
1318
|
+
return getUnitCurrentOrder(self.handle) == 851973
|
|
1306
1319
|
end},
|
|
1307
1320
|
true
|
|
1308
1321
|
)
|
|
@@ -1392,19 +1405,6 @@ __TS__SetDescriptor(
|
|
|
1392
1405
|
},
|
|
1393
1406
|
true
|
|
1394
1407
|
)
|
|
1395
|
-
__TS__SetDescriptor(
|
|
1396
|
-
Unit.prototype,
|
|
1397
|
-
"strengthBase",
|
|
1398
|
-
{
|
|
1399
|
-
get = function(self)
|
|
1400
|
-
return getHeroStr(self.handle, false)
|
|
1401
|
-
end,
|
|
1402
|
-
set = function(self, strengthBase)
|
|
1403
|
-
setHeroStr(self.handle, strengthBase, true)
|
|
1404
|
-
end
|
|
1405
|
-
},
|
|
1406
|
-
true
|
|
1407
|
-
)
|
|
1408
1408
|
__TS__SetDescriptor(
|
|
1409
1409
|
Unit.prototype,
|
|
1410
1410
|
"strengthBonus",
|
|
@@ -1422,19 +1422,6 @@ __TS__SetDescriptor(
|
|
|
1422
1422
|
end},
|
|
1423
1423
|
true
|
|
1424
1424
|
)
|
|
1425
|
-
__TS__SetDescriptor(
|
|
1426
|
-
Unit.prototype,
|
|
1427
|
-
"agilityBase",
|
|
1428
|
-
{
|
|
1429
|
-
get = function(self)
|
|
1430
|
-
return getHeroAgi(self.handle, false)
|
|
1431
|
-
end,
|
|
1432
|
-
set = function(self, agilityBase)
|
|
1433
|
-
setHeroAgi(self.handle, agilityBase, true)
|
|
1434
|
-
end
|
|
1435
|
-
},
|
|
1436
|
-
true
|
|
1437
|
-
)
|
|
1438
1425
|
__TS__SetDescriptor(
|
|
1439
1426
|
Unit.prototype,
|
|
1440
1427
|
"agilityBonus",
|
|
@@ -1452,19 +1439,6 @@ __TS__SetDescriptor(
|
|
|
1452
1439
|
end},
|
|
1453
1440
|
true
|
|
1454
1441
|
)
|
|
1455
|
-
__TS__SetDescriptor(
|
|
1456
|
-
Unit.prototype,
|
|
1457
|
-
"intelligenceBase",
|
|
1458
|
-
{
|
|
1459
|
-
get = function(self)
|
|
1460
|
-
return getHeroInt(self.handle, false)
|
|
1461
|
-
end,
|
|
1462
|
-
set = function(self, intelligenceBase)
|
|
1463
|
-
setHeroInt(self.handle, intelligenceBase, true)
|
|
1464
|
-
end
|
|
1465
|
-
},
|
|
1466
|
-
true
|
|
1467
|
-
)
|
|
1468
1442
|
__TS__SetDescriptor(
|
|
1469
1443
|
Unit.prototype,
|
|
1470
1444
|
"intelligenceBonus",
|
|
@@ -1903,7 +1877,7 @@ __TS__SetDescriptor(
|
|
|
1903
1877
|
Unit.prototype,
|
|
1904
1878
|
"pathingCollisionRange",
|
|
1905
1879
|
{get = function(self)
|
|
1906
|
-
return 16 * (min(
|
|
1880
|
+
return 16 * (math.min(
|
|
1907
1881
|
getUnitCollisionSize(self.handle) // 16,
|
|
1908
1882
|
3
|
|
1909
1883
|
) + 1)
|
|
@@ -2013,30 +1987,6 @@ __TS__SetDescriptor(
|
|
|
2013
1987
|
end},
|
|
2014
1988
|
true
|
|
2015
1989
|
)
|
|
2016
|
-
__TS__SetDescriptor(
|
|
2017
|
-
Unit.prototype,
|
|
2018
|
-
"onUnitInRange",
|
|
2019
|
-
{get = function(self)
|
|
2020
|
-
local handle = self.handle
|
|
2021
|
-
local onUnitInRange = setmetatable(
|
|
2022
|
-
{},
|
|
2023
|
-
{__index = function(self, value)
|
|
2024
|
-
local event = __TS__New(
|
|
2025
|
-
TriggerEvent,
|
|
2026
|
-
function(trigger)
|
|
2027
|
-
TriggerRegisterUnitInRangeSimple(trigger, value, handle)
|
|
2028
|
-
end,
|
|
2029
|
-
function() return ____exports.Unit:of(handle) end
|
|
2030
|
-
)
|
|
2031
|
-
rawset(self, value, event)
|
|
2032
|
-
return event
|
|
2033
|
-
end}
|
|
2034
|
-
)
|
|
2035
|
-
rawset(self, "onUnitInRange", onUnitInRange)
|
|
2036
|
-
return onUnitInRange
|
|
2037
|
-
end},
|
|
2038
|
-
true
|
|
2039
|
-
)
|
|
2040
1990
|
__TS__SetDescriptor(
|
|
2041
1991
|
Unit.prototype,
|
|
2042
1992
|
"onManaEqual",
|
|
@@ -2172,6 +2122,11 @@ __TS__SetDescriptor(
|
|
|
2172
2122
|
end},
|
|
2173
2123
|
true
|
|
2174
2124
|
)
|
|
2125
|
+
Unit.levelChangedEvent = __TS__New(
|
|
2126
|
+
____exports.UnitTriggerEvent,
|
|
2127
|
+
EVENT_PLAYER_HERO_LEVEL,
|
|
2128
|
+
function() return ____exports.Unit:of(getTriggerUnit()) end
|
|
2129
|
+
)
|
|
2175
2130
|
Unit.deathEvent = __TS__New(
|
|
2176
2131
|
____exports.UnitTriggerEvent,
|
|
2177
2132
|
EVENT_PLAYER_UNIT_DEATH,
|
|
@@ -2189,7 +2144,7 @@ Unit.onResurrect = __TS__New(
|
|
|
2189
2144
|
____exports.Unit.deathEvent:addListener(function(unit)
|
|
2190
2145
|
dead[unit] = true
|
|
2191
2146
|
end)
|
|
2192
|
-
____exports.Unit.onImmediateOrder[
|
|
2147
|
+
____exports.Unit.onImmediateOrder[852056]:addListener(function(unit)
|
|
2193
2148
|
if dead[unit] and not IsUnitType(unit.handle, UNIT_TYPE_DEAD) then
|
|
2194
2149
|
dead[unit] = false
|
|
2195
2150
|
invoke(event, unit)
|
|
@@ -2206,7 +2161,7 @@ Unit.morphEvent = __TS__New(
|
|
|
2206
2161
|
invoke(event, unit)
|
|
2207
2162
|
end
|
|
2208
2163
|
end
|
|
2209
|
-
____exports.Unit.onImmediateOrder[
|
|
2164
|
+
____exports.Unit.onImmediateOrder[852056]:addListener(function(unit)
|
|
2210
2165
|
if getUnitAbilityLevel(unit.handle, morphDetectAbilityId) == 0 then
|
|
2211
2166
|
Timer:run(ifNotLeft, unit)
|
|
2212
2167
|
end
|
|
@@ -2673,7 +2628,7 @@ Unit.itemDroppedEvent = __TS__New(
|
|
|
2673
2628
|
function()
|
|
2674
2629
|
local unit = getTriggerUnit()
|
|
2675
2630
|
local item = getManipulatedItem()
|
|
2676
|
-
if getUnitTypeId(unit) ~= dummyUnitId and not (
|
|
2631
|
+
if getUnitTypeId(unit) ~= dummyUnitId and not isItemIgnoredInEvents(item) then
|
|
2677
2632
|
return ____exports.Unit:of(unit), Item:of(item)
|
|
2678
2633
|
end
|
|
2679
2634
|
return IgnoreEvent
|
|
@@ -2685,10 +2640,10 @@ Unit.itemPickedUpEvent = __TS__New(
|
|
|
2685
2640
|
function()
|
|
2686
2641
|
local unitHandle = getTriggerUnit()
|
|
2687
2642
|
local itemHandle = getManipulatedItem()
|
|
2688
|
-
if getUnitTypeId(unitHandle) ~= dummyUnitId and not (
|
|
2643
|
+
if getUnitTypeId(unitHandle) ~= dummyUnitId and not isItemIgnoredInEvents(itemHandle) then
|
|
2689
2644
|
local unit = ____exports.Unit:of(unitHandle)
|
|
2690
2645
|
local item = Item:of(itemHandle)
|
|
2691
|
-
if item
|
|
2646
|
+
if ownerByItem[item] ~= unit then
|
|
2692
2647
|
return unit, item
|
|
2693
2648
|
end
|
|
2694
2649
|
end
|
|
@@ -2701,17 +2656,12 @@ Unit.itemUsedEvent = __TS__New(
|
|
|
2701
2656
|
function()
|
|
2702
2657
|
local unit = getTriggerUnit()
|
|
2703
2658
|
local item = getManipulatedItem()
|
|
2704
|
-
if getUnitTypeId(unit) ~= dummyUnitId and not (
|
|
2659
|
+
if getUnitTypeId(unit) ~= dummyUnitId and not isItemIgnoredInEvents(item) then
|
|
2705
2660
|
return ____exports.Unit:of(unit), Item:of(item)
|
|
2706
2661
|
end
|
|
2707
2662
|
return IgnoreEvent
|
|
2708
2663
|
end
|
|
2709
2664
|
)
|
|
2710
|
-
Unit.itemStackedEvent = __TS__New(
|
|
2711
|
-
____exports.UnitTriggerEvent,
|
|
2712
|
-
EVENT_PLAYER_UNIT_STACK_ITEM,
|
|
2713
|
-
function() return ____exports.Unit:of(getTriggerUnit()), Item:of(BlzGetStackingItemTarget()), Item:of(BlzGetStackingItemSource()) end
|
|
2714
|
-
)
|
|
2715
2665
|
__TS__ObjectDefineProperty(
|
|
2716
2666
|
Unit,
|
|
2717
2667
|
"itemChargesChangedEvent",
|
|
@@ -2727,51 +2677,6 @@ __TS__ObjectDefineProperty(
|
|
|
2727
2677
|
return event
|
|
2728
2678
|
end}
|
|
2729
2679
|
)
|
|
2730
|
-
__TS__ObjectDefineProperty(
|
|
2731
|
-
Unit,
|
|
2732
|
-
"itemUseOrderEvent",
|
|
2733
|
-
{get = function(self)
|
|
2734
|
-
local event = __TS__New(Event)
|
|
2735
|
-
for order = orderId("useslot0"), orderId("useslot5") do
|
|
2736
|
-
local slot = order - orderId("useslot0")
|
|
2737
|
-
local function listener(unit)
|
|
2738
|
-
local item = unit.items[slot + 1]
|
|
2739
|
-
if item ~= nil then
|
|
2740
|
-
invoke(event, unit, item)
|
|
2741
|
-
end
|
|
2742
|
-
end
|
|
2743
|
-
self.onImmediateOrder[order]:addListener(listener)
|
|
2744
|
-
self.onTargetOrder[order]:addListener(listener)
|
|
2745
|
-
self.onPointOrder[order]:addListener(listener)
|
|
2746
|
-
end
|
|
2747
|
-
rawset(self, "itemUseOrderEvent", event)
|
|
2748
|
-
return event
|
|
2749
|
-
end}
|
|
2750
|
-
)
|
|
2751
|
-
__TS__ObjectDefineProperty(
|
|
2752
|
-
Unit,
|
|
2753
|
-
"itemMoveOrderEvent",
|
|
2754
|
-
{get = function(self)
|
|
2755
|
-
local event = __TS__New(Event)
|
|
2756
|
-
for order = orderId("moveslot0"), orderId("moveslot5") do
|
|
2757
|
-
local slotTo = order - orderId("moveslot0")
|
|
2758
|
-
self.onTargetOrder[order]:addListener(function(unit, item)
|
|
2759
|
-
local slotFrom = unit.items:findSlot(item)
|
|
2760
|
-
if slotFrom ~= nil then
|
|
2761
|
-
invoke(
|
|
2762
|
-
event,
|
|
2763
|
-
unit,
|
|
2764
|
-
item,
|
|
2765
|
-
slotFrom,
|
|
2766
|
-
slotTo
|
|
2767
|
-
)
|
|
2768
|
-
end
|
|
2769
|
-
end)
|
|
2770
|
-
end
|
|
2771
|
-
rawset(self, "itemMoveOrderEvent", event)
|
|
2772
|
-
return event
|
|
2773
|
-
end}
|
|
2774
|
-
)
|
|
2775
2680
|
__TS__ObjectDefineProperty(
|
|
2776
2681
|
Unit,
|
|
2777
2682
|
"onCreate",
|
|
@@ -2818,11 +2723,7 @@ Unit.synchronize = synchronizer(
|
|
|
2818
2723
|
function(____, id) return fourCC(id) end
|
|
2819
2724
|
)
|
|
2820
2725
|
end)
|
|
2821
|
-
for ____, leaveOrderId in ipairs({
|
|
2822
|
-
orderId("undefend"),
|
|
2823
|
-
orderId("magicundefense"),
|
|
2824
|
-
orderId("unimmolation")
|
|
2825
|
-
}) do
|
|
2726
|
+
for ____, leaveOrderId in ipairs({852056, 852479, 852178}) do
|
|
2826
2727
|
____exports.Unit.onImmediateOrder[leaveOrderId]:addListener(function(unit)
|
|
2827
2728
|
local handle = unit.handle
|
|
2828
2729
|
for i = 1, #leaveAbilityIds do
|
|
@@ -2830,7 +2731,8 @@ Unit.synchronize = synchronizer(
|
|
|
2830
2731
|
return
|
|
2831
2732
|
end
|
|
2832
2733
|
end
|
|
2833
|
-
unit:
|
|
2734
|
+
unit:saveData()
|
|
2735
|
+
Timer:run(unit, "destroy")
|
|
2834
2736
|
end)
|
|
2835
2737
|
end
|
|
2836
2738
|
end)(Unit)
|
package/engine/local-client.d.ts
CHANGED
|
@@ -9,15 +9,41 @@ export declare class LocalClient {
|
|
|
9
9
|
static readonly locale: string;
|
|
10
10
|
static get width(): number;
|
|
11
11
|
static get height(): number;
|
|
12
|
+
static get isSD(): boolean;
|
|
12
13
|
static get isHD(): boolean;
|
|
14
|
+
static get isDE(): boolean;
|
|
13
15
|
static get graphicsMode(): GraphicsMode;
|
|
14
16
|
static get isActive(): boolean;
|
|
15
|
-
static
|
|
17
|
+
static get isMinimized(): boolean;
|
|
18
|
+
static pingMinimap(x: number, y: number, duration: number, ...parameters: [] | [red: number, green: number, blue: number, flashy?: boolean] | [color: Color, flashy?: boolean]): void;
|
|
19
|
+
/** Local input state; do not use to branch synchronized game logic. */
|
|
20
|
+
static isKeyPressed(key: joskeytype): boolean;
|
|
21
|
+
/** Local input state. Uses the same modifier mask as Player key events. */
|
|
22
|
+
static isMetaKeyPressed(key: oskeymeta): boolean;
|
|
23
|
+
/** Local input state. */
|
|
24
|
+
static isMouseButtonPressed(button: jmousebuttontype): boolean;
|
|
25
|
+
static get mouseScreenX(): number;
|
|
26
|
+
static get mouseScreenY(): number;
|
|
27
|
+
static screenToFrameX(x: number): number;
|
|
28
|
+
static screenToFrameY(y: number): number;
|
|
29
|
+
static frameToScreenX(x: number): number;
|
|
30
|
+
static frameToScreenY(y: number): number;
|
|
31
|
+
static get mouseFrameX(): number;
|
|
32
|
+
static get mouseFrameY(): number;
|
|
16
33
|
static get mouseFocusUnit(): Async<Unit> | undefined;
|
|
34
|
+
/**
|
|
35
|
+
* Local selection sampled every 1/64 second; undefined before the first tick. Among
|
|
36
|
+
* several selected units, the one the portrait shows, identified by its health and
|
|
37
|
+
* mana; units with identical values cannot be told apart.
|
|
38
|
+
*/
|
|
17
39
|
static get mainSelectedUnit(): Async<Unit> | undefined;
|
|
18
40
|
static get mainSelectedUnitChangeEvent(): Event<[
|
|
19
41
|
previousMainSelectedUnit: Unit | undefined,
|
|
20
42
|
newMainSelectedUnit: Unit | undefined
|
|
21
43
|
]>;
|
|
44
|
+
static get isInTargetingMode(): boolean;
|
|
45
|
+
static readonly targetingModeEnterEvent: Event<[]>;
|
|
46
|
+
static readonly targetingModeLeaveEvent: Event<[]>;
|
|
47
|
+
static readonly targetingModeStateChangeEvent: Event<[]>;
|
|
22
48
|
static readonly onDisconnect: TriggerEvent<[]>;
|
|
23
49
|
}
|