warscript 0.0.1-dev.459629d → 0.0.1-dev.45a73a4

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 (254) hide show
  1. package/core/dummy.lua +4 -2
  2. package/core/types/effect.d.ts +11 -1
  3. package/core/types/effect.lua +43 -77
  4. package/core/types/frame.d.ts +15 -2
  5. package/core/types/frame.lua +16 -30
  6. package/core/types/handle.lua +3 -0
  7. package/core/types/player.d.ts +1 -0
  8. package/core/types/player.lua +6 -2
  9. package/core/types/playerColor.lua +4 -3
  10. package/core/types/sound.d.ts +1 -1
  11. package/core/types/sound.lua +13 -8
  12. package/core/types/tileCell.d.ts +7 -2
  13. package/core/types/tileCell.lua +11 -0
  14. package/core/types/unit.d.ts +5 -0
  15. package/core/types/unit.lua +5 -0
  16. package/core/util.d.ts +3 -1
  17. package/core/util.lua +109 -3
  18. package/decl/native.d.ts +705 -7
  19. package/engine/ability-type-extended-tooltip.d.ts +8 -0
  20. package/engine/ability-type-extended-tooltip.lua +44 -0
  21. package/engine/behaviour/ability/apply-unit-behavior.lua +5 -0
  22. package/engine/behaviour/ability/damage.d.ts +1 -0
  23. package/engine/behaviour/ability/damage.lua +12 -14
  24. package/engine/behaviour/ability/emulate-impact.lua +1 -1
  25. package/engine/behaviour/ability/on-command-impact.d.ts +1 -0
  26. package/engine/behaviour/ability/on-command-impact.lua +1 -0
  27. package/engine/behaviour/ability.d.ts +2 -0
  28. package/engine/behaviour/ability.lua +25 -0
  29. package/engine/behaviour/unit.d.ts +1 -0
  30. package/engine/behaviour/unit.lua +1 -0
  31. package/engine/buff.d.ts +12 -10
  32. package/engine/buff.lua +64 -16
  33. package/engine/index.d.ts +2 -1
  34. package/engine/internal/ability.d.ts +7 -0
  35. package/engine/internal/ability.lua +60 -31
  36. package/engine/internal/item/owner-cache.d.ts +5 -0
  37. package/engine/internal/item/owner-cache.lua +4 -0
  38. package/engine/internal/item+owner.d.ts +2 -0
  39. package/engine/internal/item+owner.lua +27 -4
  40. package/engine/internal/item.d.ts +17 -1
  41. package/engine/internal/item.lua +115 -23
  42. package/engine/internal/misc/unit-ability-level-natives.d.ts +2 -0
  43. package/engine/internal/misc/unit-ability-level-natives.lua +12 -0
  44. package/engine/internal/object-data/health-regeneration-rate-increase.d.ts +2 -0
  45. package/engine/internal/object-data/health-regeneration-rate-increase.lua +48 -0
  46. package/engine/internal/unit/add-item-to-slot-init.lua +3 -14
  47. package/engine/internal/unit/add-item-to-slot.lua +53 -12
  48. package/engine/internal/unit/appearance.d.ts +15 -0
  49. package/engine/internal/unit/appearance.lua +85 -0
  50. package/engine/internal/unit/bonus.d.ts +8 -0
  51. package/engine/internal/unit/bonus.lua +69 -5
  52. package/engine/internal/unit/buff.d.ts +2 -2
  53. package/engine/internal/unit/buff.lua +34 -19
  54. package/engine/internal/unit/equipment-inventory.d.ts +44 -0
  55. package/engine/internal/unit/equipment-inventory.lua +233 -0
  56. package/engine/internal/unit/expiration-timer.lua +1 -1
  57. package/engine/internal/unit/extended-inventory.d.ts +25 -0
  58. package/engine/internal/unit/extended-inventory.lua +99 -0
  59. package/engine/internal/unit/ignore-events-items.lua +10 -1
  60. package/engine/internal/unit/{item.d.ts → inventory.d.ts} +7 -3
  61. package/engine/internal/unit/inventory.lua +87 -0
  62. package/engine/internal/unit/item-container.d.ts +25 -0
  63. package/engine/internal/unit/item-container.lua +11 -0
  64. package/engine/internal/unit/item-order-events.d.ts +17 -0
  65. package/engine/internal/unit/item-order-events.lua +67 -0
  66. package/engine/internal/unit/item-slot.d.ts +27 -0
  67. package/engine/internal/unit/item-slot.lua +92 -0
  68. package/engine/internal/unit/order.d.ts +3 -3
  69. package/engine/internal/unit/order.lua +10 -10
  70. package/engine/internal/unit+ability.d.ts +2 -1
  71. package/engine/internal/unit+ability.lua +63 -2
  72. package/engine/internal/unit+damage.d.ts +9 -0
  73. package/engine/internal/unit+damage.lua +33 -0
  74. package/engine/internal/unit+rally.lua +9 -31
  75. package/engine/internal/unit-missile-data.lua +58 -32
  76. package/engine/internal/unit-missile-launch.lua +13 -13
  77. package/engine/internal/unit.d.ts +2 -10
  78. package/engine/internal/unit.lua +50 -100
  79. package/engine/local-client.d.ts +21 -0
  80. package/engine/local-client.lua +242 -57
  81. package/engine/object-data/auxiliary/attachment-preset.d.ts +7 -0
  82. package/engine/object-data/auxiliary/attachment-preset.lua +7 -0
  83. package/engine/object-data/auxiliary/equipment-slot.d.ts +12 -0
  84. package/engine/object-data/auxiliary/equipment-slot.lua +2 -0
  85. package/engine/object-data/auxiliary/equipment-type.d.ts +12 -0
  86. package/engine/object-data/auxiliary/equipment-type.lua +26 -0
  87. package/engine/object-data/auxiliary/item-class.d.ts +11 -0
  88. package/engine/object-data/auxiliary/item-class.lua +2 -0
  89. package/engine/object-data/auxiliary/item-tag.d.ts +12 -0
  90. package/engine/object-data/auxiliary/item-tag.lua +2 -0
  91. package/engine/object-data/auxiliary/order-type.d.ts +939 -0
  92. package/engine/object-data/auxiliary/order-type.lua +2 -0
  93. package/engine/object-data/auxiliary/sound-set-name.d.ts +14 -3
  94. package/engine/object-data/entry/ability-type/apprehend.d.ts +22 -0
  95. package/engine/object-data/entry/ability-type/apprehend.lua +66 -0
  96. package/engine/object-data/entry/ability-type/aura-of-blight.d.ts +13 -0
  97. package/engine/object-data/entry/ability-type/aura-of-blight.lua +39 -0
  98. package/engine/object-data/entry/ability-type/banshee.d.ts +8 -0
  99. package/engine/object-data/entry/ability-type/banshee.lua +13 -0
  100. package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.d.ts +12 -0
  101. package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.lua +27 -0
  102. package/engine/object-data/entry/ability-type/banshees-wail.d.ts +31 -0
  103. package/engine/object-data/entry/ability-type/banshees-wail.lua +117 -0
  104. package/engine/object-data/entry/ability-type/battering-ram.d.ts +33 -0
  105. package/engine/object-data/entry/ability-type/battering-ram.lua +130 -0
  106. package/engine/object-data/entry/ability-type/blank-passive-with-cooldown.d.ts +23 -0
  107. package/engine/object-data/entry/ability-type/blank-passive-with-cooldown.lua +112 -0
  108. package/engine/object-data/entry/ability-type/blank-passive.d.ts +4 -0
  109. package/engine/object-data/entry/ability-type/blank-passive.lua +27 -7
  110. package/engine/object-data/entry/ability-type/breath-of-fire.d.ts +11 -0
  111. package/engine/object-data/entry/ability-type/breath-of-fire.lua +27 -0
  112. package/engine/object-data/entry/ability-type/cleansing-fire.d.ts +27 -0
  113. package/engine/object-data/entry/ability-type/cleansing-fire.lua +104 -0
  114. package/engine/object-data/entry/ability-type/consecration.d.ts +15 -0
  115. package/engine/object-data/entry/ability-type/consecration.lua +52 -0
  116. package/engine/object-data/entry/ability-type/cooldown-reduction.d.ts +12 -0
  117. package/engine/object-data/entry/ability-type/cooldown-reduction.lua +39 -0
  118. package/engine/object-data/entry/ability-type/critical-strike-system.d.ts +18 -0
  119. package/engine/object-data/entry/ability-type/critical-strike-system.lua +65 -0
  120. package/engine/object-data/entry/ability-type/deathseeker-arrows.d.ts +21 -0
  121. package/engine/object-data/entry/ability-type/deathseeker-arrows.lua +78 -0
  122. package/engine/object-data/entry/ability-type/equipment-inventory-interface.d.ts +8 -0
  123. package/engine/object-data/entry/ability-type/equipment-inventory-interface.lua +13 -0
  124. package/engine/object-data/entry/ability-type/equipment-inventory.d.ts +13 -0
  125. package/engine/object-data/entry/ability-type/equipment-inventory.lua +27 -0
  126. package/engine/object-data/entry/ability-type/equipment.d.ts +13 -0
  127. package/engine/object-data/entry/ability-type/equipment.lua +27 -0
  128. package/engine/object-data/entry/ability-type/exhume-corpses.d.ts +14 -0
  129. package/engine/object-data/entry/ability-type/exhume-corpses.lua +40 -0
  130. package/engine/object-data/entry/ability-type/firebolt.d.ts +7 -0
  131. package/engine/object-data/entry/ability-type/firebolt.lua +13 -0
  132. package/engine/object-data/entry/ability-type/flame-strike.d.ts +25 -0
  133. package/engine/object-data/entry/ability-type/flame-strike.lua +92 -0
  134. package/engine/object-data/entry/ability-type/grant-talent-point.d.ts +8 -0
  135. package/engine/object-data/entry/ability-type/grant-talent-point.lua +13 -0
  136. package/engine/object-data/entry/ability-type/grim-conviction.d.ts +36 -0
  137. package/engine/object-data/entry/ability-type/grim-conviction.lua +131 -0
  138. package/engine/object-data/entry/ability-type/grit.d.ts +18 -0
  139. package/engine/object-data/entry/ability-type/grit.lua +65 -0
  140. package/engine/object-data/entry/ability-type/guiding-hand.d.ts +27 -0
  141. package/engine/object-data/entry/ability-type/guiding-hand.lua +104 -0
  142. package/engine/object-data/entry/ability-type/headsplitter.d.ts +27 -0
  143. package/engine/object-data/entry/ability-type/headsplitter.lua +104 -0
  144. package/engine/object-data/entry/ability-type/healing-modifier.d.ts +9 -0
  145. package/engine/object-data/entry/ability-type/healing-modifier.lua +26 -0
  146. package/engine/object-data/entry/ability-type/healing-ward-aura.d.ts +13 -0
  147. package/engine/object-data/entry/ability-type/healing-ward-aura.lua +39 -0
  148. package/engine/object-data/entry/ability-type/heroic-slash.d.ts +18 -0
  149. package/engine/object-data/entry/ability-type/heroic-slash.lua +65 -0
  150. package/engine/object-data/entry/ability-type/holy-wrath.d.ts +30 -0
  151. package/engine/object-data/entry/ability-type/holy-wrath.lua +117 -0
  152. package/engine/object-data/entry/ability-type/inspire-courage.d.ts +18 -0
  153. package/engine/object-data/entry/ability-type/inspire-courage.lua +65 -0
  154. package/engine/object-data/entry/ability-type/item-life-regeneration.d.ts +10 -0
  155. package/engine/object-data/entry/ability-type/item-life-regeneration.lua +26 -0
  156. package/engine/object-data/entry/ability-type/life-drain.d.ts +37 -0
  157. package/engine/object-data/entry/ability-type/life-drain.lua +144 -0
  158. package/engine/object-data/entry/ability-type/lights-mercy.d.ts +27 -0
  159. package/engine/object-data/entry/ability-type/lights-mercy.lua +104 -0
  160. package/engine/object-data/entry/ability-type/mana-efficiency.d.ts +12 -0
  161. package/engine/object-data/entry/ability-type/mana-efficiency.lua +39 -0
  162. package/engine/object-data/entry/ability-type/mind-control.d.ts +21 -0
  163. package/engine/object-data/entry/ability-type/mind-control.lua +78 -0
  164. package/engine/object-data/entry/ability-type/on-attack-cast-spell.d.ts +21 -0
  165. package/engine/object-data/entry/ability-type/on-attack-cast-spell.lua +52 -0
  166. package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.d.ts +19 -0
  167. package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.lua +65 -0
  168. package/engine/object-data/entry/ability-type/on-hit-cast-spell.d.ts +15 -0
  169. package/engine/object-data/entry/ability-type/on-hit-cast-spell.lua +26 -0
  170. package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.d.ts +6 -0
  171. package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.lua +12 -0
  172. package/engine/object-data/entry/ability-type/provoke.d.ts +21 -0
  173. package/engine/object-data/entry/ability-type/provoke.lua +66 -0
  174. package/engine/object-data/entry/ability-type/rain-of-fire.d.ts +7 -0
  175. package/engine/object-data/entry/ability-type/rain-of-fire.lua +13 -0
  176. package/engine/object-data/entry/ability-type/raise-the-banner.d.ts +9 -0
  177. package/engine/object-data/entry/ability-type/raise-the-banner.lua +26 -0
  178. package/engine/object-data/entry/ability-type/resolve.d.ts +12 -0
  179. package/engine/object-data/entry/ability-type/resolve.lua +39 -0
  180. package/engine/object-data/entry/ability-type/righteous-fury.d.ts +33 -0
  181. package/engine/object-data/entry/ability-type/righteous-fury.lua +130 -0
  182. package/engine/object-data/entry/ability-type/sacred-aura.d.ts +27 -0
  183. package/engine/object-data/entry/ability-type/sacred-aura.lua +104 -0
  184. package/engine/object-data/entry/ability-type/soul-burn.d.ts +22 -0
  185. package/engine/object-data/entry/ability-type/soul-burn.lua +79 -0
  186. package/engine/object-data/entry/ability-type/soul-lantern.d.ts +30 -0
  187. package/engine/object-data/entry/ability-type/soul-lantern.lua +117 -0
  188. package/engine/object-data/entry/ability-type/spell-amp.d.ts +15 -0
  189. package/engine/object-data/entry/ability-type/spell-amp.lua +52 -0
  190. package/engine/object-data/entry/ability-type/spell-critical-strike.d.ts +12 -0
  191. package/engine/object-data/entry/ability-type/spell-critical-strike.lua +39 -0
  192. package/engine/object-data/entry/ability-type/spell-vamp.d.ts +12 -0
  193. package/engine/object-data/entry/ability-type/spell-vamp.lua +39 -0
  194. package/engine/object-data/entry/ability-type/stackable-evasion.d.ts +9 -0
  195. package/engine/object-data/entry/ability-type/stackable-evasion.lua +13 -0
  196. package/engine/object-data/entry/ability-type/stackable-hardened-skin.d.ts +21 -0
  197. package/engine/object-data/entry/ability-type/stackable-hardened-skin.lua +78 -0
  198. package/engine/object-data/entry/ability-type/stackable-life-steal.d.ts +9 -0
  199. package/engine/object-data/entry/ability-type/stackable-life-steal.lua +26 -0
  200. package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.d.ts +9 -0
  201. package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.lua +13 -0
  202. package/engine/object-data/entry/ability-type/stackable-thorn-shield.d.ts +9 -0
  203. package/engine/object-data/entry/ability-type/stackable-thorn-shield.lua +13 -0
  204. package/engine/object-data/entry/ability-type/stat-details.d.ts +12 -0
  205. package/engine/object-data/entry/ability-type/stat-details.lua +27 -0
  206. package/engine/object-data/entry/ability-type/surge-of-light.d.ts +33 -0
  207. package/engine/object-data/entry/ability-type/surge-of-light.lua +130 -0
  208. package/engine/object-data/entry/ability-type/sweeping-strike.d.ts +57 -0
  209. package/engine/object-data/entry/ability-type/sweeping-strike.lua +234 -0
  210. package/engine/object-data/entry/ability-type/talents.d.ts +12 -0
  211. package/engine/object-data/entry/ability-type/talents.lua +27 -0
  212. package/engine/object-data/entry/ability-type/unyielding-guard.d.ts +30 -0
  213. package/engine/object-data/entry/ability-type/unyielding-guard.lua +117 -0
  214. package/engine/object-data/entry/ability-type/valiant-charge.d.ts +27 -0
  215. package/engine/object-data/entry/ability-type/valiant-charge.lua +104 -0
  216. package/engine/object-data/entry/ability-type/warcry.d.ts +9 -0
  217. package/engine/object-data/entry/ability-type/warcry.lua +26 -0
  218. package/engine/object-data/entry/ability-type/withering-fire.d.ts +21 -0
  219. package/engine/object-data/entry/ability-type/withering-fire.lua +78 -0
  220. package/engine/object-data/entry/ability-type.d.ts +29 -6
  221. package/engine/object-data/entry/ability-type.lua +240 -45
  222. package/engine/object-data/entry/buff-type.d.ts +6 -2
  223. package/engine/object-data/entry/buff-type.lua +26 -0
  224. package/engine/object-data/entry/destructible-type.d.ts +6 -2
  225. package/engine/object-data/entry/destructible-type.lua +26 -0
  226. package/engine/object-data/entry/item-type.d.ts +18 -3
  227. package/engine/object-data/entry/item-type.lua +84 -0
  228. package/engine/object-data/entry/lightning-type.d.ts +6 -8
  229. package/engine/object-data/entry/lightning-type.lua +1 -1
  230. package/engine/object-data/entry/sound-preset.d.ts +2 -2
  231. package/engine/object-data/entry/unit-type.d.ts +47 -2
  232. package/engine/object-data/entry/unit-type.lua +383 -49
  233. package/engine/object-data/entry/upgrade.d.ts +2 -2
  234. package/engine/object-data/entry.d.ts +6 -1
  235. package/engine/object-data/entry.lua +8 -0
  236. package/engine/random.lua +1 -1
  237. package/engine/standard/entries/ability-type.d.ts +3102 -7
  238. package/engine/standard/entries/ability-type.lua +0 -6
  239. package/engine/standard/entries/buff-type.d.ts +45 -0
  240. package/engine/standard/entries/buff-type.lua +43 -0
  241. package/engine/standard/entries/item-type.d.ts +1299 -0
  242. package/engine/standard/entries/item-type.lua +2 -0
  243. package/engine/standard/entries/lightning-type.d.ts +42 -15
  244. package/engine/standard/entries/lightning-type.lua +0 -14
  245. package/engine/standard/entries/unit-type.d.ts +5 -0
  246. package/engine/standard/entries/unit-type.lua +5 -0
  247. package/engine/unit.d.ts +5 -1
  248. package/engine/unit.lua +5 -1
  249. package/event.d.ts +1 -1
  250. package/objutil/buff.lua +1 -1
  251. package/package.json +2 -22
  252. package/utility/arrays.d.ts +7 -1
  253. package/utility/arrays.lua +17 -0
  254. package/engine/internal/unit/item.lua +0 -78
@@ -0,0 +1,2 @@
1
+ local ____exports = {}
2
+ return ____exports
@@ -1,16 +1,43 @@
1
1
  /** @noSelfInFile */
2
- import { StandardLightningTypeId } from "../../object-data/entry/lightning-type";
3
- export declare const AERIAL_SHACKLES_LIGHTNING_TYPE_ID: StandardLightningTypeId;
4
- export declare const CHAIN_LIGHTNING_PRIMARY_LIGHTNING_TYPE_ID: StandardLightningTypeId;
5
- export declare const CHAIN_LIGHTNING_SECONDARY_LIGHTNING_TYPE_ID: StandardLightningTypeId;
6
- export declare const DRAIN_LIFE_LIGHTNING_TYPE_ID: StandardLightningTypeId;
7
- export declare const DRAIN_LIFE_AND_MANA_LIGHTNING_TYPE_ID: StandardLightningTypeId;
8
- export declare const DRAIN_MANA_LIGHTNING_TYPE_ID: StandardLightningTypeId;
9
- export declare const FINGER_OF_DEATH_LIGHTNING_TYPE_ID: StandardLightningTypeId;
10
- export declare const FORKED_LIGHTNING_LIGHTNING_TYPE_ID: StandardLightningTypeId;
11
- export declare const HEALING_WAVE_PRIMARY_LIGHTNING_TYPE_ID: StandardLightningTypeId;
12
- export declare const HEALING_WAVE_SECONDARY_LIGHTNING_TYPE_ID: StandardLightningTypeId;
13
- export declare const LIGHTNING_ATTACK_LIGHTNING_TYPE_ID: StandardLightningTypeId;
14
- export declare const MANA_BURN_LIGHTNING_TYPE_ID: StandardLightningTypeId;
15
- export declare const MANA_FLARE_LIGHTNING_TYPE_ID: StandardLightningTypeId;
16
- export declare const SPIRIT_LINK_LIGHTNING_TYPE_ID: StandardLightningTypeId;
2
+ export declare const enum StandardLightningTypeId {
3
+ /** `LEAS` */
4
+ AERIAL_SHACKLES = 1279607123,
5
+ /** `VLCG` */
6
+ CHAIN_LIGHTNING_GOLD = 1447838535,
7
+ /** `CLPB` */
8
+ CHAIN_LIGHTNING_PRIMARY = 1129074754,
9
+ /** `CLSB` */
10
+ CHAIN_LIGHTNING_SECONDARY = 1129075522,
11
+ /** `DRAL` */
12
+ DRAIN_LIFE = 1146241356,
13
+ /** `DRAB` */
14
+ DRAIN_LIFE_AND_MANA = 1146241346,
15
+ /** `DRAM` */
16
+ DRAIN_MANA = 1146241357,
17
+ /** `AFOD` */
18
+ FINGER_OF_DEATH = 1095126852,
19
+ /** `FORK` */
20
+ FORKED_LIGHTNING = 1179603531,
21
+ /** `HWPB` */
22
+ HEALING_WAVE_PRIMARY = 1213681730,
23
+ /** `HWSB` */
24
+ HEALING_WAVE_SECONDARY = 1213682498,
25
+ /** `INIT` */
26
+ INIT = 1229867348,
27
+ /** `DRWL` */
28
+ LIFE_WAVE = 1146246988,
29
+ /** `CHIM` */
30
+ LIGHTNING_ATTACK = 1128810829,
31
+ /** `MBUR` */
32
+ MANA_BURN = 1296192850,
33
+ /** `MFPB` */
34
+ MANA_FLARE = 1296453698,
35
+ /** `DRWM` */
36
+ MANA_WAVE = 1146246989,
37
+ /** `POSS` */
38
+ POSSESSION = 1347375955,
39
+ /** `VLST` */
40
+ SOUL_TETHER = 1447842644,
41
+ /** `SPLK` */
42
+ SPIRIT_LINK = 1397771339
43
+ }
@@ -1,16 +1,2 @@
1
1
  local ____exports = {}
2
- ____exports.AERIAL_SHACKLES_LIGHTNING_TYPE_ID = fourCC("LEAS")
3
- ____exports.CHAIN_LIGHTNING_PRIMARY_LIGHTNING_TYPE_ID = fourCC("CLPB")
4
- ____exports.CHAIN_LIGHTNING_SECONDARY_LIGHTNING_TYPE_ID = fourCC("CLSB")
5
- ____exports.DRAIN_LIFE_LIGHTNING_TYPE_ID = fourCC("DRAL")
6
- ____exports.DRAIN_LIFE_AND_MANA_LIGHTNING_TYPE_ID = fourCC("DRAB")
7
- ____exports.DRAIN_MANA_LIGHTNING_TYPE_ID = fourCC("DRAM")
8
- ____exports.FINGER_OF_DEATH_LIGHTNING_TYPE_ID = fourCC("AFOD")
9
- ____exports.FORKED_LIGHTNING_LIGHTNING_TYPE_ID = fourCC("FORK")
10
- ____exports.HEALING_WAVE_PRIMARY_LIGHTNING_TYPE_ID = fourCC("HWPB")
11
- ____exports.HEALING_WAVE_SECONDARY_LIGHTNING_TYPE_ID = fourCC("HWSB")
12
- ____exports.LIGHTNING_ATTACK_LIGHTNING_TYPE_ID = fourCC("CHIM")
13
- ____exports.MANA_BURN_LIGHTNING_TYPE_ID = fourCC("MBUR")
14
- ____exports.MANA_FLARE_LIGHTNING_TYPE_ID = fourCC("MFPB")
15
- ____exports.SPIRIT_LINK_LIGHTNING_TYPE_ID = fourCC("SPLK")
16
2
  return ____exports
@@ -15,6 +15,7 @@ export declare const MOUNTAIN_KING_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
15
15
  export declare const PALADIN_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
16
16
  export declare const ARCHER_HIGH_ELF_UNIT_TYPE_ID: StandardUnitTypeId;
17
17
  export declare const CAPTAIN_UNIT_TYPE_ID: StandardUnitTypeId;
18
+ export declare const CHAPLAIN_UNIT_TYPE_ID: StandardUnitTypeId;
18
19
  export declare const SWORDSMAN_UNIT_TYPE_ID: StandardUnitTypeId;
19
20
  export declare const ADMIRAL_PROUDMOORE_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
20
21
  export declare const ANASTERIAN_SUNSTRIDER_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
@@ -47,6 +48,7 @@ export declare const SPIRIT_WALKER_UNIT_TYPE_ID: StandardUnitTypeId;
47
48
  export declare const TAUREN_UNIT_TYPE_ID: StandardUnitTypeId;
48
49
  export declare const WIND_RIDER_UNIT_TYPE_ID: StandardUnitTypeId;
49
50
  export declare const WITCH_DOCTOR_UNIT_TYPE_ID: StandardUnitTypeId;
51
+ export declare const BLADEMASTER_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
50
52
  export declare const ARCHER_UNIT_TYPE_ID: StandardUnitTypeId;
51
53
  export declare const CHIMAERA_UNIT_TYPE_ID: StandardUnitTypeId;
52
54
  export declare const DRUID_OF_THE_CLAW_UNIT_TYPE_ID: StandardUnitTypeId;
@@ -67,9 +69,11 @@ export declare const DEMON_HUNTER_DEMON_FORM_HERO_UNIT_TYPE_ID: StandardHeroUnit
67
69
  export declare const ABOMINATION_UNIT_TYPE_ID: StandardUnitTypeId;
68
70
  export declare const GHOUL_UNIT_TYPE_ID: StandardUnitTypeId;
69
71
  export declare const DEATH_KNIGHT_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
72
+ export declare const DREADLORD_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
70
73
  export declare const ZOMBIE_UNIT_TYPE_ID: StandardUnitTypeId;
71
74
  export declare const ZOMBIE_FEMALE_UNIT_TYPE_ID: StandardUnitTypeId;
72
75
  export declare const ARTHAS_EVIL_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
76
+ export declare const MAL_GANIS_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
73
77
  export declare const DIRE_MAMMOTH_UNIT_TYPE_ID: StandardUnitTypeId;
74
78
  export declare const ELDER_JUNGLE_STALKER_UNIT_TYPE_ID: StandardUnitTypeId;
75
79
  export declare const ENRAGED_ELEMENTAL_UNIT_TYPE_ID: StandardUnitTypeId;
@@ -98,6 +102,7 @@ export declare const WENDIGO_UNIT_TYPE_ID: StandardUnitTypeId;
98
102
  export declare const WENDIGO_SHAMAN_UNIT_TYPE_ID: StandardUnitTypeId;
99
103
  export declare const WILDKIN_UNIT_TYPE_ID: StandardUnitTypeId;
100
104
  export declare const WRAITH_UNIT_TYPE_ID: StandardUnitTypeId;
105
+ export declare const PIT_LORD_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
101
106
  export declare const GOBLIN_LAND_MINE_UNIT_TYPE_ID: StandardUnitTypeId;
102
107
  export declare const CIRCLE_OF_POWER_UNIT_TYPE_ID: StandardUnitTypeId;
103
108
  export declare const CIRCLE_OF_POWER_MEDIUM_UNIT_TYPE_ID: StandardUnitTypeId;
@@ -14,6 +14,7 @@ ____exports.MOUNTAIN_KING_HERO_UNIT_TYPE_ID = fourCC("Hmkg")
14
14
  ____exports.PALADIN_HERO_UNIT_TYPE_ID = fourCC("Hpal")
15
15
  ____exports.ARCHER_HIGH_ELF_UNIT_TYPE_ID = fourCC("nhea")
16
16
  ____exports.CAPTAIN_UNIT_TYPE_ID = fourCC("hcth")
17
+ ____exports.CHAPLAIN_UNIT_TYPE_ID = fourCC("nchp")
17
18
  ____exports.SWORDSMAN_UNIT_TYPE_ID = fourCC("hhes")
18
19
  ____exports.ADMIRAL_PROUDMOORE_HERO_UNIT_TYPE_ID = fourCC("Hapm")
19
20
  ____exports.ANASTERIAN_SUNSTRIDER_HERO_UNIT_TYPE_ID = fourCC("Hssa")
@@ -46,6 +47,7 @@ ____exports.SPIRIT_WALKER_UNIT_TYPE_ID = fourCC("ospw")
46
47
  ____exports.TAUREN_UNIT_TYPE_ID = fourCC("otau")
47
48
  ____exports.WIND_RIDER_UNIT_TYPE_ID = fourCC("owyv")
48
49
  ____exports.WITCH_DOCTOR_UNIT_TYPE_ID = fourCC("odoc")
50
+ ____exports.BLADEMASTER_HERO_UNIT_TYPE_ID = fourCC("Obla")
49
51
  ____exports.ARCHER_UNIT_TYPE_ID = fourCC("earc")
50
52
  ____exports.CHIMAERA_UNIT_TYPE_ID = fourCC("echm")
51
53
  ____exports.DRUID_OF_THE_CLAW_UNIT_TYPE_ID = fourCC("edoc")
@@ -66,9 +68,11 @@ ____exports.DEMON_HUNTER_DEMON_FORM_HERO_UNIT_TYPE_ID = fourCC("Edmm")
66
68
  ____exports.ABOMINATION_UNIT_TYPE_ID = fourCC("uabo")
67
69
  ____exports.GHOUL_UNIT_TYPE_ID = fourCC("ugho")
68
70
  ____exports.DEATH_KNIGHT_HERO_UNIT_TYPE_ID = fourCC("Udea")
71
+ ____exports.DREADLORD_HERO_UNIT_TYPE_ID = fourCC("Udre")
69
72
  ____exports.ZOMBIE_UNIT_TYPE_ID = fourCC("nzom")
70
73
  ____exports.ZOMBIE_FEMALE_UNIT_TYPE_ID = fourCC("nzof")
71
74
  ____exports.ARTHAS_EVIL_HERO_UNIT_TYPE_ID = fourCC("Uear")
75
+ ____exports.MAL_GANIS_HERO_UNIT_TYPE_ID = fourCC("Umal")
72
76
  ____exports.DIRE_MAMMOTH_UNIT_TYPE_ID = fourCC("nmdr")
73
77
  ____exports.ELDER_JUNGLE_STALKER_UNIT_TYPE_ID = fourCC("njga")
74
78
  ____exports.ENRAGED_ELEMENTAL_UNIT_TYPE_ID = fourCC("nele")
@@ -97,6 +101,7 @@ ____exports.WENDIGO_UNIT_TYPE_ID = fourCC("nwen")
97
101
  ____exports.WENDIGO_SHAMAN_UNIT_TYPE_ID = fourCC("nwns")
98
102
  ____exports.WILDKIN_UNIT_TYPE_ID = fourCC("nowb")
99
103
  ____exports.WRAITH_UNIT_TYPE_ID = fourCC("ngh2")
104
+ ____exports.PIT_LORD_HERO_UNIT_TYPE_ID = fourCC("Nplh")
100
105
  ____exports.GOBLIN_LAND_MINE_UNIT_TYPE_ID = fourCC("nglm")
101
106
  ____exports.CIRCLE_OF_POWER_UNIT_TYPE_ID = fourCC("ncop")
102
107
  ____exports.CIRCLE_OF_POWER_MEDIUM_UNIT_TYPE_ID = fourCC("ncp2")
package/engine/unit.d.ts CHANGED
@@ -2,10 +2,14 @@
2
2
  import "./internal/unit";
3
3
  import "./internal/unit/order";
4
4
  import "./internal/unit/ability";
5
+ import "./internal/unit/appearance";
6
+ import "./internal/unit/extended-inventory";
7
+ import "./internal/unit/equipment-inventory";
5
8
  import "./internal/unit/allowed-targets";
6
9
  import "./internal/unit/buff";
7
10
  import "./internal/unit/expiration-timer";
8
- import "./internal/unit/item";
11
+ import "./internal/unit/inventory";
12
+ import "./internal/unit/item-order-events";
9
13
  import "./internal/unit+ability";
10
14
  import "./internal/unit+damage";
11
15
  import "./internal/unit+rally";
package/engine/unit.lua CHANGED
@@ -2,10 +2,14 @@ local ____exports = {}
2
2
  require("engine.internal.unit")
3
3
  require("engine.internal.unit.order")
4
4
  require("engine.internal.unit.ability")
5
+ require("engine.internal.unit.appearance")
6
+ require("engine.internal.unit.extended-inventory")
7
+ require("engine.internal.unit.equipment-inventory")
5
8
  require("engine.internal.unit.allowed-targets")
6
9
  require("engine.internal.unit.buff")
7
10
  require("engine.internal.unit.expiration-timer")
8
- require("engine.internal.unit.item")
11
+ require("engine.internal.unit.inventory")
12
+ require("engine.internal.unit.item-order-events")
9
13
  require("engine.internal.unit+ability")
10
14
  require("engine.internal.unit+damage")
11
15
  require("engine.internal.unit+rally")
package/event.d.ts CHANGED
@@ -40,7 +40,7 @@ export declare const createDispatchingEvent: {
40
40
  <T extends Event<any>, S extends Event<EventParameters<T>>>(underlyingEvent: T, extractKey: (this: void, ...args: EventParameters<T>) => number, invokeEvent?: (this: void, event: S, ...args: EventParameters<T>) => unknown, ...createEvent: [...(Event<any> extends S ? [((this: void) => S)?] : [(this: void) => S])]): DispatchingEvent<EventParameters<T>, T, S>;
41
41
  };
42
42
  export declare class DependentInitializingEvent<T extends any[], R extends any[]> extends InitializingEvent<R, EventListener<T>> {
43
- constructor(underlyingEvent: Event<T>, priority: EventListenerPriority, collector: (...args: T) => LuaMultiReturn<[false] | [true, ...R]>);
43
+ constructor(underlyingEvent: Event<T>, priority: EventListenerPriority, collector: (...args: T) => LuaMultiReturn<[false, ...unknown[]] | [boolean, ...R]>);
44
44
  }
45
45
  export declare class EventParametersCaptor<T extends any[]> {
46
46
  private readonly event;
package/objutil/buff.lua CHANGED
@@ -527,7 +527,7 @@ function Buff.prototype.____constructor(self, unit, source, duration, level, pre
527
527
  ability:setField(ABILITY_RLF_DURATION_NORMAL, level, actualDuration)
528
528
  ability:setField(ABILITY_RLF_DURATION_HERO, level, actualDuration)
529
529
  end,
530
- preset.positive and (preset.magic and orderId("innerfire") or 852609) or (preset.magic and orderId("cripple") or orderId("flamingarrowstarg")),
530
+ preset.positive and (preset.magic and 852066 or 852609) or (preset.magic and 852189 or 852173),
531
531
  unit
532
532
  )
533
533
  if slowPoisonMethod then
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package",
3
3
  "name": "warscript",
4
- "version": "0.0.1-dev.459629d",
4
+ "version": "0.0.1-dev.45a73a4",
5
5
  "description": "A typescript library for Warcraft III using Warpack.",
6
6
  "keywords": [
7
7
  "warcraft",
@@ -13,31 +13,11 @@
13
13
  "type": "git",
14
14
  "url": "git+https://github.com/rhazarian/warscript.git"
15
15
  },
16
- "scripts": {
17
- "clean": "rimraf dist",
18
- "prebuild": "npm run clean",
19
- "build": "tstl && copyfiles -u 1 \"src/**/*.d.ts\" \"src/**/*.lua\" dist && copyfiles LICENSE package.json dist",
20
- "prepublishOnly": "echo You should run 'npm run publish' instead. && exit 1",
21
- "publish": "npm run build && npm publish ./dist --ignore-scripts"
22
- },
23
16
  "peerDependencies": {
24
17
  "@warscript/language-extensions": "^0.0.1",
25
18
  "@warscript/tstl-plugin": "^0.0.6",
26
19
  "lua-types": "^2.13.1",
27
- "warpack": "0.0.1-dev.e490aaf"
28
- },
29
- "devDependencies": {
30
- "@typescript-eslint/eslint-plugin": "^8.61.1",
31
- "@typescript-eslint/parser": "^8.61.1",
32
- "async": "^3.2.6",
33
- "copyfiles": "^2.4.1",
34
- "eslint": "^9.14.0",
35
- "eslint-config-prettier": "^9.1.0",
36
- "eslint-plugin-prettier": "^5.2.1",
37
- "prettier": "^3.3.3",
38
- "rimraf": "^6.0.1",
39
- "ts-node": "^10.9.2",
40
- "tsc-watch": "^6.2.0"
20
+ "warpack": "0.0.1-dev.c268d14"
41
21
  },
42
22
  "publishConfig": {
43
23
  "access": "public",
@@ -1,6 +1,11 @@
1
1
  /** @noSelfInFile */
2
- import { TupleOf } from "./types";
2
+ import { NonEmptyArray, ReadonlyNonEmptyArray, TupleOf } from "./types";
3
3
  export declare const emptyArray: <T>() => readonly T[];
4
+ /** Checks for any element with `next` instead of computing the length. */
5
+ export declare const isNonEmptyArray: {
6
+ <T>(array: T[]): array is NonEmptyArray<T>;
7
+ <T>(array: readonly T[]): array is ReadonlyNonEmptyArray<T>;
8
+ };
4
9
  export declare const joinToString: <T>(array: readonly T[], separator: string, transform?: (element: T) => string) => string;
5
10
  export declare const arrayOfNotNull: <T>(...elements: readonly (T | undefined | null)[]) => T[];
6
11
  export declare const array: <T, N extends number>(length: N, initialize: (index: number) => T) => TupleOf<T, N>;
@@ -42,6 +47,7 @@ export declare const associateByIndexed: <K extends AnyNotNil, V>(array: readonl
42
47
  export declare const associateWith: <K extends AnyNotNil, V>(array: readonly K[], valueSelector: (value: K) => V) => LuaMap<K, V>;
43
48
  export declare const associateWithIndexed: <K extends AnyNotNil, V>(array: readonly K[], valueSelector: (index: number, value: K) => V) => LuaMap<K, V>;
44
49
  export declare const filter: <T>(array: readonly T[], predicate: (value: T) => boolean) => T[];
50
+ export declare const filterNot: <T>(array: readonly T[], predicate: (value: T) => boolean) => T[];
45
51
  export declare const average: (array: readonly number[]) => number;
46
52
  export declare const sum: (array: readonly number[]) => number;
47
53
  export declare const product: (array: readonly number[]) => number;
@@ -7,6 +7,7 @@ local ____functions = require("utility.functions")
7
7
  local identity = ____functions.identity
8
8
  local mathMax = math.max
9
9
  local mathMin = math.min
10
+ local next = _G.next
10
11
  local select = _G.select
11
12
  local tableConcat = table.concat
12
13
  local tableSort = table.sort
@@ -14,6 +15,10 @@ local EMPTY_ARRAY = {}
14
15
  ____exports.emptyArray = function()
15
16
  return EMPTY_ARRAY
16
17
  end
18
+ --- Checks for any element with `next` instead of computing the length.
19
+ ____exports.isNonEmptyArray = function(array)
20
+ return (next(array)) ~= nil
21
+ end
17
22
  ____exports.joinToString = function(array, separator, transform)
18
23
  if transform == nil then
19
24
  transform = tostring
@@ -238,6 +243,18 @@ ____exports.filter = function(array, predicate)
238
243
  end
239
244
  return result
240
245
  end
246
+ ____exports.filterNot = function(array, predicate)
247
+ local result = {}
248
+ local j = 1
249
+ for i = 1, #array do
250
+ local value = array[i]
251
+ if not predicate(value) then
252
+ result[j] = value
253
+ j = j + 1
254
+ end
255
+ end
256
+ return result
257
+ end
241
258
  ____exports.average = function(array)
242
259
  local sum = 0
243
260
  local count = #array
@@ -1,78 +0,0 @@
1
- local ____lualib = require("lualib_bundle")
2
- local __TS__Class = ____lualib.__TS__Class
3
- local __TS__New = ____lualib.__TS__New
4
- local __TS__ObjectDefineProperty = ____lualib.__TS__ObjectDefineProperty
5
- local ____exports = {}
6
- local ____item = require("engine.internal.item")
7
- local Item = ____item.Item
8
- local ____unit = require("engine.internal.unit")
9
- local Unit = ____unit.Unit
10
- local ____utility = require("engine.internal.utility")
11
- local findUnitItemSlot = ____utility.findUnitItemSlot
12
- local ____add_2Ditem_2Dto_2Dslot = require("engine.internal.unit.add-item-to-slot")
13
- local unitAddItemToSlot = ____add_2Ditem_2Dto_2Dslot.unitAddItemToSlot
14
- local rawset = _G.rawset
15
- local ____type = _G.type
16
- local isItemPowerup = IsItemPowerup
17
- local setItemBooleanField = BlzSetItemBooleanField
18
- local unitInventorySize = UnitInventorySize
19
- local unitItemInSlot = UnitItemInSlot
20
- local unitRemoveItemFromSlot = UnitRemoveItemFromSlot
21
- local handleByUnitItems = setmetatable({}, {__mode = "k"})
22
- local function unitItemsNext(handle, index)
23
- local slot = index & 7
24
- if index >> 3 == slot then
25
- return nil, nil
26
- end
27
- return index + 1, Item:of(unitItemInSlot(handle, slot))
28
- end
29
- ____exports.UnitItems = __TS__Class()
30
- local UnitItems = ____exports.UnitItems
31
- UnitItems.name = "UnitItems"
32
- function UnitItems.prototype.____constructor(self, handle)
33
- handleByUnitItems[self] = handle
34
- end
35
- function UnitItems.prototype.findSlot(self, item)
36
- return findUnitItemSlot(handleByUnitItems[self], item.handle)
37
- end
38
- function UnitItems.prototype.__newindex(self, slot, item)
39
- local handle = handleByUnitItems[self]
40
- if slot < 1 or slot > unitInventorySize(handle) then
41
- return
42
- end
43
- unitRemoveItemFromSlot(handle, slot - 1)
44
- if item ~= nil then
45
- local itemHandle = item.handle
46
- local isPowerup = isItemPowerup(itemHandle)
47
- if isPowerup then
48
- setItemBooleanField(itemHandle, ITEM_BF_USE_AUTOMATICALLY_WHEN_ACQUIRED, false)
49
- end
50
- unitAddItemToSlot(handle, itemHandle, slot - 1)
51
- if isPowerup then
52
- setItemBooleanField(itemHandle, ITEM_BF_USE_AUTOMATICALLY_WHEN_ACQUIRED, true)
53
- end
54
- end
55
- end
56
- function UnitItems.prototype.__index(self, key)
57
- if ____type(key) == "number" then
58
- return Item:of(unitItemInSlot(handleByUnitItems[self], key - 1))
59
- end
60
- return rawget(____exports.UnitItems.prototype, key)
61
- end
62
- function UnitItems.prototype.__len(self)
63
- return unitInventorySize(handleByUnitItems[self])
64
- end
65
- function UnitItems.prototype.__ipairs(self)
66
- local handle = handleByUnitItems[self]
67
- return unitItemsNext, handle, unitInventorySize(handle) << 3
68
- end
69
- __TS__ObjectDefineProperty(
70
- Unit.prototype,
71
- "items",
72
- {get = function(self)
73
- local items = __TS__New(____exports.UnitItems, self.handle)
74
- rawset(self, "items", items)
75
- return items
76
- end}
77
- )
78
- return ____exports