warscript 0.0.1-dev.a228cc0 → 0.0.1-dev.a319619

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 (166) hide show
  1. package/attributes.d.ts +5 -0
  2. package/attributes.lua +8 -1
  3. package/config.d.ts +5 -0
  4. package/config.lua +10 -0
  5. package/core/types/effect.d.ts +1 -3
  6. package/core/types/effect.lua +26 -29
  7. package/core/types/frame.lua +10 -12
  8. package/core/types/player.lua +3 -1
  9. package/core/types/playerCamera.d.ts +2 -0
  10. package/core/types/playerCamera.lua +79 -5
  11. package/core/types/sound.d.ts +17 -24
  12. package/core/types/sound.lua +99 -24
  13. package/core/types/timer.d.ts +8 -8
  14. package/core/types/timer.lua +25 -23
  15. package/core/util.lua +6 -1
  16. package/decl/native.d.ts +844 -788
  17. package/engine/behavior.d.ts +2 -0
  18. package/engine/behavior.lua +53 -27
  19. package/engine/behaviour/ability/apply-buff.d.ts +5 -0
  20. package/engine/behaviour/ability/apply-buff.lua +32 -0
  21. package/engine/behaviour/ability/apply-unit-behavior.lua +1 -0
  22. package/engine/behaviour/ability/damage.d.ts +9 -3
  23. package/engine/behaviour/ability/damage.lua +26 -38
  24. package/engine/behaviour/ability/emulate-impact.d.ts +1 -1
  25. package/engine/behaviour/ability/emulate-impact.lua +22 -8
  26. package/engine/behaviour/ability/restore-mana.d.ts +1 -1
  27. package/engine/behaviour/ability/restore-mana.lua +6 -6
  28. package/engine/behaviour/ability.d.ts +12 -3
  29. package/engine/behaviour/ability.lua +74 -24
  30. package/engine/behaviour/unit/stun-immunity.d.ts +5 -3
  31. package/engine/behaviour/unit/stun-immunity.lua +43 -27
  32. package/engine/behaviour/unit.d.ts +28 -0
  33. package/engine/behaviour/unit.lua +163 -4
  34. package/engine/buff.d.ts +57 -41
  35. package/engine/buff.lua +301 -228
  36. package/engine/internal/ability.d.ts +4 -0
  37. package/engine/internal/ability.lua +39 -15
  38. package/engine/internal/item/ability.lua +98 -21
  39. package/engine/internal/item.d.ts +7 -4
  40. package/engine/internal/item.lua +131 -28
  41. package/engine/internal/mechanics/ability-duration.lua +1 -1
  42. package/engine/internal/misc/damage-metadata-by-target.d.ts +2 -0
  43. package/engine/internal/misc/damage-metadata-by-target.lua +5 -0
  44. package/engine/internal/misc/frame-coordinates.d.ts +2 -0
  45. package/engine/internal/misc/frame-coordinates.lua +21 -0
  46. package/engine/internal/misc/get-terrain-z.d.ts +2 -0
  47. package/engine/internal/misc/get-terrain-z.lua +11 -0
  48. package/engine/internal/misc/player-local-handle.d.ts +2 -0
  49. package/engine/internal/misc/player-local-handle.lua +5 -0
  50. package/engine/internal/object-data/auto-attack-speed-increase.d.ts +1 -1
  51. package/engine/internal/object-data/auto-attack-speed-increase.lua +2 -0
  52. package/engine/internal/object-data/evasion-probability.d.ts +2 -0
  53. package/engine/internal/object-data/evasion-probability.lua +16 -0
  54. package/engine/internal/unit/ability.d.ts +35 -0
  55. package/engine/internal/unit/ability.lua +62 -0
  56. package/engine/internal/unit/add-item-to-slot-init.d.ts +2 -0
  57. package/engine/internal/unit/add-item-to-slot-init.lua +23 -0
  58. package/engine/internal/unit/add-item-to-slot.d.ts +2 -0
  59. package/engine/internal/unit/add-item-to-slot.lua +52 -0
  60. package/engine/internal/unit/allowed-targets.d.ts +1 -1
  61. package/engine/internal/unit/allowed-targets.lua +9 -1
  62. package/engine/internal/unit/bonus.d.ts +2 -0
  63. package/engine/internal/unit/bonus.lua +17 -0
  64. package/engine/internal/unit/ignore-events-items.d.ts +2 -0
  65. package/engine/internal/unit/ignore-events-items.lua +5 -0
  66. package/engine/internal/unit/item.lua +3 -4
  67. package/engine/internal/unit/order.d.ts +20 -0
  68. package/engine/internal/unit/order.lua +136 -0
  69. package/engine/internal/unit+ability.lua +9 -1
  70. package/engine/internal/unit+damage.d.ts +2 -11
  71. package/engine/internal/unit+damage.lua +10 -14
  72. package/engine/internal/unit+spellSteal.lua +1 -2
  73. package/engine/internal/unit-missile-launch.lua +9 -2
  74. package/engine/internal/unit.d.ts +31 -8
  75. package/engine/internal/unit.lua +280 -106
  76. package/engine/lightning.d.ts +12 -5
  77. package/engine/lightning.lua +48 -14
  78. package/engine/object-data/auxiliary/animation-name.d.ts +1 -0
  79. package/engine/object-data/auxiliary/animation-name.lua +16 -0
  80. package/engine/object-data/auxiliary/armor-type.d.ts +11 -0
  81. package/engine/object-data/auxiliary/armor-type.lua +46 -0
  82. package/engine/object-data/auxiliary/attachment-preset.d.ts +7 -2
  83. package/engine/object-data/auxiliary/attachment-preset.lua +4 -3
  84. package/engine/object-data/auxiliary/attack-type.d.ts +7 -8
  85. package/engine/object-data/auxiliary/attack-type.lua +42 -0
  86. package/engine/object-data/auxiliary/movement-type.d.ts +7 -7
  87. package/engine/object-data/auxiliary/movement-type.lua +22 -0
  88. package/engine/object-data/auxiliary/sound-eax.d.ts +10 -0
  89. package/engine/object-data/auxiliary/sound-eax.lua +2 -0
  90. package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +1 -1
  91. package/engine/object-data/auxiliary/unit-attribute.d.ts +6 -0
  92. package/engine/object-data/auxiliary/unit-attribute.lua +9 -0
  93. package/engine/object-data/entry/ability-type/berserk.d.ts +2 -0
  94. package/engine/object-data/entry/ability-type/berserk.lua +13 -0
  95. package/engine/object-data/entry/ability-type/blank-configurable.lua +12 -1
  96. package/engine/object-data/entry/ability-type/carrion-swarm.d.ts +14 -0
  97. package/engine/object-data/entry/ability-type/carrion-swarm.lua +65 -0
  98. package/engine/object-data/entry/ability-type/disease-cloud.lua +2 -2
  99. package/engine/object-data/entry/ability-type/engineering-upgrade.lua +2 -2
  100. package/engine/object-data/entry/ability-type/ensnare.d.ts +12 -0
  101. package/engine/object-data/entry/ability-type/ensnare.lua +52 -0
  102. package/engine/object-data/entry/ability-type/feral-spirit.lua +2 -2
  103. package/engine/object-data/entry/ability-type/permanent-invisibility.d.ts +8 -0
  104. package/engine/object-data/entry/ability-type/permanent-invisibility.lua +26 -0
  105. package/engine/object-data/entry/ability-type/phase-shift.d.ts +10 -0
  106. package/engine/object-data/entry/ability-type/phase-shift.lua +39 -0
  107. package/engine/object-data/entry/ability-type/phoenix-morph.lua +4 -4
  108. package/engine/object-data/entry/ability-type/raise-dead.d.ts +17 -0
  109. package/engine/object-data/entry/ability-type/raise-dead.lua +78 -0
  110. package/engine/object-data/entry/ability-type/shock-wave.d.ts +4 -0
  111. package/engine/object-data/entry/ability-type/shock-wave.lua +26 -0
  112. package/engine/object-data/entry/ability-type/slow-poison.d.ts +10 -0
  113. package/engine/object-data/entry/ability-type/slow-poison.lua +58 -0
  114. package/engine/object-data/entry/ability-type/summon-quilbeast.lua +2 -2
  115. package/engine/object-data/entry/ability-type/summon-water-elemental.lua +2 -2
  116. package/engine/object-data/entry/ability-type/web.d.ts +12 -0
  117. package/engine/object-data/entry/ability-type/web.lua +52 -0
  118. package/engine/object-data/entry/ability-type.d.ts +19 -17
  119. package/engine/object-data/entry/ability-type.lua +82 -24
  120. package/engine/object-data/entry/buff-type/applicable.lua +18 -37
  121. package/engine/object-data/entry/buff-type.d.ts +6 -12
  122. package/engine/object-data/entry/buff-type.lua +13 -29
  123. package/engine/object-data/entry/destructible-type.d.ts +1 -1
  124. package/engine/object-data/entry/item-type.d.ts +1 -1
  125. package/engine/object-data/entry/item-type.lua +4 -4
  126. package/engine/object-data/entry/lightning-type.d.ts +1 -1
  127. package/engine/object-data/entry/sound-preset.d.ts +33 -0
  128. package/engine/object-data/entry/sound-preset.lua +140 -0
  129. package/engine/object-data/entry/unit-type.d.ts +21 -5
  130. package/engine/object-data/entry/unit-type.lua +214 -93
  131. package/engine/object-data/entry/upgrade.d.ts +1 -1
  132. package/engine/object-data/entry/upgrade.lua +4 -4
  133. package/engine/object-data/entry.d.ts +16 -14
  134. package/engine/object-data/entry.lua +60 -32
  135. package/engine/object-field/ability.d.ts +6 -3
  136. package/engine/object-field/ability.lua +3 -0
  137. package/engine/object-field/unit.d.ts +57 -3
  138. package/engine/object-field/unit.lua +207 -7
  139. package/engine/object-field.d.ts +17 -6
  140. package/engine/object-field.lua +187 -89
  141. package/engine/standard/entries/buff-type.d.ts +3 -0
  142. package/engine/standard/entries/buff-type.lua +3 -0
  143. package/engine/standard/entries/sound-preset.d.ts +10 -0
  144. package/engine/standard/entries/sound-preset.lua +10 -0
  145. package/engine/standard/fields/unit.d.ts +4 -0
  146. package/engine/standard/fields/unit.lua +7 -0
  147. package/engine/text-tag.d.ts +36 -2
  148. package/engine/text-tag.lua +249 -10
  149. package/engine/unit.d.ts +2 -0
  150. package/engine/unit.lua +2 -0
  151. package/objutil/buff.lua +1 -2
  152. package/objutil/unit.lua +8 -0
  153. package/package.json +2 -2
  154. package/utility/arrays.d.ts +1 -0
  155. package/utility/arrays.lua +3 -0
  156. package/utility/functions.d.ts +8 -0
  157. package/utility/functions.lua +13 -0
  158. package/utility/linked-set.d.ts +1 -0
  159. package/utility/linked-set.lua +3 -0
  160. package/utility/lua-maps.d.ts +4 -0
  161. package/utility/lua-maps.lua +20 -0
  162. package/utility/lua-sets.d.ts +2 -0
  163. package/utility/lua-sets.lua +7 -0
  164. package/utility/reflection.lua +11 -7
  165. package/core/types/order.d.ts +0 -25
  166. package/core/types/order.lua +0 -55
@@ -1,29 +1,29 @@
1
1
  /** @noSelfInFile */
2
2
  import { Event } from "../../event";
3
+ import { AbstractDestroyable, Destructor } from "../../destroyable";
3
4
  declare const enum TimerPropertyKey {
4
5
  HANDLE = 0,
5
- DESTROYED = 1,
6
- DESTROY_ON_EXPIRATION = 2,
7
- CALLBACK = 3,
8
- ARGS_LENGTH = 4
6
+ DESTROY_ON_EXPIRATION = 1,
7
+ CALLBACK = 2,
8
+ ARGS_LENGTH = 3
9
9
  }
10
- export declare class Timer implements Destroyable {
10
+ export declare class Timer extends AbstractDestroyable {
11
11
  private readonly [TimerPropertyKey.HANDLE];
12
- private [TimerPropertyKey.DESTROYED]?;
13
12
  private [TimerPropertyKey.DESTROY_ON_EXPIRATION]?;
14
13
  private [TimerPropertyKey.CALLBACK]?;
15
14
  private [TimerPropertyKey.ARGS_LENGTH]?;
16
15
  private constructor();
17
16
  get handle(): jtimer;
18
17
  start<Args extends any[]>(timeout: number, periodic: boolean, callback: (...args: Args) => void, ...args: Args): void;
18
+ onDestroy(): Destructor;
19
19
  get elapsed(): number;
20
20
  get remaining(): number;
21
21
  get timeout(): number;
22
22
  pause(): void;
23
23
  resume(): void;
24
- destroy(): void;
25
24
  static create(): Timer;
26
- static run<Args extends any[]>(callback: (...args: Args) => void, ...args: Args): void;
25
+ static run<T, K extends KeysOfType<T, (this: T, ...args: any) => any>>(object: T, key: K, ...parameters: T[K] extends (this: T, ...args: any) => any ? Parameters<T[K]> : never): void;
26
+ static run<Args extends any[]>(callback: (this: void, ...args: Args) => void, ...args: Args): void;
27
27
  static simple<Args extends any[]>(timeout: number, callback: (...args: Args) => void, ...args: Args): Timer;
28
28
  static periodic<Args extends any[]>(period: number, callback: (this: void, timer: Timer, ...args: Args) => void, ...args: Args): Timer;
29
29
  static counted(period: number, count: number, callback: (this: void, timer: Timer) => void): Timer;
@@ -1,6 +1,7 @@
1
1
  local ____lualib = require("lualib_bundle")
2
2
  local __TS__New = ____lualib.__TS__New
3
3
  local __TS__Class = ____lualib.__TS__Class
4
+ local __TS__ClassExtends = ____lualib.__TS__ClassExtends
4
5
  local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
5
6
  local __TS__Promise = ____lualib.__TS__Promise
6
7
  local ____exports = {}
@@ -9,8 +10,8 @@ local Event = ____event.Event
9
10
  local InitializingEvent = ____event.InitializingEvent
10
11
  local ____objectPool = require("util.objectPool")
11
12
  local ObjectPool = ____objectPool.ObjectPool
12
- local ____exception = require("exception")
13
- local IllegalStateException = ____exception.IllegalStateException
13
+ local ____destroyable = require("destroyable")
14
+ local AbstractDestroyable = ____destroyable.AbstractDestroyable
14
15
  local createTimer = CreateTimer
15
16
  local timerStart = TimerStart
16
17
  local pauseTimer = PauseTimer
@@ -23,6 +24,7 @@ local getHandleId = GetHandleId
23
24
  local ____pcall = _G.pcall
24
25
  local ____print = _G.print
25
26
  local select = _G.select
27
+ local ____type = _G.type
26
28
  local safeCall = warpack.safeCall
27
29
  local corunning = coroutine.running
28
30
  local coresume = coroutine.resume
@@ -35,14 +37,14 @@ local timerByHandleId = {}
35
37
  local function timerSafeCall()
36
38
  local timer = timerByHandleId[getHandleId(getExpiredTimer())]
37
39
  if timer ~= nil then
38
- if timer[2] then
40
+ if timer[1] then
39
41
  timer:destroy()
40
42
  end
41
- local callback = timer[3]
43
+ local callback = timer[2]
42
44
  if callback ~= nil then
43
45
  safeCall(
44
46
  callback,
45
- ____unpack(timer, 4 + 1, 4 + (timer[4] or 0))
47
+ ____unpack(timer, 3 + 1, 3 + (timer[3] or 0))
46
48
  )
47
49
  end
48
50
  end
@@ -50,46 +52,46 @@ end
50
52
  ____exports.Timer = __TS__Class()
51
53
  local Timer = ____exports.Timer
52
54
  Timer.name = "Timer"
55
+ __TS__ClassExtends(Timer, AbstractDestroyable)
53
56
  function Timer.prototype.____constructor(self)
57
+ AbstractDestroyable.prototype.____constructor(self)
54
58
  self[0] = get()
55
59
  timerByHandleId[getHandleId(self[0])] = self
56
60
  end
57
61
  function Timer.prototype.start(self, timeout, periodic, callback, ...)
58
- self[3] = callback
62
+ self[2] = callback
59
63
  local argsLength = select("#", ...)
60
- self[4] = argsLength
64
+ self[3] = argsLength
61
65
  for i = 1, argsLength do
62
- self[4 + i] = (select(i, ...))
66
+ self[3 + i] = (select(i, ...))
63
67
  end
64
68
  timerStart(self.handle, timeout, periodic, timerSafeCall)
65
69
  end
70
+ function Timer.prototype.onDestroy(self)
71
+ local handle = self[0]
72
+ timerByHandleId[getHandleId(handle)] = nil
73
+ release(handle)
74
+ return AbstractDestroyable.prototype.onDestroy(self)
75
+ end
66
76
  function Timer.prototype.pause(self)
67
77
  pauseTimer(self[0])
68
78
  end
69
79
  function Timer.prototype.resume(self)
70
80
  resumeTimer(self[0])
71
81
  end
72
- function Timer.prototype.destroy(self)
73
- if self[1] then
74
- error(
75
- __TS__New(IllegalStateException, "Double-destroy run for timer"),
76
- 0
77
- )
78
- end
79
- local handle = self[0]
80
- timerByHandleId[getHandleId(handle)] = nil
81
- release(handle)
82
- self[1] = true
83
- end
84
82
  function Timer.create(self)
85
83
  return __TS__New(____exports.Timer)
86
84
  end
87
- function Timer.run(self, callback, ...)
88
- ____exports.Timer:simple(0, callback, ...)
85
+ function Timer.run(self, objectOrCallback, keyOrFirstArg, ...)
86
+ if ____type(objectOrCallback) == "function" then
87
+ ____exports.Timer:simple(0, objectOrCallback, keyOrFirstArg, ...)
88
+ else
89
+ ____exports.Timer:simple(0, objectOrCallback[keyOrFirstArg], objectOrCallback, ...)
90
+ end
89
91
  end
90
92
  function Timer.simple(self, timeout, callback, ...)
91
93
  local timer = __TS__New(____exports.Timer)
92
- timer[2] = true
94
+ timer[1] = true
93
95
  timer:start(timeout, false, callback, ...)
94
96
  return timer
95
97
  end
package/core/util.lua CHANGED
@@ -1,3 +1,5 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__StringPadEnd = ____lualib.__TS__StringPadEnd
1
3
  local ____exports = {}
2
4
  local ns = {}
3
5
  do
@@ -14,7 +16,10 @@ do
14
16
  if type(id) == "number" then
15
17
  return id
16
18
  else
17
- local numid = string.unpack(">I4", id)
19
+ local numid = string.unpack(
20
+ ">I4",
21
+ __TS__StringPadEnd(id, 4, "\0")
22
+ )
18
23
  return numid
19
24
  end
20
25
  end