warscript 0.0.1-dev.5abc199 → 0.0.1-dev.5bc80ec

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 (312) 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 +16 -2
  5. package/core/types/frame.lua +128 -67
  6. package/core/types/handle.lua +9 -9
  7. package/core/types/item.d.ts +1 -0
  8. package/core/types/item.lua +1 -0
  9. package/core/types/missile.lua +7 -6
  10. package/core/types/player.d.ts +2 -1
  11. package/core/types/player.lua +18 -13
  12. package/core/types/playerColor.lua +4 -3
  13. package/core/types/sound.d.ts +1 -1
  14. package/core/types/sound.lua +14 -9
  15. package/core/types/tileCell.d.ts +7 -2
  16. package/core/types/tileCell.lua +11 -0
  17. package/core/types/unit.d.ts +5 -0
  18. package/core/types/unit.lua +5 -0
  19. package/core/util.d.ts +3 -1
  20. package/core/util.lua +109 -3
  21. package/decl/native.d.ts +706 -7
  22. package/engine/ability-type-extended-tooltip.d.ts +8 -0
  23. package/engine/ability-type-extended-tooltip.lua +44 -0
  24. package/engine/behaviour/ability/apply-unit-behavior.lua +5 -0
  25. package/engine/behaviour/ability/damage.d.ts +4 -0
  26. package/engine/behaviour/ability/damage.lua +19 -15
  27. package/engine/behaviour/ability/emulate-impact.d.ts +14 -0
  28. package/engine/behaviour/ability/emulate-impact.lua +79 -5
  29. package/engine/behaviour/ability/instant-impact.d.ts +12 -1
  30. package/engine/behaviour/ability/instant-impact.lua +17 -2
  31. package/engine/behaviour/ability/on-command-impact.d.ts +1 -0
  32. package/engine/behaviour/ability/on-command-impact.lua +1 -0
  33. package/engine/behaviour/ability.d.ts +13 -5
  34. package/engine/behaviour/ability.lua +89 -8
  35. package/engine/behaviour/unit.d.ts +1 -0
  36. package/engine/behaviour/unit.lua +1 -0
  37. package/engine/buff.d.ts +92 -53
  38. package/engine/buff.lua +427 -246
  39. package/engine/index.d.ts +2 -1
  40. package/engine/internal/ability.d.ts +7 -0
  41. package/engine/internal/ability.lua +65 -36
  42. package/engine/internal/item/fields.d.ts +12 -0
  43. package/engine/internal/item/fields.lua +33 -0
  44. package/engine/internal/item/owner-cache.d.ts +5 -0
  45. package/engine/internal/item/owner-cache.lua +4 -0
  46. package/engine/internal/item+owner.d.ts +2 -0
  47. package/engine/internal/item+owner.lua +27 -4
  48. package/engine/internal/item.d.ts +20 -5
  49. package/engine/internal/item.lua +146 -57
  50. package/engine/internal/misc/unit-ability-level-natives.lua +12 -0
  51. package/engine/internal/object-data/armor-bonus.d.ts +2 -0
  52. package/engine/internal/object-data/attribute-bonus.lua +2 -2
  53. package/engine/internal/object-data/health-bonus.d.ts +2 -0
  54. package/engine/internal/object-data/health-bonus.lua +16 -0
  55. package/engine/internal/object-data/health-regeneration-rate-increase.d.ts +2 -0
  56. package/engine/internal/object-data/health-regeneration-rate-increase.lua +48 -0
  57. package/engine/internal/object-data/mana-bonus.d.ts +2 -0
  58. package/engine/internal/object-data/mana-bonus.lua +16 -0
  59. package/engine/internal/object-data/returned-melee-damage-factor.d.ts +2 -0
  60. package/engine/internal/object-data/returned-melee-damage-factor.lua +21 -0
  61. package/engine/internal/unit/ability.lua +16 -0
  62. package/engine/internal/unit/add-item-to-slot-init.lua +3 -14
  63. package/engine/internal/unit/add-item-to-slot.lua +53 -12
  64. package/engine/internal/unit/appearance.d.ts +15 -0
  65. package/engine/internal/unit/appearance.lua +85 -0
  66. package/engine/internal/unit/bonus.d.ts +15 -0
  67. package/engine/internal/unit/bonus.lua +103 -8
  68. package/engine/internal/unit/buff.d.ts +2 -2
  69. package/engine/internal/unit/buff.lua +34 -19
  70. package/engine/internal/unit/equipment-inventory.d.ts +44 -0
  71. package/engine/internal/unit/equipment-inventory.lua +233 -0
  72. package/engine/internal/unit/expiration-timer.lua +1 -1
  73. package/engine/internal/unit/extended-inventory.d.ts +25 -0
  74. package/engine/internal/unit/extended-inventory.lua +99 -0
  75. package/engine/internal/unit/ignore-events-items.lua +10 -1
  76. package/engine/internal/unit/{item.d.ts → inventory.d.ts} +7 -3
  77. package/engine/internal/unit/inventory.lua +87 -0
  78. package/engine/internal/unit/item-container.d.ts +25 -0
  79. package/engine/internal/unit/item-container.lua +11 -0
  80. package/engine/internal/unit/item-order-events.d.ts +17 -0
  81. package/engine/internal/unit/item-order-events.lua +67 -0
  82. package/engine/internal/unit/item-slot.d.ts +27 -0
  83. package/engine/internal/unit/item-slot.lua +92 -0
  84. package/engine/internal/unit/order.d.ts +3 -3
  85. package/engine/internal/unit/order.lua +10 -10
  86. package/engine/internal/unit+ability.d.ts +2 -1
  87. package/engine/internal/unit+ability.lua +73 -2
  88. package/engine/internal/unit+bonus.lua +3 -3
  89. package/engine/internal/unit+damage.d.ts +9 -0
  90. package/engine/internal/unit+damage.lua +33 -0
  91. package/engine/internal/unit+rally.lua +9 -31
  92. package/engine/internal/unit-missile-data.lua +58 -32
  93. package/engine/internal/unit-missile-launch.lua +13 -13
  94. package/engine/internal/unit.d.ts +2 -10
  95. package/engine/internal/unit.lua +53 -100
  96. package/engine/local-client.d.ts +26 -0
  97. package/engine/local-client.lua +294 -54
  98. package/engine/object-data/auxiliary/attachment-preset.d.ts +7 -0
  99. package/engine/object-data/auxiliary/attachment-preset.lua +7 -0
  100. package/engine/object-data/auxiliary/equipment-slot.d.ts +12 -0
  101. package/engine/object-data/auxiliary/equipment-slot.lua +2 -0
  102. package/engine/object-data/auxiliary/equipment-type.d.ts +12 -0
  103. package/engine/object-data/auxiliary/equipment-type.lua +26 -0
  104. package/engine/object-data/auxiliary/item-class.d.ts +11 -0
  105. package/engine/object-data/auxiliary/item-class.lua +2 -0
  106. package/engine/object-data/auxiliary/item-tag.d.ts +12 -0
  107. package/engine/object-data/auxiliary/item-tag.lua +2 -0
  108. package/engine/object-data/auxiliary/order-type.d.ts +939 -0
  109. package/engine/object-data/auxiliary/order-type.lua +2 -0
  110. package/engine/object-data/auxiliary/sound-set-name.d.ts +14 -3
  111. package/engine/object-data/auxiliary/unit-attribute.lua +1 -1
  112. package/engine/object-data/entry/ability-type/apprehend.d.ts +22 -0
  113. package/engine/object-data/entry/ability-type/apprehend.lua +66 -0
  114. package/engine/object-data/entry/ability-type/armor-bonus.d.ts +8 -0
  115. package/engine/object-data/entry/ability-type/{armor-increase.lua → armor-bonus.lua} +9 -9
  116. package/engine/object-data/entry/ability-type/aura-of-blight.d.ts +13 -0
  117. package/engine/object-data/entry/ability-type/aura-of-blight.lua +39 -0
  118. package/engine/object-data/entry/ability-type/banshee.d.ts +8 -0
  119. package/engine/object-data/entry/ability-type/banshee.lua +13 -0
  120. package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.d.ts +12 -0
  121. package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.lua +27 -0
  122. package/engine/object-data/entry/ability-type/banshees-wail.d.ts +31 -0
  123. package/engine/object-data/entry/ability-type/banshees-wail.lua +117 -0
  124. package/engine/object-data/entry/ability-type/barrage.d.ts +12 -0
  125. package/engine/object-data/entry/ability-type/barrage.lua +52 -0
  126. package/engine/object-data/entry/ability-type/battering-ram.d.ts +33 -0
  127. package/engine/object-data/entry/ability-type/battering-ram.lua +130 -0
  128. package/engine/object-data/entry/ability-type/blank-configurable.lua +2 -2
  129. package/engine/object-data/entry/ability-type/blank-passive-with-cooldown.d.ts +23 -0
  130. package/engine/object-data/entry/ability-type/blank-passive-with-cooldown.lua +112 -0
  131. package/engine/object-data/entry/ability-type/blank-passive.d.ts +4 -0
  132. package/engine/object-data/entry/ability-type/blank-passive.lua +27 -7
  133. package/engine/object-data/entry/ability-type/breath-of-fire.d.ts +11 -0
  134. package/engine/object-data/entry/ability-type/breath-of-fire.lua +27 -0
  135. package/engine/object-data/entry/ability-type/channel.d.ts +2 -2
  136. package/engine/object-data/entry/ability-type/channel.lua +3 -3
  137. package/engine/object-data/entry/ability-type/cleansing-fire.d.ts +27 -0
  138. package/engine/object-data/entry/ability-type/cleansing-fire.lua +104 -0
  139. package/engine/object-data/entry/ability-type/consecration.d.ts +15 -0
  140. package/engine/object-data/entry/ability-type/consecration.lua +52 -0
  141. package/engine/object-data/entry/ability-type/cooldown-reduction.d.ts +12 -0
  142. package/engine/object-data/entry/ability-type/cooldown-reduction.lua +39 -0
  143. package/engine/object-data/entry/ability-type/critical-strike-system.d.ts +18 -0
  144. package/engine/object-data/entry/ability-type/critical-strike-system.lua +65 -0
  145. package/engine/object-data/entry/ability-type/deathseeker-arrows.d.ts +21 -0
  146. package/engine/object-data/entry/ability-type/deathseeker-arrows.lua +78 -0
  147. package/engine/object-data/entry/ability-type/equipment-inventory-interface.d.ts +8 -0
  148. package/engine/object-data/entry/ability-type/equipment-inventory-interface.lua +13 -0
  149. package/engine/object-data/entry/ability-type/equipment-inventory.d.ts +13 -0
  150. package/engine/object-data/entry/ability-type/equipment-inventory.lua +27 -0
  151. package/engine/object-data/entry/ability-type/equipment.d.ts +13 -0
  152. package/engine/object-data/entry/ability-type/equipment.lua +27 -0
  153. package/engine/object-data/entry/ability-type/exhume-corpses.d.ts +14 -0
  154. package/engine/object-data/entry/ability-type/exhume-corpses.lua +40 -0
  155. package/engine/object-data/entry/ability-type/firebolt.d.ts +7 -0
  156. package/engine/object-data/entry/ability-type/firebolt.lua +13 -0
  157. package/engine/object-data/entry/ability-type/flame-strike.d.ts +25 -0
  158. package/engine/object-data/entry/ability-type/flame-strike.lua +92 -0
  159. package/engine/object-data/entry/ability-type/grant-talent-point.d.ts +8 -0
  160. package/engine/object-data/entry/ability-type/grant-talent-point.lua +13 -0
  161. package/engine/object-data/entry/ability-type/grim-conviction.d.ts +36 -0
  162. package/engine/object-data/entry/ability-type/grim-conviction.lua +131 -0
  163. package/engine/object-data/entry/ability-type/grit.d.ts +18 -0
  164. package/engine/object-data/entry/ability-type/grit.lua +65 -0
  165. package/engine/object-data/entry/ability-type/guiding-hand.d.ts +27 -0
  166. package/engine/object-data/entry/ability-type/guiding-hand.lua +104 -0
  167. package/engine/object-data/entry/ability-type/headsplitter.d.ts +27 -0
  168. package/engine/object-data/entry/ability-type/headsplitter.lua +104 -0
  169. package/engine/object-data/entry/ability-type/{armor-increase.d.ts → healing-modifier.d.ts} +4 -3
  170. package/engine/object-data/entry/ability-type/healing-modifier.lua +26 -0
  171. package/engine/object-data/entry/ability-type/healing-ward-aura.d.ts +13 -0
  172. package/engine/object-data/entry/ability-type/healing-ward-aura.lua +39 -0
  173. package/engine/object-data/entry/ability-type/health-bonus.d.ts +8 -0
  174. package/engine/object-data/entry/ability-type/health-bonus.lua +26 -0
  175. package/engine/object-data/entry/ability-type/heroic-slash.d.ts +18 -0
  176. package/engine/object-data/entry/ability-type/heroic-slash.lua +65 -0
  177. package/engine/object-data/entry/ability-type/holy-wrath.d.ts +30 -0
  178. package/engine/object-data/entry/ability-type/holy-wrath.lua +117 -0
  179. package/engine/object-data/entry/ability-type/inspire-courage.d.ts +18 -0
  180. package/engine/object-data/entry/ability-type/inspire-courage.lua +65 -0
  181. package/engine/object-data/entry/ability-type/item-life-regeneration.d.ts +10 -0
  182. package/engine/object-data/entry/ability-type/item-life-regeneration.lua +26 -0
  183. package/engine/object-data/entry/ability-type/life-drain.d.ts +37 -0
  184. package/engine/object-data/entry/ability-type/life-drain.lua +144 -0
  185. package/engine/object-data/entry/ability-type/lights-mercy.d.ts +27 -0
  186. package/engine/object-data/entry/ability-type/lights-mercy.lua +104 -0
  187. package/engine/object-data/entry/ability-type/mana-bonus.d.ts +8 -0
  188. package/engine/object-data/entry/ability-type/mana-bonus.lua +26 -0
  189. package/engine/object-data/entry/ability-type/mana-efficiency.d.ts +12 -0
  190. package/engine/object-data/entry/ability-type/mana-efficiency.lua +39 -0
  191. package/engine/object-data/entry/ability-type/mind-control.d.ts +21 -0
  192. package/engine/object-data/entry/ability-type/mind-control.lua +78 -0
  193. package/engine/object-data/entry/ability-type/on-attack-cast-spell.d.ts +21 -0
  194. package/engine/object-data/entry/ability-type/on-attack-cast-spell.lua +52 -0
  195. package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.d.ts +19 -0
  196. package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.lua +65 -0
  197. package/engine/object-data/entry/ability-type/on-hit-cast-spell.d.ts +15 -0
  198. package/engine/object-data/entry/ability-type/on-hit-cast-spell.lua +26 -0
  199. package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.d.ts +6 -0
  200. package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.lua +12 -0
  201. package/engine/object-data/entry/ability-type/provoke.d.ts +21 -0
  202. package/engine/object-data/entry/ability-type/provoke.lua +66 -0
  203. package/engine/object-data/entry/ability-type/rain-of-fire.d.ts +7 -0
  204. package/engine/object-data/entry/ability-type/rain-of-fire.lua +13 -0
  205. package/engine/object-data/entry/ability-type/raise-the-banner.d.ts +9 -0
  206. package/engine/object-data/entry/ability-type/raise-the-banner.lua +26 -0
  207. package/engine/object-data/entry/ability-type/resolve.d.ts +12 -0
  208. package/engine/object-data/entry/ability-type/resolve.lua +39 -0
  209. package/engine/object-data/entry/ability-type/righteous-fury.d.ts +33 -0
  210. package/engine/object-data/entry/ability-type/righteous-fury.lua +130 -0
  211. package/engine/object-data/entry/ability-type/sacred-aura.d.ts +27 -0
  212. package/engine/object-data/entry/ability-type/sacred-aura.lua +104 -0
  213. package/engine/object-data/entry/ability-type/soul-burn.d.ts +22 -0
  214. package/engine/object-data/entry/ability-type/soul-burn.lua +79 -0
  215. package/engine/object-data/entry/ability-type/soul-lantern.d.ts +30 -0
  216. package/engine/object-data/entry/ability-type/soul-lantern.lua +117 -0
  217. package/engine/object-data/entry/ability-type/spell-amp.d.ts +15 -0
  218. package/engine/object-data/entry/ability-type/spell-amp.lua +52 -0
  219. package/engine/object-data/entry/ability-type/spell-critical-strike.d.ts +12 -0
  220. package/engine/object-data/entry/ability-type/spell-critical-strike.lua +39 -0
  221. package/engine/object-data/entry/ability-type/spell-vamp.d.ts +12 -0
  222. package/engine/object-data/entry/ability-type/spell-vamp.lua +39 -0
  223. package/engine/object-data/entry/ability-type/stackable-evasion.d.ts +9 -0
  224. package/engine/object-data/entry/ability-type/stackable-evasion.lua +13 -0
  225. package/engine/object-data/entry/ability-type/stackable-hardened-skin.d.ts +21 -0
  226. package/engine/object-data/entry/ability-type/stackable-hardened-skin.lua +78 -0
  227. package/engine/object-data/entry/ability-type/stackable-life-steal.d.ts +9 -0
  228. package/engine/object-data/entry/ability-type/stackable-life-steal.lua +26 -0
  229. package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.d.ts +9 -0
  230. package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.lua +13 -0
  231. package/engine/object-data/entry/ability-type/stackable-thorn-shield.d.ts +9 -0
  232. package/engine/object-data/entry/ability-type/stackable-thorn-shield.lua +13 -0
  233. package/engine/object-data/entry/ability-type/stat-details.d.ts +12 -0
  234. package/engine/object-data/entry/ability-type/stat-details.lua +27 -0
  235. package/engine/object-data/entry/ability-type/surge-of-light.d.ts +33 -0
  236. package/engine/object-data/entry/ability-type/surge-of-light.lua +130 -0
  237. package/engine/object-data/entry/ability-type/sweeping-strike.d.ts +57 -0
  238. package/engine/object-data/entry/ability-type/sweeping-strike.lua +234 -0
  239. package/engine/object-data/entry/ability-type/talents.d.ts +12 -0
  240. package/engine/object-data/entry/ability-type/talents.lua +27 -0
  241. package/engine/object-data/entry/ability-type/unyielding-guard.d.ts +30 -0
  242. package/engine/object-data/entry/ability-type/unyielding-guard.lua +117 -0
  243. package/engine/object-data/entry/ability-type/valiant-charge.d.ts +27 -0
  244. package/engine/object-data/entry/ability-type/valiant-charge.lua +104 -0
  245. package/engine/object-data/entry/ability-type/warcry.d.ts +9 -0
  246. package/engine/object-data/entry/ability-type/warcry.lua +26 -0
  247. package/engine/object-data/entry/ability-type/withering-fire.d.ts +21 -0
  248. package/engine/object-data/entry/ability-type/withering-fire.lua +78 -0
  249. package/engine/object-data/entry/ability-type.d.ts +33 -8
  250. package/engine/object-data/entry/ability-type.lua +259 -47
  251. package/engine/object-data/entry/buff-type/applicable.lua +122 -111
  252. package/engine/object-data/entry/buff-type.d.ts +6 -2
  253. package/engine/object-data/entry/buff-type.lua +26 -0
  254. package/engine/object-data/entry/destructible-type.d.ts +6 -2
  255. package/engine/object-data/entry/destructible-type.lua +26 -0
  256. package/engine/object-data/entry/item-type.d.ts +18 -3
  257. package/engine/object-data/entry/item-type.lua +84 -0
  258. package/engine/object-data/entry/lightning-type.d.ts +6 -8
  259. package/engine/object-data/entry/lightning-type.lua +1 -1
  260. package/engine/object-data/entry/sound-preset.d.ts +2 -2
  261. package/engine/object-data/entry/unit-type.d.ts +57 -2
  262. package/engine/object-data/entry/unit-type.lua +412 -64
  263. package/engine/object-data/entry/upgrade.d.ts +2 -2
  264. package/engine/object-data/entry.d.ts +6 -1
  265. package/engine/object-data/entry.lua +8 -0
  266. package/engine/object-field/ability.lua +2 -2
  267. package/engine/object-field/item.d.ts +22 -0
  268. package/engine/object-field/item.lua +118 -0
  269. package/engine/object-field.d.ts +1 -1
  270. package/engine/object-field.lua +9 -7
  271. package/engine/random.lua +1 -1
  272. package/engine/standard/entries/ability-type.d.ts +3102 -7
  273. package/engine/standard/entries/ability-type.lua +0 -6
  274. package/engine/standard/entries/buff-type.d.ts +45 -0
  275. package/engine/standard/entries/buff-type.lua +43 -0
  276. package/engine/standard/entries/item-type.d.ts +1299 -0
  277. package/engine/standard/entries/item-type.lua +2 -0
  278. package/engine/standard/entries/lightning-type.d.ts +42 -15
  279. package/engine/standard/entries/lightning-type.lua +0 -14
  280. package/engine/standard/entries/unit-type.d.ts +5 -0
  281. package/engine/standard/entries/unit-type.lua +5 -0
  282. package/engine/standard/fields/ability.d.ts +2 -2
  283. package/engine/standard/fields/ability.lua +2 -2
  284. package/engine/standard/fields/item.d.ts +4 -0
  285. package/engine/standard/fields/item.lua +6 -0
  286. package/engine/unit.d.ts +5 -1
  287. package/engine/unit.lua +5 -1
  288. package/event.d.ts +1 -1
  289. package/lualib_bundle.lua +1 -1
  290. package/math.d.ts +2 -0
  291. package/math.lua +14 -0
  292. package/network.lua +25 -1
  293. package/objutil/buff.lua +1 -1
  294. package/objutil/object.lua +1 -1
  295. package/operation.d.ts +8 -1
  296. package/operation.lua +38 -18
  297. package/package.json +3 -23
  298. package/utility/arrays.d.ts +7 -1
  299. package/utility/arrays.lua +17 -0
  300. package/utility/linked-map.d.ts +2 -1
  301. package/utility/linked-map.lua +6 -0
  302. package/utility/linked-set.d.ts +1 -0
  303. package/utility/linked-set.lua +6 -0
  304. package/utility/random.d.ts +102 -0
  305. package/utility/random.lua +273 -0
  306. package/utility/unordered-map.d.ts +27 -0
  307. package/utility/unordered-map.lua +99 -0
  308. package/engine/internal/unit/item.lua +0 -78
  309. /package/engine/internal/{object-data/armor-increase.d.ts → misc/unit-ability-level-natives.d.ts} +0 -0
  310. /package/engine/internal/object-data/{armor-increase.lua → armor-bonus.lua} +0 -0
  311. /package/engine/object-data/entry/ability-type/{attribute-increase.d.ts → attribute-bonus.d.ts} +0 -0
  312. /package/engine/object-data/entry/ability-type/{attribute-increase.lua → attribute-bonus.lua} +0 -0
@@ -7,14 +7,14 @@ import { Race } from "../auxiliary/race";
7
7
  import { SoundSetName } from "../auxiliary/sound-set-name";
8
8
  import { UnitClassifications } from "../auxiliary/unit-classification";
9
9
  import { WeaponSoundType } from "../auxiliary/weapon-sound-type";
10
- import { ObjectDataEntry, ObjectDataEntryConstructor, ObjectDataEntryId } from "../entry";
10
+ import { ObjectDataEntry, ObjectDataEntryConstructor, CustomObjectDataEntryId } from "../entry";
11
11
  import { ObjectDataEntryIdGenerator } from "../utility/object-data-entry-id-generator";
12
12
  import type { AbilityTypeId } from "./ability-type";
13
13
  import type { UpgradeId } from "./upgrade";
14
14
  import { AnimationQualifier } from "../auxiliary/animation-qualifier";
15
15
  import { AttackType } from "../auxiliary/attack-type";
16
16
  import { ArmorType } from "../auxiliary/armor-type";
17
- export type UnitTypeId = ObjectDataEntryId & number & {
17
+ export type UnitTypeId = CustomObjectDataEntryId & number & {
18
18
  readonly __unitTypeId: unique symbol;
19
19
  };
20
20
  export type StandardUnitTypeId = UnitTypeId & {
@@ -40,12 +40,18 @@ export declare class UnitTypeWeapon {
40
40
  set damageDiceSideCount(damageDiceSideCount: number);
41
41
  get impactDelay(): number;
42
42
  set impactDelay(impactDelay: number);
43
+ get missileArc(): number;
44
+ set missileArc(missileArc: number);
43
45
  get missileModelPath(): string;
44
46
  set missileModelPath(missileModelPath: string);
45
47
  get missileModelPathSD(): string;
46
48
  set missileModelPathSD(missileModelPathSD: string);
47
49
  get missileModelPathHD(): string;
48
50
  set missileModelPathHD(missileModelPathHD: string);
51
+ get missileModelPathDE(): string;
52
+ set missileModelPathDE(missileModelPathDE: string);
53
+ get missileSpeed(): number;
54
+ set missileSpeed(missileSpeed: number);
49
55
  get range(): number;
50
56
  set range(range: number);
51
57
  get soundType(): WeaponSoundType;
@@ -54,6 +60,8 @@ export declare class UnitTypeWeapon {
54
60
  set soundTypeSD(soundTypeSD: WeaponSoundType);
55
61
  get soundTypeHD(): WeaponSoundType;
56
62
  set soundTypeHD(soundTypeHD: WeaponSoundType);
63
+ get soundTypeDE(): WeaponSoundType;
64
+ set soundTypeDE(soundTypeDE: WeaponSoundType);
57
65
  }
58
66
  export declare abstract class UnitType<Id extends UnitTypeId = UnitTypeId> extends ObjectDataEntry<Id> {
59
67
  static readonly [id: StandardUnitTypeId]: ObjectDataEntryConstructor<UnitType>;
@@ -61,6 +69,16 @@ export declare abstract class UnitType<Id extends UnitTypeId = UnitTypeId> exten
61
69
  protected static generateId(): number;
62
70
  protected static getObjectData(map: WarMap): WarObjects;
63
71
  private isPortraitModelPathSet?;
72
+ /** Portrait fields a model setter emptied because no portrait was set yet. */
73
+ private autoEmptiedPortraitFields?;
74
+ private emptyPortraitForModel;
75
+ /**
76
+ * An explicit portrait wins over the automatic empty portraits of the model setters, so
77
+ * it may also be set after the models: the mode-less portrait (one portrait for every
78
+ * mode) returns the automatically emptied per-mode portraits to their defaults, a
79
+ * per-mode portrait replaces only its own mode's.
80
+ */
81
+ private setPortraitModelPathField;
64
82
  get abilityTypeIds(): AbilityTypeId[];
65
83
  set abilityTypeIds(abilityTypeIds: AbilityTypeId[]);
66
84
  get defaultActiveAbilityTypeId(): AbilityTypeId | undefined;
@@ -79,12 +97,19 @@ export declare abstract class UnitType<Id extends UnitTypeId = UnitTypeId> exten
79
97
  set casterUpgradeIconPath(casterUpgradeIconPath: string);
80
98
  get deathDuration(): number;
81
99
  set deathDuration(deathDuration: number);
100
+ get isDecayable(): boolean;
101
+ set isDecayable(isDecayable: boolean);
102
+ get isRaisable(): boolean;
103
+ set isRaisable(isRaisable: boolean);
104
+ private setDeathTypeFlag;
82
105
  get iconPath(): string;
83
106
  set iconPath(iconPath: string);
84
107
  get iconPathSD(): string;
85
108
  set iconPathSD(iconPathSD: string);
86
109
  get iconPathHD(): string;
87
110
  set iconPathHD(iconPathHD: string);
111
+ get iconPathDE(): string;
112
+ set iconPathDE(iconPathDE: string);
88
113
  get isMissileScalingEnabled(): boolean;
89
114
  set isMissileScalingEnabled(isMissileScalingEnabled: boolean);
90
115
  get maximumPitchAngleDegrees(): number;
@@ -101,54 +126,72 @@ export declare abstract class UnitType<Id extends UnitTypeId = UnitTypeId> exten
101
126
  set missileLaunchOffsetZSD(missileLaunchOffsetZSD: number);
102
127
  get missileLaunchOffsetZHD(): number;
103
128
  set missileLaunchOffsetZHD(missileLaunchOffsetZHD: number);
129
+ get missileLaunchOffsetZDE(): number;
130
+ set missileLaunchOffsetZDE(missileLaunchOffsetZDE: number);
104
131
  get missileLaunchSwimmingOffsetZ(): number;
105
132
  set missileLaunchSwimmingOffsetZ(missileLaunchOffsetZ: number);
106
133
  get missileLaunchSwimmingOffsetZSD(): number;
107
134
  set missileLaunchSwimmingOffsetZSD(missileLaunchSwimmingOffsetZSD: number);
108
135
  get missileLaunchSwimmingOffsetZHD(): number;
109
136
  set missileLaunchSwimmingOffsetZHD(missileLaunchSwimmingOffsetZHD: number);
137
+ get missileLaunchSwimmingOffsetZDE(): number;
138
+ set missileLaunchSwimmingOffsetZDE(missileLaunchSwimmingOffsetZDE: number);
110
139
  get missileLaunchVisualOffsetX(): number;
111
140
  set missileLaunchVisualOffsetX(missileLaunchVisualOffsetX: number);
112
141
  get missileLaunchVisualOffsetXSD(): number;
113
142
  set missileLaunchVisualOffsetXSD(missileLaunchVisualOffsetXSD: number);
114
143
  get missileLaunchVisualOffsetXHD(): number;
115
144
  set missileLaunchVisualOffsetXHD(missileLaunchVisualOffsetXHD: number);
145
+ get missileLaunchVisualOffsetXDE(): number;
146
+ set missileLaunchVisualOffsetXDE(missileLaunchVisualOffsetXDE: number);
116
147
  get missileLaunchVisualOffsetY(): number;
117
148
  set missileLaunchVisualOffsetY(missileLaunchVisualOffsetY: number);
118
149
  get missileLaunchVisualOffsetYSD(): number;
119
150
  set missileLaunchVisualOffsetYSD(missileLaunchVisualOffsetYSD: number);
120
151
  get missileLaunchVisualOffsetYHD(): number;
121
152
  set missileLaunchVisualOffsetYHD(missileLaunchVisualOffsetYHD: number);
153
+ get missileLaunchVisualOffsetYDE(): number;
154
+ set missileLaunchVisualOffsetYDE(missileLaunchVisualOffsetYDE: number);
122
155
  get missileImpactOffsetZ(): number;
123
156
  set missileImpactOffsetZ(missileImpactOffsetZ: number);
124
157
  get missileImpactOffsetZSD(): number;
125
158
  set missileImpactOffsetZSD(missileImpactOffsetZSD: number);
126
159
  get missileImpactOffsetZHD(): number;
127
160
  set missileImpactOffsetZHD(missileImpactOffsetZHD: number);
161
+ get missileImpactOffsetZDE(): number;
162
+ set missileImpactOffsetZDE(missileImpactOffsetZDE: number);
128
163
  get missileImpactSwimmingOffsetZ(): number;
129
164
  set missileImpactSwimmingOffsetZ(missileImpactSwimmingOffsetZ: number);
130
165
  get missileImpactSwimmingOffsetZSD(): number;
131
166
  set missileImpactSwimmingOffsetZSD(missileImpactSwimmingOffsetZSD: number);
132
167
  get missileImpactSwimmingOffsetZHD(): number;
133
168
  set missileImpactSwimmingOffsetZHD(missileImpactSwimmingOffsetZHD: number);
169
+ get missileImpactSwimmingOffsetZDE(): number;
170
+ set missileImpactSwimmingOffsetZDE(missileImpactSwimmingOffsetZDE: number);
134
171
  get modelPath(): string;
135
172
  set modelPath(modelPath: string);
136
173
  get modelPathSD(): string;
137
174
  set modelPathSD(modelPathSD: string);
138
175
  get modelPathHD(): string;
139
176
  set modelPathHD(modelPathHD: string);
177
+ get modelPathDE(): string;
178
+ set modelPathDE(modelPathDE: string);
140
179
  get portraitModelPath(): string;
141
180
  set portraitModelPath(portraitModelPath: string);
142
181
  get portraitModelPathSD(): string;
143
182
  set portraitModelPathSD(portraitModelPathSD: string);
144
183
  get portraitModelPathHD(): string;
145
184
  set portraitModelPathHD(portraitModelPathHD: string);
185
+ get portraitModelPathDE(): string;
186
+ set portraitModelPathDE(portraitModelPathDE: string);
146
187
  get runSpeed(): number;
147
188
  set runSpeed(runSpeed: number);
148
189
  get runSpeedSD(): number;
149
190
  set runSpeedSD(runSpeedSD: number);
150
191
  get runSpeedHD(): number;
151
192
  set runSpeedHD(runSpeedHD: number);
193
+ get runSpeedDE(): number;
194
+ set runSpeedDE(runSpeedDE: number);
152
195
  get selectionCircleHeight(): number;
153
196
  set selectionCircleHeight(height: number);
154
197
  get selectionCircleScale(): number;
@@ -157,24 +200,32 @@ export declare abstract class UnitType<Id extends UnitTypeId = UnitTypeId> exten
157
200
  set selectionCircleScaleSD(selectionCircleScaleSD: number);
158
201
  get selectionCircleScaleHD(): number;
159
202
  set selectionCircleScaleHD(selectionCircleScaleHD: number);
203
+ get selectionCircleScaleDE(): number;
204
+ set selectionCircleScaleDE(selectionCircleScaleDE: number);
160
205
  get scale(): number;
161
206
  set scale(scale: number);
162
207
  get scaleSD(): number;
163
208
  set scaleSD(scaleSD: number);
164
209
  get scaleHD(): number;
165
210
  set scaleHD(scaleHD: number);
211
+ get scaleDE(): number;
212
+ set scaleDE(scaleDE: number);
166
213
  get scoreScreenIconPath(): string;
167
214
  set scoreScreenIconPath(scoreScreenIconPath: string);
168
215
  get scoreScreenIconPathSD(): string;
169
216
  set scoreScreenIconPathSD(scoreScreenIconPathSD: string);
170
217
  get scoreScreenIconPathHD(): string;
171
218
  set scoreScreenIconPathHD(scoreScreenIconPathHD: string);
219
+ get scoreScreenIconPathDE(): string;
220
+ set scoreScreenIconPathDE(scoreScreenIconPathDE: string);
172
221
  get specialEffectModelPath(): string;
173
222
  set specialEffectModelPath(specialEffectModelPath: string);
174
223
  get specialEffectModelPathSD(): string;
175
224
  set specialEffectModelPathSD(specialEffectModelPathSD: string);
176
225
  get specialEffectModelPathHD(): string;
177
226
  set specialEffectModelPathHD(specialEffectModelPathHD: string);
227
+ get specialEffectModelPathDE(): string;
228
+ set specialEffectModelPathDE(specialEffectModelPathDE: string);
178
229
  get shadowImageHeight(): number;
179
230
  set shadowImageHeight(shadowImageHeight: number);
180
231
  get shadowImageWidth(): number;
@@ -189,6 +240,8 @@ export declare abstract class UnitType<Id extends UnitTypeId = UnitTypeId> exten
189
240
  set walkSpeedSD(walkSpeedSD: number);
190
241
  get walkSpeedHD(): number;
191
242
  set walkSpeedHD(walkSpeedHD: number);
243
+ get walkSpeedDE(): number;
244
+ set walkSpeedDE(walkSpeedDE: number);
192
245
  get armor(): number;
193
246
  set armor(armor: number);
194
247
  get armorSoundType(): ArmorSoundType;
@@ -197,6 +250,8 @@ export declare abstract class UnitType<Id extends UnitTypeId = UnitTypeId> exten
197
250
  set armorSoundTypeSD(armorSoundTypeSD: ArmorSoundType);
198
251
  get armorSoundTypeHD(): ArmorSoundType;
199
252
  set armorSoundTypeHD(armorSoundTypeHD: ArmorSoundType);
253
+ get armorSoundTypeDE(): ArmorSoundType;
254
+ set armorSoundTypeDE(armorSoundTypeDE: ArmorSoundType);
200
255
  get armorType(): ArmorType;
201
256
  set armorType(armorType: ArmorType);
202
257
  get combatClassifications(): CombatClassifications;