warscript 0.0.1-dev.404878c
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/LICENSE +23 -0
- package/binaryreader.d.ts +20 -0
- package/binaryreader.lua +50 -0
- package/binarywriter.d.ts +21 -0
- package/binarywriter.lua +90 -0
- package/core/dummy.d.ts +22 -0
- package/core/dummy.lua +133 -0
- package/core/game.d.ts +3 -0
- package/core/game.lua +24 -0
- package/core/mapbounds.d.ts +8 -0
- package/core/mapbounds.lua +12 -0
- package/core/thread.d.ts +8 -0
- package/core/thread.lua +40 -0
- package/core/types/ability.d.ts +4 -0
- package/core/types/ability.lua +10 -0
- package/core/types/async.d.ts +3 -0
- package/core/types/async.lua +2 -0
- package/core/types/camera.d.ts +4 -0
- package/core/types/camera.lua +21 -0
- package/core/types/cameraField.d.ts +15 -0
- package/core/types/cameraField.lua +38 -0
- package/core/types/color.d.ts +16 -0
- package/core/types/color.lua +93 -0
- package/core/types/destructable.d.ts +31 -0
- package/core/types/destructable.lua +245 -0
- package/core/types/effect.d.ts +31 -0
- package/core/types/effect.lua +209 -0
- package/core/types/frame.d.ts +140 -0
- package/core/types/frame.lua +882 -0
- package/core/types/game.d.ts +8 -0
- package/core/types/game.lua +41 -0
- package/core/types/group.d.ts +22 -0
- package/core/types/group.lua +94 -0
- package/core/types/handle.d.ts +48 -0
- package/core/types/handle.lua +169 -0
- package/core/types/image.d.ts +30 -0
- package/core/types/image.lua +121 -0
- package/core/types/internal/ability+cooldownRemaining.d.ts +1 -0
- package/core/types/internal/ability+cooldownRemaining.lua +0 -0
- package/core/types/item.d.ts +4 -0
- package/core/types/item.lua +6 -0
- package/core/types/missile.d.ts +22 -0
- package/core/types/missile.lua +233 -0
- package/core/types/order.d.ts +25 -0
- package/core/types/order.lua +55 -0
- package/core/types/player.d.ts +71 -0
- package/core/types/player.lua +448 -0
- package/core/types/playerCamera.d.ts +32 -0
- package/core/types/playerCamera.lua +162 -0
- package/core/types/playerColor.d.ts +40 -0
- package/core/types/playerColor.lua +203 -0
- package/core/types/rect.d.ts +39 -0
- package/core/types/rect.lua +152 -0
- package/core/types/region.d.ts +14 -0
- package/core/types/region.lua +84 -0
- package/core/types/sound.d.ts +69 -0
- package/core/types/sound.lua +247 -0
- package/core/types/tileCell.d.ts +13 -0
- package/core/types/tileCell.lua +100 -0
- package/core/types/timer.d.ts +36 -0
- package/core/types/timer.lua +230 -0
- package/core/types/timerDialog.d.ts +19 -0
- package/core/types/timerDialog.lua +95 -0
- package/core/types/unit.d.ts +10 -0
- package/core/types/unit.lua +24 -0
- package/core/types/widget.d.ts +5 -0
- package/core/types/widget.lua +2 -0
- package/core/util.d.ts +62 -0
- package/core/util.lua +464 -0
- package/core/vecmath/common.d.ts +18 -0
- package/core/vecmath/common.lua +29 -0
- package/core/vecmath/mat2.d.ts +73 -0
- package/core/vecmath/mat2.lua +261 -0
- package/core/vecmath/vec3.d.ts +47 -0
- package/core/vecmath/vec3.lua +350 -0
- package/core/vecmath/vec4.d.ts +54 -0
- package/core/vecmath/vec4.lua +400 -0
- package/crypto/ecc.d.ts +6 -0
- package/crypto/ecc.lua +1734 -0
- package/decl/index.d.ts +116 -0
- package/decl/native.d.ts +8198 -0
- package/destroyable.d.ts +20 -0
- package/destroyable.lua +31 -0
- package/engine/ability.d.ts +5 -0
- package/engine/ability.lua +7 -0
- package/engine/behavior.d.ts +28 -0
- package/engine/behavior.lua +181 -0
- package/engine/behaviour/ability/apply-buff.d.ts +38 -0
- package/engine/behaviour/ability/apply-buff.lua +126 -0
- package/engine/behaviour/ability/apply-unit-behavior.d.ts +12 -0
- package/engine/behaviour/ability/apply-unit-behavior.lua +36 -0
- package/engine/behaviour/ability/damage.d.ts +25 -0
- package/engine/behaviour/ability/damage.lua +75 -0
- package/engine/behaviour/ability/heal.d.ts +16 -0
- package/engine/behaviour/ability/heal.lua +35 -0
- package/engine/behaviour/ability/instant-impact.d.ts +6 -0
- package/engine/behaviour/ability/instant-impact.lua +25 -0
- package/engine/behaviour/ability.d.ts +40 -0
- package/engine/behaviour/ability.lua +175 -0
- package/engine/behaviour/unit/stun-immunity.d.ts +19 -0
- package/engine/behaviour/unit/stun-immunity.lua +67 -0
- package/engine/behaviour/unit.d.ts +20 -0
- package/engine/behaviour/unit.lua +75 -0
- package/engine/buff.d.ts +221 -0
- package/engine/buff.lua +1093 -0
- package/engine/constants.d.ts +7 -0
- package/engine/constants.lua +8 -0
- package/engine/index.d.ts +5 -0
- package/engine/index.lua +2 -0
- package/engine/internal/ability.d.ts +91 -0
- package/engine/internal/ability.lua +531 -0
- package/engine/internal/item/ability.d.ts +2 -0
- package/engine/internal/item/ability.lua +48 -0
- package/engine/internal/item+owner.d.ts +7 -0
- package/engine/internal/item+owner.lua +22 -0
- package/engine/internal/item.d.ts +86 -0
- package/engine/internal/item.lua +580 -0
- package/engine/internal/mechanics/ability-duration.d.ts +4 -0
- package/engine/internal/mechanics/ability-duration.lua +11 -0
- package/engine/internal/mechanics/area-damage.d.ts +2 -0
- package/engine/internal/mechanics/area-damage.lua +33 -0
- package/engine/internal/misc/dummy-units.d.ts +2 -0
- package/engine/internal/misc/dummy-units.lua +14 -0
- package/engine/internal/object-data/armor-increase.d.ts +2 -0
- package/engine/internal/object-data/armor-increase.lua +19 -0
- package/engine/internal/object-data/attribute-bonus.d.ts +2 -0
- package/engine/internal/object-data/attribute-bonus.lua +15 -0
- package/engine/internal/object-data/auto-attack-damage-increase.d.ts +2 -0
- package/engine/internal/object-data/auto-attack-damage-increase.lua +17 -0
- package/engine/internal/object-data/auto-attack-speed-increase.d.ts +2 -0
- package/engine/internal/object-data/auto-attack-speed-increase.lua +14 -0
- package/engine/internal/object-data/dummy-inventory.d.ts +2 -0
- package/engine/internal/object-data/dummy-inventory.lua +16 -0
- package/engine/internal/object-data/dummy-item.d.ts +2 -0
- package/engine/internal/object-data/dummy-item.lua +10 -0
- package/engine/internal/object-data/ghost-visible.d.ts +2 -0
- package/engine/internal/object-data/ghost-visible.lua +15 -0
- package/engine/internal/object-data/invulnerable.d.ts +2 -0
- package/engine/internal/object-data/invulnerable.lua +11 -0
- package/engine/internal/object-data/movement-speed-increase-factor.d.ts +2 -0
- package/engine/internal/object-data/movement-speed-increase-factor.lua +18 -0
- package/engine/internal/unit/ability.d.ts +143 -0
- package/engine/internal/unit/ability.lua +369 -0
- package/engine/internal/unit/allowed-targets.d.ts +17 -0
- package/engine/internal/unit/allowed-targets.lua +19 -0
- package/engine/internal/unit/band-aids/ancestral-spirit-cannibalize.d.ts +2 -0
- package/engine/internal/unit/band-aids/ancestral-spirit-cannibalize.lua +21 -0
- package/engine/internal/unit/bonus.d.ts +41 -0
- package/engine/internal/unit/bonus.lua +188 -0
- package/engine/internal/unit/buff.d.ts +38 -0
- package/engine/internal/unit/buff.lua +81 -0
- package/engine/internal/unit/expiration-timer.d.ts +22 -0
- package/engine/internal/unit/expiration-timer.lua +44 -0
- package/engine/internal/unit/ghost-counter.d.ts +12 -0
- package/engine/internal/unit/ghost-counter.lua +26 -0
- package/engine/internal/unit/invulnerability-counter.d.ts +12 -0
- package/engine/internal/unit/invulnerability-counter.lua +26 -0
- package/engine/internal/unit/missile.d.ts +42 -0
- package/engine/internal/unit/missile.lua +70 -0
- package/engine/internal/unit/movement-speed.d.ts +18 -0
- package/engine/internal/unit/movement-speed.lua +42 -0
- package/engine/internal/unit/summon-event.d.ts +12 -0
- package/engine/internal/unit/summon-event.lua +50 -0
- package/engine/internal/unit+ability.d.ts +9 -0
- package/engine/internal/unit+ability.lua +59 -0
- package/engine/internal/unit+bonus.d.ts +8 -0
- package/engine/internal/unit+bonus.lua +40 -0
- package/engine/internal/unit+damage.d.ts +69 -0
- package/engine/internal/unit+damage.lua +123 -0
- package/engine/internal/unit+rally.d.ts +10 -0
- package/engine/internal/unit+rally.lua +159 -0
- package/engine/internal/unit+spellSteal.d.ts +7 -0
- package/engine/internal/unit+spellSteal.lua +64 -0
- package/engine/internal/unit+transport.d.ts +12 -0
- package/engine/internal/unit+transport.lua +102 -0
- package/engine/internal/unit-missile-data.d.ts +2 -0
- package/engine/internal/unit-missile-data.lua +107 -0
- package/engine/internal/unit-missile-launch.d.ts +7 -0
- package/engine/internal/unit-missile-launch.lua +32 -0
- package/engine/internal/unit.d.ts +312 -0
- package/engine/internal/unit.lua +2430 -0
- package/engine/internal/utility.d.ts +2 -0
- package/engine/internal/utility.lua +13 -0
- package/engine/lightning.d.ts +51 -0
- package/engine/lightning.lua +303 -0
- package/engine/local-client.d.ts +16 -0
- package/engine/local-client.lua +86 -0
- package/engine/object-data/auxiliary/animation-name.d.ts +14 -0
- package/engine/object-data/auxiliary/animation-name.lua +2 -0
- package/engine/object-data/auxiliary/animation-qualifier.d.ts +53 -0
- package/engine/object-data/auxiliary/animation-qualifier.lua +2 -0
- package/engine/object-data/auxiliary/armor-sound-type.d.ts +8 -0
- package/engine/object-data/auxiliary/armor-sound-type.lua +2 -0
- package/engine/object-data/auxiliary/attachment-preset.d.ts +15 -0
- package/engine/object-data/auxiliary/attachment-preset.lua +29 -0
- package/engine/object-data/auxiliary/attack-type.d.ts +11 -0
- package/engine/object-data/auxiliary/attack-type.lua +2 -0
- package/engine/object-data/auxiliary/buff-polarity.d.ts +6 -0
- package/engine/object-data/auxiliary/buff-polarity.lua +2 -0
- package/engine/object-data/auxiliary/buff-resistance-type.d.ts +6 -0
- package/engine/object-data/auxiliary/buff-resistance-type.lua +2 -0
- package/engine/object-data/auxiliary/combat-classification.d.ts +46 -0
- package/engine/object-data/auxiliary/combat-classification.lua +206 -0
- package/engine/object-data/auxiliary/detection-type.d.ts +7 -0
- package/engine/object-data/auxiliary/detection-type.lua +2 -0
- package/engine/object-data/auxiliary/model-node-name.d.ts +12 -0
- package/engine/object-data/auxiliary/model-node-name.lua +2 -0
- package/engine/object-data/auxiliary/model-node-qualifier.d.ts +21 -0
- package/engine/object-data/auxiliary/model-node-qualifier.lua +2 -0
- package/engine/object-data/auxiliary/movement-type.d.ts +10 -0
- package/engine/object-data/auxiliary/movement-type.lua +2 -0
- package/engine/object-data/auxiliary/race.d.ts +14 -0
- package/engine/object-data/auxiliary/race.lua +2 -0
- package/engine/object-data/auxiliary/sound-preset-name.d.ts +8 -0
- package/engine/object-data/auxiliary/sound-preset-name.lua +2 -0
- package/engine/object-data/auxiliary/sound-set-name.d.ts +35 -0
- package/engine/object-data/auxiliary/sound-set-name.lua +2 -0
- package/engine/object-data/auxiliary/targeting-type.d.ts +8 -0
- package/engine/object-data/auxiliary/targeting-type.lua +2 -0
- package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +16 -0
- package/engine/object-data/auxiliary/tech-tree-dependency.lua +8 -0
- package/engine/object-data/auxiliary/unit-classification.d.ts +19 -0
- package/engine/object-data/auxiliary/unit-classification.lua +50 -0
- package/engine/object-data/auxiliary/weapon-sound-type.d.ts +17 -0
- package/engine/object-data/auxiliary/weapon-sound-type.lua +2 -0
- package/engine/object-data/entry/ability-type/armor-increase.d.ts +8 -0
- package/engine/object-data/entry/ability-type/armor-increase.lua +26 -0
- package/engine/object-data/entry/ability-type/attribute-increase.d.ts +12 -0
- package/engine/object-data/entry/ability-type/attribute-increase.lua +52 -0
- package/engine/object-data/entry/ability-type/auto-attack-damage-increase.d.ts +8 -0
- package/engine/object-data/entry/ability-type/auto-attack-damage-increase.lua +26 -0
- package/engine/object-data/entry/ability-type/auto-attack-heal-reduction-effect.d.ts +12 -0
- package/engine/object-data/entry/ability-type/auto-attack-heal-reduction-effect.lua +52 -0
- package/engine/object-data/entry/ability-type/auto-attack-speed-increase.d.ts +8 -0
- package/engine/object-data/entry/ability-type/auto-attack-speed-increase.lua +26 -0
- package/engine/object-data/entry/ability-type/bash.d.ts +16 -0
- package/engine/object-data/entry/ability-type/bash.lua +78 -0
- package/engine/object-data/entry/ability-type/berserk.d.ts +10 -0
- package/engine/object-data/entry/ability-type/berserk.lua +39 -0
- package/engine/object-data/entry/ability-type/blank-configurable.d.ts +21 -0
- package/engine/object-data/entry/ability-type/blank-configurable.lua +249 -0
- package/engine/object-data/entry/ability-type/blank-passive.d.ts +7 -0
- package/engine/object-data/entry/ability-type/blank-passive.lua +28 -0
- package/engine/object-data/entry/ability-type/blizzard.d.ts +16 -0
- package/engine/object-data/entry/ability-type/blizzard.lua +78 -0
- package/engine/object-data/entry/ability-type/blood-lust.d.ts +12 -0
- package/engine/object-data/entry/ability-type/blood-lust.lua +52 -0
- package/engine/object-data/entry/ability-type/chain-lightning.d.ts +12 -0
- package/engine/object-data/entry/ability-type/chain-lightning.lua +52 -0
- package/engine/object-data/entry/ability-type/channel.d.ts +48 -0
- package/engine/object-data/entry/ability-type/channel.lua +140 -0
- package/engine/object-data/entry/ability-type/charge-gold-and-lumber.d.ts +14 -0
- package/engine/object-data/entry/ability-type/charge-gold-and-lumber.lua +65 -0
- package/engine/object-data/entry/ability-type/cleaving-attack.d.ts +8 -0
- package/engine/object-data/entry/ability-type/cleaving-attack.lua +26 -0
- package/engine/object-data/entry/ability-type/cluster-rockets.d.ts +18 -0
- package/engine/object-data/entry/ability-type/cluster-rockets.lua +91 -0
- package/engine/object-data/entry/ability-type/cripple.d.ts +12 -0
- package/engine/object-data/entry/ability-type/cripple.lua +52 -0
- package/engine/object-data/entry/ability-type/critical-strike.d.ts +18 -0
- package/engine/object-data/entry/ability-type/critical-strike.lua +91 -0
- package/engine/object-data/entry/ability-type/curse.d.ts +8 -0
- package/engine/object-data/entry/ability-type/curse.lua +26 -0
- package/engine/object-data/entry/ability-type/dark-summoning.d.ts +10 -0
- package/engine/object-data/entry/ability-type/dark-summoning.lua +39 -0
- package/engine/object-data/entry/ability-type/death-coil.d.ts +8 -0
- package/engine/object-data/entry/ability-type/death-coil.lua +26 -0
- package/engine/object-data/entry/ability-type/disease-cloud.d.ts +15 -0
- package/engine/object-data/entry/ability-type/disease-cloud.lua +65 -0
- package/engine/object-data/entry/ability-type/divine-shield.d.ts +5 -0
- package/engine/object-data/entry/ability-type/divine-shield.lua +12 -0
- package/engine/object-data/entry/ability-type/endurance-aura.d.ts +10 -0
- package/engine/object-data/entry/ability-type/endurance-aura.lua +39 -0
- package/engine/object-data/entry/ability-type/engineering-upgrade.d.ts +13 -0
- package/engine/object-data/entry/ability-type/engineering-upgrade.lua +88 -0
- package/engine/object-data/entry/ability-type/evasion.d.ts +8 -0
- package/engine/object-data/entry/ability-type/evasion.lua +26 -0
- package/engine/object-data/entry/ability-type/faerie-fire.d.ts +10 -0
- package/engine/object-data/entry/ability-type/faerie-fire.lua +39 -0
- package/engine/object-data/entry/ability-type/far-sight.d.ts +9 -0
- package/engine/object-data/entry/ability-type/far-sight.lua +26 -0
- package/engine/object-data/entry/ability-type/feral-spirit.d.ts +11 -0
- package/engine/object-data/entry/ability-type/feral-spirit.lua +39 -0
- package/engine/object-data/entry/ability-type/frenzy.d.ts +12 -0
- package/engine/object-data/entry/ability-type/frenzy.lua +52 -0
- package/engine/object-data/entry/ability-type/frost-nova.d.ts +12 -0
- package/engine/object-data/entry/ability-type/frost-nova.lua +52 -0
- package/engine/object-data/entry/ability-type/ghost-visible.d.ts +10 -0
- package/engine/object-data/entry/ability-type/ghost-visible.lua +39 -0
- package/engine/object-data/entry/ability-type/gold-mine.d.ts +12 -0
- package/engine/object-data/entry/ability-type/gold-mine.lua +52 -0
- package/engine/object-data/entry/ability-type/heal.d.ts +8 -0
- package/engine/object-data/entry/ability-type/heal.lua +26 -0
- package/engine/object-data/entry/ability-type/healing-salve.d.ts +22 -0
- package/engine/object-data/entry/ability-type/healing-salve.lua +78 -0
- package/engine/object-data/entry/ability-type/healing-spray.d.ts +18 -0
- package/engine/object-data/entry/ability-type/healing-spray.lua +91 -0
- package/engine/object-data/entry/ability-type/healing-wave.d.ts +12 -0
- package/engine/object-data/entry/ability-type/healing-wave.lua +52 -0
- package/engine/object-data/entry/ability-type/holy-light.d.ts +8 -0
- package/engine/object-data/entry/ability-type/holy-light.lua +26 -0
- package/engine/object-data/entry/ability-type/incinerate.d.ts +18 -0
- package/engine/object-data/entry/ability-type/incinerate.lua +91 -0
- package/engine/object-data/entry/ability-type/inner-fire.d.ts +14 -0
- package/engine/object-data/entry/ability-type/inner-fire.lua +65 -0
- package/engine/object-data/entry/ability-type/inventory.d.ts +16 -0
- package/engine/object-data/entry/ability-type/inventory.lua +78 -0
- package/engine/object-data/entry/ability-type/invulnerable.d.ts +5 -0
- package/engine/object-data/entry/ability-type/invulnerable.lua +12 -0
- package/engine/object-data/entry/ability-type/lightning-shield.d.ts +8 -0
- package/engine/object-data/entry/ability-type/lightning-shield.lua +26 -0
- package/engine/object-data/entry/ability-type/movement-speed-increase.d.ts +8 -0
- package/engine/object-data/entry/ability-type/movement-speed-increase.lua +26 -0
- package/engine/object-data/entry/ability-type/permanent-immolation.d.ts +8 -0
- package/engine/object-data/entry/ability-type/permanent-immolation.lua +26 -0
- package/engine/object-data/entry/ability-type/phoenix-morph.d.ts +25 -0
- package/engine/object-data/entry/ability-type/phoenix-morph.lua +130 -0
- package/engine/object-data/entry/ability-type/recall.d.ts +10 -0
- package/engine/object-data/entry/ability-type/recall.lua +39 -0
- package/engine/object-data/entry/ability-type/rejuvenation.d.ts +20 -0
- package/engine/object-data/entry/ability-type/rejuvenation.lua +65 -0
- package/engine/object-data/entry/ability-type/searing-arrows.d.ts +8 -0
- package/engine/object-data/entry/ability-type/searing-arrows.lua +26 -0
- package/engine/object-data/entry/ability-type/shock-wave.d.ts +10 -0
- package/engine/object-data/entry/ability-type/shock-wave.lua +39 -0
- package/engine/object-data/entry/ability-type/slow-poison.d.ts +12 -0
- package/engine/object-data/entry/ability-type/slow-poison.lua +52 -0
- package/engine/object-data/entry/ability-type/slow.d.ts +12 -0
- package/engine/object-data/entry/ability-type/slow.lua +52 -0
- package/engine/object-data/entry/ability-type/spell-damage-reduction.d.ts +10 -0
- package/engine/object-data/entry/ability-type/spell-damage-reduction.lua +39 -0
- package/engine/object-data/entry/ability-type/spiked-carapace.d.ts +12 -0
- package/engine/object-data/entry/ability-type/spiked-carapace.lua +52 -0
- package/engine/object-data/entry/ability-type/spirit-touch.d.ts +14 -0
- package/engine/object-data/entry/ability-type/spirit-touch.lua +65 -0
- package/engine/object-data/entry/ability-type/storm-bolt.d.ts +8 -0
- package/engine/object-data/entry/ability-type/storm-bolt.lua +26 -0
- package/engine/object-data/entry/ability-type/summon-quilbeast.d.ts +11 -0
- package/engine/object-data/entry/ability-type/summon-quilbeast.lua +39 -0
- package/engine/object-data/entry/ability-type/summon-water-elemental.d.ts +11 -0
- package/engine/object-data/entry/ability-type/summon-water-elemental.lua +39 -0
- package/engine/object-data/entry/ability-type.d.ts +148 -0
- package/engine/object-data/entry/ability-type.lua +1058 -0
- package/engine/object-data/entry/buff-type/applicable.d.ts +16 -0
- package/engine/object-data/entry/buff-type/applicable.lua +377 -0
- package/engine/object-data/entry/buff-type/blank.d.ts +8 -0
- package/engine/object-data/entry/buff-type/blank.lua +17 -0
- package/engine/object-data/entry/buff-type.d.ts +64 -0
- package/engine/object-data/entry/buff-type.lua +316 -0
- package/engine/object-data/entry/destructible-type.d.ts +21 -0
- package/engine/object-data/entry/destructible-type.lua +83 -0
- package/engine/object-data/entry/item-type/blank.d.ts +8 -0
- package/engine/object-data/entry/item-type/blank.lua +21 -0
- package/engine/object-data/entry/item-type.d.ts +49 -0
- package/engine/object-data/entry/item-type.lua +259 -0
- package/engine/object-data/entry/lightning-type.d.ts +37 -0
- package/engine/object-data/entry/lightning-type.lua +191 -0
- package/engine/object-data/entry/unit-type/blank.d.ts +6 -0
- package/engine/object-data/entry/unit-type/blank.lua +13 -0
- package/engine/object-data/entry/unit-type.d.ts +218 -0
- package/engine/object-data/entry/unit-type.lua +1306 -0
- package/engine/object-data/entry/upgrade/blank.d.ts +8 -0
- package/engine/object-data/entry/upgrade/blank.lua +22 -0
- package/engine/object-data/entry/upgrade.d.ts +59 -0
- package/engine/object-data/entry/upgrade.lua +238 -0
- package/engine/object-data/entry.d.ts +80 -0
- package/engine/object-data/entry.lua +634 -0
- package/engine/object-data/utility/object-data-entry-id-generator.d.ts +6 -0
- package/engine/object-data/utility/object-data-entry-id-generator.lua +63 -0
- package/engine/object-data/utility/order-type-string-id-factory.d.ts +9 -0
- package/engine/object-data/utility/order-type-string-id-factory.lua +368 -0
- package/engine/object-field/ability.d.ts +115 -0
- package/engine/object-field/ability.lua +471 -0
- package/engine/object-field/unit.d.ts +15 -0
- package/engine/object-field/unit.lua +49 -0
- package/engine/object-field.d.ts +84 -0
- package/engine/object-field.lua +444 -0
- package/engine/random.d.ts +10 -0
- package/engine/random.lua +9 -0
- package/engine/standard/entries/ability-type.d.ts +8 -0
- package/engine/standard/entries/ability-type.lua +8 -0
- package/engine/standard/entries/lightning-type.d.ts +16 -0
- package/engine/standard/entries/lightning-type.lua +16 -0
- package/engine/standard/entries/unit-type.d.ts +63 -0
- package/engine/standard/entries/unit-type.lua +63 -0
- package/engine/standard/entries/upgrade.d.ts +92 -0
- package/engine/standard/entries/upgrade.lua +92 -0
- package/engine/standard/fields/ability.d.ts +737 -0
- package/engine/standard/fields/ability.lua +749 -0
- package/engine/standard/pathing-textures.d.ts +6 -0
- package/engine/standard/pathing-textures.lua +7 -0
- package/engine/text-tag.d.ts +25 -0
- package/engine/text-tag.lua +109 -0
- package/engine/unit.d.ts +20 -0
- package/engine/unit.lua +31 -0
- package/event.d.ts +53 -0
- package/event.lua +269 -0
- package/exception.d.ts +17 -0
- package/exception.lua +53 -0
- package/file.d.ts +4 -0
- package/file.lua +42 -0
- package/global/math.d.ts +21 -0
- package/global/math.lua +72 -0
- package/global/vec2.d.ts +66 -0
- package/global/vec2.lua +159 -0
- package/index.d.ts +8 -0
- package/index.lua +9 -0
- package/lualib_bundle.lua +2629 -0
- package/math/vec2.d.ts +18 -0
- package/math/vec2.lua +42 -0
- package/math.d.ts +39 -0
- package/math.lua +91 -0
- package/net/signal.d.ts +11 -0
- package/net/signal.lua +56 -0
- package/net/socket.d.ts +9 -0
- package/net/socket.lua +26 -0
- package/network.d.ts +31 -0
- package/network.lua +194 -0
- package/objutil/ability.d.ts +710 -0
- package/objutil/ability.lua +3781 -0
- package/objutil/buff.d.ts +110 -0
- package/objutil/buff.lua +769 -0
- package/objutil/dummy.d.ts +2 -0
- package/objutil/dummy.lua +49 -0
- package/objutil/idgen.d.ts +9 -0
- package/objutil/idgen.lua +92 -0
- package/objutil/item.d.ts +38 -0
- package/objutil/item.lua +254 -0
- package/objutil/object.d.ts +43 -0
- package/objutil/object.lua +213 -0
- package/objutil/unit.d.ts +134 -0
- package/objutil/unit.lua +913 -0
- package/objutil/upgrade.d.ts +22 -0
- package/objutil/upgrade.lua +127 -0
- package/operation.d.ts +35 -0
- package/operation.lua +179 -0
- package/package.json +47 -0
- package/patch-lualib.d.ts +2 -0
- package/patch-lualib.lua +67 -0
- package/patch-natives.d.ts +11 -0
- package/patch-natives.lua +14 -0
- package/string.d.ts +106 -0
- package/string.lua +34 -0
- package/time/dayOfWeek.d.ts +97 -0
- package/time/dayOfWeek.lua +53 -0
- package/time/localDate.d.ts +145 -0
- package/time/localDate.lua +236 -0
- package/time/localDateTime.d.ts +133 -0
- package/time/localDateTime.lua +154 -0
- package/time/localTime.d.ts +87 -0
- package/time/localTime.lua +91 -0
- package/time/month.d.ts +146 -0
- package/time/month.lua +129 -0
- package/time/year.d.ts +117 -0
- package/time/year.lua +81 -0
- package/types.d.ts +13 -0
- package/types.lua +0 -0
- package/util/objectPool.d.ts +6 -0
- package/util/objectPool.lua +28 -0
- package/util/stream.d.ts +29 -0
- package/util/stream.lua +453 -0
- package/util/stringBuilder.d.ts +8 -0
- package/util/stringBuilder.lua +25 -0
- package/utility/arrays.d.ts +57 -0
- package/utility/arrays.lua +369 -0
- package/utility/base64.d.ts +23 -0
- package/utility/base64.lua +177 -0
- package/utility/bit-set.d.ts +18 -0
- package/utility/bit-set.lua +12 -0
- package/utility/functions.d.ts +5 -0
- package/utility/functions.lua +90 -0
- package/utility/json.d.ts +2 -0
- package/utility/json.lua +400 -0
- package/utility/linked-set.d.ts +49 -0
- package/utility/linked-set.lua +181 -0
- package/utility/lua-maps.d.ts +6 -0
- package/utility/lua-maps.lua +25 -0
- package/utility/lua-sets.d.ts +6 -0
- package/utility/lua-sets.lua +37 -0
- package/utility/lzw.d.ts +2 -0
- package/utility/lzw.lua +161 -0
- package/utility/observable-array.d.ts +17 -0
- package/utility/observable-array.lua +30 -0
- package/utility/preconditions.d.ts +23 -0
- package/utility/preconditions.lua +58 -0
- package/utility/records.d.ts +3 -0
- package/utility/records.lua +9 -0
- package/utility/reflection.d.ts +4 -0
- package/utility/reflection.lua +31 -0
- package/utility/strings.d.ts +2 -0
- package/utility/strings.lua +44 -0
- package/utility/types.d.ts +39 -0
- package/utility/types.lua +2 -0
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/** @noSelfInFile */
|
|
2
|
+
import { BuffPolarity } from "../../object-data/auxiliary/buff-polarity";
|
|
3
|
+
import { BuffResistanceType } from "../../object-data/auxiliary/buff-resistance-type";
|
|
4
|
+
declare module "../unit" {
|
|
5
|
+
interface Unit {
|
|
6
|
+
hasBuff(buffTypeId: number): boolean;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
declare module "../unit" {
|
|
10
|
+
interface Unit {
|
|
11
|
+
removeBuff(buffTypeId: number): boolean;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
declare module "../unit" {
|
|
15
|
+
interface Unit {
|
|
16
|
+
/**
|
|
17
|
+
* @param polarity The polarity of buffs to count. Default `undefined`.
|
|
18
|
+
* @param resistanceType The resistance type of buffs to count. Default `undefined`.
|
|
19
|
+
* @param includeExpirationTimers Whether to include expiration timer buffs. Default `true`.
|
|
20
|
+
* @param includeAuras Whether to remove aura buffs. Default `true`.
|
|
21
|
+
* @param autoDispel Unknown. Default `false`.
|
|
22
|
+
*/
|
|
23
|
+
countBuffs(polarity?: BuffPolarity, resistanceType?: BuffResistanceType, includeExpirationTimers?: boolean, includeAuras?: boolean, autoDispel?: boolean): number;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
declare module "../unit" {
|
|
27
|
+
interface Unit {
|
|
28
|
+
/**
|
|
29
|
+
* @param polarity The polarity of buffs to remove. Default `undefined`.
|
|
30
|
+
* @param resistanceType The resistance type of buffs to remove. Default `undefined`.
|
|
31
|
+
* @param includeExpirationTimers Whether to include expiration timer buffs. Default `true`.
|
|
32
|
+
* @param includeAuras Whether to remove aura buffs. Default `true`.
|
|
33
|
+
* @param autoDispel Unknown. Default `false`.
|
|
34
|
+
*/
|
|
35
|
+
removeBuffs(polarity?: BuffPolarity, resistanceType?: BuffResistanceType, includeExpirationTimers?: boolean, includeAuras?: boolean, autoDispel?: boolean): void;
|
|
36
|
+
removeBuffs(buffTypeIds: number[]): void;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__SparseArrayNew = ____lualib.__TS__SparseArrayNew
|
|
3
|
+
local __TS__SparseArrayPush = ____lualib.__TS__SparseArrayPush
|
|
4
|
+
local __TS__SparseArraySpread = ____lualib.__TS__SparseArraySpread
|
|
5
|
+
local ____exports = {}
|
|
6
|
+
local ____buff = require("engine.buff")
|
|
7
|
+
local checkBuff = ____buff.checkBuff
|
|
8
|
+
local checkBuffs = ____buff.checkBuffs
|
|
9
|
+
local ____unit = require("engine.internal.unit")
|
|
10
|
+
local Unit = ____unit.Unit
|
|
11
|
+
local ____applicable = require("engine.object-data.entry.buff-type.applicable")
|
|
12
|
+
local removeBuff = ____applicable.removeBuff
|
|
13
|
+
local getUnitAbilityLevel = GetUnitAbilityLevel
|
|
14
|
+
local unitCountBuffsEx = UnitCountBuffsEx
|
|
15
|
+
local unitRemoveAbility = UnitRemoveAbility
|
|
16
|
+
local unitRemoveBuffsEx = UnitRemoveBuffsEx
|
|
17
|
+
Unit.prototype.hasBuff = function(self, buffTypeId)
|
|
18
|
+
return getUnitAbilityLevel(self.handle, buffTypeId) > 0
|
|
19
|
+
end
|
|
20
|
+
Unit.prototype.removeBuff = function(self, buffTypeId)
|
|
21
|
+
if removeBuff(self.handle, buffTypeId) then
|
|
22
|
+
checkBuff(self, buffTypeId)
|
|
23
|
+
return true
|
|
24
|
+
end
|
|
25
|
+
return false
|
|
26
|
+
end
|
|
27
|
+
Unit.prototype.countBuffs = function(self, polarity, resistanceType, includeExpirationTimers, includeAuras, autoDispel)
|
|
28
|
+
if includeExpirationTimers == nil then
|
|
29
|
+
includeExpirationTimers = true
|
|
30
|
+
end
|
|
31
|
+
if includeAuras == nil then
|
|
32
|
+
includeAuras = true
|
|
33
|
+
end
|
|
34
|
+
if autoDispel == nil then
|
|
35
|
+
autoDispel = false
|
|
36
|
+
end
|
|
37
|
+
return unitCountBuffsEx(
|
|
38
|
+
self.handle,
|
|
39
|
+
(polarity or 3) & 1 ~= 0,
|
|
40
|
+
(polarity or 3) & 2 ~= 0,
|
|
41
|
+
(resistanceType or 0) & 1 ~= 0,
|
|
42
|
+
(resistanceType or 0) & 2 ~= 0,
|
|
43
|
+
includeExpirationTimers,
|
|
44
|
+
includeAuras,
|
|
45
|
+
autoDispel
|
|
46
|
+
)
|
|
47
|
+
end
|
|
48
|
+
Unit.prototype.removeBuffs = function(self, polarityOrBuffTypeIds, resistanceType, includeExpirationTimers, includeAuras, autoDispel)
|
|
49
|
+
if type(polarityOrBuffTypeIds) == "table" then
|
|
50
|
+
local handle = self.handle
|
|
51
|
+
for i = 1, #polarityOrBuffTypeIds do
|
|
52
|
+
unitRemoveAbility(handle, polarityOrBuffTypeIds[i])
|
|
53
|
+
end
|
|
54
|
+
else
|
|
55
|
+
local ____array_3 = __TS__SparseArrayNew(
|
|
56
|
+
self.handle,
|
|
57
|
+
(polarityOrBuffTypeIds or 3) & 1 ~= 0,
|
|
58
|
+
(polarityOrBuffTypeIds or 3) & 2 ~= 0,
|
|
59
|
+
(resistanceType or 0) & 1 ~= 0,
|
|
60
|
+
(resistanceType or 0) & 2 ~= 0
|
|
61
|
+
)
|
|
62
|
+
local ____includeExpirationTimers_0 = includeExpirationTimers
|
|
63
|
+
if ____includeExpirationTimers_0 == nil then
|
|
64
|
+
____includeExpirationTimers_0 = true
|
|
65
|
+
end
|
|
66
|
+
__TS__SparseArrayPush(____array_3, ____includeExpirationTimers_0)
|
|
67
|
+
local ____includeAuras_1 = includeAuras
|
|
68
|
+
if ____includeAuras_1 == nil then
|
|
69
|
+
____includeAuras_1 = true
|
|
70
|
+
end
|
|
71
|
+
__TS__SparseArrayPush(____array_3, ____includeAuras_1)
|
|
72
|
+
local ____autoDispel_2 = autoDispel
|
|
73
|
+
if ____autoDispel_2 == nil then
|
|
74
|
+
____autoDispel_2 = false
|
|
75
|
+
end
|
|
76
|
+
__TS__SparseArrayPush(____array_3, ____autoDispel_2)
|
|
77
|
+
unitRemoveBuffsEx(__TS__SparseArraySpread(____array_3))
|
|
78
|
+
end
|
|
79
|
+
checkBuffs(self)
|
|
80
|
+
end
|
|
81
|
+
return ____exports
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/** @noSelfInFile */
|
|
2
|
+
import { BuffTypeId } from "../../object-data/entry/buff-type";
|
|
3
|
+
declare module "../unit" {
|
|
4
|
+
interface Unit {
|
|
5
|
+
startExpirationTimer(this: Unit, duration: number, buffTypeId?: BuffTypeId): void;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
declare module "../unit" {
|
|
9
|
+
interface Unit {
|
|
10
|
+
removeExpirationTimer(this: Unit): void;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
declare module "../unit" {
|
|
14
|
+
interface Unit {
|
|
15
|
+
pauseExpirationTimer(this: Unit): void;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
declare module "../unit" {
|
|
19
|
+
interface Unit {
|
|
20
|
+
resumeExpirationTimer(this: Unit): void;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
local ____exports = {}
|
|
2
|
+
local ____unit = require("engine.internal.unit")
|
|
3
|
+
local Unit = ____unit.Unit
|
|
4
|
+
local ____phoenix_2Dmorph = require("engine.object-data.entry.ability-type.phoenix-morph")
|
|
5
|
+
local PhoenixMorphAbilityType = ____phoenix_2Dmorph.PhoenixMorphAbilityType
|
|
6
|
+
local applyTimedLife = UnitApplyTimedLife
|
|
7
|
+
local cancelTimedLife = BlzUnitCancelTimedLife
|
|
8
|
+
local getWidgetLife = GetWidgetLife
|
|
9
|
+
local pauseTimedLife = UnitPauseTimedLife
|
|
10
|
+
local setWidgetLife = SetWidgetLife
|
|
11
|
+
local unitAddAbility = UnitAddAbility
|
|
12
|
+
local unitRemoveAbility = UnitRemoveAbility
|
|
13
|
+
Unit.prototype.startExpirationTimer = function(self, duration, buffTypeId)
|
|
14
|
+
applyTimedLife(
|
|
15
|
+
self.handle,
|
|
16
|
+
buffTypeId or fourCC("BTLF"),
|
|
17
|
+
duration
|
|
18
|
+
)
|
|
19
|
+
end
|
|
20
|
+
local dummyPhoenixMorphAbilityTypeId = compiletime(function()
|
|
21
|
+
local abilityType = PhoenixMorphAbilityType:create()
|
|
22
|
+
abilityType.name = "Expiration Timer Dummy Ability"
|
|
23
|
+
return abilityType.id
|
|
24
|
+
end)
|
|
25
|
+
Unit.prototype.removeExpirationTimer = function(self)
|
|
26
|
+
local handle = self.handle
|
|
27
|
+
unitAddAbility(handle, dummyPhoenixMorphAbilityTypeId)
|
|
28
|
+
local life = getWidgetLife(handle)
|
|
29
|
+
cancelTimedLife(handle)
|
|
30
|
+
setWidgetLife(handle, life)
|
|
31
|
+
end
|
|
32
|
+
Unit.onImmediateOrder[orderId("phoenixmorph")]:addListener(
|
|
33
|
+
4,
|
|
34
|
+
function(unit)
|
|
35
|
+
unitRemoveAbility(unit.handle, dummyPhoenixMorphAbilityTypeId)
|
|
36
|
+
end
|
|
37
|
+
)
|
|
38
|
+
Unit.prototype.pauseExpirationTimer = function(self)
|
|
39
|
+
pauseTimedLife(self.handle, true)
|
|
40
|
+
end
|
|
41
|
+
Unit.prototype.resumeExpirationTimer = function(self)
|
|
42
|
+
pauseTimedLife(self.handle, false)
|
|
43
|
+
end
|
|
44
|
+
return ____exports
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
local ____exports = {}
|
|
2
|
+
local ____unit = require("engine.internal.unit")
|
|
3
|
+
local Unit = ____unit.Unit
|
|
4
|
+
local ____ghost_2Dvisible = require("engine.internal.object-data.ghost-visible")
|
|
5
|
+
local GHOST_VISIBLE_DUMMY_ABILITY_TYPE_ID = ____ghost_2Dvisible.GHOST_VISIBLE_DUMMY_ABILITY_TYPE_ID
|
|
6
|
+
local unitAddAbility = UnitAddAbility
|
|
7
|
+
local unitMakeAbilityPermanent = UnitMakeAbilityPermanent
|
|
8
|
+
local unitRemoveAbility = UnitRemoveAbility
|
|
9
|
+
local ghostCounterByUnit = setmetatable({}, {__mode = "k"})
|
|
10
|
+
Unit.prototype.incrementGhostCounter = function(self)
|
|
11
|
+
local ghostCounter = ghostCounterByUnit[self] or 0
|
|
12
|
+
if ghostCounter == 0 then
|
|
13
|
+
local handle = self.handle
|
|
14
|
+
unitAddAbility(handle, GHOST_VISIBLE_DUMMY_ABILITY_TYPE_ID)
|
|
15
|
+
unitMakeAbilityPermanent(handle, true, GHOST_VISIBLE_DUMMY_ABILITY_TYPE_ID)
|
|
16
|
+
end
|
|
17
|
+
ghostCounterByUnit[self] = ghostCounter + 1
|
|
18
|
+
end
|
|
19
|
+
Unit.prototype.decrementGhostCounter = function(self)
|
|
20
|
+
local ghostCounter = ghostCounterByUnit[self] or 0
|
|
21
|
+
if ghostCounter == 1 then
|
|
22
|
+
unitRemoveAbility(self.handle, GHOST_VISIBLE_DUMMY_ABILITY_TYPE_ID)
|
|
23
|
+
end
|
|
24
|
+
ghostCounterByUnit[self] = ghostCounter - 1
|
|
25
|
+
end
|
|
26
|
+
return ____exports
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
local ____exports = {}
|
|
2
|
+
local ____unit = require("engine.internal.unit")
|
|
3
|
+
local Unit = ____unit.Unit
|
|
4
|
+
local ____invulnerable = require("engine.internal.object-data.invulnerable")
|
|
5
|
+
local INVULNERABLE_INTERNAL_ABILITY_TYPE_ID = ____invulnerable.INVULNERABLE_INTERNAL_ABILITY_TYPE_ID
|
|
6
|
+
local unitAddAbility = UnitAddAbility
|
|
7
|
+
local unitMakeAbilityPermanent = UnitMakeAbilityPermanent
|
|
8
|
+
local unitRemoveAbility = UnitRemoveAbility
|
|
9
|
+
local invulnerabilityCounterByUnit = setmetatable({}, {__mode = "k"})
|
|
10
|
+
Unit.prototype.incrementInvulnerabilityCounter = function(self)
|
|
11
|
+
local invulnerabilityCounter = invulnerabilityCounterByUnit[self] or 0
|
|
12
|
+
if invulnerabilityCounter == 0 then
|
|
13
|
+
local handle = self.handle
|
|
14
|
+
unitAddAbility(handle, INVULNERABLE_INTERNAL_ABILITY_TYPE_ID)
|
|
15
|
+
unitMakeAbilityPermanent(handle, true, INVULNERABLE_INTERNAL_ABILITY_TYPE_ID)
|
|
16
|
+
end
|
|
17
|
+
invulnerabilityCounterByUnit[self] = invulnerabilityCounter + 1
|
|
18
|
+
end
|
|
19
|
+
Unit.prototype.decrementInvulnerabilityCounter = function(self)
|
|
20
|
+
local invulnerabilityCounter = invulnerabilityCounterByUnit[self] or 0
|
|
21
|
+
if invulnerabilityCounter == 1 then
|
|
22
|
+
unitRemoveAbility(self.handle, INVULNERABLE_INTERNAL_ABILITY_TYPE_ID)
|
|
23
|
+
end
|
|
24
|
+
invulnerabilityCounterByUnit[self] = invulnerabilityCounter - 1
|
|
25
|
+
end
|
|
26
|
+
return ____exports
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/** @noSelfInFile */
|
|
2
|
+
declare module "../unit" {
|
|
3
|
+
interface Unit {
|
|
4
|
+
readonly missileLaunchOffsetX: number;
|
|
5
|
+
}
|
|
6
|
+
}
|
|
7
|
+
declare module "../unit" {
|
|
8
|
+
interface Unit {
|
|
9
|
+
readonly missileLaunchOffsetY: number;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
declare module "../unit" {
|
|
13
|
+
interface Unit {
|
|
14
|
+
readonly missileLaunchOffsetZ: number;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
declare module "../unit" {
|
|
18
|
+
interface Unit {
|
|
19
|
+
readonly missileImpactOffsetZ: number;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
declare module "../unit" {
|
|
23
|
+
interface Unit {
|
|
24
|
+
readonly missileLaunchX: number;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
declare module "../unit" {
|
|
28
|
+
interface Unit {
|
|
29
|
+
readonly missileLaunchY: number;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
declare module "../unit" {
|
|
33
|
+
interface Unit {
|
|
34
|
+
readonly missileLaunchZ: number;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
declare module "../unit" {
|
|
38
|
+
interface Unit {
|
|
39
|
+
readonly missileImpactZ: number;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
export {};
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__ObjectDefineProperty = ____lualib.__TS__ObjectDefineProperty
|
|
3
|
+
local ____exports = {}
|
|
4
|
+
local ____unit = require("engine.internal.unit")
|
|
5
|
+
local Unit = ____unit.Unit
|
|
6
|
+
local ____unit_2Dmissile_2Ddata = require("engine.internal.unit-missile-data")
|
|
7
|
+
local MISSILE_DATA_BY_UNIT_TYPE_ID = ____unit_2Dmissile_2Ddata.MISSILE_DATA_BY_UNIT_TYPE_ID
|
|
8
|
+
local getUnitFlyHeight = GetUnitFlyHeight
|
|
9
|
+
local getUnitX = GetUnitX
|
|
10
|
+
local getUnitY = GetUnitY
|
|
11
|
+
local getUnitZ = BlzGetUnitZ
|
|
12
|
+
__TS__ObjectDefineProperty(
|
|
13
|
+
Unit.prototype,
|
|
14
|
+
"missileLaunchOffsetX",
|
|
15
|
+
{get = function(self)
|
|
16
|
+
return MISSILE_DATA_BY_UNIT_TYPE_ID[self.typeId].launchOffsetX
|
|
17
|
+
end}
|
|
18
|
+
)
|
|
19
|
+
__TS__ObjectDefineProperty(
|
|
20
|
+
Unit.prototype,
|
|
21
|
+
"missileLaunchOffsetY",
|
|
22
|
+
{get = function(self)
|
|
23
|
+
return MISSILE_DATA_BY_UNIT_TYPE_ID[self.typeId].launchOffsetY
|
|
24
|
+
end}
|
|
25
|
+
)
|
|
26
|
+
__TS__ObjectDefineProperty(
|
|
27
|
+
Unit.prototype,
|
|
28
|
+
"missileLaunchOffsetZ",
|
|
29
|
+
{get = function(self)
|
|
30
|
+
return MISSILE_DATA_BY_UNIT_TYPE_ID[self.typeId].launchOffsetZ
|
|
31
|
+
end}
|
|
32
|
+
)
|
|
33
|
+
__TS__ObjectDefineProperty(
|
|
34
|
+
Unit.prototype,
|
|
35
|
+
"missileImpactOffsetZ",
|
|
36
|
+
{get = function(self)
|
|
37
|
+
return MISSILE_DATA_BY_UNIT_TYPE_ID[self.typeId].impactOffsetZ
|
|
38
|
+
end}
|
|
39
|
+
)
|
|
40
|
+
__TS__ObjectDefineProperty(
|
|
41
|
+
Unit.prototype,
|
|
42
|
+
"missileLaunchX",
|
|
43
|
+
{get = function(self)
|
|
44
|
+
return getUnitX(self.handle) + MISSILE_DATA_BY_UNIT_TYPE_ID[self.typeId].launchOffsetX
|
|
45
|
+
end}
|
|
46
|
+
)
|
|
47
|
+
__TS__ObjectDefineProperty(
|
|
48
|
+
Unit.prototype,
|
|
49
|
+
"missileLaunchY",
|
|
50
|
+
{get = function(self)
|
|
51
|
+
return getUnitY(self.handle) + MISSILE_DATA_BY_UNIT_TYPE_ID[self.typeId].launchOffsetY
|
|
52
|
+
end}
|
|
53
|
+
)
|
|
54
|
+
__TS__ObjectDefineProperty(
|
|
55
|
+
Unit.prototype,
|
|
56
|
+
"missileLaunchZ",
|
|
57
|
+
{get = function(self)
|
|
58
|
+
local handle = self.handle
|
|
59
|
+
return getUnitZ(handle) + getUnitFlyHeight(handle) + MISSILE_DATA_BY_UNIT_TYPE_ID[self.typeId].launchOffsetZ
|
|
60
|
+
end}
|
|
61
|
+
)
|
|
62
|
+
__TS__ObjectDefineProperty(
|
|
63
|
+
Unit.prototype,
|
|
64
|
+
"missileImpactZ",
|
|
65
|
+
{get = function(self)
|
|
66
|
+
local handle = self.handle
|
|
67
|
+
return getUnitZ(handle) + getUnitFlyHeight(handle) + MISSILE_DATA_BY_UNIT_TYPE_ID[self.typeId].impactOffsetZ
|
|
68
|
+
end}
|
|
69
|
+
)
|
|
70
|
+
return ____exports
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/** @noSelfInFile */
|
|
2
|
+
import { Event } from "../../../event";
|
|
3
|
+
declare module "../unit" {
|
|
4
|
+
namespace Unit {
|
|
5
|
+
const baseMovementSpeedChangedEvent: Event<[
|
|
6
|
+
unit: Unit,
|
|
7
|
+
previousValue: number,
|
|
8
|
+
newValue: number
|
|
9
|
+
]>;
|
|
10
|
+
}
|
|
11
|
+
interface Unit {
|
|
12
|
+
/** The current movement speed excluding bonuses. */
|
|
13
|
+
movementSpeedBase: number;
|
|
14
|
+
readonly movementSpeedBonus: number;
|
|
15
|
+
/** The current movement speed including bonuses. */
|
|
16
|
+
readonly movementSpeed: number;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__New = ____lualib.__TS__New
|
|
3
|
+
local __TS__ObjectDefineProperty = ____lualib.__TS__ObjectDefineProperty
|
|
4
|
+
local ____exports = {}
|
|
5
|
+
local ____unit = require("engine.internal.unit")
|
|
6
|
+
local Unit = ____unit.Unit
|
|
7
|
+
local ____event = require("event")
|
|
8
|
+
local Event = ____event.Event
|
|
9
|
+
local ____math = require("math")
|
|
10
|
+
local clamp = ____math.clamp
|
|
11
|
+
local getUnitDefaultMovementSpeed = GetUnitDefaultMoveSpeed
|
|
12
|
+
local getUnitMovementSpeed = GetUnitMoveSpeed
|
|
13
|
+
local setUnitMovementSpeed = SetUnitMoveSpeed
|
|
14
|
+
local MAXIMUM_MOVEMENT_SPEED = 522
|
|
15
|
+
local MINIMUM_MOVEMENT_SPEED = 1
|
|
16
|
+
local baseMovementSpeedChangedEvent = __TS__New(Event)
|
|
17
|
+
rawset(Unit, "baseMovementSpeedChangedEvent", baseMovementSpeedChangedEvent)
|
|
18
|
+
local baseMovementSpeedByUnit = setmetatable({}, {__mode = "k"})
|
|
19
|
+
__TS__ObjectDefineProperty(
|
|
20
|
+
Unit.prototype,
|
|
21
|
+
"baseMovementSpeed",
|
|
22
|
+
{
|
|
23
|
+
get = function(self)
|
|
24
|
+
return baseMovementSpeedByUnit[self] or getUnitDefaultMovementSpeed(self.handle)
|
|
25
|
+
end,
|
|
26
|
+
set = function(self, baseMovementSpeed)
|
|
27
|
+
setUnitMovementSpeed(self.handle, baseMovementSpeed)
|
|
28
|
+
local oldBaseMovementSpeed = baseMovementSpeedByUnit[self] or getUnitDefaultMovementSpeed(self.handle)
|
|
29
|
+
local newBaseMovementSpeed = clamp(baseMovementSpeed, MINIMUM_MOVEMENT_SPEED, MAXIMUM_MOVEMENT_SPEED)
|
|
30
|
+
baseMovementSpeedByUnit[self] = newBaseMovementSpeed
|
|
31
|
+
Event.invoke(baseMovementSpeedChangedEvent, self, oldBaseMovementSpeed, newBaseMovementSpeed)
|
|
32
|
+
end
|
|
33
|
+
}
|
|
34
|
+
)
|
|
35
|
+
__TS__ObjectDefineProperty(
|
|
36
|
+
Unit.prototype,
|
|
37
|
+
"movementSpeed",
|
|
38
|
+
{get = function(self)
|
|
39
|
+
return getUnitMovementSpeed(self.handle)
|
|
40
|
+
end}
|
|
41
|
+
)
|
|
42
|
+
return ____exports
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/** @noSelfInFile */
|
|
2
|
+
import { Event } from "../../../event";
|
|
3
|
+
declare module "../unit" {
|
|
4
|
+
namespace Unit {
|
|
5
|
+
const summonEvent: Event<[summoningUnit: Unit, summonedUnit: Unit]>;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
declare module "../unit" {
|
|
9
|
+
namespace Unit {
|
|
10
|
+
const summonedEvent: Event<[summonedUnit: Unit, summoningUnit?: Unit]>;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__New = ____lualib.__TS__New
|
|
3
|
+
local ____exports = {}
|
|
4
|
+
local ____event = require("event")
|
|
5
|
+
local DependentInitializingEvent = ____event.DependentInitializingEvent
|
|
6
|
+
local ____unit = require("engine.internal.unit")
|
|
7
|
+
local Unit = ____unit.Unit
|
|
8
|
+
local UnitTriggerEvent = ____unit.UnitTriggerEvent
|
|
9
|
+
local getTriggerUnit = GetTriggerUnit
|
|
10
|
+
local getSummoningUnit = GetSummoningUnit
|
|
11
|
+
local internalSummonEvent = __TS__New(
|
|
12
|
+
UnitTriggerEvent,
|
|
13
|
+
EVENT_PLAYER_UNIT_SUMMON,
|
|
14
|
+
function()
|
|
15
|
+
return Unit:of(getTriggerUnit()), Unit:of(getSummoningUnit())
|
|
16
|
+
end
|
|
17
|
+
)
|
|
18
|
+
rawset(
|
|
19
|
+
Unit,
|
|
20
|
+
"summonEvent",
|
|
21
|
+
__TS__New(
|
|
22
|
+
DependentInitializingEvent,
|
|
23
|
+
internalSummonEvent,
|
|
24
|
+
4,
|
|
25
|
+
function(summonedUnit, summoningUnit)
|
|
26
|
+
if summonedUnit ~= nil and summoningUnit ~= nil then
|
|
27
|
+
return true, summoningUnit, summonedUnit
|
|
28
|
+
else
|
|
29
|
+
return false
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
)
|
|
33
|
+
)
|
|
34
|
+
rawset(
|
|
35
|
+
Unit,
|
|
36
|
+
"summonedEvent",
|
|
37
|
+
__TS__New(
|
|
38
|
+
DependentInitializingEvent,
|
|
39
|
+
internalSummonEvent,
|
|
40
|
+
3,
|
|
41
|
+
function(summonedUnit, summoningUnit)
|
|
42
|
+
if summonedUnit ~= nil then
|
|
43
|
+
return true, summonedUnit, summoningUnit
|
|
44
|
+
else
|
|
45
|
+
return false
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
)
|
|
49
|
+
)
|
|
50
|
+
return ____exports
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** @noSelfInFile */
|
|
2
|
+
import { Ability } from "./ability";
|
|
3
|
+
import { DispatchingEvent } from "../../event";
|
|
4
|
+
declare module "./unit" {
|
|
5
|
+
namespace Unit {
|
|
6
|
+
const abilityGainedEvent: DispatchingEvent<[Unit, Ability]>;
|
|
7
|
+
const abilityLostEvent: DispatchingEvent<[Unit, Ability]>;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__New = ____lualib.__TS__New
|
|
3
|
+
local ____exports = {}
|
|
4
|
+
local ____ability = require("engine.internal.ability")
|
|
5
|
+
local ItemAbility = ____ability.ItemAbility
|
|
6
|
+
local UnitAbility = ____ability.UnitAbility
|
|
7
|
+
local ____unit = require("engine.internal.unit")
|
|
8
|
+
local Unit = ____unit.Unit
|
|
9
|
+
local ____event = require("event")
|
|
10
|
+
local Event = ____event.Event
|
|
11
|
+
local createDispatchingEvent = ____event.createDispatchingEvent
|
|
12
|
+
local abilityGainedEvent = createDispatchingEvent(
|
|
13
|
+
__TS__New(Event),
|
|
14
|
+
function(unit, ability) return ability.typeId end
|
|
15
|
+
)
|
|
16
|
+
rawset(Unit, "abilityGainedEvent", abilityGainedEvent)
|
|
17
|
+
local abilityLostEvent = createDispatchingEvent(
|
|
18
|
+
__TS__New(Event),
|
|
19
|
+
function(unit, ability) return ability.typeId end
|
|
20
|
+
)
|
|
21
|
+
rawset(Unit, "abilityLostEvent", abilityLostEvent)
|
|
22
|
+
UnitAbility.onCreate:addListener(
|
|
23
|
+
0,
|
|
24
|
+
function(ability)
|
|
25
|
+
Event.invoke(abilityGainedEvent, ability.owner, ability)
|
|
26
|
+
end
|
|
27
|
+
)
|
|
28
|
+
UnitAbility.destroyEvent:addListener(
|
|
29
|
+
4,
|
|
30
|
+
function(ability)
|
|
31
|
+
Event.invoke(abilityLostEvent, ability.owner, ability)
|
|
32
|
+
end
|
|
33
|
+
)
|
|
34
|
+
ItemAbility.onCreate:addListener(
|
|
35
|
+
0,
|
|
36
|
+
function(ability)
|
|
37
|
+
local unit = ability.owner.owner
|
|
38
|
+
if unit ~= nil then
|
|
39
|
+
Event.invoke(abilityGainedEvent, unit, ability)
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
)
|
|
43
|
+
Unit.onItemPickup:addListener(
|
|
44
|
+
0,
|
|
45
|
+
function(unit, item)
|
|
46
|
+
for ____, ability in ipairs(item.abilities) do
|
|
47
|
+
Event.invoke(abilityGainedEvent, unit, ability)
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
)
|
|
51
|
+
Unit.onItemDrop:addListener(
|
|
52
|
+
4,
|
|
53
|
+
function(unit, item)
|
|
54
|
+
for ____, ability in ipairs(item.abilities) do
|
|
55
|
+
Event.invoke(abilityLostEvent, unit, ability)
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
)
|
|
59
|
+
return ____exports
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__ObjectDefineProperty = ____lualib.__TS__ObjectDefineProperty
|
|
3
|
+
local ____exports = {}
|
|
4
|
+
local ____unit = require("engine.internal.unit")
|
|
5
|
+
local Unit = ____unit.Unit
|
|
6
|
+
local ____armor_2Dincrease = require("engine.internal.object-data.armor-increase")
|
|
7
|
+
local ARMOR_BONUS_DUMMY_ABILITY_FIELD = ____armor_2Dincrease.ARMOR_BONUS_DUMMY_ABILITY_FIELD
|
|
8
|
+
local ARMOR_BONUS_DUMMY_ABILITY_TYPE_ID = ____armor_2Dincrease.ARMOR_BONUS_DUMMY_ABILITY_TYPE_ID
|
|
9
|
+
local getUnitAbility = BlzGetUnitAbility
|
|
10
|
+
local setAbilityRealLevelField = BlzSetAbilityRealLevelField
|
|
11
|
+
local unitAddAbility = UnitAddAbility
|
|
12
|
+
local unitMakeAbilityPermanent = UnitMakeAbilityPermanent
|
|
13
|
+
local unitRemoveAbility = UnitRemoveAbility
|
|
14
|
+
local bonusArmorByUnit = setmetatable({}, {__mode = "k"})
|
|
15
|
+
__TS__ObjectDefineProperty(
|
|
16
|
+
Unit.prototype,
|
|
17
|
+
"armorBonus",
|
|
18
|
+
{
|
|
19
|
+
get = function(self)
|
|
20
|
+
return bonusArmorByUnit[self] or 0
|
|
21
|
+
end,
|
|
22
|
+
set = function(self, bonusArmor)
|
|
23
|
+
local unitHandle = self.handle
|
|
24
|
+
if bonusArmor == 0 then
|
|
25
|
+
if unitRemoveAbility(unitHandle, bonusArmor) then
|
|
26
|
+
bonusArmorByUnit[self] = 0
|
|
27
|
+
end
|
|
28
|
+
return
|
|
29
|
+
end
|
|
30
|
+
if unitAddAbility(unitHandle, ARMOR_BONUS_DUMMY_ABILITY_TYPE_ID) then
|
|
31
|
+
unitMakeAbilityPermanent(unitHandle, true, ARMOR_BONUS_DUMMY_ABILITY_TYPE_ID)
|
|
32
|
+
end
|
|
33
|
+
local abilityHandle = getUnitAbility(unitHandle, ARMOR_BONUS_DUMMY_ABILITY_TYPE_ID)
|
|
34
|
+
if abilityHandle and setAbilityRealLevelField(abilityHandle, ARMOR_BONUS_DUMMY_ABILITY_FIELD, 0, bonusArmor) then
|
|
35
|
+
bonusArmorByUnit[self] = bonusArmor
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
}
|
|
39
|
+
)
|
|
40
|
+
return ____exports
|