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/attributes.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/** @noSelfInFile */
|
|
2
|
+
declare const marker: {};
|
|
3
|
+
export type Attribute<T> = {
|
|
4
|
+
readonly __attribute: unique symbol;
|
|
5
|
+
readonly __type: T;
|
|
6
|
+
readonly __marker: typeof marker;
|
|
7
|
+
} & symbol;
|
|
8
|
+
export declare const attribute: <T>() => Attribute<T>;
|
|
9
|
+
export declare const isAttribute: (value: unknown) => value is Attribute<unknown>;
|
|
10
|
+
export declare namespace Attribute {
|
|
11
|
+
const create: <T>() => Attribute<T>;
|
|
12
|
+
}
|
|
13
|
+
export declare class AttributesHolder {
|
|
14
|
+
readonly get: (<T>(attribute: Attribute<T>) => T | undefined) & LuaExtension<"TableGetMethod">;
|
|
15
|
+
readonly set: (<T>(attribute: Attribute<T>, value: T | undefined) => void) & LuaExtension<"TableSetMethod">;
|
|
16
|
+
getOrPut<T>(attribute: Attribute<T>, defaultValue: () => T): T;
|
|
17
|
+
}
|
|
18
|
+
export {};
|
package/attributes.lua
ADDED
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__Class = ____lualib.__TS__Class
|
|
3
|
+
local ____exports = {}
|
|
4
|
+
local marker = {}
|
|
5
|
+
____exports.attribute = function()
|
|
6
|
+
return {__marker = marker}
|
|
7
|
+
end
|
|
8
|
+
____exports.isAttribute = function(value)
|
|
9
|
+
return type(value) == "table" and rawget(value, "__marker") == marker
|
|
10
|
+
end
|
|
11
|
+
____exports.Attribute = {}
|
|
12
|
+
local Attribute = ____exports.Attribute
|
|
13
|
+
do
|
|
14
|
+
Attribute.create = function()
|
|
15
|
+
return {__marker = marker}
|
|
16
|
+
end
|
|
17
|
+
end
|
|
18
|
+
____exports.AttributesHolder = __TS__Class()
|
|
19
|
+
local AttributesHolder = ____exports.AttributesHolder
|
|
20
|
+
AttributesHolder.name = "AttributesHolder"
|
|
21
|
+
function AttributesHolder.prototype.____constructor(self)
|
|
22
|
+
end
|
|
23
|
+
function AttributesHolder.prototype.getOrPut(self, attribute, defaultValue)
|
|
24
|
+
local value = self[attribute]
|
|
25
|
+
if value ~= nil then
|
|
26
|
+
return value
|
|
27
|
+
end
|
|
28
|
+
value = defaultValue()
|
|
29
|
+
self[attribute] = value
|
|
30
|
+
return value
|
|
31
|
+
end
|
|
32
|
+
return ____exports
|
package/binaryreader.d.ts
CHANGED
package/binaryreader.lua
CHANGED
|
@@ -9,6 +9,9 @@ function BinaryReader.prototype.____constructor(self, data)
|
|
|
9
9
|
self.i = 1
|
|
10
10
|
self.s = data
|
|
11
11
|
end
|
|
12
|
+
function BinaryReader.prototype.__tostring(self)
|
|
13
|
+
return self.s
|
|
14
|
+
end
|
|
12
15
|
function BinaryReader.prototype.read(self, fmt)
|
|
13
16
|
local value, pos = ____unpack(">" .. fmt, self.s, self.i)
|
|
14
17
|
self.i = pos
|
package/config.d.ts
ADDED
package/config.lua
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__Class = ____lualib.__TS__Class
|
|
3
|
+
local ____exports = {}
|
|
4
|
+
____exports.WarscriptConfig = __TS__Class()
|
|
5
|
+
local WarscriptConfig = ____exports.WarscriptConfig
|
|
6
|
+
WarscriptConfig.name = "WarscriptConfig"
|
|
7
|
+
function WarscriptConfig.prototype.____constructor(self)
|
|
8
|
+
end
|
|
9
|
+
WarscriptConfig.AUTOMATICALLY_SET_UNIT_TYPE_PORTRAIT_MODEL_PATH = true
|
|
10
|
+
return ____exports
|
package/core/dummy.lua
CHANGED
|
@@ -15,6 +15,8 @@ local ____preconditions = require("utility.preconditions")
|
|
|
15
15
|
local checkNotNull = ____preconditions.checkNotNull
|
|
16
16
|
local ____ability = require("engine.internal.ability")
|
|
17
17
|
local getOrderIdByAbilityTypeId = ____ability.getOrderIdByAbilityTypeId
|
|
18
|
+
local ____unit_2Dability_2Dlevel_2Dnatives = require("engine.internal.misc.unit-ability-level-natives")
|
|
19
|
+
local rawSetUnitAbilityLevel = ____unit_2Dability_2Dlevel_2Dnatives.rawSetUnitAbilityLevel
|
|
18
20
|
local neutralVictim = Player.neutralVictim.handle
|
|
19
21
|
____exports.InstantDummyCaster = __TS__Class()
|
|
20
22
|
local InstantDummyCaster = ____exports.InstantDummyCaster
|
|
@@ -42,7 +44,7 @@ function InstantDummyCaster.prototype.prepare(self, owner, abilityId, level)
|
|
|
42
44
|
if type(abilityId) == "number" then
|
|
43
45
|
UnitAddAbility(dummy, abilityId)
|
|
44
46
|
if type(level) == "number" then
|
|
45
|
-
|
|
47
|
+
rawSetUnitAbilityLevel(dummy, abilityId, level + 1)
|
|
46
48
|
else
|
|
47
49
|
level(UnitAbility:of(
|
|
48
50
|
checkNotNull(BlzGetUnitAbility(dummy, abilityId)),
|
|
@@ -56,7 +58,7 @@ function InstantDummyCaster.prototype.prepare(self, owner, abilityId, level)
|
|
|
56
58
|
end
|
|
57
59
|
if __TS__ArrayIsArray(level) then
|
|
58
60
|
for i = 1, #abilityId do
|
|
59
|
-
|
|
61
|
+
rawSetUnitAbilityLevel(dummy, abilityId[i], level[i] + 1)
|
|
60
62
|
end
|
|
61
63
|
else
|
|
62
64
|
local abilities = {}
|
package/core/types/effect.d.ts
CHANGED
|
@@ -4,28 +4,46 @@ import { Widget } from "./widget";
|
|
|
4
4
|
import { PlayerColor } from "./playerColor";
|
|
5
5
|
declare const enum EffectPropertyKey {
|
|
6
6
|
COLOR = 100,
|
|
7
|
-
PITCH = 101
|
|
7
|
+
PITCH = 101,
|
|
8
|
+
ROLL = 102,
|
|
9
|
+
BLEND_TIME = 103,
|
|
10
|
+
TIME_SCALE = 104
|
|
8
11
|
}
|
|
9
12
|
export type EffectParameters = {
|
|
13
|
+
readonly delay?: number;
|
|
10
14
|
readonly scale?: number;
|
|
11
15
|
readonly color?: PlayerColor;
|
|
16
|
+
readonly pitch?: number;
|
|
17
|
+
readonly roll?: number;
|
|
18
|
+
readonly detached?: boolean;
|
|
19
|
+
readonly zOffset?: number;
|
|
20
|
+
readonly scaleZOffset?: boolean;
|
|
12
21
|
};
|
|
13
22
|
export declare class Effect extends Handle<jeffect> {
|
|
14
23
|
private [EffectPropertyKey.COLOR]?;
|
|
15
24
|
private [EffectPropertyKey.PITCH]?;
|
|
25
|
+
private [EffectPropertyKey.ROLL]?;
|
|
26
|
+
private [EffectPropertyKey.BLEND_TIME]?;
|
|
27
|
+
private [EffectPropertyKey.TIME_SCALE]?;
|
|
16
28
|
protected onDestroy(): HandleDestructor;
|
|
29
|
+
setAnimation(animation: string): void;
|
|
30
|
+
queueAnimation(animation: string): void;
|
|
31
|
+
get blendTime(): number;
|
|
32
|
+
set blendTime(blendTime: number);
|
|
33
|
+
get timeScale(): number;
|
|
34
|
+
set timeScale(timeScale: number);
|
|
17
35
|
get color(): PlayerColor;
|
|
18
36
|
set color(color: PlayerColor);
|
|
19
37
|
get scale(): number;
|
|
20
38
|
set scale(scale: number);
|
|
21
39
|
get pitch(): number;
|
|
22
40
|
set pitch(pitch: number);
|
|
23
|
-
|
|
24
|
-
|
|
41
|
+
get roll(): number;
|
|
42
|
+
set roll(roll: number);
|
|
43
|
+
static create<T extends Effect>(this: typeof Effect & (new (handle: jeffect) => T), modelPath: string, xOrWidget: number | Widget, yOrAttachmentPoint?: number | string, parameters?: EffectParameters): T;
|
|
25
44
|
static flash(modelPath: string, ...args: [
|
|
26
|
-
...pointOrWidget: [x: number, y: number] | [widget: Widget, attachmentPoint
|
|
27
|
-
...parametersOrDuration: [
|
|
45
|
+
...pointOrWidget: [x: number, y: number] | [widget: Widget, attachmentPoint?: string],
|
|
46
|
+
...parametersOrDuration: [parametersOrDuration?: EffectParameters | number] | [duration?: number, parameters?: EffectParameters]
|
|
28
47
|
]): void;
|
|
29
|
-
static flashTarget(model: string, target: Widget, attachPoint: string, duration?: number): void;
|
|
30
48
|
}
|
|
31
49
|
export {};
|
package/core/types/effect.lua
CHANGED
|
@@ -2,8 +2,9 @@ local ____lualib = require("lualib_bundle")
|
|
|
2
2
|
local __TS__Class = ____lualib.__TS__Class
|
|
3
3
|
local __TS__ClassExtends = ____lualib.__TS__ClassExtends
|
|
4
4
|
local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
|
|
5
|
+
local __TS__InstanceOf = ____lualib.__TS__InstanceOf
|
|
5
6
|
local ____exports = {}
|
|
6
|
-
local dummyPlayer
|
|
7
|
+
local dummyPlayer, addSpecialEffectInternal, flash
|
|
7
8
|
local ____handle = require("core.types.handle")
|
|
8
9
|
local Handle = ____handle.Handle
|
|
9
10
|
local ____playerColor = require("core.types.playerColor")
|
|
@@ -12,96 +13,56 @@ local ____player = require("core.types.player")
|
|
|
12
13
|
local Player = ____player.Player
|
|
13
14
|
local ____timer = require("core.types.timer")
|
|
14
15
|
local Timer = ____timer.Timer
|
|
15
|
-
local
|
|
16
|
-
local
|
|
17
|
-
local mathRad = math.rad
|
|
16
|
+
local ____unit = require("engine.internal.unit")
|
|
17
|
+
local Unit = ____unit.Unit
|
|
18
18
|
local addSpecialEffect = AddSpecialEffect
|
|
19
19
|
local addSpecialEffectTarget = AddSpecialEffectTarget
|
|
20
20
|
local destroyEffect = DestroyEffect
|
|
21
|
+
local getLocationZ = GetLocationZ
|
|
21
22
|
local getSpecialEffectScale = BlzGetSpecialEffectScale
|
|
22
|
-
local
|
|
23
|
-
local
|
|
24
|
-
local
|
|
23
|
+
local moveLocation = MoveLocation
|
|
24
|
+
local queueSpecialEffectAnimation = BlzQueueSpecialEffectAnimation
|
|
25
|
+
local setSpecialEffectAnimation = BlzSetSpecialEffectAnimation
|
|
26
|
+
local setSpecialEffectAnimationBlendTime = BlzSetSpecialEffectAnimationBlendTime
|
|
27
|
+
local setSpecialEffectTimeScale = BlzSetSpecialEffectTimeScale
|
|
25
28
|
local setSpecialEffectColorByPlayer = BlzSetSpecialEffectColorByPlayer
|
|
26
|
-
local
|
|
27
|
-
local
|
|
28
|
-
local
|
|
29
|
-
local
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
alternateex = SUBANIM_TYPE_ALTERNATE_EX,
|
|
45
|
-
chain = SUBANIM_TYPE_CHAINLIGHTNING,
|
|
46
|
-
channel = SUBANIM_TYPE_CHANNEL,
|
|
47
|
-
complete = SUBANIM_TYPE_COMPLETE,
|
|
48
|
-
critical = SUBANIM_TYPE_CRITICAL,
|
|
49
|
-
defend = SUBANIM_TYPE_DEFEND,
|
|
50
|
-
drain = SUBANIM_TYPE_DRAIN,
|
|
51
|
-
eattree = SUBANIM_TYPE_EATTREE,
|
|
52
|
-
fast = SUBANIM_TYPE_FAST,
|
|
53
|
-
fill = SUBANIM_TYPE_FILL,
|
|
54
|
-
flail = SUBANIM_TYPE_FLAIL,
|
|
55
|
-
flesh = SUBANIM_TYPE_FLESH,
|
|
56
|
-
fifth = SUBANIM_TYPE_FIFTH,
|
|
57
|
-
fire = SUBANIM_TYPE_FIRE,
|
|
58
|
-
first = SUBANIM_TYPE_FIRST,
|
|
59
|
-
five = SUBANIM_TYPE_FIVE,
|
|
60
|
-
four = SUBANIM_TYPE_FOUR,
|
|
61
|
-
fourth = SUBANIM_TYPE_FOURTH,
|
|
62
|
-
gold = SUBANIM_TYPE_GOLD,
|
|
63
|
-
hit = SUBANIM_TYPE_HIT,
|
|
64
|
-
large = SUBANIM_TYPE_LARGE,
|
|
65
|
-
left = SUBANIM_TYPE_LEFT,
|
|
66
|
-
light = SUBANIM_TYPE_LIGHT,
|
|
67
|
-
looping = SUBANIM_TYPE_LOOPING,
|
|
68
|
-
lumber = SUBANIM_TYPE_LUMBER,
|
|
69
|
-
medium = SUBANIM_TYPE_MEDIUM,
|
|
70
|
-
moderate = SUBANIM_TYPE_MODERATE,
|
|
71
|
-
off = SUBANIM_TYPE_OFF,
|
|
72
|
-
one = SUBANIM_TYPE_ONE,
|
|
73
|
-
puke = SUBANIM_TYPE_PUKE,
|
|
74
|
-
ready = SUBANIM_TYPE_READY,
|
|
75
|
-
right = SUBANIM_TYPE_RIGHT,
|
|
76
|
-
second = SUBANIM_TYPE_SECOND,
|
|
77
|
-
severe = SUBANIM_TYPE_SEVERE,
|
|
78
|
-
slam = SUBANIM_TYPE_SLAM,
|
|
79
|
-
small = SUBANIM_TYPE_SMALL,
|
|
80
|
-
spiked = SUBANIM_TYPE_SPIKED,
|
|
81
|
-
spin = SUBANIM_TYPE_SPIN,
|
|
82
|
-
swim = SUBANIM_TYPE_SWIM,
|
|
83
|
-
talk = SUBANIM_TYPE_TALK,
|
|
84
|
-
third = SUBANIM_TYPE_THIRD,
|
|
85
|
-
three = SUBANIM_TYPE_THREE,
|
|
86
|
-
throw = SUBANIM_TYPE_THROW,
|
|
87
|
-
two = SUBANIM_TYPE_TWO,
|
|
88
|
-
turn = SUBANIM_TYPE_TURN,
|
|
89
|
-
victory = SUBANIM_TYPE_VICTORY,
|
|
90
|
-
work = SUBANIM_TYPE_WORK,
|
|
91
|
-
wounded = SUBANIM_TYPE_WOUNDED,
|
|
92
|
-
upgrade = SUBANIM_TYPE_UPGRADE
|
|
93
|
-
}
|
|
29
|
+
local setSpecialEffectPitch = BlzSetSpecialEffectPitch
|
|
30
|
+
local setSpecialEffectRoll = BlzSetSpecialEffectRoll
|
|
31
|
+
local setSpecialEffectScale = BlzSetSpecialEffectScale
|
|
32
|
+
local setSpecialEffectZ = BlzSetSpecialEffectZ
|
|
33
|
+
local mathRad = math.rad
|
|
34
|
+
local location = Location(0, 0)
|
|
35
|
+
local function setSpecialEffectPitchDegrees(effect, pitch)
|
|
36
|
+
setSpecialEffectPitch(
|
|
37
|
+
effect,
|
|
38
|
+
-mathRad(pitch)
|
|
39
|
+
)
|
|
40
|
+
end
|
|
41
|
+
local function setSpecialEffectRollDegrees(effect, roll)
|
|
42
|
+
setSpecialEffectRoll(
|
|
43
|
+
effect,
|
|
44
|
+
-mathRad(roll)
|
|
45
|
+
)
|
|
46
|
+
end
|
|
94
47
|
local function setSpecialEffectColor(effect, color)
|
|
95
48
|
local dummyColor = dummyPlayer.color
|
|
96
49
|
dummyPlayer.color = color
|
|
97
50
|
setSpecialEffectColorByPlayer(effect, dummyPlayer.handle)
|
|
98
51
|
dummyPlayer.color = dummyColor
|
|
99
52
|
end
|
|
100
|
-
local setters = {scale = setSpecialEffectScale, color = setSpecialEffectColor}
|
|
53
|
+
local setters = {scale = setSpecialEffectScale, color = setSpecialEffectColor, pitch = setSpecialEffectPitchDegrees, roll = setSpecialEffectRollDegrees}
|
|
54
|
+
local setterProperties = {"scale", "color", "pitch", "roll"}
|
|
101
55
|
dummyPlayer = Player.neutralExtra
|
|
102
56
|
local temporaryEffects = {}
|
|
103
57
|
local temporaryEffectsDurations = {}
|
|
104
58
|
local temporaryEffectsCount = 0
|
|
59
|
+
local delayedEffectsModelPath = {}
|
|
60
|
+
local delayedEffectsXOrWidget = {}
|
|
61
|
+
local delayedEffectsYOrAttachmentPoint = {}
|
|
62
|
+
local delayedEffectsDuration = {}
|
|
63
|
+
local delayedEffectsParameters = {}
|
|
64
|
+
local delayedEffectsDelay = {}
|
|
65
|
+
local delayedEffectsCount = 0
|
|
105
66
|
local period = 1 / 32
|
|
106
67
|
Timer.onPeriod[period]:addListener(function()
|
|
107
68
|
local i = 1
|
|
@@ -110,12 +71,36 @@ Timer.onPeriod[period]:addListener(function()
|
|
|
110
71
|
if duration <= 0 then
|
|
111
72
|
destroyEffect(temporaryEffects[i])
|
|
112
73
|
temporaryEffects[i] = temporaryEffects[temporaryEffectsCount]
|
|
74
|
+
temporaryEffectsDurations[i] = temporaryEffectsDurations[temporaryEffectsCount]
|
|
113
75
|
temporaryEffectsCount = temporaryEffectsCount - 1
|
|
114
76
|
else
|
|
115
77
|
temporaryEffectsDurations[i] = duration - period
|
|
116
78
|
i = i + 1
|
|
117
79
|
end
|
|
118
80
|
end
|
|
81
|
+
i = 1
|
|
82
|
+
while i <= delayedEffectsCount do
|
|
83
|
+
local delay = delayedEffectsDelay[i]
|
|
84
|
+
if delay <= 0 then
|
|
85
|
+
flash(
|
|
86
|
+
delayedEffectsModelPath[i],
|
|
87
|
+
delayedEffectsXOrWidget[i],
|
|
88
|
+
delayedEffectsYOrAttachmentPoint[i],
|
|
89
|
+
delayedEffectsDuration[i],
|
|
90
|
+
delayedEffectsParameters[i]
|
|
91
|
+
)
|
|
92
|
+
delayedEffectsModelPath[i] = delayedEffectsModelPath[delayedEffectsCount]
|
|
93
|
+
delayedEffectsXOrWidget[i] = delayedEffectsXOrWidget[delayedEffectsCount]
|
|
94
|
+
delayedEffectsYOrAttachmentPoint[i] = delayedEffectsYOrAttachmentPoint[delayedEffectsCount]
|
|
95
|
+
delayedEffectsDuration[i] = delayedEffectsDuration[delayedEffectsCount]
|
|
96
|
+
delayedEffectsParameters[i] = delayedEffectsParameters[delayedEffectsCount]
|
|
97
|
+
delayedEffectsDelay[i] = delayedEffectsDelay[delayedEffectsCount]
|
|
98
|
+
delayedEffectsCount = delayedEffectsCount - 1
|
|
99
|
+
else
|
|
100
|
+
delayedEffectsDelay[i] = delay - period
|
|
101
|
+
i = i + 1
|
|
102
|
+
end
|
|
103
|
+
end
|
|
119
104
|
end)
|
|
120
105
|
____exports.Effect = __TS__Class()
|
|
121
106
|
local Effect = ____exports.Effect
|
|
@@ -125,49 +110,78 @@ function Effect.prototype.onDestroy(self)
|
|
|
125
110
|
destroyEffect(self.handle)
|
|
126
111
|
return Handle.prototype.onDestroy(self)
|
|
127
112
|
end
|
|
128
|
-
function Effect.
|
|
129
|
-
|
|
113
|
+
function Effect.prototype.setAnimation(self, animation)
|
|
114
|
+
setSpecialEffectAnimation(self.handle, animation)
|
|
130
115
|
end
|
|
131
|
-
function Effect.
|
|
132
|
-
|
|
116
|
+
function Effect.prototype.queueAnimation(self, animation)
|
|
117
|
+
queueSpecialEffectAnimation(self.handle, animation)
|
|
118
|
+
end
|
|
119
|
+
function Effect.create(self, modelPath, xOrWidget, yOrAttachmentPoint, parameters)
|
|
120
|
+
local effect = self:of(addSpecialEffectInternal(modelPath, xOrWidget, yOrAttachmentPoint, parameters))
|
|
121
|
+
if parameters ~= nil then
|
|
122
|
+
effect[100] = parameters.color
|
|
123
|
+
effect[101] = parameters.pitch
|
|
124
|
+
effect[102] = parameters.roll
|
|
125
|
+
end
|
|
126
|
+
return effect
|
|
133
127
|
end
|
|
134
128
|
function Effect.flash(self, modelPath, xOrWidget, yOrOrAttachmentPoint, parametersOrDuration, parameters)
|
|
135
129
|
if type(parametersOrDuration) ~= "number" then
|
|
136
130
|
parameters = parametersOrDuration
|
|
137
131
|
parametersOrDuration = nil
|
|
138
132
|
end
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
temporaryEffects[temporaryEffectsCount] = effect
|
|
148
|
-
temporaryEffectsDurations[temporaryEffectsCount] = parametersOrDuration
|
|
133
|
+
if parameters and (parameters.delay or 0) > 0 then
|
|
134
|
+
delayedEffectsCount = delayedEffectsCount + 1
|
|
135
|
+
delayedEffectsModelPath[delayedEffectsCount] = modelPath
|
|
136
|
+
delayedEffectsXOrWidget[delayedEffectsCount] = xOrWidget
|
|
137
|
+
delayedEffectsYOrAttachmentPoint[delayedEffectsCount] = yOrOrAttachmentPoint
|
|
138
|
+
delayedEffectsDuration[delayedEffectsCount] = parametersOrDuration
|
|
139
|
+
delayedEffectsParameters[delayedEffectsCount] = parameters
|
|
140
|
+
delayedEffectsDelay[delayedEffectsCount] = parameters.delay
|
|
149
141
|
return
|
|
150
142
|
end
|
|
151
|
-
|
|
143
|
+
flash(
|
|
144
|
+
modelPath,
|
|
145
|
+
xOrWidget,
|
|
146
|
+
yOrOrAttachmentPoint,
|
|
147
|
+
parametersOrDuration,
|
|
148
|
+
parameters
|
|
149
|
+
)
|
|
152
150
|
end
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
151
|
+
__TS__SetDescriptor(
|
|
152
|
+
Effect.prototype,
|
|
153
|
+
"blendTime",
|
|
154
|
+
{
|
|
155
|
+
get = function(self)
|
|
156
|
+
return self[103] or 0
|
|
157
|
+
end,
|
|
158
|
+
set = function(self, blendTime)
|
|
159
|
+
setSpecialEffectAnimationBlendTime(self.handle, blendTime)
|
|
160
|
+
self[103] = blendTime
|
|
162
161
|
end
|
|
163
|
-
|
|
164
|
-
|
|
162
|
+
},
|
|
163
|
+
true
|
|
164
|
+
)
|
|
165
|
+
__TS__SetDescriptor(
|
|
166
|
+
Effect.prototype,
|
|
167
|
+
"timeScale",
|
|
168
|
+
{
|
|
169
|
+
get = function(self)
|
|
170
|
+
return self[104] or 1
|
|
171
|
+
end,
|
|
172
|
+
set = function(self, timeScale)
|
|
173
|
+
setSpecialEffectTimeScale(self.handle, timeScale)
|
|
174
|
+
self[104] = timeScale
|
|
175
|
+
end
|
|
176
|
+
},
|
|
177
|
+
true
|
|
178
|
+
)
|
|
165
179
|
__TS__SetDescriptor(
|
|
166
180
|
Effect.prototype,
|
|
167
181
|
"color",
|
|
168
182
|
{
|
|
169
183
|
get = function(self)
|
|
170
|
-
return self[100] or PlayerColor.
|
|
184
|
+
return self[100] or PlayerColor.red
|
|
171
185
|
end,
|
|
172
186
|
set = function(self, color)
|
|
173
187
|
setSpecialEffectColor(self.handle, color)
|
|
@@ -197,13 +211,61 @@ __TS__SetDescriptor(
|
|
|
197
211
|
return self[101] or 0
|
|
198
212
|
end,
|
|
199
213
|
set = function(self, pitch)
|
|
200
|
-
|
|
201
|
-
self.handle,
|
|
202
|
-
-mathRad(pitch)
|
|
203
|
-
)
|
|
214
|
+
setSpecialEffectPitchDegrees(self.handle, pitch)
|
|
204
215
|
self[101] = pitch
|
|
205
216
|
end
|
|
206
217
|
},
|
|
207
218
|
true
|
|
208
219
|
)
|
|
220
|
+
__TS__SetDescriptor(
|
|
221
|
+
Effect.prototype,
|
|
222
|
+
"roll",
|
|
223
|
+
{
|
|
224
|
+
get = function(self)
|
|
225
|
+
return self[102] or 0
|
|
226
|
+
end,
|
|
227
|
+
set = function(self, roll)
|
|
228
|
+
setSpecialEffectRollDegrees(self.handle, roll)
|
|
229
|
+
self[102] = roll
|
|
230
|
+
end
|
|
231
|
+
},
|
|
232
|
+
true
|
|
233
|
+
)
|
|
234
|
+
addSpecialEffectInternal = function(modelPath, xOrWidget, yOrAttachmentPoint, parameters)
|
|
235
|
+
local coordinatesProvided = type(xOrWidget) == "number"
|
|
236
|
+
local isPositional = coordinatesProvided or (parameters and parameters.detached) == true
|
|
237
|
+
local x = not isPositional and 0 or (coordinatesProvided and xOrWidget or xOrWidget.x)
|
|
238
|
+
local y = not isPositional and 0 or (coordinatesProvided and yOrAttachmentPoint or xOrWidget.y)
|
|
239
|
+
local effect = isPositional and addSpecialEffect(modelPath, x, y) or addSpecialEffectTarget(modelPath, xOrWidget.handle, yOrAttachmentPoint or "origin")
|
|
240
|
+
if parameters ~= nil then
|
|
241
|
+
if isPositional and parameters.scale == nil and __TS__InstanceOf(xOrWidget, Unit) then
|
|
242
|
+
setSpecialEffectScale(effect, xOrWidget.scale)
|
|
243
|
+
end
|
|
244
|
+
for ____, property in ipairs(setterProperties) do
|
|
245
|
+
local value = parameters[property]
|
|
246
|
+
if value ~= nil then
|
|
247
|
+
setters[property](effect, value)
|
|
248
|
+
end
|
|
249
|
+
end
|
|
250
|
+
if isPositional and parameters.zOffset ~= nil then
|
|
251
|
+
moveLocation(location, x, y)
|
|
252
|
+
local z = __TS__InstanceOf(xOrWidget, Unit) and getLocationZ(location) + xOrWidget.flyHeight or getLocationZ(location)
|
|
253
|
+
setSpecialEffectZ(
|
|
254
|
+
effect,
|
|
255
|
+
z + parameters.zOffset * (parameters.scaleZOffset and getSpecialEffectScale(effect) or 1)
|
|
256
|
+
)
|
|
257
|
+
end
|
|
258
|
+
end
|
|
259
|
+
return effect
|
|
260
|
+
end
|
|
261
|
+
flash = function(modelPath, xOrWidget, yOrAttachmentPoint, duration, parameters)
|
|
262
|
+
local effect = addSpecialEffectInternal(modelPath, xOrWidget, yOrAttachmentPoint, parameters)
|
|
263
|
+
if duration ~= nil and duration > 0 then
|
|
264
|
+
temporaryEffectsCount = temporaryEffectsCount + 1
|
|
265
|
+
temporaryEffects[temporaryEffectsCount] = effect
|
|
266
|
+
temporaryEffectsDurations[temporaryEffectsCount] = duration
|
|
267
|
+
return
|
|
268
|
+
end
|
|
269
|
+
destroyEffect(effect)
|
|
270
|
+
end
|
|
209
271
|
return ____exports
|
package/core/types/frame.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="@typescript-to-lua/language-extensions" />
|
|
2
1
|
/** @noSelfInFile */
|
|
3
2
|
import { Handle, HandleDestructor } from "./handle";
|
|
4
3
|
import { Player } from "./player";
|
|
@@ -26,9 +25,14 @@ export declare class Frame extends Handle<jframehandle> {
|
|
|
26
25
|
static readonly GAME_UI: Frame;
|
|
27
26
|
static readonly CONSOLE_UI: Frame;
|
|
28
27
|
static readonly CONSOLE_UI_BACKDROP: Frame;
|
|
28
|
+
private static readonly CONSOLE_UI_BACKDROP_UI_SCALE_HELPER_CHILD;
|
|
29
|
+
static readonly CONSOLE_TOP_BAR: Frame;
|
|
30
|
+
static readonly CONSOLE_BOTTOM_BAR: Frame;
|
|
29
31
|
static readonly WORLD: Frame;
|
|
30
32
|
static readonly CHAT: Frame;
|
|
31
33
|
static readonly TIME_OF_DAY_CLOCK: Frame;
|
|
34
|
+
private static readonly SIMPLE_FRAME_TEST_CHILD;
|
|
35
|
+
static get uiScale(): number;
|
|
32
36
|
static get leftBorder(): Frame;
|
|
33
37
|
static get rightBorder(): Frame;
|
|
34
38
|
static get minX(): number;
|
|
@@ -76,6 +80,9 @@ export declare class Frame extends Handle<jframehandle> {
|
|
|
76
80
|
get onMouseLeave(): FrameEvent;
|
|
77
81
|
get onMouseUp(): FrameEvent;
|
|
78
82
|
get onMouseWheel(): FrameEvent<[number]>;
|
|
83
|
+
private trackMouseLocally;
|
|
84
|
+
get mouseEnterLocalEvent(): Event;
|
|
85
|
+
get mouseLeaveLocalEvent(): Event;
|
|
79
86
|
get popupMenuItemChangeEvent(): FrameEvent<[
|
|
80
87
|
popupMenu: Frame,
|
|
81
88
|
previousValue: number,
|
|
@@ -105,6 +112,7 @@ export declare class Frame extends Handle<jframehandle> {
|
|
|
105
112
|
enable(): void;
|
|
106
113
|
addText(text: string): void;
|
|
107
114
|
clearAllPoints(): void;
|
|
115
|
+
get children(): Frame[];
|
|
108
116
|
getChild(index: number): Frame;
|
|
109
117
|
getChildrenCount(): number;
|
|
110
118
|
setSize(width: number, height: number): void;
|
|
@@ -129,8 +137,21 @@ export declare class Frame extends Handle<jframehandle> {
|
|
|
129
137
|
static get onMouseUp(): Event<[Player, jmousebuttontype, number, number]>;
|
|
130
138
|
private static onMouseDownEvent?;
|
|
131
139
|
static get onMouseDown(): Event<[Player, jmousebuttontype, number, number]>;
|
|
132
|
-
|
|
133
|
-
|
|
140
|
+
/**
|
|
141
|
+
* Synchronized native mouse movement of every player. Each movement of every player's
|
|
142
|
+
* cursor is sent over the network, so with several players moving their mice this floods
|
|
143
|
+
* the network and raises the latency for everyone. Prefer {@link mouseMoveLocalEvent} and
|
|
144
|
+
* synchronize the needed coordinates explicitly, only when they matter (e.g. on a click).
|
|
145
|
+
*/
|
|
146
|
+
static get mouseMoveEvent(): Event<[player: Player, x: number, y: number]>;
|
|
147
|
+
/**
|
|
148
|
+
* Fires on the local client when the world point under the cursor changes, whether the
|
|
149
|
+
* cursor or the camera moved. Polls the local cursor position every 1/64 second and sends
|
|
150
|
+
* nothing over the network. The point is the camera ray's intersection with the terrain,
|
|
151
|
+
* so it ignores units and doodads under the cursor. It is also computed while the cursor
|
|
152
|
+
* is over the UI; check {@link isMouseOnWorld} where that matters.
|
|
153
|
+
*/
|
|
154
|
+
static get mouseMoveLocalEvent(): Event<[x: number, y: number]>;
|
|
134
155
|
static createSimple<T extends Frame>(this: FrameSubclass<T>, name: string, parent?: Frame, createContext?: number): T;
|
|
135
156
|
static create<T extends Frame>(this: FrameSubclass<T>, name: string, parent: Frame, priority?: number, createContext?: number): T;
|
|
136
157
|
static createByType<T extends Frame>(this: FrameSubclass<T>, typeName: "BACKDROP" | "BUTTON" | "CHATDISPLAY" | "CHECKBOX" | "CONTROL" | "DIALOG" | "EDITBOX" | "FRAME" | "GLUEBUTTON" | "GLUECHECKBOX" | "GLUETEXTBUTTON" | "HIGHLIGHT" | "LISTBOX" | "MENU" | "POPUPMENU" | "SCROLLBAR" | "SLIDER" | "TEXT" | "TEXTAREA" | "TEXTBUTTON", name: string, parent: Frame, inherits?: string, createContext?: number): T;
|