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,49 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__New = ____lualib.__TS__New
|
|
3
|
+
local ____exports = {}
|
|
4
|
+
local ____ability = require("objutil.ability")
|
|
5
|
+
local AbilityDefinitionPermanentInvisibility = ____ability.AbilityDefinitionPermanentInvisibility
|
|
6
|
+
local ____unit = require("objutil.unit")
|
|
7
|
+
local UnitDefinition = ____unit.UnitDefinition
|
|
8
|
+
local idgen = require("objutil.idgen")
|
|
9
|
+
____exports.dummyUnitId = compiletime(function()
|
|
10
|
+
local disableAutoAcquireAttackTargetsAbility = __TS__New(AbilityDefinitionPermanentInvisibility)
|
|
11
|
+
disableAutoAcquireAttackTargetsAbility.name = "[Warscript/Dummy] Disable Auto-Acquire Attack Targets"
|
|
12
|
+
disableAutoAcquireAttackTargetsAbility.autoAcquireAttackTargets = false
|
|
13
|
+
disableAutoAcquireAttackTargetsAbility.durationNormal = -1
|
|
14
|
+
disableAutoAcquireAttackTargetsAbility.durationHero = -1
|
|
15
|
+
local dummy = __TS__New(
|
|
16
|
+
UnitDefinition,
|
|
17
|
+
"ewsp",
|
|
18
|
+
idgen.unit(),
|
|
19
|
+
{
|
|
20
|
+
name = "[Warscript/Dummy] Unit",
|
|
21
|
+
model = "",
|
|
22
|
+
foodCost = 0,
|
|
23
|
+
movementType = "none",
|
|
24
|
+
maxMana = 999999,
|
|
25
|
+
abilitiesNormal = {"Avul", "Aloc", "AInv", disableAutoAcquireAttackTargetsAbility.id}
|
|
26
|
+
}
|
|
27
|
+
)
|
|
28
|
+
local weapon = dummy.weapons[1]
|
|
29
|
+
weapon.enabled = true
|
|
30
|
+
weapon.attackBackswing = 0
|
|
31
|
+
weapon.attackPoint = 0
|
|
32
|
+
weapon.cooldown = 0
|
|
33
|
+
weapon.range = 99999
|
|
34
|
+
weapon.attackType = "spells"
|
|
35
|
+
weapon.weaponType = "instant"
|
|
36
|
+
weapon.baseDamage = -1
|
|
37
|
+
weapon.diceNumber = 1
|
|
38
|
+
weapon.diceSides = 1
|
|
39
|
+
weapon.targetsAllowed = {
|
|
40
|
+
"ground",
|
|
41
|
+
"air",
|
|
42
|
+
"structure",
|
|
43
|
+
"ward",
|
|
44
|
+
"vulnerable",
|
|
45
|
+
"invulnerable"
|
|
46
|
+
}
|
|
47
|
+
return fourCC(dummy.id)
|
|
48
|
+
end)
|
|
49
|
+
return ____exports
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** @noSelfInFile */
|
|
2
|
+
export declare function unit(): string;
|
|
3
|
+
export declare function hero(): string;
|
|
4
|
+
export declare function ability(): string;
|
|
5
|
+
export declare function doodad(): string;
|
|
6
|
+
export declare function destructable(): string;
|
|
7
|
+
export declare function buff(): string;
|
|
8
|
+
export declare function item(): string;
|
|
9
|
+
export declare function upgrade(): string;
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
local ____exports = {}
|
|
2
|
+
local firstValidChar = 48
|
|
3
|
+
local lastValidChar = 126
|
|
4
|
+
local function nextValidCharId(char)
|
|
5
|
+
if char < 48 then
|
|
6
|
+
return 48
|
|
7
|
+
end
|
|
8
|
+
if char > 126 then
|
|
9
|
+
return nil
|
|
10
|
+
end
|
|
11
|
+
if char == 57 then
|
|
12
|
+
return 97
|
|
13
|
+
end
|
|
14
|
+
return char + 1
|
|
15
|
+
end
|
|
16
|
+
local function isIdOccupied(id)
|
|
17
|
+
if currentMap ~= nil then
|
|
18
|
+
for ____, v in pairs(currentMap.objects) do
|
|
19
|
+
if v[id] ~= nil then
|
|
20
|
+
return true
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
return false
|
|
25
|
+
end
|
|
26
|
+
local function nextIdFrom(id)
|
|
27
|
+
if #id ~= 4 then
|
|
28
|
+
error("id must be 4-char")
|
|
29
|
+
end
|
|
30
|
+
local b1, b2, b3, b4 = string.byte(id, 1, 4)
|
|
31
|
+
repeat
|
|
32
|
+
do
|
|
33
|
+
if b4 < lastValidChar then
|
|
34
|
+
b4 = nextValidCharId(b4)
|
|
35
|
+
elseif b3 < lastValidChar then
|
|
36
|
+
b4 = firstValidChar
|
|
37
|
+
b3 = nextValidCharId(b3)
|
|
38
|
+
elseif b2 < lastValidChar then
|
|
39
|
+
b4 = firstValidChar
|
|
40
|
+
b3 = firstValidChar
|
|
41
|
+
b2 = nextValidCharId(b2)
|
|
42
|
+
elseif b1 < lastValidChar then
|
|
43
|
+
b4 = firstValidChar
|
|
44
|
+
b3 = firstValidChar
|
|
45
|
+
b2 = firstValidChar
|
|
46
|
+
b1 = nextValidCharId(b1)
|
|
47
|
+
end
|
|
48
|
+
end
|
|
49
|
+
until not isIdOccupied(string.char(b1, b2, b3, b4))
|
|
50
|
+
return string.char(b1, b2, b3, b4)
|
|
51
|
+
end
|
|
52
|
+
local unitId = "x000"
|
|
53
|
+
local heroId = "H000"
|
|
54
|
+
local abilityId = "A000"
|
|
55
|
+
local doodadId = "DO00"
|
|
56
|
+
local destructableId = "X000"
|
|
57
|
+
local buffId = "B000"
|
|
58
|
+
local itemId = "I000"
|
|
59
|
+
local upgradeId = "R000"
|
|
60
|
+
function ____exports.unit()
|
|
61
|
+
unitId = nextIdFrom(unitId)
|
|
62
|
+
return unitId
|
|
63
|
+
end
|
|
64
|
+
function ____exports.hero()
|
|
65
|
+
heroId = nextIdFrom(heroId)
|
|
66
|
+
return heroId
|
|
67
|
+
end
|
|
68
|
+
function ____exports.ability()
|
|
69
|
+
abilityId = nextIdFrom(abilityId)
|
|
70
|
+
return abilityId
|
|
71
|
+
end
|
|
72
|
+
function ____exports.doodad()
|
|
73
|
+
doodadId = nextIdFrom(doodadId)
|
|
74
|
+
return doodadId
|
|
75
|
+
end
|
|
76
|
+
function ____exports.destructable()
|
|
77
|
+
destructableId = nextIdFrom(destructableId)
|
|
78
|
+
return destructableId
|
|
79
|
+
end
|
|
80
|
+
function ____exports.buff()
|
|
81
|
+
buffId = nextIdFrom(buffId)
|
|
82
|
+
return buffId
|
|
83
|
+
end
|
|
84
|
+
function ____exports.item()
|
|
85
|
+
itemId = nextIdFrom(itemId)
|
|
86
|
+
return itemId
|
|
87
|
+
end
|
|
88
|
+
function ____exports.upgrade()
|
|
89
|
+
upgradeId = nextIdFrom(upgradeId)
|
|
90
|
+
return upgradeId
|
|
91
|
+
end
|
|
92
|
+
return ____exports
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/** @noSelfInFile */
|
|
2
|
+
import { ObjectDefinition } from "./object";
|
|
3
|
+
export declare class ItemDefinition extends ObjectDefinition {
|
|
4
|
+
readonly id: string;
|
|
5
|
+
constructor(baseId: string, id?: string, ctor?: Readonly<Partial<Omit<ItemDefinition, "id">>>);
|
|
6
|
+
get name(): string;
|
|
7
|
+
set name(v: string);
|
|
8
|
+
get description(): string;
|
|
9
|
+
set description(v: string);
|
|
10
|
+
get tooltip(): string;
|
|
11
|
+
set tooltip(v: string);
|
|
12
|
+
get tooltipExtended(): string;
|
|
13
|
+
set tooltipExtended(v: string);
|
|
14
|
+
get icon(): string;
|
|
15
|
+
set icon(v: string);
|
|
16
|
+
get model(): string;
|
|
17
|
+
set model(v: string);
|
|
18
|
+
get sellable(): boolean;
|
|
19
|
+
set sellable(sellable: boolean);
|
|
20
|
+
get pawnable(): boolean;
|
|
21
|
+
set pawnable(pawnable: boolean);
|
|
22
|
+
get goldCost(): number;
|
|
23
|
+
set goldCost(goldCost: number);
|
|
24
|
+
get lumberCost(): number;
|
|
25
|
+
set lumberCost(lumberCost: number);
|
|
26
|
+
get usable(): boolean;
|
|
27
|
+
set usable(usable: boolean);
|
|
28
|
+
get perishable(): boolean;
|
|
29
|
+
set perishable(perishable: boolean);
|
|
30
|
+
get stack(): number;
|
|
31
|
+
set stack(maxStack: number);
|
|
32
|
+
get maxStack(): number;
|
|
33
|
+
set maxStack(maxStack: number);
|
|
34
|
+
get abilities(): number[];
|
|
35
|
+
set abilities(v: (number | string)[]);
|
|
36
|
+
get cooldownGroupId(): number;
|
|
37
|
+
set cooldownGroupId(v: number | string);
|
|
38
|
+
}
|
package/objutil/item.lua
ADDED
|
@@ -0,0 +1,254 @@
|
|
|
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 __TS__StringSplit = ____lualib.__TS__StringSplit
|
|
6
|
+
local __TS__ArrayMap = ____lualib.__TS__ArrayMap
|
|
7
|
+
local ____exports = {}
|
|
8
|
+
local ____object = require("objutil.object")
|
|
9
|
+
local ObjectDefinition = ____object.ObjectDefinition
|
|
10
|
+
local idgen = require("objutil.idgen")
|
|
11
|
+
____exports.ItemDefinition = __TS__Class()
|
|
12
|
+
local ItemDefinition = ____exports.ItemDefinition
|
|
13
|
+
ItemDefinition.name = "ItemDefinition"
|
|
14
|
+
__TS__ClassExtends(ItemDefinition, ObjectDefinition)
|
|
15
|
+
function ItemDefinition.prototype.____constructor(self, baseId, id, ctor)
|
|
16
|
+
ObjectDefinition.prototype.____constructor(
|
|
17
|
+
self,
|
|
18
|
+
currentMap.objects.item:newObject(
|
|
19
|
+
id or idgen.item(),
|
|
20
|
+
baseId
|
|
21
|
+
)
|
|
22
|
+
)
|
|
23
|
+
self.id = self.object.id
|
|
24
|
+
if ctor then
|
|
25
|
+
for key, value in pairs(ctor) do
|
|
26
|
+
self[key] = value
|
|
27
|
+
end
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
__TS__SetDescriptor(
|
|
31
|
+
ItemDefinition.prototype,
|
|
32
|
+
"name",
|
|
33
|
+
{
|
|
34
|
+
get = function(self)
|
|
35
|
+
return self:getStringField("unam")
|
|
36
|
+
end,
|
|
37
|
+
set = function(self, v)
|
|
38
|
+
self:setStringField("unam", v)
|
|
39
|
+
end
|
|
40
|
+
},
|
|
41
|
+
true
|
|
42
|
+
)
|
|
43
|
+
__TS__SetDescriptor(
|
|
44
|
+
ItemDefinition.prototype,
|
|
45
|
+
"description",
|
|
46
|
+
{
|
|
47
|
+
get = function(self)
|
|
48
|
+
return self:getStringField("ides")
|
|
49
|
+
end,
|
|
50
|
+
set = function(self, v)
|
|
51
|
+
self:setStringField("ides", v)
|
|
52
|
+
end
|
|
53
|
+
},
|
|
54
|
+
true
|
|
55
|
+
)
|
|
56
|
+
__TS__SetDescriptor(
|
|
57
|
+
ItemDefinition.prototype,
|
|
58
|
+
"tooltip",
|
|
59
|
+
{
|
|
60
|
+
get = function(self)
|
|
61
|
+
return self:getStringField("utip")
|
|
62
|
+
end,
|
|
63
|
+
set = function(self, v)
|
|
64
|
+
self:setStringField("utip", v)
|
|
65
|
+
end
|
|
66
|
+
},
|
|
67
|
+
true
|
|
68
|
+
)
|
|
69
|
+
__TS__SetDescriptor(
|
|
70
|
+
ItemDefinition.prototype,
|
|
71
|
+
"tooltipExtended",
|
|
72
|
+
{
|
|
73
|
+
get = function(self)
|
|
74
|
+
return self:getStringField("utub")
|
|
75
|
+
end,
|
|
76
|
+
set = function(self, v)
|
|
77
|
+
self:setStringField("utub", v)
|
|
78
|
+
end
|
|
79
|
+
},
|
|
80
|
+
true
|
|
81
|
+
)
|
|
82
|
+
__TS__SetDescriptor(
|
|
83
|
+
ItemDefinition.prototype,
|
|
84
|
+
"icon",
|
|
85
|
+
{
|
|
86
|
+
get = function(self)
|
|
87
|
+
return self:getStringField("iico")
|
|
88
|
+
end,
|
|
89
|
+
set = function(self, v)
|
|
90
|
+
self:setStringField("iico", v)
|
|
91
|
+
end
|
|
92
|
+
},
|
|
93
|
+
true
|
|
94
|
+
)
|
|
95
|
+
__TS__SetDescriptor(
|
|
96
|
+
ItemDefinition.prototype,
|
|
97
|
+
"model",
|
|
98
|
+
{
|
|
99
|
+
get = function(self)
|
|
100
|
+
return self:getStringField("ifil")
|
|
101
|
+
end,
|
|
102
|
+
set = function(self, v)
|
|
103
|
+
self:setStringField("ifil", v)
|
|
104
|
+
end
|
|
105
|
+
},
|
|
106
|
+
true
|
|
107
|
+
)
|
|
108
|
+
__TS__SetDescriptor(
|
|
109
|
+
ItemDefinition.prototype,
|
|
110
|
+
"sellable",
|
|
111
|
+
{
|
|
112
|
+
get = function(self)
|
|
113
|
+
return self:getBooleanField("isel")
|
|
114
|
+
end,
|
|
115
|
+
set = function(self, sellable)
|
|
116
|
+
self:setBooleanField("isel", sellable)
|
|
117
|
+
end
|
|
118
|
+
},
|
|
119
|
+
true
|
|
120
|
+
)
|
|
121
|
+
__TS__SetDescriptor(
|
|
122
|
+
ItemDefinition.prototype,
|
|
123
|
+
"pawnable",
|
|
124
|
+
{
|
|
125
|
+
get = function(self)
|
|
126
|
+
return self:getBooleanField("ipaw")
|
|
127
|
+
end,
|
|
128
|
+
set = function(self, pawnable)
|
|
129
|
+
self:setBooleanField("ipaw", pawnable)
|
|
130
|
+
end
|
|
131
|
+
},
|
|
132
|
+
true
|
|
133
|
+
)
|
|
134
|
+
__TS__SetDescriptor(
|
|
135
|
+
ItemDefinition.prototype,
|
|
136
|
+
"goldCost",
|
|
137
|
+
{
|
|
138
|
+
get = function(self)
|
|
139
|
+
return self:getNumberField("igol")
|
|
140
|
+
end,
|
|
141
|
+
set = function(self, goldCost)
|
|
142
|
+
self:setNumberField("igol", goldCost)
|
|
143
|
+
end
|
|
144
|
+
},
|
|
145
|
+
true
|
|
146
|
+
)
|
|
147
|
+
__TS__SetDescriptor(
|
|
148
|
+
ItemDefinition.prototype,
|
|
149
|
+
"lumberCost",
|
|
150
|
+
{
|
|
151
|
+
get = function(self)
|
|
152
|
+
return self:getNumberField("ilum")
|
|
153
|
+
end,
|
|
154
|
+
set = function(self, lumberCost)
|
|
155
|
+
self:setNumberField("ilum", lumberCost)
|
|
156
|
+
end
|
|
157
|
+
},
|
|
158
|
+
true
|
|
159
|
+
)
|
|
160
|
+
__TS__SetDescriptor(
|
|
161
|
+
ItemDefinition.prototype,
|
|
162
|
+
"usable",
|
|
163
|
+
{
|
|
164
|
+
get = function(self)
|
|
165
|
+
return self:getBooleanField("iusa")
|
|
166
|
+
end,
|
|
167
|
+
set = function(self, usable)
|
|
168
|
+
self:setBooleanField("iusa", usable)
|
|
169
|
+
end
|
|
170
|
+
},
|
|
171
|
+
true
|
|
172
|
+
)
|
|
173
|
+
__TS__SetDescriptor(
|
|
174
|
+
ItemDefinition.prototype,
|
|
175
|
+
"perishable",
|
|
176
|
+
{
|
|
177
|
+
get = function(self)
|
|
178
|
+
return self:getBooleanField("iper")
|
|
179
|
+
end,
|
|
180
|
+
set = function(self, perishable)
|
|
181
|
+
self:setBooleanField("iper", perishable)
|
|
182
|
+
end
|
|
183
|
+
},
|
|
184
|
+
true
|
|
185
|
+
)
|
|
186
|
+
__TS__SetDescriptor(
|
|
187
|
+
ItemDefinition.prototype,
|
|
188
|
+
"stack",
|
|
189
|
+
{
|
|
190
|
+
get = function(self)
|
|
191
|
+
return self:getNumberField("iuse")
|
|
192
|
+
end,
|
|
193
|
+
set = function(self, maxStack)
|
|
194
|
+
self:setNumberField("iuse", maxStack)
|
|
195
|
+
end
|
|
196
|
+
},
|
|
197
|
+
true
|
|
198
|
+
)
|
|
199
|
+
__TS__SetDescriptor(
|
|
200
|
+
ItemDefinition.prototype,
|
|
201
|
+
"maxStack",
|
|
202
|
+
{
|
|
203
|
+
get = function(self)
|
|
204
|
+
return self:getNumberField("ista")
|
|
205
|
+
end,
|
|
206
|
+
set = function(self, maxStack)
|
|
207
|
+
self:setNumberField("ista", maxStack)
|
|
208
|
+
end
|
|
209
|
+
},
|
|
210
|
+
true
|
|
211
|
+
)
|
|
212
|
+
__TS__SetDescriptor(
|
|
213
|
+
ItemDefinition.prototype,
|
|
214
|
+
"abilities",
|
|
215
|
+
{
|
|
216
|
+
get = function(self)
|
|
217
|
+
return __TS__ArrayMap(
|
|
218
|
+
__TS__StringSplit(
|
|
219
|
+
self:getStringField("iabi"),
|
|
220
|
+
","
|
|
221
|
+
),
|
|
222
|
+
function(____, v) return util.s2id(v) end
|
|
223
|
+
)
|
|
224
|
+
end,
|
|
225
|
+
set = function(self, v)
|
|
226
|
+
local value = table.concat(
|
|
227
|
+
__TS__ArrayMap(
|
|
228
|
+
v,
|
|
229
|
+
function(____, v) return util.id2s(v) end
|
|
230
|
+
),
|
|
231
|
+
","
|
|
232
|
+
)
|
|
233
|
+
self:setStringField("iabi", value)
|
|
234
|
+
end
|
|
235
|
+
},
|
|
236
|
+
true
|
|
237
|
+
)
|
|
238
|
+
__TS__SetDescriptor(
|
|
239
|
+
ItemDefinition.prototype,
|
|
240
|
+
"cooldownGroupId",
|
|
241
|
+
{
|
|
242
|
+
get = function(self)
|
|
243
|
+
return util.s2id(self:getStringField("icid"))
|
|
244
|
+
end,
|
|
245
|
+
set = function(self, v)
|
|
246
|
+
self:setStringField(
|
|
247
|
+
"icid",
|
|
248
|
+
util.id2s(v)
|
|
249
|
+
)
|
|
250
|
+
end
|
|
251
|
+
},
|
|
252
|
+
true
|
|
253
|
+
)
|
|
254
|
+
return ____exports
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/// <reference types="warpack-types/warpack" />
|
|
2
|
+
/** @noSelfInFile */
|
|
3
|
+
export type LevelFieldValueProvider<T> = T | T[] | ((level: number, value: T) => T);
|
|
4
|
+
export declare namespace ObjectDefinition {
|
|
5
|
+
type TargetType = "air" | "alive" | "allies" | "ancient" | "dead" | "debris" | "decoration" | "enemies" | "friend" | "ground" | "hero" | "invulnerable" | "item" | "mechanical" | "neutral" | "nonancient" | "none" | "nonhero" | "nonsapper" | "notself" | "organic" | "player" | "sapper" | "self" | "structure" | "terrain" | "tree" | "vulnerable" | "wall" | "ward";
|
|
6
|
+
}
|
|
7
|
+
export declare class ObjectDefinition {
|
|
8
|
+
protected readonly object: WarObject;
|
|
9
|
+
protected constructor(object: WarObject);
|
|
10
|
+
protected setBooleanField(field: string, value: boolean): void;
|
|
11
|
+
protected getBooleanField(field: string): boolean;
|
|
12
|
+
protected setNumberField(field: string, value: number): void;
|
|
13
|
+
protected getNumberField(field: string): number;
|
|
14
|
+
protected setStringField(field: string, value: string): void;
|
|
15
|
+
protected getStringField(field: string): string;
|
|
16
|
+
protected getStringListField(field: string): string[];
|
|
17
|
+
protected setBooleanLevelField(field: string, values: boolean | boolean[] | ((level: number, value: boolean) => boolean)): void;
|
|
18
|
+
protected getBooleanLevelField(field: string): boolean[];
|
|
19
|
+
protected setNumberLevelField(field: string, values: number | number[] | ((level: number, value: number) => number)): void;
|
|
20
|
+
protected getNumberLevelField(field: string): number[];
|
|
21
|
+
protected setStringLevelField(field: string, values: string | string[] | ((level: number, value: string) => string)): void;
|
|
22
|
+
protected getStringLevelField(field: string): string[];
|
|
23
|
+
protected getStringListLevelField(field: string): string[][];
|
|
24
|
+
private getLevelField;
|
|
25
|
+
private setLevelField;
|
|
26
|
+
protected static getLevelFieldValue<T extends ObjectDefinition | string | number | boolean | undefined>(level: number, value: T, values: LevelFieldValueProvider<T>): T;
|
|
27
|
+
protected static getLevelArrayFieldValue<T extends ObjectDefinition | string | number | boolean | undefined>(level: number, value: T[], values: LevelFieldValueProvider<T[]>): T[];
|
|
28
|
+
}
|
|
29
|
+
interface ObjectConstructor {
|
|
30
|
+
[index: string]: string | number | undefined;
|
|
31
|
+
}
|
|
32
|
+
export declare enum ObjectType {
|
|
33
|
+
ABILITY = 0,
|
|
34
|
+
ITEM = 1,
|
|
35
|
+
UNIT = 2,
|
|
36
|
+
DESTRUCTABLE = 3,
|
|
37
|
+
DOODAD = 4,
|
|
38
|
+
BUFF = 5,
|
|
39
|
+
UPGRADE = 6
|
|
40
|
+
}
|
|
41
|
+
export declare function createObject(objectType: ObjectType, newId: string, base: string, ctor?: ObjectConstructor): WarObject;
|
|
42
|
+
export declare function createObject(objectType: ObjectType, base: string, ctor?: ObjectConstructor): WarObject;
|
|
43
|
+
export {};
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__Class = ____lualib.__TS__Class
|
|
3
|
+
local __TS__StringSplit = ____lualib.__TS__StringSplit
|
|
4
|
+
local __TS__ArrayIsArray = ____lualib.__TS__ArrayIsArray
|
|
5
|
+
local __TS__ArrayMap = ____lualib.__TS__ArrayMap
|
|
6
|
+
local ____exports = {}
|
|
7
|
+
local createObjectImpl, map
|
|
8
|
+
local idgen = require("objutil.idgen")
|
|
9
|
+
function createObjectImpl(objectType, newId, base, ctor)
|
|
10
|
+
if not currentMap then
|
|
11
|
+
error("objects can only be created when a map is active")
|
|
12
|
+
end
|
|
13
|
+
local objects = map[objectType]:getObjects(currentMap.objects)
|
|
14
|
+
local object = objects:newObject(newId, base)
|
|
15
|
+
for field, value in pairs(ctor) do
|
|
16
|
+
object:setField(field, value)
|
|
17
|
+
end
|
|
18
|
+
return object
|
|
19
|
+
end
|
|
20
|
+
____exports.ObjectDefinition = __TS__Class()
|
|
21
|
+
local ObjectDefinition = ____exports.ObjectDefinition
|
|
22
|
+
ObjectDefinition.name = "ObjectDefinition"
|
|
23
|
+
function ObjectDefinition.prototype.____constructor(self, object)
|
|
24
|
+
self.object = object
|
|
25
|
+
end
|
|
26
|
+
function ObjectDefinition.prototype.setBooleanField(self, field, value)
|
|
27
|
+
self.object:setField(field, value and 1 or 0)
|
|
28
|
+
end
|
|
29
|
+
function ObjectDefinition.prototype.getBooleanField(self, field)
|
|
30
|
+
return (tonumber(self.object:getField(field) or 0) or 0) ~= 0
|
|
31
|
+
end
|
|
32
|
+
function ObjectDefinition.prototype.setNumberField(self, field, value)
|
|
33
|
+
self.object:setField(field, value)
|
|
34
|
+
end
|
|
35
|
+
function ObjectDefinition.prototype.getNumberField(self, field)
|
|
36
|
+
return tonumber(self.object:getField(field) or 0) or 0
|
|
37
|
+
end
|
|
38
|
+
function ObjectDefinition.prototype.setStringField(self, field, value)
|
|
39
|
+
self.object:setField(field, value)
|
|
40
|
+
end
|
|
41
|
+
function ObjectDefinition.prototype.getStringField(self, field)
|
|
42
|
+
return tostring(self.object:getField(field) or "")
|
|
43
|
+
end
|
|
44
|
+
function ObjectDefinition.prototype.getStringListField(self, field)
|
|
45
|
+
local value = self:getStringField(field)
|
|
46
|
+
return (value == "" or value == "_") and ({}) or __TS__StringSplit(value, ",")
|
|
47
|
+
end
|
|
48
|
+
function ObjectDefinition.prototype.setBooleanLevelField(self, field, values)
|
|
49
|
+
self:setLevelField(
|
|
50
|
+
field,
|
|
51
|
+
__TS__ArrayIsArray(values) and __TS__ArrayMap(
|
|
52
|
+
values,
|
|
53
|
+
function(____, value) return value and 1 or 0 end
|
|
54
|
+
) or (function(level, value)
|
|
55
|
+
return type(values) == "function" and (values(
|
|
56
|
+
level,
|
|
57
|
+
(tonumber(value or 0) or 0) ~= 0
|
|
58
|
+
) and 1 or 0) or (values and 1 or 0)
|
|
59
|
+
end)
|
|
60
|
+
)
|
|
61
|
+
end
|
|
62
|
+
function ObjectDefinition.prototype.getBooleanLevelField(self, field)
|
|
63
|
+
return __TS__ArrayMap(
|
|
64
|
+
self:getLevelField(field),
|
|
65
|
+
function(____, value) return (tonumber(value) or 0) ~= 0 end
|
|
66
|
+
)
|
|
67
|
+
end
|
|
68
|
+
function ObjectDefinition.prototype.setNumberLevelField(self, field, values)
|
|
69
|
+
self:setLevelField(
|
|
70
|
+
field,
|
|
71
|
+
__TS__ArrayIsArray(values) and values or (function(level, value)
|
|
72
|
+
return type(values) == "function" and values(
|
|
73
|
+
level,
|
|
74
|
+
tonumber(value or 0) or 0
|
|
75
|
+
) or values
|
|
76
|
+
end)
|
|
77
|
+
)
|
|
78
|
+
end
|
|
79
|
+
function ObjectDefinition.prototype.getNumberLevelField(self, field)
|
|
80
|
+
return __TS__ArrayMap(
|
|
81
|
+
self:getLevelField(field),
|
|
82
|
+
function(____, value) return tonumber(value) or 0 end
|
|
83
|
+
)
|
|
84
|
+
end
|
|
85
|
+
function ObjectDefinition.prototype.setStringLevelField(self, field, values)
|
|
86
|
+
self:setLevelField(
|
|
87
|
+
field,
|
|
88
|
+
__TS__ArrayIsArray(values) and values or (function(level, value)
|
|
89
|
+
return type(values) == "function" and values(
|
|
90
|
+
level,
|
|
91
|
+
tostring(value or "")
|
|
92
|
+
) or values
|
|
93
|
+
end)
|
|
94
|
+
)
|
|
95
|
+
end
|
|
96
|
+
function ObjectDefinition.prototype.getStringLevelField(self, field)
|
|
97
|
+
return __TS__ArrayMap(
|
|
98
|
+
self:getLevelField(field),
|
|
99
|
+
function(____, value) return tostring(value) end
|
|
100
|
+
)
|
|
101
|
+
end
|
|
102
|
+
function ObjectDefinition.prototype.getStringListLevelField(self, field)
|
|
103
|
+
return __TS__ArrayMap(
|
|
104
|
+
__TS__ArrayMap(
|
|
105
|
+
self:getLevelField(field),
|
|
106
|
+
function(____, value) return tostring(value) end
|
|
107
|
+
),
|
|
108
|
+
function(____, value)
|
|
109
|
+
if value == "" or value == "_" then
|
|
110
|
+
return {}
|
|
111
|
+
end
|
|
112
|
+
return __TS__StringSplit(value, ",")
|
|
113
|
+
end
|
|
114
|
+
)
|
|
115
|
+
end
|
|
116
|
+
function ObjectDefinition.prototype.getLevelField(self, field)
|
|
117
|
+
local values = {}
|
|
118
|
+
local object = self.object
|
|
119
|
+
for level = 1, tonumber(object:getField("levels")) or 1 do
|
|
120
|
+
values[level] = object:getField((field .. "+") .. tostring(level)) or ""
|
|
121
|
+
end
|
|
122
|
+
return values
|
|
123
|
+
end
|
|
124
|
+
function ObjectDefinition.prototype.setLevelField(self, field, values)
|
|
125
|
+
local object = self.object
|
|
126
|
+
for level = 1, tonumber(object:getField("levels")) or tonumber(object:getField("maxlevel")) or 0 do
|
|
127
|
+
local value = ____exports.ObjectDefinition:getLevelFieldValue(
|
|
128
|
+
level - 1,
|
|
129
|
+
object:getField((field .. "+") .. tostring(level)),
|
|
130
|
+
values
|
|
131
|
+
)
|
|
132
|
+
object:setField(
|
|
133
|
+
(field .. "+") .. tostring(level),
|
|
134
|
+
value
|
|
135
|
+
)
|
|
136
|
+
end
|
|
137
|
+
end
|
|
138
|
+
function ObjectDefinition.getLevelFieldValue(self, level, value, values)
|
|
139
|
+
local ____Array_isArray_result_1
|
|
140
|
+
if __TS__ArrayIsArray(values) then
|
|
141
|
+
____Array_isArray_result_1 = values[level + 1]
|
|
142
|
+
else
|
|
143
|
+
local ____temp_0
|
|
144
|
+
if type(values) == "function" then
|
|
145
|
+
____temp_0 = values(level, value)
|
|
146
|
+
else
|
|
147
|
+
____temp_0 = values
|
|
148
|
+
end
|
|
149
|
+
____Array_isArray_result_1 = ____temp_0
|
|
150
|
+
end
|
|
151
|
+
return ____Array_isArray_result_1
|
|
152
|
+
end
|
|
153
|
+
function ObjectDefinition.getLevelArrayFieldValue(self, level, value, values)
|
|
154
|
+
return type(values) == "function" and values(level, value) or (__TS__ArrayIsArray(values[1]) and values[1] or values)
|
|
155
|
+
end
|
|
156
|
+
____exports.ObjectType = ObjectType or ({})
|
|
157
|
+
____exports.ObjectType.ABILITY = 0
|
|
158
|
+
____exports.ObjectType[____exports.ObjectType.ABILITY] = "ABILITY"
|
|
159
|
+
____exports.ObjectType.ITEM = 1
|
|
160
|
+
____exports.ObjectType[____exports.ObjectType.ITEM] = "ITEM"
|
|
161
|
+
____exports.ObjectType.UNIT = 2
|
|
162
|
+
____exports.ObjectType[____exports.ObjectType.UNIT] = "UNIT"
|
|
163
|
+
____exports.ObjectType.DESTRUCTABLE = 3
|
|
164
|
+
____exports.ObjectType[____exports.ObjectType.DESTRUCTABLE] = "DESTRUCTABLE"
|
|
165
|
+
____exports.ObjectType.DOODAD = 4
|
|
166
|
+
____exports.ObjectType[____exports.ObjectType.DOODAD] = "DOODAD"
|
|
167
|
+
____exports.ObjectType.BUFF = 5
|
|
168
|
+
____exports.ObjectType[____exports.ObjectType.BUFF] = "BUFF"
|
|
169
|
+
____exports.ObjectType.UPGRADE = 6
|
|
170
|
+
____exports.ObjectType[____exports.ObjectType.UPGRADE] = "UPGRADE"
|
|
171
|
+
map = {
|
|
172
|
+
[____exports.ObjectType.ABILITY] = {
|
|
173
|
+
getObjects = function(____, objects) return objects.ability end,
|
|
174
|
+
idgen = idgen.ability
|
|
175
|
+
},
|
|
176
|
+
[____exports.ObjectType.ITEM] = {
|
|
177
|
+
getObjects = function(____, objects) return objects.item end,
|
|
178
|
+
idgen = idgen.item
|
|
179
|
+
},
|
|
180
|
+
[____exports.ObjectType.UNIT] = {
|
|
181
|
+
getObjects = function(____, objects) return objects.unit end,
|
|
182
|
+
idgen = idgen.unit
|
|
183
|
+
},
|
|
184
|
+
[____exports.ObjectType.DESTRUCTABLE] = {
|
|
185
|
+
getObjects = function(____, objects) return objects.destructable end,
|
|
186
|
+
idgen = idgen.destructable
|
|
187
|
+
},
|
|
188
|
+
[____exports.ObjectType.DOODAD] = {
|
|
189
|
+
getObjects = function(____, objects) return objects.doodad end,
|
|
190
|
+
idgen = idgen.doodad
|
|
191
|
+
},
|
|
192
|
+
[____exports.ObjectType.BUFF] = {
|
|
193
|
+
getObjects = function(____, objects) return objects.buff end,
|
|
194
|
+
idgen = idgen.buff
|
|
195
|
+
},
|
|
196
|
+
[____exports.ObjectType.UPGRADE] = {
|
|
197
|
+
getObjects = function(____, objects) return objects.upgrade end,
|
|
198
|
+
idgen = idgen.upgrade
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
function ____exports.createObject(objectType, newIdOrBase, baseOrCtor, ctor)
|
|
202
|
+
if type(baseOrCtor) == "string" then
|
|
203
|
+
return createObjectImpl(objectType, newIdOrBase, baseOrCtor, ctor or ({}))
|
|
204
|
+
else
|
|
205
|
+
return createObjectImpl(
|
|
206
|
+
objectType,
|
|
207
|
+
map[objectType]:idgen(),
|
|
208
|
+
newIdOrBase,
|
|
209
|
+
baseOrCtor or ({})
|
|
210
|
+
)
|
|
211
|
+
end
|
|
212
|
+
end
|
|
213
|
+
return ____exports
|