warscript 0.0.1-dev.24ac045 → 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 +165 -87
- 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 +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 -1
- package/core/types/timer.lua +27 -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 +712 -11
- 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 +14 -1
- package/engine/behavior.lua +230 -70
- 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 +15 -1
- package/engine/behaviour/ability/emulate-impact.lua +81 -6
- 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/restore-mana.d.ts +1 -1
- package/engine/behaviour/ability/restore-mana.lua +6 -6
- 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 +16 -5
- package/engine/behaviour/unit.lua +127 -22
- package/engine/buff.d.ts +124 -57
- package/engine/buff.lua +608 -296
- package/engine/index.d.ts +2 -1
- package/engine/internal/ability.d.ts +10 -1
- package/engine/internal/ability.lua +99 -47
- 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/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 +83 -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 +96 -68
- package/engine/internal/unit-missile-launch.lua +65 -27
- package/engine/internal/unit.d.ts +20 -33
- package/engine/internal/unit.lua +227 -295
- 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/armor-type.d.ts +11 -0
- package/engine/object-data/auxiliary/armor-type.lua +46 -0
- package/engine/object-data/auxiliary/attachment-preset.d.ts +7 -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 +304 -15
- 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 +72 -4
- package/engine/object-data/entry/unit-type.lua +503 -53
- 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 +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 +14 -2
- package/engine/text-tag.lua +135 -23
- 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/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 +4 -0
- package/utility/functions.lua +9 -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(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(
|
|
@@ -935,23 +989,24 @@ 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
|
-
|
|
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
|
+
if ability.state == 2 then
|
|
1003
|
+
break
|
|
950
1004
|
end
|
|
1005
|
+
ability:destroy()
|
|
1006
|
+
return true
|
|
951
1007
|
end
|
|
952
|
-
return true
|
|
953
1008
|
end
|
|
954
|
-
return
|
|
1009
|
+
return doUnitAbilityAction(self.handle, abilityTypeId, unitRemoveAbility, abilityTypeId)
|
|
955
1010
|
end
|
|
956
1011
|
function Unit.prototype.hideAbility(self, abilityId, flag)
|
|
957
1012
|
BlzUnitHideAbility(self.handle, abilityId, flag)
|
|
@@ -965,24 +1020,6 @@ end
|
|
|
965
1020
|
function Unit.prototype.endAbilityCooldown(self, abilityId)
|
|
966
1021
|
BlzEndUnitAbilityCooldown(self.handle, abilityId)
|
|
967
1022
|
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
1023
|
function Unit.prototype.interruptCast(self, abilityId)
|
|
987
1024
|
local handle = self.handle
|
|
988
1025
|
unitDisableAbility(handle, abilityId, true, false)
|
|
@@ -1053,18 +1090,44 @@ function Unit.prototype.unpauseEx(self)
|
|
|
1053
1090
|
end
|
|
1054
1091
|
function Unit.prototype.incrementStunCounter(self)
|
|
1055
1092
|
local stunCounter = self[102] or 0
|
|
1056
|
-
if not self[101] or stunCounter >= 0 then
|
|
1093
|
+
if not self[101] and (self[103] or 0) <= 0 or stunCounter >= 0 then
|
|
1057
1094
|
BlzPauseUnitEx(self.handle, true)
|
|
1058
1095
|
end
|
|
1059
1096
|
self[102] = stunCounter + 1
|
|
1060
1097
|
end
|
|
1061
1098
|
function Unit.prototype.decrementStunCounter(self)
|
|
1062
1099
|
local stunCounter = self[102] or 0
|
|
1063
|
-
if not self[101] or stunCounter >= 1 then
|
|
1100
|
+
if not self[101] and (self[103] or 0) <= 0 or stunCounter >= 1 then
|
|
1064
1101
|
BlzPauseUnitEx(self.handle, false)
|
|
1065
1102
|
end
|
|
1066
1103
|
self[102] = stunCounter - 1
|
|
1067
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
|
|
1068
1131
|
function Unit.create(self, owner, id, x, y, facing, skinId)
|
|
1069
1132
|
local handle = skinId and BlzCreateUnitWithSkin(
|
|
1070
1133
|
owner.handle,
|
|
@@ -1261,7 +1324,7 @@ __TS__SetDescriptor(
|
|
|
1261
1324
|
Unit.prototype,
|
|
1262
1325
|
"isStunned",
|
|
1263
1326
|
{get = function(self)
|
|
1264
|
-
return getUnitCurrentOrder(self.handle) ==
|
|
1327
|
+
return getUnitCurrentOrder(self.handle) == 851973
|
|
1265
1328
|
end},
|
|
1266
1329
|
true
|
|
1267
1330
|
)
|
|
@@ -1351,19 +1414,6 @@ __TS__SetDescriptor(
|
|
|
1351
1414
|
},
|
|
1352
1415
|
true
|
|
1353
1416
|
)
|
|
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
1417
|
__TS__SetDescriptor(
|
|
1368
1418
|
Unit.prototype,
|
|
1369
1419
|
"strengthBonus",
|
|
@@ -1381,19 +1431,6 @@ __TS__SetDescriptor(
|
|
|
1381
1431
|
end},
|
|
1382
1432
|
true
|
|
1383
1433
|
)
|
|
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
1434
|
__TS__SetDescriptor(
|
|
1398
1435
|
Unit.prototype,
|
|
1399
1436
|
"agilityBonus",
|
|
@@ -1411,19 +1448,6 @@ __TS__SetDescriptor(
|
|
|
1411
1448
|
end},
|
|
1412
1449
|
true
|
|
1413
1450
|
)
|
|
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
1451
|
__TS__SetDescriptor(
|
|
1428
1452
|
Unit.prototype,
|
|
1429
1453
|
"intelligenceBonus",
|
|
@@ -1472,17 +1496,17 @@ __TS__SetDescriptor(
|
|
|
1472
1496
|
"isTeamGlowVisible",
|
|
1473
1497
|
{
|
|
1474
1498
|
get = function(self)
|
|
1475
|
-
return not self[
|
|
1499
|
+
return not self[107]
|
|
1476
1500
|
end,
|
|
1477
1501
|
set = function(self, isTeamGlowVisible)
|
|
1478
1502
|
BlzShowUnitTeamGlow(self.handle, isTeamGlowVisible)
|
|
1479
|
-
local
|
|
1503
|
+
local ____temp_8
|
|
1480
1504
|
if not isTeamGlowVisible then
|
|
1481
|
-
|
|
1505
|
+
____temp_8 = true
|
|
1482
1506
|
else
|
|
1483
|
-
|
|
1507
|
+
____temp_8 = nil
|
|
1484
1508
|
end
|
|
1485
|
-
self[
|
|
1509
|
+
self[107] = ____temp_8
|
|
1486
1510
|
end
|
|
1487
1511
|
},
|
|
1488
1512
|
true
|
|
@@ -1492,7 +1516,7 @@ __TS__SetDescriptor(
|
|
|
1492
1516
|
"color",
|
|
1493
1517
|
{set = function(self, color)
|
|
1494
1518
|
SetUnitColor(self.handle, color.handle)
|
|
1495
|
-
if self[
|
|
1519
|
+
if self[107] then
|
|
1496
1520
|
BlzShowUnitTeamGlow(self.handle, false)
|
|
1497
1521
|
end
|
|
1498
1522
|
end},
|
|
@@ -1516,14 +1540,14 @@ __TS__SetDescriptor(
|
|
|
1516
1540
|
"maxHealth",
|
|
1517
1541
|
{
|
|
1518
1542
|
get = function(self)
|
|
1519
|
-
return BlzGetUnitMaxHP(self.handle) - (self[
|
|
1543
|
+
return BlzGetUnitMaxHP(self.handle) - (self[105] or 0) - (self[106] or 0)
|
|
1520
1544
|
end,
|
|
1521
1545
|
set = function(self, maxHealth)
|
|
1522
|
-
if maxHealth < 1 and self[
|
|
1523
|
-
self[
|
|
1546
|
+
if maxHealth < 1 and self[104] ~= nil then
|
|
1547
|
+
self[105] = (self[105] or 0) + (1 - maxHealth)
|
|
1524
1548
|
maxHealth = 1
|
|
1525
1549
|
end
|
|
1526
|
-
BlzSetUnitMaxHP(self.handle, maxHealth + (self[
|
|
1550
|
+
BlzSetUnitMaxHP(self.handle, maxHealth + (self[106] or 0))
|
|
1527
1551
|
end
|
|
1528
1552
|
},
|
|
1529
1553
|
true
|
|
@@ -1565,10 +1589,10 @@ __TS__SetDescriptor(
|
|
|
1565
1589
|
"health",
|
|
1566
1590
|
{
|
|
1567
1591
|
get = function(self)
|
|
1568
|
-
return GetWidgetLife(self.handle) - (self[
|
|
1592
|
+
return GetWidgetLife(self.handle) - (self[106] or 0)
|
|
1569
1593
|
end,
|
|
1570
1594
|
set = function(self, health)
|
|
1571
|
-
SetWidgetLife(self.handle, health + (self[
|
|
1595
|
+
SetWidgetLife(self.handle, health + (self[106] or 0))
|
|
1572
1596
|
end
|
|
1573
1597
|
},
|
|
1574
1598
|
true
|
|
@@ -1644,25 +1668,12 @@ __TS__SetDescriptor(
|
|
|
1644
1668
|
},
|
|
1645
1669
|
true
|
|
1646
1670
|
)
|
|
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
1671
|
__TS__SetDescriptor(
|
|
1661
1672
|
Unit.prototype,
|
|
1662
1673
|
"x",
|
|
1663
1674
|
{
|
|
1664
1675
|
get = function(self)
|
|
1665
|
-
return self[
|
|
1676
|
+
return self[108] or getUnitX(self.handle)
|
|
1666
1677
|
end,
|
|
1667
1678
|
set = function(self, v)
|
|
1668
1679
|
SetUnitX(self.handle, v)
|
|
@@ -1675,7 +1686,7 @@ __TS__SetDescriptor(
|
|
|
1675
1686
|
"y",
|
|
1676
1687
|
{
|
|
1677
1688
|
get = function(self)
|
|
1678
|
-
return self[
|
|
1689
|
+
return self[109] or getUnitY(self.handle)
|
|
1679
1690
|
end,
|
|
1680
1691
|
set = function(self, v)
|
|
1681
1692
|
SetUnitY(self.handle, v)
|
|
@@ -1780,14 +1791,18 @@ __TS__SetDescriptor(
|
|
|
1780
1791
|
local handle = self.handle
|
|
1781
1792
|
if isPaused and not IsUnitPaused(handle) then
|
|
1782
1793
|
self[101] = true
|
|
1783
|
-
|
|
1784
|
-
|
|
1794
|
+
if (self[103] or 0) <= 0 then
|
|
1795
|
+
for _ = self[102] or 0, -1 do
|
|
1796
|
+
BlzPauseUnitEx(handle, true)
|
|
1797
|
+
end
|
|
1785
1798
|
end
|
|
1786
1799
|
PauseUnit(handle, true)
|
|
1787
1800
|
elseif not isPaused and IsUnitPaused(handle) then
|
|
1788
1801
|
PauseUnit(handle, false)
|
|
1789
|
-
|
|
1790
|
-
|
|
1802
|
+
if (self[103] or 0) <= 0 then
|
|
1803
|
+
for _ = self[102] or 0, -1 do
|
|
1804
|
+
BlzPauseUnitEx(handle, false)
|
|
1805
|
+
end
|
|
1791
1806
|
end
|
|
1792
1807
|
self[101] = nil
|
|
1793
1808
|
end
|
|
@@ -1845,20 +1860,6 @@ __TS__SetDescriptor(
|
|
|
1845
1860
|
},
|
|
1846
1861
|
true
|
|
1847
1862
|
)
|
|
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
1863
|
__TS__SetDescriptor(
|
|
1863
1864
|
Unit.prototype,
|
|
1864
1865
|
"timeScale",
|
|
@@ -1885,7 +1886,7 @@ __TS__SetDescriptor(
|
|
|
1885
1886
|
Unit.prototype,
|
|
1886
1887
|
"pathingCollisionRange",
|
|
1887
1888
|
{get = function(self)
|
|
1888
|
-
return 16 * (min(
|
|
1889
|
+
return 16 * (math.min(
|
|
1889
1890
|
getUnitCollisionSize(self.handle) // 16,
|
|
1890
1891
|
3
|
|
1891
1892
|
) + 1)
|
|
@@ -1995,30 +1996,6 @@ __TS__SetDescriptor(
|
|
|
1995
1996
|
end},
|
|
1996
1997
|
true
|
|
1997
1998
|
)
|
|
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
1999
|
__TS__SetDescriptor(
|
|
2023
2000
|
Unit.prototype,
|
|
2024
2001
|
"onManaEqual",
|
|
@@ -2154,6 +2131,11 @@ __TS__SetDescriptor(
|
|
|
2154
2131
|
end},
|
|
2155
2132
|
true
|
|
2156
2133
|
)
|
|
2134
|
+
Unit.levelChangedEvent = __TS__New(
|
|
2135
|
+
____exports.UnitTriggerEvent,
|
|
2136
|
+
EVENT_PLAYER_HERO_LEVEL,
|
|
2137
|
+
function() return ____exports.Unit:of(getTriggerUnit()) end
|
|
2138
|
+
)
|
|
2157
2139
|
Unit.deathEvent = __TS__New(
|
|
2158
2140
|
____exports.UnitTriggerEvent,
|
|
2159
2141
|
EVENT_PLAYER_UNIT_DEATH,
|
|
@@ -2171,7 +2153,7 @@ Unit.onResurrect = __TS__New(
|
|
|
2171
2153
|
____exports.Unit.deathEvent:addListener(function(unit)
|
|
2172
2154
|
dead[unit] = true
|
|
2173
2155
|
end)
|
|
2174
|
-
____exports.Unit.onImmediateOrder[
|
|
2156
|
+
____exports.Unit.onImmediateOrder[852056]:addListener(function(unit)
|
|
2175
2157
|
if dead[unit] and not IsUnitType(unit.handle, UNIT_TYPE_DEAD) then
|
|
2176
2158
|
dead[unit] = false
|
|
2177
2159
|
invoke(event, unit)
|
|
@@ -2188,7 +2170,7 @@ Unit.morphEvent = __TS__New(
|
|
|
2188
2170
|
invoke(event, unit)
|
|
2189
2171
|
end
|
|
2190
2172
|
end
|
|
2191
|
-
____exports.Unit.onImmediateOrder[
|
|
2173
|
+
____exports.Unit.onImmediateOrder[852056]:addListener(function(unit)
|
|
2192
2174
|
if getUnitAbilityLevel(unit.handle, morphDetectAbilityId) == 0 then
|
|
2193
2175
|
Timer:run(ifNotLeft, unit)
|
|
2194
2176
|
end
|
|
@@ -2229,25 +2211,25 @@ Unit.onTargetCast = dispatchId(__TS__New(
|
|
|
2229
2211
|
InitializingEvent,
|
|
2230
2212
|
function(event)
|
|
2231
2213
|
local function listener(unit, id)
|
|
2232
|
-
local
|
|
2214
|
+
local ____GetSpellTargetUnit_result_11
|
|
2233
2215
|
if GetSpellTargetUnit() then
|
|
2234
|
-
|
|
2216
|
+
____GetSpellTargetUnit_result_11 = ____exports.Unit:of(GetSpellTargetUnit())
|
|
2235
2217
|
else
|
|
2236
|
-
local
|
|
2218
|
+
local ____GetSpellTargetItem_result_10
|
|
2237
2219
|
if GetSpellTargetItem() then
|
|
2238
|
-
|
|
2220
|
+
____GetSpellTargetItem_result_10 = Item:of(GetSpellTargetItem())
|
|
2239
2221
|
else
|
|
2240
|
-
local
|
|
2222
|
+
local ____GetSpellTargetDestructable_result_9
|
|
2241
2223
|
if GetSpellTargetDestructable() then
|
|
2242
|
-
|
|
2224
|
+
____GetSpellTargetDestructable_result_9 = Destructable:of(GetSpellTargetDestructable())
|
|
2243
2225
|
else
|
|
2244
|
-
|
|
2226
|
+
____GetSpellTargetDestructable_result_9 = nil
|
|
2245
2227
|
end
|
|
2246
|
-
|
|
2228
|
+
____GetSpellTargetItem_result_10 = ____GetSpellTargetDestructable_result_9
|
|
2247
2229
|
end
|
|
2248
|
-
|
|
2230
|
+
____GetSpellTargetUnit_result_11 = ____GetSpellTargetItem_result_10
|
|
2249
2231
|
end
|
|
2250
|
-
local target =
|
|
2232
|
+
local target = ____GetSpellTargetUnit_result_11
|
|
2251
2233
|
if target then
|
|
2252
2234
|
invoke(event, unit, id, target)
|
|
2253
2235
|
end
|
|
@@ -2470,12 +2452,7 @@ Unit.onDamaging = (function()
|
|
|
2470
2452
|
preventRetaliation = damagingEventPreventRetaliation
|
|
2471
2453
|
}
|
|
2472
2454
|
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])
|
|
2455
|
+
data.weapon = source:chooseWeapon(target)
|
|
2479
2456
|
end
|
|
2480
2457
|
if not data.isAttack or not source or not source._attackHandlers then
|
|
2481
2458
|
invoke(
|
|
@@ -2620,7 +2597,7 @@ Unit.onDamage = __TS__New(
|
|
|
2620
2597
|
invoke(event, source, target, evData)
|
|
2621
2598
|
if evData[0] ~= nil and target.health - evData.amount < 0.405 then
|
|
2622
2599
|
local bonusHealth = math.ceil(evData.amount)
|
|
2623
|
-
target[
|
|
2600
|
+
target[106] = (target[106] or 0) + bonusHealth
|
|
2624
2601
|
BlzSetUnitMaxHP(
|
|
2625
2602
|
target.handle,
|
|
2626
2603
|
BlzGetUnitMaxHP(target.handle) + bonusHealth
|
|
@@ -2634,7 +2611,7 @@ Unit.onDamage = __TS__New(
|
|
|
2634
2611
|
evData[0],
|
|
2635
2612
|
table.unpack(evData, 1 + 1, 1 + (evData[1] or 0))
|
|
2636
2613
|
)
|
|
2637
|
-
target[
|
|
2614
|
+
target[106] = (target[106] or 0) - bonusHealth
|
|
2638
2615
|
SetWidgetLife(
|
|
2639
2616
|
target.handle,
|
|
2640
2617
|
GetWidgetLife(target.handle) - bonusHealth
|
|
@@ -2660,7 +2637,7 @@ Unit.itemDroppedEvent = __TS__New(
|
|
|
2660
2637
|
function()
|
|
2661
2638
|
local unit = getTriggerUnit()
|
|
2662
2639
|
local item = getManipulatedItem()
|
|
2663
|
-
if getUnitTypeId(unit) ~= dummyUnitId and not (
|
|
2640
|
+
if getUnitTypeId(unit) ~= dummyUnitId and not isItemIgnoredInEvents(item) then
|
|
2664
2641
|
return ____exports.Unit:of(unit), Item:of(item)
|
|
2665
2642
|
end
|
|
2666
2643
|
return IgnoreEvent
|
|
@@ -2670,10 +2647,14 @@ Unit.itemPickedUpEvent = __TS__New(
|
|
|
2670
2647
|
____exports.UnitTriggerEvent,
|
|
2671
2648
|
EVENT_PLAYER_UNIT_PICKUP_ITEM,
|
|
2672
2649
|
function()
|
|
2673
|
-
local
|
|
2674
|
-
local
|
|
2675
|
-
if getUnitTypeId(
|
|
2676
|
-
|
|
2650
|
+
local unitHandle = getTriggerUnit()
|
|
2651
|
+
local itemHandle = getManipulatedItem()
|
|
2652
|
+
if getUnitTypeId(unitHandle) ~= dummyUnitId and not isItemIgnoredInEvents(itemHandle) then
|
|
2653
|
+
local unit = ____exports.Unit:of(unitHandle)
|
|
2654
|
+
local item = Item:of(itemHandle)
|
|
2655
|
+
if ownerByItem[item] ~= unit then
|
|
2656
|
+
return unit, item
|
|
2657
|
+
end
|
|
2677
2658
|
end
|
|
2678
2659
|
return IgnoreEvent
|
|
2679
2660
|
end
|
|
@@ -2684,17 +2665,12 @@ Unit.itemUsedEvent = __TS__New(
|
|
|
2684
2665
|
function()
|
|
2685
2666
|
local unit = getTriggerUnit()
|
|
2686
2667
|
local item = getManipulatedItem()
|
|
2687
|
-
if getUnitTypeId(unit) ~= dummyUnitId and not (
|
|
2668
|
+
if getUnitTypeId(unit) ~= dummyUnitId and not isItemIgnoredInEvents(item) then
|
|
2688
2669
|
return ____exports.Unit:of(unit), Item:of(item)
|
|
2689
2670
|
end
|
|
2690
2671
|
return IgnoreEvent
|
|
2691
2672
|
end
|
|
2692
2673
|
)
|
|
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
2674
|
__TS__ObjectDefineProperty(
|
|
2699
2675
|
Unit,
|
|
2700
2676
|
"itemChargesChangedEvent",
|
|
@@ -2710,51 +2686,6 @@ __TS__ObjectDefineProperty(
|
|
|
2710
2686
|
return event
|
|
2711
2687
|
end}
|
|
2712
2688
|
)
|
|
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
2689
|
__TS__ObjectDefineProperty(
|
|
2759
2690
|
Unit,
|
|
2760
2691
|
"onCreate",
|
|
@@ -2780,6 +2711,10 @@ __TS__ObjectDefineProperty(
|
|
|
2780
2711
|
rawset(self, "destroyEvent", destroyEvent)
|
|
2781
2712
|
return destroyEvent
|
|
2782
2713
|
end}
|
|
2714
|
+
)
|
|
2715
|
+
Unit.synchronize = synchronizer(
|
|
2716
|
+
function(unit) return unit.syncId end,
|
|
2717
|
+
function(syncId) return unitBySyncId[syncId] end
|
|
2783
2718
|
);
|
|
2784
2719
|
(function(self)
|
|
2785
2720
|
local leaveAbilityIds = postcompile(function()
|
|
@@ -2797,11 +2732,7 @@ __TS__ObjectDefineProperty(
|
|
|
2797
2732
|
function(____, id) return fourCC(id) end
|
|
2798
2733
|
)
|
|
2799
2734
|
end)
|
|
2800
|
-
for ____, leaveOrderId in ipairs({
|
|
2801
|
-
orderId("undefend"),
|
|
2802
|
-
orderId("magicundefense"),
|
|
2803
|
-
orderId("unimmolation")
|
|
2804
|
-
}) do
|
|
2735
|
+
for ____, leaveOrderId in ipairs({852056, 852479, 852178}) do
|
|
2805
2736
|
____exports.Unit.onImmediateOrder[leaveOrderId]:addListener(function(unit)
|
|
2806
2737
|
local handle = unit.handle
|
|
2807
2738
|
for i = 1, #leaveAbilityIds do
|
|
@@ -2809,7 +2740,8 @@ __TS__ObjectDefineProperty(
|
|
|
2809
2740
|
return
|
|
2810
2741
|
end
|
|
2811
2742
|
end
|
|
2812
|
-
unit:
|
|
2743
|
+
unit:saveData()
|
|
2744
|
+
Timer:run(unit, "destroy")
|
|
2813
2745
|
end)
|
|
2814
2746
|
end
|
|
2815
2747
|
end)(Unit)
|