warscript 0.0.1-dev.404878c

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 (493) hide show
  1. package/LICENSE +23 -0
  2. package/binaryreader.d.ts +20 -0
  3. package/binaryreader.lua +50 -0
  4. package/binarywriter.d.ts +21 -0
  5. package/binarywriter.lua +90 -0
  6. package/core/dummy.d.ts +22 -0
  7. package/core/dummy.lua +133 -0
  8. package/core/game.d.ts +3 -0
  9. package/core/game.lua +24 -0
  10. package/core/mapbounds.d.ts +8 -0
  11. package/core/mapbounds.lua +12 -0
  12. package/core/thread.d.ts +8 -0
  13. package/core/thread.lua +40 -0
  14. package/core/types/ability.d.ts +4 -0
  15. package/core/types/ability.lua +10 -0
  16. package/core/types/async.d.ts +3 -0
  17. package/core/types/async.lua +2 -0
  18. package/core/types/camera.d.ts +4 -0
  19. package/core/types/camera.lua +21 -0
  20. package/core/types/cameraField.d.ts +15 -0
  21. package/core/types/cameraField.lua +38 -0
  22. package/core/types/color.d.ts +16 -0
  23. package/core/types/color.lua +93 -0
  24. package/core/types/destructable.d.ts +31 -0
  25. package/core/types/destructable.lua +245 -0
  26. package/core/types/effect.d.ts +31 -0
  27. package/core/types/effect.lua +209 -0
  28. package/core/types/frame.d.ts +140 -0
  29. package/core/types/frame.lua +882 -0
  30. package/core/types/game.d.ts +8 -0
  31. package/core/types/game.lua +41 -0
  32. package/core/types/group.d.ts +22 -0
  33. package/core/types/group.lua +94 -0
  34. package/core/types/handle.d.ts +48 -0
  35. package/core/types/handle.lua +169 -0
  36. package/core/types/image.d.ts +30 -0
  37. package/core/types/image.lua +121 -0
  38. package/core/types/internal/ability+cooldownRemaining.d.ts +1 -0
  39. package/core/types/internal/ability+cooldownRemaining.lua +0 -0
  40. package/core/types/item.d.ts +4 -0
  41. package/core/types/item.lua +6 -0
  42. package/core/types/missile.d.ts +22 -0
  43. package/core/types/missile.lua +233 -0
  44. package/core/types/order.d.ts +25 -0
  45. package/core/types/order.lua +55 -0
  46. package/core/types/player.d.ts +71 -0
  47. package/core/types/player.lua +448 -0
  48. package/core/types/playerCamera.d.ts +32 -0
  49. package/core/types/playerCamera.lua +162 -0
  50. package/core/types/playerColor.d.ts +40 -0
  51. package/core/types/playerColor.lua +203 -0
  52. package/core/types/rect.d.ts +39 -0
  53. package/core/types/rect.lua +152 -0
  54. package/core/types/region.d.ts +14 -0
  55. package/core/types/region.lua +84 -0
  56. package/core/types/sound.d.ts +69 -0
  57. package/core/types/sound.lua +247 -0
  58. package/core/types/tileCell.d.ts +13 -0
  59. package/core/types/tileCell.lua +100 -0
  60. package/core/types/timer.d.ts +36 -0
  61. package/core/types/timer.lua +230 -0
  62. package/core/types/timerDialog.d.ts +19 -0
  63. package/core/types/timerDialog.lua +95 -0
  64. package/core/types/unit.d.ts +10 -0
  65. package/core/types/unit.lua +24 -0
  66. package/core/types/widget.d.ts +5 -0
  67. package/core/types/widget.lua +2 -0
  68. package/core/util.d.ts +62 -0
  69. package/core/util.lua +464 -0
  70. package/core/vecmath/common.d.ts +18 -0
  71. package/core/vecmath/common.lua +29 -0
  72. package/core/vecmath/mat2.d.ts +73 -0
  73. package/core/vecmath/mat2.lua +261 -0
  74. package/core/vecmath/vec3.d.ts +47 -0
  75. package/core/vecmath/vec3.lua +350 -0
  76. package/core/vecmath/vec4.d.ts +54 -0
  77. package/core/vecmath/vec4.lua +400 -0
  78. package/crypto/ecc.d.ts +6 -0
  79. package/crypto/ecc.lua +1734 -0
  80. package/decl/index.d.ts +116 -0
  81. package/decl/native.d.ts +8198 -0
  82. package/destroyable.d.ts +20 -0
  83. package/destroyable.lua +31 -0
  84. package/engine/ability.d.ts +5 -0
  85. package/engine/ability.lua +7 -0
  86. package/engine/behavior.d.ts +28 -0
  87. package/engine/behavior.lua +181 -0
  88. package/engine/behaviour/ability/apply-buff.d.ts +38 -0
  89. package/engine/behaviour/ability/apply-buff.lua +126 -0
  90. package/engine/behaviour/ability/apply-unit-behavior.d.ts +12 -0
  91. package/engine/behaviour/ability/apply-unit-behavior.lua +36 -0
  92. package/engine/behaviour/ability/damage.d.ts +25 -0
  93. package/engine/behaviour/ability/damage.lua +75 -0
  94. package/engine/behaviour/ability/heal.d.ts +16 -0
  95. package/engine/behaviour/ability/heal.lua +35 -0
  96. package/engine/behaviour/ability/instant-impact.d.ts +6 -0
  97. package/engine/behaviour/ability/instant-impact.lua +25 -0
  98. package/engine/behaviour/ability.d.ts +40 -0
  99. package/engine/behaviour/ability.lua +175 -0
  100. package/engine/behaviour/unit/stun-immunity.d.ts +19 -0
  101. package/engine/behaviour/unit/stun-immunity.lua +67 -0
  102. package/engine/behaviour/unit.d.ts +20 -0
  103. package/engine/behaviour/unit.lua +75 -0
  104. package/engine/buff.d.ts +221 -0
  105. package/engine/buff.lua +1093 -0
  106. package/engine/constants.d.ts +7 -0
  107. package/engine/constants.lua +8 -0
  108. package/engine/index.d.ts +5 -0
  109. package/engine/index.lua +2 -0
  110. package/engine/internal/ability.d.ts +91 -0
  111. package/engine/internal/ability.lua +531 -0
  112. package/engine/internal/item/ability.d.ts +2 -0
  113. package/engine/internal/item/ability.lua +48 -0
  114. package/engine/internal/item+owner.d.ts +7 -0
  115. package/engine/internal/item+owner.lua +22 -0
  116. package/engine/internal/item.d.ts +86 -0
  117. package/engine/internal/item.lua +580 -0
  118. package/engine/internal/mechanics/ability-duration.d.ts +4 -0
  119. package/engine/internal/mechanics/ability-duration.lua +11 -0
  120. package/engine/internal/mechanics/area-damage.d.ts +2 -0
  121. package/engine/internal/mechanics/area-damage.lua +33 -0
  122. package/engine/internal/misc/dummy-units.d.ts +2 -0
  123. package/engine/internal/misc/dummy-units.lua +14 -0
  124. package/engine/internal/object-data/armor-increase.d.ts +2 -0
  125. package/engine/internal/object-data/armor-increase.lua +19 -0
  126. package/engine/internal/object-data/attribute-bonus.d.ts +2 -0
  127. package/engine/internal/object-data/attribute-bonus.lua +15 -0
  128. package/engine/internal/object-data/auto-attack-damage-increase.d.ts +2 -0
  129. package/engine/internal/object-data/auto-attack-damage-increase.lua +17 -0
  130. package/engine/internal/object-data/auto-attack-speed-increase.d.ts +2 -0
  131. package/engine/internal/object-data/auto-attack-speed-increase.lua +14 -0
  132. package/engine/internal/object-data/dummy-inventory.d.ts +2 -0
  133. package/engine/internal/object-data/dummy-inventory.lua +16 -0
  134. package/engine/internal/object-data/dummy-item.d.ts +2 -0
  135. package/engine/internal/object-data/dummy-item.lua +10 -0
  136. package/engine/internal/object-data/ghost-visible.d.ts +2 -0
  137. package/engine/internal/object-data/ghost-visible.lua +15 -0
  138. package/engine/internal/object-data/invulnerable.d.ts +2 -0
  139. package/engine/internal/object-data/invulnerable.lua +11 -0
  140. package/engine/internal/object-data/movement-speed-increase-factor.d.ts +2 -0
  141. package/engine/internal/object-data/movement-speed-increase-factor.lua +18 -0
  142. package/engine/internal/unit/ability.d.ts +143 -0
  143. package/engine/internal/unit/ability.lua +369 -0
  144. package/engine/internal/unit/allowed-targets.d.ts +17 -0
  145. package/engine/internal/unit/allowed-targets.lua +19 -0
  146. package/engine/internal/unit/band-aids/ancestral-spirit-cannibalize.d.ts +2 -0
  147. package/engine/internal/unit/band-aids/ancestral-spirit-cannibalize.lua +21 -0
  148. package/engine/internal/unit/bonus.d.ts +41 -0
  149. package/engine/internal/unit/bonus.lua +188 -0
  150. package/engine/internal/unit/buff.d.ts +38 -0
  151. package/engine/internal/unit/buff.lua +81 -0
  152. package/engine/internal/unit/expiration-timer.d.ts +22 -0
  153. package/engine/internal/unit/expiration-timer.lua +44 -0
  154. package/engine/internal/unit/ghost-counter.d.ts +12 -0
  155. package/engine/internal/unit/ghost-counter.lua +26 -0
  156. package/engine/internal/unit/invulnerability-counter.d.ts +12 -0
  157. package/engine/internal/unit/invulnerability-counter.lua +26 -0
  158. package/engine/internal/unit/missile.d.ts +42 -0
  159. package/engine/internal/unit/missile.lua +70 -0
  160. package/engine/internal/unit/movement-speed.d.ts +18 -0
  161. package/engine/internal/unit/movement-speed.lua +42 -0
  162. package/engine/internal/unit/summon-event.d.ts +12 -0
  163. package/engine/internal/unit/summon-event.lua +50 -0
  164. package/engine/internal/unit+ability.d.ts +9 -0
  165. package/engine/internal/unit+ability.lua +59 -0
  166. package/engine/internal/unit+bonus.d.ts +8 -0
  167. package/engine/internal/unit+bonus.lua +40 -0
  168. package/engine/internal/unit+damage.d.ts +69 -0
  169. package/engine/internal/unit+damage.lua +123 -0
  170. package/engine/internal/unit+rally.d.ts +10 -0
  171. package/engine/internal/unit+rally.lua +159 -0
  172. package/engine/internal/unit+spellSteal.d.ts +7 -0
  173. package/engine/internal/unit+spellSteal.lua +64 -0
  174. package/engine/internal/unit+transport.d.ts +12 -0
  175. package/engine/internal/unit+transport.lua +102 -0
  176. package/engine/internal/unit-missile-data.d.ts +2 -0
  177. package/engine/internal/unit-missile-data.lua +107 -0
  178. package/engine/internal/unit-missile-launch.d.ts +7 -0
  179. package/engine/internal/unit-missile-launch.lua +32 -0
  180. package/engine/internal/unit.d.ts +312 -0
  181. package/engine/internal/unit.lua +2430 -0
  182. package/engine/internal/utility.d.ts +2 -0
  183. package/engine/internal/utility.lua +13 -0
  184. package/engine/lightning.d.ts +51 -0
  185. package/engine/lightning.lua +303 -0
  186. package/engine/local-client.d.ts +16 -0
  187. package/engine/local-client.lua +86 -0
  188. package/engine/object-data/auxiliary/animation-name.d.ts +14 -0
  189. package/engine/object-data/auxiliary/animation-name.lua +2 -0
  190. package/engine/object-data/auxiliary/animation-qualifier.d.ts +53 -0
  191. package/engine/object-data/auxiliary/animation-qualifier.lua +2 -0
  192. package/engine/object-data/auxiliary/armor-sound-type.d.ts +8 -0
  193. package/engine/object-data/auxiliary/armor-sound-type.lua +2 -0
  194. package/engine/object-data/auxiliary/attachment-preset.d.ts +15 -0
  195. package/engine/object-data/auxiliary/attachment-preset.lua +29 -0
  196. package/engine/object-data/auxiliary/attack-type.d.ts +11 -0
  197. package/engine/object-data/auxiliary/attack-type.lua +2 -0
  198. package/engine/object-data/auxiliary/buff-polarity.d.ts +6 -0
  199. package/engine/object-data/auxiliary/buff-polarity.lua +2 -0
  200. package/engine/object-data/auxiliary/buff-resistance-type.d.ts +6 -0
  201. package/engine/object-data/auxiliary/buff-resistance-type.lua +2 -0
  202. package/engine/object-data/auxiliary/combat-classification.d.ts +46 -0
  203. package/engine/object-data/auxiliary/combat-classification.lua +206 -0
  204. package/engine/object-data/auxiliary/detection-type.d.ts +7 -0
  205. package/engine/object-data/auxiliary/detection-type.lua +2 -0
  206. package/engine/object-data/auxiliary/model-node-name.d.ts +12 -0
  207. package/engine/object-data/auxiliary/model-node-name.lua +2 -0
  208. package/engine/object-data/auxiliary/model-node-qualifier.d.ts +21 -0
  209. package/engine/object-data/auxiliary/model-node-qualifier.lua +2 -0
  210. package/engine/object-data/auxiliary/movement-type.d.ts +10 -0
  211. package/engine/object-data/auxiliary/movement-type.lua +2 -0
  212. package/engine/object-data/auxiliary/race.d.ts +14 -0
  213. package/engine/object-data/auxiliary/race.lua +2 -0
  214. package/engine/object-data/auxiliary/sound-preset-name.d.ts +8 -0
  215. package/engine/object-data/auxiliary/sound-preset-name.lua +2 -0
  216. package/engine/object-data/auxiliary/sound-set-name.d.ts +35 -0
  217. package/engine/object-data/auxiliary/sound-set-name.lua +2 -0
  218. package/engine/object-data/auxiliary/targeting-type.d.ts +8 -0
  219. package/engine/object-data/auxiliary/targeting-type.lua +2 -0
  220. package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +16 -0
  221. package/engine/object-data/auxiliary/tech-tree-dependency.lua +8 -0
  222. package/engine/object-data/auxiliary/unit-classification.d.ts +19 -0
  223. package/engine/object-data/auxiliary/unit-classification.lua +50 -0
  224. package/engine/object-data/auxiliary/weapon-sound-type.d.ts +17 -0
  225. package/engine/object-data/auxiliary/weapon-sound-type.lua +2 -0
  226. package/engine/object-data/entry/ability-type/armor-increase.d.ts +8 -0
  227. package/engine/object-data/entry/ability-type/armor-increase.lua +26 -0
  228. package/engine/object-data/entry/ability-type/attribute-increase.d.ts +12 -0
  229. package/engine/object-data/entry/ability-type/attribute-increase.lua +52 -0
  230. package/engine/object-data/entry/ability-type/auto-attack-damage-increase.d.ts +8 -0
  231. package/engine/object-data/entry/ability-type/auto-attack-damage-increase.lua +26 -0
  232. package/engine/object-data/entry/ability-type/auto-attack-heal-reduction-effect.d.ts +12 -0
  233. package/engine/object-data/entry/ability-type/auto-attack-heal-reduction-effect.lua +52 -0
  234. package/engine/object-data/entry/ability-type/auto-attack-speed-increase.d.ts +8 -0
  235. package/engine/object-data/entry/ability-type/auto-attack-speed-increase.lua +26 -0
  236. package/engine/object-data/entry/ability-type/bash.d.ts +16 -0
  237. package/engine/object-data/entry/ability-type/bash.lua +78 -0
  238. package/engine/object-data/entry/ability-type/berserk.d.ts +10 -0
  239. package/engine/object-data/entry/ability-type/berserk.lua +39 -0
  240. package/engine/object-data/entry/ability-type/blank-configurable.d.ts +21 -0
  241. package/engine/object-data/entry/ability-type/blank-configurable.lua +249 -0
  242. package/engine/object-data/entry/ability-type/blank-passive.d.ts +7 -0
  243. package/engine/object-data/entry/ability-type/blank-passive.lua +28 -0
  244. package/engine/object-data/entry/ability-type/blizzard.d.ts +16 -0
  245. package/engine/object-data/entry/ability-type/blizzard.lua +78 -0
  246. package/engine/object-data/entry/ability-type/blood-lust.d.ts +12 -0
  247. package/engine/object-data/entry/ability-type/blood-lust.lua +52 -0
  248. package/engine/object-data/entry/ability-type/chain-lightning.d.ts +12 -0
  249. package/engine/object-data/entry/ability-type/chain-lightning.lua +52 -0
  250. package/engine/object-data/entry/ability-type/channel.d.ts +48 -0
  251. package/engine/object-data/entry/ability-type/channel.lua +140 -0
  252. package/engine/object-data/entry/ability-type/charge-gold-and-lumber.d.ts +14 -0
  253. package/engine/object-data/entry/ability-type/charge-gold-and-lumber.lua +65 -0
  254. package/engine/object-data/entry/ability-type/cleaving-attack.d.ts +8 -0
  255. package/engine/object-data/entry/ability-type/cleaving-attack.lua +26 -0
  256. package/engine/object-data/entry/ability-type/cluster-rockets.d.ts +18 -0
  257. package/engine/object-data/entry/ability-type/cluster-rockets.lua +91 -0
  258. package/engine/object-data/entry/ability-type/cripple.d.ts +12 -0
  259. package/engine/object-data/entry/ability-type/cripple.lua +52 -0
  260. package/engine/object-data/entry/ability-type/critical-strike.d.ts +18 -0
  261. package/engine/object-data/entry/ability-type/critical-strike.lua +91 -0
  262. package/engine/object-data/entry/ability-type/curse.d.ts +8 -0
  263. package/engine/object-data/entry/ability-type/curse.lua +26 -0
  264. package/engine/object-data/entry/ability-type/dark-summoning.d.ts +10 -0
  265. package/engine/object-data/entry/ability-type/dark-summoning.lua +39 -0
  266. package/engine/object-data/entry/ability-type/death-coil.d.ts +8 -0
  267. package/engine/object-data/entry/ability-type/death-coil.lua +26 -0
  268. package/engine/object-data/entry/ability-type/disease-cloud.d.ts +15 -0
  269. package/engine/object-data/entry/ability-type/disease-cloud.lua +65 -0
  270. package/engine/object-data/entry/ability-type/divine-shield.d.ts +5 -0
  271. package/engine/object-data/entry/ability-type/divine-shield.lua +12 -0
  272. package/engine/object-data/entry/ability-type/endurance-aura.d.ts +10 -0
  273. package/engine/object-data/entry/ability-type/endurance-aura.lua +39 -0
  274. package/engine/object-data/entry/ability-type/engineering-upgrade.d.ts +13 -0
  275. package/engine/object-data/entry/ability-type/engineering-upgrade.lua +88 -0
  276. package/engine/object-data/entry/ability-type/evasion.d.ts +8 -0
  277. package/engine/object-data/entry/ability-type/evasion.lua +26 -0
  278. package/engine/object-data/entry/ability-type/faerie-fire.d.ts +10 -0
  279. package/engine/object-data/entry/ability-type/faerie-fire.lua +39 -0
  280. package/engine/object-data/entry/ability-type/far-sight.d.ts +9 -0
  281. package/engine/object-data/entry/ability-type/far-sight.lua +26 -0
  282. package/engine/object-data/entry/ability-type/feral-spirit.d.ts +11 -0
  283. package/engine/object-data/entry/ability-type/feral-spirit.lua +39 -0
  284. package/engine/object-data/entry/ability-type/frenzy.d.ts +12 -0
  285. package/engine/object-data/entry/ability-type/frenzy.lua +52 -0
  286. package/engine/object-data/entry/ability-type/frost-nova.d.ts +12 -0
  287. package/engine/object-data/entry/ability-type/frost-nova.lua +52 -0
  288. package/engine/object-data/entry/ability-type/ghost-visible.d.ts +10 -0
  289. package/engine/object-data/entry/ability-type/ghost-visible.lua +39 -0
  290. package/engine/object-data/entry/ability-type/gold-mine.d.ts +12 -0
  291. package/engine/object-data/entry/ability-type/gold-mine.lua +52 -0
  292. package/engine/object-data/entry/ability-type/heal.d.ts +8 -0
  293. package/engine/object-data/entry/ability-type/heal.lua +26 -0
  294. package/engine/object-data/entry/ability-type/healing-salve.d.ts +22 -0
  295. package/engine/object-data/entry/ability-type/healing-salve.lua +78 -0
  296. package/engine/object-data/entry/ability-type/healing-spray.d.ts +18 -0
  297. package/engine/object-data/entry/ability-type/healing-spray.lua +91 -0
  298. package/engine/object-data/entry/ability-type/healing-wave.d.ts +12 -0
  299. package/engine/object-data/entry/ability-type/healing-wave.lua +52 -0
  300. package/engine/object-data/entry/ability-type/holy-light.d.ts +8 -0
  301. package/engine/object-data/entry/ability-type/holy-light.lua +26 -0
  302. package/engine/object-data/entry/ability-type/incinerate.d.ts +18 -0
  303. package/engine/object-data/entry/ability-type/incinerate.lua +91 -0
  304. package/engine/object-data/entry/ability-type/inner-fire.d.ts +14 -0
  305. package/engine/object-data/entry/ability-type/inner-fire.lua +65 -0
  306. package/engine/object-data/entry/ability-type/inventory.d.ts +16 -0
  307. package/engine/object-data/entry/ability-type/inventory.lua +78 -0
  308. package/engine/object-data/entry/ability-type/invulnerable.d.ts +5 -0
  309. package/engine/object-data/entry/ability-type/invulnerable.lua +12 -0
  310. package/engine/object-data/entry/ability-type/lightning-shield.d.ts +8 -0
  311. package/engine/object-data/entry/ability-type/lightning-shield.lua +26 -0
  312. package/engine/object-data/entry/ability-type/movement-speed-increase.d.ts +8 -0
  313. package/engine/object-data/entry/ability-type/movement-speed-increase.lua +26 -0
  314. package/engine/object-data/entry/ability-type/permanent-immolation.d.ts +8 -0
  315. package/engine/object-data/entry/ability-type/permanent-immolation.lua +26 -0
  316. package/engine/object-data/entry/ability-type/phoenix-morph.d.ts +25 -0
  317. package/engine/object-data/entry/ability-type/phoenix-morph.lua +130 -0
  318. package/engine/object-data/entry/ability-type/recall.d.ts +10 -0
  319. package/engine/object-data/entry/ability-type/recall.lua +39 -0
  320. package/engine/object-data/entry/ability-type/rejuvenation.d.ts +20 -0
  321. package/engine/object-data/entry/ability-type/rejuvenation.lua +65 -0
  322. package/engine/object-data/entry/ability-type/searing-arrows.d.ts +8 -0
  323. package/engine/object-data/entry/ability-type/searing-arrows.lua +26 -0
  324. package/engine/object-data/entry/ability-type/shock-wave.d.ts +10 -0
  325. package/engine/object-data/entry/ability-type/shock-wave.lua +39 -0
  326. package/engine/object-data/entry/ability-type/slow-poison.d.ts +12 -0
  327. package/engine/object-data/entry/ability-type/slow-poison.lua +52 -0
  328. package/engine/object-data/entry/ability-type/slow.d.ts +12 -0
  329. package/engine/object-data/entry/ability-type/slow.lua +52 -0
  330. package/engine/object-data/entry/ability-type/spell-damage-reduction.d.ts +10 -0
  331. package/engine/object-data/entry/ability-type/spell-damage-reduction.lua +39 -0
  332. package/engine/object-data/entry/ability-type/spiked-carapace.d.ts +12 -0
  333. package/engine/object-data/entry/ability-type/spiked-carapace.lua +52 -0
  334. package/engine/object-data/entry/ability-type/spirit-touch.d.ts +14 -0
  335. package/engine/object-data/entry/ability-type/spirit-touch.lua +65 -0
  336. package/engine/object-data/entry/ability-type/storm-bolt.d.ts +8 -0
  337. package/engine/object-data/entry/ability-type/storm-bolt.lua +26 -0
  338. package/engine/object-data/entry/ability-type/summon-quilbeast.d.ts +11 -0
  339. package/engine/object-data/entry/ability-type/summon-quilbeast.lua +39 -0
  340. package/engine/object-data/entry/ability-type/summon-water-elemental.d.ts +11 -0
  341. package/engine/object-data/entry/ability-type/summon-water-elemental.lua +39 -0
  342. package/engine/object-data/entry/ability-type.d.ts +148 -0
  343. package/engine/object-data/entry/ability-type.lua +1058 -0
  344. package/engine/object-data/entry/buff-type/applicable.d.ts +16 -0
  345. package/engine/object-data/entry/buff-type/applicable.lua +377 -0
  346. package/engine/object-data/entry/buff-type/blank.d.ts +8 -0
  347. package/engine/object-data/entry/buff-type/blank.lua +17 -0
  348. package/engine/object-data/entry/buff-type.d.ts +64 -0
  349. package/engine/object-data/entry/buff-type.lua +316 -0
  350. package/engine/object-data/entry/destructible-type.d.ts +21 -0
  351. package/engine/object-data/entry/destructible-type.lua +83 -0
  352. package/engine/object-data/entry/item-type/blank.d.ts +8 -0
  353. package/engine/object-data/entry/item-type/blank.lua +21 -0
  354. package/engine/object-data/entry/item-type.d.ts +49 -0
  355. package/engine/object-data/entry/item-type.lua +259 -0
  356. package/engine/object-data/entry/lightning-type.d.ts +37 -0
  357. package/engine/object-data/entry/lightning-type.lua +191 -0
  358. package/engine/object-data/entry/unit-type/blank.d.ts +6 -0
  359. package/engine/object-data/entry/unit-type/blank.lua +13 -0
  360. package/engine/object-data/entry/unit-type.d.ts +218 -0
  361. package/engine/object-data/entry/unit-type.lua +1306 -0
  362. package/engine/object-data/entry/upgrade/blank.d.ts +8 -0
  363. package/engine/object-data/entry/upgrade/blank.lua +22 -0
  364. package/engine/object-data/entry/upgrade.d.ts +59 -0
  365. package/engine/object-data/entry/upgrade.lua +238 -0
  366. package/engine/object-data/entry.d.ts +80 -0
  367. package/engine/object-data/entry.lua +634 -0
  368. package/engine/object-data/utility/object-data-entry-id-generator.d.ts +6 -0
  369. package/engine/object-data/utility/object-data-entry-id-generator.lua +63 -0
  370. package/engine/object-data/utility/order-type-string-id-factory.d.ts +9 -0
  371. package/engine/object-data/utility/order-type-string-id-factory.lua +368 -0
  372. package/engine/object-field/ability.d.ts +115 -0
  373. package/engine/object-field/ability.lua +471 -0
  374. package/engine/object-field/unit.d.ts +15 -0
  375. package/engine/object-field/unit.lua +49 -0
  376. package/engine/object-field.d.ts +84 -0
  377. package/engine/object-field.lua +444 -0
  378. package/engine/random.d.ts +10 -0
  379. package/engine/random.lua +9 -0
  380. package/engine/standard/entries/ability-type.d.ts +8 -0
  381. package/engine/standard/entries/ability-type.lua +8 -0
  382. package/engine/standard/entries/lightning-type.d.ts +16 -0
  383. package/engine/standard/entries/lightning-type.lua +16 -0
  384. package/engine/standard/entries/unit-type.d.ts +63 -0
  385. package/engine/standard/entries/unit-type.lua +63 -0
  386. package/engine/standard/entries/upgrade.d.ts +92 -0
  387. package/engine/standard/entries/upgrade.lua +92 -0
  388. package/engine/standard/fields/ability.d.ts +737 -0
  389. package/engine/standard/fields/ability.lua +749 -0
  390. package/engine/standard/pathing-textures.d.ts +6 -0
  391. package/engine/standard/pathing-textures.lua +7 -0
  392. package/engine/text-tag.d.ts +25 -0
  393. package/engine/text-tag.lua +109 -0
  394. package/engine/unit.d.ts +20 -0
  395. package/engine/unit.lua +31 -0
  396. package/event.d.ts +53 -0
  397. package/event.lua +269 -0
  398. package/exception.d.ts +17 -0
  399. package/exception.lua +53 -0
  400. package/file.d.ts +4 -0
  401. package/file.lua +42 -0
  402. package/global/math.d.ts +21 -0
  403. package/global/math.lua +72 -0
  404. package/global/vec2.d.ts +66 -0
  405. package/global/vec2.lua +159 -0
  406. package/index.d.ts +8 -0
  407. package/index.lua +9 -0
  408. package/lualib_bundle.lua +2629 -0
  409. package/math/vec2.d.ts +18 -0
  410. package/math/vec2.lua +42 -0
  411. package/math.d.ts +39 -0
  412. package/math.lua +91 -0
  413. package/net/signal.d.ts +11 -0
  414. package/net/signal.lua +56 -0
  415. package/net/socket.d.ts +9 -0
  416. package/net/socket.lua +26 -0
  417. package/network.d.ts +31 -0
  418. package/network.lua +194 -0
  419. package/objutil/ability.d.ts +710 -0
  420. package/objutil/ability.lua +3781 -0
  421. package/objutil/buff.d.ts +110 -0
  422. package/objutil/buff.lua +769 -0
  423. package/objutil/dummy.d.ts +2 -0
  424. package/objutil/dummy.lua +49 -0
  425. package/objutil/idgen.d.ts +9 -0
  426. package/objutil/idgen.lua +92 -0
  427. package/objutil/item.d.ts +38 -0
  428. package/objutil/item.lua +254 -0
  429. package/objutil/object.d.ts +43 -0
  430. package/objutil/object.lua +213 -0
  431. package/objutil/unit.d.ts +134 -0
  432. package/objutil/unit.lua +913 -0
  433. package/objutil/upgrade.d.ts +22 -0
  434. package/objutil/upgrade.lua +127 -0
  435. package/operation.d.ts +35 -0
  436. package/operation.lua +179 -0
  437. package/package.json +47 -0
  438. package/patch-lualib.d.ts +2 -0
  439. package/patch-lualib.lua +67 -0
  440. package/patch-natives.d.ts +11 -0
  441. package/patch-natives.lua +14 -0
  442. package/string.d.ts +106 -0
  443. package/string.lua +34 -0
  444. package/time/dayOfWeek.d.ts +97 -0
  445. package/time/dayOfWeek.lua +53 -0
  446. package/time/localDate.d.ts +145 -0
  447. package/time/localDate.lua +236 -0
  448. package/time/localDateTime.d.ts +133 -0
  449. package/time/localDateTime.lua +154 -0
  450. package/time/localTime.d.ts +87 -0
  451. package/time/localTime.lua +91 -0
  452. package/time/month.d.ts +146 -0
  453. package/time/month.lua +129 -0
  454. package/time/year.d.ts +117 -0
  455. package/time/year.lua +81 -0
  456. package/types.d.ts +13 -0
  457. package/types.lua +0 -0
  458. package/util/objectPool.d.ts +6 -0
  459. package/util/objectPool.lua +28 -0
  460. package/util/stream.d.ts +29 -0
  461. package/util/stream.lua +453 -0
  462. package/util/stringBuilder.d.ts +8 -0
  463. package/util/stringBuilder.lua +25 -0
  464. package/utility/arrays.d.ts +57 -0
  465. package/utility/arrays.lua +369 -0
  466. package/utility/base64.d.ts +23 -0
  467. package/utility/base64.lua +177 -0
  468. package/utility/bit-set.d.ts +18 -0
  469. package/utility/bit-set.lua +12 -0
  470. package/utility/functions.d.ts +5 -0
  471. package/utility/functions.lua +90 -0
  472. package/utility/json.d.ts +2 -0
  473. package/utility/json.lua +400 -0
  474. package/utility/linked-set.d.ts +49 -0
  475. package/utility/linked-set.lua +181 -0
  476. package/utility/lua-maps.d.ts +6 -0
  477. package/utility/lua-maps.lua +25 -0
  478. package/utility/lua-sets.d.ts +6 -0
  479. package/utility/lua-sets.lua +37 -0
  480. package/utility/lzw.d.ts +2 -0
  481. package/utility/lzw.lua +161 -0
  482. package/utility/observable-array.d.ts +17 -0
  483. package/utility/observable-array.lua +30 -0
  484. package/utility/preconditions.d.ts +23 -0
  485. package/utility/preconditions.lua +58 -0
  486. package/utility/records.d.ts +3 -0
  487. package/utility/records.lua +9 -0
  488. package/utility/reflection.d.ts +4 -0
  489. package/utility/reflection.lua +31 -0
  490. package/utility/strings.d.ts +2 -0
  491. package/utility/strings.lua +44 -0
  492. package/utility/types.d.ts +39 -0
  493. package/utility/types.lua +2 -0
@@ -0,0 +1,247 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__Class = ____lualib.__TS__Class
3
+ local __TS__ClassExtends = ____lualib.__TS__ClassExtends
4
+ local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
5
+ local ____exports = {}
6
+ local ____handle = require("core.types.handle")
7
+ local Handle = ____handle.Handle
8
+ local createSound = CreateSound
9
+ local setSoundPitch = SetSoundPitch
10
+ local setSoundChannel = SetSoundChannel
11
+ local setSoundPosition = SetSoundPosition
12
+ local setSoundVolume = SetSoundVolume
13
+ local setSoundDistances = SetSoundDistances
14
+ local setSoundDistanceCutoff = SetSoundDistanceCutoff
15
+ local setSoundConeAngles = SetSoundConeAngles
16
+ local setSoundConeOrientation = SetSoundConeOrientation
17
+ local startSound = StartSound
18
+ local setSoundPlayPosition = SetSoundPlayPosition
19
+ local stopSound = StopSound
20
+ local attachSoundToUnit = AttachSoundToUnit
21
+ local killSoundWhenDone = KillSoundWhenDone
22
+ ____exports.SoundChannel = SoundChannel or ({})
23
+ ____exports.SoundChannel.General = 0
24
+ ____exports.SoundChannel[____exports.SoundChannel.General] = "General"
25
+ ____exports.SoundChannel.UnitSelection = 1
26
+ ____exports.SoundChannel[____exports.SoundChannel.UnitSelection] = "UnitSelection"
27
+ ____exports.SoundChannel.UnitAcknowledgements = 2
28
+ ____exports.SoundChannel[____exports.SoundChannel.UnitAcknowledgements] = "UnitAcknowledgements"
29
+ ____exports.SoundChannel.UnitMovement = 3
30
+ ____exports.SoundChannel[____exports.SoundChannel.UnitMovement] = "UnitMovement"
31
+ ____exports.SoundChannel.UnitReady = 4
32
+ ____exports.SoundChannel[____exports.SoundChannel.UnitReady] = "UnitReady"
33
+ ____exports.SoundChannel.Combat = 5
34
+ ____exports.SoundChannel[____exports.SoundChannel.Combat] = "Combat"
35
+ ____exports.SoundChannel.Error = 6
36
+ ____exports.SoundChannel[____exports.SoundChannel.Error] = "Error"
37
+ ____exports.SoundChannel.Music = 7
38
+ ____exports.SoundChannel[____exports.SoundChannel.Music] = "Music"
39
+ ____exports.SoundChannel.UI = 8
40
+ ____exports.SoundChannel[____exports.SoundChannel.UI] = "UI"
41
+ ____exports.SoundChannel.LoopingMovement = 9
42
+ ____exports.SoundChannel[____exports.SoundChannel.LoopingMovement] = "LoopingMovement"
43
+ ____exports.SoundChannel.LoopingAmbient = 10
44
+ ____exports.SoundChannel[____exports.SoundChannel.LoopingAmbient] = "LoopingAmbient"
45
+ ____exports.SoundChannel.Animations = 11
46
+ ____exports.SoundChannel[____exports.SoundChannel.Animations] = "Animations"
47
+ ____exports.SoundChannel.Construction = 12
48
+ ____exports.SoundChannel[____exports.SoundChannel.Construction] = "Construction"
49
+ ____exports.SoundChannel.Birth = 13
50
+ ____exports.SoundChannel[____exports.SoundChannel.Birth] = "Birth"
51
+ ____exports.SoundChannel.Fire = 14
52
+ ____exports.SoundChannel[____exports.SoundChannel.Fire] = "Fire"
53
+ ____exports.SoundEax = SoundEax or ({})
54
+ ____exports.SoundEax.Default = "DefaultEAXON"
55
+ ____exports.SoundEax.Acknowledgements = "HeroAcksEAX"
56
+ ____exports.SoundEax.Environment = "DoodadsEAX"
57
+ ____exports.SoundEax.Drums = "KotoDrumsEAX"
58
+ ____exports.SoundEax.Attacks = "CombatSoundsEAX"
59
+ ____exports.SoundEax.Abilities = "SpellsEAX"
60
+ ____exports.SoundEax.Missiles = "MissilesEAX"
61
+ ____exports.SoundPreset = {}
62
+ local SoundPreset = ____exports.SoundPreset
63
+ do
64
+ SoundPreset.UI = {channel = ____exports.SoundChannel.UI, eax = ____exports.SoundEax.Default, fadeInRate = 12700, fadeOutRate = 12700}
65
+ SoundPreset.Music = {
66
+ channel = ____exports.SoundChannel.Music,
67
+ eax = ____exports.SoundEax.Default,
68
+ fadeInRate = 12700,
69
+ fadeOutRate = 12700,
70
+ looping = true
71
+ }
72
+ SoundPreset.Attack = {channel = ____exports.SoundChannel.Combat, eax = ____exports.SoundEax.Attacks, fadeInRate = 10, fadeOutRate = 10}
73
+ SoundPreset.Ability = {
74
+ channel = ____exports.SoundChannel.Animations,
75
+ eax = ____exports.SoundEax.Abilities,
76
+ stopWhenOutOfRange = true,
77
+ volume = 127,
78
+ fadeInRate = 1,
79
+ fadeOutRate = 1,
80
+ pitch = 1,
81
+ minDistance = 600,
82
+ maxDistance = 3500,
83
+ distanceCutoff = 3000
84
+ }
85
+ SoundPreset.AbilityLooping = {
86
+ channel = ____exports.SoundChannel.Birth,
87
+ eax = ____exports.SoundEax.Abilities,
88
+ looping = true,
89
+ stopWhenOutOfRange = true,
90
+ volume = 127,
91
+ fadeInRate = 1,
92
+ fadeOutRate = 1,
93
+ pitch = 1,
94
+ minDistance = 600,
95
+ maxDistance = 3000,
96
+ distanceCutoff = 3000
97
+ }
98
+ SoundPreset.Missile = {
99
+ channel = ____exports.SoundChannel.Animations,
100
+ eax = ____exports.SoundEax.Missiles,
101
+ stopWhenOutOfRange = true,
102
+ volume = 127,
103
+ fadeInRate = 1,
104
+ fadeOutRate = 1,
105
+ pitch = 1,
106
+ minDistance = 600,
107
+ maxDistance = 3500,
108
+ distanceCutoff = 3000
109
+ }
110
+ end
111
+ local function createPresetSound(fileName, preset)
112
+ local ____fileName_1 = fileName
113
+ local ____preset_looping_0 = preset.looping
114
+ if ____preset_looping_0 == nil then
115
+ ____preset_looping_0 = false
116
+ end
117
+ local sound = createSound(
118
+ ____fileName_1,
119
+ ____preset_looping_0,
120
+ false,
121
+ true,
122
+ preset.fadeInRate or 12700,
123
+ preset.fadeOutRate or 12700,
124
+ preset.eax or ____exports.SoundEax.Default
125
+ )
126
+ setSoundChannel(sound, preset.channel or ____exports.SoundChannel.General)
127
+ setSoundVolume(sound, preset.volume or 127)
128
+ return sound
129
+ end
130
+ local function createPreset3DSound(fileName, preset)
131
+ local ____fileName_4 = fileName
132
+ local ____preset_looping_2 = preset.looping
133
+ if ____preset_looping_2 == nil then
134
+ ____preset_looping_2 = false
135
+ end
136
+ local ____preset_stopWhenOutOfRange_3 = preset.stopWhenOutOfRange
137
+ if ____preset_stopWhenOutOfRange_3 == nil then
138
+ ____preset_stopWhenOutOfRange_3 = true
139
+ end
140
+ local sound = createSound(
141
+ ____fileName_4,
142
+ ____preset_looping_2,
143
+ true,
144
+ ____preset_stopWhenOutOfRange_3,
145
+ preset.fadeInRate or 12700,
146
+ preset.fadeOutRate or 12700,
147
+ preset.eax or ____exports.SoundEax.Default
148
+ )
149
+ setSoundChannel(sound, preset.channel or ____exports.SoundChannel.General)
150
+ setSoundVolume(sound, preset.volume or 127)
151
+ setSoundPitch(sound, preset.pitch or 1)
152
+ setSoundDistances(sound, preset.minDistance or 600, preset.maxDistance or 8000)
153
+ setSoundDistanceCutoff(sound, preset.distanceCutoff or 1500)
154
+ return sound
155
+ end
156
+ ____exports.Sound = __TS__Class()
157
+ local Sound = ____exports.Sound
158
+ Sound.name = "Sound"
159
+ __TS__ClassExtends(Sound, Handle)
160
+ function Sound.prototype.onDestroy(self, fadeOut)
161
+ stopSound(self.handle, true, fadeOut or false)
162
+ return Handle.prototype.onDestroy(self)
163
+ end
164
+ function Sound.prototype.start(self, milliseconds)
165
+ startSound(self.handle)
166
+ if milliseconds then
167
+ setSoundPlayPosition(self.handle, milliseconds)
168
+ end
169
+ end
170
+ function Sound.prototype.stop(self, fadeOut)
171
+ stopSound(self.handle, false, fadeOut or false)
172
+ end
173
+ function Sound.prototype.restart(self, milliseconds)
174
+ local handle = self.handle
175
+ stopSound(handle, false, false)
176
+ startSound(handle)
177
+ if milliseconds then
178
+ setSoundPlayPosition(handle, milliseconds)
179
+ end
180
+ end
181
+ function Sound.play(self, fileName, preset)
182
+ local sound = createPresetSound(fileName, preset)
183
+ startSound(sound)
184
+ killSoundWhenDone(sound)
185
+ end
186
+ function Sound.create(self, fileName, preset)
187
+ return ____exports.Sound:of(createPresetSound(fileName, preset))
188
+ end
189
+ __TS__SetDescriptor(
190
+ Sound.prototype,
191
+ "volume",
192
+ {
193
+ get = function(self)
194
+ return self._volume or 127
195
+ end,
196
+ set = function(self, v)
197
+ setSoundVolume(self.handle, v)
198
+ self._volume = v
199
+ end
200
+ },
201
+ true
202
+ )
203
+ ____exports.Sound3D = __TS__Class()
204
+ local Sound3D = ____exports.Sound3D
205
+ Sound3D.name = "Sound3D"
206
+ __TS__ClassExtends(Sound3D, ____exports.Sound)
207
+ function Sound3D.playAtPosition(self, fileName, preset, x, y, z)
208
+ if x == nil then
209
+ x = 0
210
+ end
211
+ if y == nil then
212
+ y = 0
213
+ end
214
+ if z == nil then
215
+ z = 0
216
+ end
217
+ local sound = createPreset3DSound(fileName, preset)
218
+ setSoundPosition(sound, x, y, z)
219
+ startSound(sound)
220
+ killSoundWhenDone(sound)
221
+ end
222
+ function Sound3D.playOnUnit(self, fileName, preset, unit)
223
+ local sound = createPreset3DSound(fileName, preset)
224
+ attachSoundToUnit(sound, unit.handle)
225
+ startSound(sound)
226
+ killSoundWhenDone(sound)
227
+ end
228
+ function Sound3D.createAtPosition(self, fileName, preset, x, y, z)
229
+ if x == nil then
230
+ x = 0
231
+ end
232
+ if y == nil then
233
+ y = 0
234
+ end
235
+ if z == nil then
236
+ z = 0
237
+ end
238
+ local sound = createPreset3DSound(fileName, preset)
239
+ setSoundPosition(sound, x, y, z)
240
+ return ____exports.Sound3D:of(sound)
241
+ end
242
+ function Sound3D.createOnUnit(self, fileName, preset, unit)
243
+ local sound = createPreset3DSound(fileName, preset)
244
+ attachSoundToUnit(sound, unit.handle)
245
+ return ____exports.Sound3D:of(sound)
246
+ end
247
+ return ____exports
@@ -0,0 +1,13 @@
1
+ /** @noSelfInFile */
2
+ export declare class TileCell implements Readonly<Vec2> {
3
+ private readonly id;
4
+ readonly x: number;
5
+ readonly y: number;
6
+ readonly z: undefined;
7
+ protected constructor(id: number, x: number, y: number, z: undefined);
8
+ isInRangeOf(x: number, y: number, range: number): boolean;
9
+ isInRangeOf(tileCell: TileCell, range: number): boolean;
10
+ static getInRect(minX: number, minY: number, maxX: number, maxY: number): TileCell[];
11
+ static getInRange(x: number, y: number, range: number): TileCell[];
12
+ static of(this: void, x: number, y: number): TileCell;
13
+ }
@@ -0,0 +1,100 @@
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 abs = math.abs
6
+ local ____type = math.type
7
+ local ult = math.ult
8
+ local tileCellById = {}
9
+ ____exports.TileCell = __TS__Class()
10
+ local TileCell = ____exports.TileCell
11
+ TileCell.name = "TileCell"
12
+ function TileCell.prototype.____constructor(self, id, x, y, z)
13
+ self.id = id
14
+ self.x = x
15
+ self.y = y
16
+ self.z = z
17
+ tileCellById[id] = self
18
+ end
19
+ function TileCell.prototype.isInRangeOf(self, x, y, range)
20
+ if range == nil then
21
+ range = y
22
+ y = x.y
23
+ x = x.x
24
+ end
25
+ local dx = self.x - x
26
+ local dy = self.y - y
27
+ if ____type(dx) == "float" or ____type(dy) == "float" or ____type(range) == "float" then
28
+ return (dx + .0) * dx + (dy + .0) * dy <= (range + .0) * range
29
+ end
30
+ return abs(dx) <= range and abs(dy) <= range and not ult(range * range, dx * dx + dy * dy)
31
+ end
32
+ function TileCell.getInRect(self, minX, minY, maxX, maxY)
33
+ local minXId = (minX + 64) // 128
34
+ minX = minXId * 128
35
+ maxX = (maxX + 64) // 128 * 128
36
+ local minYId = (minY + 64) // 128
37
+ local yId = minYId * 32768
38
+ local tiles = {}
39
+ local i = 1
40
+ for y = minYId * 128, (maxY + 64) // 128 * 128, 128 do
41
+ local xId = minXId
42
+ for x = minX, maxX, 128 do
43
+ tiles[i] = tileCellById[yId + xId] or __TS__New(
44
+ ____exports.TileCell,
45
+ yId + xId,
46
+ x,
47
+ y,
48
+ nil
49
+ )
50
+ i = i + 1
51
+ xId = xId + 1
52
+ end
53
+ yId = yId + 32768
54
+ end
55
+ return tiles
56
+ end
57
+ function TileCell.getInRange(self, x, y, range)
58
+ local minXId = (x - range + 64) // 128
59
+ local minX = minXId * 128
60
+ local maxX = (x + range + 64) // 128 * 128
61
+ local rangeSq = range * range
62
+ local tiles = {}
63
+ local i = 1
64
+ local minYId = (y - range + 64) // 128
65
+ local yId = minYId * 32768
66
+ for cellY = minYId * 128, (y + range + 64) // 128 * 128, 128 do
67
+ local dy = cellY - y
68
+ local dySq = dy * dy
69
+ local xId = minXId
70
+ for cellX = minX, maxX, 128 do
71
+ local dx = cellX - x
72
+ if dx * dx + dySq <= rangeSq then
73
+ tiles[i] = tileCellById[yId + xId] or __TS__New(
74
+ ____exports.TileCell,
75
+ yId + xId,
76
+ cellX,
77
+ cellY,
78
+ nil
79
+ )
80
+ i = i + 1
81
+ end
82
+ xId = xId + 1
83
+ end
84
+ yId = yId + 32768
85
+ end
86
+ return tiles
87
+ end
88
+ function TileCell.of(x, y)
89
+ local xId = (x + 64) // 128
90
+ local yId = (y + 64) // 128
91
+ local id = yId * 32768 + xId
92
+ return tileCellById[id] or __TS__New(
93
+ ____exports.TileCell,
94
+ id,
95
+ xId * 128,
96
+ yId * 128,
97
+ nil
98
+ )
99
+ end
100
+ return ____exports
@@ -0,0 +1,36 @@
1
+ /** @noSelfInFile */
2
+ import { Event } from "../../event";
3
+ declare const enum TimerPropertyKey {
4
+ HANDLE = 0,
5
+ DESTROYED = 1,
6
+ DESTROY_ON_EXPIRATION = 2,
7
+ CALLBACK = 3,
8
+ ARGS_LENGTH = 4
9
+ }
10
+ export declare class Timer implements Destroyable {
11
+ private readonly [TimerPropertyKey.HANDLE];
12
+ private [TimerPropertyKey.DESTROYED]?;
13
+ private [TimerPropertyKey.DESTROY_ON_EXPIRATION]?;
14
+ private [TimerPropertyKey.CALLBACK]?;
15
+ private [TimerPropertyKey.ARGS_LENGTH]?;
16
+ private constructor();
17
+ get handle(): jtimer;
18
+ start<Args extends any[]>(timeout: number, periodic: boolean, callback: (...args: Args) => void, ...args: Args): void;
19
+ get elapsed(): number;
20
+ get remaining(): number;
21
+ get timeout(): number;
22
+ pause(): void;
23
+ resume(): void;
24
+ destroy(): void;
25
+ static create(): Timer;
26
+ static run<Args extends any[]>(callback: (...args: Args) => void, ...args: Args): void;
27
+ static simple<Args extends any[]>(timeout: number, callback: (...args: Args) => void, ...args: Args): Timer;
28
+ static periodic<Args extends any[]>(period: number, callback: (this: void, timer: Timer, ...args: Args) => void, ...args: Args): Timer;
29
+ static counted(period: number, count: number, callback: (this: void, timer: Timer) => void): Timer;
30
+ static readonly onPeriod: Readonly<Record<number, Event>>;
31
+ }
32
+ declare global {
33
+ function sleep(timeout: number): void;
34
+ }
35
+ export declare function delay(this: void, duration: number): Promise<void>;
36
+ export {};
@@ -0,0 +1,230 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__New = ____lualib.__TS__New
3
+ local __TS__Class = ____lualib.__TS__Class
4
+ local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
5
+ local __TS__Promise = ____lualib.__TS__Promise
6
+ local ____exports = {}
7
+ local ____event = require("event")
8
+ local Event = ____event.Event
9
+ local InitializingEvent = ____event.InitializingEvent
10
+ local ____objectPool = require("util.objectPool")
11
+ local ObjectPool = ____objectPool.ObjectPool
12
+ local ____exception = require("exception")
13
+ local IllegalStateException = ____exception.IllegalStateException
14
+ local createTimer = CreateTimer
15
+ local timerStart = TimerStart
16
+ local pauseTimer = PauseTimer
17
+ local timerGetElapsed = TimerGetElapsed
18
+ local timerGetRemaining = TimerGetRemaining
19
+ local timerGetTimeout = TimerGetTimeout
20
+ local resumeTimer = ResumeTimer
21
+ local getExpiredTimer = GetExpiredTimer
22
+ local getHandleId = GetHandleId
23
+ local ____pcall = _G.pcall
24
+ local ____print = _G.print
25
+ local select = _G.select
26
+ local safeCall = warpack.safeCall
27
+ local corunning = coroutine.running
28
+ local coresume = coroutine.resume
29
+ local coyield = coroutine.yield
30
+ local ____unpack = table.unpack
31
+ local ____TS__New_result_0 = __TS__New(ObjectPool, createTimer, pauseTimer)
32
+ local get = ____TS__New_result_0.get
33
+ local release = ____TS__New_result_0.release
34
+ local timerByHandleId = {}
35
+ local function timerSafeCall()
36
+ local timer = timerByHandleId[getHandleId(getExpiredTimer())]
37
+ if timer ~= nil then
38
+ if timer[2] then
39
+ timer:destroy()
40
+ end
41
+ local callback = timer[3]
42
+ if callback ~= nil then
43
+ safeCall(
44
+ callback,
45
+ ____unpack(timer, 4 + 1, 4 + (timer[4] or 0))
46
+ )
47
+ end
48
+ end
49
+ end
50
+ ____exports.Timer = __TS__Class()
51
+ local Timer = ____exports.Timer
52
+ Timer.name = "Timer"
53
+ function Timer.prototype.____constructor(self)
54
+ self[0] = get()
55
+ timerByHandleId[getHandleId(self[0])] = self
56
+ end
57
+ function Timer.prototype.start(self, timeout, periodic, callback, ...)
58
+ self[3] = callback
59
+ local argsLength = select("#", ...)
60
+ self[4] = argsLength
61
+ for i = 1, argsLength do
62
+ self[4 + i] = (select(i, ...))
63
+ end
64
+ timerStart(self.handle, timeout, periodic, timerSafeCall)
65
+ end
66
+ function Timer.prototype.pause(self)
67
+ pauseTimer(self[0])
68
+ end
69
+ function Timer.prototype.resume(self)
70
+ resumeTimer(self[0])
71
+ 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
+ function Timer.create(self)
85
+ return __TS__New(____exports.Timer)
86
+ end
87
+ function Timer.run(self, callback, ...)
88
+ ____exports.Timer:simple(0, callback, ...)
89
+ end
90
+ function Timer.simple(self, timeout, callback, ...)
91
+ local timer = __TS__New(____exports.Timer)
92
+ timer[2] = true
93
+ timer:start(timeout, false, callback, ...)
94
+ return timer
95
+ end
96
+ function Timer.periodic(self, period, callback, ...)
97
+ local timer = ____exports.Timer:create()
98
+ timer:start(
99
+ period,
100
+ true,
101
+ callback,
102
+ timer,
103
+ ...
104
+ )
105
+ return timer
106
+ end
107
+ function Timer.counted(self, period, count, callback)
108
+ local timer = ____exports.Timer:create()
109
+ if count >= 1 then
110
+ timer:start(
111
+ period,
112
+ true,
113
+ function()
114
+ local success, result = ____pcall(callback, timer)
115
+ count = count - 1
116
+ if count < 1 then
117
+ timer:destroy()
118
+ end
119
+ if not success then
120
+ error(result, 0)
121
+ end
122
+ end
123
+ )
124
+ else
125
+ timer:destroy()
126
+ end
127
+ return timer
128
+ end
129
+ __TS__SetDescriptor(
130
+ Timer.prototype,
131
+ "handle",
132
+ {get = function(self)
133
+ return self[0]
134
+ end},
135
+ true
136
+ )
137
+ __TS__SetDescriptor(
138
+ Timer.prototype,
139
+ "elapsed",
140
+ {get = function(self)
141
+ return timerGetElapsed(self[0])
142
+ end},
143
+ true
144
+ )
145
+ __TS__SetDescriptor(
146
+ Timer.prototype,
147
+ "remaining",
148
+ {get = function(self)
149
+ return timerGetRemaining(self[0])
150
+ end},
151
+ true
152
+ )
153
+ __TS__SetDescriptor(
154
+ Timer.prototype,
155
+ "timeout",
156
+ {get = function(self)
157
+ return timerGetTimeout(self[0])
158
+ end},
159
+ true
160
+ )
161
+ Timer.onPeriod = setmetatable(
162
+ {},
163
+ {__index = function(self, key)
164
+ local event = __TS__New(
165
+ InitializingEvent,
166
+ function(event)
167
+ local invoke = Event.invoke
168
+ local timer = get()
169
+ timerStart(
170
+ timer,
171
+ key,
172
+ true,
173
+ warpack.wrapSafeCall(function()
174
+ invoke(event)
175
+ end)
176
+ )
177
+ return timer
178
+ end,
179
+ function(timer)
180
+ release(timer)
181
+ end
182
+ )
183
+ rawset(self, key, event)
184
+ return event
185
+ end}
186
+ )
187
+ local threadByHandleId = setmetatable({}, {__mode = "v"})
188
+ local function sleepHandlerFunc()
189
+ local timer = getExpiredTimer()
190
+ local handleId = getHandleId(timer)
191
+ local thread = threadByHandleId[handleId]
192
+ if thread then
193
+ threadByHandleId[handleId] = nil
194
+ local ok, err = ____pcall(coresume, thread)
195
+ if not ok then
196
+ ____print("ERROR: " .. err)
197
+ end
198
+ end
199
+ release(timer)
200
+ end
201
+ _G.sleep = function(timeout)
202
+ local co = corunning()
203
+ local timer = get()
204
+ threadByHandleId[getHandleId(timer)] = co
205
+ timerStart(timer, timeout, false, sleepHandlerFunc)
206
+ coyield()
207
+ end
208
+ local resolveByHandleId = {}
209
+ local delayTimer
210
+ local delayDuration
211
+ local function delayHandlerFunc()
212
+ local timer = getExpiredTimer()
213
+ local handleId = getHandleId(timer)
214
+ release(timer)
215
+ local resolve = resolveByHandleId[handleId]
216
+ if resolve then
217
+ resolveByHandleId[handleId] = nil
218
+ resolve()
219
+ end
220
+ end
221
+ local function delayPromiseSetup(self, resolve)
222
+ resolveByHandleId[getHandleId(delayTimer)] = resolve
223
+ timerStart(delayTimer, delayDuration, false, delayHandlerFunc)
224
+ end
225
+ function ____exports.delay(duration)
226
+ delayTimer = get()
227
+ delayDuration = duration
228
+ return __TS__New(__TS__Promise, delayPromiseSetup)
229
+ end
230
+ return ____exports
@@ -0,0 +1,19 @@
1
+ /** @noSelfInFile */
2
+ import { Color } from "./color";
3
+ import { Timer } from "./timer";
4
+ import { Handle, HandleDestructor } from "./handle";
5
+ export declare class TimerDialog extends Handle<jtimerdialog> {
6
+ private _title?;
7
+ private _titleColor?;
8
+ private _timeColor?;
9
+ protected onDestroy(): HandleDestructor;
10
+ get title(): string;
11
+ set title(v: string);
12
+ get titleColor(): Color;
13
+ set titleColor(v: Color);
14
+ get timeColor(): Color;
15
+ set timeColor(v: Color);
16
+ get visible(): boolean;
17
+ set visible(v: boolean);
18
+ static create(timer: Timer): TimerDialog;
19
+ }