warscript 0.0.1-dev.008d8ef
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/attributes.d.ts +12 -0
- package/attributes.lua +16 -0
- package/binaryreader.d.ts +21 -0
- package/binaryreader.lua +53 -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/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 +141 -0
- package/core/types/frame.lua +884 -0
- package/core/types/game.d.ts +8 -0
- package/core/types/game.lua +41 -0
- package/core/types/group.d.ts +21 -0
- package/core/types/group.lua +94 -0
- package/core/types/handle.d.ts +49 -0
- package/core/types/handle.lua +174 -0
- package/core/types/image.d.ts +29 -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 +239 -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 +32 -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 +117 -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 +21 -0
- package/engine/behaviour/ability/apply-unit-behavior.lua +58 -0
- package/engine/behaviour/ability/damage.d.ts +47 -0
- package/engine/behaviour/ability/damage.lua +133 -0
- package/engine/behaviour/ability/heal.d.ts +43 -0
- package/engine/behaviour/ability/heal.lua +114 -0
- package/engine/behaviour/ability/instant-impact.d.ts +6 -0
- package/engine/behaviour/ability/instant-impact.lua +29 -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 +47 -0
- package/engine/behaviour/ability.lua +237 -0
- package/engine/behaviour/unit/stun-immunity.d.ts +18 -0
- package/engine/behaviour/unit/stun-immunity.lua +67 -0
- package/engine/behaviour/unit.d.ts +21 -0
- package/engine/behaviour/unit.lua +82 -0
- package/engine/buff.d.ts +221 -0
- package/engine/buff.lua +1091 -0
- package/engine/constants.d.ts +7 -0
- package/engine/constants.lua +8 -0
- package/engine/game-map.d.ts +7 -0
- package/engine/game-map.lua +32 -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 +2 -0
- package/engine/internal/mechanics/ability-duration.lua +13 -0
- package/engine/internal/mechanics/area-damage.d.ts +2 -0
- package/engine/internal/mechanics/area-damage.lua +33 -0
- package/engine/internal/mechanics/cast-ability.d.ts +2 -0
- package/engine/internal/mechanics/cast-ability.lua +86 -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 +40 -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/detach-missiles.d.ts +7 -0
- package/engine/internal/unit/detach-missiles.lua +30 -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 +96 -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 +339 -0
- package/engine/internal/unit.lua +2590 -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 +14 -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 +44 -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 +20 -0
- package/engine/object-data/entry/ability-type/blank-configurable.lua +249 -0
- package/engine/object-data/entry/ability-type/blank-passive.d.ts +6 -0
- package/engine/object-data/entry/ability-type/blank-passive.lua +28 -0
- 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/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 +47 -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/mine.d.ts +10 -0
- package/engine/object-data/entry/ability-type/mine.lua +39 -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 +1059 -0
- package/engine/object-data/entry/buff-type/applicable.d.ts +15 -0
- package/engine/object-data/entry/buff-type/applicable.lua +333 -0
- package/engine/object-data/entry/buff-type/blank.d.ts +7 -0
- package/engine/object-data/entry/buff-type/blank.lua +17 -0
- package/engine/object-data/entry/buff-type.d.ts +63 -0
- package/engine/object-data/entry/buff-type.lua +316 -0
- package/engine/object-data/entry/destructible-type.d.ts +20 -0
- package/engine/object-data/entry/destructible-type.lua +83 -0
- package/engine/object-data/entry/item-type/blank.d.ts +7 -0
- package/engine/object-data/entry/item-type/blank.lua +21 -0
- package/engine/object-data/entry/item-type.d.ts +48 -0
- package/engine/object-data/entry/item-type.lua +259 -0
- package/engine/object-data/entry/lightning-type.d.ts +36 -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 +258 -0
- package/engine/object-data/entry/unit-type.lua +1634 -0
- package/engine/object-data/entry/upgrade/blank.d.ts +7 -0
- package/engine/object-data/entry/upgrade/blank.lua +22 -0
- package/engine/object-data/entry/upgrade.d.ts +58 -0
- package/engine/object-data/entry/upgrade.lua +238 -0
- package/engine/object-data/entry.d.ts +79 -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 +117 -0
- package/engine/object-field/ability.lua +477 -0
- package/engine/object-field/unit.d.ts +16 -0
- package/engine/object-field/unit.lua +52 -0
- package/engine/object-field.d.ts +86 -0
- package/engine/object-field.lua +470 -0
- package/engine/random.d.ts +11 -0
- package/engine/random.lua +18 -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 +104 -0
- package/engine/standard/entries/unit-type.lua +104 -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 +21 -0
- package/engine/unit.lua +39 -0
- package/event.d.ts +52 -0
- package/event.lua +273 -0
- package/exception.d.ts +19 -0
- package/exception.lua +57 -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 +160 -0
- package/index.d.ts +8 -0
- package/index.lua +9 -0
- package/lualib_bundle.lua +2733 -0
- package/math/vec2.d.ts +11 -0
- package/math/vec2.lua +42 -0
- package/math.d.ts +37 -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 +709 -0
- package/objutil/ability.lua +3781 -0
- package/objutil/buff.d.ts +109 -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 +42 -0
- package/objutil/object.lua +213 -0
- package/objutil/unit.d.ts +133 -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 +46 -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/property.d.ts +55 -0
- package/property.lua +374 -0
- package/string.d.ts +136 -0
- package/string.lua +48 -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 +28 -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 +56 -0
- package/utility/arrays.lua +372 -0
- package/utility/base64.d.ts +23 -0
- package/utility/base64.lua +177 -0
- package/utility/bit-set.d.ts +16 -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 +197 -0
- package/utility/lua-maps.d.ts +5 -0
- package/utility/lua-maps.lua +25 -0
- package/utility/lua-sets.d.ts +5 -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
package/destroyable.d.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/** @noSelfInFile */
|
|
2
|
+
declare const noOverrideSymbol: unique symbol;
|
|
3
|
+
type NoOverride = {
|
|
4
|
+
[noOverrideSymbol]: typeof noOverrideSymbol;
|
|
5
|
+
};
|
|
6
|
+
export type Destructor = {
|
|
7
|
+
readonly __destructor: unique symbol;
|
|
8
|
+
};
|
|
9
|
+
export interface Destroyable {
|
|
10
|
+
destroy(): void;
|
|
11
|
+
}
|
|
12
|
+
export declare abstract class AbstractDestroyable implements Destroyable {
|
|
13
|
+
/**
|
|
14
|
+
* An overriding function should always call the super one at the end of it,
|
|
15
|
+
* in the following manner: `return super.onDestroy()`.
|
|
16
|
+
*/
|
|
17
|
+
protected onDestroy(): Destructor;
|
|
18
|
+
destroy(): boolean & NoOverride;
|
|
19
|
+
}
|
|
20
|
+
export {};
|
package/destroyable.lua
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__Class = ____lualib.__TS__Class
|
|
3
|
+
local __TS__New = ____lualib.__TS__New
|
|
4
|
+
local ____exports = {}
|
|
5
|
+
local ____exception = require("exception")
|
|
6
|
+
local IllegalStateException = ____exception.IllegalStateException
|
|
7
|
+
local stateByDestroyable = setmetatable({}, {__mode = "k"})
|
|
8
|
+
____exports.AbstractDestroyable = __TS__Class()
|
|
9
|
+
local AbstractDestroyable = ____exports.AbstractDestroyable
|
|
10
|
+
AbstractDestroyable.name = "AbstractDestroyable"
|
|
11
|
+
function AbstractDestroyable.prototype.____constructor(self)
|
|
12
|
+
end
|
|
13
|
+
function AbstractDestroyable.prototype.onDestroy(self)
|
|
14
|
+
stateByDestroyable[self] = 1
|
|
15
|
+
return nil
|
|
16
|
+
end
|
|
17
|
+
function AbstractDestroyable.prototype.destroy(self)
|
|
18
|
+
if stateByDestroyable[self] ~= nil then
|
|
19
|
+
return false
|
|
20
|
+
end
|
|
21
|
+
stateByDestroyable[self] = 0
|
|
22
|
+
self:onDestroy()
|
|
23
|
+
if stateByDestroyable[self] ~= 1 then
|
|
24
|
+
error(
|
|
25
|
+
__TS__New(IllegalStateException, ("'onDestroy' is incorrectly overridden (class '" .. self.constructor.name) .. "')."),
|
|
26
|
+
0
|
|
27
|
+
)
|
|
28
|
+
end
|
|
29
|
+
return true
|
|
30
|
+
end
|
|
31
|
+
return ____exports
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/** @noSelfInFile */
|
|
2
|
+
import { AbilityTypeId } from "./object-data/entry/ability-type";
|
|
3
|
+
import { UnitAbility } from "./internal/ability";
|
|
4
|
+
import { Player } from "../core/types/player";
|
|
5
|
+
export declare const castAbility: (owner: Player, abilityTypeId: AbilityTypeId, ...args: [...levelOrAbilityConsumer: [number] | [(ability: UnitAbility) => void] | [], x: number, y: number]) => void;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
local ____exports = {}
|
|
2
|
+
local ____dummy = require("core.dummy")
|
|
3
|
+
local InstantDummyCaster = ____dummy.InstantDummyCaster
|
|
4
|
+
____exports.castAbility = function(owner, abilityTypeId, ...)
|
|
5
|
+
InstantDummyCaster:getInstance():cast(owner, abilityTypeId, ...)
|
|
6
|
+
end
|
|
7
|
+
return ____exports
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/** @noSelfInFile */
|
|
2
|
+
import { AbstractDestroyable, Destructor } from "../destroyable";
|
|
3
|
+
export type BehaviorConstructor<T extends Behavior<AnyNotNil>, Parameters extends any[] = any[]> = OmitConstructor<typeof Behavior<any>> & (abstract new (...parameters: Parameters) => T);
|
|
4
|
+
declare const enum BehaviorPropertyKey {
|
|
5
|
+
PREVIOUS_BEHAVIOR = 0,
|
|
6
|
+
NEXT_BEHAVIOR = 1,
|
|
7
|
+
TIMER = 2
|
|
8
|
+
}
|
|
9
|
+
export declare abstract class Behavior<T extends AnyNotNil, PeriodicActionParameters extends any[] = any[]> extends AbstractDestroyable {
|
|
10
|
+
protected readonly object: T;
|
|
11
|
+
private [BehaviorPropertyKey.PREVIOUS_BEHAVIOR]?;
|
|
12
|
+
private [BehaviorPropertyKey.NEXT_BEHAVIOR]?;
|
|
13
|
+
private [BehaviorPropertyKey.TIMER]?;
|
|
14
|
+
protected constructor(object: T);
|
|
15
|
+
protected onDestroy(): Destructor;
|
|
16
|
+
protected onPeriod(...parameters: PeriodicActionParameters): void;
|
|
17
|
+
protected startPeriodicAction(interval: number, ...parameters: PeriodicActionParameters): void;
|
|
18
|
+
protected stopPeriodicAction(): void;
|
|
19
|
+
static count<T extends Behavior<AnyNotNil>, ConstructorParameters extends any[]>(this: BehaviorConstructor<T, ConstructorParameters>, object: T extends Behavior<infer Object> ? Object : never, limit?: number): number;
|
|
20
|
+
static getFirst<T extends Behavior<AnyNotNil>, ConstructorParameters extends any[], Count extends [number] | []>(this: BehaviorConstructor<T, ConstructorParameters>, object: T extends Behavior<infer Object> ? Object : never, ...[count]: Count): Count extends [number] ? T[] : T | undefined;
|
|
21
|
+
static getLast<T extends Behavior<AnyNotNil>, ConstructorParameters extends any[]>(this: BehaviorConstructor<T, ConstructorParameters>, object: T extends Behavior<infer Object> ? Object : never): T | undefined;
|
|
22
|
+
static getAll<T extends Behavior<AnyNotNil>, ConstructorParameters extends any[]>(this: BehaviorConstructor<T, ConstructorParameters>, object: T extends Behavior<infer Object> ? Object : never): T[];
|
|
23
|
+
static forFirst<T extends Behavior<AnyNotNil>, ConstructorParameters extends any[], ConsumerParameters extends any[]>(this: BehaviorConstructor<T, ConstructorParameters>, object: T extends Behavior<infer Object> ? Object : never, count: number, consumer: (this: void, behavior: T, ...parameters: ConsumerParameters) => any, ...parameters: ConsumerParameters): number;
|
|
24
|
+
static forFirst<T extends Behavior<AnyNotNil>, ConstructorParameters extends any[], K extends KeysOfType<T, (this: T, ...args: any) => any>>(this: BehaviorConstructor<T, ConstructorParameters>, object: T extends Behavior<infer Object> ? Object : never, count: number, key: K, ...parameters: T[K] extends (this: T, ...args: any) => any ? Parameters<T[K]> : never): number;
|
|
25
|
+
static forAll<T extends Behavior<AnyNotNil>, ConstructorParameters extends any[], ConsumerParameters extends any[]>(this: BehaviorConstructor<T, ConstructorParameters>, object: T extends Behavior<infer Object> ? Object : never, consumer: (this: void, behavior: T, ...parameters: ConsumerParameters) => unknown, ...parameters: ConsumerParameters): number;
|
|
26
|
+
static forAll<T extends Behavior<AnyNotNil>, ConstructorParameters extends any[], K extends KeysOfType<T, (this: T, ...args: any) => any>>(this: BehaviorConstructor<T, ConstructorParameters>, object: T extends Behavior<infer Object> ? Object : never, key: K, ...parameters: T[K] extends (this: T, ...args: any) => any ? Parameters<T[K]> : never): number;
|
|
27
|
+
}
|
|
28
|
+
export {};
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__Class = ____lualib.__TS__Class
|
|
3
|
+
local __TS__ClassExtends = ____lualib.__TS__ClassExtends
|
|
4
|
+
local __TS__InstanceOf = ____lualib.__TS__InstanceOf
|
|
5
|
+
local ____exports = {}
|
|
6
|
+
local ____destroyable = require("destroyable")
|
|
7
|
+
local AbstractDestroyable = ____destroyable.AbstractDestroyable
|
|
8
|
+
local ____timer = require("core.types.timer")
|
|
9
|
+
local Timer = ____timer.Timer
|
|
10
|
+
local safeCall = warpack.safeCall
|
|
11
|
+
local firstBehaviorByObject = {}
|
|
12
|
+
local lastBehaviorByObject = {}
|
|
13
|
+
local function invokeBehaviorOnPeriod(behavior, ...)
|
|
14
|
+
behavior.onPeriod(behavior, ...)
|
|
15
|
+
end
|
|
16
|
+
____exports.Behavior = __TS__Class()
|
|
17
|
+
local Behavior = ____exports.Behavior
|
|
18
|
+
Behavior.name = "Behavior"
|
|
19
|
+
__TS__ClassExtends(Behavior, AbstractDestroyable)
|
|
20
|
+
function Behavior.prototype.____constructor(self, object)
|
|
21
|
+
AbstractDestroyable.prototype.____constructor(self)
|
|
22
|
+
self.object = object
|
|
23
|
+
local lastBehavior = lastBehaviorByObject[object]
|
|
24
|
+
if lastBehavior == nil then
|
|
25
|
+
firstBehaviorByObject[object] = self
|
|
26
|
+
lastBehaviorByObject[object] = self
|
|
27
|
+
else
|
|
28
|
+
self[0] = lastBehavior
|
|
29
|
+
lastBehavior[1] = self
|
|
30
|
+
lastBehaviorByObject[object] = self
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
function Behavior.prototype.onDestroy(self)
|
|
34
|
+
local ____opt_0 = self[2]
|
|
35
|
+
if ____opt_0 ~= nil then
|
|
36
|
+
____opt_0:destroy()
|
|
37
|
+
end
|
|
38
|
+
local previousBehavior = self[0]
|
|
39
|
+
local nextBehavior = self[1]
|
|
40
|
+
if previousBehavior ~= nil then
|
|
41
|
+
previousBehavior[1] = nextBehavior
|
|
42
|
+
else
|
|
43
|
+
firstBehaviorByObject[self.object] = nextBehavior
|
|
44
|
+
end
|
|
45
|
+
if nextBehavior ~= nil then
|
|
46
|
+
nextBehavior[0] = previousBehavior
|
|
47
|
+
else
|
|
48
|
+
lastBehaviorByObject[self.object] = previousBehavior
|
|
49
|
+
end
|
|
50
|
+
return AbstractDestroyable.prototype.onDestroy(self)
|
|
51
|
+
end
|
|
52
|
+
function Behavior.prototype.onPeriod(self, ...)
|
|
53
|
+
end
|
|
54
|
+
function Behavior.prototype.startPeriodicAction(self, interval, ...)
|
|
55
|
+
local timer = self[2]
|
|
56
|
+
if timer == nil then
|
|
57
|
+
timer = Timer:create()
|
|
58
|
+
self[2] = timer
|
|
59
|
+
end
|
|
60
|
+
timer:start(
|
|
61
|
+
interval,
|
|
62
|
+
true,
|
|
63
|
+
invokeBehaviorOnPeriod,
|
|
64
|
+
self,
|
|
65
|
+
...
|
|
66
|
+
)
|
|
67
|
+
end
|
|
68
|
+
function Behavior.prototype.stopPeriodicAction(self)
|
|
69
|
+
local timer = self[2]
|
|
70
|
+
if timer ~= nil then
|
|
71
|
+
timer:destroy()
|
|
72
|
+
self[2] = nil
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
function Behavior.count(self, object, limit)
|
|
76
|
+
local behaviorsCount = 0
|
|
77
|
+
local behavior = firstBehaviorByObject[object]
|
|
78
|
+
while behavior ~= nil and (limit == nil or behaviorsCount < limit) do
|
|
79
|
+
if __TS__InstanceOf(behavior, self) then
|
|
80
|
+
behaviorsCount = behaviorsCount + 1
|
|
81
|
+
end
|
|
82
|
+
behavior = behavior[1]
|
|
83
|
+
end
|
|
84
|
+
return behaviorsCount
|
|
85
|
+
end
|
|
86
|
+
function Behavior.getFirst(self, object, count)
|
|
87
|
+
local behavior = firstBehaviorByObject[object]
|
|
88
|
+
if count == nil then
|
|
89
|
+
while behavior ~= nil do
|
|
90
|
+
if __TS__InstanceOf(behavior, self) then
|
|
91
|
+
return behavior
|
|
92
|
+
end
|
|
93
|
+
behavior = behavior[1]
|
|
94
|
+
end
|
|
95
|
+
return nil
|
|
96
|
+
end
|
|
97
|
+
local behaviors = {}
|
|
98
|
+
local behaviorsCount = 0
|
|
99
|
+
while behavior ~= nil and behaviorsCount < count do
|
|
100
|
+
if __TS__InstanceOf(behavior, self) then
|
|
101
|
+
behaviorsCount = behaviorsCount + 1
|
|
102
|
+
behaviors[behaviorsCount] = behavior
|
|
103
|
+
end
|
|
104
|
+
behavior = behavior[1]
|
|
105
|
+
end
|
|
106
|
+
return behaviors
|
|
107
|
+
end
|
|
108
|
+
function Behavior.getLast(self, object)
|
|
109
|
+
local behavior = lastBehaviorByObject[object]
|
|
110
|
+
while behavior ~= nil do
|
|
111
|
+
if __TS__InstanceOf(behavior, self) then
|
|
112
|
+
return behavior
|
|
113
|
+
end
|
|
114
|
+
behavior = behavior[0]
|
|
115
|
+
end
|
|
116
|
+
return nil
|
|
117
|
+
end
|
|
118
|
+
function Behavior.getAll(self, object)
|
|
119
|
+
local behaviors = {}
|
|
120
|
+
local behaviorsCount = 0
|
|
121
|
+
local behavior = firstBehaviorByObject[object]
|
|
122
|
+
while behavior ~= nil do
|
|
123
|
+
if __TS__InstanceOf(behavior, self) then
|
|
124
|
+
behaviorsCount = behaviorsCount + 1
|
|
125
|
+
behaviors[behaviorsCount] = behavior
|
|
126
|
+
end
|
|
127
|
+
behavior = behavior[1]
|
|
128
|
+
end
|
|
129
|
+
return behaviors
|
|
130
|
+
end
|
|
131
|
+
function Behavior.forFirst(self, object, count, consumerOrKey, ...)
|
|
132
|
+
local behaviorsCount = 0
|
|
133
|
+
local behavior = firstBehaviorByObject[object]
|
|
134
|
+
if type(consumerOrKey) == "function" then
|
|
135
|
+
while behavior ~= nil and behaviorsCount < count do
|
|
136
|
+
if __TS__InstanceOf(behavior, self) then
|
|
137
|
+
safeCall(consumerOrKey, behavior, ...)
|
|
138
|
+
behaviorsCount = behaviorsCount + 1
|
|
139
|
+
end
|
|
140
|
+
behavior = behavior[1]
|
|
141
|
+
end
|
|
142
|
+
else
|
|
143
|
+
while behavior ~= nil and behaviorsCount < count do
|
|
144
|
+
if __TS__InstanceOf(behavior, self) then
|
|
145
|
+
safeCall(behavior[consumerOrKey], behavior, ...)
|
|
146
|
+
behaviorsCount = behaviorsCount + 1
|
|
147
|
+
end
|
|
148
|
+
behavior = behavior[1]
|
|
149
|
+
end
|
|
150
|
+
end
|
|
151
|
+
return behaviorsCount
|
|
152
|
+
end
|
|
153
|
+
function Behavior.forAll(self, object, consumerOrKey, ...)
|
|
154
|
+
local behaviorsCount = 0
|
|
155
|
+
local behavior = firstBehaviorByObject[object]
|
|
156
|
+
if behavior ~= nil then
|
|
157
|
+
if type(consumerOrKey) == "function" then
|
|
158
|
+
repeat
|
|
159
|
+
do
|
|
160
|
+
if __TS__InstanceOf(behavior, self) then
|
|
161
|
+
safeCall(consumerOrKey, behavior, ...)
|
|
162
|
+
behaviorsCount = behaviorsCount + 1
|
|
163
|
+
end
|
|
164
|
+
behavior = behavior[1]
|
|
165
|
+
end
|
|
166
|
+
until not (behavior ~= nil)
|
|
167
|
+
else
|
|
168
|
+
repeat
|
|
169
|
+
do
|
|
170
|
+
if __TS__InstanceOf(behavior, self) then
|
|
171
|
+
safeCall(behavior[consumerOrKey], behavior, ...)
|
|
172
|
+
behaviorsCount = behaviorsCount + 1
|
|
173
|
+
end
|
|
174
|
+
behavior = behavior[1]
|
|
175
|
+
end
|
|
176
|
+
until not (behavior ~= nil)
|
|
177
|
+
end
|
|
178
|
+
end
|
|
179
|
+
return behaviorsCount
|
|
180
|
+
end
|
|
181
|
+
return ____exports
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/** @noSelfInFile */
|
|
2
|
+
import { AbilityBehavior } from "../ability";
|
|
3
|
+
import { Ability } from "../../internal/ability";
|
|
4
|
+
import { Buff, BuffConstructor, BuffParameters, BuffTypeIdSelectionPolicy } from "../../buff";
|
|
5
|
+
import { Unit } from "../../internal/unit";
|
|
6
|
+
import { ApplicableBuffTypeId } from "../../object-data/entry/buff-type/applicable";
|
|
7
|
+
import { BuffResistanceType } from "../../object-data/auxiliary/buff-resistance-type";
|
|
8
|
+
import { BuffPolarity } from "../../object-data/auxiliary/buff-polarity";
|
|
9
|
+
import { Widget } from "../../../core/types/widget";
|
|
10
|
+
type BuffParametersType<T extends BuffConstructor> = BuffParameters & Omit<BuffAdditionalParametersType<T>, keyof BuffParameters>;
|
|
11
|
+
type BuffAdditionalParametersType<T extends BuffConstructor> = T extends BuffConstructor<Buff<infer AdditionalParameters>> ? AdditionalParameters : never;
|
|
12
|
+
export declare abstract class ApplyBuffAbilityBehavior<T extends BuffConstructor = typeof Buff> extends AbilityBehavior {
|
|
13
|
+
protected readonly applyBuff: (this: void, unit: Unit) => InstanceType<T> | undefined;
|
|
14
|
+
constructor(ability: Ability, ...parameters: [
|
|
15
|
+
...constructor: [] | [T],
|
|
16
|
+
...typeId: [ApplicableBuffTypeId] | [
|
|
17
|
+
typeIds: [ApplicableBuffTypeId, ...ApplicableBuffTypeId[]],
|
|
18
|
+
typeIdSelectionPolicy: BuffTypeIdSelectionPolicy
|
|
19
|
+
],
|
|
20
|
+
polarity: BuffPolarity,
|
|
21
|
+
resistanceType: BuffResistanceType,
|
|
22
|
+
parameters?: BuffParametersType<T>
|
|
23
|
+
]);
|
|
24
|
+
}
|
|
25
|
+
export declare class ApplyBuffSelfAbilityBehaviour<T extends BuffConstructor = typeof Buff> extends ApplyBuffAbilityBehavior<T> {
|
|
26
|
+
onImpact(caster: Unit): void;
|
|
27
|
+
}
|
|
28
|
+
export declare class ApplyBuffTargetAbilityBehavior<T extends BuffConstructor = typeof Buff> extends ApplyBuffAbilityBehavior<T> {
|
|
29
|
+
onUnitTargetImpact(caster: Unit, target: Unit): void;
|
|
30
|
+
}
|
|
31
|
+
export declare class ApplyBuffSelfAreaAbilityBehavior<T extends BuffConstructor = typeof Buff> extends ApplyBuffAbilityBehavior<T> {
|
|
32
|
+
onImpact(caster: Unit): void;
|
|
33
|
+
}
|
|
34
|
+
export declare class ApplyBuffTargetAreaAbilityBehavior<T extends BuffConstructor = typeof Buff> extends ApplyBuffAbilityBehavior<T> {
|
|
35
|
+
onPointTargetImpact(caster: Unit, x: number, y: number): void;
|
|
36
|
+
onWidgetTargetImpact(caster: Unit, target: Widget): void;
|
|
37
|
+
}
|
|
38
|
+
export {};
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__Class = ____lualib.__TS__Class
|
|
3
|
+
local __TS__ClassExtends = ____lualib.__TS__ClassExtends
|
|
4
|
+
local __TS__ArrayIsArray = ____lualib.__TS__ArrayIsArray
|
|
5
|
+
local ____exports = {}
|
|
6
|
+
local ____ability = require("engine.behaviour.ability")
|
|
7
|
+
local AbilityBehavior = ____ability.AbilityBehavior
|
|
8
|
+
local ____buff = require("engine.buff")
|
|
9
|
+
local Buff = ____buff.Buff
|
|
10
|
+
local ____unit = require("engine.internal.unit")
|
|
11
|
+
local Unit = ____unit.Unit
|
|
12
|
+
local ____ability = require("engine.object-field.ability")
|
|
13
|
+
local resolveCurrentAbilityDependentValue = ____ability.resolveCurrentAbilityDependentValue
|
|
14
|
+
local ____ability = require("engine.standard.fields.ability")
|
|
15
|
+
local ALLOWED_TARGETS_ABILITY_COMBAT_CLASSIFICATIONS_LEVEL_FIELD = ____ability.ALLOWED_TARGETS_ABILITY_COMBAT_CLASSIFICATIONS_LEVEL_FIELD
|
|
16
|
+
local AREA_OF_EFFECT_ABILITY_FLOAT_LEVEL_FIELD = ____ability.AREA_OF_EFFECT_ABILITY_FLOAT_LEVEL_FIELD
|
|
17
|
+
____exports.ApplyBuffAbilityBehavior = __TS__Class()
|
|
18
|
+
local ApplyBuffAbilityBehavior = ____exports.ApplyBuffAbilityBehavior
|
|
19
|
+
ApplyBuffAbilityBehavior.name = "ApplyBuffAbilityBehavior"
|
|
20
|
+
__TS__ClassExtends(ApplyBuffAbilityBehavior, AbilityBehavior)
|
|
21
|
+
function ApplyBuffAbilityBehavior.prototype.____constructor(self, ability, constructorOrTypeIdOrTypeIds, typeIdOrTypeIdsOrPolarityOrTypeIdSelectionPolicy, polarityOrTypeIdSelectionPolicyOrResistanceType, resistanceTypeOrPolarityOrParameters, parametersOrResistanceType, parameters)
|
|
22
|
+
AbilityBehavior.prototype.____constructor(self, ability)
|
|
23
|
+
if type(constructorOrTypeIdOrTypeIds) == "number" then
|
|
24
|
+
self.applyBuff = function(unit)
|
|
25
|
+
return Buff:apply(
|
|
26
|
+
unit,
|
|
27
|
+
constructorOrTypeIdOrTypeIds,
|
|
28
|
+
typeIdOrTypeIdsOrPolarityOrTypeIdSelectionPolicy,
|
|
29
|
+
polarityOrTypeIdSelectionPolicyOrResistanceType,
|
|
30
|
+
ability,
|
|
31
|
+
resistanceTypeOrPolarityOrParameters
|
|
32
|
+
)
|
|
33
|
+
end
|
|
34
|
+
elseif __TS__ArrayIsArray(constructorOrTypeIdOrTypeIds) then
|
|
35
|
+
self.applyBuff = function(unit)
|
|
36
|
+
return Buff:apply(
|
|
37
|
+
unit,
|
|
38
|
+
constructorOrTypeIdOrTypeIds,
|
|
39
|
+
typeIdOrTypeIdsOrPolarityOrTypeIdSelectionPolicy,
|
|
40
|
+
polarityOrTypeIdSelectionPolicyOrResistanceType,
|
|
41
|
+
resistanceTypeOrPolarityOrParameters,
|
|
42
|
+
ability,
|
|
43
|
+
parametersOrResistanceType
|
|
44
|
+
)
|
|
45
|
+
end
|
|
46
|
+
elseif type(typeIdOrTypeIdsOrPolarityOrTypeIdSelectionPolicy) == "number" then
|
|
47
|
+
self.applyBuff = function(unit)
|
|
48
|
+
return constructorOrTypeIdOrTypeIds:apply(
|
|
49
|
+
unit,
|
|
50
|
+
typeIdOrTypeIdsOrPolarityOrTypeIdSelectionPolicy,
|
|
51
|
+
polarityOrTypeIdSelectionPolicyOrResistanceType,
|
|
52
|
+
resistanceTypeOrPolarityOrParameters,
|
|
53
|
+
ability,
|
|
54
|
+
parametersOrResistanceType
|
|
55
|
+
)
|
|
56
|
+
end
|
|
57
|
+
else
|
|
58
|
+
self.applyBuff = function(unit)
|
|
59
|
+
return constructorOrTypeIdOrTypeIds:apply(
|
|
60
|
+
unit,
|
|
61
|
+
typeIdOrTypeIdsOrPolarityOrTypeIdSelectionPolicy,
|
|
62
|
+
polarityOrTypeIdSelectionPolicyOrResistanceType,
|
|
63
|
+
resistanceTypeOrPolarityOrParameters,
|
|
64
|
+
parametersOrResistanceType,
|
|
65
|
+
ability,
|
|
66
|
+
parameters
|
|
67
|
+
)
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
____exports.ApplyBuffSelfAbilityBehaviour = __TS__Class()
|
|
72
|
+
local ApplyBuffSelfAbilityBehaviour = ____exports.ApplyBuffSelfAbilityBehaviour
|
|
73
|
+
ApplyBuffSelfAbilityBehaviour.name = "ApplyBuffSelfAbilityBehaviour"
|
|
74
|
+
__TS__ClassExtends(ApplyBuffSelfAbilityBehaviour, ____exports.ApplyBuffAbilityBehavior)
|
|
75
|
+
function ApplyBuffSelfAbilityBehaviour.prototype.onImpact(self, caster)
|
|
76
|
+
self.applyBuff(caster)
|
|
77
|
+
end
|
|
78
|
+
____exports.ApplyBuffTargetAbilityBehavior = __TS__Class()
|
|
79
|
+
local ApplyBuffTargetAbilityBehavior = ____exports.ApplyBuffTargetAbilityBehavior
|
|
80
|
+
ApplyBuffTargetAbilityBehavior.name = "ApplyBuffTargetAbilityBehavior"
|
|
81
|
+
__TS__ClassExtends(ApplyBuffTargetAbilityBehavior, ____exports.ApplyBuffAbilityBehavior)
|
|
82
|
+
function ApplyBuffTargetAbilityBehavior.prototype.onUnitTargetImpact(self, caster, target)
|
|
83
|
+
self.applyBuff(target)
|
|
84
|
+
end
|
|
85
|
+
____exports.ApplyBuffSelfAreaAbilityBehavior = __TS__Class()
|
|
86
|
+
local ApplyBuffSelfAreaAbilityBehavior = ____exports.ApplyBuffSelfAreaAbilityBehavior
|
|
87
|
+
ApplyBuffSelfAreaAbilityBehavior.name = "ApplyBuffSelfAreaAbilityBehavior"
|
|
88
|
+
__TS__ClassExtends(ApplyBuffSelfAreaAbilityBehavior, ____exports.ApplyBuffAbilityBehavior)
|
|
89
|
+
function ApplyBuffSelfAreaAbilityBehavior.prototype.onImpact(self, caster)
|
|
90
|
+
for ____, unit in ipairs(Unit.getAllowedTargetsInCollisionRange(
|
|
91
|
+
caster,
|
|
92
|
+
resolveCurrentAbilityDependentValue(self.ability, ALLOWED_TARGETS_ABILITY_COMBAT_CLASSIFICATIONS_LEVEL_FIELD),
|
|
93
|
+
caster.x,
|
|
94
|
+
caster.y,
|
|
95
|
+
resolveCurrentAbilityDependentValue(self.ability, AREA_OF_EFFECT_ABILITY_FLOAT_LEVEL_FIELD)
|
|
96
|
+
)) do
|
|
97
|
+
self.applyBuff(unit)
|
|
98
|
+
end
|
|
99
|
+
end
|
|
100
|
+
____exports.ApplyBuffTargetAreaAbilityBehavior = __TS__Class()
|
|
101
|
+
local ApplyBuffTargetAreaAbilityBehavior = ____exports.ApplyBuffTargetAreaAbilityBehavior
|
|
102
|
+
ApplyBuffTargetAreaAbilityBehavior.name = "ApplyBuffTargetAreaAbilityBehavior"
|
|
103
|
+
__TS__ClassExtends(ApplyBuffTargetAreaAbilityBehavior, ____exports.ApplyBuffAbilityBehavior)
|
|
104
|
+
function ApplyBuffTargetAreaAbilityBehavior.prototype.onPointTargetImpact(self, caster, x, y)
|
|
105
|
+
for ____, unit in ipairs(Unit.getAllowedTargetsInCollisionRange(
|
|
106
|
+
caster,
|
|
107
|
+
resolveCurrentAbilityDependentValue(self.ability, ALLOWED_TARGETS_ABILITY_COMBAT_CLASSIFICATIONS_LEVEL_FIELD),
|
|
108
|
+
x,
|
|
109
|
+
y,
|
|
110
|
+
resolveCurrentAbilityDependentValue(self.ability, AREA_OF_EFFECT_ABILITY_FLOAT_LEVEL_FIELD)
|
|
111
|
+
)) do
|
|
112
|
+
self.applyBuff(unit)
|
|
113
|
+
end
|
|
114
|
+
end
|
|
115
|
+
function ApplyBuffTargetAreaAbilityBehavior.prototype.onWidgetTargetImpact(self, caster, target)
|
|
116
|
+
for ____, unit in ipairs(Unit.getAllowedTargetsInCollisionRange(
|
|
117
|
+
caster,
|
|
118
|
+
resolveCurrentAbilityDependentValue(self.ability, ALLOWED_TARGETS_ABILITY_COMBAT_CLASSIFICATIONS_LEVEL_FIELD),
|
|
119
|
+
target.x,
|
|
120
|
+
target.y,
|
|
121
|
+
resolveCurrentAbilityDependentValue(self.ability, AREA_OF_EFFECT_ABILITY_FLOAT_LEVEL_FIELD)
|
|
122
|
+
)) do
|
|
123
|
+
self.applyBuff(unit)
|
|
124
|
+
end
|
|
125
|
+
end
|
|
126
|
+
return ____exports
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/** @noSelfInFile */
|
|
2
|
+
import { AbilityBehavior } from "../ability";
|
|
3
|
+
import { Ability } from "../../internal/ability";
|
|
4
|
+
import { UnitBehavior } from "../unit";
|
|
5
|
+
import { Unit } from "../../internal/unit";
|
|
6
|
+
import { MutableKeys } from "../../../utility/types";
|
|
7
|
+
import { AbilityDependentValue } from "../../object-field/ability";
|
|
8
|
+
type UnitBehaviorParameters<T extends UnitBehavior> = Partial<{
|
|
9
|
+
[K in MutableKeys<T> & KeysOfType<T, boolean | number | string>]: T[K] extends boolean | number | string ? AbilityDependentValue<T[K]> : never;
|
|
10
|
+
}>;
|
|
11
|
+
export declare class ApplyUnitBehaviorAbilityBehavior<T extends UnitBehavior> extends AbilityBehavior {
|
|
12
|
+
private readonly unitBehaviorConstructor;
|
|
13
|
+
private readonly parameters?;
|
|
14
|
+
private readonly keys?;
|
|
15
|
+
private unitBehavior?;
|
|
16
|
+
constructor(ability: Ability, unitBehaviorConstructor: new (unit: Unit) => T, parameters?: UnitBehaviorParameters<T> | undefined);
|
|
17
|
+
update(): void;
|
|
18
|
+
onUnitGainAbility(unit: Unit): void;
|
|
19
|
+
onUnitLoseAbility(): void;
|
|
20
|
+
}
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__Class = ____lualib.__TS__Class
|
|
3
|
+
local __TS__ClassExtends = ____lualib.__TS__ClassExtends
|
|
4
|
+
local __TS__ObjectKeys = ____lualib.__TS__ObjectKeys
|
|
5
|
+
local __TS__ArraySort = ____lualib.__TS__ArraySort
|
|
6
|
+
local __TS__New = ____lualib.__TS__New
|
|
7
|
+
local ____exports = {}
|
|
8
|
+
local ____ability = require("engine.behaviour.ability")
|
|
9
|
+
local AbilityBehavior = ____ability.AbilityBehavior
|
|
10
|
+
local ____ability = require("engine.object-field.ability")
|
|
11
|
+
local AbilityField = ____ability.AbilityField
|
|
12
|
+
local AbilityLevelField = ____ability.AbilityLevelField
|
|
13
|
+
____exports.ApplyUnitBehaviorAbilityBehavior = __TS__Class()
|
|
14
|
+
local ApplyUnitBehaviorAbilityBehavior = ____exports.ApplyUnitBehaviorAbilityBehavior
|
|
15
|
+
ApplyUnitBehaviorAbilityBehavior.name = "ApplyUnitBehaviorAbilityBehavior"
|
|
16
|
+
__TS__ClassExtends(ApplyUnitBehaviorAbilityBehavior, AbilityBehavior)
|
|
17
|
+
function ApplyUnitBehaviorAbilityBehavior.prototype.____constructor(self, ability, unitBehaviorConstructor, parameters)
|
|
18
|
+
AbilityBehavior.prototype.____constructor(self, ability)
|
|
19
|
+
self.unitBehaviorConstructor = unitBehaviorConstructor
|
|
20
|
+
self.parameters = parameters
|
|
21
|
+
if parameters ~= nil then
|
|
22
|
+
self.keys = __TS__ArraySort(__TS__ObjectKeys(parameters))
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
function ApplyUnitBehaviorAbilityBehavior.prototype.update(self)
|
|
26
|
+
local unitBehavior = self.unitBehavior
|
|
27
|
+
local parameters = self.parameters
|
|
28
|
+
local keys = self.keys
|
|
29
|
+
if unitBehavior ~= nil and parameters ~= nil and keys ~= nil then
|
|
30
|
+
for ____, key in ipairs(keys) do
|
|
31
|
+
local value = parameters[key]
|
|
32
|
+
if value ~= nil then
|
|
33
|
+
unitBehavior[key] = self:resolveCurrentAbilityDependentValue(value)
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
function ApplyUnitBehaviorAbilityBehavior.prototype.onUnitGainAbility(self, unit)
|
|
39
|
+
local ____opt_0 = self.unitBehavior
|
|
40
|
+
if ____opt_0 ~= nil then
|
|
41
|
+
____opt_0:destroy()
|
|
42
|
+
end
|
|
43
|
+
self.unitBehavior = __TS__New(self.unitBehaviorConstructor, unit)
|
|
44
|
+
self:update()
|
|
45
|
+
end
|
|
46
|
+
function ApplyUnitBehaviorAbilityBehavior.prototype.onUnitLoseAbility(self)
|
|
47
|
+
local ____opt_2 = self.unitBehavior
|
|
48
|
+
if ____opt_2 ~= nil then
|
|
49
|
+
____opt_2:destroy()
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
AbilityField.valueChangeEvent:addListener(function(ability)
|
|
53
|
+
____exports.ApplyUnitBehaviorAbilityBehavior:forAll(ability, "update")
|
|
54
|
+
end)
|
|
55
|
+
AbilityLevelField.valueChangeEvent:addListener(function(ability)
|
|
56
|
+
____exports.ApplyUnitBehaviorAbilityBehavior:forAll(ability, "update")
|
|
57
|
+
end)
|
|
58
|
+
return ____exports
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/** @noSelfInFile */
|
|
2
|
+
import { AbilityBehavior } from "../ability";
|
|
3
|
+
import { Ability } from "../../internal/ability";
|
|
4
|
+
import { Unit } from "../../internal/unit";
|
|
5
|
+
import { AbilityDependentValue } from "../../object-field/ability";
|
|
6
|
+
import { Widget } from "../../../core/types/widget";
|
|
7
|
+
import { AttackType, DamageType, WeaponType } from "../../internal/unit+damage";
|
|
8
|
+
export type DamageAbilityBehaviorParameters = {
|
|
9
|
+
damagePerStrength?: AbilityDependentValue<number>;
|
|
10
|
+
damagePerAgility?: AbilityDependentValue<number>;
|
|
11
|
+
damagePerIntelligence?: AbilityDependentValue<number>;
|
|
12
|
+
attackType?: AttackType;
|
|
13
|
+
damageType?: DamageType;
|
|
14
|
+
weaponType?: WeaponType;
|
|
15
|
+
};
|
|
16
|
+
export type DamageAreaAbilityBehaviorParameters = DamageAbilityBehaviorParameters & {
|
|
17
|
+
maximumDamage?: AbilityDependentValue<number>;
|
|
18
|
+
};
|
|
19
|
+
declare abstract class DamageAbilityBehavior<T extends DamageAbilityBehaviorParameters = DamageAbilityBehaviorParameters> extends AbilityBehavior {
|
|
20
|
+
protected readonly damage: AbilityDependentValue<number>;
|
|
21
|
+
protected readonly parameters?: T | undefined;
|
|
22
|
+
protected constructor(ability: Ability, damage: AbilityDependentValue<number>, parameters?: T | undefined);
|
|
23
|
+
protected calculateDamage(caster: Unit): number;
|
|
24
|
+
}
|
|
25
|
+
export declare class DamageSelfAbilityBehavior extends DamageAbilityBehavior {
|
|
26
|
+
constructor(ability: Ability, damage: AbilityDependentValue<number>, parameters?: DamageAbilityBehaviorParameters);
|
|
27
|
+
onImpact(caster: Unit): void;
|
|
28
|
+
}
|
|
29
|
+
export declare class DamageTargetAbilityBehavior extends DamageAbilityBehavior {
|
|
30
|
+
constructor(ability: Ability, damage: AbilityDependentValue<number>, parameters?: DamageAbilityBehaviorParameters);
|
|
31
|
+
onWidgetTargetImpact(caster: Unit, target: Widget): void;
|
|
32
|
+
}
|
|
33
|
+
declare abstract class DamageAreaAbilityBehavior extends DamageAbilityBehavior<DamageAreaAbilityBehaviorParameters> {
|
|
34
|
+
protected constructor(ability: Ability, damage: AbilityDependentValue<number>, parameters?: DamageAreaAbilityBehaviorParameters);
|
|
35
|
+
protected damageArea(caster: Unit, x: number, y: number): void;
|
|
36
|
+
}
|
|
37
|
+
export declare class DamageSelfAreaAbilityBehavior extends DamageAreaAbilityBehavior {
|
|
38
|
+
constructor(ability: Ability, damage: AbilityDependentValue<number>, parameters?: DamageAreaAbilityBehaviorParameters);
|
|
39
|
+
onImpact(caster: Unit): void;
|
|
40
|
+
}
|
|
41
|
+
export declare class DamageTargetAreaAbilityBehavior extends DamageAreaAbilityBehavior {
|
|
42
|
+
constructor(ability: Ability, damage: AbilityDependentValue<number>, parameters?: DamageAreaAbilityBehaviorParameters);
|
|
43
|
+
onNoTargetImpact(caster: Unit): void;
|
|
44
|
+
onWidgetTargetImpact(caster: Unit, target: Widget): void;
|
|
45
|
+
onPointTargetImpact(caster: Unit, x: number, y: number): void;
|
|
46
|
+
}
|
|
47
|
+
export {};
|