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,25 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__Class = ____lualib.__TS__Class
|
|
3
|
+
local __TS__ClassExtends = ____lualib.__TS__ClassExtends
|
|
4
|
+
local ____exports = {}
|
|
5
|
+
local ____ability = require("engine.behaviour.ability")
|
|
6
|
+
local AbilityBehavior = ____ability.AbilityBehavior
|
|
7
|
+
local ____ability = require("engine.standard.fields.ability")
|
|
8
|
+
local COOLDOWN_ABILITY_FLOAT_LEVEL_FIELD = ____ability.COOLDOWN_ABILITY_FLOAT_LEVEL_FIELD
|
|
9
|
+
local MANA_COST_ABILITY_INTEGER_LEVEL_FIELD = ____ability.MANA_COST_ABILITY_INTEGER_LEVEL_FIELD
|
|
10
|
+
____exports.InstantImpactAbilityBehavior = __TS__Class()
|
|
11
|
+
local InstantImpactAbilityBehavior = ____exports.InstantImpactAbilityBehavior
|
|
12
|
+
InstantImpactAbilityBehavior.name = "InstantImpactAbilityBehavior"
|
|
13
|
+
__TS__ClassExtends(InstantImpactAbilityBehavior, AbilityBehavior)
|
|
14
|
+
function InstantImpactAbilityBehavior.prototype.onCastingStart(self, caster)
|
|
15
|
+
local manaCost = self:resolveCurrentAbilityDependentValue(MANA_COST_ABILITY_INTEGER_LEVEL_FIELD)
|
|
16
|
+
local cooldown = self:resolveCurrentAbilityDependentValue(COOLDOWN_ABILITY_FLOAT_LEVEL_FIELD)
|
|
17
|
+
caster.mana = caster.mana - manaCost
|
|
18
|
+
if cooldown == 0 then
|
|
19
|
+
caster:interruptCast(self.ability.typeId)
|
|
20
|
+
else
|
|
21
|
+
caster:startAbilityCooldown(self.ability.typeId, cooldown)
|
|
22
|
+
end
|
|
23
|
+
AbilityBehavior:forAll(self.ability, "onImpact", caster)
|
|
24
|
+
end
|
|
25
|
+
return ____exports
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/** @noSelfInFile */
|
|
2
|
+
import { Behavior } from "../behavior";
|
|
3
|
+
import { Unit } from "../unit";
|
|
4
|
+
import { Ability } from "../internal/ability";
|
|
5
|
+
import { AbilityTypeId } from "../object-data/entry/ability-type";
|
|
6
|
+
import { Widget } from "../../core/types/widget";
|
|
7
|
+
import { Item } from "../internal/item";
|
|
8
|
+
import { Destructable } from "../../core/types/destructable";
|
|
9
|
+
import { EffectParameters } from "../../core/types/effect";
|
|
10
|
+
import { AbilityDependentValue } from "../object-field/ability";
|
|
11
|
+
export type AbilityBehaviorConstructor<Args extends any[]> = new (ability: Ability, ...args: Args) => AbilityBehavior;
|
|
12
|
+
export declare abstract class AbilityBehavior<PeriodicActionParameters extends any[] = any[]> extends Behavior<Ability, PeriodicActionParameters> {
|
|
13
|
+
constructor(ability: Ability);
|
|
14
|
+
get ability(): Ability;
|
|
15
|
+
protected resolveCurrentAbilityDependentValue<T extends boolean | number | string>(value: AbilityDependentValue<T>): T;
|
|
16
|
+
protected flashAreaEffect(x: number, y: number, ...parametersOrDuration: [parameters?: EffectParameters] | [duration?: number, parameters?: EffectParameters]): void;
|
|
17
|
+
protected flashEffect(x: number, y: number, ...parametersOrDuration: [parameters?: EffectParameters] | [duration?: number, parameters?: EffectParameters]): void;
|
|
18
|
+
protected flashSpecialEffect(...args: [...pointOrWidget: [x: number, y: number] | [widget: Widget], duration?: number]): void;
|
|
19
|
+
onUnitGainAbility(_unit: Unit): void;
|
|
20
|
+
onUnitLoseAbility(_unit: Unit): void;
|
|
21
|
+
onCastingStart(caster: Unit): void;
|
|
22
|
+
onCastingFinish(caster: Unit): void;
|
|
23
|
+
onChannelingStart(caster: Unit): void;
|
|
24
|
+
onWidgetTargetChannelingStart(caster: Unit, target: Widget): void;
|
|
25
|
+
onUnitTargetChannelingStart(caster: Unit, target: Unit): void;
|
|
26
|
+
onItemTargetChannelingStart(caster: Unit, target: Item): void;
|
|
27
|
+
onDestructibleTargetChannelingStart(caster: Unit, target: Destructable): void;
|
|
28
|
+
onPointTargetChannelingStart(caster: Unit, x: number, y: number): void;
|
|
29
|
+
onNoTargetChannelingStart(caster: Unit): void;
|
|
30
|
+
onImpact(caster: Unit): void;
|
|
31
|
+
onWidgetTargetImpact(caster: Unit, target: Widget): void;
|
|
32
|
+
onUnitTargetImpact(caster: Unit, target: Unit): void;
|
|
33
|
+
onItemTargetImpact(caster: Unit, target: Item): void;
|
|
34
|
+
onDestructibleTargetImpact(caster: Unit, target: Destructable): void;
|
|
35
|
+
onPointTargetImpact(caster: Unit, x: number, y: number): void;
|
|
36
|
+
onNoTargetImpact(caster: Unit): void;
|
|
37
|
+
onChannelingFinish(caster: Unit): void;
|
|
38
|
+
onStop(caster: Unit): void;
|
|
39
|
+
static bindAbilityType<Args extends any[]>(this: AbilityBehaviorConstructor<Args>, abilityTypeId: AbilityTypeId, ...args: Args): void;
|
|
40
|
+
}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__Class = ____lualib.__TS__Class
|
|
3
|
+
local __TS__ClassExtends = ____lualib.__TS__ClassExtends
|
|
4
|
+
local __TS__New = ____lualib.__TS__New
|
|
5
|
+
local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
|
|
6
|
+
local ____exports = {}
|
|
7
|
+
local ____behavior = require("engine.behavior")
|
|
8
|
+
local Behavior = ____behavior.Behavior
|
|
9
|
+
local ____unit = require("engine.unit")
|
|
10
|
+
local Unit = ____unit.Unit
|
|
11
|
+
local ____ability = require("engine.internal.ability")
|
|
12
|
+
local Ability = ____ability.Ability
|
|
13
|
+
local ____effect = require("core.types.effect")
|
|
14
|
+
local Effect = ____effect.Effect
|
|
15
|
+
local ____ability = require("engine.standard.fields.ability")
|
|
16
|
+
local AREA_EFFECT_MODEL_PATHS_ABILITY_STRING_ARRAY_FIELD = ____ability.AREA_EFFECT_MODEL_PATHS_ABILITY_STRING_ARRAY_FIELD
|
|
17
|
+
local EFFECT_MODEL_PATHS_ABILITY_STRING_ARRAY_FIELD = ____ability.EFFECT_MODEL_PATHS_ABILITY_STRING_ARRAY_FIELD
|
|
18
|
+
local SPECIAL_EFFECT_ATTACHMENT_POINT_STRING_FIELD = ____ability.SPECIAL_EFFECT_ATTACHMENT_POINT_STRING_FIELD
|
|
19
|
+
local SPECIAL_EFFECT_MODEL_PATHS_ABILITY_STRING_ARRAY_FIELD = ____ability.SPECIAL_EFFECT_MODEL_PATHS_ABILITY_STRING_ARRAY_FIELD
|
|
20
|
+
local ____ability = require("engine.object-field.ability")
|
|
21
|
+
local resolveCurrentAbilityDependentValue = ____ability.resolveCurrentAbilityDependentValue
|
|
22
|
+
local ____timer = require("core.types.timer")
|
|
23
|
+
local Timer = ____timer.Timer
|
|
24
|
+
local createBehaviorFunctionsByAbilityTypeId = {}
|
|
25
|
+
____exports.AbilityBehavior = __TS__Class()
|
|
26
|
+
local AbilityBehavior = ____exports.AbilityBehavior
|
|
27
|
+
AbilityBehavior.name = "AbilityBehavior"
|
|
28
|
+
__TS__ClassExtends(AbilityBehavior, Behavior)
|
|
29
|
+
function AbilityBehavior.prototype.____constructor(self, ability)
|
|
30
|
+
Behavior.prototype.____constructor(self, ability)
|
|
31
|
+
end
|
|
32
|
+
function AbilityBehavior.prototype.resolveCurrentAbilityDependentValue(self, value)
|
|
33
|
+
return resolveCurrentAbilityDependentValue(self.ability, value)
|
|
34
|
+
end
|
|
35
|
+
function AbilityBehavior.prototype.flashAreaEffect(self, x, y, ...)
|
|
36
|
+
Effect:flash(
|
|
37
|
+
AREA_EFFECT_MODEL_PATHS_ABILITY_STRING_ARRAY_FIELD:getValue(self.ability, 0),
|
|
38
|
+
x,
|
|
39
|
+
y,
|
|
40
|
+
...
|
|
41
|
+
)
|
|
42
|
+
end
|
|
43
|
+
function AbilityBehavior.prototype.flashEffect(self, x, y, ...)
|
|
44
|
+
Effect:flash(
|
|
45
|
+
EFFECT_MODEL_PATHS_ABILITY_STRING_ARRAY_FIELD:getValue(self.ability, 0),
|
|
46
|
+
x,
|
|
47
|
+
y,
|
|
48
|
+
...
|
|
49
|
+
)
|
|
50
|
+
end
|
|
51
|
+
function AbilityBehavior.prototype.flashSpecialEffect(self, xOrWidget, yOrDuration, duration)
|
|
52
|
+
if type(xOrWidget) == "number" then
|
|
53
|
+
Effect:flash(
|
|
54
|
+
SPECIAL_EFFECT_MODEL_PATHS_ABILITY_STRING_ARRAY_FIELD:getValue(self.ability, 0),
|
|
55
|
+
xOrWidget,
|
|
56
|
+
yOrDuration,
|
|
57
|
+
duration
|
|
58
|
+
)
|
|
59
|
+
else
|
|
60
|
+
Effect:flash(
|
|
61
|
+
SPECIAL_EFFECT_MODEL_PATHS_ABILITY_STRING_ARRAY_FIELD:getValue(self.ability, 0),
|
|
62
|
+
xOrWidget,
|
|
63
|
+
SPECIAL_EFFECT_ATTACHMENT_POINT_STRING_FIELD:getValue(self.ability),
|
|
64
|
+
yOrDuration
|
|
65
|
+
)
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
function AbilityBehavior.prototype.onUnitGainAbility(self, _unit)
|
|
69
|
+
end
|
|
70
|
+
function AbilityBehavior.prototype.onUnitLoseAbility(self, _unit)
|
|
71
|
+
end
|
|
72
|
+
function AbilityBehavior.prototype.onCastingStart(self, caster)
|
|
73
|
+
end
|
|
74
|
+
function AbilityBehavior.prototype.onCastingFinish(self, caster)
|
|
75
|
+
end
|
|
76
|
+
function AbilityBehavior.prototype.onChannelingStart(self, caster)
|
|
77
|
+
end
|
|
78
|
+
function AbilityBehavior.prototype.onWidgetTargetChannelingStart(self, caster, target)
|
|
79
|
+
end
|
|
80
|
+
function AbilityBehavior.prototype.onUnitTargetChannelingStart(self, caster, target)
|
|
81
|
+
end
|
|
82
|
+
function AbilityBehavior.prototype.onItemTargetChannelingStart(self, caster, target)
|
|
83
|
+
end
|
|
84
|
+
function AbilityBehavior.prototype.onDestructibleTargetChannelingStart(self, caster, target)
|
|
85
|
+
end
|
|
86
|
+
function AbilityBehavior.prototype.onPointTargetChannelingStart(self, caster, x, y)
|
|
87
|
+
end
|
|
88
|
+
function AbilityBehavior.prototype.onNoTargetChannelingStart(self, caster)
|
|
89
|
+
end
|
|
90
|
+
function AbilityBehavior.prototype.onImpact(self, caster)
|
|
91
|
+
end
|
|
92
|
+
function AbilityBehavior.prototype.onWidgetTargetImpact(self, caster, target)
|
|
93
|
+
end
|
|
94
|
+
function AbilityBehavior.prototype.onUnitTargetImpact(self, caster, target)
|
|
95
|
+
end
|
|
96
|
+
function AbilityBehavior.prototype.onItemTargetImpact(self, caster, target)
|
|
97
|
+
end
|
|
98
|
+
function AbilityBehavior.prototype.onDestructibleTargetImpact(self, caster, target)
|
|
99
|
+
end
|
|
100
|
+
function AbilityBehavior.prototype.onPointTargetImpact(self, caster, x, y)
|
|
101
|
+
end
|
|
102
|
+
function AbilityBehavior.prototype.onNoTargetImpact(self, caster)
|
|
103
|
+
end
|
|
104
|
+
function AbilityBehavior.prototype.onChannelingFinish(self, caster)
|
|
105
|
+
end
|
|
106
|
+
function AbilityBehavior.prototype.onStop(self, caster)
|
|
107
|
+
end
|
|
108
|
+
function AbilityBehavior.bindAbilityType(self, abilityTypeId, ...)
|
|
109
|
+
local args = {...}
|
|
110
|
+
local createBehaviorFunctions = createBehaviorFunctionsByAbilityTypeId[abilityTypeId]
|
|
111
|
+
if createBehaviorFunctions == nil then
|
|
112
|
+
createBehaviorFunctions = {}
|
|
113
|
+
createBehaviorFunctionsByAbilityTypeId[abilityTypeId] = createBehaviorFunctions
|
|
114
|
+
end
|
|
115
|
+
createBehaviorFunctions[#createBehaviorFunctions + 1] = function(ability)
|
|
116
|
+
return __TS__New(
|
|
117
|
+
self,
|
|
118
|
+
ability,
|
|
119
|
+
table.unpack(args)
|
|
120
|
+
)
|
|
121
|
+
end
|
|
122
|
+
end
|
|
123
|
+
__TS__SetDescriptor(
|
|
124
|
+
AbilityBehavior.prototype,
|
|
125
|
+
"ability",
|
|
126
|
+
{get = function(self)
|
|
127
|
+
return self.object
|
|
128
|
+
end},
|
|
129
|
+
true
|
|
130
|
+
);
|
|
131
|
+
(function(self)
|
|
132
|
+
local function createUnitEventListener(key)
|
|
133
|
+
return function(unit, ability, ...)
|
|
134
|
+
____exports.AbilityBehavior:forAll(ability, key, unit, ...)
|
|
135
|
+
end
|
|
136
|
+
end
|
|
137
|
+
local function createZeroTimerUnitEventListener(key)
|
|
138
|
+
local unitEventListener = createUnitEventListener(key)
|
|
139
|
+
return function(unit, ability, ...)
|
|
140
|
+
Timer:run(unitEventListener, unit, ability, ...)
|
|
141
|
+
end
|
|
142
|
+
end
|
|
143
|
+
Unit.abilityGainedEvent:addListener(createUnitEventListener("onUnitGainAbility"))
|
|
144
|
+
Unit.abilityLostEvent:addListener(createUnitEventListener("onUnitLoseAbility"))
|
|
145
|
+
Unit.abilityCastingStartEvent:addListener(createUnitEventListener("onCastingStart"))
|
|
146
|
+
Unit.abilityCastingFinishEvent:addListener(createUnitEventListener("onCastingFinish"))
|
|
147
|
+
Unit.abilityChannelingStartEvent:addListener(createUnitEventListener("onChannelingStart"))
|
|
148
|
+
Unit.abilityWidgetTargetChannelingStartEvent:addListener(createUnitEventListener("onWidgetTargetChannelingStart"))
|
|
149
|
+
Unit.abilityUnitTargetChannelingStartEvent:addListener(createUnitEventListener("onUnitTargetChannelingStart"))
|
|
150
|
+
Unit.abilityItemTargetChannelingStartEvent:addListener(createUnitEventListener("onItemTargetChannelingStart"))
|
|
151
|
+
Unit.abilityDestructibleTargetChannelingStartEvent:addListener(createUnitEventListener("onDestructibleTargetChannelingStart"))
|
|
152
|
+
Unit.abilityPointTargetChannelingStartEvent:addListener(createUnitEventListener("onPointTargetChannelingStart"))
|
|
153
|
+
Unit.abilityNoTargetChannelingStartEvent:addListener(createUnitEventListener("onNoTargetChannelingStart"))
|
|
154
|
+
Unit.abilityChannelingStartEvent:addListener(createZeroTimerUnitEventListener("onImpact"))
|
|
155
|
+
Unit.abilityWidgetTargetChannelingStartEvent:addListener(createZeroTimerUnitEventListener("onWidgetTargetImpact"))
|
|
156
|
+
Unit.abilityUnitTargetChannelingStartEvent:addListener(createZeroTimerUnitEventListener("onUnitTargetImpact"))
|
|
157
|
+
Unit.abilityItemTargetChannelingStartEvent:addListener(createZeroTimerUnitEventListener("onItemTargetImpact"))
|
|
158
|
+
Unit.abilityDestructibleTargetChannelingStartEvent:addListener(createZeroTimerUnitEventListener("onDestructibleTargetImpact"))
|
|
159
|
+
Unit.abilityPointTargetChannelingStartEvent:addListener(createZeroTimerUnitEventListener("onPointTargetImpact"))
|
|
160
|
+
Unit.abilityNoTargetChannelingStartEvent:addListener(createZeroTimerUnitEventListener("onNoTargetImpact"))
|
|
161
|
+
Unit.abilityChannelingFinishEvent:addListener(createUnitEventListener("onChannelingFinish"))
|
|
162
|
+
Unit.abilityStopEvent:addListener(createUnitEventListener("onStop"))
|
|
163
|
+
end)(AbilityBehavior)
|
|
164
|
+
Ability.onCreate:addListener(function(ability)
|
|
165
|
+
local createBehaviorFunctions = createBehaviorFunctionsByAbilityTypeId[ability.typeId]
|
|
166
|
+
if createBehaviorFunctions ~= nil then
|
|
167
|
+
for ____, createBehavior in ipairs(createBehaviorFunctions) do
|
|
168
|
+
createBehavior(ability)
|
|
169
|
+
end
|
|
170
|
+
end
|
|
171
|
+
end)
|
|
172
|
+
Ability.destroyEvent:addListener(function(ability)
|
|
173
|
+
____exports.AbilityBehavior:forAll(ability, "destroy")
|
|
174
|
+
end)
|
|
175
|
+
return ____exports
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/// <reference types="@typescript-to-lua/language-extensions" />
|
|
2
|
+
/** @noSelfInFile */
|
|
3
|
+
import { UnitBehavior } from "../unit";
|
|
4
|
+
import { Unit } from "../../unit";
|
|
5
|
+
import { BuffTypeId } from "../../object-data/entry/buff-type";
|
|
6
|
+
import { TextTagPreset } from "../../text-tag";
|
|
7
|
+
import { Destructor } from "../../../destroyable";
|
|
8
|
+
export type StunImmunityUnitBehaviourParameters = {
|
|
9
|
+
buffTypeIds?: LuaSet<BuffTypeId>;
|
|
10
|
+
textTagPreset?: TextTagPreset;
|
|
11
|
+
textTagText?: string;
|
|
12
|
+
};
|
|
13
|
+
export declare class StunImmunityUnitBehavior extends UnitBehavior {
|
|
14
|
+
private readonly parameters;
|
|
15
|
+
static defaultParameters: StunImmunityUnitBehaviourParameters;
|
|
16
|
+
constructor(unit: Unit, parameters?: StunImmunityUnitBehaviourParameters);
|
|
17
|
+
protected onDestroy(): Destructor;
|
|
18
|
+
private onBuffsCheck;
|
|
19
|
+
}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__ArrayFlat = ____lualib.__TS__ArrayFlat
|
|
3
|
+
local __TS__Class = ____lualib.__TS__Class
|
|
4
|
+
local __TS__ClassExtends = ____lualib.__TS__ClassExtends
|
|
5
|
+
local ____exports = {}
|
|
6
|
+
local ____unit = require("engine.behaviour.unit")
|
|
7
|
+
local UnitBehavior = ____unit.UnitBehavior
|
|
8
|
+
local ____ability_2Dtype = require("engine.object-data.entry.ability-type")
|
|
9
|
+
local AbilityType = ____ability_2Dtype.AbilityType
|
|
10
|
+
local ____arrays = require("utility.arrays")
|
|
11
|
+
local flatMapToLuaSet = ____arrays.flatMapToLuaSet
|
|
12
|
+
local map = ____arrays.map
|
|
13
|
+
local ____text_2Dtag = require("engine.text-tag")
|
|
14
|
+
local TextTag = ____text_2Dtag.TextTag
|
|
15
|
+
local DEFAULT_BUFF_TYPE_IDS = postcompile(function()
|
|
16
|
+
return flatMapToLuaSet(
|
|
17
|
+
AbilityType:getAllByBaseIds(map({
|
|
18
|
+
"Aslo",
|
|
19
|
+
"AHtc",
|
|
20
|
+
"Aens",
|
|
21
|
+
"Aprg",
|
|
22
|
+
"Apg2",
|
|
23
|
+
"AOeq",
|
|
24
|
+
"SNeq",
|
|
25
|
+
"Aweb",
|
|
26
|
+
"Afra",
|
|
27
|
+
"Afrb",
|
|
28
|
+
"Afrc",
|
|
29
|
+
"Afr2",
|
|
30
|
+
"Acri",
|
|
31
|
+
"Scri",
|
|
32
|
+
"AUfn",
|
|
33
|
+
"Aspo",
|
|
34
|
+
"AEer",
|
|
35
|
+
"ACwb"
|
|
36
|
+
}, fourCC)),
|
|
37
|
+
function(abilityType) return __TS__ArrayFlat(abilityType.buffTypeIds) end
|
|
38
|
+
)
|
|
39
|
+
end)
|
|
40
|
+
____exports.StunImmunityUnitBehavior = __TS__Class()
|
|
41
|
+
local StunImmunityUnitBehavior = ____exports.StunImmunityUnitBehavior
|
|
42
|
+
StunImmunityUnitBehavior.name = "StunImmunityUnitBehavior"
|
|
43
|
+
__TS__ClassExtends(StunImmunityUnitBehavior, UnitBehavior)
|
|
44
|
+
function StunImmunityUnitBehavior.prototype.____constructor(self, unit, parameters)
|
|
45
|
+
if parameters == nil then
|
|
46
|
+
parameters = ____exports.StunImmunityUnitBehavior.defaultParameters
|
|
47
|
+
end
|
|
48
|
+
UnitBehavior.prototype.____constructor(self, unit)
|
|
49
|
+
self.parameters = parameters
|
|
50
|
+
unit:decrementStunCounter()
|
|
51
|
+
self:onBuffsCheck()
|
|
52
|
+
end
|
|
53
|
+
function StunImmunityUnitBehavior.prototype.onDestroy(self)
|
|
54
|
+
self.unit:incrementStunCounter()
|
|
55
|
+
return UnitBehavior.prototype.onDestroy(self)
|
|
56
|
+
end
|
|
57
|
+
function StunImmunityUnitBehavior.prototype.onBuffsCheck(self)
|
|
58
|
+
local hasRemovedBuffs = false
|
|
59
|
+
for buffTypeId in pairs(self.parameters.buffTypeIds or DEFAULT_BUFF_TYPE_IDS) do
|
|
60
|
+
hasRemovedBuffs = hasRemovedBuffs or self.unit:removeBuff(buffTypeId)
|
|
61
|
+
end
|
|
62
|
+
if hasRemovedBuffs and self.parameters.textTagText ~= nil then
|
|
63
|
+
TextTag:flash(TextTag.MISS, self.parameters.textTagText, self.unit.x, self.unit.y)
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
StunImmunityUnitBehavior.defaultParameters = {buffTypeIds = DEFAULT_BUFF_TYPE_IDS, textTagPreset = TextTag.MISS, textTagText = nil}
|
|
67
|
+
return ____exports
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/** @noSelfInFile */
|
|
2
|
+
import { Behavior } from "../behavior";
|
|
3
|
+
import { Ability } from "../internal/ability";
|
|
4
|
+
import { DamageEvent, DamagingEvent, Unit } from "../internal/unit";
|
|
5
|
+
import "../internal/unit-missile-launch";
|
|
6
|
+
export type UnitBehaviorConstructor<Args extends any[]> = new (unit: Unit, ...args: Args) => UnitBehavior;
|
|
7
|
+
export declare abstract class UnitBehavior<PeriodicActionParameters extends any[] = any[]> extends Behavior<Unit, PeriodicActionParameters> {
|
|
8
|
+
constructor(unit: Unit);
|
|
9
|
+
get unit(): Unit;
|
|
10
|
+
onAutoAttackStart(target: Unit): void;
|
|
11
|
+
onAutoAttackFinish(target: Unit): void;
|
|
12
|
+
onDamageDealing(target: Unit, event: DamagingEvent): void;
|
|
13
|
+
onDamageDealt(target: Unit, event: DamageEvent): void;
|
|
14
|
+
onDamageReceiving(source: Unit | undefined, event: DamagingEvent): void;
|
|
15
|
+
onDamageReceived(source: Unit | undefined, event: DamageEvent): void;
|
|
16
|
+
protected onAbilityGained(ability: Ability): void;
|
|
17
|
+
protected onAbilityLost(ability: Ability): void;
|
|
18
|
+
onKill(target: Unit): void;
|
|
19
|
+
onDeath(source: Unit | undefined): void;
|
|
20
|
+
}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__Class = ____lualib.__TS__Class
|
|
3
|
+
local __TS__ClassExtends = ____lualib.__TS__ClassExtends
|
|
4
|
+
local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
|
|
5
|
+
local ____exports = {}
|
|
6
|
+
local ____behavior = require("engine.behavior")
|
|
7
|
+
local Behavior = ____behavior.Behavior
|
|
8
|
+
local ____unit = require("engine.internal.unit")
|
|
9
|
+
local Unit = ____unit.Unit
|
|
10
|
+
require("engine.internal.unit-missile-launch")
|
|
11
|
+
____exports.UnitBehavior = __TS__Class()
|
|
12
|
+
local UnitBehavior = ____exports.UnitBehavior
|
|
13
|
+
UnitBehavior.name = "UnitBehavior"
|
|
14
|
+
__TS__ClassExtends(UnitBehavior, Behavior)
|
|
15
|
+
function UnitBehavior.prototype.____constructor(self, unit)
|
|
16
|
+
Behavior.prototype.____constructor(self, unit)
|
|
17
|
+
end
|
|
18
|
+
function UnitBehavior.prototype.onAutoAttackStart(self, target)
|
|
19
|
+
end
|
|
20
|
+
function UnitBehavior.prototype.onAutoAttackFinish(self, target)
|
|
21
|
+
end
|
|
22
|
+
function UnitBehavior.prototype.onDamageDealing(self, target, event)
|
|
23
|
+
end
|
|
24
|
+
function UnitBehavior.prototype.onDamageDealt(self, target, event)
|
|
25
|
+
end
|
|
26
|
+
function UnitBehavior.prototype.onDamageReceiving(self, source, event)
|
|
27
|
+
end
|
|
28
|
+
function UnitBehavior.prototype.onDamageReceived(self, source, event)
|
|
29
|
+
end
|
|
30
|
+
function UnitBehavior.prototype.onAbilityGained(self, ability)
|
|
31
|
+
end
|
|
32
|
+
function UnitBehavior.prototype.onAbilityLost(self, ability)
|
|
33
|
+
end
|
|
34
|
+
function UnitBehavior.prototype.onKill(self, target)
|
|
35
|
+
end
|
|
36
|
+
function UnitBehavior.prototype.onDeath(self, source)
|
|
37
|
+
end
|
|
38
|
+
__TS__SetDescriptor(
|
|
39
|
+
UnitBehavior.prototype,
|
|
40
|
+
"unit",
|
|
41
|
+
{get = function(self)
|
|
42
|
+
return self.object
|
|
43
|
+
end},
|
|
44
|
+
true
|
|
45
|
+
);
|
|
46
|
+
(function(self)
|
|
47
|
+
Unit.autoAttackStartEvent:addListener(function(source, target)
|
|
48
|
+
____exports.UnitBehavior:forAll(source, "onAutoAttackStart", target)
|
|
49
|
+
end)
|
|
50
|
+
Unit.autoAttackFinishEvent:addListener(function(source, target)
|
|
51
|
+
____exports.UnitBehavior:forAll(source, "onAutoAttackFinish", target)
|
|
52
|
+
end)
|
|
53
|
+
Unit.onDamaging:addListener(function(source, target, event)
|
|
54
|
+
if source ~= nil then
|
|
55
|
+
____exports.UnitBehavior:forAll(source, "onDamageDealing", target, event)
|
|
56
|
+
end
|
|
57
|
+
____exports.UnitBehavior:forAll(target, "onDamageReceiving", source, event)
|
|
58
|
+
end)
|
|
59
|
+
Unit.onDamage:addListener(function(source, target, event)
|
|
60
|
+
if source ~= nil then
|
|
61
|
+
____exports.UnitBehavior:forAll(source, "onDamageDealt", target, event)
|
|
62
|
+
end
|
|
63
|
+
____exports.UnitBehavior:forAll(target, "onDamageReceived", source, event)
|
|
64
|
+
end)
|
|
65
|
+
Unit.deathEvent:addListener(function(target, source)
|
|
66
|
+
if source ~= nil then
|
|
67
|
+
____exports.UnitBehavior:forAll(source, "onKill", target)
|
|
68
|
+
end
|
|
69
|
+
____exports.UnitBehavior:forAll(target, "onDeath", source)
|
|
70
|
+
end)
|
|
71
|
+
end)(UnitBehavior)
|
|
72
|
+
Unit.destroyEvent:addListener(function(unit)
|
|
73
|
+
____exports.UnitBehavior:forAll(unit, "destroy")
|
|
74
|
+
end)
|
|
75
|
+
return ____exports
|
package/engine/buff.d.ts
ADDED
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
/** @noSelfInFile */
|
|
2
|
+
import { DamageEvent, Unit } from "./internal/unit";
|
|
3
|
+
import { ApplicableBuffTypeId } from "./object-data/entry/buff-type/applicable";
|
|
4
|
+
import { Ability } from "./internal/ability";
|
|
5
|
+
import { AbilityTypeId } from "./object-data/entry/ability-type";
|
|
6
|
+
import { BuffPolarity } from "./object-data/auxiliary/buff-polarity";
|
|
7
|
+
import { BuffResistanceType } from "./object-data/auxiliary/buff-resistance-type";
|
|
8
|
+
import { AbilityBooleanField, AbilityBooleanLevelField, AbilityCombatClassificationsLevelField, AbilityDependentValue, AbilityIntegerField, AbilityIntegerLevelField, AbilityNumberField, AbilityNumberLevelField } from "./object-field/ability";
|
|
9
|
+
import { CombatClassifications } from "./object-data/auxiliary/combat-classification";
|
|
10
|
+
import { IsExactlyAny, NonEmptyArray, Prohibit } from "../utility/types";
|
|
11
|
+
import { UnitBehavior } from "./behaviour/unit";
|
|
12
|
+
import type { Widget } from "../core/types/widget";
|
|
13
|
+
import { Destructor } from "../destroyable";
|
|
14
|
+
export type BuffConstructor<T extends Buff<any> = Buff<any>, Args extends any[] = any> = OmitConstructor<typeof Buff<any>> & (new (...args: Args) => T);
|
|
15
|
+
type NumberParameterValueType = number | AbilityNumberField | AbilityNumberLevelField;
|
|
16
|
+
type IntegerParameterValueType = number | AbilityIntegerField | AbilityIntegerLevelField;
|
|
17
|
+
type BooleanParameterValueType = boolean | AbilityBooleanField | AbilityBooleanLevelField;
|
|
18
|
+
export declare class BuffUniqueGroup {
|
|
19
|
+
}
|
|
20
|
+
export type BuffParameters<T extends Buff<any> = Buff> = Buff extends T ? {
|
|
21
|
+
spellStealPriority?: number;
|
|
22
|
+
level?: number;
|
|
23
|
+
duration?: number;
|
|
24
|
+
learnLevelMinimum?: number;
|
|
25
|
+
source?: Unit;
|
|
26
|
+
behaviorConstructors?: (new (unit: Unit) => UnitBehavior)[];
|
|
27
|
+
abilityTypeIds?: Record<AbilityTypeId, {
|
|
28
|
+
[numberField: (AbilityNumberField | AbilityNumberLevelField) & symbol]: NumberParameterValueType;
|
|
29
|
+
} & {
|
|
30
|
+
/** Default `true`. */
|
|
31
|
+
readonly isButtonVisible?: boolean;
|
|
32
|
+
/** Default is the level of the source ability or 0 if it is absent. */
|
|
33
|
+
readonly level?: number;
|
|
34
|
+
}>;
|
|
35
|
+
damageUponDeathAllowedTargetCombatClassifications?: CombatClassifications | AbilityCombatClassificationsLevelField;
|
|
36
|
+
damageUponDeath?: NumberParameterValueType;
|
|
37
|
+
damageUponDeathRange?: NumberParameterValueType;
|
|
38
|
+
mediumDamageUponDeath?: NumberParameterValueType;
|
|
39
|
+
mediumDamageUponDeathRange?: NumberParameterValueType;
|
|
40
|
+
smallDamageUponDeath?: NumberParameterValueType;
|
|
41
|
+
smallDamageUponDeathRange?: NumberParameterValueType;
|
|
42
|
+
damageOverDuration?: NumberParameterValueType;
|
|
43
|
+
damagePerInterval?: NumberParameterValueType;
|
|
44
|
+
damageInterval?: NumberParameterValueType;
|
|
45
|
+
healingOverDuration?: NumberParameterValueType;
|
|
46
|
+
healingPerInterval?: NumberParameterValueType;
|
|
47
|
+
healingInterval?: NumberParameterValueType;
|
|
48
|
+
damageIncrease?: NumberParameterValueType;
|
|
49
|
+
damageIncreaseFactor?: NumberParameterValueType;
|
|
50
|
+
armorIncrease?: NumberParameterValueType;
|
|
51
|
+
armorIncreaseFactor?: NumberParameterValueType;
|
|
52
|
+
attackSpeedIncreaseFactor?: NumberParameterValueType;
|
|
53
|
+
movementSpeedIncreaseFactor?: NumberParameterValueType;
|
|
54
|
+
receivedDamageFactor?: NumberParameterValueType;
|
|
55
|
+
receivedMagicDamageFactor?: NumberParameterValueType;
|
|
56
|
+
durationIncreaseOnAutoAttack?: NumberParameterValueType;
|
|
57
|
+
maximumRemainingDuration?: NumberParameterValueType;
|
|
58
|
+
maximumDuration?: NumberParameterValueType;
|
|
59
|
+
stuns?: BooleanParameterValueType;
|
|
60
|
+
ignoresStunImmunity?: BooleanParameterValueType;
|
|
61
|
+
providesStunImmunity?: BooleanParameterValueType;
|
|
62
|
+
providesSpellImmunity?: BooleanParameterValueType;
|
|
63
|
+
providesInvulnerability?: BooleanParameterValueType;
|
|
64
|
+
disablesAutoAttack?: BooleanParameterValueType;
|
|
65
|
+
destroysOnDamage?: BooleanParameterValueType;
|
|
66
|
+
maximumAutoAttackCount?: IntegerParameterValueType;
|
|
67
|
+
uniqueGroup?: BuffUniqueGroup;
|
|
68
|
+
} : BuffParameters & (T extends Buff<infer AdditionalParameters> ? AdditionalParameters : {});
|
|
69
|
+
declare const enum BuffPropertyKey {
|
|
70
|
+
UNIT = 100,
|
|
71
|
+
SOURCE = 101,
|
|
72
|
+
DURATION = 102,
|
|
73
|
+
UNIQUE_GROUP = 103,
|
|
74
|
+
EFFECT_MODEL_PATH = 104,
|
|
75
|
+
SPECIAL_EFFECT_MODEL_PATH = 105,
|
|
76
|
+
DURATION_INCREASE_ON_AUTO_ATTACK = 106,
|
|
77
|
+
MAXIMUM_DURATION = 107,
|
|
78
|
+
MAXIMUM_REMAINING_DURATION = 108,
|
|
79
|
+
DAMAGE_OVER_DURATION = 109,
|
|
80
|
+
DAMAGE_PER_INTERVAL = 110,
|
|
81
|
+
DAMAGE_INTERVAL = 111,
|
|
82
|
+
REMAINING_DAMAGE_OVER_DURATION = 112,
|
|
83
|
+
DAMAGE_INTERVAL_TIMER = 113,
|
|
84
|
+
HEALING_OVER_DURATION = 114,
|
|
85
|
+
HEALING_PER_INTERVAL = 115,
|
|
86
|
+
HEALING_INTERVAL = 116,
|
|
87
|
+
REMAINING_HEALING_OVER_DURATION = 117,
|
|
88
|
+
HEALING_INTERVAL_TIMER = 118,
|
|
89
|
+
DAMAGE_UPON_DEATH_ALLOWED_TARGET_CLASSIFICATIONS = 119,
|
|
90
|
+
DAMAGE_UPON_DEATH = 120,
|
|
91
|
+
DAMAGE_UPON_DEATH_RANGE = 121,
|
|
92
|
+
MEDIUM_DAMAGE_UPON_DEATH = 122,
|
|
93
|
+
MEDIUM_DAMAGE_UPON_DEATH_RANGE = 123,
|
|
94
|
+
SMALL_DAMAGE_UPON_DEATH = 124,
|
|
95
|
+
SMALL_DAMAGE_UPON_DEATH_RANGE = 125,
|
|
96
|
+
AUTO_ATTACK_COUNT = 126,
|
|
97
|
+
MAXIMUM_AUTO_ATTACK_COUNT = 127,
|
|
98
|
+
STUNS = 128,
|
|
99
|
+
IGNORES_STUN_IMMUNITY = 129,
|
|
100
|
+
DISABLES_AUTO_ATTACK = 130,
|
|
101
|
+
PROVIDES_INVULNERABILITY = 131
|
|
102
|
+
}
|
|
103
|
+
export declare const enum BuffTypeIdSelectionPolicy {
|
|
104
|
+
LEAST_DURATION = 0
|
|
105
|
+
}
|
|
106
|
+
export type BuffAdditionalParameters = Prohibit<Record<string, any>, keyof BuffParameters>;
|
|
107
|
+
export type BuffConstructorParameters<AdditionalParameters extends BuffAdditionalParameters> = [
|
|
108
|
+
...typeId: [ApplicableBuffTypeId] | [
|
|
109
|
+
typeIds: NonEmptyArray<ApplicableBuffTypeId>,
|
|
110
|
+
typeIdSelectionPolicy: BuffTypeIdSelectionPolicy
|
|
111
|
+
],
|
|
112
|
+
polarity: BuffPolarity,
|
|
113
|
+
resistanceType: BuffResistanceType,
|
|
114
|
+
...abilityOrParameters: [
|
|
115
|
+
ability: Ability,
|
|
116
|
+
parameters?: BuffParameters & Omit<AdditionalParameters, keyof BuffParameters>
|
|
117
|
+
] | [parameters?: BuffParameters & Omit<AdditionalParameters, keyof BuffParameters>]
|
|
118
|
+
];
|
|
119
|
+
export declare class Buff<AdditionalParameters extends Prohibit<Record<string, any>, keyof BuffParameters> = {}> extends UnitBehavior {
|
|
120
|
+
private _unit;
|
|
121
|
+
protected readonly __additionalParametersBrand?: AdditionalParameters;
|
|
122
|
+
private [BuffPropertyKey.UNIT];
|
|
123
|
+
private [BuffPropertyKey.SOURCE]?;
|
|
124
|
+
private [BuffPropertyKey.DURATION];
|
|
125
|
+
private [BuffPropertyKey.UNIQUE_GROUP]?;
|
|
126
|
+
private [BuffPropertyKey.EFFECT_MODEL_PATH];
|
|
127
|
+
private [BuffPropertyKey.SPECIAL_EFFECT_MODEL_PATH];
|
|
128
|
+
private [BuffPropertyKey.DURATION_INCREASE_ON_AUTO_ATTACK]?;
|
|
129
|
+
private [BuffPropertyKey.MAXIMUM_DURATION]?;
|
|
130
|
+
private [BuffPropertyKey.MAXIMUM_REMAINING_DURATION]?;
|
|
131
|
+
private [BuffPropertyKey.DAMAGE_OVER_DURATION]?;
|
|
132
|
+
private [BuffPropertyKey.DAMAGE_PER_INTERVAL]?;
|
|
133
|
+
private [BuffPropertyKey.DAMAGE_INTERVAL]?;
|
|
134
|
+
private [BuffPropertyKey.REMAINING_DAMAGE_OVER_DURATION]?;
|
|
135
|
+
private [BuffPropertyKey.DAMAGE_INTERVAL_TIMER]?;
|
|
136
|
+
private [BuffPropertyKey.HEALING_OVER_DURATION]?;
|
|
137
|
+
private [BuffPropertyKey.HEALING_PER_INTERVAL]?;
|
|
138
|
+
private [BuffPropertyKey.HEALING_INTERVAL]?;
|
|
139
|
+
private [BuffPropertyKey.REMAINING_HEALING_OVER_DURATION]?;
|
|
140
|
+
private [BuffPropertyKey.HEALING_INTERVAL_TIMER]?;
|
|
141
|
+
private [BuffPropertyKey.DAMAGE_UPON_DEATH_ALLOWED_TARGET_CLASSIFICATIONS]?;
|
|
142
|
+
private [BuffPropertyKey.DAMAGE_UPON_DEATH]?;
|
|
143
|
+
private [BuffPropertyKey.DAMAGE_UPON_DEATH_RANGE]?;
|
|
144
|
+
private [BuffPropertyKey.MEDIUM_DAMAGE_UPON_DEATH]?;
|
|
145
|
+
private [BuffPropertyKey.MEDIUM_DAMAGE_UPON_DEATH_RANGE]?;
|
|
146
|
+
private [BuffPropertyKey.SMALL_DAMAGE_UPON_DEATH]?;
|
|
147
|
+
private [BuffPropertyKey.SMALL_DAMAGE_UPON_DEATH_RANGE]?;
|
|
148
|
+
private [BuffPropertyKey.MAXIMUM_AUTO_ATTACK_COUNT]?;
|
|
149
|
+
private [BuffPropertyKey.AUTO_ATTACK_COUNT]?;
|
|
150
|
+
private [BuffPropertyKey.STUNS]?;
|
|
151
|
+
private [BuffPropertyKey.IGNORES_STUN_IMMUNITY]?;
|
|
152
|
+
private [BuffPropertyKey.DISABLES_AUTO_ATTACK]?;
|
|
153
|
+
private [BuffPropertyKey.PROVIDES_INVULNERABILITY]?;
|
|
154
|
+
protected static readonly defaultParameters: BuffParameters;
|
|
155
|
+
get source(): Unit;
|
|
156
|
+
readonly typeId: ApplicableBuffTypeId;
|
|
157
|
+
readonly polarity: BuffPolarity;
|
|
158
|
+
readonly resistanceType: BuffResistanceType;
|
|
159
|
+
readonly parameters: IsExactlyAny<AdditionalParameters> extends true ? any : keyof AdditionalParameters extends never ? undefined : {
|
|
160
|
+
[K in keyof Omit<AdditionalParameters, keyof BuffParameters>]: AdditionalParameters[K] extends AbilityDependentValue<infer T> ? T : AdditionalParameters[K];
|
|
161
|
+
};
|
|
162
|
+
private readonly handle;
|
|
163
|
+
private _timer?;
|
|
164
|
+
private readonly _level?;
|
|
165
|
+
private readonly _spellStealPriority?;
|
|
166
|
+
private readonly _learnLevelMinimum?;
|
|
167
|
+
private _bonusIdByBonusType?;
|
|
168
|
+
private readonly _abilityTypeIds?;
|
|
169
|
+
private _behaviors?;
|
|
170
|
+
private getUnitBonus;
|
|
171
|
+
private addOrUpdateOrRemoveUnitBonus;
|
|
172
|
+
constructor(target: Unit, ...parameters: BuffConstructorParameters<AdditionalParameters>);
|
|
173
|
+
get level(): number;
|
|
174
|
+
get remainingDamageOverDuration(): number;
|
|
175
|
+
set remainingDamageOverDuration(remainingDamageOverDuration: number);
|
|
176
|
+
get damageOverDuration(): number;
|
|
177
|
+
set damageOverDuration(damageOverDuration: number);
|
|
178
|
+
get damagePerInterval(): number;
|
|
179
|
+
set damagePerInterval(damagePerInterval: number);
|
|
180
|
+
get damageInterval(): number;
|
|
181
|
+
set damageInterval(damageInterval: number);
|
|
182
|
+
get remainingHealingOverDuration(): number;
|
|
183
|
+
set remainingHealingOverDuration(remainingHealingOverDuration: number);
|
|
184
|
+
get healingOverDuration(): number;
|
|
185
|
+
set healingOverDuration(healingOverDuration: number);
|
|
186
|
+
get healingPerInterval(): number;
|
|
187
|
+
set healingPerInterval(healingPerInterval: number);
|
|
188
|
+
get healingInterval(): number;
|
|
189
|
+
set healingInterval(healingInterval: number);
|
|
190
|
+
get receivedDamageFactor(): number;
|
|
191
|
+
set receivedDamageFactor(receivedDamageFactor: number);
|
|
192
|
+
get armorIncrease(): number;
|
|
193
|
+
set armorIncrease(armorIncrease: number);
|
|
194
|
+
get stuns(): boolean;
|
|
195
|
+
set stuns(stuns: boolean);
|
|
196
|
+
get ignoresStunImmunity(): boolean;
|
|
197
|
+
set ignoresStunImmunity(ignoresStunImmunity: boolean);
|
|
198
|
+
get disablesAutoAttack(): boolean;
|
|
199
|
+
set disablesAutoAttack(disablesAutoAttack: boolean);
|
|
200
|
+
get providesInvulnerability(): boolean;
|
|
201
|
+
set providesInvulnerability(providesInvulnerability: boolean);
|
|
202
|
+
get maximumAutoAttackCount(): number;
|
|
203
|
+
set maximumAutoAttackCount(maximumAutoAttackCount: number);
|
|
204
|
+
get durationIncreaseOnAutoAttack(): number;
|
|
205
|
+
set durationIncreaseOnAutoAttack(durationIncreaseOnAutoAttack: number);
|
|
206
|
+
get attackSpeedIncreaseFactor(): number;
|
|
207
|
+
set attackSpeedIncreaseFactor(attackSpeedIncreaseFactor: number);
|
|
208
|
+
get movementSpeedIncreaseFactor(): number;
|
|
209
|
+
set movementSpeedIncreaseFactor(movementSpeedIncreaseFactor: number);
|
|
210
|
+
get duration(): number;
|
|
211
|
+
get remainingDuration(): number;
|
|
212
|
+
set remainingDuration(remainingDuration: number);
|
|
213
|
+
flashEffect(...parameters: [...widget: [] | [Widget], ...duration: [] | [number]]): void;
|
|
214
|
+
flashSpecialEffect(...parameters: [...widget: [] | [Widget], ...duration: [] | [number]]): void;
|
|
215
|
+
protected onDestroy(): Destructor;
|
|
216
|
+
static apply<T extends Buff<any>, Args extends any[]>(this: BuffConstructor<T, Args>, ...args: Args): T | undefined;
|
|
217
|
+
static getByTypeId<T extends Buff<any>, Args extends any[]>(this: BuffConstructor<T, Args>, unit: Unit, typeId: ApplicableBuffTypeId): T | undefined;
|
|
218
|
+
onDeath(source: Unit | undefined): void;
|
|
219
|
+
onDamageDealt(target: Unit, event: DamageEvent): void;
|
|
220
|
+
}
|
|
221
|
+
export {};
|