warscript 0.0.1-dev.f5421e8 → 0.0.1-dev.f594e71
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 +6 -0
- package/attributes.lua +17 -1
- package/core/types/frame.d.ts +1 -0
- package/core/types/frame.lua +136 -58
- package/core/types/handle.lua +9 -9
- package/core/types/item.d.ts +1 -0
- package/core/types/item.lua +1 -0
- 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 +1 -1
- package/core/types/sound.lua +19 -9
- package/core/types/tileCell.d.ts +11 -1
- package/core/types/tileCell.lua +97 -0
- package/core/types/timer.d.ts +3 -1
- package/core/types/timer.lua +27 -2
- package/core/types/unit.d.ts +4 -0
- package/core/types/unit.lua +4 -0
- package/decl/native.d.ts +1718 -964
- package/destroyable.d.ts +1 -0
- package/destroyable.lua +9 -0
- package/engine/behavior.d.ts +14 -1
- package/engine/behavior.lua +230 -70
- package/engine/behaviour/ability/apply-buff.lua +5 -5
- package/engine/behaviour/ability/damage.d.ts +9 -3
- package/engine/behaviour/ability/damage.lua +40 -49
- package/engine/behaviour/ability/emulate-impact.d.ts +1 -1
- package/engine/behaviour/ability/emulate-impact.lua +23 -7
- package/engine/behaviour/ability/remove-buffs.d.ts +9 -0
- package/engine/behaviour/ability/remove-buffs.lua +21 -0
- package/engine/behaviour/ability/restore-mana.d.ts +1 -1
- package/engine/behaviour/ability/restore-mana.lua +6 -6
- package/engine/behaviour/ability.d.ts +12 -6
- package/engine/behaviour/ability.lua +49 -17
- package/engine/behaviour/unit/stun-immunity.d.ts +12 -6
- package/engine/behaviour/unit/stun-immunity.lua +57 -31
- package/engine/behaviour/unit.d.ts +40 -3
- package/engine/behaviour/unit.lua +270 -6
- package/engine/buff.d.ts +75 -28
- package/engine/buff.lua +433 -196
- package/engine/index.d.ts +2 -1
- package/engine/internal/ability.d.ts +11 -1
- package/engine/internal/ability.lua +100 -41
- package/engine/internal/item/ability.lua +63 -11
- package/engine/internal/item/fields.d.ts +12 -0
- package/engine/internal/item/fields.lua +33 -0
- package/engine/internal/item+owner.d.ts +1 -0
- package/engine/internal/item+owner.lua +19 -6
- package/engine/internal/item.d.ts +28 -16
- package/engine/internal/item.lua +241 -82
- package/engine/internal/mechanics/cast-ability.lua +6 -3
- 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/object-data/armor-bonus.d.ts +2 -0
- package/engine/internal/object-data/attribute-bonus.lua +2 -2
- 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/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/unit/ability.d.ts +35 -0
- package/engine/internal/unit/ability.lua +113 -12
- 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/bag.d.ts +18 -0
- package/engine/internal/unit/bag.lua +63 -0
- package/engine/internal/unit/bonus.d.ts +6 -0
- package/engine/internal/unit/bonus.lua +33 -3
- package/engine/internal/unit/buff.d.ts +2 -2
- package/engine/internal/unit/buff.lua +34 -19
- package/engine/internal/unit/equipment.d.ts +36 -0
- package/engine/internal/unit/equipment.lua +169 -0
- package/engine/internal/unit/fly-height.d.ts +7 -0
- package/engine/internal/unit/fly-height.lua +20 -0
- package/engine/internal/unit/interrupts.d.ts +12 -0
- package/engine/internal/unit/interrupts.lua +28 -0
- package/engine/internal/unit/{item.d.ts → inventory.d.ts} +3 -3
- package/engine/internal/unit/{item.lua → inventory.lua} +25 -26
- package/engine/internal/unit/main-selected.lua +12 -27
- package/engine/internal/unit/order.d.ts +20 -0
- package/engine/internal/unit/order.lua +136 -0
- package/engine/internal/unit/pseudo-passive-abilities.d.ts +2 -0
- package/engine/internal/unit/pseudo-passive-abilities.lua +11 -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.lua +10 -1
- 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+spellSteal.lua +1 -2
- package/engine/internal/unit-missile-data.lua +58 -32
- package/engine/internal/unit-missile-launch.lua +52 -14
- package/engine/internal/unit.d.ts +39 -27
- package/engine/internal/unit.lua +382 -269
- package/engine/local-client.d.ts +27 -0
- package/engine/local-client.lua +370 -54
- 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/attack-type.d.ts +7 -8
- package/engine/object-data/auxiliary/attack-type.lua +42 -0
- 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 +13 -0
- package/engine/object-data/auxiliary/equipment-type.lua +2 -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-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/sound-set-name.d.ts +14 -3
- 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/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 +3 -0
- package/engine/object-data/entry/ability-type/blank-configurable.lua +30 -0
- 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/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/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/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/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/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/provoke.d.ts +21 -0
- package/engine/object-data/entry/ability-type/provoke.lua +66 -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/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-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/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/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/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 +12 -3
- package/engine/object-data/entry/ability-type.lua +148 -7
- package/engine/object-data/entry/buff-type/applicable.lua +113 -104
- package/engine/object-data/entry/buff-type.d.ts +10 -12
- package/engine/object-data/entry/buff-type.lua +37 -27
- package/engine/object-data/entry/destructible-type.d.ts +32 -2
- package/engine/object-data/entry/destructible-type.lua +181 -0
- package/engine/object-data/entry/item-type.d.ts +12 -3
- package/engine/object-data/entry/item-type.lua +52 -0
- package/engine/object-data/entry/lightning-type.d.ts +2 -2
- package/engine/object-data/entry/sound-preset.d.ts +2 -2
- package/engine/object-data/entry/unit-type.d.ts +64 -6
- package/engine/object-data/entry/unit-type.lua +531 -85
- package/engine/object-data/entry/upgrade.d.ts +2 -2
- package/engine/object-data/entry.d.ts +4 -1
- package/engine/object-field/ability.d.ts +4 -4
- package/engine/object-field/ability.lua +9 -8
- 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 -3
- package/engine/object-field/unit.lua +268 -7
- package/engine/object-field.d.ts +26 -7
- package/engine/object-field.lua +360 -119
- package/engine/random.d.ts +10 -0
- package/engine/random.lua +21 -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 +3 -0
- package/engine/standard/entries/buff-type.lua +3 -0
- package/engine/standard/entries/item-type.d.ts +1299 -0
- package/engine/standard/entries/item-type.lua +2 -0
- package/engine/standard/entries/unit-type.d.ts +5 -0
- package/engine/standard/entries/unit-type.lua +5 -0
- package/engine/standard/fields/ability.d.ts +2 -2
- package/engine/standard/fields/ability.lua +2 -2
- 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 +10 -1
- package/engine/unit.lua +10 -1
- package/event.d.ts +1 -1
- package/lualib_bundle.lua +1 -1
- package/math.d.ts +2 -0
- package/math.lua +14 -0
- package/net/socket.lua +1 -1
- package/network.lua +25 -1
- package/objutil/buff.lua +11 -10
- package/objutil/object.lua +1 -1
- package/operation.d.ts +8 -1
- package/operation.lua +38 -18
- package/package.json +3 -23
- package/patch-lua.lua +15 -0
- package/patch-lualib.lua +1 -1
- package/utility/arrays.d.ts +2 -0
- package/utility/arrays.lua +11 -0
- 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/linked-map.d.ts +35 -0
- package/utility/linked-map.lua +107 -0
- package/utility/linked-set.d.ts +5 -1
- package/utility/linked-set.lua +49 -1
- package/utility/lua-maps.d.ts +15 -2
- package/utility/lua-maps.lua +53 -2
- package/utility/lua-sets.d.ts +2 -0
- 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/types.d.ts +3 -0
- package/utility/unordered-map.d.ts +27 -0
- package/utility/unordered-map.lua +99 -0
- package/core/types/order.d.ts +0 -25
- package/core/types/order.lua +0 -55
- /package/engine/internal/{object-data/armor-increase.d.ts → misc/damage-metadata-by-target.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
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__Class = ____lualib.__TS__Class
|
|
3
|
+
local __TS__New = ____lualib.__TS__New
|
|
4
|
+
local ____exports = {}
|
|
5
|
+
local ____exception = require("exception")
|
|
6
|
+
local IllegalArgumentException = ____exception.IllegalArgumentException
|
|
7
|
+
local ____math = require("math")
|
|
8
|
+
local MAXIMUM_INTEGER = ____math.MAXIMUM_INTEGER
|
|
9
|
+
local PI = ____math.PI
|
|
10
|
+
local cos = ____math.cos
|
|
11
|
+
local sin = ____math.sin
|
|
12
|
+
local sqrt = ____math.sqrt
|
|
13
|
+
local clock = os.clock
|
|
14
|
+
local time = os.time
|
|
15
|
+
local byte = string.byte
|
|
16
|
+
local pack = string.pack
|
|
17
|
+
local ____unpack = string.unpack
|
|
18
|
+
local select = _G.select
|
|
19
|
+
local toString = _G.tostring
|
|
20
|
+
local globals = _G
|
|
21
|
+
local UINT32_MASK = 4294967295
|
|
22
|
+
local POW_2_32 = 4294967296
|
|
23
|
+
--- 2^26, used to join two draws into a 53-bit mantissa.
|
|
24
|
+
local POW_2_26 = 67108864
|
|
25
|
+
--- 2^53, the amount of representable values of a 53-bit mantissa.
|
|
26
|
+
local POW_2_53 = 9007199254740992
|
|
27
|
+
local GOLDEN_RATIO_32 = 2654435769
|
|
28
|
+
local FNV_PRIME_32 = 16777619
|
|
29
|
+
--- The SplitMix32 finalizer: avalanches a 32-bit value.
|
|
30
|
+
local function mix(value)
|
|
31
|
+
local z = value & UINT32_MASK
|
|
32
|
+
z = (z ~ z >> 16) * 569420461 & UINT32_MASK
|
|
33
|
+
z = (z ~ z >> 15) * 1935289751 & UINT32_MASK
|
|
34
|
+
return (z ~ z >> 15) & UINT32_MASK
|
|
35
|
+
end
|
|
36
|
+
--- Folds the bytes of `value` into `hash` (FNV-1a).
|
|
37
|
+
local function hashString(hash, value)
|
|
38
|
+
for i = 1, #value do
|
|
39
|
+
hash = (hash ~ byte(value, i)) * FNV_PRIME_32 & UINT32_MASK
|
|
40
|
+
end
|
|
41
|
+
return hash
|
|
42
|
+
end
|
|
43
|
+
--- Folds the exact bit pattern of `value` into `hash`, without assuming it is an integer.
|
|
44
|
+
local function hashNumber(hash, value)
|
|
45
|
+
local low, high = ____unpack(
|
|
46
|
+
"<i4i4",
|
|
47
|
+
pack("<d", value)
|
|
48
|
+
)
|
|
49
|
+
return mix(mix(hash ~ low & UINT32_MASK) ~ high & UINT32_MASK)
|
|
50
|
+
end
|
|
51
|
+
local entropyCounter = 0
|
|
52
|
+
--- Gathers 32 bits of client-local entropy.
|
|
53
|
+
--
|
|
54
|
+
-- Every source is local by nature: the wall clock and the process CPU time drift apart between
|
|
55
|
+
-- machines, and the heap addresses of freshly allocated tables and of loaded code differ between
|
|
56
|
+
-- processes. The CPU time is read once more at the end, so that the time the gathering itself took
|
|
57
|
+
-- contributes as well.
|
|
58
|
+
local function collectEntropy()
|
|
59
|
+
entropyCounter = entropyCounter + 1
|
|
60
|
+
local entropy = mix(GOLDEN_RATIO_32 ~ entropyCounter)
|
|
61
|
+
entropy = mix(entropy ~ time() & UINT32_MASK)
|
|
62
|
+
entropy = hashNumber(
|
|
63
|
+
entropy,
|
|
64
|
+
clock()
|
|
65
|
+
)
|
|
66
|
+
entropy = mix(hashString(
|
|
67
|
+
entropy,
|
|
68
|
+
toString({})
|
|
69
|
+
))
|
|
70
|
+
entropy = mix(hashString(
|
|
71
|
+
entropy,
|
|
72
|
+
toString({})
|
|
73
|
+
))
|
|
74
|
+
entropy = mix(hashString(
|
|
75
|
+
entropy,
|
|
76
|
+
toString(globals)
|
|
77
|
+
))
|
|
78
|
+
entropy = mix(hashString(
|
|
79
|
+
entropy,
|
|
80
|
+
toString(mix)
|
|
81
|
+
))
|
|
82
|
+
return hashNumber(
|
|
83
|
+
entropy,
|
|
84
|
+
clock()
|
|
85
|
+
)
|
|
86
|
+
end
|
|
87
|
+
--- A client-local pseudorandom generator that is safe to advance inside a local block.
|
|
88
|
+
--
|
|
89
|
+
-- Instances are independent of each other and of the game's synchronous randomness.
|
|
90
|
+
____exports.AsyncRandom = __TS__Class()
|
|
91
|
+
local AsyncRandom = ____exports.AsyncRandom
|
|
92
|
+
AsyncRandom.name = "AsyncRandom"
|
|
93
|
+
function AsyncRandom.prototype.____constructor(self, seed)
|
|
94
|
+
self.a = 0
|
|
95
|
+
self.b = 0
|
|
96
|
+
self.c = 0
|
|
97
|
+
self.d = 0
|
|
98
|
+
self:setSeed(seed or collectEntropy())
|
|
99
|
+
end
|
|
100
|
+
function AsyncRandom.prototype.setSeed(self, seed)
|
|
101
|
+
local z = hashNumber(GOLDEN_RATIO_32, seed)
|
|
102
|
+
z = z + GOLDEN_RATIO_32 & UINT32_MASK
|
|
103
|
+
local a = mix(z)
|
|
104
|
+
z = z + GOLDEN_RATIO_32 & UINT32_MASK
|
|
105
|
+
local b = mix(z)
|
|
106
|
+
z = z + GOLDEN_RATIO_32 & UINT32_MASK
|
|
107
|
+
local c = mix(z)
|
|
108
|
+
z = z + GOLDEN_RATIO_32 & UINT32_MASK
|
|
109
|
+
local d = mix(z)
|
|
110
|
+
self.a = a
|
|
111
|
+
self.b = b
|
|
112
|
+
self.c = c
|
|
113
|
+
self.d = a | b | c | d ~= 0 and d or GOLDEN_RATIO_32
|
|
114
|
+
end
|
|
115
|
+
function AsyncRandom.prototype.addEntropy(self, value)
|
|
116
|
+
local entropy = collectEntropy()
|
|
117
|
+
if type(value) == "number" then
|
|
118
|
+
entropy = hashNumber(entropy, value)
|
|
119
|
+
elseif value ~= nil then
|
|
120
|
+
entropy = hashString(entropy, value)
|
|
121
|
+
end
|
|
122
|
+
local a = self.a ~ mix(entropy)
|
|
123
|
+
local b = self.b ~ mix(a)
|
|
124
|
+
local c = self.c ~ mix(b)
|
|
125
|
+
local d = self.d ~ mix(c)
|
|
126
|
+
self.a = a
|
|
127
|
+
self.b = b
|
|
128
|
+
self.c = c
|
|
129
|
+
self.d = a | b | c | d ~= 0 and d or GOLDEN_RATIO_32
|
|
130
|
+
self:next()
|
|
131
|
+
end
|
|
132
|
+
function AsyncRandom.prototype.next(self)
|
|
133
|
+
local a = self.a
|
|
134
|
+
local b = self.b
|
|
135
|
+
local result = b * 5 & UINT32_MASK
|
|
136
|
+
result = (result << 7 | result >> 25) & UINT32_MASK
|
|
137
|
+
result = result * 9 & UINT32_MASK
|
|
138
|
+
local t = b << 9 & UINT32_MASK
|
|
139
|
+
local c = self.c ~ a
|
|
140
|
+
local d = self.d ~ b
|
|
141
|
+
self.a = a ~ d
|
|
142
|
+
self.b = b ~ c
|
|
143
|
+
self.c = c ~ t
|
|
144
|
+
self.d = (d << 11 | d >> 21) & UINT32_MASK
|
|
145
|
+
return result
|
|
146
|
+
end
|
|
147
|
+
function AsyncRandom.prototype.nextBounded(self, bound)
|
|
148
|
+
if bound <= 1 then
|
|
149
|
+
return 0
|
|
150
|
+
end
|
|
151
|
+
local limit = POW_2_32 - POW_2_32 % bound
|
|
152
|
+
local value = self:next()
|
|
153
|
+
while value >= limit do
|
|
154
|
+
value = self:next()
|
|
155
|
+
end
|
|
156
|
+
return value % bound
|
|
157
|
+
end
|
|
158
|
+
function AsyncRandom.prototype.nextBits(self, bitCount)
|
|
159
|
+
return self:next() >> 32 - bitCount
|
|
160
|
+
end
|
|
161
|
+
function AsyncRandom.prototype.nextInteger(self, m, n)
|
|
162
|
+
local lowerBound = n ~= nil and m or 0
|
|
163
|
+
local upperBound = n ~= nil and n or (m or MAXIMUM_INTEGER)
|
|
164
|
+
if upperBound < lowerBound then
|
|
165
|
+
error(
|
|
166
|
+
__TS__New(
|
|
167
|
+
IllegalArgumentException,
|
|
168
|
+
((("Upper bound (" .. tostring(upperBound)) .. ") is less than lower bound (") .. tostring(lowerBound)) .. ")."
|
|
169
|
+
),
|
|
170
|
+
0
|
|
171
|
+
)
|
|
172
|
+
end
|
|
173
|
+
return lowerBound + self:nextBounded(upperBound - lowerBound + 1)
|
|
174
|
+
end
|
|
175
|
+
function AsyncRandom.prototype.nextFloat(self, m, n)
|
|
176
|
+
local high = self:next() >> 5
|
|
177
|
+
local low = self:next() >> 6
|
|
178
|
+
local value = (high * POW_2_26 + low) / POW_2_53
|
|
179
|
+
return n ~= nil and m + value * (n - m) or value * (m or MAXIMUM_INTEGER)
|
|
180
|
+
end
|
|
181
|
+
function AsyncRandom.prototype.nextBoolean(self, probability)
|
|
182
|
+
local ____temp_0
|
|
183
|
+
if probability == nil then
|
|
184
|
+
____temp_0 = self:next() >> 31 ~= 0
|
|
185
|
+
else
|
|
186
|
+
____temp_0 = self:nextFloat() < probability
|
|
187
|
+
end
|
|
188
|
+
return ____temp_0
|
|
189
|
+
end
|
|
190
|
+
function AsyncRandom.prototype.nextAngle(self)
|
|
191
|
+
return self:nextFloat() * 360
|
|
192
|
+
end
|
|
193
|
+
function AsyncRandom.prototype.nextXY(self, centerX, centerY, range)
|
|
194
|
+
local r = range * sqrt(self:nextFloat())
|
|
195
|
+
local t = self:nextFloat() * 2 * PI
|
|
196
|
+
return centerX + r * cos(t), centerY + r * sin(t)
|
|
197
|
+
end
|
|
198
|
+
function AsyncRandom.prototype.nextElement(self, array)
|
|
199
|
+
local length = #array
|
|
200
|
+
local ____temp_1
|
|
201
|
+
if length ~= 0 then
|
|
202
|
+
____temp_1 = array[self:nextBounded(length) + 1]
|
|
203
|
+
else
|
|
204
|
+
____temp_1 = nil
|
|
205
|
+
end
|
|
206
|
+
return ____temp_1
|
|
207
|
+
end
|
|
208
|
+
function AsyncRandom.prototype.nextOf(self, ...)
|
|
209
|
+
local count = select("#", ...)
|
|
210
|
+
local ____temp_2
|
|
211
|
+
if count ~= 0 then
|
|
212
|
+
____temp_2 = (select(
|
|
213
|
+
self:nextBounded(count) + 1,
|
|
214
|
+
...
|
|
215
|
+
))
|
|
216
|
+
else
|
|
217
|
+
____temp_2 = nil
|
|
218
|
+
end
|
|
219
|
+
return ____temp_2
|
|
220
|
+
end
|
|
221
|
+
function AsyncRandom.prototype.shuffle(self, array)
|
|
222
|
+
for i = #array - 1, 1, -1 do
|
|
223
|
+
local j = self:nextBounded(i + 1)
|
|
224
|
+
local value = array[i + 1]
|
|
225
|
+
array[i + 1] = array[j + 1]
|
|
226
|
+
array[j + 1] = value
|
|
227
|
+
end
|
|
228
|
+
end
|
|
229
|
+
local defaultAsyncRandom
|
|
230
|
+
local function getDefaultAsyncRandom()
|
|
231
|
+
defaultAsyncRandom = defaultAsyncRandom or __TS__New(____exports.AsyncRandom)
|
|
232
|
+
return defaultAsyncRandom
|
|
233
|
+
end
|
|
234
|
+
--- Folds freshly gathered client-local entropy, optionally together with the given `value`,
|
|
235
|
+
-- into the state of the generator backing the `asyncRandom*` functions.
|
|
236
|
+
____exports.addAsyncRandomEntropy = function(value)
|
|
237
|
+
getDefaultAsyncRandom():addEntropy(value)
|
|
238
|
+
end
|
|
239
|
+
--- Returns the given amount (`0` to `32`) of random bits as a non-negative integer.
|
|
240
|
+
____exports.asyncRandomBits = function(bitCount)
|
|
241
|
+
return getDefaultAsyncRandom():nextBits(bitCount)
|
|
242
|
+
end
|
|
243
|
+
--- Returns a uniformly distributed integer, both bounds being inclusive:
|
|
244
|
+
-- in `[0, upperBound]` when called with a single bound, in `[lowerBound, upperBound]` otherwise.
|
|
245
|
+
____exports.asyncRandomInteger = function(m, n) return n ~= nil and getDefaultAsyncRandom():nextInteger(m, n) or getDefaultAsyncRandom():nextInteger(m) end
|
|
246
|
+
--- Returns a uniformly distributed float with 53 bits of precision, the upper bound being exclusive:
|
|
247
|
+
-- in `[0, upperBound)` when called with a single bound, in `[lowerBound, upperBound)` otherwise.
|
|
248
|
+
____exports.asyncRandomFloat = function(m, n) return n ~= nil and getDefaultAsyncRandom():nextFloat(m, n) or getDefaultAsyncRandom():nextFloat(m) end
|
|
249
|
+
--- Returns `true` with the given `probability`, or with a probability of one half by default.
|
|
250
|
+
____exports.asyncRandomBoolean = function(probability)
|
|
251
|
+
return getDefaultAsyncRandom():nextBoolean(probability)
|
|
252
|
+
end
|
|
253
|
+
--- Returns a uniformly distributed angle in degrees, in `[0, 360)`.
|
|
254
|
+
____exports.asyncRandomAngle = function()
|
|
255
|
+
return getDefaultAsyncRandom():nextAngle()
|
|
256
|
+
end
|
|
257
|
+
--- Returns a uniformly distributed point within `range` of the given center.
|
|
258
|
+
____exports.asyncRandomXY = function(centerX, centerY, range)
|
|
259
|
+
return getDefaultAsyncRandom():nextXY(centerX, centerY, range)
|
|
260
|
+
end
|
|
261
|
+
--- Returns a uniformly distributed element of the given `array`.
|
|
262
|
+
____exports.asyncRandomElement = function(array)
|
|
263
|
+
return getDefaultAsyncRandom():nextElement(array)
|
|
264
|
+
end
|
|
265
|
+
--- Returns a uniformly distributed one of the given `elements`.
|
|
266
|
+
____exports.asyncRandom = function(...)
|
|
267
|
+
return getDefaultAsyncRandom():nextOf(...)
|
|
268
|
+
end
|
|
269
|
+
--- Shuffles the given `array` in place, each permutation being equally likely.
|
|
270
|
+
____exports.asyncShuffle = function(array)
|
|
271
|
+
getDefaultAsyncRandom():shuffle(array)
|
|
272
|
+
end
|
|
273
|
+
return ____exports
|
package/utility/records.lua
CHANGED
|
@@ -1,9 +1,28 @@
|
|
|
1
1
|
local ____exports = {}
|
|
2
|
+
local ____pairs = _G.pairs
|
|
3
|
+
local tableSort = table.sort
|
|
2
4
|
____exports.invertRecord = function(record)
|
|
3
5
|
local invertRecord = {}
|
|
4
|
-
for key, value in
|
|
6
|
+
for key, value in ____pairs(record) do
|
|
5
7
|
invertRecord[value] = key
|
|
6
8
|
end
|
|
7
9
|
return invertRecord
|
|
8
10
|
end
|
|
11
|
+
local sortedKeysInternal = {}
|
|
12
|
+
local lastSortedKeysLength = 0
|
|
13
|
+
---
|
|
14
|
+
-- @internal For use by internal systems only.
|
|
15
|
+
____exports.sortedKeysUnnested = function(record)
|
|
16
|
+
local length = 0
|
|
17
|
+
for key in ____pairs(record) do
|
|
18
|
+
length = length + 1
|
|
19
|
+
sortedKeysInternal[length] = key
|
|
20
|
+
end
|
|
21
|
+
for i = length + 1, lastSortedKeysLength do
|
|
22
|
+
sortedKeysInternal[i] = nil
|
|
23
|
+
end
|
|
24
|
+
lastSortedKeysLength = length
|
|
25
|
+
tableSort(sortedKeysInternal)
|
|
26
|
+
return sortedKeysInternal
|
|
27
|
+
end
|
|
9
28
|
return ____exports
|
package/utility/types.d.ts
CHANGED
|
@@ -37,4 +37,7 @@ export type Flatten<T extends readonly any[], A extends readonly any[] = []> = T
|
|
|
37
37
|
export type Prohibit<T, K extends keyof any> = T & {
|
|
38
38
|
[P in K]?: never;
|
|
39
39
|
};
|
|
40
|
+
type TupleSplit<T, N extends number, O extends readonly any[] = readonly []> = O["length"] extends N ? [O, T] : T extends readonly [infer F, ...infer R] ? TupleSplit<readonly [...R], N, readonly [...O, F]> : [O, T];
|
|
41
|
+
export type TakeFirst<T extends readonly any[], N extends number> = TupleSplit<T, N>[0];
|
|
42
|
+
export type SkipFirst<T extends readonly any[], N extends number> = TupleSplit<T, N>[1];
|
|
40
43
|
export {};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/** @noSelfInFile */
|
|
2
|
+
type OneSidedTypeGuard = {
|
|
3
|
+
readonly __oneSidedTypeGuard: unique symbol;
|
|
4
|
+
};
|
|
5
|
+
export interface ReadonlyUnorderedMap<K extends AnyNotNil, V> extends LuaPairsIterable<K, V> {
|
|
6
|
+
get(key: K): V | undefined;
|
|
7
|
+
contains(key: AnyNotNil): key is K & OneSidedTypeGuard;
|
|
8
|
+
readonly size: number;
|
|
9
|
+
}
|
|
10
|
+
export interface UnorderedMap<K extends AnyNotNil, V> extends LuaPairsIterable<K, V> {
|
|
11
|
+
readonly __unorderedMap: unique symbol;
|
|
12
|
+
}
|
|
13
|
+
export declare class UnorderedMap<K extends AnyNotNil, V> implements ReadonlyUnorderedMap<K, V> {
|
|
14
|
+
private readonly v;
|
|
15
|
+
private s;
|
|
16
|
+
get(key: K): V | undefined;
|
|
17
|
+
getOrPut(key: K, defaultValue: (this: void) => V): V;
|
|
18
|
+
put(key: K, value: V): void;
|
|
19
|
+
remove(key: K): boolean;
|
|
20
|
+
contains(key: AnyNotNil): key is K & OneSidedTypeGuard;
|
|
21
|
+
get size(): number;
|
|
22
|
+
protected __len(): number;
|
|
23
|
+
protected __pairs(this: UnorderedMap<K, V>): ReturnType<typeof pairs>;
|
|
24
|
+
}
|
|
25
|
+
export declare const emptyUnorderedMap: <K extends AnyNotNil, V>() => ReadonlyUnorderedMap<K, V>;
|
|
26
|
+
export declare const mutableUnorderedMap: <K extends AnyNotNil, V>() => UnorderedMap<K, V>;
|
|
27
|
+
export {};
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__Class = ____lualib.__TS__Class
|
|
3
|
+
local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
|
|
4
|
+
local __TS__ClassExtends = ____lualib.__TS__ClassExtends
|
|
5
|
+
local __TS__New = ____lualib.__TS__New
|
|
6
|
+
local ____exports = {}
|
|
7
|
+
local ____exception = require("exception")
|
|
8
|
+
local UnsupportedOperationException = ____exception.UnsupportedOperationException
|
|
9
|
+
____exports.UnorderedMap = __TS__Class()
|
|
10
|
+
local UnorderedMap = ____exports.UnorderedMap
|
|
11
|
+
UnorderedMap.name = "UnorderedMap"
|
|
12
|
+
function UnorderedMap.prototype.____constructor(self)
|
|
13
|
+
self.v = {}
|
|
14
|
+
self.s = 0
|
|
15
|
+
end
|
|
16
|
+
function UnorderedMap.prototype.get(self, key)
|
|
17
|
+
return self.v[key]
|
|
18
|
+
end
|
|
19
|
+
function UnorderedMap.prototype.getOrPut(self, key, defaultValue)
|
|
20
|
+
local value = self.v[key]
|
|
21
|
+
if value ~= nil then
|
|
22
|
+
return value
|
|
23
|
+
end
|
|
24
|
+
value = defaultValue()
|
|
25
|
+
if value ~= nil then
|
|
26
|
+
self.v[key] = value
|
|
27
|
+
self.s = self.s + 1
|
|
28
|
+
end
|
|
29
|
+
return value
|
|
30
|
+
end
|
|
31
|
+
function UnorderedMap.prototype.put(self, key, value)
|
|
32
|
+
local has = self.v[key] ~= nil
|
|
33
|
+
self.v[key] = value
|
|
34
|
+
if value ~= nil and not has then
|
|
35
|
+
self.s = self.s + 1
|
|
36
|
+
elseif value == nil and has then
|
|
37
|
+
self.s = self.s - 1
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
function UnorderedMap.prototype.remove(self, key)
|
|
41
|
+
if self.v[key] ~= nil then
|
|
42
|
+
self.v[key] = nil
|
|
43
|
+
self.s = self.s - 1
|
|
44
|
+
return true
|
|
45
|
+
end
|
|
46
|
+
return false
|
|
47
|
+
end
|
|
48
|
+
function UnorderedMap.prototype.contains(self, key)
|
|
49
|
+
return self.v[key] ~= nil
|
|
50
|
+
end
|
|
51
|
+
function UnorderedMap.prototype.__len(self)
|
|
52
|
+
return self.s
|
|
53
|
+
end
|
|
54
|
+
function UnorderedMap.prototype.__pairs(self)
|
|
55
|
+
return pairs(self.v)
|
|
56
|
+
end
|
|
57
|
+
__TS__SetDescriptor(
|
|
58
|
+
UnorderedMap.prototype,
|
|
59
|
+
"size",
|
|
60
|
+
{get = function(self)
|
|
61
|
+
return self.s
|
|
62
|
+
end},
|
|
63
|
+
true
|
|
64
|
+
)
|
|
65
|
+
local EmptyUnorderedMap = __TS__Class()
|
|
66
|
+
EmptyUnorderedMap.name = "EmptyUnorderedMap"
|
|
67
|
+
__TS__ClassExtends(EmptyUnorderedMap, ____exports.UnorderedMap)
|
|
68
|
+
function EmptyUnorderedMap.prototype.getOrPut(self)
|
|
69
|
+
error(
|
|
70
|
+
__TS__New(UnsupportedOperationException),
|
|
71
|
+
0
|
|
72
|
+
)
|
|
73
|
+
end
|
|
74
|
+
function EmptyUnorderedMap.prototype.put(self)
|
|
75
|
+
error(
|
|
76
|
+
__TS__New(UnsupportedOperationException),
|
|
77
|
+
0
|
|
78
|
+
)
|
|
79
|
+
end
|
|
80
|
+
function EmptyUnorderedMap.prototype.remove(self)
|
|
81
|
+
error(
|
|
82
|
+
__TS__New(UnsupportedOperationException),
|
|
83
|
+
0
|
|
84
|
+
)
|
|
85
|
+
end
|
|
86
|
+
function EmptyUnorderedMap.prototype.__len(self)
|
|
87
|
+
return 0
|
|
88
|
+
end
|
|
89
|
+
function EmptyUnorderedMap.prototype.__pairs(self)
|
|
90
|
+
return pairs(self.v)
|
|
91
|
+
end
|
|
92
|
+
local EMPTY_UNORDERED_MAP = __TS__New(EmptyUnorderedMap)
|
|
93
|
+
____exports.emptyUnorderedMap = function()
|
|
94
|
+
return EMPTY_UNORDERED_MAP
|
|
95
|
+
end
|
|
96
|
+
____exports.mutableUnorderedMap = function()
|
|
97
|
+
return __TS__New(____exports.UnorderedMap)
|
|
98
|
+
end
|
|
99
|
+
return ____exports
|
package/core/types/order.d.ts
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/** @noSelfInFile */
|
|
2
|
-
import { Unit } from "./unit";
|
|
3
|
-
import { Item } from "./item";
|
|
4
|
-
import { Destructable } from "./destructable";
|
|
5
|
-
export type Order = {
|
|
6
|
-
id: number;
|
|
7
|
-
startX: number;
|
|
8
|
-
startY: number;
|
|
9
|
-
} & ({
|
|
10
|
-
type: "immediate";
|
|
11
|
-
} | {
|
|
12
|
-
type: "point";
|
|
13
|
-
targetX: number;
|
|
14
|
-
targetY: number;
|
|
15
|
-
} | {
|
|
16
|
-
type: "target";
|
|
17
|
-
target: Unit | Item | Destructable;
|
|
18
|
-
});
|
|
19
|
-
declare module "../../engine/internal/unit" {
|
|
20
|
-
interface Unit {
|
|
21
|
-
readonly currentOrder: Order;
|
|
22
|
-
readonly lastOrder: Order;
|
|
23
|
-
issueOrder(order: Order): void;
|
|
24
|
-
}
|
|
25
|
-
}
|
package/core/types/order.lua
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
local ____lualib = require("lualib_bundle")
|
|
2
|
-
local __TS__ObjectDefineProperty = ____lualib.__TS__ObjectDefineProperty
|
|
3
|
-
local ____exports = {}
|
|
4
|
-
local ____unit = require("core.types.unit")
|
|
5
|
-
local Unit = ____unit.Unit
|
|
6
|
-
local getUnitCurrentOrder = GetUnitCurrentOrder
|
|
7
|
-
local orders = setmetatable({}, {__mode = "k"})
|
|
8
|
-
Unit.onImmediateOrder:addListener(function(unit, orderId)
|
|
9
|
-
orders[unit] = {id = orderId, startX = unit.x, startY = unit.y, type = "immediate"}
|
|
10
|
-
end)
|
|
11
|
-
Unit.onPointOrder:addListener(function(unit, orderId, x, y)
|
|
12
|
-
orders[unit] = {
|
|
13
|
-
id = orderId,
|
|
14
|
-
startX = unit.x,
|
|
15
|
-
startY = unit.y,
|
|
16
|
-
type = "point",
|
|
17
|
-
targetX = x,
|
|
18
|
-
targetY = y
|
|
19
|
-
}
|
|
20
|
-
end)
|
|
21
|
-
Unit.onTargetOrder:addListener(function(unit, orderId, target)
|
|
22
|
-
orders[unit] = {
|
|
23
|
-
id = orderId,
|
|
24
|
-
startX = unit.x,
|
|
25
|
-
startY = unit.y,
|
|
26
|
-
type = "target",
|
|
27
|
-
target = target
|
|
28
|
-
}
|
|
29
|
-
end)
|
|
30
|
-
__TS__ObjectDefineProperty(
|
|
31
|
-
Unit.prototype,
|
|
32
|
-
"currentOrder",
|
|
33
|
-
{get = function(self)
|
|
34
|
-
local currentOrderId = getUnitCurrentOrder(self.handle)
|
|
35
|
-
local lastOrder = orders[self]
|
|
36
|
-
return lastOrder and (lastOrder.id == currentOrderId or currentOrderId == orderId("patrolAI") and lastOrder.id == orderId("patrol")) and lastOrder or ({id = 0, type = "immediate"})
|
|
37
|
-
end}
|
|
38
|
-
)
|
|
39
|
-
__TS__ObjectDefineProperty(
|
|
40
|
-
Unit.prototype,
|
|
41
|
-
"lastOrder",
|
|
42
|
-
{get = function(self)
|
|
43
|
-
return orders[self] or ({id = 0, type = "immediate"})
|
|
44
|
-
end}
|
|
45
|
-
)
|
|
46
|
-
Unit.prototype.issueOrder = function(self, order)
|
|
47
|
-
if order.type == "immediate" then
|
|
48
|
-
IssueImmediateOrderById(self.handle, order.id)
|
|
49
|
-
elseif order.type == "point" then
|
|
50
|
-
IssuePointOrderById(self.handle, order.id, order.targetX, order.targetY)
|
|
51
|
-
else
|
|
52
|
-
IssueTargetOrderById(self.handle, order.id, order.target.handle)
|
|
53
|
-
end
|
|
54
|
-
end
|
|
55
|
-
return ____exports
|
/package/engine/internal/{object-data/armor-increase.d.ts → misc/damage-metadata-by-target.d.ts}
RENAMED
|
File without changes
|
|
File without changes
|
/package/engine/object-data/entry/ability-type/{attribute-increase.d.ts → attribute-bonus.d.ts}
RENAMED
|
File without changes
|
/package/engine/object-data/entry/ability-type/{attribute-increase.lua → attribute-bonus.lua}
RENAMED
|
File without changes
|