warscript 0.0.1-dev.2450f74 → 0.0.1-dev.24da7f2
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 +1 -0
- package/attributes.lua +9 -0
- 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 +21 -2
- package/core/types/frame.lua +153 -78
- 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/missile.lua +8 -7
- package/core/types/player.d.ts +18 -1
- package/core/types/player.lua +73 -25
- package/core/types/playerCamera.lua +1 -1
- 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/tileCell.d.ts +10 -3
- package/core/types/tileCell.lua +33 -3
- package/core/types/timer.d.ts +3 -2
- package/core/types/timer.lua +8 -2
- 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/destroyable.d.ts +1 -0
- package/destroyable.lua +9 -0
- package/engine/ability-type-extended-tooltip.d.ts +8 -0
- package/engine/ability-type-extended-tooltip.lua +44 -0
- package/engine/behavior.d.ts +10 -2
- package/engine/behavior.lua +157 -76
- package/engine/behaviour/ability/apply-buff.lua +4 -4
- 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.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/remove-buffs.d.ts +9 -0
- package/engine/behaviour/ability/remove-buffs.lua +21 -0
- package/engine/behaviour/ability.d.ts +19 -6
- package/engine/behaviour/ability.lua +120 -9
- package/engine/behaviour/unit/stun-immunity.d.ts +9 -5
- package/engine/behaviour/unit/stun-immunity.lua +17 -7
- package/engine/behaviour/unit.d.ts +10 -3
- package/engine/behaviour/unit.lua +107 -24
- package/engine/buff.d.ts +124 -54
- package/engine/buff.lua +614 -281
- 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/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 +28 -13
- package/engine/internal/item.lua +163 -59
- 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/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.d.ts +14 -14
- package/engine/internal/unit/ability.lua +88 -45
- 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 +17 -0
- package/engine/internal/unit/bonus.lua +113 -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.d.ts +7 -0
- package/engine/internal/unit/fly-height.lua +20 -0
- 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/main-selected.lua +12 -27
- package/engine/internal/unit/order.d.ts +3 -3
- package/engine/internal/unit/order.lua +10 -10
- package/engine/internal/unit/range-event.d.ts +12 -0
- package/engine/internal/unit/range-event.lua +90 -0
- package/engine/internal/unit/scale.d.ts +7 -0
- package/engine/internal/unit/scale.lua +20 -0
- package/engine/internal/unit/shared-vision-counter.d.ts +18 -0
- package/engine/internal/unit/shared-vision-counter.lua +31 -0
- package/engine/internal/unit+ability.d.ts +2 -1
- package/engine/internal/unit+ability.lua +73 -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 +96 -68
- package/engine/internal/unit-missile-launch.lua +64 -33
- package/engine/internal/unit.d.ts +17 -29
- package/engine/internal/unit.lua +212 -282
- package/engine/lightning.lua +4 -4
- package/engine/local-client.d.ts +28 -0
- package/engine/local-client.lua +324 -54
- 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/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/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/{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/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-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/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/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-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 +35 -8
- package/engine/object-data/entry/ability-type.lua +303 -12
- package/engine/object-data/entry/buff-type/applicable.lua +122 -111
- 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 +32 -2
- package/engine/object-data/entry/destructible-type.lua +181 -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 +61 -2
- package/engine/object-data/entry/unit-type.lua +444 -52
- 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 +20 -5
- package/engine/object-field/unit.lua +61 -0
- package/engine/object-field.d.ts +10 -2
- package/engine/object-field.lua +268 -123
- package/engine/random.d.ts +5 -0
- package/engine/random.lua +18 -0
- 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 +4 -4
- package/engine/standard/fields/ability.lua +4 -4
- 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 -3
- package/engine/standard/fields/unit.lua +15 -2
- package/engine/synchronization.d.ts +11 -0
- package/engine/synchronization.lua +77 -0
- package/engine/text-tag.d.ts +13 -1
- package/engine/text-tag.lua +80 -42
- package/engine/unit.d.ts +11 -1
- package/engine/unit.lua +11 -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/net/socket.lua +1 -1
- package/network.lua +25 -1
- package/objutil/buff.lua +11 -9
- 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/arrays.d.ts +8 -1
- package/utility/arrays.lua +25 -0
- package/utility/callback-array.d.ts +5 -1
- package/utility/callback-array.lua +16 -1
- package/utility/linked-map.d.ts +35 -0
- package/utility/linked-map.lua +107 -0
- package/utility/linked-set.d.ts +4 -1
- package/utility/linked-set.lua +46 -1
- package/utility/lua-maps.d.ts +11 -2
- package/utility/lua-maps.lua +33 -2
- package/utility/random.d.ts +102 -0
- package/utility/random.lua +273 -0
- package/utility/records.lua +20 -1
- package/utility/types.d.ts +3 -0
- 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
|
@@ -7,10 +7,10 @@ local __TS__Class = ____lualib.__TS__Class
|
|
|
7
7
|
local __TS__ClassExtends = ____lualib.__TS__ClassExtends
|
|
8
8
|
local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
|
|
9
9
|
local __TS__ArraySetLength = ____lualib.__TS__ArraySetLength
|
|
10
|
+
local __TS__InstanceOf = ____lualib.__TS__InstanceOf
|
|
10
11
|
local __TS__SparseArrayNew = ____lualib.__TS__SparseArrayNew
|
|
11
12
|
local __TS__SparseArrayPush = ____lualib.__TS__SparseArrayPush
|
|
12
13
|
local __TS__SparseArraySpread = ____lualib.__TS__SparseArraySpread
|
|
13
|
-
local __TS__InstanceOf = ____lualib.__TS__InstanceOf
|
|
14
14
|
local __TS__ObjectDefineProperty = ____lualib.__TS__ObjectDefineProperty
|
|
15
15
|
local Set = ____lualib.Set
|
|
16
16
|
local __TS__Spread = ____lualib.__TS__Spread
|
|
@@ -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
|
|
@@ -62,6 +60,10 @@ local ____attributes = require("attributes")
|
|
|
62
60
|
local isAttribute = ____attributes.isAttribute
|
|
63
61
|
local ____ability = require("engine.internal.item.ability")
|
|
64
62
|
local doUnitAbilityAction = ____ability.doUnitAbilityAction
|
|
63
|
+
local ____synchronization = require("engine.synchronization")
|
|
64
|
+
local synchronizer = ____synchronization.synchronizer
|
|
65
|
+
local ____linked_2Dmap = require("utility.linked-map")
|
|
66
|
+
local LinkedMap = ____linked_2Dmap.LinkedMap
|
|
65
67
|
local match = string.match
|
|
66
68
|
local ____tostring = _G.tostring
|
|
67
69
|
local setUnitAnimation = SetUnitAnimation
|
|
@@ -71,16 +73,12 @@ local getUnitRealField = BlzGetUnitRealField
|
|
|
71
73
|
local getHeroStr = GetHeroStr
|
|
72
74
|
local getHeroAgi = GetHeroAgi
|
|
73
75
|
local getHeroInt = GetHeroInt
|
|
74
|
-
local setHeroStr = SetHeroStr
|
|
75
|
-
local setHeroAgi = SetHeroAgi
|
|
76
|
-
local setHeroInt = SetHeroInt
|
|
77
76
|
local getUnitBooleanField = BlzGetUnitBooleanField
|
|
78
77
|
local getUnitStringField = BlzGetUnitStringField
|
|
79
78
|
local setUnitIntegerField = BlzSetUnitIntegerField
|
|
80
79
|
local setUnitRealField = BlzSetUnitRealField
|
|
81
80
|
local setUnitBooleanField = BlzSetUnitBooleanField
|
|
82
81
|
local setUnitStringField = BlzSetUnitStringField
|
|
83
|
-
local setUnitScale = SetUnitScale
|
|
84
82
|
local setUnitPosition = SetUnitPosition
|
|
85
83
|
local setUnitTimeScale = SetUnitTimeScale
|
|
86
84
|
local getHandleId = GetHandleId
|
|
@@ -108,7 +106,6 @@ local getUnitWeaponStringField = BlzGetUnitWeaponStringField
|
|
|
108
106
|
local setUnitWeaponStringField = BlzSetUnitWeaponStringField
|
|
109
107
|
local getUnitAbilityLevel = GetUnitAbilityLevel
|
|
110
108
|
local unitDisableAbility = BlzUnitDisableAbility
|
|
111
|
-
local unitInterruptAttack = BlzUnitInterruptAttack
|
|
112
109
|
local isUnitInvisible = IsUnitInvisible
|
|
113
110
|
local isUnitVisible = IsUnitVisible
|
|
114
111
|
local getUnitX = GetUnitX
|
|
@@ -384,15 +381,27 @@ local modifiers = {
|
|
|
384
381
|
end,
|
|
385
382
|
armor = function(unit, value)
|
|
386
383
|
if UnitAddAbility(unit, armorBonusAbilityId) then
|
|
387
|
-
assert(
|
|
384
|
+
assert(
|
|
385
|
+
UnitMakeAbilityPermanent(unit, true, armorBonusAbilityId),
|
|
386
|
+
"armor bonus ability must be made permanent",
|
|
387
|
+
unit
|
|
388
|
+
)
|
|
388
389
|
end
|
|
389
|
-
local ability = assert(
|
|
390
|
-
|
|
391
|
-
ability,
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
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
|
+
)
|
|
396
405
|
end
|
|
397
406
|
}
|
|
398
407
|
local getters = {
|
|
@@ -410,6 +419,19 @@ function UnitWeapon.prototype.____constructor(self, unit, index)
|
|
|
410
419
|
self.unit = unit
|
|
411
420
|
self.index = index
|
|
412
421
|
end
|
|
422
|
+
__TS__SetDescriptor(
|
|
423
|
+
UnitWeapon.prototype,
|
|
424
|
+
"isEnabled",
|
|
425
|
+
{
|
|
426
|
+
get = function(self)
|
|
427
|
+
return BlzGetUnitWeaponBooleanField(self.unit.handle, UNIT_WEAPON_BF_ATTACKS_ENABLED, self.index)
|
|
428
|
+
end,
|
|
429
|
+
set = function(self, isEnabled)
|
|
430
|
+
BlzSetUnitWeaponBooleanField(self.unit.handle, UNIT_WEAPON_BF_ATTACKS_ENABLED, self.index, isEnabled)
|
|
431
|
+
end
|
|
432
|
+
},
|
|
433
|
+
true
|
|
434
|
+
)
|
|
413
435
|
__TS__SetDescriptor(
|
|
414
436
|
UnitWeapon.prototype,
|
|
415
437
|
"cooldown",
|
|
@@ -568,8 +590,6 @@ __TS__SetDescriptor(
|
|
|
568
590
|
},
|
|
569
591
|
true
|
|
570
592
|
)
|
|
571
|
-
local unitInventorySize = UnitInventorySize
|
|
572
|
-
local unitItemInSlot = UnitItemInSlot
|
|
573
593
|
local getItemAbility = BlzGetItemAbility
|
|
574
594
|
local getUnitAbility = BlzGetUnitAbility
|
|
575
595
|
local getUnitAbilityByIndex = BlzGetUnitAbilityByIndex
|
|
@@ -587,8 +607,8 @@ local function retrieveAbility(unit, ability, abilityId)
|
|
|
587
607
|
____exports.Unit:of(unit)
|
|
588
608
|
)
|
|
589
609
|
end
|
|
590
|
-
for i = 0,
|
|
591
|
-
local item =
|
|
610
|
+
for i = 0, UnitInventorySize(unit) - 1 do
|
|
611
|
+
local item = UnitItemInSlot(unit, i)
|
|
592
612
|
if getItemAbility(item, abilityId) == ability then
|
|
593
613
|
return ItemAbility:of(
|
|
594
614
|
ability,
|
|
@@ -633,26 +653,30 @@ local fieldSetters = {
|
|
|
633
653
|
}
|
|
634
654
|
local dummies = {}
|
|
635
655
|
for ____, player in ipairs(Player.all) do
|
|
636
|
-
local dummy = assert(
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
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
|
+
)
|
|
643
667
|
ShowUnit(dummy, false)
|
|
644
668
|
dummies[player] = dummy
|
|
645
669
|
end
|
|
646
670
|
local function delayHealthChecksCallback(unit)
|
|
647
|
-
local counter = (unit[
|
|
671
|
+
local counter = (unit[104] or 0) - 1
|
|
648
672
|
if counter ~= 0 then
|
|
649
|
-
unit[
|
|
673
|
+
unit[104] = counter
|
|
650
674
|
return
|
|
651
675
|
end
|
|
652
|
-
unit[
|
|
653
|
-
local healthBonus = unit[
|
|
676
|
+
unit[104] = nil
|
|
677
|
+
local healthBonus = unit[105]
|
|
654
678
|
if healthBonus ~= nil then
|
|
655
|
-
unit[
|
|
679
|
+
unit[105] = nil
|
|
656
680
|
local handle = unit.handle
|
|
657
681
|
BlzSetUnitMaxHP(
|
|
658
682
|
handle,
|
|
@@ -682,41 +706,57 @@ function Unit.prototype.____constructor(self, handle)
|
|
|
682
706
|
nextSyncId = ____nextSyncId_1 + 1
|
|
683
707
|
self.syncId = ____nextSyncId_1
|
|
684
708
|
self._owner = Player:of(getOwningPlayer(handle))
|
|
685
|
-
assert(
|
|
686
|
-
|
|
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
|
+
)
|
|
687
719
|
if unitAddAbility(
|
|
688
720
|
handle,
|
|
689
721
|
fourCC("Amrf")
|
|
690
722
|
) then
|
|
691
|
-
assert(
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
723
|
+
assert(
|
|
724
|
+
unitRemoveAbility(
|
|
725
|
+
handle,
|
|
726
|
+
fourCC("Amrf")
|
|
727
|
+
),
|
|
728
|
+
"fly ability must be removed after addition",
|
|
729
|
+
self
|
|
730
|
+
)
|
|
695
731
|
end
|
|
696
732
|
unitBySyncId[self.syncId] = self
|
|
697
733
|
local ____ = self.abilities
|
|
698
734
|
end
|
|
699
|
-
function Unit.prototype.getEvent(self,
|
|
700
|
-
self.events = self.events or (
|
|
701
|
-
local eventId = GetHandleId(
|
|
702
|
-
|
|
703
|
-
|
|
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(
|
|
704
741
|
TriggerEvent,
|
|
705
742
|
function(trigger)
|
|
706
|
-
TriggerRegisterUnitEvent(trigger, self.handle,
|
|
743
|
+
TriggerRegisterUnitEvent(trigger, self.handle, jevent)
|
|
707
744
|
end,
|
|
708
745
|
collector or (function() return {} end)
|
|
709
746
|
)
|
|
747
|
+
self.events:put(eventId, event)
|
|
710
748
|
end
|
|
711
|
-
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))
|
|
712
756
|
end
|
|
713
757
|
function Unit.prototype.onDestroy(self)
|
|
714
758
|
local handle = self.handle
|
|
715
|
-
self
|
|
716
|
-
self[108] = getUnitY(handle)
|
|
717
|
-
if not self._owner then
|
|
718
|
-
self._owner = Player:of(getOwningPlayer(handle))
|
|
719
|
-
end
|
|
759
|
+
self:saveData()
|
|
720
760
|
local abilities = self.abilities
|
|
721
761
|
for ____, ability in ipairs(abilities) do
|
|
722
762
|
ability:destroy()
|
|
@@ -734,7 +774,9 @@ function Unit.prototype.onDestroy(self)
|
|
|
734
774
|
end
|
|
735
775
|
local eventsToDestroy = self._eventsToDestroy
|
|
736
776
|
if eventsToDestroy ~= nil then
|
|
737
|
-
|
|
777
|
+
for ____, event in ipairs(eventsToDestroy) do
|
|
778
|
+
event:destroy()
|
|
779
|
+
end
|
|
738
780
|
end
|
|
739
781
|
if getUnitAbilityLevel(handle, leaveDetectAbilityId) > 0 then
|
|
740
782
|
unitRemoveAbility(handle, leaveDetectAbilityId)
|
|
@@ -752,7 +794,11 @@ function Unit.prototype.addAttackHandler(self, condition, action)
|
|
|
752
794
|
self._attackHandlers = handlers
|
|
753
795
|
if #handlers == 1 then
|
|
754
796
|
local handle = self.handle
|
|
755
|
-
assert(
|
|
797
|
+
assert(
|
|
798
|
+
unitAddAbility(handle, attackHandlerAbilityId) and UnitMakeAbilityPermanent(handle, true, attackHandlerAbilityId),
|
|
799
|
+
"attack handler ability must be added",
|
|
800
|
+
self
|
|
801
|
+
)
|
|
756
802
|
end
|
|
757
803
|
return handler
|
|
758
804
|
end
|
|
@@ -800,13 +846,19 @@ function Unit.prototype.isInvisibleTo(self, player)
|
|
|
800
846
|
return isUnitInvisible(self.handle, player.handle)
|
|
801
847
|
end
|
|
802
848
|
function Unit.prototype.isInRangeOf(self, x, y, range)
|
|
803
|
-
local
|
|
849
|
+
local ____temp_4
|
|
804
850
|
if type(x) == "number" then
|
|
805
|
-
|
|
851
|
+
____temp_4 = isUnitInRangeXY(self.handle, x, y, range)
|
|
806
852
|
else
|
|
807
|
-
____temp_3
|
|
853
|
+
local ____temp_3
|
|
854
|
+
if __TS__InstanceOf(x, ____exports.Unit) then
|
|
855
|
+
____temp_3 = isUnitInRange(self.handle, x.handle, y)
|
|
856
|
+
else
|
|
857
|
+
____temp_3 = isUnitInRangeXY(self.handle, x.x, x.y, range)
|
|
858
|
+
end
|
|
859
|
+
____temp_4 = ____temp_3
|
|
808
860
|
end
|
|
809
|
-
return
|
|
861
|
+
return ____temp_4
|
|
810
862
|
end
|
|
811
863
|
function Unit.prototype.isAllyOf(self, unit)
|
|
812
864
|
return isUnitAlly(
|
|
@@ -836,16 +888,18 @@ function Unit.prototype.queueAnimation(self, animation)
|
|
|
836
888
|
QueueUnitAnimation(self.handle, animation)
|
|
837
889
|
end
|
|
838
890
|
function Unit.prototype.chooseWeapon(self, target)
|
|
839
|
-
|
|
840
|
-
|
|
891
|
+
local firstWeapon = self.firstWeapon
|
|
892
|
+
if firstWeapon.isEnabled and target:isAllowedTarget(self, firstWeapon.allowedTargetCombatClassifications) then
|
|
893
|
+
return firstWeapon
|
|
841
894
|
end
|
|
842
|
-
|
|
843
|
-
|
|
895
|
+
local secondWeapon = self.secondWeapon
|
|
896
|
+
if secondWeapon.isEnabled and target:isAllowedTarget(self, secondWeapon.allowedTargetCombatClassifications) then
|
|
897
|
+
return secondWeapon
|
|
844
898
|
end
|
|
845
899
|
return nil
|
|
846
900
|
end
|
|
847
901
|
function Unit.prototype.delayHealthChecks(self)
|
|
848
|
-
self[
|
|
902
|
+
self[104] = (self[104] or 0) + 1
|
|
849
903
|
Timer:run(delayHealthChecksCallback, self)
|
|
850
904
|
end
|
|
851
905
|
function Unit.prototype.setPosition(self, x, y)
|
|
@@ -862,14 +916,14 @@ function Unit.prototype.kill(self)
|
|
|
862
916
|
killUnit(self.handle)
|
|
863
917
|
end
|
|
864
918
|
function Unit.prototype.revive(self, x, y, doEffect)
|
|
865
|
-
local
|
|
866
|
-
local
|
|
867
|
-
local
|
|
868
|
-
if
|
|
869
|
-
|
|
919
|
+
local ____ReviveHero_7 = ReviveHero
|
|
920
|
+
local ____array_6 = __TS__SparseArrayNew(self.handle, x, y)
|
|
921
|
+
local ____doEffect_5 = doEffect
|
|
922
|
+
if ____doEffect_5 == nil then
|
|
923
|
+
____doEffect_5 = false
|
|
870
924
|
end
|
|
871
|
-
__TS__SparseArrayPush(
|
|
872
|
-
|
|
925
|
+
__TS__SparseArrayPush(____array_6, ____doEffect_5)
|
|
926
|
+
____ReviveHero_7(__TS__SparseArraySpread(____array_6))
|
|
873
927
|
end
|
|
874
928
|
function Unit.prototype.healTarget(self, target, amount)
|
|
875
929
|
if __TS__InstanceOf(target, ____exports.Unit) and target:hasAbility(fourCC("BIhm")) then
|
|
@@ -909,7 +963,7 @@ function Unit.prototype.dropItemSlot(self, item, slot)
|
|
|
909
963
|
return UnitDropItemSlot(self.handle, item.handle, slot)
|
|
910
964
|
end
|
|
911
965
|
function Unit.prototype.itemInSlot(self, slot)
|
|
912
|
-
return Item:of(
|
|
966
|
+
return Item:of(UnitItemInSlot(self.handle, slot))
|
|
913
967
|
end
|
|
914
968
|
function Unit.prototype.addAbility(self, abilityId)
|
|
915
969
|
local ability = UnitAbility:of(
|
|
@@ -945,6 +999,9 @@ function Unit.prototype.removeAbility(self, abilityTypeId)
|
|
|
945
999
|
if abilities[i].typeId == abilityTypeId then
|
|
946
1000
|
local ability = abilities[i]
|
|
947
1001
|
tremove(abilities, i)
|
|
1002
|
+
if ability.state == 2 then
|
|
1003
|
+
break
|
|
1004
|
+
end
|
|
948
1005
|
ability:destroy()
|
|
949
1006
|
return true
|
|
950
1007
|
end
|
|
@@ -963,24 +1020,6 @@ end
|
|
|
963
1020
|
function Unit.prototype.endAbilityCooldown(self, abilityId)
|
|
964
1021
|
BlzEndUnitAbilityCooldown(self.handle, abilityId)
|
|
965
1022
|
end
|
|
966
|
-
function Unit.prototype.interruptMovement(self)
|
|
967
|
-
local handle = self.handle
|
|
968
|
-
unitDisableAbility(
|
|
969
|
-
handle,
|
|
970
|
-
fourCC("Amov"),
|
|
971
|
-
true,
|
|
972
|
-
false
|
|
973
|
-
)
|
|
974
|
-
unitDisableAbility(
|
|
975
|
-
handle,
|
|
976
|
-
fourCC("Amov"),
|
|
977
|
-
false,
|
|
978
|
-
false
|
|
979
|
-
)
|
|
980
|
-
end
|
|
981
|
-
function Unit.prototype.interruptAttack(self)
|
|
982
|
-
unitInterruptAttack(self.handle)
|
|
983
|
-
end
|
|
984
1023
|
function Unit.prototype.interruptCast(self, abilityId)
|
|
985
1024
|
local handle = self.handle
|
|
986
1025
|
unitDisableAbility(handle, abilityId, true, false)
|
|
@@ -1051,18 +1090,44 @@ function Unit.prototype.unpauseEx(self)
|
|
|
1051
1090
|
end
|
|
1052
1091
|
function Unit.prototype.incrementStunCounter(self)
|
|
1053
1092
|
local stunCounter = self[102] or 0
|
|
1054
|
-
if not self[101] or stunCounter >= 0 then
|
|
1093
|
+
if not self[101] and (self[103] or 0) <= 0 or stunCounter >= 0 then
|
|
1055
1094
|
BlzPauseUnitEx(self.handle, true)
|
|
1056
1095
|
end
|
|
1057
1096
|
self[102] = stunCounter + 1
|
|
1058
1097
|
end
|
|
1059
1098
|
function Unit.prototype.decrementStunCounter(self)
|
|
1060
1099
|
local stunCounter = self[102] or 0
|
|
1061
|
-
if not self[101] or stunCounter >= 1 then
|
|
1100
|
+
if not self[101] and (self[103] or 0) <= 0 or stunCounter >= 1 then
|
|
1062
1101
|
BlzPauseUnitEx(self.handle, false)
|
|
1063
1102
|
end
|
|
1064
1103
|
self[102] = stunCounter - 1
|
|
1065
1104
|
end
|
|
1105
|
+
function Unit.prototype.incrementForceStunCounter(self)
|
|
1106
|
+
local forceStunCounter = self[103] or 0
|
|
1107
|
+
if forceStunCounter == 0 then
|
|
1108
|
+
local handle = self.handle
|
|
1109
|
+
if not self[101] then
|
|
1110
|
+
for _ = self[102] or 0, -1 do
|
|
1111
|
+
BlzPauseUnitEx(handle, true)
|
|
1112
|
+
end
|
|
1113
|
+
end
|
|
1114
|
+
BlzPauseUnitEx(handle, true)
|
|
1115
|
+
end
|
|
1116
|
+
self[103] = forceStunCounter + 1
|
|
1117
|
+
end
|
|
1118
|
+
function Unit.prototype.decrementForceStunCounter(self)
|
|
1119
|
+
local forceStunCounter = self[103] or 0
|
|
1120
|
+
if forceStunCounter == 1 then
|
|
1121
|
+
local handle = self.handle
|
|
1122
|
+
if not self[101] then
|
|
1123
|
+
for _ = self[102] or 0, -1 do
|
|
1124
|
+
BlzPauseUnitEx(handle, false)
|
|
1125
|
+
end
|
|
1126
|
+
end
|
|
1127
|
+
BlzPauseUnitEx(handle, false)
|
|
1128
|
+
end
|
|
1129
|
+
self[103] = forceStunCounter - 1
|
|
1130
|
+
end
|
|
1066
1131
|
function Unit.create(self, owner, id, x, y, facing, skinId)
|
|
1067
1132
|
local handle = skinId and BlzCreateUnitWithSkin(
|
|
1068
1133
|
owner.handle,
|
|
@@ -1259,7 +1324,7 @@ __TS__SetDescriptor(
|
|
|
1259
1324
|
Unit.prototype,
|
|
1260
1325
|
"isStunned",
|
|
1261
1326
|
{get = function(self)
|
|
1262
|
-
return getUnitCurrentOrder(self.handle) ==
|
|
1327
|
+
return getUnitCurrentOrder(self.handle) == 851973
|
|
1263
1328
|
end},
|
|
1264
1329
|
true
|
|
1265
1330
|
)
|
|
@@ -1349,19 +1414,6 @@ __TS__SetDescriptor(
|
|
|
1349
1414
|
},
|
|
1350
1415
|
true
|
|
1351
1416
|
)
|
|
1352
|
-
__TS__SetDescriptor(
|
|
1353
|
-
Unit.prototype,
|
|
1354
|
-
"strengthBase",
|
|
1355
|
-
{
|
|
1356
|
-
get = function(self)
|
|
1357
|
-
return getHeroStr(self.handle, false)
|
|
1358
|
-
end,
|
|
1359
|
-
set = function(self, strengthBase)
|
|
1360
|
-
setHeroStr(self.handle, strengthBase, true)
|
|
1361
|
-
end
|
|
1362
|
-
},
|
|
1363
|
-
true
|
|
1364
|
-
)
|
|
1365
1417
|
__TS__SetDescriptor(
|
|
1366
1418
|
Unit.prototype,
|
|
1367
1419
|
"strengthBonus",
|
|
@@ -1379,19 +1431,6 @@ __TS__SetDescriptor(
|
|
|
1379
1431
|
end},
|
|
1380
1432
|
true
|
|
1381
1433
|
)
|
|
1382
|
-
__TS__SetDescriptor(
|
|
1383
|
-
Unit.prototype,
|
|
1384
|
-
"agilityBase",
|
|
1385
|
-
{
|
|
1386
|
-
get = function(self)
|
|
1387
|
-
return getHeroAgi(self.handle, false)
|
|
1388
|
-
end,
|
|
1389
|
-
set = function(self, agilityBase)
|
|
1390
|
-
setHeroAgi(self.handle, agilityBase, true)
|
|
1391
|
-
end
|
|
1392
|
-
},
|
|
1393
|
-
true
|
|
1394
|
-
)
|
|
1395
1434
|
__TS__SetDescriptor(
|
|
1396
1435
|
Unit.prototype,
|
|
1397
1436
|
"agilityBonus",
|
|
@@ -1409,19 +1448,6 @@ __TS__SetDescriptor(
|
|
|
1409
1448
|
end},
|
|
1410
1449
|
true
|
|
1411
1450
|
)
|
|
1412
|
-
__TS__SetDescriptor(
|
|
1413
|
-
Unit.prototype,
|
|
1414
|
-
"intelligenceBase",
|
|
1415
|
-
{
|
|
1416
|
-
get = function(self)
|
|
1417
|
-
return getHeroInt(self.handle, false)
|
|
1418
|
-
end,
|
|
1419
|
-
set = function(self, intelligenceBase)
|
|
1420
|
-
setHeroInt(self.handle, intelligenceBase, true)
|
|
1421
|
-
end
|
|
1422
|
-
},
|
|
1423
|
-
true
|
|
1424
|
-
)
|
|
1425
1451
|
__TS__SetDescriptor(
|
|
1426
1452
|
Unit.prototype,
|
|
1427
1453
|
"intelligenceBonus",
|
|
@@ -1470,17 +1496,17 @@ __TS__SetDescriptor(
|
|
|
1470
1496
|
"isTeamGlowVisible",
|
|
1471
1497
|
{
|
|
1472
1498
|
get = function(self)
|
|
1473
|
-
return not self[
|
|
1499
|
+
return not self[107]
|
|
1474
1500
|
end,
|
|
1475
1501
|
set = function(self, isTeamGlowVisible)
|
|
1476
1502
|
BlzShowUnitTeamGlow(self.handle, isTeamGlowVisible)
|
|
1477
|
-
local
|
|
1503
|
+
local ____temp_8
|
|
1478
1504
|
if not isTeamGlowVisible then
|
|
1479
|
-
|
|
1505
|
+
____temp_8 = true
|
|
1480
1506
|
else
|
|
1481
|
-
|
|
1507
|
+
____temp_8 = nil
|
|
1482
1508
|
end
|
|
1483
|
-
self[
|
|
1509
|
+
self[107] = ____temp_8
|
|
1484
1510
|
end
|
|
1485
1511
|
},
|
|
1486
1512
|
true
|
|
@@ -1490,7 +1516,7 @@ __TS__SetDescriptor(
|
|
|
1490
1516
|
"color",
|
|
1491
1517
|
{set = function(self, color)
|
|
1492
1518
|
SetUnitColor(self.handle, color.handle)
|
|
1493
|
-
if self[
|
|
1519
|
+
if self[107] then
|
|
1494
1520
|
BlzShowUnitTeamGlow(self.handle, false)
|
|
1495
1521
|
end
|
|
1496
1522
|
end},
|
|
@@ -1514,14 +1540,14 @@ __TS__SetDescriptor(
|
|
|
1514
1540
|
"maxHealth",
|
|
1515
1541
|
{
|
|
1516
1542
|
get = function(self)
|
|
1517
|
-
return BlzGetUnitMaxHP(self.handle) - (self[
|
|
1543
|
+
return BlzGetUnitMaxHP(self.handle) - (self[105] or 0) - (self[106] or 0)
|
|
1518
1544
|
end,
|
|
1519
1545
|
set = function(self, maxHealth)
|
|
1520
|
-
if maxHealth < 1 and self[
|
|
1521
|
-
self[
|
|
1546
|
+
if maxHealth < 1 and self[104] ~= nil then
|
|
1547
|
+
self[105] = (self[105] or 0) + (1 - maxHealth)
|
|
1522
1548
|
maxHealth = 1
|
|
1523
1549
|
end
|
|
1524
|
-
BlzSetUnitMaxHP(self.handle, maxHealth + (self[
|
|
1550
|
+
BlzSetUnitMaxHP(self.handle, maxHealth + (self[106] or 0))
|
|
1525
1551
|
end
|
|
1526
1552
|
},
|
|
1527
1553
|
true
|
|
@@ -1563,10 +1589,10 @@ __TS__SetDescriptor(
|
|
|
1563
1589
|
"health",
|
|
1564
1590
|
{
|
|
1565
1591
|
get = function(self)
|
|
1566
|
-
return GetWidgetLife(self.handle) - (self[
|
|
1592
|
+
return GetWidgetLife(self.handle) - (self[106] or 0)
|
|
1567
1593
|
end,
|
|
1568
1594
|
set = function(self, health)
|
|
1569
|
-
SetWidgetLife(self.handle, health + (self[
|
|
1595
|
+
SetWidgetLife(self.handle, health + (self[106] or 0))
|
|
1570
1596
|
end
|
|
1571
1597
|
},
|
|
1572
1598
|
true
|
|
@@ -1642,25 +1668,12 @@ __TS__SetDescriptor(
|
|
|
1642
1668
|
},
|
|
1643
1669
|
true
|
|
1644
1670
|
)
|
|
1645
|
-
__TS__SetDescriptor(
|
|
1646
|
-
Unit.prototype,
|
|
1647
|
-
"flyHeight",
|
|
1648
|
-
{
|
|
1649
|
-
get = function(self)
|
|
1650
|
-
return getUnitFlyHeight(self.handle)
|
|
1651
|
-
end,
|
|
1652
|
-
set = function(self, v)
|
|
1653
|
-
SetUnitFlyHeight(self.handle, v, 100000)
|
|
1654
|
-
end
|
|
1655
|
-
},
|
|
1656
|
-
true
|
|
1657
|
-
)
|
|
1658
1671
|
__TS__SetDescriptor(
|
|
1659
1672
|
Unit.prototype,
|
|
1660
1673
|
"x",
|
|
1661
1674
|
{
|
|
1662
1675
|
get = function(self)
|
|
1663
|
-
return self[
|
|
1676
|
+
return self[108] or getUnitX(self.handle)
|
|
1664
1677
|
end,
|
|
1665
1678
|
set = function(self, v)
|
|
1666
1679
|
SetUnitX(self.handle, v)
|
|
@@ -1673,7 +1686,7 @@ __TS__SetDescriptor(
|
|
|
1673
1686
|
"y",
|
|
1674
1687
|
{
|
|
1675
1688
|
get = function(self)
|
|
1676
|
-
return self[
|
|
1689
|
+
return self[109] or getUnitY(self.handle)
|
|
1677
1690
|
end,
|
|
1678
1691
|
set = function(self, v)
|
|
1679
1692
|
SetUnitY(self.handle, v)
|
|
@@ -1778,14 +1791,18 @@ __TS__SetDescriptor(
|
|
|
1778
1791
|
local handle = self.handle
|
|
1779
1792
|
if isPaused and not IsUnitPaused(handle) then
|
|
1780
1793
|
self[101] = true
|
|
1781
|
-
|
|
1782
|
-
|
|
1794
|
+
if (self[103] or 0) <= 0 then
|
|
1795
|
+
for _ = self[102] or 0, -1 do
|
|
1796
|
+
BlzPauseUnitEx(handle, true)
|
|
1797
|
+
end
|
|
1783
1798
|
end
|
|
1784
1799
|
PauseUnit(handle, true)
|
|
1785
1800
|
elseif not isPaused and IsUnitPaused(handle) then
|
|
1786
1801
|
PauseUnit(handle, false)
|
|
1787
|
-
|
|
1788
|
-
|
|
1802
|
+
if (self[103] or 0) <= 0 then
|
|
1803
|
+
for _ = self[102] or 0, -1 do
|
|
1804
|
+
BlzPauseUnitEx(handle, false)
|
|
1805
|
+
end
|
|
1789
1806
|
end
|
|
1790
1807
|
self[101] = nil
|
|
1791
1808
|
end
|
|
@@ -1843,20 +1860,6 @@ __TS__SetDescriptor(
|
|
|
1843
1860
|
},
|
|
1844
1861
|
true
|
|
1845
1862
|
)
|
|
1846
|
-
__TS__SetDescriptor(
|
|
1847
|
-
Unit.prototype,
|
|
1848
|
-
"scale",
|
|
1849
|
-
{
|
|
1850
|
-
get = function(self)
|
|
1851
|
-
return getUnitRealField(self.handle, UNIT_RF_SCALING_VALUE)
|
|
1852
|
-
end,
|
|
1853
|
-
set = function(self, v)
|
|
1854
|
-
setUnitScale(self.handle, v, v, v)
|
|
1855
|
-
setUnitRealField(self.handle, UNIT_RF_SCALING_VALUE, v)
|
|
1856
|
-
end
|
|
1857
|
-
},
|
|
1858
|
-
true
|
|
1859
|
-
)
|
|
1860
1863
|
__TS__SetDescriptor(
|
|
1861
1864
|
Unit.prototype,
|
|
1862
1865
|
"timeScale",
|
|
@@ -1883,7 +1886,7 @@ __TS__SetDescriptor(
|
|
|
1883
1886
|
Unit.prototype,
|
|
1884
1887
|
"pathingCollisionRange",
|
|
1885
1888
|
{get = function(self)
|
|
1886
|
-
return 16 * (min(
|
|
1889
|
+
return 16 * (math.min(
|
|
1887
1890
|
getUnitCollisionSize(self.handle) // 16,
|
|
1888
1891
|
3
|
|
1889
1892
|
) + 1)
|
|
@@ -1993,30 +1996,6 @@ __TS__SetDescriptor(
|
|
|
1993
1996
|
end},
|
|
1994
1997
|
true
|
|
1995
1998
|
)
|
|
1996
|
-
__TS__SetDescriptor(
|
|
1997
|
-
Unit.prototype,
|
|
1998
|
-
"onUnitInRange",
|
|
1999
|
-
{get = function(self)
|
|
2000
|
-
local handle = self.handle
|
|
2001
|
-
local onUnitInRange = setmetatable(
|
|
2002
|
-
{},
|
|
2003
|
-
{__index = function(self, value)
|
|
2004
|
-
local event = __TS__New(
|
|
2005
|
-
TriggerEvent,
|
|
2006
|
-
function(trigger)
|
|
2007
|
-
TriggerRegisterUnitInRangeSimple(trigger, value, handle)
|
|
2008
|
-
end,
|
|
2009
|
-
function() return ____exports.Unit:of(handle) end
|
|
2010
|
-
)
|
|
2011
|
-
rawset(self, value, event)
|
|
2012
|
-
return event
|
|
2013
|
-
end}
|
|
2014
|
-
)
|
|
2015
|
-
rawset(self, "onUnitInRange", onUnitInRange)
|
|
2016
|
-
return onUnitInRange
|
|
2017
|
-
end},
|
|
2018
|
-
true
|
|
2019
|
-
)
|
|
2020
1999
|
__TS__SetDescriptor(
|
|
2021
2000
|
Unit.prototype,
|
|
2022
2001
|
"onManaEqual",
|
|
@@ -2152,6 +2131,11 @@ __TS__SetDescriptor(
|
|
|
2152
2131
|
end},
|
|
2153
2132
|
true
|
|
2154
2133
|
)
|
|
2134
|
+
Unit.levelChangedEvent = __TS__New(
|
|
2135
|
+
____exports.UnitTriggerEvent,
|
|
2136
|
+
EVENT_PLAYER_HERO_LEVEL,
|
|
2137
|
+
function() return ____exports.Unit:of(getTriggerUnit()) end
|
|
2138
|
+
)
|
|
2155
2139
|
Unit.deathEvent = __TS__New(
|
|
2156
2140
|
____exports.UnitTriggerEvent,
|
|
2157
2141
|
EVENT_PLAYER_UNIT_DEATH,
|
|
@@ -2169,7 +2153,7 @@ Unit.onResurrect = __TS__New(
|
|
|
2169
2153
|
____exports.Unit.deathEvent:addListener(function(unit)
|
|
2170
2154
|
dead[unit] = true
|
|
2171
2155
|
end)
|
|
2172
|
-
____exports.Unit.onImmediateOrder[
|
|
2156
|
+
____exports.Unit.onImmediateOrder[852056]:addListener(function(unit)
|
|
2173
2157
|
if dead[unit] and not IsUnitType(unit.handle, UNIT_TYPE_DEAD) then
|
|
2174
2158
|
dead[unit] = false
|
|
2175
2159
|
invoke(event, unit)
|
|
@@ -2186,7 +2170,7 @@ Unit.morphEvent = __TS__New(
|
|
|
2186
2170
|
invoke(event, unit)
|
|
2187
2171
|
end
|
|
2188
2172
|
end
|
|
2189
|
-
____exports.Unit.onImmediateOrder[
|
|
2173
|
+
____exports.Unit.onImmediateOrder[852056]:addListener(function(unit)
|
|
2190
2174
|
if getUnitAbilityLevel(unit.handle, morphDetectAbilityId) == 0 then
|
|
2191
2175
|
Timer:run(ifNotLeft, unit)
|
|
2192
2176
|
end
|
|
@@ -2227,25 +2211,25 @@ Unit.onTargetCast = dispatchId(__TS__New(
|
|
|
2227
2211
|
InitializingEvent,
|
|
2228
2212
|
function(event)
|
|
2229
2213
|
local function listener(unit, id)
|
|
2230
|
-
local
|
|
2214
|
+
local ____GetSpellTargetUnit_result_11
|
|
2231
2215
|
if GetSpellTargetUnit() then
|
|
2232
|
-
|
|
2216
|
+
____GetSpellTargetUnit_result_11 = ____exports.Unit:of(GetSpellTargetUnit())
|
|
2233
2217
|
else
|
|
2234
|
-
local
|
|
2218
|
+
local ____GetSpellTargetItem_result_10
|
|
2235
2219
|
if GetSpellTargetItem() then
|
|
2236
|
-
|
|
2220
|
+
____GetSpellTargetItem_result_10 = Item:of(GetSpellTargetItem())
|
|
2237
2221
|
else
|
|
2238
|
-
local
|
|
2222
|
+
local ____GetSpellTargetDestructable_result_9
|
|
2239
2223
|
if GetSpellTargetDestructable() then
|
|
2240
|
-
|
|
2224
|
+
____GetSpellTargetDestructable_result_9 = Destructable:of(GetSpellTargetDestructable())
|
|
2241
2225
|
else
|
|
2242
|
-
|
|
2226
|
+
____GetSpellTargetDestructable_result_9 = nil
|
|
2243
2227
|
end
|
|
2244
|
-
|
|
2228
|
+
____GetSpellTargetItem_result_10 = ____GetSpellTargetDestructable_result_9
|
|
2245
2229
|
end
|
|
2246
|
-
|
|
2230
|
+
____GetSpellTargetUnit_result_11 = ____GetSpellTargetItem_result_10
|
|
2247
2231
|
end
|
|
2248
|
-
local target =
|
|
2232
|
+
local target = ____GetSpellTargetUnit_result_11
|
|
2249
2233
|
if target then
|
|
2250
2234
|
invoke(event, unit, id, target)
|
|
2251
2235
|
end
|
|
@@ -2468,12 +2452,7 @@ Unit.onDamaging = (function()
|
|
|
2468
2452
|
preventRetaliation = damagingEventPreventRetaliation
|
|
2469
2453
|
}
|
|
2470
2454
|
if data.isAttack and source then
|
|
2471
|
-
|
|
2472
|
-
if weapon == -1 then
|
|
2473
|
-
local targetsAllowed = BlzGetUnitWeaponIntegerField(source.handle, UNIT_WEAPON_IF_ATTACK_TARGETS_ALLOWED, 0)
|
|
2474
|
-
weapon = 0
|
|
2475
|
-
end
|
|
2476
|
-
data.weapon = assert(source.weapons[weapon + 1])
|
|
2455
|
+
data.weapon = source:chooseWeapon(target)
|
|
2477
2456
|
end
|
|
2478
2457
|
if not data.isAttack or not source or not source._attackHandlers then
|
|
2479
2458
|
invoke(
|
|
@@ -2618,7 +2597,7 @@ Unit.onDamage = __TS__New(
|
|
|
2618
2597
|
invoke(event, source, target, evData)
|
|
2619
2598
|
if evData[0] ~= nil and target.health - evData.amount < 0.405 then
|
|
2620
2599
|
local bonusHealth = math.ceil(evData.amount)
|
|
2621
|
-
target[
|
|
2600
|
+
target[106] = (target[106] or 0) + bonusHealth
|
|
2622
2601
|
BlzSetUnitMaxHP(
|
|
2623
2602
|
target.handle,
|
|
2624
2603
|
BlzGetUnitMaxHP(target.handle) + bonusHealth
|
|
@@ -2632,7 +2611,7 @@ Unit.onDamage = __TS__New(
|
|
|
2632
2611
|
evData[0],
|
|
2633
2612
|
table.unpack(evData, 1 + 1, 1 + (evData[1] or 0))
|
|
2634
2613
|
)
|
|
2635
|
-
target[
|
|
2614
|
+
target[106] = (target[106] or 0) - bonusHealth
|
|
2636
2615
|
SetWidgetLife(
|
|
2637
2616
|
target.handle,
|
|
2638
2617
|
GetWidgetLife(target.handle) - bonusHealth
|
|
@@ -2658,7 +2637,7 @@ Unit.itemDroppedEvent = __TS__New(
|
|
|
2658
2637
|
function()
|
|
2659
2638
|
local unit = getTriggerUnit()
|
|
2660
2639
|
local item = getManipulatedItem()
|
|
2661
|
-
if getUnitTypeId(unit) ~= dummyUnitId and not (
|
|
2640
|
+
if getUnitTypeId(unit) ~= dummyUnitId and not isItemIgnoredInEvents(item) then
|
|
2662
2641
|
return ____exports.Unit:of(unit), Item:of(item)
|
|
2663
2642
|
end
|
|
2664
2643
|
return IgnoreEvent
|
|
@@ -2670,10 +2649,10 @@ Unit.itemPickedUpEvent = __TS__New(
|
|
|
2670
2649
|
function()
|
|
2671
2650
|
local unitHandle = getTriggerUnit()
|
|
2672
2651
|
local itemHandle = getManipulatedItem()
|
|
2673
|
-
if getUnitTypeId(unitHandle) ~= dummyUnitId and not (
|
|
2652
|
+
if getUnitTypeId(unitHandle) ~= dummyUnitId and not isItemIgnoredInEvents(itemHandle) then
|
|
2674
2653
|
local unit = ____exports.Unit:of(unitHandle)
|
|
2675
2654
|
local item = Item:of(itemHandle)
|
|
2676
|
-
if item
|
|
2655
|
+
if ownerByItem[item] ~= unit then
|
|
2677
2656
|
return unit, item
|
|
2678
2657
|
end
|
|
2679
2658
|
end
|
|
@@ -2686,17 +2665,12 @@ Unit.itemUsedEvent = __TS__New(
|
|
|
2686
2665
|
function()
|
|
2687
2666
|
local unit = getTriggerUnit()
|
|
2688
2667
|
local item = getManipulatedItem()
|
|
2689
|
-
if getUnitTypeId(unit) ~= dummyUnitId and not (
|
|
2668
|
+
if getUnitTypeId(unit) ~= dummyUnitId and not isItemIgnoredInEvents(item) then
|
|
2690
2669
|
return ____exports.Unit:of(unit), Item:of(item)
|
|
2691
2670
|
end
|
|
2692
2671
|
return IgnoreEvent
|
|
2693
2672
|
end
|
|
2694
2673
|
)
|
|
2695
|
-
Unit.itemStackedEvent = __TS__New(
|
|
2696
|
-
____exports.UnitTriggerEvent,
|
|
2697
|
-
EVENT_PLAYER_UNIT_STACK_ITEM,
|
|
2698
|
-
function() return ____exports.Unit:of(getTriggerUnit()), Item:of(BlzGetStackingItemTarget()), Item:of(BlzGetStackingItemSource()) end
|
|
2699
|
-
)
|
|
2700
2674
|
__TS__ObjectDefineProperty(
|
|
2701
2675
|
Unit,
|
|
2702
2676
|
"itemChargesChangedEvent",
|
|
@@ -2712,51 +2686,6 @@ __TS__ObjectDefineProperty(
|
|
|
2712
2686
|
return event
|
|
2713
2687
|
end}
|
|
2714
2688
|
)
|
|
2715
|
-
__TS__ObjectDefineProperty(
|
|
2716
|
-
Unit,
|
|
2717
|
-
"itemUseOrderEvent",
|
|
2718
|
-
{get = function(self)
|
|
2719
|
-
local event = __TS__New(Event)
|
|
2720
|
-
for order = orderId("useslot0"), orderId("useslot5") do
|
|
2721
|
-
local slot = order - orderId("useslot0")
|
|
2722
|
-
local function listener(unit)
|
|
2723
|
-
local item = unit.items[slot + 1]
|
|
2724
|
-
if item ~= nil then
|
|
2725
|
-
invoke(event, unit, item)
|
|
2726
|
-
end
|
|
2727
|
-
end
|
|
2728
|
-
self.onImmediateOrder[order]:addListener(listener)
|
|
2729
|
-
self.onTargetOrder[order]:addListener(listener)
|
|
2730
|
-
self.onPointOrder[order]:addListener(listener)
|
|
2731
|
-
end
|
|
2732
|
-
rawset(self, "itemUseOrderEvent", event)
|
|
2733
|
-
return event
|
|
2734
|
-
end}
|
|
2735
|
-
)
|
|
2736
|
-
__TS__ObjectDefineProperty(
|
|
2737
|
-
Unit,
|
|
2738
|
-
"itemMoveOrderEvent",
|
|
2739
|
-
{get = function(self)
|
|
2740
|
-
local event = __TS__New(Event)
|
|
2741
|
-
for order = orderId("moveslot0"), orderId("moveslot5") do
|
|
2742
|
-
local slotTo = order - orderId("moveslot0")
|
|
2743
|
-
self.onTargetOrder[order]:addListener(function(unit, item)
|
|
2744
|
-
local slotFrom = unit.items:findSlot(item)
|
|
2745
|
-
if slotFrom ~= nil then
|
|
2746
|
-
invoke(
|
|
2747
|
-
event,
|
|
2748
|
-
unit,
|
|
2749
|
-
item,
|
|
2750
|
-
slotFrom,
|
|
2751
|
-
slotTo
|
|
2752
|
-
)
|
|
2753
|
-
end
|
|
2754
|
-
end)
|
|
2755
|
-
end
|
|
2756
|
-
rawset(self, "itemMoveOrderEvent", event)
|
|
2757
|
-
return event
|
|
2758
|
-
end}
|
|
2759
|
-
)
|
|
2760
2689
|
__TS__ObjectDefineProperty(
|
|
2761
2690
|
Unit,
|
|
2762
2691
|
"onCreate",
|
|
@@ -2782,6 +2711,10 @@ __TS__ObjectDefineProperty(
|
|
|
2782
2711
|
rawset(self, "destroyEvent", destroyEvent)
|
|
2783
2712
|
return destroyEvent
|
|
2784
2713
|
end}
|
|
2714
|
+
)
|
|
2715
|
+
Unit.synchronize = synchronizer(
|
|
2716
|
+
function(unit) return unit.syncId end,
|
|
2717
|
+
function(syncId) return unitBySyncId[syncId] end
|
|
2785
2718
|
);
|
|
2786
2719
|
(function(self)
|
|
2787
2720
|
local leaveAbilityIds = postcompile(function()
|
|
@@ -2799,11 +2732,7 @@ __TS__ObjectDefineProperty(
|
|
|
2799
2732
|
function(____, id) return fourCC(id) end
|
|
2800
2733
|
)
|
|
2801
2734
|
end)
|
|
2802
|
-
for ____, leaveOrderId in ipairs({
|
|
2803
|
-
orderId("undefend"),
|
|
2804
|
-
orderId("magicundefense"),
|
|
2805
|
-
orderId("unimmolation")
|
|
2806
|
-
}) do
|
|
2735
|
+
for ____, leaveOrderId in ipairs({852056, 852479, 852178}) do
|
|
2807
2736
|
____exports.Unit.onImmediateOrder[leaveOrderId]:addListener(function(unit)
|
|
2808
2737
|
local handle = unit.handle
|
|
2809
2738
|
for i = 1, #leaveAbilityIds do
|
|
@@ -2811,7 +2740,8 @@ __TS__ObjectDefineProperty(
|
|
|
2811
2740
|
return
|
|
2812
2741
|
end
|
|
2813
2742
|
end
|
|
2814
|
-
unit:
|
|
2743
|
+
unit:saveData()
|
|
2744
|
+
Timer:run(unit, "destroy")
|
|
2815
2745
|
end)
|
|
2816
2746
|
end
|
|
2817
2747
|
end)(Unit)
|