warscript 0.0.1-dev.f5421e8 → 0.0.1-dev.f70428f

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.
Files changed (122) hide show
  1. package/attributes.d.ts +6 -0
  2. package/attributes.lua +17 -1
  3. package/core/types/frame.lua +24 -21
  4. package/core/types/player.d.ts +15 -0
  5. package/core/types/player.lua +56 -14
  6. package/core/types/playerCamera.d.ts +2 -0
  7. package/core/types/playerCamera.lua +123 -5
  8. package/core/types/sound.lua +5 -0
  9. package/core/types/tileCell.d.ts +11 -1
  10. package/core/types/tileCell.lua +97 -0
  11. package/core/types/timer.d.ts +3 -1
  12. package/core/types/timer.lua +27 -2
  13. package/decl/native.d.ts +846 -790
  14. package/engine/behavior.d.ts +12 -1
  15. package/engine/behavior.lua +172 -70
  16. package/engine/behaviour/ability/apply-buff.lua +1 -1
  17. package/engine/behaviour/ability/damage.d.ts +6 -3
  18. package/engine/behaviour/ability/damage.lua +24 -36
  19. package/engine/behaviour/ability/emulate-impact.d.ts +1 -1
  20. package/engine/behaviour/ability/emulate-impact.lua +18 -3
  21. package/engine/behaviour/ability/remove-buffs.d.ts +9 -0
  22. package/engine/behaviour/ability/remove-buffs.lua +21 -0
  23. package/engine/behaviour/ability/restore-mana.d.ts +1 -1
  24. package/engine/behaviour/ability/restore-mana.lua +6 -6
  25. package/engine/behaviour/ability.lua +8 -17
  26. package/engine/behaviour/unit/stun-immunity.d.ts +11 -5
  27. package/engine/behaviour/unit/stun-immunity.lua +53 -28
  28. package/engine/behaviour/unit.d.ts +34 -2
  29. package/engine/behaviour/unit.lua +192 -6
  30. package/engine/buff.d.ts +12 -5
  31. package/engine/buff.lua +125 -87
  32. package/engine/internal/ability.d.ts +7 -1
  33. package/engine/internal/ability.lua +49 -9
  34. package/engine/internal/item/ability.lua +63 -11
  35. package/engine/internal/item+owner.lua +12 -6
  36. package/engine/internal/item.d.ts +18 -17
  37. package/engine/internal/item.lua +135 -49
  38. package/engine/internal/misc/damage-metadata-by-target.d.ts +2 -0
  39. package/engine/internal/misc/damage-metadata-by-target.lua +5 -0
  40. package/engine/internal/misc/frame-coordinates.d.ts +2 -0
  41. package/engine/internal/misc/frame-coordinates.lua +21 -0
  42. package/engine/internal/misc/get-terrain-z.d.ts +2 -0
  43. package/engine/internal/misc/get-terrain-z.lua +11 -0
  44. package/engine/internal/misc/player-local-handle.d.ts +2 -0
  45. package/engine/internal/misc/player-local-handle.lua +5 -0
  46. package/engine/internal/unit/ability.d.ts +35 -0
  47. package/engine/internal/unit/ability.lua +98 -9
  48. package/engine/internal/unit/allowed-targets.d.ts +1 -1
  49. package/engine/internal/unit/allowed-targets.lua +9 -1
  50. package/engine/internal/unit/fly-height.d.ts +7 -0
  51. package/engine/internal/unit/fly-height.lua +20 -0
  52. package/engine/internal/unit/main-selected.lua +12 -27
  53. package/engine/internal/unit/order.d.ts +20 -0
  54. package/engine/internal/unit/order.lua +136 -0
  55. package/engine/internal/unit/scale.d.ts +7 -0
  56. package/engine/internal/unit/scale.lua +20 -0
  57. package/engine/internal/unit+ability.lua +10 -1
  58. package/engine/internal/unit+damage.d.ts +2 -11
  59. package/engine/internal/unit+damage.lua +10 -14
  60. package/engine/internal/unit+spellSteal.lua +1 -2
  61. package/engine/internal/unit-missile-launch.lua +45 -14
  62. package/engine/internal/unit.d.ts +39 -19
  63. package/engine/internal/unit.lua +329 -169
  64. package/engine/local-client.d.ts +2 -0
  65. package/engine/local-client.lua +30 -0
  66. package/engine/object-data/auxiliary/armor-type.d.ts +11 -0
  67. package/engine/object-data/auxiliary/armor-type.lua +46 -0
  68. package/engine/object-data/auxiliary/attack-type.d.ts +7 -8
  69. package/engine/object-data/auxiliary/attack-type.lua +42 -0
  70. package/engine/object-data/auxiliary/movement-type.d.ts +7 -7
  71. package/engine/object-data/auxiliary/movement-type.lua +22 -0
  72. package/engine/object-data/auxiliary/unit-attribute.d.ts +6 -0
  73. package/engine/object-data/auxiliary/unit-attribute.lua +9 -0
  74. package/engine/object-data/entry/ability-type/berserk.d.ts +2 -0
  75. package/engine/object-data/entry/ability-type/berserk.lua +13 -0
  76. package/engine/object-data/entry/ability-type/permanent-invisibility.d.ts +8 -0
  77. package/engine/object-data/entry/ability-type/permanent-invisibility.lua +26 -0
  78. package/engine/object-data/entry/ability-type/slow-poison.d.ts +10 -0
  79. package/engine/object-data/entry/ability-type/slow-poison.lua +58 -0
  80. package/engine/object-data/entry/ability-type.lua +11 -3
  81. package/engine/object-data/entry/buff-type/applicable.lua +5 -0
  82. package/engine/object-data/entry/buff-type.d.ts +5 -11
  83. package/engine/object-data/entry/buff-type.lua +11 -27
  84. package/engine/object-data/entry/unit-type.d.ts +13 -4
  85. package/engine/object-data/entry/unit-type.lua +153 -85
  86. package/engine/object-field/ability.d.ts +4 -4
  87. package/engine/object-field/ability.lua +7 -6
  88. package/engine/object-field/unit.d.ts +69 -3
  89. package/engine/object-field/unit.lua +264 -7
  90. package/engine/object-field.d.ts +23 -6
  91. package/engine/object-field.lua +309 -126
  92. package/engine/random.d.ts +9 -0
  93. package/engine/random.lua +13 -0
  94. package/engine/standard/entries/buff-type.d.ts +3 -0
  95. package/engine/standard/entries/buff-type.lua +3 -0
  96. package/engine/standard/fields/unit.d.ts +6 -0
  97. package/engine/standard/fields/unit.lua +11 -0
  98. package/engine/synchronization.d.ts +11 -0
  99. package/engine/synchronization.lua +77 -0
  100. package/engine/text-tag.d.ts +36 -2
  101. package/engine/text-tag.lua +250 -10
  102. package/engine/unit.d.ts +3 -0
  103. package/engine/unit.lua +3 -0
  104. package/net/socket.lua +1 -1
  105. package/objutil/buff.lua +2 -3
  106. package/package.json +2 -2
  107. package/patch-lualib.lua +1 -1
  108. package/utility/arrays.d.ts +2 -0
  109. package/utility/arrays.lua +11 -0
  110. package/utility/callback-array.d.ts +17 -0
  111. package/utility/callback-array.lua +61 -0
  112. package/utility/functions.d.ts +8 -0
  113. package/utility/functions.lua +13 -0
  114. package/utility/linked-set.d.ts +2 -0
  115. package/utility/linked-set.lua +22 -1
  116. package/utility/lua-maps.d.ts +15 -2
  117. package/utility/lua-maps.lua +53 -2
  118. package/utility/lua-sets.d.ts +2 -0
  119. package/utility/lua-sets.lua +7 -0
  120. package/utility/types.d.ts +3 -0
  121. package/core/types/order.d.ts +0 -25
  122. package/core/types/order.lua +0 -55
@@ -12,6 +12,11 @@ local ____objectPool = require("util.objectPool")
12
12
  local ObjectPool = ____objectPool.ObjectPool
13
13
  local ____destroyable = require("destroyable")
14
14
  local AbstractDestroyable = ____destroyable.AbstractDestroyable
15
+ local ____callback_2Darray = require("utility.callback-array")
16
+ local addCallback = ____callback_2Darray.addCallback
17
+ local callbackArray = ____callback_2Darray.callbackArray
18
+ local consumeCallback = ____callback_2Darray.consumeCallback
19
+ local consumeCallbacks = ____callback_2Darray.consumeCallbacks
15
20
  local createTimer = CreateTimer
16
21
  local timerStart = TimerStart
17
22
  local pauseTimer = PauseTimer
@@ -24,6 +29,7 @@ local getHandleId = GetHandleId
24
29
  local ____pcall = _G.pcall
25
30
  local ____print = _G.print
26
31
  local select = _G.select
32
+ local ____type = _G.type
27
33
  local safeCall = warpack.safeCall
28
34
  local corunning = coroutine.running
29
35
  local coresume = coroutine.resume
@@ -48,6 +54,17 @@ local function timerSafeCall()
48
54
  end
49
55
  end
50
56
  end
57
+ local zeroTimerScheduled = false
58
+ local zeroTimerCallbacks = callbackArray()
59
+ ---
60
+ -- @internal For use by internal systems only.
61
+ ____exports.consumeZeroTimerCallback = function(id)
62
+ consumeCallback(zeroTimerCallbacks, id)
63
+ end
64
+ local function invokeZeroTimerCallbacks()
65
+ zeroTimerScheduled = false
66
+ consumeCallbacks(zeroTimerCallbacks)
67
+ end
51
68
  ____exports.Timer = __TS__Class()
52
69
  local Timer = ____exports.Timer
53
70
  Timer.name = "Timer"
@@ -81,8 +98,16 @@ end
81
98
  function Timer.create(self)
82
99
  return __TS__New(____exports.Timer)
83
100
  end
84
- function Timer.run(self, callback, ...)
85
- ____exports.Timer:simple(0, callback, ...)
101
+ function Timer.run(self, objectOrCallback, keyOrFirstArg, ...)
102
+ if not zeroTimerScheduled then
103
+ zeroTimerScheduled = true
104
+ ____exports.Timer:simple(0, invokeZeroTimerCallbacks)
105
+ end
106
+ if ____type(objectOrCallback) == "function" then
107
+ return addCallback(zeroTimerCallbacks, objectOrCallback, keyOrFirstArg, ...)
108
+ else
109
+ return addCallback(zeroTimerCallbacks, objectOrCallback[keyOrFirstArg], objectOrCallback, ...)
110
+ end
86
111
  end
87
112
  function Timer.simple(self, timeout, callback, ...)
88
113
  local timer = __TS__New(____exports.Timer)