warscript 0.0.1-dev.c37d12c → 0.0.1-dev.c47d565
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 +18 -0
- package/attributes.lua +32 -0
- package/binaryreader.d.ts +1 -0
- package/binaryreader.lua +3 -0
- package/config.d.ts +5 -0
- package/config.lua +10 -0
- package/core/dummy.lua +4 -2
- package/core/types/effect.d.ts +24 -6
- package/core/types/effect.lua +169 -107
- package/core/types/frame.d.ts +24 -3
- package/core/types/frame.lua +198 -42
- package/core/types/group.d.ts +0 -1
- package/core/types/handle.d.ts +2 -1
- package/core/types/handle.lua +14 -9
- package/core/types/image.d.ts +0 -1
- package/core/types/item.d.ts +1 -0
- package/core/types/item.lua +1 -0
- package/core/types/missile.d.ts +2 -2
- package/core/types/missile.lua +8 -2
- 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 +18 -25
- package/core/types/sound.lua +113 -33
- package/core/types/tileCell.d.ts +18 -3
- package/core/types/tileCell.lua +108 -0
- package/core/types/timer.d.ts +9 -8
- package/core/types/timer.lua +45 -23
- package/core/types/unit.d.ts +5 -0
- package/core/types/unit.lua +13 -0
- package/core/util.d.ts +3 -1
- package/core/util.lua +127 -4
- package/decl/index.d.ts +1 -0
- package/decl/native.d.ts +1718 -964
- 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/ability.d.ts +1 -1
- package/engine/behavior.d.ts +24 -11
- package/engine/behavior.lua +233 -73
- package/engine/behaviour/ability/always-enabled.d.ts +7 -0
- package/engine/behaviour/ability/always-enabled.lua +31 -0
- package/engine/behaviour/ability/apply-buff.d.ts +8 -5
- package/engine/behaviour/ability/apply-buff.lua +36 -4
- package/engine/behaviour/ability/apply-unit-behavior.d.ts +13 -4
- package/engine/behaviour/ability/apply-unit-behavior.lua +37 -9
- package/engine/behaviour/ability/damage.d.ts +43 -11
- package/engine/behaviour/ability/damage.lua +89 -39
- package/engine/behaviour/ability/emulate-impact.d.ts +6 -0
- package/engine/behaviour/ability/emulate-impact.lua +44 -0
- package/engine/behaviour/ability/heal.d.ts +33 -6
- package/engine/behaviour/ability/heal.lua +89 -10
- package/engine/behaviour/ability/instant-impact.d.ts +2 -2
- package/engine/behaviour/ability/instant-impact.lua +4 -15
- package/engine/behaviour/ability/on-command-impact.d.ts +9 -0
- package/engine/behaviour/ability/on-command-impact.lua +26 -0
- package/engine/behaviour/ability/remove-buffs.d.ts +25 -0
- package/engine/behaviour/ability/remove-buffs.lua +49 -0
- package/engine/behaviour/ability/restore-mana.d.ts +15 -0
- package/engine/behaviour/ability/restore-mana.lua +29 -0
- package/engine/behaviour/ability.d.ts +37 -7
- package/engine/behaviour/ability.lua +208 -27
- package/engine/behaviour/unit/stun-immunity.d.ts +12 -7
- package/engine/behaviour/unit/stun-immunity.lua +57 -31
- package/engine/behaviour/unit.d.ts +49 -4
- package/engine/behaviour/unit.lua +293 -2
- package/engine/buff.d.ts +177 -59
- package/engine/buff.lua +795 -281
- package/engine/game-map.d.ts +7 -0
- package/engine/game-map.lua +32 -0
- package/engine/index.d.ts +2 -1
- package/engine/internal/ability.d.ts +31 -15
- package/engine/internal/ability.lua +177 -104
- package/engine/internal/item/ability.lua +162 -4
- 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 +34 -18
- package/engine/internal/item.lua +308 -102
- package/engine/internal/mechanics/ability-duration.d.ts +1 -3
- package/engine/internal/mechanics/ability-duration.lua +3 -1
- package/engine/internal/mechanics/cast-ability.lua +89 -0
- package/engine/internal/misc/ability-disable-counter.d.ts +2 -0
- package/engine/internal/misc/ability-disable-counter.lua +13 -0
- package/engine/internal/misc/damage-metadata-by-target.d.ts +2 -0
- package/engine/internal/misc/damage-metadata-by-target.lua +5 -0
- package/engine/internal/misc/frame-coordinates.d.ts +2 -0
- 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/auto-attack-speed-increase.d.ts +1 -1
- package/engine/internal/object-data/auto-attack-speed-increase.lua +2 -0
- package/engine/internal/object-data/evasion-probability.d.ts +2 -0
- package/engine/internal/object-data/evasion-probability.lua +16 -0
- 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 +45 -1
- package/engine/internal/unit/ability.lua +128 -17
- package/engine/internal/unit/add-item-to-slot-init.d.ts +2 -0
- package/engine/internal/unit/add-item-to-slot-init.lua +12 -0
- package/engine/internal/unit/add-item-to-slot.d.ts +2 -0
- package/engine/internal/unit/add-item-to-slot.lua +93 -0
- package/engine/internal/unit/allowed-targets.d.ts +1 -1
- package/engine/internal/unit/allowed-targets.lua +9 -1
- 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 +28 -8
- package/engine/internal/unit/bonus.lua +136 -9
- package/engine/internal/unit/buff.d.ts +2 -2
- package/engine/internal/unit/buff.lua +34 -19
- package/engine/internal/unit/detach-missiles.d.ts +7 -0
- package/engine/internal/unit/detach-missiles.lua +30 -0
- 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.d.ts +2 -0
- package/engine/internal/unit/ignore-events-items.lua +14 -0
- package/engine/internal/unit/interrupts.d.ts +12 -0
- package/engine/internal/unit/interrupts.lua +28 -0
- package/engine/internal/unit/inventory.d.ts +28 -0
- 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.d.ts +13 -0
- package/engine/internal/unit/main-selected.lua +36 -0
- package/engine/internal/unit/order.d.ts +20 -0
- package/engine/internal/unit/order.lua +136 -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 +75 -5
- package/engine/internal/unit+bonus.lua +3 -3
- package/engine/internal/unit+damage.d.ts +11 -11
- package/engine/internal/unit+damage.lua +43 -14
- package/engine/internal/unit+rally.lua +9 -31
- package/engine/internal/unit+spellSteal.lua +1 -2
- package/engine/internal/unit+transport.lua +4 -10
- package/engine/internal/unit-missile-data.lua +58 -32
- package/engine/internal/unit-missile-launch.lua +70 -13
- package/engine/internal/unit.d.ts +91 -38
- package/engine/internal/unit.lua +669 -351
- package/engine/internal/utility.lua +12 -0
- package/engine/lightning.d.ts +12 -5
- package/engine/lightning.lua +48 -14
- package/engine/local-client.d.ts +35 -2
- package/engine/local-client.lua +367 -15
- package/engine/object-data/auxiliary/animation-name.d.ts +1 -0
- package/engine/object-data/auxiliary/animation-name.lua +16 -0
- 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 +14 -3
- package/engine/object-data/auxiliary/attachment-preset.lua +11 -3
- package/engine/object-data/auxiliary/attack-type.d.ts +7 -8
- package/engine/object-data/auxiliary/attack-type.lua +42 -0
- package/engine/object-data/auxiliary/combat-classification.d.ts +0 -2
- 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/movement-type.d.ts +7 -7
- package/engine/object-data/auxiliary/movement-type.lua +22 -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-eax.d.ts +10 -0
- package/engine/object-data/auxiliary/sound-eax.lua +2 -0
- package/engine/object-data/auxiliary/sound-preset-name.d.ts +5 -1
- package/engine/object-data/auxiliary/sound-set-name.d.ts +14 -3
- package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +1 -1
- package/engine/object-data/auxiliary/unit-attribute.d.ts +6 -0
- package/engine/object-data/auxiliary/unit-attribute.lua +9 -0
- 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/berserk.d.ts +2 -0
- package/engine/object-data/entry/ability-type/berserk.lua +13 -0
- package/engine/object-data/entry/ability-type/blank-configurable.d.ts +0 -1
- package/engine/object-data/entry/ability-type/blank-configurable.lua +12 -1
- 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 -1
- package/engine/object-data/entry/ability-type/blank-passive.lua +27 -7
- package/engine/object-data/entry/ability-type/blink.d.ts +10 -0
- package/engine/object-data/entry/ability-type/blink.lua +39 -0
- 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/carrion-swarm.d.ts +14 -0
- package/engine/object-data/entry/ability-type/carrion-swarm.lua +65 -0
- package/engine/object-data/entry/ability-type/channel.d.ts +0 -1
- 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/disease-cloud.lua +2 -2
- package/engine/object-data/entry/ability-type/engineering-upgrade.lua +2 -2
- package/engine/object-data/entry/ability-type/ensnare.d.ts +12 -0
- package/engine/object-data/entry/ability-type/ensnare.lua +52 -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/feral-spirit.lua +2 -2
- 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/mine.d.ts +10 -0
- package/engine/object-data/entry/ability-type/mine.lua +39 -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/permanent-invisibility.d.ts +8 -0
- package/engine/object-data/entry/ability-type/permanent-invisibility.lua +26 -0
- package/engine/object-data/entry/ability-type/phase-shift.d.ts +10 -0
- package/engine/object-data/entry/ability-type/phase-shift.lua +39 -0
- package/engine/object-data/entry/ability-type/phoenix-morph.lua +4 -4
- 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-dead.d.ts +17 -0
- package/engine/object-data/entry/ability-type/raise-dead.lua +78 -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/shock-wave.d.ts +4 -0
- package/engine/object-data/entry/ability-type/shock-wave.lua +26 -0
- package/engine/object-data/entry/ability-type/slow-poison.d.ts +10 -0
- package/engine/object-data/entry/ability-type/slow-poison.lua +58 -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/spirit-touch.d.ts +2 -2
- package/engine/object-data/entry/ability-type/spirit-touch.lua +6 -6
- 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/summon-quilbeast.lua +2 -2
- package/engine/object-data/entry/ability-type/summon-water-elemental.lua +2 -2
- 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/web.d.ts +12 -0
- package/engine/object-data/entry/ability-type/web.lua +52 -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 +48 -21
- package/engine/object-data/entry/ability-type.lua +377 -44
- package/engine/object-data/entry/buff-type/applicable.d.ts +0 -1
- package/engine/object-data/entry/buff-type/applicable.lua +143 -202
- package/engine/object-data/entry/buff-type/blank.d.ts +0 -1
- package/engine/object-data/entry/buff-type.d.ts +10 -13
- package/engine/object-data/entry/buff-type.lua +39 -29
- package/engine/object-data/entry/destructible-type.d.ts +32 -3
- package/engine/object-data/entry/destructible-type.lua +181 -0
- package/engine/object-data/entry/item-type/blank.d.ts +0 -1
- package/engine/object-data/entry/item-type.d.ts +32 -4
- package/engine/object-data/entry/item-type.lua +177 -2
- package/engine/object-data/entry/lightning-type.d.ts +6 -9
- package/engine/object-data/entry/lightning-type.lua +1 -1
- package/engine/object-data/entry/sound-preset.d.ts +33 -0
- package/engine/object-data/entry/sound-preset.lua +140 -0
- package/engine/object-data/entry/unit-type.d.ts +121 -6
- package/engine/object-data/entry/unit-type.lua +959 -118
- package/engine/object-data/entry/upgrade/blank.d.ts +0 -1
- package/engine/object-data/entry/upgrade.d.ts +2 -3
- package/engine/object-data/entry/upgrade.lua +4 -4
- package/engine/object-data/entry.d.ts +23 -17
- package/engine/object-data/entry.lua +68 -32
- package/engine/object-data/utility/object-data-entry-id-generator.lua +7 -0
- package/engine/object-field/ability.d.ts +33 -8
- package/engine/object-field/ability.lua +63 -3
- package/engine/object-field/item.d.ts +22 -0
- package/engine/object-field/item.lua +118 -0
- package/engine/object-field/unit.d.ts +72 -2
- package/engine/object-field/unit.lua +268 -4
- package/engine/object-field.d.ts +30 -11
- package/engine/object-field.lua +386 -122
- package/engine/random.d.ts +11 -0
- package/engine/random.lua +30 -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 +48 -0
- package/engine/standard/entries/buff-type.lua +46 -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/sound-preset.d.ts +10 -0
- package/engine/standard/entries/sound-preset.lua +10 -0
- package/engine/standard/entries/unit-type.d.ts +47 -1
- package/engine/standard/entries/unit-type.lua +47 -1
- package/engine/standard/fields/ability.d.ts +5 -3
- package/engine/standard/fields/ability.lua +5 -3
- package/engine/standard/fields/item.d.ts +4 -0
- package/engine/standard/fields/item.lua +6 -0
- package/engine/standard/fields/unit.d.ts +12 -0
- package/engine/standard/fields/unit.lua +20 -0
- package/engine/synchronization.d.ts +11 -0
- package/engine/synchronization.lua +77 -0
- package/engine/text-tag.d.ts +36 -2
- package/engine/text-tag.lua +250 -10
- package/engine/unit.d.ts +14 -0
- package/engine/unit.lua +23 -2
- package/event.d.ts +3 -4
- package/event.lua +9 -5
- package/global/vec2.lua +1 -0
- package/index.d.ts +1 -0
- package/index.lua +1 -0
- package/lualib_bundle.lua +147 -43
- package/math/vec2.d.ts +2 -9
- package/math.d.ts +2 -2
- package/math.lua +14 -0
- package/net/socket.d.ts +7 -1
- package/net/socket.lua +45 -4
- package/network.d.ts +1 -0
- package/network.lua +28 -3
- package/objutil/ability.d.ts +0 -1
- package/objutil/buff.d.ts +0 -1
- package/objutil/buff.lua +13 -12
- package/objutil/object.d.ts +0 -1
- package/objutil/object.lua +1 -1
- package/objutil/unit.d.ts +0 -1
- package/objutil/unit.lua +8 -0
- package/operation.d.ts +8 -1
- package/operation.lua +38 -18
- package/package.json +3 -24
- package/patch-lua.d.ts +0 -0
- package/patch-lua.lua +25 -0
- package/patch-lualib.lua +1 -1
- package/property.d.ts +55 -0
- package/property.lua +374 -0
- package/string.d.ts +30 -0
- package/string.lua +14 -0
- package/util/stream.d.ts +0 -1
- package/utility/arrays.d.ts +20 -6
- package/utility/arrays.lua +62 -3
- package/utility/bit-set.d.ts +0 -2
- package/utility/callback-array.d.ts +17 -0
- package/utility/callback-array.lua +61 -0
- package/utility/functions.d.ts +8 -0
- package/utility/functions.lua +13 -0
- package/utility/lazy.d.ts +2 -0
- package/utility/lazy.lua +14 -0
- package/utility/linked-map.d.ts +35 -0
- package/utility/linked-map.lua +107 -0
- package/utility/linked-set.d.ts +17 -4
- package/utility/linked-set.lua +70 -3
- package/utility/lua-maps.d.ts +16 -4
- package/utility/lua-maps.lua +53 -2
- package/utility/lua-sets.d.ts +3 -2
- package/utility/lua-sets.lua +7 -0
- package/utility/random.d.ts +102 -0
- package/utility/random.lua +273 -0
- package/utility/records.lua +20 -1
- package/utility/reflection.lua +11 -7
- package/utility/types.d.ts +6 -2
- package/utility/unordered-map.d.ts +27 -0
- package/utility/unordered-map.lua +99 -0
- package/core/mapbounds.d.ts +0 -8
- package/core/mapbounds.lua +0 -12
- package/core/types/order.d.ts +0 -25
- package/core/types/order.lua +0 -55
- /package/engine/internal/{object-data/armor-increase.d.ts → mechanics/cast-ability.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/core/types/frame.lua
CHANGED
|
@@ -15,13 +15,34 @@ local Event = ____event.Event
|
|
|
15
15
|
local TriggerEvent = ____event.TriggerEvent
|
|
16
16
|
local ____timer = require("core.types.timer")
|
|
17
17
|
local Timer = ____timer.Timer
|
|
18
|
+
local ____frame_2Dcoordinates = require("engine.internal.misc.frame-coordinates")
|
|
19
|
+
local FRAME_MAX_Y = ____frame_2Dcoordinates.FRAME_MAX_Y
|
|
20
|
+
local FRAME_MIN_Y = ____frame_2Dcoordinates.FRAME_MIN_Y
|
|
21
|
+
local getFrameMinXMaxX = ____frame_2Dcoordinates.getFrameMinXMaxX
|
|
22
|
+
local ____playerCamera = require("core.types.playerCamera")
|
|
23
|
+
local frameCoordinatesToWorld = ____playerCamera.frameCoordinatesToWorld
|
|
24
|
+
local ____lua_2Dsets = require("utility.lua-sets")
|
|
25
|
+
local mutableLuaSet = ____lua_2Dsets.mutableLuaSet
|
|
26
|
+
local ____socket = require("net.socket")
|
|
27
|
+
local Socket = ____socket.Socket
|
|
28
|
+
local ____lua_2Dmaps = require("utility.lua-maps")
|
|
29
|
+
local getOrPut = ____lua_2Dmaps.getOrPut
|
|
30
|
+
local luaMapInvert = ____lua_2Dmaps.luaMapInvert
|
|
31
|
+
local luaMapOf = ____lua_2Dmaps.luaMapOf
|
|
32
|
+
local mutableLuaMap = ____lua_2Dmaps.mutableLuaMap
|
|
18
33
|
local frameClick = BlzFrameClick
|
|
19
34
|
local frameGetEnable = BlzFrameGetEnable
|
|
20
35
|
local frameIsVisible = BlzFrameIsVisible
|
|
21
36
|
local frameSetEnable = BlzFrameSetEnable
|
|
22
37
|
local frameSetScale = BlzFrameSetScale
|
|
23
|
-
local
|
|
24
|
-
local
|
|
38
|
+
local getHandleId = GetHandleId
|
|
39
|
+
local getLocalClientHeight = BlzGetLocalClientHeight
|
|
40
|
+
local getMouseScreenPosX = BlzGetMouseScreenPosX
|
|
41
|
+
local getMouseScreenPosY = BlzGetMouseScreenPosY
|
|
42
|
+
local getOriginFrame = BlzGetOriginFrame
|
|
43
|
+
local location = Location
|
|
44
|
+
local pixelToFrameX = BlzPixelToFrameX
|
|
45
|
+
local pixelToFrameY = BlzPixelToFrameY
|
|
25
46
|
local ____rawget = _G.rawget
|
|
26
47
|
local rawset = _G.rawset
|
|
27
48
|
local invoke = Event.invoke
|
|
@@ -62,8 +83,10 @@ local function updateBorders()
|
|
|
62
83
|
local width4by3 = (w - h / 600 * 800) / 2
|
|
63
84
|
local pxtodpi = 0.6 / h
|
|
64
85
|
BlzFrameSetAbsPoint(leftBorder, FRAMEPOINT_TOPLEFT, -width4by3 * pxtodpi, 0.6)
|
|
86
|
+
BlzFrameSetScale(leftBorder, 1)
|
|
65
87
|
BlzFrameSetSize(leftBorder, 0.001, 0.6)
|
|
66
88
|
BlzFrameSetAbsPoint(rightBorder, FRAMEPOINT_TOPRIGHT, (-width4by3 + w) * pxtodpi, 0.6)
|
|
89
|
+
BlzFrameSetScale(rightBorder, 1)
|
|
67
90
|
BlzFrameSetSize(rightBorder, 0.001, 0.6)
|
|
68
91
|
end
|
|
69
92
|
local worldFrame = BlzGetOriginFrame(ORIGIN_FRAME_WORLD_FRAME, 0)
|
|
@@ -120,6 +143,80 @@ do
|
|
|
120
143
|
FramePoint.BOTTOM = FRAMEPOINT_BOTTOM
|
|
121
144
|
FramePoint.BOTTOM_RIGHT = FRAMEPOINT_BOTTOMRIGHT
|
|
122
145
|
end
|
|
146
|
+
local tooltipByFrame = setmetatable({}, {__mode = "k"})
|
|
147
|
+
local isMouseInsideLocallyByFrame = mutableLuaMap()
|
|
148
|
+
local mouseEnterLocalEventByFrame = mutableLuaMap()
|
|
149
|
+
local mouseLeaveLocalEventByFrame = mutableLuaMap()
|
|
150
|
+
local isLocalMouseTrackingStarted = false
|
|
151
|
+
--- Reused across ticks to avoid per-tick allocations: only the first `leftFrameCount` /
|
|
152
|
+
-- `enteredFrameCount` entries are meaningful, stale entries beyond them are never read and are
|
|
153
|
+
-- kept collectable by the weak values mode.
|
|
154
|
+
local leftFrames = setmetatable({}, {__mode = "v"})
|
|
155
|
+
local enteredFrames = setmetatable({}, {__mode = "v"})
|
|
156
|
+
--- All frames share a single poll which invokes every mouse leave event before any mouse enter
|
|
157
|
+
-- event within the same tick. With a poll per event, the invocation order would depend on the
|
|
158
|
+
-- event creation order instead, breaking listeners relying on the natural "leave the old frame,
|
|
159
|
+
-- then enter the new frame" order.
|
|
160
|
+
local function startLocalMouseTracking()
|
|
161
|
+
if isLocalMouseTrackingStarted then
|
|
162
|
+
return
|
|
163
|
+
end
|
|
164
|
+
isLocalMouseTrackingStarted = true
|
|
165
|
+
Timer.onPeriod[1 / 64]:addListener(function()
|
|
166
|
+
local leftFrameCount = 0
|
|
167
|
+
local enteredFrameCount = 0
|
|
168
|
+
for frame, wasMouseInside in pairs(isMouseInsideLocallyByFrame) do
|
|
169
|
+
local tooltip = tooltipByFrame[frame]
|
|
170
|
+
local isMouseInside = tooltip ~= nil and tooltip.visible
|
|
171
|
+
if isMouseInside ~= wasMouseInside then
|
|
172
|
+
isMouseInsideLocallyByFrame[frame] = isMouseInside
|
|
173
|
+
if isMouseInside then
|
|
174
|
+
enteredFrames[enteredFrameCount + 1] = frame
|
|
175
|
+
enteredFrameCount = enteredFrameCount + 1
|
|
176
|
+
else
|
|
177
|
+
leftFrames[leftFrameCount + 1] = frame
|
|
178
|
+
leftFrameCount = leftFrameCount + 1
|
|
179
|
+
end
|
|
180
|
+
end
|
|
181
|
+
end
|
|
182
|
+
for i = 1, leftFrameCount do
|
|
183
|
+
local event = mouseLeaveLocalEventByFrame[leftFrames[i]]
|
|
184
|
+
if event ~= nil then
|
|
185
|
+
Event.invoke(event)
|
|
186
|
+
end
|
|
187
|
+
end
|
|
188
|
+
for i = 1, enteredFrameCount do
|
|
189
|
+
local event = mouseEnterLocalEventByFrame[enteredFrames[i]]
|
|
190
|
+
if event ~= nil then
|
|
191
|
+
Event.invoke(event)
|
|
192
|
+
end
|
|
193
|
+
end
|
|
194
|
+
end)
|
|
195
|
+
end
|
|
196
|
+
local keyByAsyncInitOriginFrameType = luaMapOf(ORIGIN_FRAME_PORTRAIT_HP_TEXT, "hp", ORIGIN_FRAME_PORTRAIT_MANA_TEXT, "mana")
|
|
197
|
+
local asyncInitOriginFrameTypeByKey = luaMapInvert(keyByAsyncInitOriginFrameType)
|
|
198
|
+
local seenAsyncInitOriginFrameTypes = mutableLuaSet()
|
|
199
|
+
local seenAsyncInitOriginFrameTypesSocket = __TS__New(Socket)
|
|
200
|
+
local seenPlayersByAsyncInitOriginFrameType = mutableLuaMap()
|
|
201
|
+
seenAsyncInitOriginFrameTypesSocket.onMessage:addListener(function(player, key)
|
|
202
|
+
local asyncInitOriginFrameType = asyncInitOriginFrameTypeByKey[key]
|
|
203
|
+
if asyncInitOriginFrameType ~= nil then
|
|
204
|
+
getOrPut(seenPlayersByAsyncInitOriginFrameType, asyncInitOriginFrameType, mutableLuaSet)[player] = true
|
|
205
|
+
end
|
|
206
|
+
end)
|
|
207
|
+
local function haveAllPlayersSeenAsyncInitOriginFrameType(frame)
|
|
208
|
+
local players = seenPlayersByAsyncInitOriginFrameType[frame]
|
|
209
|
+
if players == nil then
|
|
210
|
+
return false
|
|
211
|
+
end
|
|
212
|
+
for ____, player in ipairs(Player.all) do
|
|
213
|
+
if player.isUser and player.isPlaying and not (players[player] ~= nil) then
|
|
214
|
+
return false
|
|
215
|
+
end
|
|
216
|
+
end
|
|
217
|
+
keyByAsyncInitOriginFrameType[frame] = nil
|
|
218
|
+
return true
|
|
219
|
+
end
|
|
123
220
|
____exports.Frame = __TS__Class()
|
|
124
221
|
local Frame = ____exports.Frame
|
|
125
222
|
Frame.name = "Frame"
|
|
@@ -152,6 +249,18 @@ function Frame.prototype.getEvent(self, eventType, c)
|
|
|
152
249
|
end
|
|
153
250
|
return self.events[eventId]
|
|
154
251
|
end
|
|
252
|
+
function Frame.prototype.trackMouseLocally(self)
|
|
253
|
+
if not (tooltipByFrame[self] ~= nil) then
|
|
254
|
+
____exports.Frame.SIMPLE_FRAME_TEST_CHILD.parent = self
|
|
255
|
+
local tooltip = ____exports.Frame.SIMPLE_FRAME_TEST_CHILD.parent == self and ____exports.Frame:createByType("SIMPLEFRAME", "", ____exports.Frame.CONSOLE_UI) or ____exports.Frame:createByType("FRAME", "", ____exports.Frame.GAME_UI)
|
|
256
|
+
____exports.Frame.SIMPLE_FRAME_TEST_CHILD.parent = ____exports.Frame.CONSOLE_UI
|
|
257
|
+
self:setTooltip(tooltip)
|
|
258
|
+
end
|
|
259
|
+
if not (isMouseInsideLocallyByFrame[self] ~= nil) then
|
|
260
|
+
isMouseInsideLocallyByFrame[self] = false
|
|
261
|
+
startLocalMouseTracking()
|
|
262
|
+
end
|
|
263
|
+
end
|
|
155
264
|
function Frame.prototype.hide(self)
|
|
156
265
|
self.hideCounter = self.hideCounter + 1
|
|
157
266
|
if self.hideCounter > 0 then
|
|
@@ -240,6 +349,7 @@ function Frame.prototype.setTextColor(self, color)
|
|
|
240
349
|
end
|
|
241
350
|
function Frame.prototype.setTooltip(self, tooltip)
|
|
242
351
|
BlzFrameSetTooltip(self.handle, tooltip.handle)
|
|
352
|
+
tooltipByFrame[self] = tooltip
|
|
243
353
|
end
|
|
244
354
|
function Frame.prototype.setMinMaxValue(self, minValue, maxValue)
|
|
245
355
|
BlzFrameSetMinMaxValue(self.handle, minValue, maxValue)
|
|
@@ -267,7 +377,16 @@ function Frame.createSimple(self, name, parent, createContext)
|
|
|
267
377
|
))
|
|
268
378
|
end
|
|
269
379
|
function Frame.create(self, name, parent, priority, createContext)
|
|
270
|
-
|
|
380
|
+
if parent == ____exports.Frame.CONSOLE_UI_BACKDROP then
|
|
381
|
+
local helper = ____exports.Frame.CONSOLE_UI_BACKDROP_UI_SCALE_HELPER_CHILD.handle
|
|
382
|
+
BlzFrameSetScale(helper, 1)
|
|
383
|
+
local frame = BlzCreateFrame(name, helper, priority or 0, createContext or 0)
|
|
384
|
+
BlzFrameSetScale(helper, ____exports.Frame.uiScale)
|
|
385
|
+
BlzFrameSetParent(frame, ____exports.Frame.CONSOLE_UI_BACKDROP.handle)
|
|
386
|
+
return self:of(frame)
|
|
387
|
+
else
|
|
388
|
+
return self:of(BlzCreateFrame(name, parent.handle, priority or 0, createContext or 0))
|
|
389
|
+
end
|
|
271
390
|
end
|
|
272
391
|
function Frame.createByType(self, typeName, name, parent, inherits, createContext)
|
|
273
392
|
return self:of(BlzCreateFrameByType(
|
|
@@ -288,14 +407,35 @@ function Frame.byOrigin(self, frameType, index)
|
|
|
288
407
|
if index == nil then
|
|
289
408
|
index = 0
|
|
290
409
|
end
|
|
291
|
-
|
|
410
|
+
local frame = getOriginFrame(frameType, index)
|
|
411
|
+
local asyncInitOriginFrameTypeKey = keyByAsyncInitOriginFrameType[frameType]
|
|
412
|
+
if index == 0 and asyncInitOriginFrameTypeKey ~= nil and not haveAllPlayersSeenAsyncInitOriginFrameType(frameType) then
|
|
413
|
+
if getHandleId(frame) == 0 or seenAsyncInitOriginFrameTypes[frameType] ~= nil then
|
|
414
|
+
location(0, 0)
|
|
415
|
+
else
|
|
416
|
+
seenAsyncInitOriginFrameTypes[frameType] = true
|
|
417
|
+
seenAsyncInitOriginFrameTypesSocket:send(asyncInitOriginFrameTypeKey)
|
|
418
|
+
end
|
|
419
|
+
end
|
|
420
|
+
return self:of(frame)
|
|
292
421
|
end
|
|
293
422
|
Frame.GAME_UI = ____exports.Frame:byOrigin(ORIGIN_FRAME_GAME_UI)
|
|
294
423
|
Frame.CONSOLE_UI = ____exports.Frame:byOrigin(ORIGIN_FRAME_SIMPLE_UI_PARENT)
|
|
295
424
|
Frame.CONSOLE_UI_BACKDROP = ____exports.Frame:byName("ConsoleUIBackdrop")
|
|
425
|
+
Frame.CONSOLE_UI_BACKDROP_UI_SCALE_HELPER_CHILD = ____exports.Frame:createByType("FRAME", "ConsoleUIBackdropUIScaleHelperChild", ____exports.Frame.CONSOLE_UI_BACKDROP)
|
|
426
|
+
Frame.CONSOLE_TOP_BAR = ____exports.Frame:byName("ConsoleTopBar")
|
|
427
|
+
Frame.CONSOLE_BOTTOM_BAR = ____exports.Frame:byName("ConsoleBottomBar")
|
|
296
428
|
Frame.WORLD = ____exports.Frame:byOrigin(ORIGIN_FRAME_WORLD_FRAME)
|
|
297
429
|
Frame.CHAT = ____exports.Frame:byOrigin(ORIGIN_FRAME_CHAT_MSG)
|
|
298
430
|
Frame.TIME_OF_DAY_CLOCK = ____exports.Frame.GAME_UI:getChild(5):getChild(0)
|
|
431
|
+
Frame.SIMPLE_FRAME_TEST_CHILD = ____exports.Frame:createByType("SIMPLEFRAME", "SimpleFrameTestParent", ____exports.Frame.CONSOLE_UI)
|
|
432
|
+
__TS__ObjectDefineProperty(
|
|
433
|
+
Frame,
|
|
434
|
+
"uiScale",
|
|
435
|
+
{get = function(self)
|
|
436
|
+
return ____exports.Frame.CONSOLE_BOTTOM_BAR.width / 0.8
|
|
437
|
+
end}
|
|
438
|
+
)
|
|
299
439
|
__TS__ObjectDefineProperty(
|
|
300
440
|
Frame,
|
|
301
441
|
"leftBorder",
|
|
@@ -320,27 +460,21 @@ __TS__ObjectDefineProperty(
|
|
|
320
460
|
Frame,
|
|
321
461
|
"minX",
|
|
322
462
|
{get = function(self)
|
|
323
|
-
local
|
|
324
|
-
|
|
325
|
-
local width4by3 = (w - h / 600 * 800) / 2
|
|
326
|
-
local pxtodpi = 0.6 / h
|
|
327
|
-
return -width4by3 * pxtodpi
|
|
463
|
+
local minX = getFrameMinXMaxX()
|
|
464
|
+
return minX
|
|
328
465
|
end}
|
|
329
466
|
)
|
|
330
467
|
__TS__ObjectDefineProperty(
|
|
331
468
|
Frame,
|
|
332
469
|
"maxX",
|
|
333
470
|
{get = function(self)
|
|
334
|
-
local
|
|
335
|
-
|
|
336
|
-
local width4by3 = (w - h / 600 * 800) / 2
|
|
337
|
-
local pxtodpi = 0.6 / h
|
|
338
|
-
return (-width4by3 + w) * pxtodpi
|
|
471
|
+
local ____, maxX = getFrameMinXMaxX()
|
|
472
|
+
return maxX
|
|
339
473
|
end}
|
|
340
474
|
)
|
|
341
475
|
Frame.centerX = 0.4
|
|
342
|
-
Frame.minY =
|
|
343
|
-
Frame.maxY =
|
|
476
|
+
Frame.minY = FRAME_MIN_Y
|
|
477
|
+
Frame.maxY = FRAME_MAX_Y
|
|
344
478
|
Frame.centerY = 0.3
|
|
345
479
|
__TS__SetDescriptor(
|
|
346
480
|
Frame.prototype,
|
|
@@ -597,6 +731,30 @@ __TS__SetDescriptor(
|
|
|
597
731
|
end},
|
|
598
732
|
true
|
|
599
733
|
)
|
|
734
|
+
__TS__SetDescriptor(
|
|
735
|
+
Frame.prototype,
|
|
736
|
+
"mouseEnterLocalEvent",
|
|
737
|
+
{get = function(self)
|
|
738
|
+
local event = __TS__New(Event)
|
|
739
|
+
self:trackMouseLocally()
|
|
740
|
+
mouseEnterLocalEventByFrame[self] = event
|
|
741
|
+
rawset(self, "mouseEnterLocalEvent", event)
|
|
742
|
+
return event
|
|
743
|
+
end},
|
|
744
|
+
true
|
|
745
|
+
)
|
|
746
|
+
__TS__SetDescriptor(
|
|
747
|
+
Frame.prototype,
|
|
748
|
+
"mouseLeaveLocalEvent",
|
|
749
|
+
{get = function(self)
|
|
750
|
+
local event = __TS__New(Event)
|
|
751
|
+
self:trackMouseLocally()
|
|
752
|
+
mouseLeaveLocalEventByFrame[self] = event
|
|
753
|
+
rawset(self, "mouseLeaveLocalEvent", event)
|
|
754
|
+
return event
|
|
755
|
+
end},
|
|
756
|
+
true
|
|
757
|
+
)
|
|
600
758
|
__TS__SetDescriptor(
|
|
601
759
|
Frame.prototype,
|
|
602
760
|
"popupMenuItemChangeEvent",
|
|
@@ -699,6 +857,18 @@ __TS__SetDescriptor(
|
|
|
699
857
|
end},
|
|
700
858
|
true
|
|
701
859
|
)
|
|
860
|
+
__TS__SetDescriptor(
|
|
861
|
+
Frame.prototype,
|
|
862
|
+
"children",
|
|
863
|
+
{get = function(self)
|
|
864
|
+
local children = {}
|
|
865
|
+
for i = 0, self:getChildrenCount() - 1 do
|
|
866
|
+
children[i + 1] = self:getChild(i)
|
|
867
|
+
end
|
|
868
|
+
return children
|
|
869
|
+
end},
|
|
870
|
+
true
|
|
871
|
+
)
|
|
702
872
|
__TS__ObjectDefineProperty(
|
|
703
873
|
Frame,
|
|
704
874
|
"onKeyPress",
|
|
@@ -820,7 +990,7 @@ __TS__ObjectDefineProperty(
|
|
|
820
990
|
)
|
|
821
991
|
__TS__ObjectDefineProperty(
|
|
822
992
|
Frame,
|
|
823
|
-
"
|
|
993
|
+
"mouseMoveEvent",
|
|
824
994
|
{get = function(self)
|
|
825
995
|
local event = __TS__New(
|
|
826
996
|
TriggerEvent,
|
|
@@ -834,46 +1004,32 @@ __TS__ObjectDefineProperty(
|
|
|
834
1004
|
) end,
|
|
835
1005
|
function() return Player:of(GetTriggerPlayer()), BlzGetTriggerPlayerMouseX(), BlzGetTriggerPlayerMouseY() end
|
|
836
1006
|
)
|
|
837
|
-
rawset(____exports.Frame, "
|
|
1007
|
+
rawset(____exports.Frame, "mouseMoveEvent", event)
|
|
838
1008
|
return event
|
|
839
1009
|
end}
|
|
840
1010
|
)
|
|
841
1011
|
__TS__ObjectDefineProperty(
|
|
842
1012
|
Frame,
|
|
843
|
-
"
|
|
1013
|
+
"mouseMoveLocalEvent",
|
|
844
1014
|
{get = function(self)
|
|
845
|
-
local invoke = Event.invoke
|
|
846
1015
|
local event = __TS__New(Event)
|
|
847
|
-
local
|
|
848
|
-
local
|
|
849
|
-
local syncCamX = getCameraTargetPositionX()
|
|
850
|
-
local syncCamY = getCameraTargetPositionY()
|
|
851
|
-
local lastX = syncX
|
|
852
|
-
local lastY = syncY
|
|
853
|
-
self.onMouseMove:addListener(function(player, x, y)
|
|
854
|
-
if player.isLocal then
|
|
855
|
-
syncX = x
|
|
856
|
-
syncY = y
|
|
857
|
-
syncCamX = getCameraTargetPositionX()
|
|
858
|
-
syncCamY = getCameraTargetPositionY()
|
|
859
|
-
lastX = x
|
|
860
|
-
lastY = y
|
|
861
|
-
invoke(event, x, y)
|
|
862
|
-
end
|
|
863
|
-
end)
|
|
1016
|
+
local lastX = 0
|
|
1017
|
+
local lastY = 0
|
|
864
1018
|
Timer.onPeriod[1 / 64]:addListener(function()
|
|
865
|
-
if
|
|
1019
|
+
if getLocalClientHeight() == 0 then
|
|
866
1020
|
return
|
|
867
1021
|
end
|
|
868
|
-
local x
|
|
869
|
-
|
|
870
|
-
|
|
1022
|
+
local x, y, ____, isDefinite = frameCoordinatesToWorld(
|
|
1023
|
+
pixelToFrameX(getMouseScreenPosX()),
|
|
1024
|
+
pixelToFrameY(getMouseScreenPosY())
|
|
1025
|
+
)
|
|
1026
|
+
if isDefinite and (x ~= lastX or y ~= lastY) then
|
|
871
1027
|
lastX = x
|
|
872
1028
|
lastY = y
|
|
873
1029
|
invoke(event, x, y)
|
|
874
1030
|
end
|
|
875
1031
|
end)
|
|
876
|
-
rawset(____exports.Frame, "
|
|
1032
|
+
rawset(____exports.Frame, "mouseMoveLocalEvent", event)
|
|
877
1033
|
return event
|
|
878
1034
|
end}
|
|
879
1035
|
)
|
package/core/types/group.d.ts
CHANGED
package/core/types/handle.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/** @noSelfInFile */
|
|
2
2
|
import { Event } from "../../event";
|
|
3
|
+
import { AttributesHolder } from "../../attributes";
|
|
3
4
|
export type HandleConstructor<H extends jhandle, T extends Handle<H>, Args extends any[]> = new (handle: H, ...args: Args) => T;
|
|
4
5
|
export type HandleDestructor = {
|
|
5
6
|
readonly __handleDestructor: unique symbol;
|
|
@@ -11,7 +12,7 @@ type NoOverride = {
|
|
|
11
12
|
declare const enum HandlePropertyKey {
|
|
12
13
|
STATE = 0
|
|
13
14
|
}
|
|
14
|
-
export declare class Handle<H extends jhandle, DestroyParameters extends any[] = []> implements Destroyable {
|
|
15
|
+
export declare class Handle<H extends jhandle, DestroyParameters extends any[] = []> extends AttributesHolder implements Destroyable {
|
|
15
16
|
readonly handle: H;
|
|
16
17
|
private [HandlePropertyKey.STATE]?;
|
|
17
18
|
private onDestroyEvent?;
|
package/core/types/handle.lua
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
local ____lualib = require("lualib_bundle")
|
|
2
2
|
local __TS__Class = ____lualib.__TS__Class
|
|
3
|
+
local __TS__ClassExtends = ____lualib.__TS__ClassExtends
|
|
3
4
|
local __TS__New = ____lualib.__TS__New
|
|
4
5
|
local __TS__Delete = ____lualib.__TS__Delete
|
|
5
6
|
local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
|
|
@@ -12,13 +13,19 @@ local getClass = ____reflection.getClass
|
|
|
12
13
|
local getSuperclass = ____reflection.getSuperclass
|
|
13
14
|
local ____exception = require("exception")
|
|
14
15
|
local IllegalStateException = ____exception.IllegalStateException
|
|
16
|
+
local ____attributes = require("attributes")
|
|
17
|
+
local AttributesHolder = ____attributes.AttributesHolder
|
|
18
|
+
local ____preconditions = require("utility.preconditions")
|
|
19
|
+
local checkNotNull = ____preconditions.checkNotNull
|
|
15
20
|
local getHandleId = GetHandleId
|
|
16
21
|
local onCreateEventByHandleConstructor = {}
|
|
17
22
|
local onDestroyEventByHandleConstructor = {}
|
|
18
23
|
____exports.Handle = __TS__Class()
|
|
19
24
|
local Handle = ____exports.Handle
|
|
20
25
|
Handle.name = "Handle"
|
|
26
|
+
__TS__ClassExtends(Handle, AttributesHolder)
|
|
21
27
|
function Handle.prototype.____constructor(self, handle)
|
|
28
|
+
AttributesHolder.prototype.____constructor(self)
|
|
22
29
|
self[0] = 0
|
|
23
30
|
local id = getHandleId(handle)
|
|
24
31
|
local clazz = self.constructor
|
|
@@ -53,6 +60,9 @@ function Handle.invokeOnCreateEvent(self, clazz, handle)
|
|
|
53
60
|
Event.invoke(onCreateEvent, handle)
|
|
54
61
|
end
|
|
55
62
|
end
|
|
63
|
+
function Handle.isWrapped(self, handle)
|
|
64
|
+
return self.memoized[getHandleId(handle)] ~= nil
|
|
65
|
+
end
|
|
56
66
|
function Handle.prototype.__tostring(self)
|
|
57
67
|
return (self.constructor.name .. "@") .. tostring(getHandleId(self.handle))
|
|
58
68
|
end
|
|
@@ -61,17 +71,12 @@ function Handle.prototype.onDestroy(self, ...)
|
|
|
61
71
|
return nil
|
|
62
72
|
end
|
|
63
73
|
function Handle.prototype.destroy(self, ...)
|
|
74
|
+
if self[0] == 2 or self[0] == 3 then
|
|
75
|
+
return nil
|
|
76
|
+
end
|
|
64
77
|
local clazz = self.constructor
|
|
65
78
|
local id = getHandleId(self.handle)
|
|
66
|
-
|
|
67
|
-
error(
|
|
68
|
-
__TS__New(
|
|
69
|
-
IllegalStateException,
|
|
70
|
-
"Double-destroy run for handle " .. tostring(id)
|
|
71
|
-
),
|
|
72
|
-
0
|
|
73
|
-
)
|
|
74
|
-
end
|
|
79
|
+
checkNotNull(clazz.memoized[id])
|
|
75
80
|
self[0] = 2
|
|
76
81
|
if self.onDestroyEvent then
|
|
77
82
|
Event.invoke(self.onDestroyEvent)
|
package/core/types/image.d.ts
CHANGED
package/core/types/item.d.ts
CHANGED
package/core/types/item.lua
CHANGED
package/core/types/missile.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ export declare class Missile implements Destroyable {
|
|
|
5
5
|
readonly retarget: (this: void, target: Unit | Vec2) => void;
|
|
6
6
|
private readonly update;
|
|
7
7
|
protected constructor(effect: jeffect, retarget: (this: void, target: Unit | Vec2) => void, update: (this: Missile) => boolean);
|
|
8
|
-
static launch(config: Readonly<{
|
|
8
|
+
static launch<T extends any[]>(config: Readonly<{
|
|
9
9
|
art: string;
|
|
10
10
|
scale?: number;
|
|
11
11
|
acceleration?: number;
|
|
@@ -15,7 +15,7 @@ export declare class Missile implements Destroyable {
|
|
|
15
15
|
maxSpeed?: number;
|
|
16
16
|
sourceOffset?: Vec2;
|
|
17
17
|
targetOffset?: Vec2;
|
|
18
|
-
}>, source: Unit | Vec2, target: Unit | Vec2, onArrival: (missile: Missile, success: boolean) => void): Missile;
|
|
18
|
+
}>, source: Unit | Vec2, target: Unit | Vec2, onArrival: (missile: Missile, success: boolean, ...parameters: T) => void, ...parameters: T): Missile;
|
|
19
19
|
destroy(): void;
|
|
20
20
|
}
|
|
21
21
|
export declare namespace Missile {
|
package/core/types/missile.lua
CHANGED
|
@@ -41,7 +41,8 @@ function Missile.prototype.____constructor(self, effect, retarget, update)
|
|
|
41
41
|
end
|
|
42
42
|
head = self
|
|
43
43
|
end
|
|
44
|
-
function Missile.launch(self, config, source, target, onArrival)
|
|
44
|
+
function Missile.launch(self, config, source, target, onArrival, ...)
|
|
45
|
+
local parameters = {...}
|
|
45
46
|
local ____opt_0 = config.sourceOffset
|
|
46
47
|
local offsetX = ____opt_0 and ____opt_0.x or 0
|
|
47
48
|
local ____opt_2 = config.sourceOffset
|
|
@@ -142,7 +143,12 @@ function Missile.launch(self, config, source, target, onArrival)
|
|
|
142
143
|
visualPositionArcY = currentVisualTargetY
|
|
143
144
|
visualPositionArcZ = currentVisualTargetZ
|
|
144
145
|
retarget = false
|
|
145
|
-
safeCall(
|
|
146
|
+
safeCall(
|
|
147
|
+
onArrival,
|
|
148
|
+
self,
|
|
149
|
+
true,
|
|
150
|
+
table.unpack(parameters)
|
|
151
|
+
)
|
|
146
152
|
return not retarget
|
|
147
153
|
end
|
|
148
154
|
if arcVSpeed ~= 0 and (currentTargetX ~= initialTargetX or currentTargetY ~= initialTargetY) then
|
package/core/types/player.d.ts
CHANGED
|
@@ -7,6 +7,18 @@ import { UpgradeId } from "../../engine/object-data/entry/upgrade";
|
|
|
7
7
|
interface Unit {
|
|
8
8
|
handle: junit;
|
|
9
9
|
}
|
|
10
|
+
export declare const enum PlayerAllianceType {
|
|
11
|
+
PASSIVE = 0,
|
|
12
|
+
RESCUABLE = 1,
|
|
13
|
+
HELP_REQUEST = 2,
|
|
14
|
+
HELP_RESPONSE = 3,
|
|
15
|
+
SHARED_XP = 4,
|
|
16
|
+
SHARED_SPELLS = 5,
|
|
17
|
+
SHARED_VISION = 6,
|
|
18
|
+
SHARED_VISION_FORCED = 7,
|
|
19
|
+
SHARED_CONTROL = 8,
|
|
20
|
+
SHARED_ADVANCED_CONTROL = 9
|
|
21
|
+
}
|
|
10
22
|
export declare class Player extends Handle<jplayer> {
|
|
11
23
|
static readonly all: Player[];
|
|
12
24
|
static readonly local: Player;
|
|
@@ -16,6 +28,7 @@ export declare class Player extends Handle<jplayer> {
|
|
|
16
28
|
static readonly neutralExtra: Player;
|
|
17
29
|
private static events;
|
|
18
30
|
readonly id: number;
|
|
31
|
+
readonly slotState: jplayerslotstate;
|
|
19
32
|
constructor(handle: jplayer);
|
|
20
33
|
onDestroy(): HandleDestructor;
|
|
21
34
|
toString(): string;
|
|
@@ -33,15 +46,17 @@ export declare class Player extends Handle<jplayer> {
|
|
|
33
46
|
get isUser(): boolean;
|
|
34
47
|
get isPlaying(): boolean;
|
|
35
48
|
get controller(): jmapcontrol;
|
|
36
|
-
get slotState(): jplayerslotstate;
|
|
37
49
|
clearSelection(): void;
|
|
38
50
|
selectSingle(unit: Unit): void;
|
|
39
51
|
select(unit: Unit): void;
|
|
40
52
|
deselect(unit: Unit): void;
|
|
53
|
+
setRaceSkin(racePreference: jracepreference): void;
|
|
41
54
|
forceUIKey(key: string): void;
|
|
42
55
|
forceUICancel(): void;
|
|
43
56
|
isAllyOf(other: Player): boolean;
|
|
44
57
|
isEnemyOf(other: Player): boolean;
|
|
58
|
+
setAlliance(other: Player, type: PlayerAllianceType, value: boolean): void;
|
|
59
|
+
getAlliance(other: Player, type: PlayerAllianceType): boolean;
|
|
45
60
|
setAbilityAvailable(abilityId: number, available: boolean): void;
|
|
46
61
|
getMaximumUpgradeLevel(upgradeId: UpgradeId): number;
|
|
47
62
|
setMaximumUpgradeLevel(upgradeId: UpgradeId, maximumLevel: number): void;
|
|
@@ -50,6 +65,7 @@ export declare class Player extends Handle<jplayer> {
|
|
|
50
65
|
setUpgradeLevel(upgradeId: UpgradeId, level: number): void;
|
|
51
66
|
private static getEvent;
|
|
52
67
|
private static getMouseEvent;
|
|
68
|
+
static get allianceChangedEvent(): Readonly<Record<PlayerAllianceType, Event<[Player]>>>;
|
|
53
69
|
static get onLeave(): Event<[Player]>;
|
|
54
70
|
static get onMouseDown(): Event<[Player, jmousebuttontype]>;
|
|
55
71
|
static get onMouseUp(): Event<[Player, jmousebuttontype]>;
|
|
@@ -66,6 +82,7 @@ export declare class Player extends Handle<jplayer> {
|
|
|
66
82
|
};
|
|
67
83
|
};
|
|
68
84
|
static get onChat(): Event<[player: Player, message: string]>;
|
|
85
|
+
static readonly colorChangedEvent: Event<[Player]>;
|
|
69
86
|
static byId(id: number): Player | undefined;
|
|
70
87
|
}
|
|
71
88
|
export {};
|