warscript 0.0.1-dev.35997e2 → 0.0.1-dev.35f305e

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 (228) hide show
  1. package/attributes.d.ts +5 -1
  2. package/attributes.lua +8 -1
  3. package/binaryreader.d.ts +1 -0
  4. package/binaryreader.lua +3 -0
  5. package/config.d.ts +5 -0
  6. package/config.lua +10 -0
  7. package/core/types/effect.d.ts +14 -6
  8. package/core/types/effect.lua +131 -35
  9. package/core/types/frame.d.ts +8 -1
  10. package/core/types/frame.lua +93 -1
  11. package/core/types/group.d.ts +0 -1
  12. package/core/types/image.d.ts +0 -1
  13. package/core/types/missile.d.ts +2 -2
  14. package/core/types/missile.lua +8 -2
  15. package/core/types/order.d.ts +1 -0
  16. package/core/types/order.lua +11 -1
  17. package/core/types/sound.d.ts +17 -24
  18. package/core/types/sound.lua +99 -24
  19. package/core/types/timer.d.ts +6 -7
  20. package/core/types/timer.lua +18 -21
  21. package/core/types/unit.lua +8 -0
  22. package/core/util.d.ts +1 -1
  23. package/core/util.lua +18 -1
  24. package/decl/index.d.ts +1 -0
  25. package/decl/native.d.ts +840 -786
  26. package/engine/ability.d.ts +1 -1
  27. package/engine/behavior.d.ts +10 -10
  28. package/engine/behavior.lua +6 -6
  29. package/engine/behaviour/ability/always-enabled.d.ts +7 -0
  30. package/engine/behaviour/ability/always-enabled.lua +31 -0
  31. package/engine/behaviour/ability/apply-buff.d.ts +8 -5
  32. package/engine/behaviour/ability/apply-buff.lua +32 -0
  33. package/engine/behaviour/ability/apply-unit-behavior.d.ts +6 -1
  34. package/engine/behaviour/ability/apply-unit-behavior.lua +1 -0
  35. package/engine/behaviour/ability/damage.d.ts +39 -11
  36. package/engine/behaviour/ability/damage.lua +83 -37
  37. package/engine/behaviour/ability/emulate-impact.d.ts +6 -0
  38. package/engine/behaviour/ability/emulate-impact.lua +38 -0
  39. package/engine/behaviour/ability/heal.d.ts +33 -6
  40. package/engine/behaviour/ability/heal.lua +89 -10
  41. package/engine/behaviour/ability/instant-impact.d.ts +2 -2
  42. package/engine/behaviour/ability/instant-impact.lua +4 -19
  43. package/engine/behaviour/ability/on-command-impact.d.ts +8 -0
  44. package/engine/behaviour/ability/on-command-impact.lua +25 -0
  45. package/engine/behaviour/ability/remove-buffs.d.ts +16 -0
  46. package/engine/behaviour/ability/remove-buffs.lua +28 -0
  47. package/engine/behaviour/ability/restore-mana.d.ts +15 -0
  48. package/engine/behaviour/ability/restore-mana.lua +29 -0
  49. package/engine/behaviour/ability.d.ts +27 -4
  50. package/engine/behaviour/ability.lua +152 -17
  51. package/engine/behaviour/unit/stun-immunity.d.ts +0 -1
  52. package/engine/behaviour/unit.d.ts +24 -2
  53. package/engine/behaviour/unit.lua +132 -0
  54. package/engine/buff.d.ts +103 -41
  55. package/engine/buff.lua +465 -212
  56. package/engine/game-map.d.ts +7 -0
  57. package/engine/game-map.lua +32 -0
  58. package/engine/internal/ability.d.ts +20 -13
  59. package/engine/internal/ability.lua +97 -76
  60. package/engine/internal/item/ability.lua +112 -4
  61. package/engine/internal/item+owner.lua +2 -2
  62. package/engine/internal/item.d.ts +6 -4
  63. package/engine/internal/item.lua +127 -28
  64. package/engine/internal/mechanics/ability-duration.lua +1 -1
  65. package/engine/internal/misc/ability-disable-counter.d.ts +2 -0
  66. package/engine/internal/misc/ability-disable-counter.lua +13 -0
  67. package/engine/internal/misc/damage-metadata-by-target.d.ts +2 -0
  68. package/engine/internal/misc/damage-metadata-by-target.lua +5 -0
  69. package/engine/internal/object-data/auto-attack-speed-increase.d.ts +1 -1
  70. package/engine/internal/object-data/auto-attack-speed-increase.lua +2 -0
  71. package/engine/internal/object-data/evasion-probability.d.ts +2 -0
  72. package/engine/internal/object-data/evasion-probability.lua +16 -0
  73. package/engine/internal/unit/ability.d.ts +10 -1
  74. package/engine/internal/unit/ability.lua +36 -14
  75. package/engine/internal/unit/add-item-to-slot-init.d.ts +2 -0
  76. package/engine/internal/unit/add-item-to-slot-init.lua +23 -0
  77. package/engine/internal/unit/add-item-to-slot.d.ts +2 -0
  78. package/engine/internal/unit/add-item-to-slot.lua +52 -0
  79. package/engine/internal/unit/allowed-targets.d.ts +1 -1
  80. package/engine/internal/unit/allowed-targets.lua +9 -1
  81. package/engine/internal/unit/bonus.d.ts +11 -8
  82. package/engine/internal/unit/bonus.lua +23 -1
  83. package/engine/internal/unit/ignore-events-items.d.ts +2 -0
  84. package/engine/internal/unit/ignore-events-items.lua +5 -0
  85. package/engine/internal/unit/item.d.ts +24 -0
  86. package/engine/internal/unit/item.lua +78 -0
  87. package/engine/internal/unit/main-selected.d.ts +13 -0
  88. package/engine/internal/unit/main-selected.lua +51 -0
  89. package/engine/internal/unit+ability.lua +2 -2
  90. package/engine/internal/unit+damage.d.ts +2 -11
  91. package/engine/internal/unit+damage.lua +10 -14
  92. package/engine/internal/unit+spellSteal.lua +1 -2
  93. package/engine/internal/unit+transport.lua +4 -10
  94. package/engine/internal/unit-missile-launch.lua +25 -6
  95. package/engine/internal/unit.d.ts +52 -15
  96. package/engine/internal/unit.lua +342 -121
  97. package/engine/internal/utility.lua +12 -0
  98. package/engine/lightning.d.ts +12 -5
  99. package/engine/lightning.lua +48 -14
  100. package/engine/local-client.d.ts +7 -2
  101. package/engine/local-client.lua +82 -0
  102. package/engine/object-data/auxiliary/animation-name.d.ts +1 -0
  103. package/engine/object-data/auxiliary/animation-name.lua +16 -0
  104. package/engine/object-data/auxiliary/attachment-preset.d.ts +7 -3
  105. package/engine/object-data/auxiliary/attachment-preset.lua +4 -3
  106. package/engine/object-data/auxiliary/attack-type.d.ts +7 -8
  107. package/engine/object-data/auxiliary/attack-type.lua +42 -0
  108. package/engine/object-data/auxiliary/combat-classification.d.ts +0 -2
  109. package/engine/object-data/auxiliary/movement-type.d.ts +7 -7
  110. package/engine/object-data/auxiliary/movement-type.lua +22 -0
  111. package/engine/object-data/auxiliary/sound-eax.d.ts +10 -0
  112. package/engine/object-data/auxiliary/sound-eax.lua +2 -0
  113. package/engine/object-data/auxiliary/sound-preset-name.d.ts +5 -1
  114. package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +1 -1
  115. package/engine/object-data/auxiliary/unit-attribute.d.ts +6 -0
  116. package/engine/object-data/auxiliary/unit-attribute.lua +9 -0
  117. package/engine/object-data/entry/ability-type/berserk.d.ts +2 -0
  118. package/engine/object-data/entry/ability-type/berserk.lua +13 -0
  119. package/engine/object-data/entry/ability-type/blank-configurable.d.ts +0 -1
  120. package/engine/object-data/entry/ability-type/blank-configurable.lua +12 -1
  121. package/engine/object-data/entry/ability-type/blank-passive.d.ts +0 -1
  122. package/engine/object-data/entry/ability-type/carrion-swarm.d.ts +14 -0
  123. package/engine/object-data/entry/ability-type/carrion-swarm.lua +65 -0
  124. package/engine/object-data/entry/ability-type/channel.d.ts +0 -1
  125. package/engine/object-data/entry/ability-type/disease-cloud.lua +2 -2
  126. package/engine/object-data/entry/ability-type/engineering-upgrade.lua +2 -2
  127. package/engine/object-data/entry/ability-type/ensnare.d.ts +12 -0
  128. package/engine/object-data/entry/ability-type/ensnare.lua +52 -0
  129. package/engine/object-data/entry/ability-type/feral-spirit.lua +2 -2
  130. package/engine/object-data/entry/ability-type/mine.d.ts +10 -0
  131. package/engine/object-data/entry/ability-type/mine.lua +39 -0
  132. package/engine/object-data/entry/ability-type/permanent-invisibility.d.ts +8 -0
  133. package/engine/object-data/entry/ability-type/permanent-invisibility.lua +26 -0
  134. package/engine/object-data/entry/ability-type/phase-shift.d.ts +10 -0
  135. package/engine/object-data/entry/ability-type/phase-shift.lua +39 -0
  136. package/engine/object-data/entry/ability-type/phoenix-morph.lua +4 -4
  137. package/engine/object-data/entry/ability-type/raise-dead.d.ts +17 -0
  138. package/engine/object-data/entry/ability-type/raise-dead.lua +78 -0
  139. package/engine/object-data/entry/ability-type/shock-wave.d.ts +4 -0
  140. package/engine/object-data/entry/ability-type/shock-wave.lua +26 -0
  141. package/engine/object-data/entry/ability-type/slow-poison.d.ts +10 -0
  142. package/engine/object-data/entry/ability-type/slow-poison.lua +58 -0
  143. package/engine/object-data/entry/ability-type/summon-quilbeast.lua +2 -2
  144. package/engine/object-data/entry/ability-type/summon-water-elemental.lua +2 -2
  145. package/engine/object-data/entry/ability-type/web.d.ts +12 -0
  146. package/engine/object-data/entry/ability-type/web.lua +52 -0
  147. package/engine/object-data/entry/ability-type.d.ts +19 -18
  148. package/engine/object-data/entry/ability-type.lua +89 -33
  149. package/engine/object-data/entry/buff-type/applicable.d.ts +0 -1
  150. package/engine/object-data/entry/buff-type/applicable.lua +18 -37
  151. package/engine/object-data/entry/buff-type/blank.d.ts +0 -1
  152. package/engine/object-data/entry/buff-type.d.ts +6 -13
  153. package/engine/object-data/entry/buff-type.lua +13 -29
  154. package/engine/object-data/entry/destructible-type.d.ts +1 -2
  155. package/engine/object-data/entry/item-type/blank.d.ts +0 -1
  156. package/engine/object-data/entry/item-type.d.ts +15 -2
  157. package/engine/object-data/entry/item-type.lua +93 -2
  158. package/engine/object-data/entry/lightning-type.d.ts +1 -2
  159. package/engine/object-data/entry/sound-preset.d.ts +33 -0
  160. package/engine/object-data/entry/sound-preset.lua +140 -0
  161. package/engine/object-data/entry/unit-type.d.ts +10 -4
  162. package/engine/object-data/entry/unit-type.lua +155 -92
  163. package/engine/object-data/entry/upgrade/blank.d.ts +0 -1
  164. package/engine/object-data/entry/upgrade.d.ts +1 -2
  165. package/engine/object-data/entry/upgrade.lua +4 -4
  166. package/engine/object-data/entry.d.ts +18 -17
  167. package/engine/object-data/entry.lua +60 -32
  168. package/engine/object-data/utility/object-data-entry-id-generator.lua +7 -0
  169. package/engine/object-field/ability.d.ts +26 -3
  170. package/engine/object-field/ability.lua +54 -1
  171. package/engine/object-field/unit.d.ts +46 -3
  172. package/engine/object-field/unit.lua +173 -7
  173. package/engine/object-field.d.ts +11 -4
  174. package/engine/object-field.lua +162 -76
  175. package/engine/random.d.ts +1 -0
  176. package/engine/random.lua +9 -0
  177. package/engine/standard/entries/buff-type.d.ts +3 -0
  178. package/engine/standard/entries/buff-type.lua +3 -0
  179. package/engine/standard/entries/sound-preset.d.ts +10 -0
  180. package/engine/standard/entries/sound-preset.lua +10 -0
  181. package/engine/standard/entries/unit-type.d.ts +1 -0
  182. package/engine/standard/entries/unit-type.lua +1 -0
  183. package/engine/standard/fields/ability.d.ts +3 -1
  184. package/engine/standard/fields/ability.lua +3 -1
  185. package/engine/unit.d.ts +3 -0
  186. package/engine/unit.lua +12 -2
  187. package/event.d.ts +2 -3
  188. package/event.lua +9 -5
  189. package/index.d.ts +1 -0
  190. package/index.lua +1 -0
  191. package/lualib_bundle.lua +146 -42
  192. package/math/vec2.d.ts +2 -9
  193. package/math.d.ts +0 -2
  194. package/net/socket.d.ts +7 -1
  195. package/net/socket.lua +45 -4
  196. package/network.d.ts +1 -0
  197. package/network.lua +3 -2
  198. package/objutil/ability.d.ts +0 -1
  199. package/objutil/buff.d.ts +0 -1
  200. package/objutil/buff.lua +2 -3
  201. package/objutil/object.d.ts +0 -1
  202. package/objutil/unit.d.ts +0 -1
  203. package/objutil/unit.lua +8 -0
  204. package/package.json +13 -13
  205. package/patch-lua.d.ts +0 -0
  206. package/patch-lua.lua +10 -0
  207. package/property.d.ts +55 -0
  208. package/property.lua +374 -0
  209. package/string.d.ts +16 -0
  210. package/string.lua +5 -0
  211. package/util/stream.d.ts +0 -1
  212. package/utility/arrays.d.ts +12 -5
  213. package/utility/arrays.lua +37 -3
  214. package/utility/bit-set.d.ts +0 -2
  215. package/utility/functions.d.ts +1 -0
  216. package/utility/functions.lua +1 -0
  217. package/utility/lazy.d.ts +2 -0
  218. package/utility/lazy.lua +14 -0
  219. package/utility/linked-set.d.ts +12 -3
  220. package/utility/linked-set.lua +8 -2
  221. package/utility/lua-maps.d.ts +4 -2
  222. package/utility/lua-maps.lua +16 -0
  223. package/utility/lua-sets.d.ts +2 -2
  224. package/utility/lua-sets.lua +3 -0
  225. package/utility/reflection.lua +11 -7
  226. package/utility/types.d.ts +1 -0
  227. package/core/mapbounds.d.ts +0 -8
  228. package/core/mapbounds.lua +0 -12
@@ -1,6 +1,6 @@
1
- /// <reference types="@typescript-to-lua/language-extensions" />
2
1
  /** @noSelfInFile */
2
+ export declare const mutableLuaSet: <T extends AnyNotNil>() => LuaSet<T>;
3
3
  export declare const luaSetOf: <T extends AnyNotNil>(...elements: readonly T[]) => LuaSet<T>;
4
- export declare const luaSetOfNotNull: <T extends AnyNotNil>(...elements: readonly (T | null | undefined)[]) => LuaSet<T>;
4
+ export declare const luaSetOfNotNull: <T extends AnyNotNil>(...elements: readonly (T | undefined | null)[]) => LuaSet<T>;
5
5
  export declare const luaSetIntersection: <T extends AnyNotNil>(firstLuaSet: ReadonlyLuaSet<T>, secondLuaSet: ReadonlyLuaSet<T>) => LuaSet<T>;
6
6
  export declare const luaSetContainsAnyOf: <T extends AnyNotNil>(luaSet: ReadonlyLuaSet<T>, ...elements: readonly T[]) => boolean;
@@ -1,5 +1,8 @@
1
1
  local ____exports = {}
2
2
  local select = _G.select
3
+ ____exports.mutableLuaSet = function()
4
+ return {}
5
+ end
3
6
  ____exports.luaSetOf = function(...)
4
7
  local luaSet = {}
5
8
  for i = 1, select("#", ...) do
@@ -5,21 +5,25 @@ local checkNotNull = ____preconditions.checkNotNull
5
5
  -- @internal For use by internal systems only.
6
6
  ____exports.implementReadonlyNumberIndexSupplier = function(clazz, supplier)
7
7
  local metatable = checkNotNull(getmetatable(clazz))
8
- local originalIndex = checkNotNull(metatable.__index)
8
+ local originalIndex = checkNotNull(rawget(metatable, "__index"))
9
9
  local memoizedValueByKey = {}
10
- metatable.__index = setmetatable(
11
- memoizedValueByKey,
12
- {__index = function(self, key)
10
+ rawset(
11
+ metatable,
12
+ "__index",
13
+ function(self, key)
13
14
  if type(key) == "number" then
14
- local value = supplier(key)
15
- memoizedValueByKey[key] = value
15
+ local value = memoizedValueByKey[key]
16
+ if value == nil then
17
+ value = supplier(key)
18
+ memoizedValueByKey[key] = value
19
+ end
16
20
  return value
17
21
  end
18
22
  if type(originalIndex) == "function" then
19
23
  return originalIndex(self, key)
20
24
  end
21
25
  return originalIndex[key]
22
- end}
26
+ end
23
27
  )
24
28
  end
25
29
  ____exports.getClass = function(object)
@@ -2,6 +2,7 @@
2
2
  export type AnyNonNullable = {};
3
3
  export type IsExactlyAny<T> = boolean extends (T extends never ? true : false) ? true : false;
4
4
  export type NonEmptyArray<T> = [T, ...T[]];
5
+ export type ReadonlyNonEmptyArray<T> = readonly [T, ...T[]];
5
6
  export type InvertRecordType<T extends Record<PropertyKey, PropertyKey | null | undefined>> = {
6
7
  [P in keyof T as NonNullable<T[P]>]: P;
7
8
  };
@@ -1,8 +0,0 @@
1
- /** @noSelfInFile */
2
- import { Rect } from "./types/rect";
3
- import { Region } from "./types/region";
4
- export declare const boundRect: Rect;
5
- export declare const boundRegion: Region;
6
- export declare const boundMin: Readonly<Vec2>;
7
- export declare const boundMax: Readonly<Vec2>;
8
- export declare const boundCenter: Readonly<Vec2>;
@@ -1,12 +0,0 @@
1
- local ____exports = {}
2
- local ____rect = require("core.types.rect")
3
- local Rect = ____rect.Rect
4
- local ____region = require("core.types.region")
5
- local Region = ____region.Region
6
- ____exports.boundRect = Rect:of(GetWorldBounds())
7
- ____exports.boundRegion = Region:create()
8
- ____exports.boundRegion:addRect(____exports.boundRect)
9
- ____exports.boundMin = vec2(____exports.boundRect.minX, ____exports.boundRect.minY)
10
- ____exports.boundMax = vec2(____exports.boundRect.maxX, ____exports.boundRect.maxY)
11
- ____exports.boundCenter = (____exports.boundMin + ____exports.boundMax) * 0.5
12
- return ____exports