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,634 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__ArrayIsArray = ____lualib.__TS__ArrayIsArray
|
|
3
|
+
local __TS__Class = ____lualib.__TS__Class
|
|
4
|
+
local __TS__New = ____lualib.__TS__New
|
|
5
|
+
local __TS__ObjectAssign = ____lualib.__TS__ObjectAssign
|
|
6
|
+
local __TS__ClassExtends = ____lualib.__TS__ClassExtends
|
|
7
|
+
local __TS__InstanceOf = ____lualib.__TS__InstanceOf
|
|
8
|
+
local __TS__ArrayMap = ____lualib.__TS__ArrayMap
|
|
9
|
+
local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
|
|
10
|
+
local __TS__StringSplit = ____lualib.__TS__StringSplit
|
|
11
|
+
local __TS__ArrayFilter = ____lualib.__TS__ArrayFilter
|
|
12
|
+
local ____exports = {}
|
|
13
|
+
local booleanToData, dataToBoolean, numberToData, dataToNumber, stringToData, dataToString, objectDataEntryIdToData, dataToObjectDataEntryId, booleansToData, dataToBooleans, numbersToData, dataToNumbers, stringsToData, dataToStrings, objectDataEntryIdsToData, dataToObjectDataEntryIds, isDataNotBlank
|
|
14
|
+
local ____attachment_2Dpreset = require("engine.object-data.auxiliary.attachment-preset")
|
|
15
|
+
local extractAttachmentPresetInputModelPath = ____attachment_2Dpreset.extractAttachmentPresetInputModelPath
|
|
16
|
+
local extractAttachmentPresetInputNodeFQN = ____attachment_2Dpreset.extractAttachmentPresetInputNodeFQN
|
|
17
|
+
local splitAttachmentNodeFQN = ____attachment_2Dpreset.splitAttachmentNodeFQN
|
|
18
|
+
local ____exception = require("exception")
|
|
19
|
+
local IllegalStateException = ____exception.IllegalStateException
|
|
20
|
+
local ____arrays = require("utility.arrays")
|
|
21
|
+
local map = ____arrays.map
|
|
22
|
+
local zip = ____arrays.zip
|
|
23
|
+
local ____preconditions = require("utility.preconditions")
|
|
24
|
+
local check = ____preconditions.check
|
|
25
|
+
local ____math = require("math")
|
|
26
|
+
local max = ____math.max
|
|
27
|
+
____exports.extractObjectDataEntryLevelFieldValue = function(supplier, level, currentValue)
|
|
28
|
+
local ____Array_isArray_result_1
|
|
29
|
+
if __TS__ArrayIsArray(supplier) then
|
|
30
|
+
____Array_isArray_result_1 = supplier[level + 1]
|
|
31
|
+
else
|
|
32
|
+
local ____temp_0
|
|
33
|
+
if type(supplier) == "function" then
|
|
34
|
+
____temp_0 = supplier(level, currentValue)
|
|
35
|
+
else
|
|
36
|
+
____temp_0 = supplier
|
|
37
|
+
end
|
|
38
|
+
____Array_isArray_result_1 = ____temp_0
|
|
39
|
+
end
|
|
40
|
+
return ____Array_isArray_result_1
|
|
41
|
+
end
|
|
42
|
+
____exports.extractObjectDataEntryLevelArrayFieldValue = function(supplier, level, currentValue)
|
|
43
|
+
return type(supplier) == "function" and supplier(level, currentValue) or (__TS__ArrayIsArray(supplier[1]) and supplier[1] or supplier)
|
|
44
|
+
end
|
|
45
|
+
local objectDataEntryByObjectDataEntryId = {}
|
|
46
|
+
local internalObjectDataEntryIds = {}
|
|
47
|
+
____exports.ObjectDataEntry = __TS__Class()
|
|
48
|
+
local ObjectDataEntry = ____exports.ObjectDataEntry
|
|
49
|
+
ObjectDataEntry.name = "ObjectDataEntry"
|
|
50
|
+
function ObjectDataEntry.prototype.____constructor(self, object)
|
|
51
|
+
self.object = object
|
|
52
|
+
self.levelFieldParametersByField = {}
|
|
53
|
+
self.maxAffectedLevelByField = {}
|
|
54
|
+
self._isInternal = false
|
|
55
|
+
if not warpack.compiletime then
|
|
56
|
+
error(
|
|
57
|
+
__TS__New(IllegalStateException, "Object data entries cannot be constructed in runtime."),
|
|
58
|
+
0
|
|
59
|
+
)
|
|
60
|
+
end
|
|
61
|
+
objectDataEntryByObjectDataEntryId[self.id] = self
|
|
62
|
+
end
|
|
63
|
+
function ObjectDataEntry.generateId(self)
|
|
64
|
+
error(
|
|
65
|
+
__TS__New(IllegalStateException, "An object type definition must override the 'generateId' static method."),
|
|
66
|
+
0
|
|
67
|
+
)
|
|
68
|
+
end
|
|
69
|
+
function ObjectDataEntry.getObjectData(self, map)
|
|
70
|
+
error(
|
|
71
|
+
__TS__New(IllegalStateException, "An object type definition must override the 'getObjectData' static method."),
|
|
72
|
+
0
|
|
73
|
+
)
|
|
74
|
+
end
|
|
75
|
+
function ObjectDataEntry.getAllIdsByBaseIds(self, baseIds)
|
|
76
|
+
return map(
|
|
77
|
+
self:getAllByBaseIds(baseIds),
|
|
78
|
+
"id"
|
|
79
|
+
)
|
|
80
|
+
end
|
|
81
|
+
function ObjectDataEntry.create(self, id, properties)
|
|
82
|
+
if type(id) == "table" then
|
|
83
|
+
id = nil
|
|
84
|
+
properties = id
|
|
85
|
+
end
|
|
86
|
+
if currentMap == nil then
|
|
87
|
+
error(
|
|
88
|
+
__TS__New(IllegalStateException, "Cannot create a new object type when not compiling a map."),
|
|
89
|
+
0
|
|
90
|
+
)
|
|
91
|
+
end
|
|
92
|
+
local constructor = self
|
|
93
|
+
local registry = constructor:getObjectData(currentMap)
|
|
94
|
+
local baseId = self.BASE_ID
|
|
95
|
+
if baseId == 0 then
|
|
96
|
+
error(
|
|
97
|
+
__TS__New(IllegalStateException, "An object type definition must override the BASE_ID static property."),
|
|
98
|
+
0
|
|
99
|
+
)
|
|
100
|
+
end
|
|
101
|
+
local object = registry:newObject(
|
|
102
|
+
objectDataEntryIdToData(id or constructor:generateId()),
|
|
103
|
+
objectDataEntryIdToData(baseId)
|
|
104
|
+
)
|
|
105
|
+
local objectDataEntry = __TS__New(self, object)
|
|
106
|
+
if properties ~= nil then
|
|
107
|
+
__TS__ObjectAssign(objectDataEntry, properties)
|
|
108
|
+
end
|
|
109
|
+
return objectDataEntry
|
|
110
|
+
end
|
|
111
|
+
function ObjectDataEntry.getAllByBaseIds(self, baseIds)
|
|
112
|
+
if currentMap == nil then
|
|
113
|
+
return {}
|
|
114
|
+
end
|
|
115
|
+
local dataBaseIds = {}
|
|
116
|
+
if __TS__ArrayIsArray(baseIds) then
|
|
117
|
+
for ____, baseId in ipairs(baseIds) do
|
|
118
|
+
dataBaseIds[objectDataEntryIdToData(baseId)] = true
|
|
119
|
+
end
|
|
120
|
+
else
|
|
121
|
+
dataBaseIds[objectDataEntryIdToData(baseIds)] = true
|
|
122
|
+
end
|
|
123
|
+
local result = {}
|
|
124
|
+
local constructor = self
|
|
125
|
+
for id, object in pairs(constructor:getObjectData(currentMap).all) do
|
|
126
|
+
if dataBaseIds[object.parentId or id] ~= nil then
|
|
127
|
+
local objectDataEntry = self:of(dataToObjectDataEntryId(id))
|
|
128
|
+
if objectDataEntry ~= nil and not objectDataEntry.isInternal then
|
|
129
|
+
result[#result + 1] = objectDataEntry
|
|
130
|
+
end
|
|
131
|
+
end
|
|
132
|
+
end
|
|
133
|
+
return result
|
|
134
|
+
end
|
|
135
|
+
function ObjectDataEntry.getAll(self)
|
|
136
|
+
if currentMap == nil then
|
|
137
|
+
return {}
|
|
138
|
+
end
|
|
139
|
+
local constructor = self
|
|
140
|
+
local result = {}
|
|
141
|
+
for id in pairs(constructor:getObjectData(currentMap).all) do
|
|
142
|
+
local objectDataEntry = self:of(dataToObjectDataEntryId(id))
|
|
143
|
+
if objectDataEntry ~= nil and not objectDataEntry.isInternal then
|
|
144
|
+
result[#result + 1] = objectDataEntry
|
|
145
|
+
end
|
|
146
|
+
end
|
|
147
|
+
return result
|
|
148
|
+
end
|
|
149
|
+
function ObjectDataEntry.of(self, id)
|
|
150
|
+
if currentMap == nil then
|
|
151
|
+
return nil
|
|
152
|
+
end
|
|
153
|
+
local constructor = self
|
|
154
|
+
local registry = constructor:getObjectData(currentMap)
|
|
155
|
+
local object = registry:getObject(objectDataEntryIdToData(id))
|
|
156
|
+
if object == nil then
|
|
157
|
+
return nil
|
|
158
|
+
end
|
|
159
|
+
local objectDataEntry = objectDataEntryByObjectDataEntryId[dataToObjectDataEntryId(object.id)]
|
|
160
|
+
if objectDataEntry == nil then
|
|
161
|
+
if not constructor.IS_SYNTHETIC and (self.BASE_ID == 0 or dataToObjectDataEntryId(object.parentId) == self.BASE_ID) then
|
|
162
|
+
local AbstractObjectDataEntryView = __TS__Class()
|
|
163
|
+
AbstractObjectDataEntryView.name = "AbstractObjectDataEntryView"
|
|
164
|
+
__TS__ClassExtends(AbstractObjectDataEntryView, constructor)
|
|
165
|
+
function AbstractObjectDataEntryView.prototype.____constructor(self, object)
|
|
166
|
+
constructor.prototype.____constructor(self, object)
|
|
167
|
+
end
|
|
168
|
+
objectDataEntry = __TS__New(AbstractObjectDataEntryView, object)
|
|
169
|
+
else
|
|
170
|
+
return nil
|
|
171
|
+
end
|
|
172
|
+
elseif not __TS__InstanceOf(objectDataEntry, self) then
|
|
173
|
+
return nil
|
|
174
|
+
end
|
|
175
|
+
return objectDataEntry
|
|
176
|
+
end
|
|
177
|
+
function ObjectDataEntry.prototype.getFieldValue(self, field, ...)
|
|
178
|
+
return field:getValue(self, ...)
|
|
179
|
+
end
|
|
180
|
+
function ObjectDataEntry.prototype.setFieldValue(self, field, ...)
|
|
181
|
+
check(field:setValue(self, ...))
|
|
182
|
+
end
|
|
183
|
+
function ObjectDataEntry.prototype.getBooleanField(self, field)
|
|
184
|
+
return dataToBoolean(self.object:getField(field))
|
|
185
|
+
end
|
|
186
|
+
function ObjectDataEntry.prototype.setBooleanField(self, field, value)
|
|
187
|
+
self.object:setField(
|
|
188
|
+
field,
|
|
189
|
+
booleanToData(value)
|
|
190
|
+
)
|
|
191
|
+
end
|
|
192
|
+
function ObjectDataEntry.prototype.getNumberField(self, field)
|
|
193
|
+
return dataToNumber(self.object:getField(field))
|
|
194
|
+
end
|
|
195
|
+
function ObjectDataEntry.prototype.setNumberField(self, field, value)
|
|
196
|
+
self.object:setField(
|
|
197
|
+
field,
|
|
198
|
+
numberToData(value)
|
|
199
|
+
)
|
|
200
|
+
if field == "levels" or field == "maxlevel" or field == "alev" or field == "glvl" then
|
|
201
|
+
for otherField, levelFieldParameters in pairs(self.levelFieldParametersByField) do
|
|
202
|
+
local ____levelFieldParameters_2 = levelFieldParameters
|
|
203
|
+
local supplier = ____levelFieldParameters_2.supplier
|
|
204
|
+
local extractor = ____levelFieldParameters_2.extractor
|
|
205
|
+
local dataToValue = ____levelFieldParameters_2.dataToValue
|
|
206
|
+
local valueToData = ____levelFieldParameters_2.valueToData
|
|
207
|
+
local maxAffectedLevel = self.maxAffectedLevelByField[otherField] or 0
|
|
208
|
+
if value > maxAffectedLevel then
|
|
209
|
+
self.maxAffectedLevelByField[otherField] = value
|
|
210
|
+
for level = maxAffectedLevel + 1, value do
|
|
211
|
+
local value = extractor(
|
|
212
|
+
supplier,
|
|
213
|
+
level - 1,
|
|
214
|
+
dataToValue(self.object:getField((otherField .. "+") .. tostring(level)))
|
|
215
|
+
)
|
|
216
|
+
self.object:setField(
|
|
217
|
+
(otherField .. "+") .. tostring(level),
|
|
218
|
+
valueToData(value)
|
|
219
|
+
)
|
|
220
|
+
end
|
|
221
|
+
end
|
|
222
|
+
end
|
|
223
|
+
end
|
|
224
|
+
end
|
|
225
|
+
function ObjectDataEntry.prototype.getStringField(self, field)
|
|
226
|
+
return dataToString(self.object:getField(field))
|
|
227
|
+
end
|
|
228
|
+
function ObjectDataEntry.prototype.setStringField(self, field, value)
|
|
229
|
+
self.object:setField(
|
|
230
|
+
field,
|
|
231
|
+
stringToData(value)
|
|
232
|
+
)
|
|
233
|
+
end
|
|
234
|
+
function ObjectDataEntry.prototype.getObjectDataEntryIdField(self, field)
|
|
235
|
+
return dataToObjectDataEntryId(self.object:getField(field))
|
|
236
|
+
end
|
|
237
|
+
function ObjectDataEntry.prototype.setObjectDataEntryIdField(self, field, value)
|
|
238
|
+
self.object:setField(
|
|
239
|
+
field,
|
|
240
|
+
objectDataEntryIdToData(value)
|
|
241
|
+
)
|
|
242
|
+
end
|
|
243
|
+
function ObjectDataEntry.prototype.getAttachmentPresetField(self, modelPathField, nodeFQNField)
|
|
244
|
+
local modelPath = self:getStringField(modelPathField)
|
|
245
|
+
if modelPath ~= "" then
|
|
246
|
+
local nodeName, nodeQualifiers = splitAttachmentNodeFQN(self:getStringField(nodeFQNField))
|
|
247
|
+
return {modelPath = modelPath, nodeName = nodeName, nodeQualifiers = nodeQualifiers}
|
|
248
|
+
end
|
|
249
|
+
return nil
|
|
250
|
+
end
|
|
251
|
+
function ObjectDataEntry.prototype.setAttachmentPresetField(self, modelPathField, nodeFQNField, attachmentPreset)
|
|
252
|
+
self:setStringField(
|
|
253
|
+
modelPathField,
|
|
254
|
+
extractAttachmentPresetInputModelPath(attachmentPreset)
|
|
255
|
+
)
|
|
256
|
+
self:setStringField(
|
|
257
|
+
nodeFQNField,
|
|
258
|
+
extractAttachmentPresetInputNodeFQN(attachmentPreset)
|
|
259
|
+
)
|
|
260
|
+
end
|
|
261
|
+
function ObjectDataEntry.prototype.getBooleansField(self, field)
|
|
262
|
+
return dataToBooleans(self.object:getField(field))
|
|
263
|
+
end
|
|
264
|
+
function ObjectDataEntry.prototype.setBooleansField(self, field, values)
|
|
265
|
+
self.object:setField(
|
|
266
|
+
field,
|
|
267
|
+
booleansToData(values)
|
|
268
|
+
)
|
|
269
|
+
end
|
|
270
|
+
function ObjectDataEntry.prototype.getNumbersField(self, field)
|
|
271
|
+
return dataToNumbers(self.object:getField(field))
|
|
272
|
+
end
|
|
273
|
+
function ObjectDataEntry.prototype.setNumbersField(self, field, values)
|
|
274
|
+
self.object:setField(
|
|
275
|
+
field,
|
|
276
|
+
numbersToData(values)
|
|
277
|
+
)
|
|
278
|
+
end
|
|
279
|
+
function ObjectDataEntry.prototype.getStringsField(self, field)
|
|
280
|
+
return dataToStrings(self.object:getField(field))
|
|
281
|
+
end
|
|
282
|
+
function ObjectDataEntry.prototype.setStringsField(self, field, values)
|
|
283
|
+
self.object:setField(
|
|
284
|
+
field,
|
|
285
|
+
stringsToData(values)
|
|
286
|
+
)
|
|
287
|
+
end
|
|
288
|
+
function ObjectDataEntry.prototype.getObjectDataEntryIdsField(self, field)
|
|
289
|
+
return dataToObjectDataEntryIds(self.object:getField(field))
|
|
290
|
+
end
|
|
291
|
+
function ObjectDataEntry.prototype.setObjectDataEntryIdsField(self, field, values)
|
|
292
|
+
self.object:setField(
|
|
293
|
+
field,
|
|
294
|
+
objectDataEntryIdsToData(values)
|
|
295
|
+
)
|
|
296
|
+
end
|
|
297
|
+
function ObjectDataEntry.prototype.getAttachmentPresetListField(self, modelPathListField, nodeFQNFields)
|
|
298
|
+
local modelPaths = self:getStringsField(modelPathListField)
|
|
299
|
+
return zip(
|
|
300
|
+
modelPaths,
|
|
301
|
+
nodeFQNFields,
|
|
302
|
+
function(modelPath, nodeFQNField)
|
|
303
|
+
local nodeName, nodeQualifiers = splitAttachmentNodeFQN(self:getStringField(nodeFQNField))
|
|
304
|
+
return {modelPath = modelPath, nodeName = nodeName, nodeQualifiers = nodeQualifiers}
|
|
305
|
+
end
|
|
306
|
+
)
|
|
307
|
+
end
|
|
308
|
+
function ObjectDataEntry.prototype.setAttachmentPresetListField(self, modelPathListField, nodeFQNFields, lengthField, attachmentPresets)
|
|
309
|
+
self:setStringsField(
|
|
310
|
+
modelPathListField,
|
|
311
|
+
map(attachmentPresets, extractAttachmentPresetInputModelPath)
|
|
312
|
+
)
|
|
313
|
+
for i = 0, #nodeFQNFields - 1 do
|
|
314
|
+
self:setStringField(
|
|
315
|
+
nodeFQNFields[i + 1],
|
|
316
|
+
extractAttachmentPresetInputNodeFQN(attachmentPresets[i + 1])
|
|
317
|
+
)
|
|
318
|
+
end
|
|
319
|
+
self:setNumberField(lengthField, #attachmentPresets)
|
|
320
|
+
end
|
|
321
|
+
function ObjectDataEntry.prototype.setFlagLevelFieldValue(self, fieldId, flag, supplier)
|
|
322
|
+
self:setNumberLevelField(
|
|
323
|
+
fieldId,
|
|
324
|
+
function(level, currentValue)
|
|
325
|
+
local value = ____exports.extractObjectDataEntryLevelFieldValue(supplier, level, currentValue & flag ~= 0)
|
|
326
|
+
return currentValue & ~flag | (value and flag or 0)
|
|
327
|
+
end
|
|
328
|
+
)
|
|
329
|
+
end
|
|
330
|
+
function ObjectDataEntry.prototype.getFlagLevelFieldValue(self, fieldId, flag)
|
|
331
|
+
return __TS__ArrayMap(
|
|
332
|
+
self:getNumberLevelField(fieldId),
|
|
333
|
+
function(____, value) return value & flag ~= 0 end
|
|
334
|
+
)
|
|
335
|
+
end
|
|
336
|
+
function ObjectDataEntry.prototype.getBooleanLevelField(self, field)
|
|
337
|
+
return self:getLevelField(field, dataToBoolean)
|
|
338
|
+
end
|
|
339
|
+
function ObjectDataEntry.prototype.setBooleanLevelField(self, field, values)
|
|
340
|
+
self:setLevelField(
|
|
341
|
+
field,
|
|
342
|
+
values,
|
|
343
|
+
____exports.extractObjectDataEntryLevelFieldValue,
|
|
344
|
+
dataToBoolean,
|
|
345
|
+
booleanToData
|
|
346
|
+
)
|
|
347
|
+
end
|
|
348
|
+
function ObjectDataEntry.prototype.getNumberLevelField(self, field)
|
|
349
|
+
return self:getLevelField(field, dataToNumber)
|
|
350
|
+
end
|
|
351
|
+
function ObjectDataEntry.prototype.setNumberLevelField(self, field, values)
|
|
352
|
+
self:setLevelField(
|
|
353
|
+
field,
|
|
354
|
+
values,
|
|
355
|
+
____exports.extractObjectDataEntryLevelFieldValue,
|
|
356
|
+
dataToNumber,
|
|
357
|
+
numberToData
|
|
358
|
+
)
|
|
359
|
+
end
|
|
360
|
+
function ObjectDataEntry.prototype.getStringLevelField(self, field)
|
|
361
|
+
return self:getLevelField(field, dataToString)
|
|
362
|
+
end
|
|
363
|
+
function ObjectDataEntry.prototype.setStringLevelField(self, field, values)
|
|
364
|
+
self:setLevelField(
|
|
365
|
+
field,
|
|
366
|
+
values,
|
|
367
|
+
____exports.extractObjectDataEntryLevelFieldValue,
|
|
368
|
+
dataToString,
|
|
369
|
+
stringToData
|
|
370
|
+
)
|
|
371
|
+
end
|
|
372
|
+
function ObjectDataEntry.prototype.getObjectDataEntryIdLevelField(self, field)
|
|
373
|
+
return self:getLevelField(field, dataToObjectDataEntryId)
|
|
374
|
+
end
|
|
375
|
+
function ObjectDataEntry.prototype.setObjectDataEntryIdLevelField(self, field, values)
|
|
376
|
+
self:setLevelField(
|
|
377
|
+
field,
|
|
378
|
+
values,
|
|
379
|
+
____exports.extractObjectDataEntryLevelFieldValue,
|
|
380
|
+
dataToObjectDataEntryId,
|
|
381
|
+
objectDataEntryIdToData
|
|
382
|
+
)
|
|
383
|
+
end
|
|
384
|
+
function ObjectDataEntry.prototype.getBooleansLevelField(self, field)
|
|
385
|
+
return self:getLevelField(field, dataToBooleans)
|
|
386
|
+
end
|
|
387
|
+
function ObjectDataEntry.prototype.setBooleansLevelField(self, field, values)
|
|
388
|
+
self:setLevelField(
|
|
389
|
+
field,
|
|
390
|
+
values,
|
|
391
|
+
____exports.extractObjectDataEntryLevelArrayFieldValue,
|
|
392
|
+
dataToBooleans,
|
|
393
|
+
booleansToData
|
|
394
|
+
)
|
|
395
|
+
end
|
|
396
|
+
function ObjectDataEntry.prototype.getNumbersLevelField(self, field)
|
|
397
|
+
return self:getLevelField(field, dataToNumbers)
|
|
398
|
+
end
|
|
399
|
+
function ObjectDataEntry.prototype.setNumbersLevelField(self, field, values)
|
|
400
|
+
self:setLevelField(
|
|
401
|
+
field,
|
|
402
|
+
values,
|
|
403
|
+
____exports.extractObjectDataEntryLevelArrayFieldValue,
|
|
404
|
+
dataToNumbers,
|
|
405
|
+
numbersToData
|
|
406
|
+
)
|
|
407
|
+
end
|
|
408
|
+
function ObjectDataEntry.prototype.getStringsLevelField(self, field)
|
|
409
|
+
return self:getLevelField(field, dataToStrings)
|
|
410
|
+
end
|
|
411
|
+
function ObjectDataEntry.prototype.setStringsLevelField(self, field, values)
|
|
412
|
+
self:setLevelField(
|
|
413
|
+
field,
|
|
414
|
+
values,
|
|
415
|
+
____exports.extractObjectDataEntryLevelArrayFieldValue,
|
|
416
|
+
dataToStrings,
|
|
417
|
+
stringsToData
|
|
418
|
+
)
|
|
419
|
+
end
|
|
420
|
+
function ObjectDataEntry.prototype.getObjectDataEntryIdsLevelField(self, field)
|
|
421
|
+
return self:getLevelField(field, dataToObjectDataEntryIds)
|
|
422
|
+
end
|
|
423
|
+
function ObjectDataEntry.prototype.setObjectDataEntryIdsLevelField(self, field, values)
|
|
424
|
+
self:setLevelField(
|
|
425
|
+
field,
|
|
426
|
+
values,
|
|
427
|
+
____exports.extractObjectDataEntryLevelArrayFieldValue,
|
|
428
|
+
dataToObjectDataEntryIds,
|
|
429
|
+
objectDataEntryIdsToData
|
|
430
|
+
)
|
|
431
|
+
end
|
|
432
|
+
function ObjectDataEntry.prototype.getLevelField(self, field, dataToValue)
|
|
433
|
+
local values = {}
|
|
434
|
+
local object = self.object
|
|
435
|
+
for level = 1, tonumber(object:getField("levels")) or 1 do
|
|
436
|
+
values[level] = dataToValue(object:getField((field .. "+") .. tostring(level)))
|
|
437
|
+
end
|
|
438
|
+
return values
|
|
439
|
+
end
|
|
440
|
+
function ObjectDataEntry.prototype.setLevelField(self, field, supplier, extractor, dataToValue, valueToData)
|
|
441
|
+
local levelFieldParameters = {supplier = supplier, extractor = extractor, dataToValue = dataToValue, valueToData = valueToData}
|
|
442
|
+
if type(supplier) == "function" then
|
|
443
|
+
local previousLevelFieldParameters = self.levelFieldParametersByField[field]
|
|
444
|
+
if previousLevelFieldParameters ~= nil then
|
|
445
|
+
local previousSupplier = previousLevelFieldParameters.supplier
|
|
446
|
+
levelFieldParameters.supplier = function(level, currentValue)
|
|
447
|
+
return supplier(
|
|
448
|
+
level,
|
|
449
|
+
extractor(previousSupplier, level, currentValue)
|
|
450
|
+
)
|
|
451
|
+
end
|
|
452
|
+
levelFieldParameters.dataToValue = previousLevelFieldParameters.dataToValue
|
|
453
|
+
end
|
|
454
|
+
end
|
|
455
|
+
self.levelFieldParametersByField[field] = levelFieldParameters
|
|
456
|
+
local object = self.object
|
|
457
|
+
local maxAffectedLevel = max(
|
|
458
|
+
self.maxAffectedLevelByField[field] or 0,
|
|
459
|
+
tonumber(object:getField("levels")) or tonumber(object:getField("maxlevel")) or 0
|
|
460
|
+
)
|
|
461
|
+
self.maxAffectedLevelByField[field] = maxAffectedLevel
|
|
462
|
+
for level = 1, maxAffectedLevel do
|
|
463
|
+
local value = extractor(
|
|
464
|
+
supplier,
|
|
465
|
+
level - 1,
|
|
466
|
+
dataToValue(object:getField((field .. "+") .. tostring(level)))
|
|
467
|
+
)
|
|
468
|
+
object:setField(
|
|
469
|
+
(field .. "+") .. tostring(level),
|
|
470
|
+
valueToData(value)
|
|
471
|
+
)
|
|
472
|
+
end
|
|
473
|
+
end
|
|
474
|
+
ObjectDataEntry.BASE_ID = 0
|
|
475
|
+
ObjectDataEntry.IS_SYNTHETIC = false
|
|
476
|
+
__TS__SetDescriptor(
|
|
477
|
+
ObjectDataEntry.prototype,
|
|
478
|
+
"isInternal",
|
|
479
|
+
{
|
|
480
|
+
get = function(self)
|
|
481
|
+
return self._isInternal
|
|
482
|
+
end,
|
|
483
|
+
set = function(self, isInternal)
|
|
484
|
+
if isInternal then
|
|
485
|
+
internalObjectDataEntryIds[self.id] = true
|
|
486
|
+
else
|
|
487
|
+
internalObjectDataEntryIds[self.id] = nil
|
|
488
|
+
end
|
|
489
|
+
self._isInternal = isInternal
|
|
490
|
+
end
|
|
491
|
+
},
|
|
492
|
+
true
|
|
493
|
+
)
|
|
494
|
+
__TS__SetDescriptor(
|
|
495
|
+
ObjectDataEntry.prototype,
|
|
496
|
+
"id",
|
|
497
|
+
{get = function(self)
|
|
498
|
+
return dataToObjectDataEntryId(self.object.id)
|
|
499
|
+
end},
|
|
500
|
+
true
|
|
501
|
+
)
|
|
502
|
+
__TS__SetDescriptor(
|
|
503
|
+
ObjectDataEntry.prototype,
|
|
504
|
+
"baseId",
|
|
505
|
+
{get = function(self)
|
|
506
|
+
return dataToObjectDataEntryId(self.object.parentId or self.object.id)
|
|
507
|
+
end},
|
|
508
|
+
true
|
|
509
|
+
)
|
|
510
|
+
__TS__SetDescriptor(
|
|
511
|
+
ObjectDataEntry.prototype,
|
|
512
|
+
"isCustom",
|
|
513
|
+
{get = function(self)
|
|
514
|
+
return self.object.parentId ~= nil
|
|
515
|
+
end},
|
|
516
|
+
true
|
|
517
|
+
)
|
|
518
|
+
booleanToData = function(value)
|
|
519
|
+
return value and 1 or 0
|
|
520
|
+
end
|
|
521
|
+
dataToBoolean = function(data)
|
|
522
|
+
return (tonumber(data) or 0) == 1
|
|
523
|
+
end
|
|
524
|
+
numberToData = function(value)
|
|
525
|
+
return value
|
|
526
|
+
end
|
|
527
|
+
dataToNumber = function(data)
|
|
528
|
+
return tonumber(data) or 0
|
|
529
|
+
end
|
|
530
|
+
stringToData = function(value)
|
|
531
|
+
return value
|
|
532
|
+
end
|
|
533
|
+
dataToString = function(data)
|
|
534
|
+
return tostring(data or "")
|
|
535
|
+
end
|
|
536
|
+
objectDataEntryIdToData = function(value)
|
|
537
|
+
return value == 0 and "" or string.pack(">I4", value)
|
|
538
|
+
end
|
|
539
|
+
dataToObjectDataEntryId = function(data)
|
|
540
|
+
local dataString = dataToString(data)
|
|
541
|
+
if isDataNotBlank(nil, dataString) then
|
|
542
|
+
return (string.unpack(">I4", dataString))
|
|
543
|
+
else
|
|
544
|
+
return 0
|
|
545
|
+
end
|
|
546
|
+
end
|
|
547
|
+
booleansToData = function(value)
|
|
548
|
+
return table.concat(
|
|
549
|
+
__TS__ArrayMap(
|
|
550
|
+
value,
|
|
551
|
+
function(____, boolean) return booleanToData(boolean) end
|
|
552
|
+
),
|
|
553
|
+
","
|
|
554
|
+
)
|
|
555
|
+
end
|
|
556
|
+
dataToBooleans = function(data)
|
|
557
|
+
return __TS__ArrayMap(
|
|
558
|
+
__TS__ArrayFilter(
|
|
559
|
+
__TS__StringSplit(
|
|
560
|
+
dataToString(data),
|
|
561
|
+
","
|
|
562
|
+
),
|
|
563
|
+
isDataNotBlank
|
|
564
|
+
),
|
|
565
|
+
function(____, data) return dataToBoolean(data) end
|
|
566
|
+
)
|
|
567
|
+
end
|
|
568
|
+
numbersToData = function(value)
|
|
569
|
+
return table.concat(
|
|
570
|
+
__TS__ArrayMap(
|
|
571
|
+
value,
|
|
572
|
+
function(____, number) return numberToData(number) end
|
|
573
|
+
),
|
|
574
|
+
","
|
|
575
|
+
)
|
|
576
|
+
end
|
|
577
|
+
dataToNumbers = function(data)
|
|
578
|
+
return __TS__ArrayMap(
|
|
579
|
+
__TS__ArrayFilter(
|
|
580
|
+
__TS__StringSplit(
|
|
581
|
+
dataToString(data),
|
|
582
|
+
","
|
|
583
|
+
),
|
|
584
|
+
isDataNotBlank
|
|
585
|
+
),
|
|
586
|
+
function(____, data) return dataToNumber(data) end
|
|
587
|
+
)
|
|
588
|
+
end
|
|
589
|
+
stringsToData = function(value)
|
|
590
|
+
return table.concat(
|
|
591
|
+
__TS__ArrayMap(
|
|
592
|
+
value,
|
|
593
|
+
function(____, ____string) return stringToData(____string) end
|
|
594
|
+
),
|
|
595
|
+
","
|
|
596
|
+
)
|
|
597
|
+
end
|
|
598
|
+
dataToStrings = function(data)
|
|
599
|
+
return __TS__ArrayMap(
|
|
600
|
+
__TS__ArrayFilter(
|
|
601
|
+
__TS__StringSplit(
|
|
602
|
+
dataToString(data),
|
|
603
|
+
","
|
|
604
|
+
),
|
|
605
|
+
isDataNotBlank
|
|
606
|
+
),
|
|
607
|
+
function(____, data) return dataToString(data) end
|
|
608
|
+
)
|
|
609
|
+
end
|
|
610
|
+
objectDataEntryIdsToData = function(value)
|
|
611
|
+
return table.concat(
|
|
612
|
+
__TS__ArrayMap(
|
|
613
|
+
value,
|
|
614
|
+
function(____, objectDataEntryId) return objectDataEntryIdToData(objectDataEntryId) end
|
|
615
|
+
),
|
|
616
|
+
","
|
|
617
|
+
)
|
|
618
|
+
end
|
|
619
|
+
dataToObjectDataEntryIds = function(data)
|
|
620
|
+
return __TS__ArrayMap(
|
|
621
|
+
__TS__ArrayFilter(
|
|
622
|
+
__TS__StringSplit(
|
|
623
|
+
dataToString(data),
|
|
624
|
+
","
|
|
625
|
+
),
|
|
626
|
+
isDataNotBlank
|
|
627
|
+
),
|
|
628
|
+
function(____, data) return dataToObjectDataEntryId(data) end
|
|
629
|
+
)
|
|
630
|
+
end
|
|
631
|
+
isDataNotBlank = function(self, data)
|
|
632
|
+
return data:isNotBlank() and data ~= "_"
|
|
633
|
+
end
|
|
634
|
+
return ____exports
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__Class = ____lualib.__TS__Class
|
|
3
|
+
local ____exports = {}
|
|
4
|
+
local ____preconditions = require("utility.preconditions")
|
|
5
|
+
local checkNotNull = ____preconditions.checkNotNull
|
|
6
|
+
local function nextValidChar(char)
|
|
7
|
+
if char < 48 or char > 126 then
|
|
8
|
+
return 48
|
|
9
|
+
end
|
|
10
|
+
if char == 57 then
|
|
11
|
+
return 97
|
|
12
|
+
end
|
|
13
|
+
return char + 1
|
|
14
|
+
end
|
|
15
|
+
local function isIdOccupied(id)
|
|
16
|
+
if currentMap ~= nil then
|
|
17
|
+
for ____, objectData in pairs(currentMap.objects) do
|
|
18
|
+
if objectData:getObject(id) ~= nil then
|
|
19
|
+
return true
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
return false
|
|
24
|
+
end
|
|
25
|
+
local function nextIdFrom(id)
|
|
26
|
+
local b1, b2, b3, b4 = string.byte(
|
|
27
|
+
util.id2s(id),
|
|
28
|
+
1,
|
|
29
|
+
4
|
|
30
|
+
)
|
|
31
|
+
while isIdOccupied(string.char(b1, b2, b3, b4)) do
|
|
32
|
+
if b4 < 126 then
|
|
33
|
+
b4 = nextValidChar(b4)
|
|
34
|
+
elseif b3 < 126 then
|
|
35
|
+
b4 = 48
|
|
36
|
+
b3 = nextValidChar(b3)
|
|
37
|
+
elseif b2 < 126 then
|
|
38
|
+
b4 = 48
|
|
39
|
+
b3 = 48
|
|
40
|
+
b2 = nextValidChar(b2)
|
|
41
|
+
elseif b1 < 126 then
|
|
42
|
+
b4 = 48
|
|
43
|
+
b3 = 48
|
|
44
|
+
b2 = 48
|
|
45
|
+
b1 = nextValidChar(b1)
|
|
46
|
+
else
|
|
47
|
+
return nil
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
return util.s2id(string.char(b1, b2, b3, b4))
|
|
51
|
+
end
|
|
52
|
+
____exports.ObjectDataEntryIdGenerator = __TS__Class()
|
|
53
|
+
local ObjectDataEntryIdGenerator = ____exports.ObjectDataEntryIdGenerator
|
|
54
|
+
ObjectDataEntryIdGenerator.name = "ObjectDataEntryIdGenerator"
|
|
55
|
+
function ObjectDataEntryIdGenerator.prototype.____constructor(self, firstId)
|
|
56
|
+
self.id = firstId
|
|
57
|
+
end
|
|
58
|
+
function ObjectDataEntryIdGenerator.prototype.next(self)
|
|
59
|
+
local id = checkNotNull(nextIdFrom(self.id))
|
|
60
|
+
self.id = id
|
|
61
|
+
return id
|
|
62
|
+
end
|
|
63
|
+
return ____exports
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** @noSelfInFile */
|
|
2
|
+
import { TargetingType } from "../auxiliary/targeting-type";
|
|
3
|
+
export declare class OrderTypeStringIdFactory {
|
|
4
|
+
private positionByTargetingType;
|
|
5
|
+
private recycleQueueByTargetingType;
|
|
6
|
+
next(targetingType: TargetingType): string;
|
|
7
|
+
recycle(orderString: string): void;
|
|
8
|
+
}
|
|
9
|
+
export declare const orderTypeStringIdFactory: OrderTypeStringIdFactory;
|