warscript 0.0.1-dev.83ffb73 → 0.0.1-dev.8466737
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 +16 -2
- package/core/types/frame.lua +141 -77
- 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 +18 -1
- package/core/types/player.lua +76 -26
- package/core/types/playerCamera.d.ts +2 -0
- package/core/types/playerCamera.lua +123 -5
- 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 +18 -3
- package/core/types/tileCell.lua +108 -0
- package/core/types/timer.d.ts +3 -2
- package/core/types/timer.lua +22 -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 +707 -9
- package/destroyable.d.ts +1 -0
- package/destroyable.lua +9 -0
- package/engine/behavior.d.ts +12 -1
- package/engine/behavior.lua +199 -65
- 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.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/remove-buffs.d.ts +9 -0
- package/engine/behaviour/ability/remove-buffs.lua +21 -0
- package/engine/behaviour/ability/restore-mana.d.ts +1 -1
- package/engine/behaviour/ability/restore-mana.lua +6 -6
- package/engine/behaviour/ability.d.ts +13 -6
- package/engine/behaviour/ability.lua +56 -1
- 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 +16 -5
- package/engine/behaviour/unit.lua +127 -22
- package/engine/buff.d.ts +73 -27
- package/engine/buff.lua +424 -193
- package/engine/index.d.ts +2 -1
- package/engine/internal/ability.d.ts +10 -1
- package/engine/internal/ability.lua +91 -45
- 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 +37 -8
- package/engine/internal/item.d.ts +27 -14
- package/engine/internal/item.lua +185 -82
- package/engine/internal/mechanics/cast-ability.lua +6 -3
- package/engine/internal/misc/frame-coordinates.lua +21 -0
- package/engine/internal/misc/get-terrain-z.d.ts +2 -0
- package/engine/internal/misc/get-terrain-z.lua +11 -0
- package/engine/internal/misc/player-local-handle.d.ts +2 -0
- package/engine/internal/misc/player-local-handle.lua +5 -0
- package/engine/internal/misc/unit-ability-level-natives.d.ts +2 -0
- package/engine/internal/misc/unit-ability-level-natives.lua +12 -0
- package/engine/internal/object-data/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.d.ts +14 -14
- package/engine/internal/unit/ability.lua +86 -47
- 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.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/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.d.ts +7 -0
- package/engine/internal/unit/scale.lua +20 -0
- package/engine/internal/unit+ability.d.ts +2 -1
- package/engine/internal/unit+ability.lua +73 -3
- 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 +65 -27
- package/engine/internal/unit.d.ts +19 -31
- package/engine/internal/unit.lua +225 -296
- 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/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/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/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/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 +25 -6
- package/engine/object-data/entry/ability-type.lua +248 -9
- 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 +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 +51 -2
- package/engine/object-data/entry/unit-type.lua +415 -37
- 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.d.ts +3 -3
- package/engine/object-field/ability.lua +9 -8
- 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 +12 -4
- package/engine/object-field.lua +273 -126
- package/engine/random.d.ts +10 -0
- package/engine/random.lua +21 -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 +2 -2
- package/engine/standard/fields/ability.lua +2 -2
- 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 +1 -1
- package/engine/text-tag.lua +92 -17
- package/engine/unit.d.ts +10 -1
- package/engine/unit.lua +10 -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/patch-lualib.lua +1 -1
- package/utility/arrays.d.ts +8 -1
- package/utility/arrays.lua +25 -0
- package/utility/callback-array.d.ts +17 -0
- package/utility/callback-array.lua +61 -0
- package/utility/functions.d.ts +2 -0
- package/utility/functions.lua +7 -0
- 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/lua-sets.d.ts +1 -0
- package/utility/lua-sets.lua +4 -0
- 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/frame-coordinates.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(target, 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(
|
|
@@ -935,23 +989,21 @@ end
|
|
|
935
989
|
function Unit.prototype.hasAbility(self, abilityId)
|
|
936
990
|
return getUnitAbilityLevel(self.handle, abilityId) > 0
|
|
937
991
|
end
|
|
938
|
-
function Unit.prototype.
|
|
992
|
+
function Unit.prototype.getAbility(self, abilityId)
|
|
939
993
|
local ability = doUnitAbilityAction(self.handle, abilityId, getUnitAbility, abilityId)
|
|
940
994
|
return UnitAbility:of(ability, abilityId, self)
|
|
941
995
|
end
|
|
942
|
-
function Unit.prototype.removeAbility(self,
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
end
|
|
996
|
+
function Unit.prototype.removeAbility(self, abilityTypeId)
|
|
997
|
+
local abilities = self.abilities
|
|
998
|
+
for i = 1, #abilities do
|
|
999
|
+
if abilities[i].typeId == abilityTypeId then
|
|
1000
|
+
local ability = abilities[i]
|
|
1001
|
+
tremove(abilities, i)
|
|
1002
|
+
ability:destroy()
|
|
1003
|
+
return true
|
|
951
1004
|
end
|
|
952
|
-
return true
|
|
953
1005
|
end
|
|
954
|
-
return
|
|
1006
|
+
return doUnitAbilityAction(self.handle, abilityTypeId, unitRemoveAbility, abilityTypeId)
|
|
955
1007
|
end
|
|
956
1008
|
function Unit.prototype.hideAbility(self, abilityId, flag)
|
|
957
1009
|
BlzUnitHideAbility(self.handle, abilityId, flag)
|
|
@@ -965,24 +1017,6 @@ end
|
|
|
965
1017
|
function Unit.prototype.endAbilityCooldown(self, abilityId)
|
|
966
1018
|
BlzEndUnitAbilityCooldown(self.handle, abilityId)
|
|
967
1019
|
end
|
|
968
|
-
function Unit.prototype.interruptMovement(self)
|
|
969
|
-
local handle = self.handle
|
|
970
|
-
unitDisableAbility(
|
|
971
|
-
handle,
|
|
972
|
-
fourCC("Amov"),
|
|
973
|
-
true,
|
|
974
|
-
false
|
|
975
|
-
)
|
|
976
|
-
unitDisableAbility(
|
|
977
|
-
handle,
|
|
978
|
-
fourCC("Amov"),
|
|
979
|
-
false,
|
|
980
|
-
false
|
|
981
|
-
)
|
|
982
|
-
end
|
|
983
|
-
function Unit.prototype.interruptAttack(self)
|
|
984
|
-
unitInterruptAttack(self.handle)
|
|
985
|
-
end
|
|
986
1020
|
function Unit.prototype.interruptCast(self, abilityId)
|
|
987
1021
|
local handle = self.handle
|
|
988
1022
|
unitDisableAbility(handle, abilityId, true, false)
|
|
@@ -1053,18 +1087,44 @@ function Unit.prototype.unpauseEx(self)
|
|
|
1053
1087
|
end
|
|
1054
1088
|
function Unit.prototype.incrementStunCounter(self)
|
|
1055
1089
|
local stunCounter = self[102] or 0
|
|
1056
|
-
if not self[101] or stunCounter >= 0 then
|
|
1090
|
+
if not self[101] and (self[103] or 0) <= 0 or stunCounter >= 0 then
|
|
1057
1091
|
BlzPauseUnitEx(self.handle, true)
|
|
1058
1092
|
end
|
|
1059
1093
|
self[102] = stunCounter + 1
|
|
1060
1094
|
end
|
|
1061
1095
|
function Unit.prototype.decrementStunCounter(self)
|
|
1062
1096
|
local stunCounter = self[102] or 0
|
|
1063
|
-
if not self[101] or stunCounter >= 1 then
|
|
1097
|
+
if not self[101] and (self[103] or 0) <= 0 or stunCounter >= 1 then
|
|
1064
1098
|
BlzPauseUnitEx(self.handle, false)
|
|
1065
1099
|
end
|
|
1066
1100
|
self[102] = stunCounter - 1
|
|
1067
1101
|
end
|
|
1102
|
+
function Unit.prototype.incrementForceStunCounter(self)
|
|
1103
|
+
local forceStunCounter = self[103] or 0
|
|
1104
|
+
if forceStunCounter == 0 then
|
|
1105
|
+
local handle = self.handle
|
|
1106
|
+
if not self[101] then
|
|
1107
|
+
for _ = self[102] or 0, -1 do
|
|
1108
|
+
BlzPauseUnitEx(handle, true)
|
|
1109
|
+
end
|
|
1110
|
+
end
|
|
1111
|
+
BlzPauseUnitEx(handle, true)
|
|
1112
|
+
end
|
|
1113
|
+
self[103] = forceStunCounter + 1
|
|
1114
|
+
end
|
|
1115
|
+
function Unit.prototype.decrementForceStunCounter(self)
|
|
1116
|
+
local forceStunCounter = self[103] or 0
|
|
1117
|
+
if forceStunCounter == 1 then
|
|
1118
|
+
local handle = self.handle
|
|
1119
|
+
if not self[101] then
|
|
1120
|
+
for _ = self[102] or 0, -1 do
|
|
1121
|
+
BlzPauseUnitEx(handle, false)
|
|
1122
|
+
end
|
|
1123
|
+
end
|
|
1124
|
+
BlzPauseUnitEx(handle, false)
|
|
1125
|
+
end
|
|
1126
|
+
self[103] = forceStunCounter - 1
|
|
1127
|
+
end
|
|
1068
1128
|
function Unit.create(self, owner, id, x, y, facing, skinId)
|
|
1069
1129
|
local handle = skinId and BlzCreateUnitWithSkin(
|
|
1070
1130
|
owner.handle,
|
|
@@ -1261,7 +1321,7 @@ __TS__SetDescriptor(
|
|
|
1261
1321
|
Unit.prototype,
|
|
1262
1322
|
"isStunned",
|
|
1263
1323
|
{get = function(self)
|
|
1264
|
-
return getUnitCurrentOrder(self.handle) ==
|
|
1324
|
+
return getUnitCurrentOrder(self.handle) == 851973
|
|
1265
1325
|
end},
|
|
1266
1326
|
true
|
|
1267
1327
|
)
|
|
@@ -1351,19 +1411,6 @@ __TS__SetDescriptor(
|
|
|
1351
1411
|
},
|
|
1352
1412
|
true
|
|
1353
1413
|
)
|
|
1354
|
-
__TS__SetDescriptor(
|
|
1355
|
-
Unit.prototype,
|
|
1356
|
-
"strengthBase",
|
|
1357
|
-
{
|
|
1358
|
-
get = function(self)
|
|
1359
|
-
return getHeroStr(self.handle, false)
|
|
1360
|
-
end,
|
|
1361
|
-
set = function(self, strengthBase)
|
|
1362
|
-
setHeroStr(self.handle, strengthBase, true)
|
|
1363
|
-
end
|
|
1364
|
-
},
|
|
1365
|
-
true
|
|
1366
|
-
)
|
|
1367
1414
|
__TS__SetDescriptor(
|
|
1368
1415
|
Unit.prototype,
|
|
1369
1416
|
"strengthBonus",
|
|
@@ -1381,19 +1428,6 @@ __TS__SetDescriptor(
|
|
|
1381
1428
|
end},
|
|
1382
1429
|
true
|
|
1383
1430
|
)
|
|
1384
|
-
__TS__SetDescriptor(
|
|
1385
|
-
Unit.prototype,
|
|
1386
|
-
"agilityBase",
|
|
1387
|
-
{
|
|
1388
|
-
get = function(self)
|
|
1389
|
-
return getHeroAgi(self.handle, false)
|
|
1390
|
-
end,
|
|
1391
|
-
set = function(self, agilityBase)
|
|
1392
|
-
setHeroAgi(self.handle, agilityBase, true)
|
|
1393
|
-
end
|
|
1394
|
-
},
|
|
1395
|
-
true
|
|
1396
|
-
)
|
|
1397
1431
|
__TS__SetDescriptor(
|
|
1398
1432
|
Unit.prototype,
|
|
1399
1433
|
"agilityBonus",
|
|
@@ -1411,19 +1445,6 @@ __TS__SetDescriptor(
|
|
|
1411
1445
|
end},
|
|
1412
1446
|
true
|
|
1413
1447
|
)
|
|
1414
|
-
__TS__SetDescriptor(
|
|
1415
|
-
Unit.prototype,
|
|
1416
|
-
"intelligenceBase",
|
|
1417
|
-
{
|
|
1418
|
-
get = function(self)
|
|
1419
|
-
return getHeroInt(self.handle, false)
|
|
1420
|
-
end,
|
|
1421
|
-
set = function(self, intelligenceBase)
|
|
1422
|
-
setHeroInt(self.handle, intelligenceBase, true)
|
|
1423
|
-
end
|
|
1424
|
-
},
|
|
1425
|
-
true
|
|
1426
|
-
)
|
|
1427
1448
|
__TS__SetDescriptor(
|
|
1428
1449
|
Unit.prototype,
|
|
1429
1450
|
"intelligenceBonus",
|
|
@@ -1472,17 +1493,17 @@ __TS__SetDescriptor(
|
|
|
1472
1493
|
"isTeamGlowVisible",
|
|
1473
1494
|
{
|
|
1474
1495
|
get = function(self)
|
|
1475
|
-
return not self[
|
|
1496
|
+
return not self[107]
|
|
1476
1497
|
end,
|
|
1477
1498
|
set = function(self, isTeamGlowVisible)
|
|
1478
1499
|
BlzShowUnitTeamGlow(self.handle, isTeamGlowVisible)
|
|
1479
|
-
local
|
|
1500
|
+
local ____temp_8
|
|
1480
1501
|
if not isTeamGlowVisible then
|
|
1481
|
-
|
|
1502
|
+
____temp_8 = true
|
|
1482
1503
|
else
|
|
1483
|
-
|
|
1504
|
+
____temp_8 = nil
|
|
1484
1505
|
end
|
|
1485
|
-
self[
|
|
1506
|
+
self[107] = ____temp_8
|
|
1486
1507
|
end
|
|
1487
1508
|
},
|
|
1488
1509
|
true
|
|
@@ -1492,7 +1513,7 @@ __TS__SetDescriptor(
|
|
|
1492
1513
|
"color",
|
|
1493
1514
|
{set = function(self, color)
|
|
1494
1515
|
SetUnitColor(self.handle, color.handle)
|
|
1495
|
-
if self[
|
|
1516
|
+
if self[107] then
|
|
1496
1517
|
BlzShowUnitTeamGlow(self.handle, false)
|
|
1497
1518
|
end
|
|
1498
1519
|
end},
|
|
@@ -1516,14 +1537,14 @@ __TS__SetDescriptor(
|
|
|
1516
1537
|
"maxHealth",
|
|
1517
1538
|
{
|
|
1518
1539
|
get = function(self)
|
|
1519
|
-
return BlzGetUnitMaxHP(self.handle) - (self[
|
|
1540
|
+
return BlzGetUnitMaxHP(self.handle) - (self[105] or 0) - (self[106] or 0)
|
|
1520
1541
|
end,
|
|
1521
1542
|
set = function(self, maxHealth)
|
|
1522
|
-
if maxHealth < 1 and self[
|
|
1523
|
-
self[
|
|
1543
|
+
if maxHealth < 1 and self[104] ~= nil then
|
|
1544
|
+
self[105] = (self[105] or 0) + (1 - maxHealth)
|
|
1524
1545
|
maxHealth = 1
|
|
1525
1546
|
end
|
|
1526
|
-
BlzSetUnitMaxHP(self.handle, maxHealth + (self[
|
|
1547
|
+
BlzSetUnitMaxHP(self.handle, maxHealth + (self[106] or 0))
|
|
1527
1548
|
end
|
|
1528
1549
|
},
|
|
1529
1550
|
true
|
|
@@ -1565,10 +1586,10 @@ __TS__SetDescriptor(
|
|
|
1565
1586
|
"health",
|
|
1566
1587
|
{
|
|
1567
1588
|
get = function(self)
|
|
1568
|
-
return GetWidgetLife(self.handle) - (self[
|
|
1589
|
+
return GetWidgetLife(self.handle) - (self[106] or 0)
|
|
1569
1590
|
end,
|
|
1570
1591
|
set = function(self, health)
|
|
1571
|
-
SetWidgetLife(self.handle, health + (self[
|
|
1592
|
+
SetWidgetLife(self.handle, health + (self[106] or 0))
|
|
1572
1593
|
end
|
|
1573
1594
|
},
|
|
1574
1595
|
true
|
|
@@ -1644,25 +1665,12 @@ __TS__SetDescriptor(
|
|
|
1644
1665
|
},
|
|
1645
1666
|
true
|
|
1646
1667
|
)
|
|
1647
|
-
__TS__SetDescriptor(
|
|
1648
|
-
Unit.prototype,
|
|
1649
|
-
"flyHeight",
|
|
1650
|
-
{
|
|
1651
|
-
get = function(self)
|
|
1652
|
-
return getUnitFlyHeight(self.handle)
|
|
1653
|
-
end,
|
|
1654
|
-
set = function(self, v)
|
|
1655
|
-
SetUnitFlyHeight(self.handle, v, 100000)
|
|
1656
|
-
end
|
|
1657
|
-
},
|
|
1658
|
-
true
|
|
1659
|
-
)
|
|
1660
1668
|
__TS__SetDescriptor(
|
|
1661
1669
|
Unit.prototype,
|
|
1662
1670
|
"x",
|
|
1663
1671
|
{
|
|
1664
1672
|
get = function(self)
|
|
1665
|
-
return self[
|
|
1673
|
+
return self[108] or getUnitX(self.handle)
|
|
1666
1674
|
end,
|
|
1667
1675
|
set = function(self, v)
|
|
1668
1676
|
SetUnitX(self.handle, v)
|
|
@@ -1675,7 +1683,7 @@ __TS__SetDescriptor(
|
|
|
1675
1683
|
"y",
|
|
1676
1684
|
{
|
|
1677
1685
|
get = function(self)
|
|
1678
|
-
return self[
|
|
1686
|
+
return self[109] or getUnitY(self.handle)
|
|
1679
1687
|
end,
|
|
1680
1688
|
set = function(self, v)
|
|
1681
1689
|
SetUnitY(self.handle, v)
|
|
@@ -1780,14 +1788,18 @@ __TS__SetDescriptor(
|
|
|
1780
1788
|
local handle = self.handle
|
|
1781
1789
|
if isPaused and not IsUnitPaused(handle) then
|
|
1782
1790
|
self[101] = true
|
|
1783
|
-
|
|
1784
|
-
|
|
1791
|
+
if (self[103] or 0) <= 0 then
|
|
1792
|
+
for _ = self[102] or 0, -1 do
|
|
1793
|
+
BlzPauseUnitEx(handle, true)
|
|
1794
|
+
end
|
|
1785
1795
|
end
|
|
1786
1796
|
PauseUnit(handle, true)
|
|
1787
1797
|
elseif not isPaused and IsUnitPaused(handle) then
|
|
1788
1798
|
PauseUnit(handle, false)
|
|
1789
|
-
|
|
1790
|
-
|
|
1799
|
+
if (self[103] or 0) <= 0 then
|
|
1800
|
+
for _ = self[102] or 0, -1 do
|
|
1801
|
+
BlzPauseUnitEx(handle, false)
|
|
1802
|
+
end
|
|
1791
1803
|
end
|
|
1792
1804
|
self[101] = nil
|
|
1793
1805
|
end
|
|
@@ -1845,20 +1857,6 @@ __TS__SetDescriptor(
|
|
|
1845
1857
|
},
|
|
1846
1858
|
true
|
|
1847
1859
|
)
|
|
1848
|
-
__TS__SetDescriptor(
|
|
1849
|
-
Unit.prototype,
|
|
1850
|
-
"scale",
|
|
1851
|
-
{
|
|
1852
|
-
get = function(self)
|
|
1853
|
-
return getUnitRealField(self.handle, UNIT_RF_SCALING_VALUE)
|
|
1854
|
-
end,
|
|
1855
|
-
set = function(self, v)
|
|
1856
|
-
setUnitScale(self.handle, v, v, v)
|
|
1857
|
-
setUnitRealField(self.handle, UNIT_RF_SCALING_VALUE, v)
|
|
1858
|
-
end
|
|
1859
|
-
},
|
|
1860
|
-
true
|
|
1861
|
-
)
|
|
1862
1860
|
__TS__SetDescriptor(
|
|
1863
1861
|
Unit.prototype,
|
|
1864
1862
|
"timeScale",
|
|
@@ -1885,7 +1883,7 @@ __TS__SetDescriptor(
|
|
|
1885
1883
|
Unit.prototype,
|
|
1886
1884
|
"pathingCollisionRange",
|
|
1887
1885
|
{get = function(self)
|
|
1888
|
-
return 16 * (min(
|
|
1886
|
+
return 16 * (math.min(
|
|
1889
1887
|
getUnitCollisionSize(self.handle) // 16,
|
|
1890
1888
|
3
|
|
1891
1889
|
) + 1)
|
|
@@ -1995,30 +1993,6 @@ __TS__SetDescriptor(
|
|
|
1995
1993
|
end},
|
|
1996
1994
|
true
|
|
1997
1995
|
)
|
|
1998
|
-
__TS__SetDescriptor(
|
|
1999
|
-
Unit.prototype,
|
|
2000
|
-
"onUnitInRange",
|
|
2001
|
-
{get = function(self)
|
|
2002
|
-
local handle = self.handle
|
|
2003
|
-
local onUnitInRange = setmetatable(
|
|
2004
|
-
{},
|
|
2005
|
-
{__index = function(self, value)
|
|
2006
|
-
local event = __TS__New(
|
|
2007
|
-
TriggerEvent,
|
|
2008
|
-
function(trigger)
|
|
2009
|
-
TriggerRegisterUnitInRangeSimple(trigger, value, handle)
|
|
2010
|
-
end,
|
|
2011
|
-
function() return ____exports.Unit:of(handle) end
|
|
2012
|
-
)
|
|
2013
|
-
rawset(self, value, event)
|
|
2014
|
-
return event
|
|
2015
|
-
end}
|
|
2016
|
-
)
|
|
2017
|
-
rawset(self, "onUnitInRange", onUnitInRange)
|
|
2018
|
-
return onUnitInRange
|
|
2019
|
-
end},
|
|
2020
|
-
true
|
|
2021
|
-
)
|
|
2022
1996
|
__TS__SetDescriptor(
|
|
2023
1997
|
Unit.prototype,
|
|
2024
1998
|
"onManaEqual",
|
|
@@ -2154,6 +2128,11 @@ __TS__SetDescriptor(
|
|
|
2154
2128
|
end},
|
|
2155
2129
|
true
|
|
2156
2130
|
)
|
|
2131
|
+
Unit.levelChangedEvent = __TS__New(
|
|
2132
|
+
____exports.UnitTriggerEvent,
|
|
2133
|
+
EVENT_PLAYER_HERO_LEVEL,
|
|
2134
|
+
function() return ____exports.Unit:of(getTriggerUnit()) end
|
|
2135
|
+
)
|
|
2157
2136
|
Unit.deathEvent = __TS__New(
|
|
2158
2137
|
____exports.UnitTriggerEvent,
|
|
2159
2138
|
EVENT_PLAYER_UNIT_DEATH,
|
|
@@ -2171,7 +2150,7 @@ Unit.onResurrect = __TS__New(
|
|
|
2171
2150
|
____exports.Unit.deathEvent:addListener(function(unit)
|
|
2172
2151
|
dead[unit] = true
|
|
2173
2152
|
end)
|
|
2174
|
-
____exports.Unit.onImmediateOrder[
|
|
2153
|
+
____exports.Unit.onImmediateOrder[852056]:addListener(function(unit)
|
|
2175
2154
|
if dead[unit] and not IsUnitType(unit.handle, UNIT_TYPE_DEAD) then
|
|
2176
2155
|
dead[unit] = false
|
|
2177
2156
|
invoke(event, unit)
|
|
@@ -2188,7 +2167,7 @@ Unit.morphEvent = __TS__New(
|
|
|
2188
2167
|
invoke(event, unit)
|
|
2189
2168
|
end
|
|
2190
2169
|
end
|
|
2191
|
-
____exports.Unit.onImmediateOrder[
|
|
2170
|
+
____exports.Unit.onImmediateOrder[852056]:addListener(function(unit)
|
|
2192
2171
|
if getUnitAbilityLevel(unit.handle, morphDetectAbilityId) == 0 then
|
|
2193
2172
|
Timer:run(ifNotLeft, unit)
|
|
2194
2173
|
end
|
|
@@ -2229,25 +2208,25 @@ Unit.onTargetCast = dispatchId(__TS__New(
|
|
|
2229
2208
|
InitializingEvent,
|
|
2230
2209
|
function(event)
|
|
2231
2210
|
local function listener(unit, id)
|
|
2232
|
-
local
|
|
2211
|
+
local ____GetSpellTargetUnit_result_11
|
|
2233
2212
|
if GetSpellTargetUnit() then
|
|
2234
|
-
|
|
2213
|
+
____GetSpellTargetUnit_result_11 = ____exports.Unit:of(GetSpellTargetUnit())
|
|
2235
2214
|
else
|
|
2236
|
-
local
|
|
2215
|
+
local ____GetSpellTargetItem_result_10
|
|
2237
2216
|
if GetSpellTargetItem() then
|
|
2238
|
-
|
|
2217
|
+
____GetSpellTargetItem_result_10 = Item:of(GetSpellTargetItem())
|
|
2239
2218
|
else
|
|
2240
|
-
local
|
|
2219
|
+
local ____GetSpellTargetDestructable_result_9
|
|
2241
2220
|
if GetSpellTargetDestructable() then
|
|
2242
|
-
|
|
2221
|
+
____GetSpellTargetDestructable_result_9 = Destructable:of(GetSpellTargetDestructable())
|
|
2243
2222
|
else
|
|
2244
|
-
|
|
2223
|
+
____GetSpellTargetDestructable_result_9 = nil
|
|
2245
2224
|
end
|
|
2246
|
-
|
|
2225
|
+
____GetSpellTargetItem_result_10 = ____GetSpellTargetDestructable_result_9
|
|
2247
2226
|
end
|
|
2248
|
-
|
|
2227
|
+
____GetSpellTargetUnit_result_11 = ____GetSpellTargetItem_result_10
|
|
2249
2228
|
end
|
|
2250
|
-
local target =
|
|
2229
|
+
local target = ____GetSpellTargetUnit_result_11
|
|
2251
2230
|
if target then
|
|
2252
2231
|
invoke(event, unit, id, target)
|
|
2253
2232
|
end
|
|
@@ -2470,12 +2449,7 @@ Unit.onDamaging = (function()
|
|
|
2470
2449
|
preventRetaliation = damagingEventPreventRetaliation
|
|
2471
2450
|
}
|
|
2472
2451
|
if data.isAttack and source then
|
|
2473
|
-
|
|
2474
|
-
if weapon == -1 then
|
|
2475
|
-
local targetsAllowed = BlzGetUnitWeaponIntegerField(source.handle, UNIT_WEAPON_IF_ATTACK_TARGETS_ALLOWED, 0)
|
|
2476
|
-
weapon = 0
|
|
2477
|
-
end
|
|
2478
|
-
data.weapon = assert(source.weapons[weapon + 1])
|
|
2452
|
+
data.weapon = source:chooseWeapon(target)
|
|
2479
2453
|
end
|
|
2480
2454
|
if not data.isAttack or not source or not source._attackHandlers then
|
|
2481
2455
|
invoke(
|
|
@@ -2620,7 +2594,7 @@ Unit.onDamage = __TS__New(
|
|
|
2620
2594
|
invoke(event, source, target, evData)
|
|
2621
2595
|
if evData[0] ~= nil and target.health - evData.amount < 0.405 then
|
|
2622
2596
|
local bonusHealth = math.ceil(evData.amount)
|
|
2623
|
-
target[
|
|
2597
|
+
target[106] = (target[106] or 0) + bonusHealth
|
|
2624
2598
|
BlzSetUnitMaxHP(
|
|
2625
2599
|
target.handle,
|
|
2626
2600
|
BlzGetUnitMaxHP(target.handle) + bonusHealth
|
|
@@ -2634,7 +2608,7 @@ Unit.onDamage = __TS__New(
|
|
|
2634
2608
|
evData[0],
|
|
2635
2609
|
table.unpack(evData, 1 + 1, 1 + (evData[1] or 0))
|
|
2636
2610
|
)
|
|
2637
|
-
target[
|
|
2611
|
+
target[106] = (target[106] or 0) - bonusHealth
|
|
2638
2612
|
SetWidgetLife(
|
|
2639
2613
|
target.handle,
|
|
2640
2614
|
GetWidgetLife(target.handle) - bonusHealth
|
|
@@ -2660,7 +2634,7 @@ Unit.itemDroppedEvent = __TS__New(
|
|
|
2660
2634
|
function()
|
|
2661
2635
|
local unit = getTriggerUnit()
|
|
2662
2636
|
local item = getManipulatedItem()
|
|
2663
|
-
if getUnitTypeId(unit) ~= dummyUnitId and not (
|
|
2637
|
+
if getUnitTypeId(unit) ~= dummyUnitId and not isItemIgnoredInEvents(item) then
|
|
2664
2638
|
return ____exports.Unit:of(unit), Item:of(item)
|
|
2665
2639
|
end
|
|
2666
2640
|
return IgnoreEvent
|
|
@@ -2670,10 +2644,14 @@ Unit.itemPickedUpEvent = __TS__New(
|
|
|
2670
2644
|
____exports.UnitTriggerEvent,
|
|
2671
2645
|
EVENT_PLAYER_UNIT_PICKUP_ITEM,
|
|
2672
2646
|
function()
|
|
2673
|
-
local
|
|
2674
|
-
local
|
|
2675
|
-
if getUnitTypeId(
|
|
2676
|
-
|
|
2647
|
+
local unitHandle = getTriggerUnit()
|
|
2648
|
+
local itemHandle = getManipulatedItem()
|
|
2649
|
+
if getUnitTypeId(unitHandle) ~= dummyUnitId and not isItemIgnoredInEvents(itemHandle) then
|
|
2650
|
+
local unit = ____exports.Unit:of(unitHandle)
|
|
2651
|
+
local item = Item:of(itemHandle)
|
|
2652
|
+
if ownerByItem[item] ~= unit then
|
|
2653
|
+
return unit, item
|
|
2654
|
+
end
|
|
2677
2655
|
end
|
|
2678
2656
|
return IgnoreEvent
|
|
2679
2657
|
end
|
|
@@ -2684,17 +2662,12 @@ Unit.itemUsedEvent = __TS__New(
|
|
|
2684
2662
|
function()
|
|
2685
2663
|
local unit = getTriggerUnit()
|
|
2686
2664
|
local item = getManipulatedItem()
|
|
2687
|
-
if getUnitTypeId(unit) ~= dummyUnitId and not (
|
|
2665
|
+
if getUnitTypeId(unit) ~= dummyUnitId and not isItemIgnoredInEvents(item) then
|
|
2688
2666
|
return ____exports.Unit:of(unit), Item:of(item)
|
|
2689
2667
|
end
|
|
2690
2668
|
return IgnoreEvent
|
|
2691
2669
|
end
|
|
2692
2670
|
)
|
|
2693
|
-
Unit.itemStackedEvent = __TS__New(
|
|
2694
|
-
____exports.UnitTriggerEvent,
|
|
2695
|
-
EVENT_PLAYER_UNIT_STACK_ITEM,
|
|
2696
|
-
function() return ____exports.Unit:of(getTriggerUnit()), Item:of(getManipulatedItem()) end
|
|
2697
|
-
)
|
|
2698
2671
|
__TS__ObjectDefineProperty(
|
|
2699
2672
|
Unit,
|
|
2700
2673
|
"itemChargesChangedEvent",
|
|
@@ -2710,51 +2683,6 @@ __TS__ObjectDefineProperty(
|
|
|
2710
2683
|
return event
|
|
2711
2684
|
end}
|
|
2712
2685
|
)
|
|
2713
|
-
__TS__ObjectDefineProperty(
|
|
2714
|
-
Unit,
|
|
2715
|
-
"itemUseOrderEvent",
|
|
2716
|
-
{get = function(self)
|
|
2717
|
-
local event = __TS__New(Event)
|
|
2718
|
-
for order = orderId("useslot0"), orderId("useslot5") do
|
|
2719
|
-
local slot = order - orderId("useslot0")
|
|
2720
|
-
local function listener(unit)
|
|
2721
|
-
local item = unit.items[slot + 1]
|
|
2722
|
-
if item ~= nil then
|
|
2723
|
-
invoke(event, unit, item)
|
|
2724
|
-
end
|
|
2725
|
-
end
|
|
2726
|
-
self.onImmediateOrder[order]:addListener(listener)
|
|
2727
|
-
self.onTargetOrder[order]:addListener(listener)
|
|
2728
|
-
self.onPointOrder[order]:addListener(listener)
|
|
2729
|
-
end
|
|
2730
|
-
rawset(self, "itemUseOrderEvent", event)
|
|
2731
|
-
return event
|
|
2732
|
-
end}
|
|
2733
|
-
)
|
|
2734
|
-
__TS__ObjectDefineProperty(
|
|
2735
|
-
Unit,
|
|
2736
|
-
"itemMoveOrderEvent",
|
|
2737
|
-
{get = function(self)
|
|
2738
|
-
local event = __TS__New(Event)
|
|
2739
|
-
for order = orderId("moveslot0"), orderId("moveslot5") do
|
|
2740
|
-
local slotTo = order - orderId("moveslot0")
|
|
2741
|
-
self.onTargetOrder[order]:addListener(function(unit, item)
|
|
2742
|
-
local slotFrom = unit.items:findSlot(item)
|
|
2743
|
-
if slotFrom ~= nil then
|
|
2744
|
-
invoke(
|
|
2745
|
-
event,
|
|
2746
|
-
unit,
|
|
2747
|
-
item,
|
|
2748
|
-
slotFrom,
|
|
2749
|
-
slotTo
|
|
2750
|
-
)
|
|
2751
|
-
end
|
|
2752
|
-
end)
|
|
2753
|
-
end
|
|
2754
|
-
rawset(self, "itemMoveOrderEvent", event)
|
|
2755
|
-
return event
|
|
2756
|
-
end}
|
|
2757
|
-
)
|
|
2758
2686
|
__TS__ObjectDefineProperty(
|
|
2759
2687
|
Unit,
|
|
2760
2688
|
"onCreate",
|
|
@@ -2780,6 +2708,10 @@ __TS__ObjectDefineProperty(
|
|
|
2780
2708
|
rawset(self, "destroyEvent", destroyEvent)
|
|
2781
2709
|
return destroyEvent
|
|
2782
2710
|
end}
|
|
2711
|
+
)
|
|
2712
|
+
Unit.synchronize = synchronizer(
|
|
2713
|
+
function(unit) return unit.syncId end,
|
|
2714
|
+
function(syncId) return unitBySyncId[syncId] end
|
|
2783
2715
|
);
|
|
2784
2716
|
(function(self)
|
|
2785
2717
|
local leaveAbilityIds = postcompile(function()
|
|
@@ -2797,11 +2729,7 @@ __TS__ObjectDefineProperty(
|
|
|
2797
2729
|
function(____, id) return fourCC(id) end
|
|
2798
2730
|
)
|
|
2799
2731
|
end)
|
|
2800
|
-
for ____, leaveOrderId in ipairs({
|
|
2801
|
-
orderId("undefend"),
|
|
2802
|
-
orderId("magicundefense"),
|
|
2803
|
-
orderId("unimmolation")
|
|
2804
|
-
}) do
|
|
2732
|
+
for ____, leaveOrderId in ipairs({852056, 852479, 852178}) do
|
|
2805
2733
|
____exports.Unit.onImmediateOrder[leaveOrderId]:addListener(function(unit)
|
|
2806
2734
|
local handle = unit.handle
|
|
2807
2735
|
for i = 1, #leaveAbilityIds do
|
|
@@ -2809,7 +2737,8 @@ __TS__ObjectDefineProperty(
|
|
|
2809
2737
|
return
|
|
2810
2738
|
end
|
|
2811
2739
|
end
|
|
2812
|
-
unit:
|
|
2740
|
+
unit:saveData()
|
|
2741
|
+
Timer:run(unit, "destroy")
|
|
2813
2742
|
end)
|
|
2814
2743
|
end
|
|
2815
2744
|
end)(Unit)
|