warscript 0.0.1-dev.c362181 → 0.0.1-dev.c47d565

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 (401) hide show
  1. package/attributes.d.ts +6 -0
  2. package/attributes.lua +17 -1
  3. package/core/dummy.lua +4 -2
  4. package/core/types/effect.d.ts +12 -4
  5. package/core/types/effect.lua +67 -104
  6. package/core/types/frame.d.ts +16 -2
  7. package/core/types/frame.lua +141 -77
  8. package/core/types/handle.lua +9 -9
  9. package/core/types/item.d.ts +1 -0
  10. package/core/types/item.lua +1 -0
  11. package/core/types/player.d.ts +18 -1
  12. package/core/types/player.lua +76 -26
  13. package/core/types/playerCamera.d.ts +2 -0
  14. package/core/types/playerCamera.lua +123 -5
  15. package/core/types/playerColor.lua +4 -3
  16. package/core/types/sound.d.ts +1 -1
  17. package/core/types/sound.lua +19 -9
  18. package/core/types/tileCell.d.ts +18 -3
  19. package/core/types/tileCell.lua +108 -0
  20. package/core/types/timer.d.ts +9 -8
  21. package/core/types/timer.lua +45 -23
  22. package/core/types/unit.d.ts +5 -0
  23. package/core/types/unit.lua +5 -0
  24. package/core/util.d.ts +3 -1
  25. package/core/util.lua +109 -3
  26. package/decl/native.d.ts +1718 -964
  27. package/destroyable.d.ts +1 -0
  28. package/destroyable.lua +9 -0
  29. package/engine/ability-type-extended-tooltip.d.ts +8 -0
  30. package/engine/ability-type-extended-tooltip.lua +44 -0
  31. package/engine/behavior.d.ts +14 -1
  32. package/engine/behavior.lua +230 -70
  33. package/engine/behaviour/ability/apply-buff.lua +5 -5
  34. package/engine/behaviour/ability/apply-unit-behavior.lua +5 -0
  35. package/engine/behaviour/ability/damage.d.ts +10 -3
  36. package/engine/behaviour/ability/damage.lua +41 -49
  37. package/engine/behaviour/ability/emulate-impact.d.ts +1 -1
  38. package/engine/behaviour/ability/emulate-impact.lua +23 -7
  39. package/engine/behaviour/ability/on-command-impact.d.ts +1 -0
  40. package/engine/behaviour/ability/on-command-impact.lua +1 -0
  41. package/engine/behaviour/ability/remove-buffs.d.ts +9 -0
  42. package/engine/behaviour/ability/remove-buffs.lua +21 -0
  43. package/engine/behaviour/ability/restore-mana.d.ts +1 -1
  44. package/engine/behaviour/ability/restore-mana.lua +6 -6
  45. package/engine/behaviour/ability.d.ts +16 -6
  46. package/engine/behaviour/ability.lua +69 -21
  47. package/engine/behaviour/unit/stun-immunity.d.ts +12 -6
  48. package/engine/behaviour/unit/stun-immunity.lua +57 -31
  49. package/engine/behaviour/unit.d.ts +40 -3
  50. package/engine/behaviour/unit.lua +270 -6
  51. package/engine/buff.d.ts +114 -58
  52. package/engine/buff.lua +564 -303
  53. package/engine/index.d.ts +2 -1
  54. package/engine/internal/ability.d.ts +14 -1
  55. package/engine/internal/ability.lua +113 -44
  56. package/engine/internal/item/ability.lua +63 -11
  57. package/engine/internal/item/fields.d.ts +12 -0
  58. package/engine/internal/item/fields.lua +33 -0
  59. package/engine/internal/item/owner-cache.d.ts +5 -0
  60. package/engine/internal/item/owner-cache.lua +4 -0
  61. package/engine/internal/item+owner.d.ts +2 -0
  62. package/engine/internal/item+owner.lua +37 -8
  63. package/engine/internal/item.d.ts +32 -16
  64. package/engine/internal/item.lua +257 -82
  65. package/engine/internal/mechanics/ability-duration.lua +1 -1
  66. package/engine/internal/mechanics/cast-ability.lua +6 -3
  67. package/engine/internal/misc/damage-metadata-by-target.lua +5 -0
  68. package/engine/internal/misc/frame-coordinates.d.ts +2 -0
  69. package/engine/internal/misc/frame-coordinates.lua +21 -0
  70. package/engine/internal/misc/get-terrain-z.d.ts +2 -0
  71. package/engine/internal/misc/get-terrain-z.lua +11 -0
  72. package/engine/internal/misc/player-local-handle.d.ts +2 -0
  73. package/engine/internal/misc/player-local-handle.lua +5 -0
  74. package/engine/internal/misc/unit-ability-level-natives.d.ts +2 -0
  75. package/engine/internal/misc/unit-ability-level-natives.lua +12 -0
  76. package/engine/internal/object-data/armor-bonus.d.ts +2 -0
  77. package/engine/internal/object-data/attribute-bonus.lua +2 -2
  78. package/engine/internal/object-data/health-bonus.d.ts +2 -0
  79. package/engine/internal/object-data/health-bonus.lua +16 -0
  80. package/engine/internal/object-data/health-regeneration-rate-increase.d.ts +2 -0
  81. package/engine/internal/object-data/health-regeneration-rate-increase.lua +48 -0
  82. package/engine/internal/object-data/mana-bonus.d.ts +2 -0
  83. package/engine/internal/object-data/mana-bonus.lua +16 -0
  84. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.d.ts +2 -0
  85. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.lua +16 -0
  86. package/engine/internal/object-data/returned-melee-damage-factor.d.ts +2 -0
  87. package/engine/internal/object-data/returned-melee-damage-factor.lua +21 -0
  88. package/engine/internal/unit/ability.d.ts +35 -0
  89. package/engine/internal/unit/ability.lua +98 -9
  90. package/engine/internal/unit/add-item-to-slot-init.lua +3 -14
  91. package/engine/internal/unit/add-item-to-slot.lua +53 -12
  92. package/engine/internal/unit/allowed-targets.d.ts +1 -1
  93. package/engine/internal/unit/allowed-targets.lua +9 -1
  94. package/engine/internal/unit/appearance.d.ts +15 -0
  95. package/engine/internal/unit/appearance.lua +85 -0
  96. package/engine/internal/unit/attributes.d.ts +17 -0
  97. package/engine/internal/unit/attributes.lua +46 -0
  98. package/engine/internal/unit/bonus.d.ts +17 -0
  99. package/engine/internal/unit/bonus.lua +113 -8
  100. package/engine/internal/unit/buff.d.ts +2 -2
  101. package/engine/internal/unit/buff.lua +34 -19
  102. package/engine/internal/unit/equipment-inventory.d.ts +44 -0
  103. package/engine/internal/unit/equipment-inventory.lua +233 -0
  104. package/engine/internal/unit/expiration-timer.lua +1 -1
  105. package/engine/internal/unit/extended-inventory.d.ts +25 -0
  106. package/engine/internal/unit/extended-inventory.lua +99 -0
  107. package/engine/internal/unit/fly-height.d.ts +7 -0
  108. package/engine/internal/unit/fly-height.lua +20 -0
  109. package/engine/internal/unit/ignore-events-items.lua +10 -1
  110. package/engine/internal/unit/interrupts.d.ts +12 -0
  111. package/engine/internal/unit/interrupts.lua +28 -0
  112. package/engine/internal/unit/{item.d.ts → inventory.d.ts} +7 -3
  113. package/engine/internal/unit/inventory.lua +87 -0
  114. package/engine/internal/unit/item-container.d.ts +25 -0
  115. package/engine/internal/unit/item-container.lua +11 -0
  116. package/engine/internal/unit/item-order-events.d.ts +17 -0
  117. package/engine/internal/unit/item-order-events.lua +67 -0
  118. package/engine/internal/unit/item-slot.d.ts +27 -0
  119. package/engine/internal/unit/item-slot.lua +92 -0
  120. package/engine/internal/unit/main-selected.lua +12 -27
  121. package/engine/internal/unit/order.d.ts +20 -0
  122. package/engine/internal/unit/order.lua +136 -0
  123. package/engine/internal/unit/range-event.d.ts +12 -0
  124. package/engine/internal/unit/range-event.lua +90 -0
  125. package/engine/internal/unit/scale.d.ts +7 -0
  126. package/engine/internal/unit/scale.lua +20 -0
  127. package/engine/internal/unit+ability.d.ts +2 -1
  128. package/engine/internal/unit+ability.lua +73 -3
  129. package/engine/internal/unit+bonus.lua +3 -3
  130. package/engine/internal/unit+damage.d.ts +11 -11
  131. package/engine/internal/unit+damage.lua +43 -14
  132. package/engine/internal/unit+rally.lua +9 -31
  133. package/engine/internal/unit+spellSteal.lua +1 -2
  134. package/engine/internal/unit-missile-data.lua +58 -32
  135. package/engine/internal/unit-missile-launch.lua +65 -27
  136. package/engine/internal/unit.d.ts +41 -36
  137. package/engine/internal/unit.lua +398 -327
  138. package/engine/local-client.d.ts +28 -0
  139. package/engine/local-client.lua +324 -54
  140. package/engine/object-data/auxiliary/armor-type.d.ts +11 -0
  141. package/engine/object-data/auxiliary/armor-type.lua +46 -0
  142. package/engine/object-data/auxiliary/attachment-preset.d.ts +14 -2
  143. package/engine/object-data/auxiliary/attachment-preset.lua +11 -3
  144. package/engine/object-data/auxiliary/attack-type.d.ts +7 -8
  145. package/engine/object-data/auxiliary/attack-type.lua +42 -0
  146. package/engine/object-data/auxiliary/equipment-slot.d.ts +12 -0
  147. package/engine/object-data/auxiliary/equipment-slot.lua +2 -0
  148. package/engine/object-data/auxiliary/equipment-type.d.ts +12 -0
  149. package/engine/object-data/auxiliary/equipment-type.lua +26 -0
  150. package/engine/object-data/auxiliary/health-regeneration-type.d.ts +8 -0
  151. package/engine/object-data/auxiliary/health-regeneration-type.lua +2 -0
  152. package/engine/object-data/auxiliary/item-class.d.ts +11 -0
  153. package/engine/object-data/auxiliary/item-class.lua +2 -0
  154. package/engine/object-data/auxiliary/item-tag.d.ts +12 -0
  155. package/engine/object-data/auxiliary/item-tag.lua +2 -0
  156. package/engine/object-data/auxiliary/movement-type.d.ts +7 -7
  157. package/engine/object-data/auxiliary/movement-type.lua +22 -0
  158. package/engine/object-data/auxiliary/order-type.d.ts +939 -0
  159. package/engine/object-data/auxiliary/order-type.lua +2 -0
  160. package/engine/object-data/auxiliary/sound-set-name.d.ts +14 -3
  161. package/engine/object-data/auxiliary/unit-attribute.d.ts +6 -0
  162. package/engine/object-data/auxiliary/unit-attribute.lua +9 -0
  163. package/engine/object-data/entry/ability-type/apprehend.d.ts +22 -0
  164. package/engine/object-data/entry/ability-type/apprehend.lua +66 -0
  165. package/engine/object-data/entry/ability-type/armor-bonus.d.ts +8 -0
  166. package/engine/object-data/entry/ability-type/{armor-increase.lua → armor-bonus.lua} +9 -9
  167. package/engine/object-data/entry/ability-type/aura-of-blight.d.ts +13 -0
  168. package/engine/object-data/entry/ability-type/aura-of-blight.lua +39 -0
  169. package/engine/object-data/entry/ability-type/banshee.d.ts +8 -0
  170. package/engine/object-data/entry/ability-type/banshee.lua +13 -0
  171. package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.d.ts +12 -0
  172. package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.lua +27 -0
  173. package/engine/object-data/entry/ability-type/banshees-wail.d.ts +31 -0
  174. package/engine/object-data/entry/ability-type/banshees-wail.lua +117 -0
  175. package/engine/object-data/entry/ability-type/battering-ram.d.ts +33 -0
  176. package/engine/object-data/entry/ability-type/battering-ram.lua +130 -0
  177. package/engine/object-data/entry/ability-type/berserk.d.ts +2 -0
  178. package/engine/object-data/entry/ability-type/berserk.lua +13 -0
  179. package/engine/object-data/entry/ability-type/blank-passive-with-cooldown.d.ts +23 -0
  180. package/engine/object-data/entry/ability-type/blank-passive-with-cooldown.lua +112 -0
  181. package/engine/object-data/entry/ability-type/blank-passive.d.ts +4 -0
  182. package/engine/object-data/entry/ability-type/blank-passive.lua +27 -7
  183. package/engine/object-data/entry/ability-type/breath-of-fire.d.ts +11 -0
  184. package/engine/object-data/entry/ability-type/breath-of-fire.lua +27 -0
  185. package/engine/object-data/entry/ability-type/carrion-swarm.d.ts +14 -0
  186. package/engine/object-data/entry/ability-type/carrion-swarm.lua +65 -0
  187. package/engine/object-data/entry/ability-type/cleansing-fire.d.ts +27 -0
  188. package/engine/object-data/entry/ability-type/cleansing-fire.lua +104 -0
  189. package/engine/object-data/entry/ability-type/consecration.d.ts +15 -0
  190. package/engine/object-data/entry/ability-type/consecration.lua +52 -0
  191. package/engine/object-data/entry/ability-type/cooldown-reduction.d.ts +12 -0
  192. package/engine/object-data/entry/ability-type/cooldown-reduction.lua +39 -0
  193. package/engine/object-data/entry/ability-type/critical-strike-system.d.ts +18 -0
  194. package/engine/object-data/entry/ability-type/critical-strike-system.lua +65 -0
  195. package/engine/object-data/entry/ability-type/deathseeker-arrows.d.ts +21 -0
  196. package/engine/object-data/entry/ability-type/deathseeker-arrows.lua +78 -0
  197. package/engine/object-data/entry/ability-type/equipment-inventory-interface.d.ts +8 -0
  198. package/engine/object-data/entry/ability-type/equipment-inventory-interface.lua +13 -0
  199. package/engine/object-data/entry/ability-type/equipment-inventory.d.ts +13 -0
  200. package/engine/object-data/entry/ability-type/equipment-inventory.lua +27 -0
  201. package/engine/object-data/entry/ability-type/equipment.d.ts +13 -0
  202. package/engine/object-data/entry/ability-type/equipment.lua +27 -0
  203. package/engine/object-data/entry/ability-type/exhume-corpses.d.ts +14 -0
  204. package/engine/object-data/entry/ability-type/exhume-corpses.lua +40 -0
  205. package/engine/object-data/entry/ability-type/firebolt.d.ts +7 -0
  206. package/engine/object-data/entry/ability-type/firebolt.lua +13 -0
  207. package/engine/object-data/entry/ability-type/flame-strike.d.ts +25 -0
  208. package/engine/object-data/entry/ability-type/flame-strike.lua +92 -0
  209. package/engine/object-data/entry/ability-type/grant-talent-point.d.ts +8 -0
  210. package/engine/object-data/entry/ability-type/grant-talent-point.lua +13 -0
  211. package/engine/object-data/entry/ability-type/grim-conviction.d.ts +36 -0
  212. package/engine/object-data/entry/ability-type/grim-conviction.lua +131 -0
  213. package/engine/object-data/entry/ability-type/grit.d.ts +18 -0
  214. package/engine/object-data/entry/ability-type/grit.lua +65 -0
  215. package/engine/object-data/entry/ability-type/guiding-hand.d.ts +27 -0
  216. package/engine/object-data/entry/ability-type/guiding-hand.lua +104 -0
  217. package/engine/object-data/entry/ability-type/headsplitter.d.ts +27 -0
  218. package/engine/object-data/entry/ability-type/headsplitter.lua +104 -0
  219. package/engine/object-data/entry/ability-type/{armor-increase.d.ts → healing-modifier.d.ts} +4 -3
  220. package/engine/object-data/entry/ability-type/healing-modifier.lua +26 -0
  221. package/engine/object-data/entry/ability-type/healing-ward-aura.d.ts +13 -0
  222. package/engine/object-data/entry/ability-type/healing-ward-aura.lua +39 -0
  223. package/engine/object-data/entry/ability-type/health-bonus.d.ts +8 -0
  224. package/engine/object-data/entry/ability-type/health-bonus.lua +26 -0
  225. package/engine/object-data/entry/ability-type/heroic-slash.d.ts +18 -0
  226. package/engine/object-data/entry/ability-type/heroic-slash.lua +65 -0
  227. package/engine/object-data/entry/ability-type/holy-wrath.d.ts +30 -0
  228. package/engine/object-data/entry/ability-type/holy-wrath.lua +117 -0
  229. package/engine/object-data/entry/ability-type/inspire-courage.d.ts +18 -0
  230. package/engine/object-data/entry/ability-type/inspire-courage.lua +65 -0
  231. package/engine/object-data/entry/ability-type/item-life-regeneration.d.ts +10 -0
  232. package/engine/object-data/entry/ability-type/item-life-regeneration.lua +26 -0
  233. package/engine/object-data/entry/ability-type/life-drain.d.ts +37 -0
  234. package/engine/object-data/entry/ability-type/life-drain.lua +144 -0
  235. package/engine/object-data/entry/ability-type/lights-mercy.d.ts +27 -0
  236. package/engine/object-data/entry/ability-type/lights-mercy.lua +104 -0
  237. package/engine/object-data/entry/ability-type/mana-bonus.d.ts +8 -0
  238. package/engine/object-data/entry/ability-type/mana-bonus.lua +26 -0
  239. package/engine/object-data/entry/ability-type/mana-efficiency.d.ts +12 -0
  240. package/engine/object-data/entry/ability-type/mana-efficiency.lua +39 -0
  241. package/engine/object-data/entry/ability-type/mana-regeneration.d.ts +8 -0
  242. package/engine/object-data/entry/ability-type/mana-regeneration.lua +26 -0
  243. package/engine/object-data/entry/ability-type/mind-control.d.ts +21 -0
  244. package/engine/object-data/entry/ability-type/mind-control.lua +78 -0
  245. package/engine/object-data/entry/ability-type/on-attack-cast-spell.d.ts +21 -0
  246. package/engine/object-data/entry/ability-type/on-attack-cast-spell.lua +52 -0
  247. package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.d.ts +19 -0
  248. package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.lua +65 -0
  249. package/engine/object-data/entry/ability-type/on-hit-cast-spell.d.ts +15 -0
  250. package/engine/object-data/entry/ability-type/on-hit-cast-spell.lua +26 -0
  251. package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.d.ts +6 -0
  252. package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.lua +12 -0
  253. package/engine/object-data/entry/ability-type/permanent-invisibility.d.ts +8 -0
  254. package/engine/object-data/entry/ability-type/permanent-invisibility.lua +26 -0
  255. package/engine/object-data/entry/ability-type/phase-shift.d.ts +10 -0
  256. package/engine/object-data/entry/ability-type/phase-shift.lua +39 -0
  257. package/engine/object-data/entry/ability-type/provoke.d.ts +21 -0
  258. package/engine/object-data/entry/ability-type/provoke.lua +66 -0
  259. package/engine/object-data/entry/ability-type/rain-of-fire.d.ts +7 -0
  260. package/engine/object-data/entry/ability-type/rain-of-fire.lua +13 -0
  261. package/engine/object-data/entry/ability-type/raise-the-banner.d.ts +9 -0
  262. package/engine/object-data/entry/ability-type/raise-the-banner.lua +26 -0
  263. package/engine/object-data/entry/ability-type/reincarnation.d.ts +8 -0
  264. package/engine/object-data/entry/ability-type/reincarnation.lua +26 -0
  265. package/engine/object-data/entry/ability-type/resolve.d.ts +12 -0
  266. package/engine/object-data/entry/ability-type/resolve.lua +39 -0
  267. package/engine/object-data/entry/ability-type/righteous-fury.d.ts +33 -0
  268. package/engine/object-data/entry/ability-type/righteous-fury.lua +130 -0
  269. package/engine/object-data/entry/ability-type/sacred-aura.d.ts +27 -0
  270. package/engine/object-data/entry/ability-type/sacred-aura.lua +104 -0
  271. package/engine/object-data/entry/ability-type/shock-wave.d.ts +4 -0
  272. package/engine/object-data/entry/ability-type/shock-wave.lua +26 -0
  273. package/engine/object-data/entry/ability-type/slow-poison.d.ts +10 -0
  274. package/engine/object-data/entry/ability-type/slow-poison.lua +58 -0
  275. package/engine/object-data/entry/ability-type/soul-burn.d.ts +22 -0
  276. package/engine/object-data/entry/ability-type/soul-burn.lua +79 -0
  277. package/engine/object-data/entry/ability-type/soul-lantern.d.ts +30 -0
  278. package/engine/object-data/entry/ability-type/soul-lantern.lua +117 -0
  279. package/engine/object-data/entry/ability-type/spell-amp.d.ts +15 -0
  280. package/engine/object-data/entry/ability-type/spell-amp.lua +52 -0
  281. package/engine/object-data/entry/ability-type/spell-critical-strike.d.ts +12 -0
  282. package/engine/object-data/entry/ability-type/spell-critical-strike.lua +39 -0
  283. package/engine/object-data/entry/ability-type/spell-vamp.d.ts +12 -0
  284. package/engine/object-data/entry/ability-type/spell-vamp.lua +39 -0
  285. package/engine/object-data/entry/ability-type/stackable-evasion.d.ts +9 -0
  286. package/engine/object-data/entry/ability-type/stackable-evasion.lua +13 -0
  287. package/engine/object-data/entry/ability-type/stackable-hardened-skin.d.ts +21 -0
  288. package/engine/object-data/entry/ability-type/stackable-hardened-skin.lua +78 -0
  289. package/engine/object-data/entry/ability-type/stackable-life-steal.d.ts +9 -0
  290. package/engine/object-data/entry/ability-type/stackable-life-steal.lua +26 -0
  291. package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.d.ts +9 -0
  292. package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.lua +13 -0
  293. package/engine/object-data/entry/ability-type/stackable-thorn-shield.d.ts +9 -0
  294. package/engine/object-data/entry/ability-type/stackable-thorn-shield.lua +13 -0
  295. package/engine/object-data/entry/ability-type/stat-details.d.ts +12 -0
  296. package/engine/object-data/entry/ability-type/stat-details.lua +27 -0
  297. package/engine/object-data/entry/ability-type/surge-of-light.d.ts +33 -0
  298. package/engine/object-data/entry/ability-type/surge-of-light.lua +130 -0
  299. package/engine/object-data/entry/ability-type/sweeping-strike.d.ts +57 -0
  300. package/engine/object-data/entry/ability-type/sweeping-strike.lua +234 -0
  301. package/engine/object-data/entry/ability-type/talents.d.ts +12 -0
  302. package/engine/object-data/entry/ability-type/talents.lua +27 -0
  303. package/engine/object-data/entry/ability-type/unyielding-guard.d.ts +30 -0
  304. package/engine/object-data/entry/ability-type/unyielding-guard.lua +117 -0
  305. package/engine/object-data/entry/ability-type/valiant-charge.d.ts +27 -0
  306. package/engine/object-data/entry/ability-type/valiant-charge.lua +104 -0
  307. package/engine/object-data/entry/ability-type/warcry.d.ts +9 -0
  308. package/engine/object-data/entry/ability-type/warcry.lua +26 -0
  309. package/engine/object-data/entry/ability-type/web.d.ts +12 -0
  310. package/engine/object-data/entry/ability-type/web.lua +52 -0
  311. package/engine/object-data/entry/ability-type/withering-fire.d.ts +21 -0
  312. package/engine/object-data/entry/ability-type/withering-fire.lua +78 -0
  313. package/engine/object-data/entry/ability-type.d.ts +40 -15
  314. package/engine/object-data/entry/ability-type.lua +314 -17
  315. package/engine/object-data/entry/buff-type/applicable.lua +113 -104
  316. package/engine/object-data/entry/buff-type.d.ts +10 -12
  317. package/engine/object-data/entry/buff-type.lua +37 -27
  318. package/engine/object-data/entry/destructible-type.d.ts +32 -2
  319. package/engine/object-data/entry/destructible-type.lua +181 -0
  320. package/engine/object-data/entry/item-type.d.ts +18 -3
  321. package/engine/object-data/entry/item-type.lua +84 -0
  322. package/engine/object-data/entry/lightning-type.d.ts +6 -8
  323. package/engine/object-data/entry/lightning-type.lua +1 -1
  324. package/engine/object-data/entry/sound-preset.d.ts +2 -2
  325. package/engine/object-data/entry/unit-type.d.ts +74 -6
  326. package/engine/object-data/entry/unit-type.lua +560 -100
  327. package/engine/object-data/entry/upgrade.d.ts +2 -2
  328. package/engine/object-data/entry.d.ts +6 -1
  329. package/engine/object-data/entry.lua +8 -0
  330. package/engine/object-field/ability.d.ts +4 -4
  331. package/engine/object-field/ability.lua +9 -8
  332. package/engine/object-field/item.d.ts +22 -0
  333. package/engine/object-field/item.lua +118 -0
  334. package/engine/object-field/unit.d.ts +72 -3
  335. package/engine/object-field/unit.lua +268 -7
  336. package/engine/object-field.d.ts +26 -7
  337. package/engine/object-field.lua +360 -119
  338. package/engine/random.d.ts +10 -0
  339. package/engine/random.lua +21 -0
  340. package/engine/standard/entries/ability-type.d.ts +3102 -7
  341. package/engine/standard/entries/ability-type.lua +0 -6
  342. package/engine/standard/entries/buff-type.d.ts +48 -0
  343. package/engine/standard/entries/buff-type.lua +46 -0
  344. package/engine/standard/entries/item-type.d.ts +1299 -0
  345. package/engine/standard/entries/item-type.lua +2 -0
  346. package/engine/standard/entries/lightning-type.d.ts +42 -15
  347. package/engine/standard/entries/lightning-type.lua +0 -14
  348. package/engine/standard/entries/unit-type.d.ts +5 -0
  349. package/engine/standard/entries/unit-type.lua +5 -0
  350. package/engine/standard/fields/ability.d.ts +2 -2
  351. package/engine/standard/fields/ability.lua +2 -2
  352. package/engine/standard/fields/item.d.ts +4 -0
  353. package/engine/standard/fields/item.lua +6 -0
  354. package/engine/standard/fields/unit.d.ts +12 -0
  355. package/engine/standard/fields/unit.lua +20 -0
  356. package/engine/synchronization.d.ts +11 -0
  357. package/engine/synchronization.lua +77 -0
  358. package/engine/text-tag.d.ts +36 -2
  359. package/engine/text-tag.lua +250 -10
  360. package/engine/unit.d.ts +11 -1
  361. package/engine/unit.lua +11 -1
  362. package/event.d.ts +1 -1
  363. package/lualib_bundle.lua +1 -1
  364. package/math.d.ts +2 -0
  365. package/math.lua +14 -0
  366. package/net/socket.lua +1 -1
  367. package/network.lua +25 -1
  368. package/objutil/buff.lua +12 -11
  369. package/objutil/object.lua +1 -1
  370. package/operation.d.ts +8 -1
  371. package/operation.lua +38 -18
  372. package/package.json +3 -23
  373. package/patch-lua.lua +15 -0
  374. package/patch-lualib.lua +1 -1
  375. package/utility/arrays.d.ts +9 -1
  376. package/utility/arrays.lua +28 -0
  377. package/utility/callback-array.d.ts +17 -0
  378. package/utility/callback-array.lua +61 -0
  379. package/utility/functions.d.ts +8 -0
  380. package/utility/functions.lua +13 -0
  381. package/utility/linked-map.d.ts +35 -0
  382. package/utility/linked-map.lua +107 -0
  383. package/utility/linked-set.d.ts +5 -1
  384. package/utility/linked-set.lua +49 -1
  385. package/utility/lua-maps.d.ts +15 -2
  386. package/utility/lua-maps.lua +53 -2
  387. package/utility/lua-sets.d.ts +2 -0
  388. package/utility/lua-sets.lua +7 -0
  389. package/utility/random.d.ts +102 -0
  390. package/utility/random.lua +273 -0
  391. package/utility/records.lua +20 -1
  392. package/utility/types.d.ts +3 -0
  393. package/utility/unordered-map.d.ts +27 -0
  394. package/utility/unordered-map.lua +99 -0
  395. package/core/types/order.d.ts +0 -25
  396. package/core/types/order.lua +0 -55
  397. package/engine/internal/unit/item.lua +0 -78
  398. /package/engine/internal/{object-data/armor-increase.d.ts → misc/damage-metadata-by-target.d.ts} +0 -0
  399. /package/engine/internal/object-data/{armor-increase.lua → armor-bonus.lua} +0 -0
  400. /package/engine/object-data/entry/ability-type/{attribute-increase.d.ts → attribute-bonus.d.ts} +0 -0
  401. /package/engine/object-data/entry/ability-type/{attribute-increase.lua → attribute-bonus.lua} +0 -0
@@ -1,9 +1,9 @@
1
1
  /** @noSelfInFile */
2
2
  import { TupleOf } from "../../../utility/types";
3
3
  import { TechTreeDependency, TechTreeDependencyInput } from "../auxiliary/tech-tree-dependency";
4
- import { ObjectDataEntry, ObjectDataEntryId, ObjectDataEntryLevelFieldValueSupplier } from "../entry";
4
+ import { ObjectDataEntry, CustomObjectDataEntryId, ObjectDataEntryLevelFieldValueSupplier } from "../entry";
5
5
  import { AbilityTypeId } from "./ability-type";
6
- export type UpgradeId = ObjectDataEntryId & number & {
6
+ export type UpgradeId = CustomObjectDataEntryId & number & {
7
7
  readonly __upgradeId: unique symbol;
8
8
  };
9
9
  export declare const enum UpgradeEffectType {
@@ -1,9 +1,13 @@
1
1
  /** @noSelfInFile */
2
2
  import { AttachmentPreset, AttachmentPresetInput } from "./auxiliary/attachment-preset";
3
3
  import { MutableKeys } from "../../utility/types";
4
- export type ObjectDataEntryId = (number | string) & {
4
+ import { StandardAbilityTypeId } from "../standard/entries/ability-type";
5
+ import { StandardItemTypeId } from "../standard/entries/item-type";
6
+ import { StandardLightningTypeId } from "../standard/entries/lightning-type";
7
+ export type CustomObjectDataEntryId = (number | string) & {
5
8
  readonly __objectDataEntryId: unique symbol;
6
9
  };
10
+ export type ObjectDataEntryId = CustomObjectDataEntryId | StandardAbilityTypeId | StandardItemTypeId | StandardLightningTypeId;
7
11
  export type ObjectDataEntryIdType<T extends ObjectDataEntry> = T extends ObjectDataEntry<infer Id> ? Id : never;
8
12
  export type ObjectDataEntryConstructor<T extends ObjectDataEntry> = OmitConstructor<typeof ObjectDataEntry> & (new (object: WarObject) => T);
9
13
  export type ObjectDataEntryAbstractConstructor<T extends ObjectDataEntry> = OmitConstructor<typeof ObjectDataEntry> & (abstract new (object: WarObject) => T);
@@ -38,6 +42,7 @@ export declare abstract class ObjectDataEntry<Id extends ObjectDataEntryId = Obj
38
42
  setFieldValue<This extends this, Args extends any[]>(this: This, field: {
39
43
  setValue(entry: This, ...args: Args): boolean;
40
44
  }, ...args: Args): void;
45
+ copyFrom(id: Id): void;
41
46
  protected getBooleanField(field: string): boolean;
42
47
  protected setBooleanField(field: string, value: boolean): void;
43
48
  protected getNumberField(field: string): number;
@@ -181,6 +181,14 @@ end
181
181
  function ObjectDataEntry.prototype.setFieldValue(self, field, ...)
182
182
  check(field:setValue(self, ...))
183
183
  end
184
+ function ObjectDataEntry.prototype.copyFrom(self, id)
185
+ local that = self.type:of(id)
186
+ if that == nil then
187
+ return
188
+ end
189
+ for ____, field in ipairs(self.object.all) do
190
+ end
191
+ end
184
192
  function ObjectDataEntry.prototype.getBooleanField(self, field)
185
193
  return dataToBoolean(self.object:getField(field))
186
194
  end
@@ -12,7 +12,7 @@ import { ReadonlyNonEmptyLinkedSet } from "../../utility/linked-set";
12
12
  export declare abstract class AbilityField<ValueType extends number | string | boolean = number | string | boolean, NativeFieldType extends jabilityfield = jabilityfield> extends ObjectField<AbilityType, Ability, ValueType, NativeFieldType> {
13
13
  protected get instanceClass(): typeof Ability;
14
14
  protected getObjectDataEntryId(instance: Ability): AbilityTypeId;
15
- protected hasNativeFieldValue(instance: Ability): boolean;
15
+ protected hasNativeFieldValue(abilityTypeId: AbilityTypeId): boolean;
16
16
  static get valueChangeEvent(): ObjectFieldValueChangeEvent<ReadonlyObjectFieldType<AbilityField>>;
17
17
  }
18
18
  export declare class AbilityBooleanField extends AbilityField<boolean, jabilitybooleanfield> {
@@ -48,7 +48,7 @@ export declare class AbilityStringField extends AbilityField<string, jabilitystr
48
48
  export declare abstract class AbilityArrayField<ValueType extends number | string | boolean = number | string | boolean, NativeFieldType extends jabilityfield = jabilityfield> extends ObjectArrayField<AbilityType, Ability, ValueType, NativeFieldType> {
49
49
  protected get instanceClass(): typeof Ability;
50
50
  protected getObjectDataEntryId(instance: Ability): AbilityTypeId;
51
- protected hasNativeFieldValue(instance: Ability): boolean;
51
+ protected hasNativeFieldValue(abilityTypeId: AbilityTypeId): boolean;
52
52
  }
53
53
  export declare class AbilityStringArrayField extends AbilityArrayField<string, jabilitystringlevelfield> {
54
54
  protected get defaultValue(): string;
@@ -68,7 +68,7 @@ export declare abstract class AbilityLevelField<ValueType extends number | strin
68
68
  protected get instanceClass(): typeof Ability;
69
69
  protected getLevelCount(entry: AbilityType | Ability): number;
70
70
  protected getObjectDataEntryId(instance: Ability): AbilityTypeId;
71
- protected hasNativeFieldValue(instance: Ability): boolean;
71
+ protected hasNativeFieldValue(abilityTypeId: AbilityTypeId): boolean;
72
72
  static get valueChangeEvent(): ObjectLevelFieldValueChangeEvent<ReadonlyObjectLevelFieldType<AbilityLevelField>>;
73
73
  }
74
74
  export declare class AbilityBooleanLevelField extends AbilityLevelField<boolean, boolean, jabilityintegerlevelfield> {
@@ -117,7 +117,7 @@ export declare abstract class AbilityEnumLevelField<T extends number> extends Ab
117
117
  protected getNativeFieldById(id: number): jabilityintegerlevelfield;
118
118
  protected getNativeFieldValue(instance: Ability, level: number): T;
119
119
  protected setNativeFieldValue(instance: Ability, level: number, value: T): boolean;
120
- static get valueChangeEvent(): ObjectLevelFieldValueChangeEvent<AbilityBooleanLevelField>;
120
+ static get valueChangeEvent(): ObjectLevelFieldValueChangeEvent<AbilityEnumLevelField<number>>;
121
121
  }
122
122
  export declare class AbilityBuffPolarityLevelField extends AbilityEnumLevelField<BuffPolarity> {
123
123
  protected values: ReadonlyNonEmptyLinkedSet<BuffPolarity>;
@@ -7,6 +7,7 @@ local __TS__InstanceOf = ____lualib.__TS__InstanceOf
7
7
  local ____exports = {}
8
8
  local ____ability = require("engine.internal.ability")
9
9
  local Ability = ____ability.Ability
10
+ local abilityTypeHasField = ____ability.abilityTypeHasField
10
11
  local ____object_2Dfield = require("engine.object-field")
11
12
  local ObjectArrayField = ____object_2Dfield.ObjectArrayField
12
13
  local ObjectField = ____object_2Dfield.ObjectField
@@ -29,8 +30,8 @@ __TS__ClassExtends(AbilityField, ObjectField)
29
30
  function AbilityField.prototype.getObjectDataEntryId(self, instance)
30
31
  return instance.typeId
31
32
  end
32
- function AbilityField.prototype.hasNativeFieldValue(self, instance)
33
- return instance:hasField(self.nativeField)
33
+ function AbilityField.prototype.hasNativeFieldValue(self, abilityTypeId)
34
+ return abilityTypeHasField(abilityTypeId, self.nativeField)
34
35
  end
35
36
  __TS__SetDescriptor(
36
37
  AbilityField.prototype,
@@ -197,8 +198,8 @@ __TS__ClassExtends(AbilityArrayField, ObjectArrayField)
197
198
  function AbilityArrayField.prototype.getObjectDataEntryId(self, instance)
198
199
  return instance.typeId
199
200
  end
200
- function AbilityArrayField.prototype.hasNativeFieldValue(self, instance)
201
- return instance:hasField(self.nativeField)
201
+ function AbilityArrayField.prototype.hasNativeFieldValue(self, abilityTypeId)
202
+ return abilityTypeHasField(abilityTypeId, self.nativeField)
202
203
  end
203
204
  __TS__SetDescriptor(
204
205
  AbilityArrayField.prototype,
@@ -269,8 +270,8 @@ end
269
270
  function AbilityLevelField.prototype.getObjectDataEntryId(self, instance)
270
271
  return instance.typeId
271
272
  end
272
- function AbilityLevelField.prototype.hasNativeFieldValue(self, instance)
273
- return instance:hasField(self.nativeField)
273
+ function AbilityLevelField.prototype.hasNativeFieldValue(self, abilityTypeId)
274
+ return abilityTypeHasField(abilityTypeId, self.nativeField)
274
275
  end
275
276
  __TS__SetDescriptor(
276
277
  AbilityLevelField.prototype,
@@ -518,9 +519,9 @@ __TS__SetDescriptor(
518
519
  )
519
520
  ____exports.resolveCurrentAbilityDependentValue = function(ability, value)
520
521
  if __TS__InstanceOf(value, ____exports.AbilityField) then
521
- return value:getValue(ability)
522
+ return value:getValue(ability, true)
522
523
  elseif __TS__InstanceOf(value, ____exports.AbilityLevelField) then
523
- return value:getValue(ability, ability.level)
524
+ return value:getValue(ability, ability.level, true)
524
525
  elseif type(value) == "function" then
525
526
  return value(ability)
526
527
  else
@@ -0,0 +1,22 @@
1
+ /** @noSelfInFile */
2
+ import { ObjectField } from "../object-field";
3
+ import { Item } from "../internal/item";
4
+ import { ItemType, ItemTypeId } from "../object-data/entry/item-type";
5
+ export declare abstract class ItemField<ValueType extends number | string | boolean = number | string | boolean, NativeFieldType = any> extends ObjectField<ItemType, Item, ValueType, NativeFieldType> {
6
+ protected get instanceClass(): typeof Item;
7
+ protected getObjectDataEntryId(instance: Item): ItemTypeId;
8
+ }
9
+ export declare class ItemBooleanField extends ItemField<boolean, jitembooleanfield> {
10
+ protected get defaultValue(): boolean;
11
+ protected getNativeFieldById(id: number): jitembooleanfield;
12
+ protected hasNativeFieldValue(): boolean;
13
+ protected getNativeFieldValue(instance: Item): boolean;
14
+ protected setNativeFieldValue(instance: Item, value: boolean): boolean;
15
+ }
16
+ export declare class ItemIntegerField extends ItemField<number, jitemintegerfield> {
17
+ protected get defaultValue(): number;
18
+ protected getNativeFieldById(id: number): jitemintegerfield;
19
+ protected hasNativeFieldValue(): boolean;
20
+ protected getNativeFieldValue(instance: Item): number;
21
+ protected setNativeFieldValue(instance: Item, value: number): boolean;
22
+ }
@@ -0,0 +1,118 @@
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 ____object_2Dfield = require("engine.object-field")
7
+ local ObjectField = ____object_2Dfield.ObjectField
8
+ local ____item = require("engine.internal.item")
9
+ local Item = ____item.Item
10
+ local ____lua_2Dsets = require("utility.lua-sets")
11
+ local luaSetOf = ____lua_2Dsets.luaSetOf
12
+ local convertItemBooleanField = ConvertItemBooleanField
13
+ local convertItemIntegerField = ConvertItemIntegerField
14
+ local getItemBooleanField = BlzGetItemBooleanField
15
+ local getItemIntegerField = BlzGetItemIntegerField
16
+ local isItemPawnable = IsItemPawnable
17
+ local isItemPowerup = IsItemPowerup
18
+ local setItemBooleanField = BlzSetItemBooleanField
19
+ local setItemDropOnDeath = SetItemDropOnDeath
20
+ local setItemDroppable = SetItemDroppable
21
+ local setItemPawnable = SetItemPawnable
22
+ local setItemIntegerField = BlzSetItemIntegerField
23
+ ____exports.ItemField = __TS__Class()
24
+ local ItemField = ____exports.ItemField
25
+ ItemField.name = "ItemField"
26
+ __TS__ClassExtends(ItemField, ObjectField)
27
+ function ItemField.prototype.getObjectDataEntryId(self, instance)
28
+ return instance.typeId
29
+ end
30
+ __TS__SetDescriptor(
31
+ ItemField.prototype,
32
+ "instanceClass",
33
+ {get = function(self)
34
+ return Item
35
+ end},
36
+ true
37
+ )
38
+ local nativeItemBooleanFieldIds = luaSetOf(
39
+ fourCC("ipaw"),
40
+ fourCC("iusa")
41
+ )
42
+ ____exports.ItemBooleanField = __TS__Class()
43
+ local ItemBooleanField = ____exports.ItemBooleanField
44
+ ItemBooleanField.name = "ItemBooleanField"
45
+ __TS__ClassExtends(ItemBooleanField, ____exports.ItemField)
46
+ function ItemBooleanField.prototype.getNativeFieldById(self, id)
47
+ return convertItemBooleanField(id)
48
+ end
49
+ function ItemBooleanField.prototype.hasNativeFieldValue(self)
50
+ return nativeItemBooleanFieldIds[self.id] ~= nil
51
+ end
52
+ function ItemBooleanField.prototype.getNativeFieldValue(self, instance)
53
+ return getItemBooleanField(instance.handle, self.nativeField)
54
+ end
55
+ function ItemBooleanField.prototype.setNativeFieldValue(self, instance, value)
56
+ if self.id == fourCC("iusa") then
57
+ local handle = instance.handle
58
+ local powerUp = isItemPowerup(handle)
59
+ local perishes = getItemBooleanField(handle, ITEM_BF_PERISHABLE)
60
+ local dropsOnDeath = getItemBooleanField(handle, ITEM_BF_DROPPED_WHEN_CARRIER_DIES)
61
+ local canBeDropped = getItemBooleanField(handle, ITEM_BF_CAN_BE_DROPPED)
62
+ local canBeSold = isItemPawnable(handle)
63
+ local result = setItemBooleanField(handle, ITEM_BF_ACTIVELY_USED, value)
64
+ setItemPawnable(handle, canBeSold)
65
+ setItemDroppable(handle, canBeDropped)
66
+ setItemDropOnDeath(handle, dropsOnDeath)
67
+ setItemBooleanField(handle, ITEM_BF_PERISHABLE, perishes)
68
+ setItemBooleanField(handle, ITEM_BF_USE_AUTOMATICALLY_WHEN_ACQUIRED, powerUp)
69
+ return result
70
+ end
71
+ return setItemBooleanField(instance.handle, self.nativeField, value)
72
+ end
73
+ __TS__SetDescriptor(
74
+ ItemBooleanField.prototype,
75
+ "defaultValue",
76
+ {get = function(self)
77
+ return false
78
+ end},
79
+ true
80
+ )
81
+ local nativeItemIntegerFieldIds = luaSetOf(
82
+ fourCC("ilev"),
83
+ fourCC("iuse"),
84
+ fourCC("icid"),
85
+ fourCC("ihtp"),
86
+ fourCC("ihpc"),
87
+ fourCC("ipri"),
88
+ fourCC("iarm"),
89
+ fourCC("iclr"),
90
+ fourCC("iclg"),
91
+ fourCC("iclb"),
92
+ fourCC("ical")
93
+ )
94
+ ____exports.ItemIntegerField = __TS__Class()
95
+ local ItemIntegerField = ____exports.ItemIntegerField
96
+ ItemIntegerField.name = "ItemIntegerField"
97
+ __TS__ClassExtends(ItemIntegerField, ____exports.ItemField)
98
+ function ItemIntegerField.prototype.getNativeFieldById(self, id)
99
+ return convertItemIntegerField(id)
100
+ end
101
+ function ItemIntegerField.prototype.hasNativeFieldValue(self)
102
+ return nativeItemIntegerFieldIds[self.id] ~= nil
103
+ end
104
+ function ItemIntegerField.prototype.getNativeFieldValue(self, instance)
105
+ return getItemIntegerField(instance.handle, self.nativeField)
106
+ end
107
+ function ItemIntegerField.prototype.setNativeFieldValue(self, instance, value)
108
+ return setItemIntegerField(instance.handle, self.nativeField, value)
109
+ end
110
+ __TS__SetDescriptor(
111
+ ItemIntegerField.prototype,
112
+ "defaultValue",
113
+ {get = function(self)
114
+ return 0
115
+ end},
116
+ true
117
+ )
118
+ return ____exports
@@ -1,16 +1,85 @@
1
1
  /** @noSelfInFile */
2
2
  import { Unit } from "../internal/unit";
3
- import { ObjectField } from "../object-field";
3
+ import { ObjectField, ObjectFieldValueChangeEvent, ObjectLevelField, ObjectLevelFieldValueChangeEvent, ReadonlyObjectFieldType, ReadonlyObjectLevelFieldType } from "../object-field";
4
4
  import { UnitType, UnitTypeId } from "../object-data/entry/unit-type";
5
+ import { ReadonlyNonEmptyLinkedSet } from "../../utility/linked-set";
6
+ import { AttackType } from "../object-data/auxiliary/attack-type";
7
+ import { UnitClassifications } from "../object-data/auxiliary/unit-classification";
8
+ import { HealthRegenerationType } from "../object-data/auxiliary/health-regeneration-type";
5
9
  export declare abstract class UnitField<ValueType extends number | string | boolean = number | string | boolean, NativeFieldType = any> extends ObjectField<UnitType, Unit, ValueType, NativeFieldType> {
6
10
  protected get instanceClass(): typeof Unit;
7
11
  protected getObjectDataEntryId(instance: Unit): UnitTypeId;
12
+ protected hasNativeFieldValue(): boolean;
13
+ static get valueChangeEvent(): ObjectFieldValueChangeEvent<ReadonlyObjectFieldType<UnitField>>;
14
+ }
15
+ export declare class UnitBooleanField extends UnitField<boolean, junitbooleanfield> {
16
+ protected get defaultValue(): boolean;
17
+ protected getNativeFieldById(id: number): junitbooleanfield;
18
+ protected getNativeFieldValue(instance: Unit): boolean;
19
+ protected setNativeFieldValue(instance: Unit, value: boolean): boolean;
20
+ static get valueChangeEvent(): ObjectFieldValueChangeEvent<ReadonlyObjectFieldType<UnitBooleanField>>;
21
+ }
22
+ export declare class UnitFloatField extends UnitField<number, junitrealfield> {
23
+ protected get defaultValue(): number;
24
+ protected getNativeFieldById(id: number): junitrealfield;
25
+ protected getNativeFieldValue(instance: Unit): number;
26
+ protected setNativeFieldValue(instance: Unit, value: number): boolean;
27
+ static get valueChangeEvent(): ObjectFieldValueChangeEvent<ReadonlyObjectFieldType<UnitFloatField>>;
28
+ }
29
+ export declare class UnitIntegerField<T extends number = number> extends UnitField<T, junitintegerfield> {
30
+ protected get defaultValue(): T;
31
+ protected getNativeFieldById(id: number): junitintegerfield;
32
+ protected getNativeFieldValue(instance: Unit): T;
33
+ protected setNativeFieldValue(instance: Unit, value: T): boolean;
34
+ static get valueChangeEvent(): ObjectFieldValueChangeEvent<ReadonlyObjectFieldType<UnitIntegerField>>;
8
35
  }
9
36
  export declare class UnitStringField extends UnitField<string, junitstringfield> {
10
37
  protected get defaultValue(): string;
11
38
  protected getNativeFieldById(id: number): junitstringfield;
12
- protected hasNativeFieldValue(): boolean;
13
39
  protected getNativeFieldValue(instance: Unit): string;
14
- protected getObjectDataEntryId(instance: Unit): UnitTypeId;
15
40
  protected setNativeFieldValue(instance: Unit, value: string): boolean;
41
+ static get valueChangeEvent(): ObjectFieldValueChangeEvent<ReadonlyObjectFieldType<UnitStringField>>;
42
+ }
43
+ type junitweaponfield = junitweaponbooleanfield | junitweaponintegerfield | junitweaponrealfield | junitweaponstringfield;
44
+ export declare abstract class UnitWeaponField<ValueType extends number | string | boolean = number | string | boolean, InputValueType extends ValueType = never, NativeFieldType extends junitweaponfield = junitweaponfield> extends ObjectLevelField<UnitType, Unit, ValueType, InputValueType, NativeFieldType> {
45
+ protected get instanceClass(): typeof Unit;
46
+ protected getLevelCount(): number;
47
+ protected getObjectDataEntryId(instance: Unit): UnitTypeId;
48
+ protected hasNativeFieldValue(): boolean;
49
+ static get valueChangeEvent(): ObjectLevelFieldValueChangeEvent<ReadonlyObjectLevelFieldType<UnitWeaponField>>;
50
+ }
51
+ export declare abstract class UnitNumberWeaponField<NativeFieldType extends junitweaponintegerfield | junitweaponrealfield = junitweaponintegerfield | junitweaponrealfield> extends UnitWeaponField<number, number, NativeFieldType> {
52
+ protected get defaultValue(): number;
53
+ static get valueChangeEvent(): ObjectLevelFieldValueChangeEvent<UnitNumberWeaponField>;
54
+ }
55
+ export declare abstract class UnitEnumWeaponField<T extends number> extends UnitWeaponField<T, T, junitweaponintegerfield> {
56
+ protected abstract values: ReadonlyNonEmptyLinkedSet<T>;
57
+ protected get defaultValue(): T;
58
+ protected getNativeFieldById(id: number): junitweaponintegerfield;
59
+ protected getNativeFieldValue(instance: Unit, index: number): T;
60
+ protected setNativeFieldValue(instance: Unit, index: number, value: T): boolean;
61
+ static get valueChangeEvent(): ObjectLevelFieldValueChangeEvent<UnitEnumWeaponField<number>>;
62
+ }
63
+ export declare class UnitAttackTypeWeaponField extends UnitEnumWeaponField<AttackType> {
64
+ protected values: ReadonlyNonEmptyLinkedSet<AttackType>;
65
+ }
66
+ export declare class UnitClassificationsField extends UnitField<UnitClassifications, junitintegerfield> {
67
+ protected get defaultValue(): UnitClassifications;
68
+ protected getNativeFieldById(id: number): junitintegerfield;
69
+ protected getNativeFieldValue(instance: Unit): UnitClassifications;
70
+ protected setNativeFieldValue(instance: Unit, value: UnitClassifications): boolean;
71
+ }
72
+ export declare class UnitFlyHeightField extends UnitFloatField {
73
+ protected getNativeFieldValue(instance: Unit): number;
74
+ protected setNativeFieldValue(instance: Unit, value: number): boolean;
75
+ }
76
+ export declare class UnitPropulsionWindowField extends UnitFloatField {
77
+ protected getNativeFieldValue(instance: Unit): number;
78
+ protected setNativeFieldValue(instance: Unit, value: number): boolean;
79
+ }
80
+ export declare class UnitHealthRegenerationTypeField extends UnitIntegerField<HealthRegenerationType> {
81
+ }
82
+ export declare class UnitScalingValueField extends UnitFloatField {
83
+ protected setNativeFieldValue(instance: Unit, value: number): boolean;
16
84
  }
85
+ export {};