warscript 0.0.1-dev.91a4dce → 0.0.1-dev.9381e62

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 (329) 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 +1 -0
  5. package/core/types/frame.lua +112 -37
  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/player.d.ts +4 -2
  10. package/core/types/player.lua +42 -25
  11. package/core/types/playerColor.lua +4 -3
  12. package/core/types/sound.d.ts +1 -1
  13. package/core/types/sound.lua +14 -9
  14. package/core/types/tileCell.d.ts +2 -1
  15. package/core/types/tileCell.lua +5 -0
  16. package/core/types/unit.d.ts +5 -0
  17. package/core/types/unit.lua +5 -0
  18. package/core/util.d.ts +3 -1
  19. package/core/util.lua +109 -3
  20. package/decl/native.d.ts +705 -7
  21. package/destroyable.d.ts +1 -0
  22. package/destroyable.lua +9 -0
  23. package/engine/behavior.d.ts +10 -2
  24. package/engine/behavior.lua +157 -76
  25. package/engine/behaviour/ability/apply-buff.lua +4 -4
  26. package/engine/behaviour/ability/apply-unit-behavior.lua +5 -0
  27. package/engine/behaviour/ability/damage.d.ts +4 -0
  28. package/engine/behaviour/ability/damage.lua +19 -15
  29. package/engine/behaviour/ability/emulate-impact.lua +5 -4
  30. package/engine/behaviour/ability/on-command-impact.d.ts +1 -0
  31. package/engine/behaviour/ability/on-command-impact.lua +1 -0
  32. package/engine/behaviour/ability.d.ts +13 -6
  33. package/engine/behaviour/ability.lua +56 -1
  34. package/engine/behaviour/unit/stun-immunity.d.ts +7 -5
  35. package/engine/behaviour/unit/stun-immunity.lua +6 -5
  36. package/engine/behaviour/unit.d.ts +8 -3
  37. package/engine/behaviour/unit.lua +102 -24
  38. package/engine/buff.d.ts +73 -24
  39. package/engine/buff.lua +418 -166
  40. package/engine/index.d.ts +2 -1
  41. package/engine/internal/ability.d.ts +4 -0
  42. package/engine/internal/ability.lua +56 -36
  43. package/engine/internal/item/fields.d.ts +12 -0
  44. package/engine/internal/item/fields.lua +33 -0
  45. package/engine/internal/item/owner-cache.d.ts +5 -0
  46. package/engine/internal/item/owner-cache.lua +4 -0
  47. package/engine/internal/item+owner.d.ts +2 -0
  48. package/engine/internal/item+owner.lua +27 -4
  49. package/engine/internal/item.d.ts +20 -5
  50. package/engine/internal/item.lua +146 -57
  51. package/engine/internal/mechanics/cast-ability.lua +6 -3
  52. package/engine/internal/misc/unit-ability-level-natives.lua +12 -0
  53. package/engine/internal/object-data/armor-bonus.d.ts +2 -0
  54. package/engine/internal/object-data/attribute-bonus.lua +2 -2
  55. package/engine/internal/object-data/health-bonus.d.ts +2 -0
  56. package/engine/internal/object-data/health-bonus.lua +16 -0
  57. package/engine/internal/object-data/health-regeneration-rate-increase.d.ts +2 -0
  58. package/engine/internal/object-data/health-regeneration-rate-increase.lua +48 -0
  59. package/engine/internal/object-data/mana-bonus.d.ts +2 -0
  60. package/engine/internal/object-data/mana-bonus.lua +16 -0
  61. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.d.ts +2 -0
  62. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.lua +16 -0
  63. package/engine/internal/unit/ability.lua +15 -3
  64. package/engine/internal/unit/add-item-to-slot-init.lua +3 -14
  65. package/engine/internal/unit/add-item-to-slot.lua +53 -12
  66. package/engine/internal/unit/appearance.d.ts +15 -0
  67. package/engine/internal/unit/appearance.lua +85 -0
  68. package/engine/internal/unit/attributes.d.ts +17 -0
  69. package/engine/internal/unit/attributes.lua +46 -0
  70. package/engine/internal/unit/bonus.d.ts +14 -0
  71. package/engine/internal/unit/bonus.lua +102 -8
  72. package/engine/internal/unit/buff.d.ts +2 -2
  73. package/engine/internal/unit/buff.lua +34 -19
  74. package/engine/internal/unit/equipment-inventory.d.ts +44 -0
  75. package/engine/internal/unit/equipment-inventory.lua +233 -0
  76. package/engine/internal/unit/expiration-timer.lua +1 -1
  77. package/engine/internal/unit/extended-inventory.d.ts +25 -0
  78. package/engine/internal/unit/extended-inventory.lua +99 -0
  79. package/engine/internal/unit/fly-height.d.ts +7 -0
  80. package/engine/internal/unit/fly-height.lua +20 -0
  81. package/engine/internal/unit/ignore-events-items.lua +10 -1
  82. package/engine/internal/unit/interrupts.d.ts +12 -0
  83. package/engine/internal/unit/interrupts.lua +28 -0
  84. package/engine/internal/unit/{item.d.ts → inventory.d.ts} +7 -3
  85. package/engine/internal/unit/inventory.lua +87 -0
  86. package/engine/internal/unit/item-container.d.ts +25 -0
  87. package/engine/internal/unit/item-container.lua +11 -0
  88. package/engine/internal/unit/item-order-events.d.ts +17 -0
  89. package/engine/internal/unit/item-order-events.lua +67 -0
  90. package/engine/internal/unit/item-slot.d.ts +27 -0
  91. package/engine/internal/unit/item-slot.lua +92 -0
  92. package/engine/internal/unit/order.d.ts +3 -3
  93. package/engine/internal/unit/order.lua +10 -10
  94. package/engine/internal/unit/pseudo-passive-abilities.d.ts +2 -0
  95. package/engine/internal/unit/pseudo-passive-abilities.lua +11 -0
  96. package/engine/internal/unit/range-event.d.ts +12 -0
  97. package/engine/internal/unit/range-event.lua +90 -0
  98. package/engine/internal/unit/scale.d.ts +7 -0
  99. package/engine/internal/unit/scale.lua +20 -0
  100. package/engine/internal/unit+ability.d.ts +2 -1
  101. package/engine/internal/unit+ability.lua +63 -2
  102. package/engine/internal/unit+bonus.lua +3 -3
  103. package/engine/internal/unit+damage.d.ts +9 -0
  104. package/engine/internal/unit+damage.lua +33 -0
  105. package/engine/internal/unit+rally.lua +9 -31
  106. package/engine/internal/unit-missile-data.lua +58 -32
  107. package/engine/internal/unit-missile-launch.lua +29 -19
  108. package/engine/internal/unit.d.ts +14 -28
  109. package/engine/internal/unit.lua +158 -247
  110. package/engine/local-client.d.ts +28 -0
  111. package/engine/local-client.lua +324 -54
  112. package/engine/object-data/auxiliary/attachment-preset.d.ts +7 -0
  113. package/engine/object-data/auxiliary/attachment-preset.lua +7 -0
  114. package/engine/object-data/auxiliary/equipment-slot.d.ts +12 -0
  115. package/engine/object-data/auxiliary/equipment-slot.lua +2 -0
  116. package/engine/object-data/auxiliary/equipment-type.d.ts +12 -0
  117. package/engine/object-data/auxiliary/equipment-type.lua +26 -0
  118. package/engine/object-data/auxiliary/health-regeneration-type.d.ts +8 -0
  119. package/engine/object-data/auxiliary/health-regeneration-type.lua +2 -0
  120. package/engine/object-data/auxiliary/item-class.d.ts +11 -0
  121. package/engine/object-data/auxiliary/item-class.lua +2 -0
  122. package/engine/object-data/auxiliary/item-tag.d.ts +12 -0
  123. package/engine/object-data/auxiliary/item-tag.lua +2 -0
  124. package/engine/object-data/auxiliary/order-type.d.ts +939 -0
  125. package/engine/object-data/auxiliary/order-type.lua +2 -0
  126. package/engine/object-data/auxiliary/sound-set-name.d.ts +14 -3
  127. package/engine/object-data/auxiliary/unit-attribute.lua +1 -1
  128. package/engine/object-data/entry/ability-type/apprehend.d.ts +22 -0
  129. package/engine/object-data/entry/ability-type/apprehend.lua +66 -0
  130. package/engine/object-data/entry/ability-type/armor-bonus.d.ts +8 -0
  131. package/engine/object-data/entry/ability-type/{armor-increase.lua → armor-bonus.lua} +9 -9
  132. package/engine/object-data/entry/ability-type/aura-of-blight.d.ts +13 -0
  133. package/engine/object-data/entry/ability-type/aura-of-blight.lua +39 -0
  134. package/engine/object-data/entry/ability-type/banshee.d.ts +8 -0
  135. package/engine/object-data/entry/ability-type/banshee.lua +13 -0
  136. package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.d.ts +12 -0
  137. package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.lua +27 -0
  138. package/engine/object-data/entry/ability-type/banshees-wail.d.ts +31 -0
  139. package/engine/object-data/entry/ability-type/banshees-wail.lua +117 -0
  140. package/engine/object-data/entry/ability-type/battering-ram.d.ts +33 -0
  141. package/engine/object-data/entry/ability-type/battering-ram.lua +130 -0
  142. package/engine/object-data/entry/ability-type/blank-configurable.d.ts +3 -0
  143. package/engine/object-data/entry/ability-type/blank-configurable.lua +30 -0
  144. package/engine/object-data/entry/ability-type/breath-of-fire.d.ts +11 -0
  145. package/engine/object-data/entry/ability-type/breath-of-fire.lua +27 -0
  146. package/engine/object-data/entry/ability-type/cleansing-fire.d.ts +27 -0
  147. package/engine/object-data/entry/ability-type/cleansing-fire.lua +104 -0
  148. package/engine/object-data/entry/ability-type/consecration.d.ts +15 -0
  149. package/engine/object-data/entry/ability-type/consecration.lua +52 -0
  150. package/engine/object-data/entry/ability-type/cooldown-reduction.d.ts +12 -0
  151. package/engine/object-data/entry/ability-type/cooldown-reduction.lua +39 -0
  152. package/engine/object-data/entry/ability-type/critical-strike-system.d.ts +18 -0
  153. package/engine/object-data/entry/ability-type/critical-strike-system.lua +65 -0
  154. package/engine/object-data/entry/ability-type/deathseeker-arrows.d.ts +21 -0
  155. package/engine/object-data/entry/ability-type/deathseeker-arrows.lua +78 -0
  156. package/engine/object-data/entry/ability-type/equipment-inventory-interface.d.ts +8 -0
  157. package/engine/object-data/entry/ability-type/equipment-inventory-interface.lua +13 -0
  158. package/engine/object-data/entry/ability-type/equipment-inventory.d.ts +13 -0
  159. package/engine/object-data/entry/ability-type/equipment-inventory.lua +27 -0
  160. package/engine/object-data/entry/ability-type/equipment.d.ts +13 -0
  161. package/engine/object-data/entry/ability-type/equipment.lua +27 -0
  162. package/engine/object-data/entry/ability-type/firebolt.d.ts +7 -0
  163. package/engine/object-data/entry/ability-type/firebolt.lua +13 -0
  164. package/engine/object-data/entry/ability-type/flame-strike.d.ts +25 -0
  165. package/engine/object-data/entry/ability-type/flame-strike.lua +92 -0
  166. package/engine/object-data/entry/ability-type/grant-talent-point.d.ts +8 -0
  167. package/engine/object-data/entry/ability-type/grant-talent-point.lua +13 -0
  168. package/engine/object-data/entry/ability-type/grim-conviction.d.ts +36 -0
  169. package/engine/object-data/entry/ability-type/grim-conviction.lua +131 -0
  170. package/engine/object-data/entry/ability-type/grit.d.ts +18 -0
  171. package/engine/object-data/entry/ability-type/grit.lua +65 -0
  172. package/engine/object-data/entry/ability-type/guiding-hand.d.ts +27 -0
  173. package/engine/object-data/entry/ability-type/guiding-hand.lua +104 -0
  174. package/engine/object-data/entry/ability-type/headsplitter.d.ts +27 -0
  175. package/engine/object-data/entry/ability-type/headsplitter.lua +104 -0
  176. package/engine/object-data/entry/ability-type/{armor-increase.d.ts → healing-modifier.d.ts} +4 -3
  177. package/engine/object-data/entry/ability-type/healing-modifier.lua +26 -0
  178. package/engine/object-data/entry/ability-type/healing-ward-aura.d.ts +13 -0
  179. package/engine/object-data/entry/ability-type/healing-ward-aura.lua +39 -0
  180. package/engine/object-data/entry/ability-type/health-bonus.d.ts +8 -0
  181. package/engine/object-data/entry/ability-type/health-bonus.lua +26 -0
  182. package/engine/object-data/entry/ability-type/heroic-slash.d.ts +18 -0
  183. package/engine/object-data/entry/ability-type/heroic-slash.lua +65 -0
  184. package/engine/object-data/entry/ability-type/holy-wrath.d.ts +30 -0
  185. package/engine/object-data/entry/ability-type/holy-wrath.lua +117 -0
  186. package/engine/object-data/entry/ability-type/inspire-courage.d.ts +18 -0
  187. package/engine/object-data/entry/ability-type/inspire-courage.lua +65 -0
  188. package/engine/object-data/entry/ability-type/item-life-regeneration.d.ts +10 -0
  189. package/engine/object-data/entry/ability-type/item-life-regeneration.lua +26 -0
  190. package/engine/object-data/entry/ability-type/life-drain.d.ts +37 -0
  191. package/engine/object-data/entry/ability-type/life-drain.lua +144 -0
  192. package/engine/object-data/entry/ability-type/lights-mercy.d.ts +27 -0
  193. package/engine/object-data/entry/ability-type/lights-mercy.lua +104 -0
  194. package/engine/object-data/entry/ability-type/mana-bonus.d.ts +8 -0
  195. package/engine/object-data/entry/ability-type/mana-bonus.lua +26 -0
  196. package/engine/object-data/entry/ability-type/mana-efficiency.d.ts +12 -0
  197. package/engine/object-data/entry/ability-type/mana-efficiency.lua +39 -0
  198. package/engine/object-data/entry/ability-type/mana-regeneration.d.ts +8 -0
  199. package/engine/object-data/entry/ability-type/mana-regeneration.lua +26 -0
  200. package/engine/object-data/entry/ability-type/mind-control.d.ts +21 -0
  201. package/engine/object-data/entry/ability-type/mind-control.lua +78 -0
  202. package/engine/object-data/entry/ability-type/on-attack-cast-spell.d.ts +21 -0
  203. package/engine/object-data/entry/ability-type/on-attack-cast-spell.lua +52 -0
  204. package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.d.ts +19 -0
  205. package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.lua +65 -0
  206. package/engine/object-data/entry/ability-type/on-hit-cast-spell.d.ts +15 -0
  207. package/engine/object-data/entry/ability-type/on-hit-cast-spell.lua +26 -0
  208. package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.d.ts +6 -0
  209. package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.lua +12 -0
  210. package/engine/object-data/entry/ability-type/provoke.d.ts +21 -0
  211. package/engine/object-data/entry/ability-type/provoke.lua +66 -0
  212. package/engine/object-data/entry/ability-type/rain-of-fire.d.ts +7 -0
  213. package/engine/object-data/entry/ability-type/rain-of-fire.lua +13 -0
  214. package/engine/object-data/entry/ability-type/raise-the-banner.d.ts +9 -0
  215. package/engine/object-data/entry/ability-type/raise-the-banner.lua +26 -0
  216. package/engine/object-data/entry/ability-type/reincarnation.d.ts +8 -0
  217. package/engine/object-data/entry/ability-type/reincarnation.lua +26 -0
  218. package/engine/object-data/entry/ability-type/resolve.d.ts +12 -0
  219. package/engine/object-data/entry/ability-type/resolve.lua +39 -0
  220. package/engine/object-data/entry/ability-type/righteous-fury.d.ts +33 -0
  221. package/engine/object-data/entry/ability-type/righteous-fury.lua +130 -0
  222. package/engine/object-data/entry/ability-type/sacred-aura.d.ts +27 -0
  223. package/engine/object-data/entry/ability-type/sacred-aura.lua +104 -0
  224. package/engine/object-data/entry/ability-type/soul-burn.d.ts +22 -0
  225. package/engine/object-data/entry/ability-type/soul-burn.lua +79 -0
  226. package/engine/object-data/entry/ability-type/soul-lantern.d.ts +30 -0
  227. package/engine/object-data/entry/ability-type/soul-lantern.lua +117 -0
  228. package/engine/object-data/entry/ability-type/spell-amp.d.ts +15 -0
  229. package/engine/object-data/entry/ability-type/spell-amp.lua +52 -0
  230. package/engine/object-data/entry/ability-type/spell-critical-strike.d.ts +12 -0
  231. package/engine/object-data/entry/ability-type/spell-critical-strike.lua +39 -0
  232. package/engine/object-data/entry/ability-type/spell-vamp.d.ts +12 -0
  233. package/engine/object-data/entry/ability-type/spell-vamp.lua +39 -0
  234. package/engine/object-data/entry/ability-type/stackable-evasion.d.ts +9 -0
  235. package/engine/object-data/entry/ability-type/stackable-evasion.lua +13 -0
  236. package/engine/object-data/entry/ability-type/stackable-hardened-skin.d.ts +21 -0
  237. package/engine/object-data/entry/ability-type/stackable-hardened-skin.lua +78 -0
  238. package/engine/object-data/entry/ability-type/stackable-life-steal.d.ts +9 -0
  239. package/engine/object-data/entry/ability-type/stackable-life-steal.lua +26 -0
  240. package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.d.ts +9 -0
  241. package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.lua +13 -0
  242. package/engine/object-data/entry/ability-type/stackable-thorn-shield.d.ts +9 -0
  243. package/engine/object-data/entry/ability-type/stackable-thorn-shield.lua +13 -0
  244. package/engine/object-data/entry/ability-type/stat-details.d.ts +12 -0
  245. package/engine/object-data/entry/ability-type/stat-details.lua +27 -0
  246. package/engine/object-data/entry/ability-type/surge-of-light.d.ts +33 -0
  247. package/engine/object-data/entry/ability-type/surge-of-light.lua +130 -0
  248. package/engine/object-data/entry/ability-type/sweeping-strike.d.ts +57 -0
  249. package/engine/object-data/entry/ability-type/sweeping-strike.lua +234 -0
  250. package/engine/object-data/entry/ability-type/talents.d.ts +12 -0
  251. package/engine/object-data/entry/ability-type/talents.lua +27 -0
  252. package/engine/object-data/entry/ability-type/unyielding-guard.d.ts +30 -0
  253. package/engine/object-data/entry/ability-type/unyielding-guard.lua +117 -0
  254. package/engine/object-data/entry/ability-type/valiant-charge.d.ts +27 -0
  255. package/engine/object-data/entry/ability-type/valiant-charge.lua +104 -0
  256. package/engine/object-data/entry/ability-type/warcry.d.ts +9 -0
  257. package/engine/object-data/entry/ability-type/warcry.lua +26 -0
  258. package/engine/object-data/entry/ability-type/withering-fire.d.ts +21 -0
  259. package/engine/object-data/entry/ability-type/withering-fire.lua +78 -0
  260. package/engine/object-data/entry/ability-type.d.ts +25 -6
  261. package/engine/object-data/entry/ability-type.lua +244 -8
  262. package/engine/object-data/entry/buff-type/applicable.lua +113 -109
  263. package/engine/object-data/entry/buff-type.d.ts +6 -2
  264. package/engine/object-data/entry/buff-type.lua +26 -0
  265. package/engine/object-data/entry/destructible-type.d.ts +32 -2
  266. package/engine/object-data/entry/destructible-type.lua +181 -0
  267. package/engine/object-data/entry/item-type.d.ts +18 -3
  268. package/engine/object-data/entry/item-type.lua +84 -0
  269. package/engine/object-data/entry/lightning-type.d.ts +6 -8
  270. package/engine/object-data/entry/lightning-type.lua +1 -1
  271. package/engine/object-data/entry/sound-preset.d.ts +2 -2
  272. package/engine/object-data/entry/unit-type.d.ts +51 -2
  273. package/engine/object-data/entry/unit-type.lua +415 -37
  274. package/engine/object-data/entry/upgrade.d.ts +2 -2
  275. package/engine/object-data/entry.d.ts +6 -1
  276. package/engine/object-data/entry.lua +8 -0
  277. package/engine/object-field/ability.lua +2 -2
  278. package/engine/object-field/item.d.ts +22 -0
  279. package/engine/object-field/item.lua +118 -0
  280. package/engine/object-field/unit.d.ts +20 -5
  281. package/engine/object-field/unit.lua +61 -0
  282. package/engine/object-field.d.ts +10 -2
  283. package/engine/object-field.lua +268 -123
  284. package/engine/random.d.ts +1 -0
  285. package/engine/random.lua +8 -0
  286. package/engine/standard/entries/ability-type.d.ts +3102 -7
  287. package/engine/standard/entries/ability-type.lua +0 -6
  288. package/engine/standard/entries/buff-type.d.ts +45 -0
  289. package/engine/standard/entries/buff-type.lua +43 -0
  290. package/engine/standard/entries/item-type.d.ts +1299 -0
  291. package/engine/standard/entries/item-type.lua +2 -0
  292. package/engine/standard/entries/lightning-type.d.ts +42 -15
  293. package/engine/standard/entries/lightning-type.lua +0 -14
  294. package/engine/standard/entries/unit-type.d.ts +5 -0
  295. package/engine/standard/entries/unit-type.lua +5 -0
  296. package/engine/standard/fields/ability.d.ts +2 -2
  297. package/engine/standard/fields/ability.lua +2 -2
  298. package/engine/standard/fields/item.d.ts +4 -0
  299. package/engine/standard/fields/item.lua +6 -0
  300. package/engine/standard/fields/unit.d.ts +11 -3
  301. package/engine/standard/fields/unit.lua +15 -2
  302. package/engine/text-tag.lua +2 -1
  303. package/engine/unit.d.ts +10 -1
  304. package/engine/unit.lua +10 -1
  305. package/event.d.ts +1 -1
  306. package/lualib_bundle.lua +1 -1
  307. package/math.d.ts +2 -0
  308. package/math.lua +14 -0
  309. package/network.lua +25 -1
  310. package/objutil/buff.lua +10 -8
  311. package/objutil/object.lua +1 -1
  312. package/operation.d.ts +8 -1
  313. package/operation.lua +38 -18
  314. package/package.json +3 -23
  315. package/patch-lua.lua +15 -0
  316. package/utility/linked-map.d.ts +35 -0
  317. package/utility/linked-map.lua +107 -0
  318. package/utility/linked-set.d.ts +3 -1
  319. package/utility/linked-set.lua +27 -0
  320. package/utility/random.d.ts +102 -0
  321. package/utility/random.lua +273 -0
  322. package/utility/records.lua +20 -1
  323. package/utility/unordered-map.d.ts +27 -0
  324. package/utility/unordered-map.lua +99 -0
  325. package/engine/internal/unit/item.lua +0 -78
  326. /package/engine/internal/{object-data/armor-increase.d.ts → misc/unit-ability-level-natives.d.ts} +0 -0
  327. /package/engine/internal/object-data/{armor-increase.lua → armor-bonus.lua} +0 -0
  328. /package/engine/object-data/entry/ability-type/{attribute-increase.d.ts → attribute-bonus.d.ts} +0 -0
  329. /package/engine/object-data/entry/ability-type/{attribute-increase.lua → attribute-bonus.lua} +0 -0
@@ -31,6 +31,10 @@ local ____armor_2Dtype = require("engine.object-data.auxiliary.armor-type")
31
31
  local armorTypeToString = ____armor_2Dtype.armorTypeToString
32
32
  local stringToArmorType = ____armor_2Dtype.stringToArmorType
33
33
  local getOrCreateUnitTypeWeapons
34
+ --- Bit of the `udea` (death type) field: the corpse can be raised.
35
+ local DEATH_TYPE_RAISABLE = 1
36
+ --- Bit of the `udea` (death type) field: the corpse decays.
37
+ local DEATH_TYPE_DECAYABLE = 2
34
38
  ____exports.UnitTypeWeapon = __TS__Class()
35
39
  local UnitTypeWeapon = ____exports.UnitTypeWeapon
36
40
  UnitTypeWeapon.name = "UnitTypeWeapon"
@@ -216,21 +220,21 @@ __TS__SetDescriptor(
216
220
  )
217
221
  __TS__SetDescriptor(
218
222
  UnitTypeWeapon.prototype,
219
- "missileModelPath",
223
+ "missileArc",
220
224
  {
221
225
  get = function(self)
222
226
  local ____self_15 = self.unitType
223
- return ____self_15.getStringField(
227
+ return ____self_15.getNumberField(
224
228
  ____self_15,
225
- ("ua" .. tostring(self.index)) .. "m"
229
+ "uma" .. tostring(self.index)
226
230
  )
227
231
  end,
228
- set = function(self, missileModelPath)
232
+ set = function(self, missileArc)
229
233
  local ____self_16 = self.unitType
230
- ____self_16.setStringField(
234
+ ____self_16.setNumberField(
231
235
  ____self_16,
232
- ("ua" .. tostring(self.index)) .. "m",
233
- missileModelPath
236
+ "uma" .. tostring(self.index),
237
+ missileArc
234
238
  )
235
239
  end
236
240
  },
@@ -238,21 +242,21 @@ __TS__SetDescriptor(
238
242
  )
239
243
  __TS__SetDescriptor(
240
244
  UnitTypeWeapon.prototype,
241
- "range",
245
+ "missileModelPath",
242
246
  {
243
247
  get = function(self)
244
248
  local ____self_17 = self.unitType
245
- return ____self_17.getNumberField(
249
+ return ____self_17.getStringField(
246
250
  ____self_17,
247
- ("ua" .. tostring(self.index)) .. "r"
251
+ ("ua" .. tostring(self.index)) .. "m"
248
252
  )
249
253
  end,
250
- set = function(self, range)
254
+ set = function(self, missileModelPath)
251
255
  local ____self_18 = self.unitType
252
- ____self_18.setNumberField(
256
+ ____self_18.setStringField(
253
257
  ____self_18,
254
- ("ua" .. tostring(self.index)) .. "r",
255
- range
258
+ ("ua" .. tostring(self.index)) .. "m",
259
+ missileModelPath
256
260
  )
257
261
  end
258
262
  },
@@ -260,21 +264,21 @@ __TS__SetDescriptor(
260
264
  )
261
265
  __TS__SetDescriptor(
262
266
  UnitTypeWeapon.prototype,
263
- "soundType",
267
+ "missileModelPathSD",
264
268
  {
265
269
  get = function(self)
266
270
  local ____self_19 = self.unitType
267
271
  return ____self_19.getStringField(
268
272
  ____self_19,
269
- "ucs" .. tostring(self.index)
273
+ ("ua" .. tostring(self.index)) .. "m:sd"
270
274
  )
271
275
  end,
272
- set = function(self, soundType)
276
+ set = function(self, missileModelPathSD)
273
277
  local ____self_20 = self.unitType
274
278
  ____self_20.setStringField(
275
279
  ____self_20,
276
- "ucs" .. tostring(self.index),
277
- soundType
280
+ ("ua" .. tostring(self.index)) .. "m:sd",
281
+ missileModelPathSD
278
282
  )
279
283
  end
280
284
  },
@@ -282,21 +286,21 @@ __TS__SetDescriptor(
282
286
  )
283
287
  __TS__SetDescriptor(
284
288
  UnitTypeWeapon.prototype,
285
- "soundTypeSD",
289
+ "missileModelPathHD",
286
290
  {
287
291
  get = function(self)
288
292
  local ____self_21 = self.unitType
289
293
  return ____self_21.getStringField(
290
294
  ____self_21,
291
- ("ucs" .. tostring(self.index)) .. ":sd"
295
+ ("ua" .. tostring(self.index)) .. "m:hd"
292
296
  )
293
297
  end,
294
- set = function(self, soundTypeSD)
298
+ set = function(self, missileModelPathHD)
295
299
  local ____self_22 = self.unitType
296
300
  ____self_22.setStringField(
297
301
  ____self_22,
298
- ("ucs" .. tostring(self.index)) .. ":sd",
299
- soundTypeSD
302
+ ("ua" .. tostring(self.index)) .. "m:hd",
303
+ missileModelPathHD
300
304
  )
301
305
  end
302
306
  },
@@ -304,25 +308,157 @@ __TS__SetDescriptor(
304
308
  )
305
309
  __TS__SetDescriptor(
306
310
  UnitTypeWeapon.prototype,
307
- "soundTypeHD",
311
+ "missileModelPathDE",
308
312
  {
309
313
  get = function(self)
310
314
  local ____self_23 = self.unitType
311
315
  return ____self_23.getStringField(
312
316
  ____self_23,
313
- ("ucs" .. tostring(self.index)) .. ":hd"
317
+ ("ua" .. tostring(self.index)) .. "m:de"
314
318
  )
315
319
  end,
316
- set = function(self, soundTypeHD)
320
+ set = function(self, missileModelPathDE)
317
321
  local ____self_24 = self.unitType
318
322
  ____self_24.setStringField(
319
323
  ____self_24,
324
+ ("ua" .. tostring(self.index)) .. "m:de",
325
+ missileModelPathDE
326
+ )
327
+ end
328
+ },
329
+ true
330
+ )
331
+ __TS__SetDescriptor(
332
+ UnitTypeWeapon.prototype,
333
+ "missileSpeed",
334
+ {
335
+ get = function(self)
336
+ local ____self_25 = self.unitType
337
+ return ____self_25.getNumberField(
338
+ ____self_25,
339
+ ("ua" .. tostring(self.index)) .. "z"
340
+ )
341
+ end,
342
+ set = function(self, missileSpeed)
343
+ local ____self_26 = self.unitType
344
+ ____self_26.setNumberField(
345
+ ____self_26,
346
+ ("ua" .. tostring(self.index)) .. "z",
347
+ missileSpeed
348
+ )
349
+ end
350
+ },
351
+ true
352
+ )
353
+ __TS__SetDescriptor(
354
+ UnitTypeWeapon.prototype,
355
+ "range",
356
+ {
357
+ get = function(self)
358
+ local ____self_27 = self.unitType
359
+ return ____self_27.getNumberField(
360
+ ____self_27,
361
+ ("ua" .. tostring(self.index)) .. "r"
362
+ )
363
+ end,
364
+ set = function(self, range)
365
+ local ____self_28 = self.unitType
366
+ ____self_28.setNumberField(
367
+ ____self_28,
368
+ ("ua" .. tostring(self.index)) .. "r",
369
+ range
370
+ )
371
+ end
372
+ },
373
+ true
374
+ )
375
+ __TS__SetDescriptor(
376
+ UnitTypeWeapon.prototype,
377
+ "soundType",
378
+ {
379
+ get = function(self)
380
+ local ____self_29 = self.unitType
381
+ return ____self_29.getStringField(
382
+ ____self_29,
383
+ "ucs" .. tostring(self.index)
384
+ )
385
+ end,
386
+ set = function(self, soundType)
387
+ local ____self_30 = self.unitType
388
+ ____self_30.setStringField(
389
+ ____self_30,
390
+ "ucs" .. tostring(self.index),
391
+ soundType
392
+ )
393
+ end
394
+ },
395
+ true
396
+ )
397
+ __TS__SetDescriptor(
398
+ UnitTypeWeapon.prototype,
399
+ "soundTypeSD",
400
+ {
401
+ get = function(self)
402
+ local ____self_31 = self.unitType
403
+ return ____self_31.getStringField(
404
+ ____self_31,
405
+ ("ucs" .. tostring(self.index)) .. ":sd"
406
+ )
407
+ end,
408
+ set = function(self, soundTypeSD)
409
+ local ____self_32 = self.unitType
410
+ ____self_32.setStringField(
411
+ ____self_32,
412
+ ("ucs" .. tostring(self.index)) .. ":sd",
413
+ soundTypeSD
414
+ )
415
+ end
416
+ },
417
+ true
418
+ )
419
+ __TS__SetDescriptor(
420
+ UnitTypeWeapon.prototype,
421
+ "soundTypeHD",
422
+ {
423
+ get = function(self)
424
+ local ____self_33 = self.unitType
425
+ return ____self_33.getStringField(
426
+ ____self_33,
427
+ ("ucs" .. tostring(self.index)) .. ":hd"
428
+ )
429
+ end,
430
+ set = function(self, soundTypeHD)
431
+ local ____self_34 = self.unitType
432
+ ____self_34.setStringField(
433
+ ____self_34,
320
434
  ("ucs" .. tostring(self.index)) .. ":hd",
321
435
  soundTypeHD
322
436
  )
323
437
  end
324
438
  },
325
439
  true
440
+ )
441
+ __TS__SetDescriptor(
442
+ UnitTypeWeapon.prototype,
443
+ "soundTypeDE",
444
+ {
445
+ get = function(self)
446
+ local ____self_35 = self.unitType
447
+ return ____self_35.getStringField(
448
+ ____self_35,
449
+ ("ucs" .. tostring(self.index)) .. ":de"
450
+ )
451
+ end,
452
+ set = function(self, soundTypeDE)
453
+ local ____self_36 = self.unitType
454
+ ____self_36.setStringField(
455
+ ____self_36,
456
+ ("ucs" .. tostring(self.index)) .. ":de",
457
+ soundTypeDE
458
+ )
459
+ end
460
+ },
461
+ true
326
462
  );
327
463
  (function(self)
328
464
  local unitTypeWeaponsByUnitTypeId = {}
@@ -348,6 +484,10 @@ end
348
484
  function UnitType.getObjectData(self, map)
349
485
  return map.objects.unit
350
486
  end
487
+ function UnitType.prototype.setDeathTypeFlag(self, flag, value)
488
+ local deathType = self:getNumberField("udea")
489
+ self:setNumberField("udea", value and deathType | flag or deathType & ~flag)
490
+ end
351
491
  UnitType.idGenerator = __TS__New(
352
492
  ObjectDataEntryIdGenerator,
353
493
  fourCC("x000")
@@ -472,6 +612,32 @@ __TS__SetDescriptor(
472
612
  },
473
613
  true
474
614
  )
615
+ __TS__SetDescriptor(
616
+ UnitType.prototype,
617
+ "isDecayable",
618
+ {
619
+ get = function(self)
620
+ return self:getNumberField("udea") & DEATH_TYPE_DECAYABLE ~= 0
621
+ end,
622
+ set = function(self, isDecayable)
623
+ self:setDeathTypeFlag(DEATH_TYPE_DECAYABLE, isDecayable)
624
+ end
625
+ },
626
+ true
627
+ )
628
+ __TS__SetDescriptor(
629
+ UnitType.prototype,
630
+ "isRaisable",
631
+ {
632
+ get = function(self)
633
+ return self:getNumberField("udea") & DEATH_TYPE_RAISABLE ~= 0
634
+ end,
635
+ set = function(self, isRaisable)
636
+ self:setDeathTypeFlag(DEATH_TYPE_RAISABLE, isRaisable)
637
+ end
638
+ },
639
+ true
640
+ )
475
641
  __TS__SetDescriptor(
476
642
  UnitType.prototype,
477
643
  "iconPath",
@@ -511,6 +677,19 @@ __TS__SetDescriptor(
511
677
  },
512
678
  true
513
679
  )
680
+ __TS__SetDescriptor(
681
+ UnitType.prototype,
682
+ "iconPathDE",
683
+ {
684
+ get = function(self)
685
+ return self:getStringField("uico:de")
686
+ end,
687
+ set = function(self, iconPathDE)
688
+ self:setStringField("uico:de", iconPathDE)
689
+ end
690
+ },
691
+ true
692
+ )
514
693
  __TS__SetDescriptor(
515
694
  UnitType.prototype,
516
695
  "isMissileScalingEnabled",
@@ -615,6 +794,19 @@ __TS__SetDescriptor(
615
794
  },
616
795
  true
617
796
  )
797
+ __TS__SetDescriptor(
798
+ UnitType.prototype,
799
+ "missileLaunchOffsetZDE",
800
+ {
801
+ get = function(self)
802
+ return self:getNumberField("ulpz:de")
803
+ end,
804
+ set = function(self, missileLaunchOffsetZDE)
805
+ self:setNumberField("ulpz:de", missileLaunchOffsetZDE)
806
+ end
807
+ },
808
+ true
809
+ )
618
810
  __TS__SetDescriptor(
619
811
  UnitType.prototype,
620
812
  "missileLaunchSwimmingOffsetZ",
@@ -654,6 +846,19 @@ __TS__SetDescriptor(
654
846
  },
655
847
  true
656
848
  )
849
+ __TS__SetDescriptor(
850
+ UnitType.prototype,
851
+ "missileLaunchSwimmingOffsetZDE",
852
+ {
853
+ get = function(self)
854
+ return self:getNumberField("ulsz:de")
855
+ end,
856
+ set = function(self, missileLaunchSwimmingOffsetZDE)
857
+ self:setNumberField("ulsz:de", missileLaunchSwimmingOffsetZDE)
858
+ end
859
+ },
860
+ true
861
+ )
657
862
  __TS__SetDescriptor(
658
863
  UnitType.prototype,
659
864
  "missileLaunchVisualOffsetX",
@@ -693,6 +898,19 @@ __TS__SetDescriptor(
693
898
  },
694
899
  true
695
900
  )
901
+ __TS__SetDescriptor(
902
+ UnitType.prototype,
903
+ "missileLaunchVisualOffsetXDE",
904
+ {
905
+ get = function(self)
906
+ return self:getNumberField("projectileVisOffsetX:de")
907
+ end,
908
+ set = function(self, missileLaunchVisualOffsetXDE)
909
+ self:setNumberField("projectileVisOffsetX:de", missileLaunchVisualOffsetXDE)
910
+ end
911
+ },
912
+ true
913
+ )
696
914
  __TS__SetDescriptor(
697
915
  UnitType.prototype,
698
916
  "missileLaunchVisualOffsetY",
@@ -732,6 +950,19 @@ __TS__SetDescriptor(
732
950
  },
733
951
  true
734
952
  )
953
+ __TS__SetDescriptor(
954
+ UnitType.prototype,
955
+ "missileLaunchVisualOffsetYDE",
956
+ {
957
+ get = function(self)
958
+ return self:getNumberField("projectileVisOffsetY:de")
959
+ end,
960
+ set = function(self, missileLaunchVisualOffsetYDE)
961
+ self:setNumberField("projectileVisOffsetY:de", missileLaunchVisualOffsetYDE)
962
+ end
963
+ },
964
+ true
965
+ )
735
966
  __TS__SetDescriptor(
736
967
  UnitType.prototype,
737
968
  "missileImpactOffsetZ",
@@ -771,6 +1002,19 @@ __TS__SetDescriptor(
771
1002
  },
772
1003
  true
773
1004
  )
1005
+ __TS__SetDescriptor(
1006
+ UnitType.prototype,
1007
+ "missileImpactOffsetZDE",
1008
+ {
1009
+ get = function(self)
1010
+ return self:getNumberField("uimz:de")
1011
+ end,
1012
+ set = function(self, missileImpactOffsetZDE)
1013
+ self:setNumberField("uimz:de", missileImpactOffsetZDE)
1014
+ end
1015
+ },
1016
+ true
1017
+ )
774
1018
  __TS__SetDescriptor(
775
1019
  UnitType.prototype,
776
1020
  "missileImpactSwimmingOffsetZ",
@@ -810,6 +1054,19 @@ __TS__SetDescriptor(
810
1054
  },
811
1055
  true
812
1056
  )
1057
+ __TS__SetDescriptor(
1058
+ UnitType.prototype,
1059
+ "missileImpactSwimmingOffsetZDE",
1060
+ {
1061
+ get = function(self)
1062
+ return self:getNumberField("uisz:de")
1063
+ end,
1064
+ set = function(self, missileImpactSwimmingOffsetZDE)
1065
+ self:setNumberField("uisz:de", missileImpactSwimmingOffsetZDE)
1066
+ end
1067
+ },
1068
+ true
1069
+ )
813
1070
  __TS__SetDescriptor(
814
1071
  UnitType.prototype,
815
1072
  "modelPath",
@@ -858,6 +1115,22 @@ __TS__SetDescriptor(
858
1115
  },
859
1116
  true
860
1117
  )
1118
+ __TS__SetDescriptor(
1119
+ UnitType.prototype,
1120
+ "modelPathDE",
1121
+ {
1122
+ get = function(self)
1123
+ return self:getStringField("umdl:de")
1124
+ end,
1125
+ set = function(self, modelPathDE)
1126
+ self:setStringField("umdl:de", modelPathDE)
1127
+ if not self.isPortraitModelPathSet and WarscriptConfig.AUTOMATICALLY_SET_UNIT_TYPE_PORTRAIT_MODEL_PATH then
1128
+ self:setStringField("upor:de", "")
1129
+ end
1130
+ end
1131
+ },
1132
+ true
1133
+ )
861
1134
  __TS__SetDescriptor(
862
1135
  UnitType.prototype,
863
1136
  "portraitModelPath",
@@ -900,6 +1173,20 @@ __TS__SetDescriptor(
900
1173
  },
901
1174
  true
902
1175
  )
1176
+ __TS__SetDescriptor(
1177
+ UnitType.prototype,
1178
+ "portraitModelPathDE",
1179
+ {
1180
+ get = function(self)
1181
+ return self:getStringField("upor:de")
1182
+ end,
1183
+ set = function(self, portraitModelPathDE)
1184
+ self:setStringField("upor:de", portraitModelPathDE)
1185
+ self.isPortraitModelPathSet = true
1186
+ end
1187
+ },
1188
+ true
1189
+ )
903
1190
  __TS__SetDescriptor(
904
1191
  UnitType.prototype,
905
1192
  "runSpeed",
@@ -939,6 +1226,19 @@ __TS__SetDescriptor(
939
1226
  },
940
1227
  true
941
1228
  )
1229
+ __TS__SetDescriptor(
1230
+ UnitType.prototype,
1231
+ "runSpeedDE",
1232
+ {
1233
+ get = function(self)
1234
+ return self:getNumberField("urun:de")
1235
+ end,
1236
+ set = function(self, runSpeedDE)
1237
+ self:setNumberField("urun:de", runSpeedDE)
1238
+ end
1239
+ },
1240
+ true
1241
+ )
942
1242
  __TS__SetDescriptor(
943
1243
  UnitType.prototype,
944
1244
  "selectionCircleHeight",
@@ -991,6 +1291,19 @@ __TS__SetDescriptor(
991
1291
  },
992
1292
  true
993
1293
  )
1294
+ __TS__SetDescriptor(
1295
+ UnitType.prototype,
1296
+ "selectionCircleScaleDE",
1297
+ {
1298
+ get = function(self)
1299
+ return self:getNumberField("ussc:de")
1300
+ end,
1301
+ set = function(self, selectionCircleScaleDE)
1302
+ self:setNumberField("ussc:de", selectionCircleScaleDE)
1303
+ end
1304
+ },
1305
+ true
1306
+ )
994
1307
  __TS__SetDescriptor(
995
1308
  UnitType.prototype,
996
1309
  "scale",
@@ -1030,6 +1343,19 @@ __TS__SetDescriptor(
1030
1343
  },
1031
1344
  true
1032
1345
  )
1346
+ __TS__SetDescriptor(
1347
+ UnitType.prototype,
1348
+ "scaleDE",
1349
+ {
1350
+ get = function(self)
1351
+ return self:getNumberField("usca:de")
1352
+ end,
1353
+ set = function(self, scaleDE)
1354
+ self:setNumberField("usca:de", scaleDE)
1355
+ end
1356
+ },
1357
+ true
1358
+ )
1033
1359
  __TS__SetDescriptor(
1034
1360
  UnitType.prototype,
1035
1361
  "scoreScreenIconPath",
@@ -1069,6 +1395,19 @@ __TS__SetDescriptor(
1069
1395
  },
1070
1396
  true
1071
1397
  )
1398
+ __TS__SetDescriptor(
1399
+ UnitType.prototype,
1400
+ "scoreScreenIconPathDE",
1401
+ {
1402
+ get = function(self)
1403
+ return self:getStringField("ussi:de")
1404
+ end,
1405
+ set = function(self, scoreScreenIconPathDE)
1406
+ self:setStringField("ussi:de", scoreScreenIconPathDE)
1407
+ end
1408
+ },
1409
+ true
1410
+ )
1072
1411
  __TS__SetDescriptor(
1073
1412
  UnitType.prototype,
1074
1413
  "specialEffectModelPath",
@@ -1108,6 +1447,19 @@ __TS__SetDescriptor(
1108
1447
  },
1109
1448
  true
1110
1449
  )
1450
+ __TS__SetDescriptor(
1451
+ UnitType.prototype,
1452
+ "specialEffectModelPathDE",
1453
+ {
1454
+ get = function(self)
1455
+ return self:getStringField("uspa:de")
1456
+ end,
1457
+ set = function(self, specialEffectModelPathDE)
1458
+ self:setStringField("uspa:de", specialEffectModelPathDE)
1459
+ end
1460
+ },
1461
+ true
1462
+ )
1111
1463
  __TS__SetDescriptor(
1112
1464
  UnitType.prototype,
1113
1465
  "shadowImageHeight",
@@ -1199,6 +1551,19 @@ __TS__SetDescriptor(
1199
1551
  },
1200
1552
  true
1201
1553
  )
1554
+ __TS__SetDescriptor(
1555
+ UnitType.prototype,
1556
+ "walkSpeedDE",
1557
+ {
1558
+ get = function(self)
1559
+ return self:getNumberField("uwal:de")
1560
+ end,
1561
+ set = function(self, walkSpeedDE)
1562
+ self:setNumberField("uwal:de", walkSpeedDE)
1563
+ end
1564
+ },
1565
+ true
1566
+ )
1202
1567
  __TS__SetDescriptor(
1203
1568
  UnitType.prototype,
1204
1569
  "armor",
@@ -1251,6 +1616,19 @@ __TS__SetDescriptor(
1251
1616
  },
1252
1617
  true
1253
1618
  )
1619
+ __TS__SetDescriptor(
1620
+ UnitType.prototype,
1621
+ "armorSoundTypeDE",
1622
+ {
1623
+ get = function(self)
1624
+ return self:getStringField("uarm:de")
1625
+ end,
1626
+ set = function(self, armorSoundTypeDE)
1627
+ self:setStringField("uarm:de", armorSoundTypeDE)
1628
+ end
1629
+ },
1630
+ true
1631
+ )
1254
1632
  __TS__SetDescriptor(
1255
1633
  UnitType.prototype,
1256
1634
  "armorType",
@@ -1680,11 +2058,11 @@ __TS__SetDescriptor(
1680
2058
  implementReadonlyNumberIndexSupplier(
1681
2059
  ____exports.UnitType,
1682
2060
  function(id)
1683
- local ____class_25 = __TS__Class()
1684
- ____class_25.name = ____class_25.name
1685
- __TS__ClassExtends(____class_25, ____exports.UnitType)
1686
- ____class_25.BASE_ID = id
1687
- return ____class_25
2061
+ local ____class_37 = __TS__Class()
2062
+ ____class_37.name = ____class_37.name
2063
+ __TS__ClassExtends(____class_37, ____exports.UnitType)
2064
+ ____class_37.BASE_ID = id
2065
+ return ____class_37
1688
2066
  end
1689
2067
  )
1690
2068
  ____exports.HeroUnitType = __TS__Class()
@@ -1745,11 +2123,11 @@ __TS__SetDescriptor(
1745
2123
  implementReadonlyNumberIndexSupplier(
1746
2124
  ____exports.HeroUnitType,
1747
2125
  function(id)
1748
- local ____class_26 = __TS__Class()
1749
- ____class_26.name = ____class_26.name
1750
- __TS__ClassExtends(____class_26, ____exports.HeroUnitType)
1751
- ____class_26.BASE_ID = id
1752
- return ____class_26
2126
+ local ____class_38 = __TS__Class()
2127
+ ____class_38.name = ____class_38.name
2128
+ __TS__ClassExtends(____class_38, ____exports.HeroUnitType)
2129
+ ____class_38.BASE_ID = id
2130
+ return ____class_38
1753
2131
  end
1754
2132
  )
1755
2133
  return ____exports
@@ -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;