warscript 0.0.1-dev.c37d12c → 0.0.1-dev.c47d565
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/attributes.d.ts +18 -0
- package/attributes.lua +32 -0
- package/binaryreader.d.ts +1 -0
- package/binaryreader.lua +3 -0
- package/config.d.ts +5 -0
- package/config.lua +10 -0
- package/core/dummy.lua +4 -2
- package/core/types/effect.d.ts +24 -6
- package/core/types/effect.lua +169 -107
- package/core/types/frame.d.ts +24 -3
- package/core/types/frame.lua +198 -42
- package/core/types/group.d.ts +0 -1
- package/core/types/handle.d.ts +2 -1
- package/core/types/handle.lua +14 -9
- package/core/types/image.d.ts +0 -1
- package/core/types/item.d.ts +1 -0
- package/core/types/item.lua +1 -0
- package/core/types/missile.d.ts +2 -2
- package/core/types/missile.lua +8 -2
- package/core/types/player.d.ts +18 -1
- package/core/types/player.lua +76 -26
- package/core/types/playerCamera.d.ts +2 -0
- package/core/types/playerCamera.lua +123 -5
- package/core/types/playerColor.lua +4 -3
- package/core/types/sound.d.ts +18 -25
- package/core/types/sound.lua +113 -33
- package/core/types/tileCell.d.ts +18 -3
- package/core/types/tileCell.lua +108 -0
- package/core/types/timer.d.ts +9 -8
- package/core/types/timer.lua +45 -23
- package/core/types/unit.d.ts +5 -0
- package/core/types/unit.lua +13 -0
- package/core/util.d.ts +3 -1
- package/core/util.lua +127 -4
- package/decl/index.d.ts +1 -0
- package/decl/native.d.ts +1718 -964
- package/destroyable.d.ts +1 -0
- package/destroyable.lua +9 -0
- package/engine/ability-type-extended-tooltip.d.ts +8 -0
- package/engine/ability-type-extended-tooltip.lua +44 -0
- package/engine/ability.d.ts +1 -1
- package/engine/behavior.d.ts +24 -11
- package/engine/behavior.lua +233 -73
- package/engine/behaviour/ability/always-enabled.d.ts +7 -0
- package/engine/behaviour/ability/always-enabled.lua +31 -0
- package/engine/behaviour/ability/apply-buff.d.ts +8 -5
- package/engine/behaviour/ability/apply-buff.lua +36 -4
- package/engine/behaviour/ability/apply-unit-behavior.d.ts +13 -4
- package/engine/behaviour/ability/apply-unit-behavior.lua +37 -9
- package/engine/behaviour/ability/damage.d.ts +43 -11
- package/engine/behaviour/ability/damage.lua +89 -39
- package/engine/behaviour/ability/emulate-impact.d.ts +6 -0
- package/engine/behaviour/ability/emulate-impact.lua +44 -0
- package/engine/behaviour/ability/heal.d.ts +33 -6
- package/engine/behaviour/ability/heal.lua +89 -10
- package/engine/behaviour/ability/instant-impact.d.ts +2 -2
- package/engine/behaviour/ability/instant-impact.lua +4 -15
- package/engine/behaviour/ability/on-command-impact.d.ts +9 -0
- package/engine/behaviour/ability/on-command-impact.lua +26 -0
- package/engine/behaviour/ability/remove-buffs.d.ts +25 -0
- package/engine/behaviour/ability/remove-buffs.lua +49 -0
- package/engine/behaviour/ability/restore-mana.d.ts +15 -0
- package/engine/behaviour/ability/restore-mana.lua +29 -0
- package/engine/behaviour/ability.d.ts +37 -7
- package/engine/behaviour/ability.lua +208 -27
- package/engine/behaviour/unit/stun-immunity.d.ts +12 -7
- package/engine/behaviour/unit/stun-immunity.lua +57 -31
- package/engine/behaviour/unit.d.ts +49 -4
- package/engine/behaviour/unit.lua +293 -2
- package/engine/buff.d.ts +177 -59
- package/engine/buff.lua +795 -281
- package/engine/game-map.d.ts +7 -0
- package/engine/game-map.lua +32 -0
- package/engine/index.d.ts +2 -1
- package/engine/internal/ability.d.ts +31 -15
- package/engine/internal/ability.lua +177 -104
- package/engine/internal/item/ability.lua +162 -4
- package/engine/internal/item/fields.d.ts +12 -0
- package/engine/internal/item/fields.lua +33 -0
- package/engine/internal/item/owner-cache.d.ts +5 -0
- package/engine/internal/item/owner-cache.lua +4 -0
- package/engine/internal/item+owner.d.ts +2 -0
- package/engine/internal/item+owner.lua +37 -8
- package/engine/internal/item.d.ts +34 -18
- package/engine/internal/item.lua +308 -102
- package/engine/internal/mechanics/ability-duration.d.ts +1 -3
- package/engine/internal/mechanics/ability-duration.lua +3 -1
- package/engine/internal/mechanics/cast-ability.lua +89 -0
- package/engine/internal/misc/ability-disable-counter.d.ts +2 -0
- package/engine/internal/misc/ability-disable-counter.lua +13 -0
- package/engine/internal/misc/damage-metadata-by-target.d.ts +2 -0
- package/engine/internal/misc/damage-metadata-by-target.lua +5 -0
- package/engine/internal/misc/frame-coordinates.d.ts +2 -0
- package/engine/internal/misc/frame-coordinates.lua +21 -0
- package/engine/internal/misc/get-terrain-z.d.ts +2 -0
- package/engine/internal/misc/get-terrain-z.lua +11 -0
- package/engine/internal/misc/player-local-handle.d.ts +2 -0
- package/engine/internal/misc/player-local-handle.lua +5 -0
- package/engine/internal/misc/unit-ability-level-natives.d.ts +2 -0
- package/engine/internal/misc/unit-ability-level-natives.lua +12 -0
- package/engine/internal/object-data/armor-bonus.d.ts +2 -0
- package/engine/internal/object-data/attribute-bonus.lua +2 -2
- package/engine/internal/object-data/auto-attack-speed-increase.d.ts +1 -1
- package/engine/internal/object-data/auto-attack-speed-increase.lua +2 -0
- package/engine/internal/object-data/evasion-probability.d.ts +2 -0
- package/engine/internal/object-data/evasion-probability.lua +16 -0
- package/engine/internal/object-data/health-bonus.d.ts +2 -0
- package/engine/internal/object-data/health-bonus.lua +16 -0
- package/engine/internal/object-data/health-regeneration-rate-increase.d.ts +2 -0
- package/engine/internal/object-data/health-regeneration-rate-increase.lua +48 -0
- package/engine/internal/object-data/mana-bonus.d.ts +2 -0
- package/engine/internal/object-data/mana-bonus.lua +16 -0
- package/engine/internal/object-data/mana-regeneration-rate-increase-factor.d.ts +2 -0
- package/engine/internal/object-data/mana-regeneration-rate-increase-factor.lua +16 -0
- package/engine/internal/object-data/returned-melee-damage-factor.d.ts +2 -0
- package/engine/internal/object-data/returned-melee-damage-factor.lua +21 -0
- package/engine/internal/unit/ability.d.ts +45 -1
- package/engine/internal/unit/ability.lua +128 -17
- package/engine/internal/unit/add-item-to-slot-init.d.ts +2 -0
- package/engine/internal/unit/add-item-to-slot-init.lua +12 -0
- package/engine/internal/unit/add-item-to-slot.d.ts +2 -0
- package/engine/internal/unit/add-item-to-slot.lua +93 -0
- package/engine/internal/unit/allowed-targets.d.ts +1 -1
- package/engine/internal/unit/allowed-targets.lua +9 -1
- package/engine/internal/unit/appearance.d.ts +15 -0
- package/engine/internal/unit/appearance.lua +85 -0
- package/engine/internal/unit/attributes.d.ts +17 -0
- package/engine/internal/unit/attributes.lua +46 -0
- package/engine/internal/unit/bonus.d.ts +28 -8
- package/engine/internal/unit/bonus.lua +136 -9
- package/engine/internal/unit/buff.d.ts +2 -2
- package/engine/internal/unit/buff.lua +34 -19
- package/engine/internal/unit/detach-missiles.d.ts +7 -0
- package/engine/internal/unit/detach-missiles.lua +30 -0
- package/engine/internal/unit/equipment-inventory.d.ts +44 -0
- package/engine/internal/unit/equipment-inventory.lua +233 -0
- package/engine/internal/unit/expiration-timer.lua +1 -1
- package/engine/internal/unit/extended-inventory.d.ts +25 -0
- package/engine/internal/unit/extended-inventory.lua +99 -0
- package/engine/internal/unit/fly-height.d.ts +7 -0
- package/engine/internal/unit/fly-height.lua +20 -0
- package/engine/internal/unit/ignore-events-items.d.ts +2 -0
- package/engine/internal/unit/ignore-events-items.lua +14 -0
- package/engine/internal/unit/interrupts.d.ts +12 -0
- package/engine/internal/unit/interrupts.lua +28 -0
- package/engine/internal/unit/inventory.d.ts +28 -0
- package/engine/internal/unit/inventory.lua +87 -0
- package/engine/internal/unit/item-container.d.ts +25 -0
- package/engine/internal/unit/item-container.lua +11 -0
- package/engine/internal/unit/item-order-events.d.ts +17 -0
- package/engine/internal/unit/item-order-events.lua +67 -0
- package/engine/internal/unit/item-slot.d.ts +27 -0
- package/engine/internal/unit/item-slot.lua +92 -0
- package/engine/internal/unit/main-selected.d.ts +13 -0
- package/engine/internal/unit/main-selected.lua +36 -0
- package/engine/internal/unit/order.d.ts +20 -0
- package/engine/internal/unit/order.lua +136 -0
- package/engine/internal/unit/range-event.d.ts +12 -0
- package/engine/internal/unit/range-event.lua +90 -0
- package/engine/internal/unit/scale.d.ts +7 -0
- package/engine/internal/unit/scale.lua +20 -0
- package/engine/internal/unit+ability.d.ts +2 -1
- package/engine/internal/unit+ability.lua +75 -5
- package/engine/internal/unit+bonus.lua +3 -3
- package/engine/internal/unit+damage.d.ts +11 -11
- package/engine/internal/unit+damage.lua +43 -14
- package/engine/internal/unit+rally.lua +9 -31
- package/engine/internal/unit+spellSteal.lua +1 -2
- package/engine/internal/unit+transport.lua +4 -10
- package/engine/internal/unit-missile-data.lua +58 -32
- package/engine/internal/unit-missile-launch.lua +70 -13
- package/engine/internal/unit.d.ts +91 -38
- package/engine/internal/unit.lua +669 -351
- package/engine/internal/utility.lua +12 -0
- package/engine/lightning.d.ts +12 -5
- package/engine/lightning.lua +48 -14
- package/engine/local-client.d.ts +35 -2
- package/engine/local-client.lua +367 -15
- package/engine/object-data/auxiliary/animation-name.d.ts +1 -0
- package/engine/object-data/auxiliary/animation-name.lua +16 -0
- package/engine/object-data/auxiliary/armor-type.d.ts +11 -0
- package/engine/object-data/auxiliary/armor-type.lua +46 -0
- package/engine/object-data/auxiliary/attachment-preset.d.ts +14 -3
- package/engine/object-data/auxiliary/attachment-preset.lua +11 -3
- package/engine/object-data/auxiliary/attack-type.d.ts +7 -8
- package/engine/object-data/auxiliary/attack-type.lua +42 -0
- package/engine/object-data/auxiliary/combat-classification.d.ts +0 -2
- package/engine/object-data/auxiliary/equipment-slot.d.ts +12 -0
- package/engine/object-data/auxiliary/equipment-slot.lua +2 -0
- package/engine/object-data/auxiliary/equipment-type.d.ts +12 -0
- package/engine/object-data/auxiliary/equipment-type.lua +26 -0
- package/engine/object-data/auxiliary/health-regeneration-type.d.ts +8 -0
- package/engine/object-data/auxiliary/health-regeneration-type.lua +2 -0
- package/engine/object-data/auxiliary/item-class.d.ts +11 -0
- package/engine/object-data/auxiliary/item-class.lua +2 -0
- package/engine/object-data/auxiliary/item-tag.d.ts +12 -0
- package/engine/object-data/auxiliary/item-tag.lua +2 -0
- package/engine/object-data/auxiliary/movement-type.d.ts +7 -7
- package/engine/object-data/auxiliary/movement-type.lua +22 -0
- package/engine/object-data/auxiliary/order-type.d.ts +939 -0
- package/engine/object-data/auxiliary/order-type.lua +2 -0
- package/engine/object-data/auxiliary/sound-eax.d.ts +10 -0
- package/engine/object-data/auxiliary/sound-eax.lua +2 -0
- package/engine/object-data/auxiliary/sound-preset-name.d.ts +5 -1
- package/engine/object-data/auxiliary/sound-set-name.d.ts +14 -3
- package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +1 -1
- package/engine/object-data/auxiliary/unit-attribute.d.ts +6 -0
- package/engine/object-data/auxiliary/unit-attribute.lua +9 -0
- package/engine/object-data/entry/ability-type/apprehend.d.ts +22 -0
- package/engine/object-data/entry/ability-type/apprehend.lua +66 -0
- package/engine/object-data/entry/ability-type/armor-bonus.d.ts +8 -0
- package/engine/object-data/entry/ability-type/{armor-increase.lua → armor-bonus.lua} +9 -9
- package/engine/object-data/entry/ability-type/aura-of-blight.d.ts +13 -0
- package/engine/object-data/entry/ability-type/aura-of-blight.lua +39 -0
- package/engine/object-data/entry/ability-type/banshee.d.ts +8 -0
- package/engine/object-data/entry/ability-type/banshee.lua +13 -0
- package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.d.ts +12 -0
- package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.lua +27 -0
- package/engine/object-data/entry/ability-type/banshees-wail.d.ts +31 -0
- package/engine/object-data/entry/ability-type/banshees-wail.lua +117 -0
- package/engine/object-data/entry/ability-type/battering-ram.d.ts +33 -0
- package/engine/object-data/entry/ability-type/battering-ram.lua +130 -0
- package/engine/object-data/entry/ability-type/berserk.d.ts +2 -0
- package/engine/object-data/entry/ability-type/berserk.lua +13 -0
- package/engine/object-data/entry/ability-type/blank-configurable.d.ts +0 -1
- package/engine/object-data/entry/ability-type/blank-configurable.lua +12 -1
- package/engine/object-data/entry/ability-type/blank-passive-with-cooldown.d.ts +23 -0
- package/engine/object-data/entry/ability-type/blank-passive-with-cooldown.lua +112 -0
- package/engine/object-data/entry/ability-type/blank-passive.d.ts +4 -1
- package/engine/object-data/entry/ability-type/blank-passive.lua +27 -7
- package/engine/object-data/entry/ability-type/blink.d.ts +10 -0
- package/engine/object-data/entry/ability-type/blink.lua +39 -0
- package/engine/object-data/entry/ability-type/breath-of-fire.d.ts +11 -0
- package/engine/object-data/entry/ability-type/breath-of-fire.lua +27 -0
- package/engine/object-data/entry/ability-type/carrion-swarm.d.ts +14 -0
- package/engine/object-data/entry/ability-type/carrion-swarm.lua +65 -0
- package/engine/object-data/entry/ability-type/channel.d.ts +0 -1
- package/engine/object-data/entry/ability-type/cleansing-fire.d.ts +27 -0
- package/engine/object-data/entry/ability-type/cleansing-fire.lua +104 -0
- package/engine/object-data/entry/ability-type/consecration.d.ts +15 -0
- package/engine/object-data/entry/ability-type/consecration.lua +52 -0
- package/engine/object-data/entry/ability-type/cooldown-reduction.d.ts +12 -0
- package/engine/object-data/entry/ability-type/cooldown-reduction.lua +39 -0
- package/engine/object-data/entry/ability-type/critical-strike-system.d.ts +18 -0
- package/engine/object-data/entry/ability-type/critical-strike-system.lua +65 -0
- package/engine/object-data/entry/ability-type/deathseeker-arrows.d.ts +21 -0
- package/engine/object-data/entry/ability-type/deathseeker-arrows.lua +78 -0
- package/engine/object-data/entry/ability-type/disease-cloud.lua +2 -2
- package/engine/object-data/entry/ability-type/engineering-upgrade.lua +2 -2
- package/engine/object-data/entry/ability-type/ensnare.d.ts +12 -0
- package/engine/object-data/entry/ability-type/ensnare.lua +52 -0
- package/engine/object-data/entry/ability-type/equipment-inventory-interface.d.ts +8 -0
- package/engine/object-data/entry/ability-type/equipment-inventory-interface.lua +13 -0
- package/engine/object-data/entry/ability-type/equipment-inventory.d.ts +13 -0
- package/engine/object-data/entry/ability-type/equipment-inventory.lua +27 -0
- package/engine/object-data/entry/ability-type/equipment.d.ts +13 -0
- package/engine/object-data/entry/ability-type/equipment.lua +27 -0
- package/engine/object-data/entry/ability-type/exhume-corpses.d.ts +14 -0
- package/engine/object-data/entry/ability-type/exhume-corpses.lua +40 -0
- package/engine/object-data/entry/ability-type/feral-spirit.lua +2 -2
- package/engine/object-data/entry/ability-type/firebolt.d.ts +7 -0
- package/engine/object-data/entry/ability-type/firebolt.lua +13 -0
- package/engine/object-data/entry/ability-type/flame-strike.d.ts +25 -0
- package/engine/object-data/entry/ability-type/flame-strike.lua +92 -0
- package/engine/object-data/entry/ability-type/grant-talent-point.d.ts +8 -0
- package/engine/object-data/entry/ability-type/grant-talent-point.lua +13 -0
- package/engine/object-data/entry/ability-type/grim-conviction.d.ts +36 -0
- package/engine/object-data/entry/ability-type/grim-conviction.lua +131 -0
- package/engine/object-data/entry/ability-type/grit.d.ts +18 -0
- package/engine/object-data/entry/ability-type/grit.lua +65 -0
- package/engine/object-data/entry/ability-type/guiding-hand.d.ts +27 -0
- package/engine/object-data/entry/ability-type/guiding-hand.lua +104 -0
- package/engine/object-data/entry/ability-type/headsplitter.d.ts +27 -0
- package/engine/object-data/entry/ability-type/headsplitter.lua +104 -0
- package/engine/object-data/entry/ability-type/{armor-increase.d.ts → healing-modifier.d.ts} +4 -3
- package/engine/object-data/entry/ability-type/healing-modifier.lua +26 -0
- package/engine/object-data/entry/ability-type/healing-ward-aura.d.ts +13 -0
- package/engine/object-data/entry/ability-type/healing-ward-aura.lua +39 -0
- package/engine/object-data/entry/ability-type/health-bonus.d.ts +8 -0
- package/engine/object-data/entry/ability-type/health-bonus.lua +26 -0
- package/engine/object-data/entry/ability-type/heroic-slash.d.ts +18 -0
- package/engine/object-data/entry/ability-type/heroic-slash.lua +65 -0
- package/engine/object-data/entry/ability-type/holy-wrath.d.ts +30 -0
- package/engine/object-data/entry/ability-type/holy-wrath.lua +117 -0
- package/engine/object-data/entry/ability-type/inspire-courage.d.ts +18 -0
- package/engine/object-data/entry/ability-type/inspire-courage.lua +65 -0
- package/engine/object-data/entry/ability-type/item-life-regeneration.d.ts +10 -0
- package/engine/object-data/entry/ability-type/item-life-regeneration.lua +26 -0
- package/engine/object-data/entry/ability-type/life-drain.d.ts +37 -0
- package/engine/object-data/entry/ability-type/life-drain.lua +144 -0
- package/engine/object-data/entry/ability-type/lights-mercy.d.ts +27 -0
- package/engine/object-data/entry/ability-type/lights-mercy.lua +104 -0
- package/engine/object-data/entry/ability-type/mana-bonus.d.ts +8 -0
- package/engine/object-data/entry/ability-type/mana-bonus.lua +26 -0
- package/engine/object-data/entry/ability-type/mana-efficiency.d.ts +12 -0
- package/engine/object-data/entry/ability-type/mana-efficiency.lua +39 -0
- package/engine/object-data/entry/ability-type/mana-regeneration.d.ts +8 -0
- package/engine/object-data/entry/ability-type/mana-regeneration.lua +26 -0
- package/engine/object-data/entry/ability-type/mind-control.d.ts +21 -0
- package/engine/object-data/entry/ability-type/mind-control.lua +78 -0
- package/engine/object-data/entry/ability-type/mine.d.ts +10 -0
- package/engine/object-data/entry/ability-type/mine.lua +39 -0
- package/engine/object-data/entry/ability-type/on-attack-cast-spell.d.ts +21 -0
- package/engine/object-data/entry/ability-type/on-attack-cast-spell.lua +52 -0
- package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.d.ts +19 -0
- package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.lua +65 -0
- package/engine/object-data/entry/ability-type/on-hit-cast-spell.d.ts +15 -0
- package/engine/object-data/entry/ability-type/on-hit-cast-spell.lua +26 -0
- package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.d.ts +6 -0
- package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.lua +12 -0
- package/engine/object-data/entry/ability-type/permanent-invisibility.d.ts +8 -0
- package/engine/object-data/entry/ability-type/permanent-invisibility.lua +26 -0
- package/engine/object-data/entry/ability-type/phase-shift.d.ts +10 -0
- package/engine/object-data/entry/ability-type/phase-shift.lua +39 -0
- package/engine/object-data/entry/ability-type/phoenix-morph.lua +4 -4
- package/engine/object-data/entry/ability-type/provoke.d.ts +21 -0
- package/engine/object-data/entry/ability-type/provoke.lua +66 -0
- package/engine/object-data/entry/ability-type/rain-of-fire.d.ts +7 -0
- package/engine/object-data/entry/ability-type/rain-of-fire.lua +13 -0
- package/engine/object-data/entry/ability-type/raise-dead.d.ts +17 -0
- package/engine/object-data/entry/ability-type/raise-dead.lua +78 -0
- package/engine/object-data/entry/ability-type/raise-the-banner.d.ts +9 -0
- package/engine/object-data/entry/ability-type/raise-the-banner.lua +26 -0
- package/engine/object-data/entry/ability-type/reincarnation.d.ts +8 -0
- package/engine/object-data/entry/ability-type/reincarnation.lua +26 -0
- package/engine/object-data/entry/ability-type/resolve.d.ts +12 -0
- package/engine/object-data/entry/ability-type/resolve.lua +39 -0
- package/engine/object-data/entry/ability-type/righteous-fury.d.ts +33 -0
- package/engine/object-data/entry/ability-type/righteous-fury.lua +130 -0
- package/engine/object-data/entry/ability-type/sacred-aura.d.ts +27 -0
- package/engine/object-data/entry/ability-type/sacred-aura.lua +104 -0
- package/engine/object-data/entry/ability-type/shock-wave.d.ts +4 -0
- package/engine/object-data/entry/ability-type/shock-wave.lua +26 -0
- package/engine/object-data/entry/ability-type/slow-poison.d.ts +10 -0
- package/engine/object-data/entry/ability-type/slow-poison.lua +58 -0
- package/engine/object-data/entry/ability-type/soul-burn.d.ts +22 -0
- package/engine/object-data/entry/ability-type/soul-burn.lua +79 -0
- package/engine/object-data/entry/ability-type/soul-lantern.d.ts +30 -0
- package/engine/object-data/entry/ability-type/soul-lantern.lua +117 -0
- package/engine/object-data/entry/ability-type/spell-amp.d.ts +15 -0
- package/engine/object-data/entry/ability-type/spell-amp.lua +52 -0
- package/engine/object-data/entry/ability-type/spell-critical-strike.d.ts +12 -0
- package/engine/object-data/entry/ability-type/spell-critical-strike.lua +39 -0
- package/engine/object-data/entry/ability-type/spell-vamp.d.ts +12 -0
- package/engine/object-data/entry/ability-type/spell-vamp.lua +39 -0
- package/engine/object-data/entry/ability-type/spirit-touch.d.ts +2 -2
- package/engine/object-data/entry/ability-type/spirit-touch.lua +6 -6
- package/engine/object-data/entry/ability-type/stackable-evasion.d.ts +9 -0
- package/engine/object-data/entry/ability-type/stackable-evasion.lua +13 -0
- package/engine/object-data/entry/ability-type/stackable-hardened-skin.d.ts +21 -0
- package/engine/object-data/entry/ability-type/stackable-hardened-skin.lua +78 -0
- package/engine/object-data/entry/ability-type/stackable-life-steal.d.ts +9 -0
- package/engine/object-data/entry/ability-type/stackable-life-steal.lua +26 -0
- package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.d.ts +9 -0
- package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.lua +13 -0
- package/engine/object-data/entry/ability-type/stackable-thorn-shield.d.ts +9 -0
- package/engine/object-data/entry/ability-type/stackable-thorn-shield.lua +13 -0
- package/engine/object-data/entry/ability-type/stat-details.d.ts +12 -0
- package/engine/object-data/entry/ability-type/stat-details.lua +27 -0
- package/engine/object-data/entry/ability-type/summon-quilbeast.lua +2 -2
- package/engine/object-data/entry/ability-type/summon-water-elemental.lua +2 -2
- package/engine/object-data/entry/ability-type/surge-of-light.d.ts +33 -0
- package/engine/object-data/entry/ability-type/surge-of-light.lua +130 -0
- package/engine/object-data/entry/ability-type/sweeping-strike.d.ts +57 -0
- package/engine/object-data/entry/ability-type/sweeping-strike.lua +234 -0
- package/engine/object-data/entry/ability-type/talents.d.ts +12 -0
- package/engine/object-data/entry/ability-type/talents.lua +27 -0
- package/engine/object-data/entry/ability-type/unyielding-guard.d.ts +30 -0
- package/engine/object-data/entry/ability-type/unyielding-guard.lua +117 -0
- package/engine/object-data/entry/ability-type/valiant-charge.d.ts +27 -0
- package/engine/object-data/entry/ability-type/valiant-charge.lua +104 -0
- package/engine/object-data/entry/ability-type/warcry.d.ts +9 -0
- package/engine/object-data/entry/ability-type/warcry.lua +26 -0
- package/engine/object-data/entry/ability-type/web.d.ts +12 -0
- package/engine/object-data/entry/ability-type/web.lua +52 -0
- package/engine/object-data/entry/ability-type/withering-fire.d.ts +21 -0
- package/engine/object-data/entry/ability-type/withering-fire.lua +78 -0
- package/engine/object-data/entry/ability-type.d.ts +48 -21
- package/engine/object-data/entry/ability-type.lua +377 -44
- package/engine/object-data/entry/buff-type/applicable.d.ts +0 -1
- package/engine/object-data/entry/buff-type/applicable.lua +143 -202
- package/engine/object-data/entry/buff-type/blank.d.ts +0 -1
- package/engine/object-data/entry/buff-type.d.ts +10 -13
- package/engine/object-data/entry/buff-type.lua +39 -29
- package/engine/object-data/entry/destructible-type.d.ts +32 -3
- package/engine/object-data/entry/destructible-type.lua +181 -0
- package/engine/object-data/entry/item-type/blank.d.ts +0 -1
- package/engine/object-data/entry/item-type.d.ts +32 -4
- package/engine/object-data/entry/item-type.lua +177 -2
- package/engine/object-data/entry/lightning-type.d.ts +6 -9
- package/engine/object-data/entry/lightning-type.lua +1 -1
- package/engine/object-data/entry/sound-preset.d.ts +33 -0
- package/engine/object-data/entry/sound-preset.lua +140 -0
- package/engine/object-data/entry/unit-type.d.ts +121 -6
- package/engine/object-data/entry/unit-type.lua +959 -118
- package/engine/object-data/entry/upgrade/blank.d.ts +0 -1
- package/engine/object-data/entry/upgrade.d.ts +2 -3
- package/engine/object-data/entry/upgrade.lua +4 -4
- package/engine/object-data/entry.d.ts +23 -17
- package/engine/object-data/entry.lua +68 -32
- package/engine/object-data/utility/object-data-entry-id-generator.lua +7 -0
- package/engine/object-field/ability.d.ts +33 -8
- package/engine/object-field/ability.lua +63 -3
- package/engine/object-field/item.d.ts +22 -0
- package/engine/object-field/item.lua +118 -0
- package/engine/object-field/unit.d.ts +72 -2
- package/engine/object-field/unit.lua +268 -4
- package/engine/object-field.d.ts +30 -11
- package/engine/object-field.lua +386 -122
- package/engine/random.d.ts +11 -0
- package/engine/random.lua +30 -0
- package/engine/standard/entries/ability-type.d.ts +3102 -7
- package/engine/standard/entries/ability-type.lua +0 -6
- package/engine/standard/entries/buff-type.d.ts +48 -0
- package/engine/standard/entries/buff-type.lua +46 -0
- package/engine/standard/entries/item-type.d.ts +1299 -0
- package/engine/standard/entries/item-type.lua +2 -0
- package/engine/standard/entries/lightning-type.d.ts +42 -15
- package/engine/standard/entries/lightning-type.lua +0 -14
- package/engine/standard/entries/sound-preset.d.ts +10 -0
- package/engine/standard/entries/sound-preset.lua +10 -0
- package/engine/standard/entries/unit-type.d.ts +47 -1
- package/engine/standard/entries/unit-type.lua +47 -1
- package/engine/standard/fields/ability.d.ts +5 -3
- package/engine/standard/fields/ability.lua +5 -3
- package/engine/standard/fields/item.d.ts +4 -0
- package/engine/standard/fields/item.lua +6 -0
- package/engine/standard/fields/unit.d.ts +12 -0
- package/engine/standard/fields/unit.lua +20 -0
- package/engine/synchronization.d.ts +11 -0
- package/engine/synchronization.lua +77 -0
- package/engine/text-tag.d.ts +36 -2
- package/engine/text-tag.lua +250 -10
- package/engine/unit.d.ts +14 -0
- package/engine/unit.lua +23 -2
- package/event.d.ts +3 -4
- package/event.lua +9 -5
- package/global/vec2.lua +1 -0
- package/index.d.ts +1 -0
- package/index.lua +1 -0
- package/lualib_bundle.lua +147 -43
- package/math/vec2.d.ts +2 -9
- package/math.d.ts +2 -2
- package/math.lua +14 -0
- package/net/socket.d.ts +7 -1
- package/net/socket.lua +45 -4
- package/network.d.ts +1 -0
- package/network.lua +28 -3
- package/objutil/ability.d.ts +0 -1
- package/objutil/buff.d.ts +0 -1
- package/objutil/buff.lua +13 -12
- package/objutil/object.d.ts +0 -1
- package/objutil/object.lua +1 -1
- package/objutil/unit.d.ts +0 -1
- package/objutil/unit.lua +8 -0
- package/operation.d.ts +8 -1
- package/operation.lua +38 -18
- package/package.json +3 -24
- package/patch-lua.d.ts +0 -0
- package/patch-lua.lua +25 -0
- package/patch-lualib.lua +1 -1
- package/property.d.ts +55 -0
- package/property.lua +374 -0
- package/string.d.ts +30 -0
- package/string.lua +14 -0
- package/util/stream.d.ts +0 -1
- package/utility/arrays.d.ts +20 -6
- package/utility/arrays.lua +62 -3
- package/utility/bit-set.d.ts +0 -2
- package/utility/callback-array.d.ts +17 -0
- package/utility/callback-array.lua +61 -0
- package/utility/functions.d.ts +8 -0
- package/utility/functions.lua +13 -0
- package/utility/lazy.d.ts +2 -0
- package/utility/lazy.lua +14 -0
- package/utility/linked-map.d.ts +35 -0
- package/utility/linked-map.lua +107 -0
- package/utility/linked-set.d.ts +17 -4
- package/utility/linked-set.lua +70 -3
- package/utility/lua-maps.d.ts +16 -4
- package/utility/lua-maps.lua +53 -2
- package/utility/lua-sets.d.ts +3 -2
- package/utility/lua-sets.lua +7 -0
- package/utility/random.d.ts +102 -0
- package/utility/random.lua +273 -0
- package/utility/records.lua +20 -1
- package/utility/reflection.lua +11 -7
- package/utility/types.d.ts +6 -2
- package/utility/unordered-map.d.ts +27 -0
- package/utility/unordered-map.lua +99 -0
- package/core/mapbounds.d.ts +0 -8
- package/core/mapbounds.lua +0 -12
- package/core/types/order.d.ts +0 -25
- package/core/types/order.lua +0 -55
- /package/engine/internal/{object-data/armor-increase.d.ts → mechanics/cast-ability.d.ts} +0 -0
- /package/engine/internal/object-data/{armor-increase.lua → armor-bonus.lua} +0 -0
- /package/engine/object-data/entry/ability-type/{attribute-increase.d.ts → attribute-bonus.d.ts} +0 -0
- /package/engine/object-data/entry/ability-type/{attribute-increase.lua → attribute-bonus.lua} +0 -0
package/engine/object-field.lua
CHANGED
|
@@ -20,6 +20,15 @@ local extractObjectDataEntryLevelFieldValue = ____entry.extractObjectDataEntryLe
|
|
|
20
20
|
local ObjectDataEntry = ____entry.ObjectDataEntry
|
|
21
21
|
local ____object_2Ddata_2Dentry_2Did_2Dgenerator = require("engine.object-data.utility.object-data-entry-id-generator")
|
|
22
22
|
local ObjectDataEntryIdGenerator = ____object_2Ddata_2Dentry_2Did_2Dgenerator.ObjectDataEntryIdGenerator
|
|
23
|
+
local ____linked_2Dset = require("utility.linked-set")
|
|
24
|
+
local mutableLinkedSet = ____linked_2Dset.mutableLinkedSet
|
|
25
|
+
local ____lua_2Dmaps = require("utility.lua-maps")
|
|
26
|
+
local emptyLuaMap = ____lua_2Dmaps.emptyLuaMap
|
|
27
|
+
local getOrPut = ____lua_2Dmaps.getOrPut
|
|
28
|
+
local mutableLuaMap = ____lua_2Dmaps.mutableLuaMap
|
|
29
|
+
local mutableWeakLuaMap = ____lua_2Dmaps.mutableWeakLuaMap
|
|
30
|
+
local ____arrays = require("utility.arrays")
|
|
31
|
+
local emptyArray = ____arrays.emptyArray
|
|
23
32
|
local compiletimeDefaultValueByObjectDataEntryIdByObjectFieldId = {}
|
|
24
33
|
local defaultValueByObjectDataEntryIdByObjectFieldId = postcompile(function() return compiletimeDefaultValueByObjectDataEntryIdByObjectFieldId end)
|
|
25
34
|
local objectFieldById = {}
|
|
@@ -29,7 +38,11 @@ local idGenerator = __TS__New(
|
|
|
29
38
|
)
|
|
30
39
|
local ObjectFieldBase = __TS__Class()
|
|
31
40
|
ObjectFieldBase.name = "ObjectFieldBase"
|
|
32
|
-
function ObjectFieldBase.prototype.____constructor(self, id)
|
|
41
|
+
function ObjectFieldBase.prototype.____constructor(self, id, isGlobal)
|
|
42
|
+
if isGlobal == nil then
|
|
43
|
+
isGlobal = false
|
|
44
|
+
end
|
|
45
|
+
self.isGlobal = isGlobal
|
|
33
46
|
self.valueByInstance = setmetatable({}, {__mode = "k"})
|
|
34
47
|
if objectFieldById[id] ~= nil then
|
|
35
48
|
error(
|
|
@@ -46,10 +59,15 @@ end
|
|
|
46
59
|
function ObjectFieldBase.prototype.supports(self, instance)
|
|
47
60
|
return __TS__InstanceOf(instance, self.instanceClass)
|
|
48
61
|
end
|
|
49
|
-
function ObjectFieldBase.
|
|
62
|
+
function ObjectFieldBase.prototype.hasValue(self, objectDataEntryId)
|
|
63
|
+
local defaultValueByObjectDataEntryId = defaultValueByObjectDataEntryIdByObjectFieldId[self.id]
|
|
64
|
+
return self.isGlobal or defaultValueByObjectDataEntryId ~= nil and defaultValueByObjectDataEntryId[objectDataEntryId] ~= nil or self:hasNativeFieldValue(objectDataEntryId)
|
|
65
|
+
end
|
|
66
|
+
function ObjectFieldBase.create(self, id, isGlobal)
|
|
50
67
|
return __TS__New(
|
|
51
68
|
self,
|
|
52
|
-
id or idGenerator:next()
|
|
69
|
+
id or idGenerator:next(),
|
|
70
|
+
isGlobal
|
|
53
71
|
)
|
|
54
72
|
end
|
|
55
73
|
function ObjectFieldBase.of(self, id)
|
|
@@ -71,10 +89,7 @@ ____exports.ObjectField = __TS__Class()
|
|
|
71
89
|
local ObjectField = ____exports.ObjectField
|
|
72
90
|
ObjectField.name = "ObjectField"
|
|
73
91
|
__TS__ClassExtends(ObjectField, ObjectFieldBase)
|
|
74
|
-
function ObjectField.prototype.
|
|
75
|
-
return __TS__TypeOf(value) == __TS__TypeOf(self.defaultValue)
|
|
76
|
-
end
|
|
77
|
-
function ObjectField.prototype.getValue(self, entry)
|
|
92
|
+
function ObjectField.prototype.getValue(self, entry, includeModifiers)
|
|
78
93
|
if __TS__InstanceOf(entry, ObjectDataEntry) then
|
|
79
94
|
local defaultValueByObjectDataEntryId = (warpack.compiletime and compiletimeDefaultValueByObjectDataEntryIdByObjectFieldId or defaultValueByObjectDataEntryIdByObjectFieldId)[self.id]
|
|
80
95
|
if defaultValueByObjectDataEntryId ~= nil then
|
|
@@ -85,22 +100,16 @@ function ObjectField.prototype.getValue(self, entry)
|
|
|
85
100
|
end
|
|
86
101
|
return self.defaultValue
|
|
87
102
|
end
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
____self_valueByInstance_entry_0 = defaultValue
|
|
103
|
+
if not includeModifiers then
|
|
104
|
+
local originalValueByInstance = self.originalValueByInstance
|
|
105
|
+
if originalValueByInstance ~= nil then
|
|
106
|
+
local originalValue = originalValueByInstance[entry]
|
|
107
|
+
if originalValue ~= nil then
|
|
108
|
+
return originalValue
|
|
95
109
|
end
|
|
96
|
-
return ____self_valueByInstance_entry_0
|
|
97
110
|
end
|
|
98
111
|
end
|
|
99
|
-
|
|
100
|
-
if ____temp_1 == nil then
|
|
101
|
-
____temp_1 = self.defaultValue
|
|
102
|
-
end
|
|
103
|
-
return ____temp_1
|
|
112
|
+
return self:getActualValue(entry)
|
|
104
113
|
end
|
|
105
114
|
function ObjectField.prototype.setValue(self, entry, value)
|
|
106
115
|
if __TS__InstanceOf(entry, ObjectDataEntry) then
|
|
@@ -115,36 +124,84 @@ function ObjectField.prototype.setValue(self, entry, value)
|
|
|
115
124
|
defaultValueByObjectDataEntryId[entry.id] = value
|
|
116
125
|
return true
|
|
117
126
|
end
|
|
118
|
-
local
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
if ____self_valueByInstance_entry_2_3 == nil then
|
|
128
|
-
____self_valueByInstance_entry_2_3 = self.defaultValue
|
|
127
|
+
local previousOriginalValue
|
|
128
|
+
local modifiersByInstance = self.modifiersByInstance
|
|
129
|
+
if modifiersByInstance ~= nil then
|
|
130
|
+
local modifiers = modifiersByInstance[entry]
|
|
131
|
+
if modifiers ~= nil and modifiers.size ~= 0 then
|
|
132
|
+
local originalValueByInstance = self.originalValueByInstance
|
|
133
|
+
if originalValueByInstance == nil then
|
|
134
|
+
originalValueByInstance = mutableWeakLuaMap()
|
|
135
|
+
self.originalValueByInstance = originalValueByInstance
|
|
129
136
|
end
|
|
130
|
-
|
|
131
|
-
if value
|
|
132
|
-
|
|
133
|
-
self:invokeValueChangeEvent(entry, self, previousValue, value)
|
|
137
|
+
previousOriginalValue = originalValueByInstance[entry]
|
|
138
|
+
if value == previousOriginalValue then
|
|
139
|
+
return true
|
|
134
140
|
end
|
|
135
|
-
|
|
141
|
+
originalValueByInstance[entry] = value
|
|
142
|
+
value = (self:calculateActualValue(entry))
|
|
136
143
|
end
|
|
137
144
|
end
|
|
138
|
-
local previousValue = self:
|
|
139
|
-
if
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
145
|
+
local previousValue = self:setActualValue(entry, value)
|
|
146
|
+
if previousValue == nil then
|
|
147
|
+
return false
|
|
148
|
+
end
|
|
149
|
+
if previousOriginalValue ~= nil or value ~= previousValue then
|
|
150
|
+
local ____self_invokeValueChangeEvent_2 = self.invokeValueChangeEvent
|
|
151
|
+
local ____entry_1 = entry
|
|
152
|
+
local ____previousOriginalValue_0 = previousOriginalValue
|
|
153
|
+
if ____previousOriginalValue_0 == nil then
|
|
154
|
+
____previousOriginalValue_0 = previousValue
|
|
144
155
|
end
|
|
156
|
+
____self_invokeValueChangeEvent_2(
|
|
157
|
+
self,
|
|
158
|
+
____entry_1,
|
|
159
|
+
self,
|
|
160
|
+
____previousOriginalValue_0,
|
|
161
|
+
value
|
|
162
|
+
)
|
|
145
163
|
end
|
|
146
164
|
return true
|
|
147
165
|
end
|
|
166
|
+
function ObjectField.prototype.updateActualValue(self, instance)
|
|
167
|
+
local actualValue, hasModifiers = self:calculateActualValue(instance)
|
|
168
|
+
if hasModifiers then
|
|
169
|
+
self:setActualValue(instance, actualValue)
|
|
170
|
+
end
|
|
171
|
+
end
|
|
172
|
+
function ObjectField.prototype.applyModifier(self, instance, modifier)
|
|
173
|
+
local modifiersByInstance = self.modifiersByInstance
|
|
174
|
+
if modifiersByInstance == nil then
|
|
175
|
+
modifiersByInstance = mutableWeakLuaMap()
|
|
176
|
+
self.modifiersByInstance = modifiersByInstance
|
|
177
|
+
end
|
|
178
|
+
if getOrPut(modifiersByInstance, instance, mutableLinkedSet):add(modifier) then
|
|
179
|
+
local originalValueByInstance = self.originalValueByInstance
|
|
180
|
+
if originalValueByInstance == nil then
|
|
181
|
+
originalValueByInstance = mutableWeakLuaMap()
|
|
182
|
+
self.originalValueByInstance = originalValueByInstance
|
|
183
|
+
end
|
|
184
|
+
local ____originalValueByInstance_4 = originalValueByInstance
|
|
185
|
+
local ____instance_5 = instance
|
|
186
|
+
local ____originalValueByInstance_instance_3 = originalValueByInstance[instance]
|
|
187
|
+
if ____originalValueByInstance_instance_3 == nil then
|
|
188
|
+
____originalValueByInstance_instance_3 = self:getActualValue(instance)
|
|
189
|
+
end
|
|
190
|
+
____originalValueByInstance_4[____instance_5] = ____originalValueByInstance_instance_3
|
|
191
|
+
self:setActualValue(instance, (self:calculateActualValue(instance)))
|
|
192
|
+
end
|
|
193
|
+
end
|
|
194
|
+
function ObjectField.prototype.removeModifier(self, instance, modifier)
|
|
195
|
+
local modifiersByInstance = self.modifiersByInstance
|
|
196
|
+
if modifiersByInstance ~= nil then
|
|
197
|
+
local modifiers = modifiersByInstance[instance]
|
|
198
|
+
if modifiers ~= nil and modifiers:remove(modifier) then
|
|
199
|
+
self:setActualValue(instance, (self:calculateActualValue(instance)))
|
|
200
|
+
return true
|
|
201
|
+
end
|
|
202
|
+
end
|
|
203
|
+
return false
|
|
204
|
+
end
|
|
148
205
|
function ObjectField.prototype.removeValue(self, entry)
|
|
149
206
|
if not warpack.compiletime then
|
|
150
207
|
return false
|
|
@@ -159,6 +216,79 @@ function ObjectField.prototype.removeValue(self, entry)
|
|
|
159
216
|
end
|
|
160
217
|
return false
|
|
161
218
|
end
|
|
219
|
+
function ObjectField.prototype.trySetValue(self, entry, value)
|
|
220
|
+
if __TS__TypeOf(value) ~= __TS__TypeOf(self.defaultValue) then
|
|
221
|
+
return false
|
|
222
|
+
end
|
|
223
|
+
return self:setValue(entry, value)
|
|
224
|
+
end
|
|
225
|
+
function ObjectField.prototype.getActualValue(self, instance)
|
|
226
|
+
local defaultValueByObjectDataEntryId = defaultValueByObjectDataEntryIdByObjectFieldId[self.id]
|
|
227
|
+
if defaultValueByObjectDataEntryId ~= nil or self.isGlobal then
|
|
228
|
+
local defaultValue = (defaultValueByObjectDataEntryId or emptyLuaMap())[self:getObjectDataEntryId(instance)]
|
|
229
|
+
if defaultValue ~= nil or self.isGlobal then
|
|
230
|
+
local ____self_valueByInstance_instance_6 = self.valueByInstance[instance]
|
|
231
|
+
if ____self_valueByInstance_instance_6 == nil then
|
|
232
|
+
____self_valueByInstance_instance_6 = defaultValue
|
|
233
|
+
end
|
|
234
|
+
local ____self_valueByInstance_instance_6_7 = ____self_valueByInstance_instance_6
|
|
235
|
+
if ____self_valueByInstance_instance_6_7 == nil then
|
|
236
|
+
____self_valueByInstance_instance_6_7 = self.defaultValue
|
|
237
|
+
end
|
|
238
|
+
return ____self_valueByInstance_instance_6_7
|
|
239
|
+
end
|
|
240
|
+
end
|
|
241
|
+
local ____temp_8 = self:getNativeFieldValue(instance)
|
|
242
|
+
if ____temp_8 == nil then
|
|
243
|
+
____temp_8 = self.defaultValue
|
|
244
|
+
end
|
|
245
|
+
return ____temp_8
|
|
246
|
+
end
|
|
247
|
+
function ObjectField.prototype.setActualValue(self, instance, value)
|
|
248
|
+
local defaultValueByObjectDataEntryId = defaultValueByObjectDataEntryIdByObjectFieldId[self.id]
|
|
249
|
+
local objectDataEntryId = self:getObjectDataEntryId(instance)
|
|
250
|
+
if defaultValueByObjectDataEntryId ~= nil or self.isGlobal then
|
|
251
|
+
local defaultValue = (defaultValueByObjectDataEntryId or emptyLuaMap())[objectDataEntryId]
|
|
252
|
+
if defaultValue ~= nil or self.isGlobal then
|
|
253
|
+
local ____self_valueByInstance_instance_9 = self.valueByInstance[instance]
|
|
254
|
+
if ____self_valueByInstance_instance_9 == nil then
|
|
255
|
+
____self_valueByInstance_instance_9 = defaultValue
|
|
256
|
+
end
|
|
257
|
+
local ____self_valueByInstance_instance_9_10 = ____self_valueByInstance_instance_9
|
|
258
|
+
if ____self_valueByInstance_instance_9_10 == nil then
|
|
259
|
+
____self_valueByInstance_instance_9_10 = self.defaultValue
|
|
260
|
+
end
|
|
261
|
+
local previousValue = ____self_valueByInstance_instance_9_10
|
|
262
|
+
self.valueByInstance[instance] = value
|
|
263
|
+
return previousValue
|
|
264
|
+
end
|
|
265
|
+
end
|
|
266
|
+
if not self:hasNativeFieldValue(objectDataEntryId) then
|
|
267
|
+
return nil
|
|
268
|
+
end
|
|
269
|
+
local previousValue = self:getNativeFieldValue(instance)
|
|
270
|
+
if value ~= previousValue and not self:setNativeFieldValue(instance, value) then
|
|
271
|
+
return nil
|
|
272
|
+
end
|
|
273
|
+
return previousValue
|
|
274
|
+
end
|
|
275
|
+
function ObjectField.prototype.calculateActualValue(self, instance)
|
|
276
|
+
local ____opt_11 = self.originalValueByInstance
|
|
277
|
+
local originalValue = ____opt_11 and ____opt_11[instance]
|
|
278
|
+
local ____opt_13 = self.modifiersByInstance
|
|
279
|
+
local modifiers = ____opt_13 and ____opt_13[instance]
|
|
280
|
+
if originalValue ~= nil then
|
|
281
|
+
local value = originalValue
|
|
282
|
+
if modifiers ~= nil then
|
|
283
|
+
for modifier in pairs(modifiers) do
|
|
284
|
+
value = modifier(instance, value, originalValue)
|
|
285
|
+
end
|
|
286
|
+
return value, true
|
|
287
|
+
end
|
|
288
|
+
return value, false
|
|
289
|
+
end
|
|
290
|
+
return self.defaultValue, false
|
|
291
|
+
end
|
|
162
292
|
function ObjectField.prototype.invokeValueChangeEvent(self, ...)
|
|
163
293
|
self:invokeValueChangeEventRecursive(
|
|
164
294
|
getClass(self),
|
|
@@ -212,37 +342,37 @@ function ObjectArrayField.prototype.getValue(self, entry, index)
|
|
|
212
342
|
if defaultValueByObjectDataEntryId ~= nil then
|
|
213
343
|
local value = defaultValueByObjectDataEntryId[entry.id]
|
|
214
344
|
if value ~= nil then
|
|
215
|
-
local
|
|
345
|
+
local ____temp_16
|
|
216
346
|
if index == nil then
|
|
217
|
-
|
|
347
|
+
____temp_16 = value
|
|
218
348
|
else
|
|
219
|
-
local
|
|
220
|
-
if
|
|
221
|
-
|
|
349
|
+
local ____value_index_15 = value[index + 1]
|
|
350
|
+
if ____value_index_15 == nil then
|
|
351
|
+
____value_index_15 = self.defaultValue
|
|
222
352
|
end
|
|
223
|
-
|
|
353
|
+
____temp_16 = ____value_index_15
|
|
224
354
|
end
|
|
225
|
-
return
|
|
355
|
+
return ____temp_16
|
|
226
356
|
end
|
|
227
357
|
end
|
|
228
358
|
return index == nil and ({}) or self.defaultValue
|
|
229
359
|
end
|
|
230
360
|
local defaultValueByObjectDataEntryId = defaultValueByObjectDataEntryIdByObjectFieldId[self.id]
|
|
231
|
-
if defaultValueByObjectDataEntryId ~= nil then
|
|
232
|
-
local defaultValue = defaultValueByObjectDataEntryId[self:getObjectDataEntryId(entry)]
|
|
233
|
-
if defaultValue ~= nil then
|
|
234
|
-
local value = self.valueByInstance[entry] or defaultValue
|
|
235
|
-
local
|
|
361
|
+
if defaultValueByObjectDataEntryId ~= nil or self.isGlobal then
|
|
362
|
+
local defaultValue = (defaultValueByObjectDataEntryId or emptyLuaMap())[self:getObjectDataEntryId(entry)]
|
|
363
|
+
if defaultValue ~= nil or self.isGlobal then
|
|
364
|
+
local value = self.valueByInstance[entry] or defaultValue or emptyArray()
|
|
365
|
+
local ____temp_18
|
|
236
366
|
if index == nil then
|
|
237
|
-
|
|
367
|
+
____temp_18 = value
|
|
238
368
|
else
|
|
239
|
-
local
|
|
240
|
-
if
|
|
241
|
-
|
|
369
|
+
local ____value_index_17 = value[index + 1]
|
|
370
|
+
if ____value_index_17 == nil then
|
|
371
|
+
____value_index_17 = self.defaultValue
|
|
242
372
|
end
|
|
243
|
-
|
|
373
|
+
____temp_18 = ____value_index_17
|
|
244
374
|
end
|
|
245
|
-
return
|
|
375
|
+
return ____temp_18
|
|
246
376
|
end
|
|
247
377
|
end
|
|
248
378
|
if index ~= nil then
|
|
@@ -273,15 +403,12 @@ ____exports.ObjectLevelField = __TS__Class()
|
|
|
273
403
|
local ObjectLevelField = ____exports.ObjectLevelField
|
|
274
404
|
ObjectLevelField.name = "ObjectLevelField"
|
|
275
405
|
__TS__ClassExtends(ObjectLevelField, ObjectFieldBase)
|
|
276
|
-
function ObjectLevelField.prototype.
|
|
277
|
-
return __TS__TypeOf(value) == __TS__TypeOf(self.defaultValue)
|
|
278
|
-
end
|
|
279
|
-
function ObjectLevelField.prototype.getValue(self, entry, level)
|
|
406
|
+
function ObjectLevelField.prototype.getValue(self, entry, level, includeModifiers)
|
|
280
407
|
if level == nil then
|
|
281
408
|
local result = {}
|
|
282
409
|
local levelCount = self:getLevelCount(entry)
|
|
283
410
|
for i = 0, levelCount - 1 do
|
|
284
|
-
result[i + 1] = self:getValue(entry, i)
|
|
411
|
+
result[i + 1] = self:getValue(entry, i, includeModifiers)
|
|
285
412
|
end
|
|
286
413
|
return result
|
|
287
414
|
end
|
|
@@ -290,36 +417,24 @@ function ObjectLevelField.prototype.getValue(self, entry, level)
|
|
|
290
417
|
if defaultValueByObjectDataEntryId ~= nil then
|
|
291
418
|
local valueByLevel = defaultValueByObjectDataEntryId[entry.id]
|
|
292
419
|
if valueByLevel ~= nil then
|
|
293
|
-
local
|
|
294
|
-
if
|
|
295
|
-
|
|
420
|
+
local ____valueByLevel_index_19 = valueByLevel[level + 1]
|
|
421
|
+
if ____valueByLevel_index_19 == nil then
|
|
422
|
+
____valueByLevel_index_19 = self.defaultValue
|
|
296
423
|
end
|
|
297
|
-
return
|
|
424
|
+
return ____valueByLevel_index_19
|
|
298
425
|
end
|
|
299
426
|
end
|
|
300
427
|
return self.defaultValue
|
|
301
428
|
end
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
local
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
if ____temp_11 == nil then
|
|
309
|
-
____temp_11 = defaultValueByLevel[level + 1]
|
|
310
|
-
end
|
|
311
|
-
local ____temp_11_12 = ____temp_11
|
|
312
|
-
if ____temp_11_12 == nil then
|
|
313
|
-
____temp_11_12 = self.defaultValue
|
|
314
|
-
end
|
|
315
|
-
return ____temp_11_12
|
|
429
|
+
if not includeModifiers then
|
|
430
|
+
local ____opt_22 = self.originalValueByLevelByInstance
|
|
431
|
+
local ____opt_20 = ____opt_22 and ____opt_22[entry]
|
|
432
|
+
local originalValue = ____opt_20 and ____opt_20[level]
|
|
433
|
+
if originalValue ~= nil then
|
|
434
|
+
return originalValue
|
|
316
435
|
end
|
|
317
436
|
end
|
|
318
|
-
|
|
319
|
-
if ____temp_13 == nil then
|
|
320
|
-
____temp_13 = self.defaultValue
|
|
321
|
-
end
|
|
322
|
-
return ____temp_13
|
|
437
|
+
return self:getActualValue(entry, level)
|
|
323
438
|
end
|
|
324
439
|
function ObjectLevelField.prototype.setValue(self, entry, levelOrValue, value)
|
|
325
440
|
if value == nil then
|
|
@@ -359,52 +474,201 @@ function ObjectLevelField.prototype.setValue(self, entry, levelOrValue, value)
|
|
|
359
474
|
valueByLevel[level + 1] = value
|
|
360
475
|
return true
|
|
361
476
|
end
|
|
362
|
-
local
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
477
|
+
local previousOriginalValue
|
|
478
|
+
local modifiersByInstance = self.modifiersByInstance
|
|
479
|
+
if modifiersByInstance ~= nil then
|
|
480
|
+
local modifiers = modifiersByInstance[entry]
|
|
481
|
+
if modifiers ~= nil and modifiers.size ~= 0 then
|
|
482
|
+
local originalValueByLevelByInstance = self.originalValueByLevelByInstance
|
|
483
|
+
if originalValueByLevelByInstance == nil then
|
|
484
|
+
originalValueByLevelByInstance = mutableWeakLuaMap()
|
|
485
|
+
self.originalValueByLevelByInstance = originalValueByLevelByInstance
|
|
370
486
|
end
|
|
371
|
-
local
|
|
372
|
-
|
|
373
|
-
|
|
487
|
+
local originalValueByLevel = getOrPut(originalValueByLevelByInstance, entry, mutableLuaMap)
|
|
488
|
+
previousOriginalValue = originalValueByLevel[level]
|
|
489
|
+
if value == previousOriginalValue then
|
|
490
|
+
return true
|
|
374
491
|
end
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
492
|
+
originalValueByLevel[level] = value
|
|
493
|
+
value = self:calculateActualValue(entry, level)
|
|
494
|
+
end
|
|
495
|
+
end
|
|
496
|
+
local previousValue = self:setActualValue(entry, level, value)
|
|
497
|
+
if previousValue == nil then
|
|
498
|
+
return false
|
|
499
|
+
end
|
|
500
|
+
if previousOriginalValue ~= nil or value ~= previousValue then
|
|
501
|
+
local ____self_invokeValueChangeEvent_26 = self.invokeValueChangeEvent
|
|
502
|
+
local ____entry_25 = entry
|
|
503
|
+
local ____previousOriginalValue_24 = previousOriginalValue
|
|
504
|
+
if ____previousOriginalValue_24 == nil then
|
|
505
|
+
____previousOriginalValue_24 = previousValue
|
|
506
|
+
end
|
|
507
|
+
____self_invokeValueChangeEvent_26(
|
|
508
|
+
self,
|
|
509
|
+
____entry_25,
|
|
510
|
+
self,
|
|
511
|
+
level,
|
|
512
|
+
____previousOriginalValue_24,
|
|
513
|
+
value
|
|
514
|
+
)
|
|
515
|
+
end
|
|
516
|
+
return true
|
|
517
|
+
end
|
|
518
|
+
function ObjectLevelField.prototype.updateActualValue(self, instance, level)
|
|
519
|
+
local modifiersByInstance = self.modifiersByInstance
|
|
520
|
+
if modifiersByInstance == nil then
|
|
521
|
+
return
|
|
522
|
+
end
|
|
523
|
+
local modifiers = modifiersByInstance[instance]
|
|
524
|
+
if modifiers == nil or modifiers.size == 0 then
|
|
525
|
+
return
|
|
526
|
+
end
|
|
527
|
+
if level == nil then
|
|
528
|
+
for i = 0, self:getLevelCount(instance) - 1 do
|
|
529
|
+
self:updateActualValue(instance, i)
|
|
530
|
+
end
|
|
531
|
+
return
|
|
532
|
+
end
|
|
533
|
+
self:setActualValue(
|
|
534
|
+
instance,
|
|
535
|
+
level,
|
|
536
|
+
self:calculateActualValue(instance, level)
|
|
537
|
+
)
|
|
538
|
+
end
|
|
539
|
+
function ObjectLevelField.prototype.applyModifier(self, instance, modifier)
|
|
540
|
+
local modifiersByInstance = self.modifiersByInstance
|
|
541
|
+
if modifiersByInstance == nil then
|
|
542
|
+
modifiersByInstance = mutableWeakLuaMap()
|
|
543
|
+
self.modifiersByInstance = modifiersByInstance
|
|
544
|
+
end
|
|
545
|
+
if getOrPut(modifiersByInstance, instance, mutableLinkedSet):add(modifier) then
|
|
546
|
+
local originalValueByLevelByInstance = self.originalValueByLevelByInstance
|
|
547
|
+
if originalValueByLevelByInstance == nil then
|
|
548
|
+
originalValueByLevelByInstance = mutableWeakLuaMap()
|
|
549
|
+
self.originalValueByLevelByInstance = originalValueByLevelByInstance
|
|
550
|
+
end
|
|
551
|
+
local originalValueByLevel = getOrPut(originalValueByLevelByInstance, instance, mutableLuaMap)
|
|
552
|
+
local levelCount = self:getLevelCount(instance)
|
|
553
|
+
for level = 0, levelCount - 1 do
|
|
554
|
+
local ____originalValueByLevel_level_27 = originalValueByLevel[level]
|
|
555
|
+
if ____originalValueByLevel_level_27 == nil then
|
|
556
|
+
____originalValueByLevel_level_27 = self:getActualValue(instance, level)
|
|
378
557
|
end
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
558
|
+
originalValueByLevel[level] = ____originalValueByLevel_level_27
|
|
559
|
+
self:setActualValue(
|
|
560
|
+
instance,
|
|
561
|
+
level,
|
|
562
|
+
self:calculateActualValue(instance, level)
|
|
563
|
+
)
|
|
564
|
+
end
|
|
565
|
+
end
|
|
566
|
+
end
|
|
567
|
+
function ObjectLevelField.prototype.removeModifier(self, instance, modifier)
|
|
568
|
+
local modifiersByInstance = self.modifiersByInstance
|
|
569
|
+
if modifiersByInstance ~= nil then
|
|
570
|
+
local modifiers = modifiersByInstance[instance]
|
|
571
|
+
if modifiers ~= nil and modifiers:remove(modifier) then
|
|
572
|
+
local levelCount = self:getLevelCount(instance)
|
|
573
|
+
for level = 0, levelCount - 1 do
|
|
574
|
+
self:setActualValue(
|
|
575
|
+
instance,
|
|
385
576
|
level,
|
|
386
|
-
|
|
387
|
-
value
|
|
577
|
+
self:calculateActualValue(instance, level)
|
|
388
578
|
)
|
|
389
579
|
end
|
|
390
580
|
return true
|
|
391
581
|
end
|
|
392
582
|
end
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
value
|
|
402
|
-
)
|
|
403
|
-
else
|
|
583
|
+
return false
|
|
584
|
+
end
|
|
585
|
+
function ObjectLevelField.prototype.trySetValue(self, entry, levelOrValue, value)
|
|
586
|
+
if value ~= nil then
|
|
587
|
+
if __TS__TypeOf(value) ~= __TS__TypeOf(self.defaultValue) then
|
|
588
|
+
return false
|
|
589
|
+
end
|
|
590
|
+
if type(levelOrValue) ~= "number" then
|
|
404
591
|
return false
|
|
405
592
|
end
|
|
593
|
+
return self:setValue(entry, levelOrValue, value)
|
|
406
594
|
end
|
|
407
|
-
|
|
595
|
+
if __TS__TypeOf(levelOrValue) ~= __TS__TypeOf(self.defaultValue) then
|
|
596
|
+
return false
|
|
597
|
+
end
|
|
598
|
+
return self:setValue(entry, levelOrValue)
|
|
599
|
+
end
|
|
600
|
+
function ObjectLevelField.prototype.getActualValue(self, instance, level)
|
|
601
|
+
local defaultValueByObjectDataEntryId = defaultValueByObjectDataEntryIdByObjectFieldId[self.id]
|
|
602
|
+
if defaultValueByObjectDataEntryId ~= nil or self.isGlobal then
|
|
603
|
+
local defaultValueByLevel = (defaultValueByObjectDataEntryId or emptyLuaMap())[self:getObjectDataEntryId(instance)]
|
|
604
|
+
if defaultValueByLevel ~= nil or self.isGlobal then
|
|
605
|
+
local ____opt_28 = self.valueByInstance[instance]
|
|
606
|
+
local ____temp_30 = ____opt_28 and ____opt_28[level + 1]
|
|
607
|
+
if ____temp_30 == nil then
|
|
608
|
+
____temp_30 = (defaultValueByLevel or emptyArray())[level + 1]
|
|
609
|
+
end
|
|
610
|
+
local ____temp_30_31 = ____temp_30
|
|
611
|
+
if ____temp_30_31 == nil then
|
|
612
|
+
____temp_30_31 = self.defaultValue
|
|
613
|
+
end
|
|
614
|
+
return ____temp_30_31
|
|
615
|
+
end
|
|
616
|
+
end
|
|
617
|
+
local ____temp_32 = self:getNativeFieldValue(instance, level)
|
|
618
|
+
if ____temp_32 == nil then
|
|
619
|
+
____temp_32 = self.defaultValue
|
|
620
|
+
end
|
|
621
|
+
return ____temp_32
|
|
622
|
+
end
|
|
623
|
+
function ObjectLevelField.prototype.setActualValue(self, instance, level, value)
|
|
624
|
+
local defaultValueByObjectDataEntryId = defaultValueByObjectDataEntryIdByObjectFieldId[self.id]
|
|
625
|
+
local objectDataEntryId = self:getObjectDataEntryId(instance)
|
|
626
|
+
if defaultValueByObjectDataEntryId ~= nil or self.isGlobal then
|
|
627
|
+
local defaultValueByLevel = (defaultValueByObjectDataEntryId or emptyLuaMap())[objectDataEntryId]
|
|
628
|
+
if defaultValueByLevel ~= nil or self.isGlobal then
|
|
629
|
+
local valueByLevel = self.valueByInstance[instance]
|
|
630
|
+
if valueByLevel == nil then
|
|
631
|
+
valueByLevel = {}
|
|
632
|
+
self.valueByInstance[instance] = valueByLevel
|
|
633
|
+
end
|
|
634
|
+
local ____valueByLevel_index_33 = valueByLevel[level + 1]
|
|
635
|
+
if ____valueByLevel_index_33 == nil then
|
|
636
|
+
____valueByLevel_index_33 = (defaultValueByLevel or emptyArray())[level + 1]
|
|
637
|
+
end
|
|
638
|
+
local ____valueByLevel_index_33_34 = ____valueByLevel_index_33
|
|
639
|
+
if ____valueByLevel_index_33_34 == nil then
|
|
640
|
+
____valueByLevel_index_33_34 = self.defaultValue
|
|
641
|
+
end
|
|
642
|
+
local previousValue = ____valueByLevel_index_33_34
|
|
643
|
+
valueByLevel[level + 1] = value
|
|
644
|
+
return previousValue
|
|
645
|
+
end
|
|
646
|
+
end
|
|
647
|
+
if not self:hasNativeFieldValue(objectDataEntryId) then
|
|
648
|
+
return nil
|
|
649
|
+
end
|
|
650
|
+
local previousValue = self:getNativeFieldValue(instance, level)
|
|
651
|
+
if value ~= previousValue and not self:setNativeFieldValue(instance, level, value) then
|
|
652
|
+
return nil
|
|
653
|
+
end
|
|
654
|
+
return previousValue
|
|
655
|
+
end
|
|
656
|
+
function ObjectLevelField.prototype.calculateActualValue(self, instance, level)
|
|
657
|
+
local ____opt_37 = self.originalValueByLevelByInstance
|
|
658
|
+
local ____opt_35 = ____opt_37 and ____opt_37[instance]
|
|
659
|
+
local originalValue = ____opt_35 and ____opt_35[level]
|
|
660
|
+
local ____opt_39 = self.modifiersByInstance
|
|
661
|
+
local modifiers = ____opt_39 and ____opt_39[instance]
|
|
662
|
+
if originalValue ~= nil then
|
|
663
|
+
local value = originalValue
|
|
664
|
+
if modifiers ~= nil then
|
|
665
|
+
for modifier in pairs(modifiers) do
|
|
666
|
+
value = modifier(instance, level, value, originalValue)
|
|
667
|
+
end
|
|
668
|
+
end
|
|
669
|
+
return value
|
|
670
|
+
end
|
|
671
|
+
return self.defaultValue
|
|
408
672
|
end
|
|
409
673
|
function ObjectLevelField.prototype.invokeValueChangeEvent(self, ...)
|
|
410
674
|
self:invokeValueChangeEventRecursive(
|
package/engine/random.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
/** @noSelfInFile */
|
|
2
|
+
import { ReadonlyNonEmptyArray } from "../utility/types";
|
|
2
3
|
export declare const randomAngle: () => number;
|
|
3
4
|
export declare const randomInteger: {
|
|
4
5
|
(upperBound?: number): number;
|
|
@@ -8,3 +9,13 @@ export declare const randomFloat: {
|
|
|
8
9
|
(upperBound?: number): number;
|
|
9
10
|
(lowerBound: number, upperBound: number): number;
|
|
10
11
|
};
|
|
12
|
+
export declare const randomXY: (centerX: number, centerY: number, range: number) => LuaMultiReturn<[x: number, y: number]>;
|
|
13
|
+
export declare const randomElement: {
|
|
14
|
+
<T>(array: ReadonlyNonEmptyArray<T>): T;
|
|
15
|
+
<T>(array: ReadonlyArray<T>): T | undefined;
|
|
16
|
+
};
|
|
17
|
+
export declare const random: {
|
|
18
|
+
<T>(element: T, ...elements: T[]): T;
|
|
19
|
+
<T>(...elements: T[]): T | undefined;
|
|
20
|
+
};
|
|
21
|
+
export declare const shuffle: (array: unknown[]) => void;
|