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,16 @@
|
|
|
1
|
+
/// <reference types="warpack-types/warpack" />
|
|
2
|
+
/** @noSelfInFile */
|
|
3
|
+
import { BuffPolarity } from "../../auxiliary/buff-polarity";
|
|
4
|
+
import { BuffResistanceType } from "../../auxiliary/buff-resistance-type";
|
|
5
|
+
import { BuffType, BuffTypeId } from "../buff-type";
|
|
6
|
+
export type ApplicableBuffTypeId = BuffTypeId & {
|
|
7
|
+
readonly __applicableBuffTypeId: unique symbol;
|
|
8
|
+
};
|
|
9
|
+
export declare class ApplicableBuffType extends BuffType<ApplicableBuffTypeId> {
|
|
10
|
+
static readonly BASE_ID: BuffTypeId;
|
|
11
|
+
levelCount: number;
|
|
12
|
+
resistanceType?: Exclude<BuffResistanceType, BuffResistanceType.BOTH>;
|
|
13
|
+
polarity?: BuffPolarity;
|
|
14
|
+
constructor(object: WarObject);
|
|
15
|
+
static wrap(other: BuffType): ApplicableBuffType;
|
|
16
|
+
}
|
|
@@ -0,0 +1,377 @@
|
|
|
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 __TS__New = ____lualib.__TS__New
|
|
6
|
+
local __TS__SparseArrayNew = ____lualib.__TS__SparseArrayNew
|
|
7
|
+
local __TS__SparseArrayPush = ____lualib.__TS__SparseArrayPush
|
|
8
|
+
local __TS__SparseArraySpread = ____lualib.__TS__SparseArraySpread
|
|
9
|
+
local ____exports = {}
|
|
10
|
+
local ____ability_2Dtype = require("engine.object-data.entry.ability-type")
|
|
11
|
+
local AbilityType = ____ability_2Dtype.AbilityType
|
|
12
|
+
local ____cripple = require("engine.object-data.entry.ability-type.cripple")
|
|
13
|
+
local CrippleAbilityType = ____cripple.CrippleAbilityType
|
|
14
|
+
local ____searing_2Darrows = require("engine.object-data.entry.ability-type.searing-arrows")
|
|
15
|
+
local SearingArrowsAbilityType = ____searing_2Darrows.SearingArrowsAbilityType
|
|
16
|
+
local ____slow_2Dpoison = require("engine.object-data.entry.ability-type.slow-poison")
|
|
17
|
+
local SlowPoisonAbilityType = ____slow_2Dpoison.SlowPoisonAbilityType
|
|
18
|
+
local ____combat_2Dclassification = require("engine.object-data.auxiliary.combat-classification")
|
|
19
|
+
local combatClassificationsOf = ____combat_2Dclassification.combatClassificationsOf
|
|
20
|
+
local ____buff_2Dtype = require("engine.object-data.entry.buff-type")
|
|
21
|
+
local BuffType = ____buff_2Dtype.BuffType
|
|
22
|
+
local ____dummy = require("core.dummy")
|
|
23
|
+
local InstantDummyCaster = ____dummy.InstantDummyCaster
|
|
24
|
+
local ____unit = require("engine.internal.unit")
|
|
25
|
+
local Unit = ____unit.Unit
|
|
26
|
+
local ____math = require("math")
|
|
27
|
+
local MAXIMUM_INTEGER = ____math.MAXIMUM_INTEGER
|
|
28
|
+
local ____arrays = require("utility.arrays")
|
|
29
|
+
local chunked = ____arrays.chunked
|
|
30
|
+
local map = ____arrays.map
|
|
31
|
+
local max = ____arrays.max
|
|
32
|
+
local toLuaSet = ____arrays.toLuaSet
|
|
33
|
+
local ____blood_2Dlust = require("engine.object-data.entry.ability-type.blood-lust")
|
|
34
|
+
local BloodLustAbilityType = ____blood_2Dlust.BloodLustAbilityType
|
|
35
|
+
local ____berserk = require("engine.object-data.entry.ability-type.berserk")
|
|
36
|
+
local BerserkAbilityType = ____berserk.BerserkAbilityType
|
|
37
|
+
local ____dummy_2Ditem = require("engine.internal.object-data.dummy-item")
|
|
38
|
+
local DUMMY_ITEM_ID = ____dummy_2Ditem.DUMMY_ITEM_ID
|
|
39
|
+
local ____dummy_2Dinventory = require("engine.internal.object-data.dummy-inventory")
|
|
40
|
+
local INVENTORY_ABILITY_TYPE_ID = ____dummy_2Dinventory.INVENTORY_ABILITY_TYPE_ID
|
|
41
|
+
local ____blank = require("engine.object-data.entry.upgrade.blank")
|
|
42
|
+
local BlankUpgrade = ____blank.BlankUpgrade
|
|
43
|
+
local ____dummy_2Dunits = require("engine.internal.misc.dummy-units")
|
|
44
|
+
local INVENTORY_DUMMY_NATIVE_UNIT = ____dummy_2Dunits.INVENTORY_DUMMY_NATIVE_UNIT
|
|
45
|
+
local ____preconditions = require("utility.preconditions")
|
|
46
|
+
local checkNotNull = ____preconditions.checkNotNull
|
|
47
|
+
local ____unit_2Dtype = require("engine.object-data.entry.unit-type")
|
|
48
|
+
local UnitType = ____unit_2Dtype.UnitType
|
|
49
|
+
local ____permanent_2Dimmolation = require("engine.object-data.entry.ability-type.permanent-immolation")
|
|
50
|
+
local PermanentImmolationAbilityType = ____permanent_2Dimmolation.PermanentImmolationAbilityType
|
|
51
|
+
local createItem = CreateItem
|
|
52
|
+
local getAbilityId = BlzGetAbilityId
|
|
53
|
+
local getItemAbility = BlzGetItemAbility
|
|
54
|
+
local getOwningPlayer = GetOwningPlayer
|
|
55
|
+
local getUnitAbilityByIndex = BlzGetUnitAbilityByIndex
|
|
56
|
+
local itemAddAbility = BlzItemAddAbility
|
|
57
|
+
local removeItem = RemoveItem
|
|
58
|
+
local setAbilityIntegerField = BlzSetAbilityIntegerField
|
|
59
|
+
local setAbilityRealLevelField = BlzSetAbilityRealLevelField
|
|
60
|
+
local setItemBooleanField = BlzSetItemBooleanField
|
|
61
|
+
local setPlayerTechResearched = SetPlayerTechResearched
|
|
62
|
+
local unitAddAbility = UnitAddAbility
|
|
63
|
+
local unitAddItem = UnitAddItem
|
|
64
|
+
local unitDisableAbility = BlzUnitDisableAbility
|
|
65
|
+
local unitDropItemSlot = UnitDropItemSlot
|
|
66
|
+
local unitInventorySize = UnitInventorySize
|
|
67
|
+
local unitRemoveAbility = UnitRemoveAbility
|
|
68
|
+
local compiletimeApplicableBuffTypes = {}
|
|
69
|
+
____exports.ApplicableBuffType = __TS__Class()
|
|
70
|
+
local ApplicableBuffType = ____exports.ApplicableBuffType
|
|
71
|
+
ApplicableBuffType.name = "ApplicableBuffType"
|
|
72
|
+
__TS__ClassExtends(ApplicableBuffType, BuffType)
|
|
73
|
+
function ApplicableBuffType.prototype.____constructor(self, object)
|
|
74
|
+
BuffType.prototype.____constructor(self, object)
|
|
75
|
+
self.levelCount = 4
|
|
76
|
+
compiletimeApplicableBuffTypes[self] = true
|
|
77
|
+
end
|
|
78
|
+
function ApplicableBuffType.wrap(self, other)
|
|
79
|
+
if __TS__InstanceOf(other, ____exports.ApplicableBuffType) then
|
|
80
|
+
return other
|
|
81
|
+
end
|
|
82
|
+
return __TS__New(____exports.ApplicableBuffType, other.object)
|
|
83
|
+
end
|
|
84
|
+
ApplicableBuffType.BASE_ID = fourCC("BHbz")
|
|
85
|
+
local applicatorAbilityTypeIdByApplicatorTypeByApplicableBuffTypeId, applicatorUpgradeIdByApplicatorAbilityTypeId = table.unpack(postcompile(function()
|
|
86
|
+
local function prepareAbilityType(abilityTypeConstructor, applicableBuffType)
|
|
87
|
+
local abilityType = abilityTypeConstructor:create()
|
|
88
|
+
abilityType.isInternal = true
|
|
89
|
+
abilityType.levelCount = applicableBuffType.levelCount
|
|
90
|
+
abilityType.buttonPositionX = 0
|
|
91
|
+
abilityType.buttonPositionY = -11
|
|
92
|
+
abilityType.casterAttachmentPresets = {}
|
|
93
|
+
abilityType.targetEffectPresets = {}
|
|
94
|
+
abilityType.soundPresetName = ""
|
|
95
|
+
abilityType.learnLevelMinimum = 6
|
|
96
|
+
abilityType.race = "other"
|
|
97
|
+
abilityType.shouldCheckTechTreeDependencies = false
|
|
98
|
+
abilityType.techTreeDependencies = {}
|
|
99
|
+
abilityType.allowedTargetCombatClassifications = combatClassificationsOf(
|
|
100
|
+
4,
|
|
101
|
+
2,
|
|
102
|
+
2097152,
|
|
103
|
+
8,
|
|
104
|
+
1048576,
|
|
105
|
+
16
|
|
106
|
+
)
|
|
107
|
+
abilityType.areaOfEffect = 0
|
|
108
|
+
abilityType.castRange = 999999
|
|
109
|
+
abilityType.cooldown = 0
|
|
110
|
+
abilityType.manaCost = 0
|
|
111
|
+
abilityType.buffDuration = 0
|
|
112
|
+
abilityType.heroBuffDuration = 0
|
|
113
|
+
return abilityType
|
|
114
|
+
end
|
|
115
|
+
local multilevelPhysicalPositiveApplicatorAbilityTypes = {}
|
|
116
|
+
local applicatorAbilityTypeIdByApplicatorTypeByApplicableBuffTypeId = {}
|
|
117
|
+
for applicableBuffType in pairs(compiletimeApplicableBuffTypes) do
|
|
118
|
+
local applicatorAbilityTypeIdByApplicatorType = {}
|
|
119
|
+
if applicableBuffType.resistanceType == 1 or applicableBuffType.resistanceType == nil then
|
|
120
|
+
if applicableBuffType.polarity == 2 or applicableBuffType.polarity == nil then
|
|
121
|
+
local applicatorAbilityType = prepareAbilityType(CrippleAbilityType, applicableBuffType)
|
|
122
|
+
applicatorAbilityType.movementSpeedDecreaseFactor = 0
|
|
123
|
+
applicatorAbilityType.attackSpeedDecreaseFactor = 0
|
|
124
|
+
applicatorAbilityType.damageDecreaseFactor = 0
|
|
125
|
+
applicatorAbilityType.buffTypeIds = {applicableBuffType.id}
|
|
126
|
+
applicatorAbilityTypeIdByApplicatorType[852189] = applicatorAbilityType.id
|
|
127
|
+
end
|
|
128
|
+
if applicableBuffType.polarity == 1 or applicableBuffType.polarity == nil then
|
|
129
|
+
local applicatorAbilityType = prepareAbilityType(BloodLustAbilityType, applicableBuffType)
|
|
130
|
+
applicatorAbilityType.attackSpeedIncreaseFactor = 0
|
|
131
|
+
applicatorAbilityType.movementSpeedIncreaseFactor = 0
|
|
132
|
+
applicatorAbilityType.scaleIncrease = 0
|
|
133
|
+
applicatorAbilityType.buffTypeIds = {applicableBuffType.id}
|
|
134
|
+
applicatorAbilityTypeIdByApplicatorType[852101] = applicatorAbilityType.id
|
|
135
|
+
end
|
|
136
|
+
end
|
|
137
|
+
if applicableBuffType.resistanceType == 2 or applicableBuffType.resistanceType == nil then
|
|
138
|
+
if applicableBuffType.polarity == 2 or applicableBuffType.polarity == nil then
|
|
139
|
+
local applicatorAbilityType = prepareAbilityType(SlowPoisonAbilityType, applicableBuffType)
|
|
140
|
+
applicatorAbilityType.damagePerSecond = 0
|
|
141
|
+
applicatorAbilityType.movementSpeedDecreaseFactor = 0
|
|
142
|
+
applicatorAbilityType.attackSpeedDecreaseFactor = 0
|
|
143
|
+
applicatorAbilityType.buffTypeIds = {applicableBuffType.id, applicableBuffType.id}
|
|
144
|
+
applicatorAbilityTypeIdByApplicatorType[852173] = applicatorAbilityType.id
|
|
145
|
+
end
|
|
146
|
+
if applicableBuffType.polarity == 1 or applicableBuffType.polarity == nil then
|
|
147
|
+
local applicatorAbilityType = prepareAbilityType(BerserkAbilityType, applicableBuffType)
|
|
148
|
+
applicatorAbilityType.attackSpeedIncreaseFactor = 0
|
|
149
|
+
applicatorAbilityType.movementSpeedIncreaseFactor = 0
|
|
150
|
+
applicatorAbilityType.buffTypeIds = {applicableBuffType.id}
|
|
151
|
+
if applicatorAbilityType.levelCount > 1 then
|
|
152
|
+
multilevelPhysicalPositiveApplicatorAbilityTypes[#multilevelPhysicalPositiveApplicatorAbilityTypes + 1] = applicatorAbilityType
|
|
153
|
+
end
|
|
154
|
+
applicatorAbilityTypeIdByApplicatorType[852100] = applicatorAbilityType.id
|
|
155
|
+
end
|
|
156
|
+
end
|
|
157
|
+
if applicableBuffType.polarity == 0 or applicableBuffType.polarity == nil then
|
|
158
|
+
local applicatorAbilityType = prepareAbilityType(PermanentImmolationAbilityType, applicableBuffType)
|
|
159
|
+
applicatorAbilityType.levelCount = 1
|
|
160
|
+
applicatorAbilityType.damagePerInterval = 0
|
|
161
|
+
applicatorAbilityType.castRange = 0
|
|
162
|
+
applicatorAbilityType.buffDuration = MAXIMUM_INTEGER
|
|
163
|
+
applicatorAbilityType.heroBuffDuration = MAXIMUM_INTEGER
|
|
164
|
+
applicatorAbilityType.allowedTargetCombatClassifications = combatClassificationsOf(1)
|
|
165
|
+
applicatorAbilityType.buffTypeIds = {applicableBuffType.id}
|
|
166
|
+
applicatorAbilityTypeIdByApplicatorType[0] = applicatorAbilityType.id
|
|
167
|
+
end
|
|
168
|
+
applicatorAbilityTypeIdByApplicatorTypeByApplicableBuffTypeId[applicableBuffType.id] = applicatorAbilityTypeIdByApplicatorType
|
|
169
|
+
end
|
|
170
|
+
local applicatorUpgradeIds = {}
|
|
171
|
+
local applicatorUpgradeIdByApplicatorAbilityTypeId = {}
|
|
172
|
+
for ____, multilevelPhysicalPositiveApplicatorAbilityTypesChunk in ipairs(chunked(multilevelPhysicalPositiveApplicatorAbilityTypes, 4)) do
|
|
173
|
+
local maxLevelCount = max(map(multilevelPhysicalPositiveApplicatorAbilityTypesChunk, "levelCount"))
|
|
174
|
+
local applicatorAbilityTypeIds = map(multilevelPhysicalPositiveApplicatorAbilityTypesChunk, "id")
|
|
175
|
+
local applicatorUpgrade = BlankUpgrade:create()
|
|
176
|
+
applicatorUpgrade.isInternal = true
|
|
177
|
+
applicatorUpgrade.levelCount = maxLevelCount - 1
|
|
178
|
+
applicatorUpgrade.effects = map(
|
|
179
|
+
applicatorAbilityTypeIds,
|
|
180
|
+
function(applicatorAbilityTypeId)
|
|
181
|
+
return {type = "rlev", bonusBase = 1, bonusIncrement = 1, abilityTypeId = applicatorAbilityTypeId}
|
|
182
|
+
end
|
|
183
|
+
)
|
|
184
|
+
applicatorUpgradeIds[#applicatorUpgradeIds + 1] = applicatorUpgrade.id
|
|
185
|
+
for ____, applicatorAbilityTypeId in ipairs(applicatorAbilityTypeIds) do
|
|
186
|
+
applicatorUpgradeIdByApplicatorAbilityTypeId[applicatorAbilityTypeId] = applicatorUpgrade.id
|
|
187
|
+
end
|
|
188
|
+
end
|
|
189
|
+
for ____, unitType in ipairs(UnitType:getAll()) do
|
|
190
|
+
local ____array_0 = __TS__SparseArrayNew(table.unpack(unitType.affectingUpgradeIds))
|
|
191
|
+
__TS__SparseArrayPush(
|
|
192
|
+
____array_0,
|
|
193
|
+
table.unpack(applicatorUpgradeIds)
|
|
194
|
+
)
|
|
195
|
+
unitType.affectingUpgradeIds = {__TS__SparseArraySpread(____array_0)}
|
|
196
|
+
end
|
|
197
|
+
return {applicatorAbilityTypeIdByApplicatorTypeByApplicableBuffTypeId, applicatorUpgradeIdByApplicatorAbilityTypeId}
|
|
198
|
+
end))
|
|
199
|
+
local EVASION_ABILITY_TYPE_IDS = postcompile(function()
|
|
200
|
+
return AbilityType:getAllIdsByBaseIds(map({
|
|
201
|
+
"AEev",
|
|
202
|
+
"ACes",
|
|
203
|
+
"ACev",
|
|
204
|
+
"AIes",
|
|
205
|
+
"ANdb",
|
|
206
|
+
"Acdb",
|
|
207
|
+
"AOcr",
|
|
208
|
+
"ACct",
|
|
209
|
+
"AIcs"
|
|
210
|
+
}, fourCC))
|
|
211
|
+
end)
|
|
212
|
+
local INVENTORY_ABILITY_TYPE_IDS = postcompile(function()
|
|
213
|
+
return toLuaSet(AbilityType:getAllIdsByBaseIds(map({
|
|
214
|
+
"AInv",
|
|
215
|
+
"Aihn",
|
|
216
|
+
"Aien",
|
|
217
|
+
"Aion",
|
|
218
|
+
"Aiun"
|
|
219
|
+
}, fourCC)))
|
|
220
|
+
end)
|
|
221
|
+
local SEARING_ARROWS_DUMMY_ABILITY_TYPE_ID = compiletime(function()
|
|
222
|
+
local abilityType = SearingArrowsAbilityType:create()
|
|
223
|
+
abilityType.isInternal = true
|
|
224
|
+
abilityType.levelCount = 1
|
|
225
|
+
abilityType.missileModelPath = ""
|
|
226
|
+
abilityType.race = "other"
|
|
227
|
+
abilityType.learnLevelMinimum = 6
|
|
228
|
+
abilityType.shouldCheckTechTreeDependencies = false
|
|
229
|
+
abilityType.techTreeDependencies = {}
|
|
230
|
+
abilityType.damageIncrease = 0
|
|
231
|
+
abilityType.castRange = 99999
|
|
232
|
+
abilityType.manaCost = 0
|
|
233
|
+
abilityType.cooldown = 0
|
|
234
|
+
abilityType.allowedTargetCombatClassifications = combatClassificationsOf(
|
|
235
|
+
2,
|
|
236
|
+
4,
|
|
237
|
+
8,
|
|
238
|
+
16,
|
|
239
|
+
1048576,
|
|
240
|
+
2097152
|
|
241
|
+
)
|
|
242
|
+
return abilityType.id
|
|
243
|
+
end)
|
|
244
|
+
Unit.abilityCastingStartEvent[SEARING_ARROWS_DUMMY_ABILITY_TYPE_ID]:addListener(
|
|
245
|
+
4,
|
|
246
|
+
function(unit)
|
|
247
|
+
unit:removeAbility(SEARING_ARROWS_DUMMY_ABILITY_TYPE_ID)
|
|
248
|
+
end
|
|
249
|
+
)
|
|
250
|
+
---
|
|
251
|
+
-- @internal For use by internal systems only.
|
|
252
|
+
____exports.internalApplyBuff = function(unit, applicableBuffTypeId, polarity, resistanceType, level, duration, spellStealPriority, learnLevelMinimum, movementSpeedIncreaseFactor)
|
|
253
|
+
local applicatorType = polarity == 1 and (resistanceType == 1 and 852101 or 852100) or (polarity == 2 and (resistanceType == 1 and 852189 or 852173) or 0)
|
|
254
|
+
local ____opt_1 = applicatorAbilityTypeIdByApplicatorTypeByApplicableBuffTypeId[applicableBuffTypeId]
|
|
255
|
+
local applicatorAbilityTypeId = ____opt_1 and ____opt_1[applicatorType]
|
|
256
|
+
if applicatorAbilityTypeId == nil then
|
|
257
|
+
return false
|
|
258
|
+
end
|
|
259
|
+
if applicatorType == 0 then
|
|
260
|
+
return unitAddAbility(unit.handle, applicatorAbilityTypeId)
|
|
261
|
+
end
|
|
262
|
+
if applicatorType == 852100 then
|
|
263
|
+
local success
|
|
264
|
+
local nativeUnit = unit.handle
|
|
265
|
+
local nativeItem = createItem(DUMMY_ITEM_ID, 0, 0)
|
|
266
|
+
unitAddItem(INVENTORY_DUMMY_NATIVE_UNIT, nativeItem)
|
|
267
|
+
itemAddAbility(nativeItem, applicatorAbilityTypeId)
|
|
268
|
+
local applicatorAbility = checkNotNull(getItemAbility(nativeItem, applicatorAbilityTypeId))
|
|
269
|
+
if level == nil then
|
|
270
|
+
level = 0
|
|
271
|
+
setAbilityIntegerField(applicatorAbility, ABILITY_IF_LEVELS, 1)
|
|
272
|
+
end
|
|
273
|
+
setAbilityRealLevelField(applicatorAbility, ABILITY_RLF_DURATION_NORMAL, level, duration or 0)
|
|
274
|
+
setAbilityRealLevelField(applicatorAbility, ABILITY_RLF_DURATION_HERO, level, duration or 0)
|
|
275
|
+
if movementSpeedIncreaseFactor ~= nil then
|
|
276
|
+
setAbilityRealLevelField(applicatorAbility, ABILITY_RLF_MOVEMENT_SPEED_INCREASE_BSK1, level, movementSpeedIncreaseFactor)
|
|
277
|
+
end
|
|
278
|
+
setItemBooleanField(nativeItem, ITEM_BF_ACTIVELY_USED, true)
|
|
279
|
+
setItemBooleanField(nativeItem, ITEM_BF_USE_AUTOMATICALLY_WHEN_ACQUIRED, true)
|
|
280
|
+
if level > 0 then
|
|
281
|
+
local upgradeId = applicatorUpgradeIdByApplicatorAbilityTypeId[applicatorAbilityTypeId]
|
|
282
|
+
if upgradeId ~= nil then
|
|
283
|
+
setPlayerTechResearched(
|
|
284
|
+
getOwningPlayer(nativeUnit),
|
|
285
|
+
upgradeId,
|
|
286
|
+
level
|
|
287
|
+
)
|
|
288
|
+
end
|
|
289
|
+
end
|
|
290
|
+
if not unitAddItem(nativeUnit, nativeItem) then
|
|
291
|
+
local latestInventoryAbilityTypeId = 0
|
|
292
|
+
local nativeItemBySlot = {}
|
|
293
|
+
local inventorySize = unitInventorySize(nativeUnit)
|
|
294
|
+
if inventorySize ~= 0 then
|
|
295
|
+
for slot = 0, inventorySize - 1 do
|
|
296
|
+
nativeItemBySlot[slot] = UnitRemoveItemFromSlot(nativeUnit, slot)
|
|
297
|
+
end
|
|
298
|
+
local unitNativeAbility = getUnitAbilityByIndex(nativeUnit, 0)
|
|
299
|
+
local i = 1
|
|
300
|
+
while unitNativeAbility ~= nil do
|
|
301
|
+
local abilityTypeId = getAbilityId(unitNativeAbility)
|
|
302
|
+
if INVENTORY_ABILITY_TYPE_IDS[abilityTypeId] ~= nil then
|
|
303
|
+
latestInventoryAbilityTypeId = abilityTypeId
|
|
304
|
+
end
|
|
305
|
+
unitNativeAbility = getUnitAbilityByIndex(nativeUnit, i)
|
|
306
|
+
i = i + 1
|
|
307
|
+
end
|
|
308
|
+
unitRemoveAbility(nativeUnit, latestInventoryAbilityTypeId)
|
|
309
|
+
end
|
|
310
|
+
unitAddAbility(nativeUnit, INVENTORY_ABILITY_TYPE_ID)
|
|
311
|
+
success = unitAddItem(nativeUnit, nativeItem)
|
|
312
|
+
unitRemoveAbility(nativeUnit, INVENTORY_ABILITY_TYPE_ID)
|
|
313
|
+
if latestInventoryAbilityTypeId ~= 0 then
|
|
314
|
+
unitAddAbility(nativeUnit, latestInventoryAbilityTypeId)
|
|
315
|
+
for slot, nativeItem in pairs(nativeItemBySlot) do
|
|
316
|
+
unitAddItem(nativeUnit, nativeItem)
|
|
317
|
+
unitDropItemSlot(nativeUnit, nativeItem, slot)
|
|
318
|
+
end
|
|
319
|
+
end
|
|
320
|
+
else
|
|
321
|
+
success = true
|
|
322
|
+
end
|
|
323
|
+
removeItem(nativeItem)
|
|
324
|
+
if level ~= nil and level > 1 then
|
|
325
|
+
local upgradeId = applicatorUpgradeIdByApplicatorAbilityTypeId[applicatorAbilityTypeId]
|
|
326
|
+
if upgradeId ~= nil then
|
|
327
|
+
setPlayerTechResearched(
|
|
328
|
+
getOwningPlayer(nativeUnit),
|
|
329
|
+
upgradeId,
|
|
330
|
+
0
|
|
331
|
+
)
|
|
332
|
+
end
|
|
333
|
+
end
|
|
334
|
+
return success
|
|
335
|
+
end
|
|
336
|
+
if applicatorType == 852173 then
|
|
337
|
+
for ____, abilityId in ipairs(EVASION_ABILITY_TYPE_IDS) do
|
|
338
|
+
unitDisableAbility(unit.handle, abilityId, true, false)
|
|
339
|
+
end
|
|
340
|
+
end
|
|
341
|
+
local success = InstantDummyCaster:getInstance():castTarget(
|
|
342
|
+
unit.owner,
|
|
343
|
+
{applicatorAbilityTypeId, SEARING_ARROWS_DUMMY_ABILITY_TYPE_ID},
|
|
344
|
+
function(ability)
|
|
345
|
+
if level == nil then
|
|
346
|
+
ability:setField(ABILITY_IF_LEVELS, 1)
|
|
347
|
+
level = 0
|
|
348
|
+
end
|
|
349
|
+
ability.level = level
|
|
350
|
+
duration = duration or 0
|
|
351
|
+
local actualDuration = duration > 0 and duration or MAXIMUM_INTEGER
|
|
352
|
+
ability:setField(ABILITY_RLF_DURATION_NORMAL, level, actualDuration)
|
|
353
|
+
ability:setField(ABILITY_RLF_DURATION_HERO, level, actualDuration)
|
|
354
|
+
ability:setField(ABILITY_IF_PRIORITY, spellStealPriority or 0)
|
|
355
|
+
ability:setField(ABILITY_IF_REQUIRED_LEVEL, learnLevelMinimum or 6)
|
|
356
|
+
end,
|
|
357
|
+
applicatorType,
|
|
358
|
+
unit
|
|
359
|
+
)
|
|
360
|
+
if applicatorType == 852173 then
|
|
361
|
+
for ____, abilityId in ipairs(EVASION_ABILITY_TYPE_IDS) do
|
|
362
|
+
unitDisableAbility(unit.handle, abilityId, false, false)
|
|
363
|
+
end
|
|
364
|
+
end
|
|
365
|
+
return success
|
|
366
|
+
end
|
|
367
|
+
---
|
|
368
|
+
-- @internal For use by internal systems only.
|
|
369
|
+
____exports.removeBuff = function(unit, applicableBuffTypeId)
|
|
370
|
+
local ____opt_3 = applicatorAbilityTypeIdByApplicatorTypeByApplicableBuffTypeId[applicableBuffTypeId]
|
|
371
|
+
local applicatorAbilityTypeId = ____opt_3 and ____opt_3[0]
|
|
372
|
+
if applicatorAbilityTypeId ~= nil then
|
|
373
|
+
unitRemoveAbility(unit, applicatorAbilityTypeId)
|
|
374
|
+
end
|
|
375
|
+
return unitRemoveAbility(unit, applicableBuffTypeId)
|
|
376
|
+
end
|
|
377
|
+
return ____exports
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/// <reference types="warpack-types/warpack" />
|
|
2
|
+
/** @noSelfInFile */
|
|
3
|
+
import { BuffType, BuffTypeId } from "../buff-type";
|
|
4
|
+
export declare class BlankBuffType extends BuffType {
|
|
5
|
+
static readonly BASE_ID: BuffTypeId;
|
|
6
|
+
protected static readonly IS_SYNTHETIC = true;
|
|
7
|
+
constructor(object: WarObject);
|
|
8
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
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 ____buff_2Dtype = require("engine.object-data.entry.buff-type")
|
|
6
|
+
local BuffType = ____buff_2Dtype.BuffType
|
|
7
|
+
____exports.BlankBuffType = __TS__Class()
|
|
8
|
+
local BlankBuffType = ____exports.BlankBuffType
|
|
9
|
+
BlankBuffType.name = "BlankBuffType"
|
|
10
|
+
__TS__ClassExtends(BlankBuffType, BuffType)
|
|
11
|
+
function BlankBuffType.prototype.____constructor(self, object)
|
|
12
|
+
BuffType.prototype.____constructor(self, object)
|
|
13
|
+
self.name = ""
|
|
14
|
+
end
|
|
15
|
+
BlankBuffType.BASE_ID = fourCC("BHbz")
|
|
16
|
+
BlankBuffType.IS_SYNTHETIC = true
|
|
17
|
+
return ____exports
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/// <reference types="warpack-types/warpack" />
|
|
2
|
+
/** @noSelfInFile */
|
|
3
|
+
import { TupleOf } from "../../../utility/types";
|
|
4
|
+
import { AttachmentPreset, AttachmentPresetInput } from "../auxiliary/attachment-preset";
|
|
5
|
+
import { Race } from "../auxiliary/race";
|
|
6
|
+
import { SoundPresetName } from "../auxiliary/sound-preset-name";
|
|
7
|
+
import { ObjectDataEntry, ObjectDataEntryId } from "../entry";
|
|
8
|
+
import { LightningTypeId } from "./lightning-type";
|
|
9
|
+
export type BuffTypeId = ObjectDataEntryId & {
|
|
10
|
+
readonly __buffTypeId: unique symbol;
|
|
11
|
+
};
|
|
12
|
+
export declare abstract class BuffType<Id extends BuffTypeId = BuffTypeId> extends ObjectDataEntry<Id> {
|
|
13
|
+
private static readonly idGenerator;
|
|
14
|
+
protected static generateId(): number;
|
|
15
|
+
protected static getObjectData(map: WarMap): WarObjects;
|
|
16
|
+
get effectAttachmentPreset(): AttachmentPreset | undefined;
|
|
17
|
+
set effectAttachmentPreset(effectAttachmentPreset: AttachmentPresetInput | undefined);
|
|
18
|
+
get iconPath(): string;
|
|
19
|
+
set iconPath(iconPath: string);
|
|
20
|
+
get iconPathSD(): string;
|
|
21
|
+
set iconPathSD(iconPathSD: string);
|
|
22
|
+
get iconPathHD(): string;
|
|
23
|
+
set iconPathHD(iconPathHD: string);
|
|
24
|
+
get isMissileHoming(): boolean;
|
|
25
|
+
set isMissileHoming(isMissileHoming: boolean);
|
|
26
|
+
get lightningTypeIds(): LightningTypeId[];
|
|
27
|
+
set lightningTypeIds(lightningTypeIds: LightningTypeId[]);
|
|
28
|
+
get missileModelPath(): string;
|
|
29
|
+
set missileModelPath(missileModelPath: string);
|
|
30
|
+
get missileModelPathSD(): string;
|
|
31
|
+
set missileModelPathSD(missileModelPathSD: string);
|
|
32
|
+
get missileModelPathHD(): string;
|
|
33
|
+
set missileModelPathHD(missileModelPathHD: string);
|
|
34
|
+
get missileMovementArc(): number;
|
|
35
|
+
set missileMovementArc(missileMovementArc: number);
|
|
36
|
+
get missileMovementSpeed(): number;
|
|
37
|
+
set missileMovementSpeed(missileMovementSpeed: number);
|
|
38
|
+
get specialAttachmentPreset(): AttachmentPreset | undefined;
|
|
39
|
+
set specialAttachmentPreset(specialAttachmentPreset: AttachmentPresetInput | undefined);
|
|
40
|
+
get targetAttachmentPresets(): TupleOf<AttachmentPreset, 0 | 1 | 2 | 3 | 4 | 5 | 6>;
|
|
41
|
+
set targetAttachmentPresets(targetAttachmentPresets: TupleOf<AttachmentPresetInput, 0 | 1 | 2 | 3 | 4 | 5 | 6>);
|
|
42
|
+
get soundPresetName(): SoundPresetName;
|
|
43
|
+
set soundPresetName(soundPresetName: SoundPresetName);
|
|
44
|
+
get loopingSoundPresetName(): SoundPresetName;
|
|
45
|
+
set loopingSoundPresetName(loopingSoundPresetName: SoundPresetName);
|
|
46
|
+
get race(): Race;
|
|
47
|
+
set race(race: Race);
|
|
48
|
+
get name(): string;
|
|
49
|
+
set name(name: string);
|
|
50
|
+
get tooltipText(): string;
|
|
51
|
+
set tooltipText(tooltipText: string);
|
|
52
|
+
get tooltipExtendedText(): string;
|
|
53
|
+
set tooltipExtendedText(tooltipText: string);
|
|
54
|
+
}
|
|
55
|
+
declare const AvatarBuffType_base: typeof BuffType;
|
|
56
|
+
export declare class AvatarBuffType extends AvatarBuffType_base {
|
|
57
|
+
}
|
|
58
|
+
declare const DevotionAuraBuffType_base: typeof BuffType;
|
|
59
|
+
export declare class DevotionAuraBuffType extends DevotionAuraBuffType_base {
|
|
60
|
+
}
|
|
61
|
+
declare const DivineShieldBuffType_base: typeof BuffType;
|
|
62
|
+
export declare class DivineShieldBuffType extends DivineShieldBuffType_base {
|
|
63
|
+
}
|
|
64
|
+
export {};
|