warscript 0.0.1-dev.c59dd14 → 0.0.1-dev.c677d41

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 (270) hide show
  1. package/attributes.d.ts +6 -1
  2. package/attributes.lua +17 -1
  3. package/binaryreader.d.ts +1 -0
  4. package/binaryreader.lua +3 -0
  5. package/config.d.ts +5 -0
  6. package/config.lua +10 -0
  7. package/core/types/effect.d.ts +14 -6
  8. package/core/types/effect.lua +131 -35
  9. package/core/types/frame.d.ts +8 -1
  10. package/core/types/frame.lua +117 -22
  11. package/core/types/group.d.ts +0 -1
  12. package/core/types/handle.lua +1 -1
  13. package/core/types/image.d.ts +0 -1
  14. package/core/types/player.d.ts +16 -0
  15. package/core/types/player.lua +60 -15
  16. package/core/types/playerCamera.d.ts +2 -0
  17. package/core/types/playerCamera.lua +123 -5
  18. package/core/types/sound.d.ts +17 -24
  19. package/core/types/sound.lua +99 -24
  20. package/core/types/tileCell.d.ts +11 -1
  21. package/core/types/tileCell.lua +97 -0
  22. package/core/types/timer.d.ts +9 -8
  23. package/core/types/timer.lua +45 -23
  24. package/core/types/unit.lua +8 -0
  25. package/core/util.d.ts +1 -1
  26. package/core/util.lua +18 -1
  27. package/decl/index.d.ts +1 -0
  28. package/decl/native.d.ts +846 -790
  29. package/destroyable.d.ts +1 -0
  30. package/destroyable.lua +9 -0
  31. package/engine/ability.d.ts +1 -1
  32. package/engine/behavior.d.ts +24 -11
  33. package/engine/behavior.lua +233 -73
  34. package/engine/behaviour/ability/always-enabled.d.ts +7 -0
  35. package/engine/behaviour/ability/always-enabled.lua +31 -0
  36. package/engine/behaviour/ability/apply-buff.d.ts +8 -5
  37. package/engine/behaviour/ability/apply-buff.lua +36 -4
  38. package/engine/behaviour/ability/apply-unit-behavior.d.ts +6 -1
  39. package/engine/behaviour/ability/apply-unit-behavior.lua +1 -0
  40. package/engine/behaviour/ability/damage.d.ts +39 -11
  41. package/engine/behaviour/ability/damage.lua +83 -37
  42. package/engine/behaviour/ability/emulate-impact.d.ts +6 -0
  43. package/engine/behaviour/ability/emulate-impact.lua +43 -0
  44. package/engine/behaviour/ability/heal.d.ts +33 -6
  45. package/engine/behaviour/ability/heal.lua +89 -10
  46. package/engine/behaviour/ability/instant-impact.d.ts +2 -2
  47. package/engine/behaviour/ability/instant-impact.lua +4 -19
  48. package/engine/behaviour/ability/on-command-impact.d.ts +8 -0
  49. package/engine/behaviour/ability/on-command-impact.lua +25 -0
  50. package/engine/behaviour/ability/remove-buffs.d.ts +25 -0
  51. package/engine/behaviour/ability/remove-buffs.lua +49 -0
  52. package/engine/behaviour/ability/restore-mana.d.ts +15 -0
  53. package/engine/behaviour/ability/restore-mana.lua +29 -0
  54. package/engine/behaviour/ability.d.ts +22 -5
  55. package/engine/behaviour/ability.lua +113 -48
  56. package/engine/behaviour/unit/stun-immunity.d.ts +12 -7
  57. package/engine/behaviour/unit/stun-immunity.lua +57 -31
  58. package/engine/behaviour/unit.d.ts +48 -4
  59. package/engine/behaviour/unit.lua +292 -2
  60. package/engine/buff.d.ts +121 -46
  61. package/engine/buff.lua +567 -248
  62. package/engine/game-map.d.ts +7 -0
  63. package/engine/game-map.lua +32 -0
  64. package/engine/internal/ability.d.ts +23 -14
  65. package/engine/internal/ability.lua +129 -85
  66. package/engine/internal/item/ability.lua +162 -4
  67. package/engine/internal/item+owner.lua +12 -6
  68. package/engine/internal/item.d.ts +20 -19
  69. package/engine/internal/item.lua +191 -74
  70. package/engine/internal/mechanics/ability-duration.lua +1 -1
  71. package/engine/internal/mechanics/cast-ability.lua +6 -3
  72. package/engine/internal/misc/ability-disable-counter.d.ts +2 -0
  73. package/engine/internal/misc/ability-disable-counter.lua +13 -0
  74. package/engine/internal/misc/damage-metadata-by-target.d.ts +2 -0
  75. package/engine/internal/misc/damage-metadata-by-target.lua +5 -0
  76. package/engine/internal/misc/frame-coordinates.d.ts +2 -0
  77. package/engine/internal/misc/frame-coordinates.lua +21 -0
  78. package/engine/internal/misc/get-terrain-z.d.ts +2 -0
  79. package/engine/internal/misc/get-terrain-z.lua +11 -0
  80. package/engine/internal/misc/player-local-handle.d.ts +2 -0
  81. package/engine/internal/misc/player-local-handle.lua +5 -0
  82. package/engine/internal/object-data/auto-attack-speed-increase.d.ts +1 -1
  83. package/engine/internal/object-data/auto-attack-speed-increase.lua +2 -0
  84. package/engine/internal/object-data/evasion-probability.d.ts +2 -0
  85. package/engine/internal/object-data/evasion-probability.lua +16 -0
  86. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.d.ts +2 -0
  87. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.lua +16 -0
  88. package/engine/internal/unit/ability.d.ts +45 -1
  89. package/engine/internal/unit/ability.lua +128 -17
  90. package/engine/internal/unit/add-item-to-slot-init.d.ts +2 -0
  91. package/engine/internal/unit/add-item-to-slot-init.lua +23 -0
  92. package/engine/internal/unit/add-item-to-slot.d.ts +2 -0
  93. package/engine/internal/unit/add-item-to-slot.lua +52 -0
  94. package/engine/internal/unit/allowed-targets.d.ts +1 -1
  95. package/engine/internal/unit/allowed-targets.lua +9 -1
  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 +13 -8
  99. package/engine/internal/unit/bonus.lua +33 -1
  100. package/engine/internal/unit/fly-height.d.ts +7 -0
  101. package/engine/internal/unit/fly-height.lua +20 -0
  102. package/engine/internal/unit/ignore-events-items.d.ts +2 -0
  103. package/engine/internal/unit/ignore-events-items.lua +5 -0
  104. package/engine/internal/unit/interrupts.d.ts +12 -0
  105. package/engine/internal/unit/interrupts.lua +28 -0
  106. package/engine/internal/unit/item.d.ts +24 -0
  107. package/engine/internal/unit/item.lua +78 -0
  108. package/engine/internal/unit/main-selected.d.ts +13 -0
  109. package/engine/internal/unit/main-selected.lua +36 -0
  110. package/engine/internal/unit/order.d.ts +20 -0
  111. package/engine/internal/unit/order.lua +136 -0
  112. package/engine/internal/unit/scale.d.ts +7 -0
  113. package/engine/internal/unit/scale.lua +20 -0
  114. package/engine/internal/unit+ability.lua +12 -3
  115. package/engine/internal/unit+damage.d.ts +2 -11
  116. package/engine/internal/unit+damage.lua +10 -14
  117. package/engine/internal/unit+spellSteal.lua +1 -2
  118. package/engine/internal/unit+transport.lua +4 -10
  119. package/engine/internal/unit-missile-launch.lua +70 -13
  120. package/engine/internal/unit.d.ts +64 -31
  121. package/engine/internal/unit.lua +496 -262
  122. package/engine/internal/utility.lua +12 -0
  123. package/engine/lightning.d.ts +12 -5
  124. package/engine/lightning.lua +48 -14
  125. package/engine/local-client.d.ts +9 -2
  126. package/engine/local-client.lua +112 -0
  127. package/engine/object-data/auxiliary/animation-name.d.ts +1 -0
  128. package/engine/object-data/auxiliary/animation-name.lua +16 -0
  129. package/engine/object-data/auxiliary/armor-type.d.ts +11 -0
  130. package/engine/object-data/auxiliary/armor-type.lua +46 -0
  131. package/engine/object-data/auxiliary/attachment-preset.d.ts +7 -3
  132. package/engine/object-data/auxiliary/attachment-preset.lua +4 -3
  133. package/engine/object-data/auxiliary/attack-type.d.ts +7 -8
  134. package/engine/object-data/auxiliary/attack-type.lua +42 -0
  135. package/engine/object-data/auxiliary/combat-classification.d.ts +0 -2
  136. package/engine/object-data/auxiliary/health-regeneration-type.d.ts +8 -0
  137. package/engine/object-data/auxiliary/health-regeneration-type.lua +2 -0
  138. package/engine/object-data/auxiliary/movement-type.d.ts +7 -7
  139. package/engine/object-data/auxiliary/movement-type.lua +22 -0
  140. package/engine/object-data/auxiliary/sound-eax.d.ts +10 -0
  141. package/engine/object-data/auxiliary/sound-eax.lua +2 -0
  142. package/engine/object-data/auxiliary/sound-preset-name.d.ts +5 -1
  143. package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +1 -1
  144. package/engine/object-data/auxiliary/unit-attribute.d.ts +6 -0
  145. package/engine/object-data/auxiliary/unit-attribute.lua +9 -0
  146. package/engine/object-data/entry/ability-type/berserk.d.ts +2 -0
  147. package/engine/object-data/entry/ability-type/berserk.lua +13 -0
  148. package/engine/object-data/entry/ability-type/blank-configurable.d.ts +0 -1
  149. package/engine/object-data/entry/ability-type/blank-configurable.lua +12 -1
  150. package/engine/object-data/entry/ability-type/blank-passive.d.ts +0 -1
  151. package/engine/object-data/entry/ability-type/carrion-swarm.d.ts +14 -0
  152. package/engine/object-data/entry/ability-type/carrion-swarm.lua +65 -0
  153. package/engine/object-data/entry/ability-type/channel.d.ts +0 -1
  154. package/engine/object-data/entry/ability-type/disease-cloud.lua +2 -2
  155. package/engine/object-data/entry/ability-type/engineering-upgrade.lua +2 -2
  156. package/engine/object-data/entry/ability-type/ensnare.d.ts +12 -0
  157. package/engine/object-data/entry/ability-type/ensnare.lua +52 -0
  158. package/engine/object-data/entry/ability-type/feral-spirit.lua +2 -2
  159. package/engine/object-data/entry/ability-type/mana-regeneration.d.ts +8 -0
  160. package/engine/object-data/entry/ability-type/mana-regeneration.lua +26 -0
  161. package/engine/object-data/entry/ability-type/permanent-invisibility.d.ts +8 -0
  162. package/engine/object-data/entry/ability-type/permanent-invisibility.lua +26 -0
  163. package/engine/object-data/entry/ability-type/phase-shift.d.ts +10 -0
  164. package/engine/object-data/entry/ability-type/phase-shift.lua +39 -0
  165. package/engine/object-data/entry/ability-type/phoenix-morph.lua +4 -4
  166. package/engine/object-data/entry/ability-type/raise-dead.d.ts +17 -0
  167. package/engine/object-data/entry/ability-type/raise-dead.lua +78 -0
  168. package/engine/object-data/entry/ability-type/shock-wave.d.ts +4 -0
  169. package/engine/object-data/entry/ability-type/shock-wave.lua +26 -0
  170. package/engine/object-data/entry/ability-type/slow-poison.d.ts +10 -0
  171. package/engine/object-data/entry/ability-type/slow-poison.lua +58 -0
  172. package/engine/object-data/entry/ability-type/summon-quilbeast.lua +2 -2
  173. package/engine/object-data/entry/ability-type/summon-water-elemental.lua +2 -2
  174. package/engine/object-data/entry/ability-type/web.d.ts +12 -0
  175. package/engine/object-data/entry/ability-type/web.lua +52 -0
  176. package/engine/object-data/entry/ability-type.d.ts +19 -18
  177. package/engine/object-data/entry/ability-type.lua +93 -36
  178. package/engine/object-data/entry/buff-type/applicable.d.ts +0 -1
  179. package/engine/object-data/entry/buff-type/applicable.lua +18 -37
  180. package/engine/object-data/entry/buff-type/blank.d.ts +0 -1
  181. package/engine/object-data/entry/buff-type.d.ts +6 -13
  182. package/engine/object-data/entry/buff-type.lua +13 -29
  183. package/engine/object-data/entry/destructible-type.d.ts +28 -3
  184. package/engine/object-data/entry/destructible-type.lua +155 -0
  185. package/engine/object-data/entry/item-type/blank.d.ts +0 -1
  186. package/engine/object-data/entry/item-type.d.ts +15 -2
  187. package/engine/object-data/entry/item-type.lua +93 -2
  188. package/engine/object-data/entry/lightning-type.d.ts +1 -2
  189. package/engine/object-data/entry/sound-preset.d.ts +33 -0
  190. package/engine/object-data/entry/sound-preset.lua +140 -0
  191. package/engine/object-data/entry/unit-type.d.ts +25 -6
  192. package/engine/object-data/entry/unit-type.lua +258 -93
  193. package/engine/object-data/entry/upgrade/blank.d.ts +0 -1
  194. package/engine/object-data/entry/upgrade.d.ts +1 -2
  195. package/engine/object-data/entry/upgrade.lua +4 -4
  196. package/engine/object-data/entry.d.ts +18 -17
  197. package/engine/object-data/entry.lua +60 -32
  198. package/engine/object-data/utility/object-data-entry-id-generator.lua +7 -0
  199. package/engine/object-field/ability.d.ts +28 -5
  200. package/engine/object-field/ability.lua +59 -5
  201. package/engine/object-field/unit.d.ts +72 -3
  202. package/engine/object-field/unit.lua +268 -7
  203. package/engine/object-field.d.ts +25 -7
  204. package/engine/object-field.lua +359 -116
  205. package/engine/random.d.ts +10 -5
  206. package/engine/random.lua +13 -0
  207. package/engine/standard/entries/buff-type.d.ts +3 -0
  208. package/engine/standard/entries/buff-type.lua +3 -0
  209. package/engine/standard/entries/sound-preset.d.ts +10 -0
  210. package/engine/standard/entries/sound-preset.lua +10 -0
  211. package/engine/standard/fields/ability.d.ts +4 -2
  212. package/engine/standard/fields/ability.lua +4 -2
  213. package/engine/standard/fields/unit.d.ts +12 -0
  214. package/engine/standard/fields/unit.lua +20 -0
  215. package/engine/synchronization.d.ts +11 -0
  216. package/engine/synchronization.lua +77 -0
  217. package/engine/text-tag.d.ts +36 -2
  218. package/engine/text-tag.lua +250 -10
  219. package/engine/unit.d.ts +8 -0
  220. package/engine/unit.lua +17 -2
  221. package/event.d.ts +2 -3
  222. package/event.lua +9 -5
  223. package/index.d.ts +1 -0
  224. package/index.lua +1 -0
  225. package/lualib_bundle.lua +146 -42
  226. package/math/vec2.d.ts +2 -9
  227. package/math.d.ts +0 -2
  228. package/net/socket.d.ts +7 -1
  229. package/net/socket.lua +45 -4
  230. package/network.d.ts +1 -0
  231. package/network.lua +3 -2
  232. package/objutil/ability.d.ts +0 -1
  233. package/objutil/buff.d.ts +0 -1
  234. package/objutil/buff.lua +12 -11
  235. package/objutil/object.d.ts +0 -1
  236. package/objutil/unit.d.ts +0 -1
  237. package/objutil/unit.lua +8 -0
  238. package/package.json +13 -13
  239. package/patch-lua.d.ts +0 -0
  240. package/patch-lua.lua +25 -0
  241. package/patch-lualib.lua +1 -1
  242. package/property.d.ts +55 -0
  243. package/property.lua +374 -0
  244. package/string.d.ts +16 -0
  245. package/string.lua +5 -0
  246. package/util/stream.d.ts +0 -1
  247. package/utility/arrays.d.ts +13 -5
  248. package/utility/arrays.lua +45 -3
  249. package/utility/bit-set.d.ts +0 -2
  250. package/utility/callback-array.d.ts +17 -0
  251. package/utility/callback-array.lua +61 -0
  252. package/utility/functions.d.ts +8 -0
  253. package/utility/functions.lua +13 -0
  254. package/utility/lazy.d.ts +2 -0
  255. package/utility/lazy.lua +14 -0
  256. package/utility/linked-map.d.ts +26 -0
  257. package/utility/linked-map.lua +66 -0
  258. package/utility/linked-set.d.ts +13 -3
  259. package/utility/linked-set.lua +31 -3
  260. package/utility/lua-maps.d.ts +16 -4
  261. package/utility/lua-maps.lua +53 -2
  262. package/utility/lua-sets.d.ts +3 -2
  263. package/utility/lua-sets.lua +7 -0
  264. package/utility/records.lua +20 -1
  265. package/utility/reflection.lua +11 -7
  266. package/utility/types.d.ts +4 -0
  267. package/core/mapbounds.d.ts +0 -8
  268. package/core/mapbounds.lua +0 -12
  269. package/core/types/order.d.ts +0 -25
  270. package/core/types/order.lua +0 -55
@@ -0,0 +1,10 @@
1
+ local ____exports = {}
2
+ ____exports.ABOMINATION_PISSED_SOUND_PRESET_ID = "AbominationPissed"
3
+ ____exports.ABOMINATION_READY_SOUND_PRESET_ID = "AbominationReady"
4
+ ____exports.ABOMINATION_WAR_CRY_SOUND_PRESET_ID = "AbominationWarcry"
5
+ ____exports.AXE_MEDIUM_CHOP_WOOD_SOUND_PRESET_ID = "AxeMediumChopWood"
6
+ ____exports.IMPALE_SOUND_PRESET_ID = "Impale"
7
+ ____exports.IMPALE_HIT_SOUND_PRESET_ID = "ImpaleHit"
8
+ ____exports.IMPALE_LAND_SOUND_PRESET_ID = "ImpaleLand"
9
+ ____exports.IMPALE_CAST_SOUND_PRESET_ID = "ImpaleCast"
10
+ return ____exports
@@ -376,8 +376,8 @@ export declare const INVISIBILITY_TRANSITION_TIME_ABILITY_FLOAT_LEVEL_FIELD: Abi
376
376
  export declare const ACTIVATION_RADIUS_ABILITY_FLOAT_LEVEL_FIELD: AbilityFloatLevelField & symbol;
377
377
  export declare const AMOUNT_REGENERATED_ABILITY_FLOAT_LEVEL_FIELD: AbilityFloatLevelField & symbol;
378
378
  export declare const DAMAGE_PER_SECOND_POI1_ABILITY_FLOAT_LEVEL_FIELD: AbilityFloatLevelField & symbol;
379
- export declare const ATTACK_SPEED_FACTOR_POI2_ABILITY_FLOAT_LEVEL_FIELD: AbilityFloatLevelField & symbol;
380
- export declare const MOVEMENT_SPEED_FACTOR_POI3_ABILITY_FLOAT_LEVEL_FIELD: AbilityFloatLevelField & symbol;
379
+ export declare const MOVEMENT_SPEED_FACTOR_POI2_ABILITY_FLOAT_LEVEL_FIELD: AbilityFloatLevelField & symbol;
380
+ export declare const ATTACK_SPEED_FACTOR_POI3_ABILITY_FLOAT_LEVEL_FIELD: AbilityFloatLevelField & symbol;
381
381
  export declare const EXTRA_DAMAGE_POA1_ABILITY_FLOAT_LEVEL_FIELD: AbilityFloatLevelField & symbol;
382
382
  export declare const DAMAGE_PER_SECOND_POA2_ABILITY_FLOAT_LEVEL_FIELD: AbilityFloatLevelField & symbol;
383
383
  export declare const ATTACK_SPEED_FACTOR_POA3_ABILITY_FLOAT_LEVEL_FIELD: AbilityFloatLevelField & symbol;
@@ -687,6 +687,8 @@ export declare const DISABLE_OTHER_ABILITIES_ABILITY_BOOLEAN_LEVEL_FIELD: Abilit
687
687
  export declare const ALLOW_BOUNTY_ABILITY_BOOLEAN_LEVEL_FIELD: AbilityBooleanLevelField & symbol;
688
688
  export declare const ICON_NORMAL_ABILITY_STRING_LEVEL_FIELD: AbilityStringLevelField & symbol;
689
689
  export declare const CASTER_EFFECT_MODEL_PATHS_ABILITY_STRING_ARRAY_FIELD: AbilityStringArrayField & symbol;
690
+ export declare const CASTER_EFFECT_FIRST_ATTACHMENT_POINT_STRING_FIELD: AbilityStringField & symbol;
691
+ export declare const CASTER_EFFECT_SECOND_ATTACHMENT_POINT_STRING_FIELD: AbilityStringField & symbol;
690
692
  export declare const TARGET_EFFECT_MODEL_PATHS_ABILITY_STRING_ARRAY_FIELD: AbilityStringArrayField & symbol;
691
693
  export declare const TARGET_EFFECT_FIRST_ATTACHMENT_POINT_STRING_FIELD: AbilityStringField & symbol;
692
694
  export declare const TARGET_EFFECT_SECOND_ATTACHMENT_POINT_STRING_FIELD: AbilityStringField & symbol;
@@ -387,8 +387,8 @@ ____exports.INVISIBILITY_TRANSITION_TIME_ABILITY_FLOAT_LEVEL_FIELD = AbilityFloa
387
387
  ____exports.ACTIVATION_RADIUS_ABILITY_FLOAT_LEVEL_FIELD = AbilityFloatLevelField:create(fourCC("Neu1"))
388
388
  ____exports.AMOUNT_REGENERATED_ABILITY_FLOAT_LEVEL_FIELD = AbilityFloatLevelField:create(fourCC("Arm1"))
389
389
  ____exports.DAMAGE_PER_SECOND_POI1_ABILITY_FLOAT_LEVEL_FIELD = AbilityFloatLevelField:create(fourCC("Poi1"))
390
- ____exports.ATTACK_SPEED_FACTOR_POI2_ABILITY_FLOAT_LEVEL_FIELD = AbilityFloatLevelField:create(fourCC("Poi2"))
391
- ____exports.MOVEMENT_SPEED_FACTOR_POI3_ABILITY_FLOAT_LEVEL_FIELD = AbilityFloatLevelField:create(fourCC("Poi3"))
390
+ ____exports.MOVEMENT_SPEED_FACTOR_POI2_ABILITY_FLOAT_LEVEL_FIELD = AbilityFloatLevelField:create(fourCC("Poi2"))
391
+ ____exports.ATTACK_SPEED_FACTOR_POI3_ABILITY_FLOAT_LEVEL_FIELD = AbilityFloatLevelField:create(fourCC("Poi3"))
392
392
  ____exports.EXTRA_DAMAGE_POA1_ABILITY_FLOAT_LEVEL_FIELD = AbilityFloatLevelField:create(fourCC("Poa1"))
393
393
  ____exports.DAMAGE_PER_SECOND_POA2_ABILITY_FLOAT_LEVEL_FIELD = AbilityFloatLevelField:create(fourCC("Poa2"))
394
394
  ____exports.ATTACK_SPEED_FACTOR_POA3_ABILITY_FLOAT_LEVEL_FIELD = AbilityFloatLevelField:create(fourCC("Poa3"))
@@ -698,6 +698,8 @@ ____exports.DISABLE_OTHER_ABILITIES_ABILITY_BOOLEAN_LEVEL_FIELD = AbilityBoolean
698
698
  ____exports.ALLOW_BOUNTY_ABILITY_BOOLEAN_LEVEL_FIELD = AbilityBooleanLevelField:create(fourCC("Ntm4"))
699
699
  ____exports.ICON_NORMAL_ABILITY_STRING_LEVEL_FIELD = AbilityStringLevelField:create(fourCC("aart"))
700
700
  ____exports.CASTER_EFFECT_MODEL_PATHS_ABILITY_STRING_ARRAY_FIELD = AbilityStringArrayField:create(fourCC("acat"))
701
+ ____exports.CASTER_EFFECT_FIRST_ATTACHMENT_POINT_STRING_FIELD = AbilityStringField:create(fourCC("acap"))
702
+ ____exports.CASTER_EFFECT_SECOND_ATTACHMENT_POINT_STRING_FIELD = AbilityStringField:create(fourCC("aca1"))
701
703
  ____exports.TARGET_EFFECT_MODEL_PATHS_ABILITY_STRING_ARRAY_FIELD = AbilityStringArrayField:create(fourCC("atat"))
702
704
  ____exports.TARGET_EFFECT_FIRST_ATTACHMENT_POINT_STRING_FIELD = AbilityStringField:create(fourCC("ata0"))
703
705
  ____exports.TARGET_EFFECT_SECOND_ATTACHMENT_POINT_STRING_FIELD = AbilityStringField:create(fourCC("ata1"))
@@ -0,0 +1,12 @@
1
+ /** @noSelfInFile */
2
+ import { UnitClassificationsField, UnitFloatField, UnitFlyHeightField, UnitHealthRegenerationTypeField, UnitIntegerField, UnitPropulsionWindowField, UnitScalingValueField } from "../../object-field/unit";
3
+ export declare const PROPULSION_WINDOW_UNIT_FIELD: UnitPropulsionWindowField & symbol;
4
+ export declare const CLASSIFICATIONS_UNIT_FIELD: UnitClassificationsField & symbol;
5
+ export declare const FLY_HEIGHT_UNIT_FIELD: UnitFlyHeightField & symbol;
6
+ export declare const SCALING_VALUE_UNIT_FIELD: UnitScalingValueField & symbol;
7
+ export declare const HEALTH_REGENERATION_RATE_UNIT_FIELD: UnitFloatField & symbol;
8
+ export declare const MANA_REGENERATION_RATE_UNIT_FIELD: UnitFloatField & symbol;
9
+ export declare const HEALTH_REGENERATION_TYPE_UNIT_FIELD: UnitHealthRegenerationTypeField & symbol;
10
+ export declare const STRENGTH_UNIT_FIELD: UnitIntegerField<number> & symbol;
11
+ export declare const AGILITY_UNIT_FIELD: UnitIntegerField<number> & symbol;
12
+ export declare const INTELLIGENCE_UNIT_FIELD: UnitIntegerField<number> & symbol;
@@ -0,0 +1,20 @@
1
+ local ____exports = {}
2
+ local ____unit = require("engine.object-field.unit")
3
+ local UnitClassificationsField = ____unit.UnitClassificationsField
4
+ local UnitFloatField = ____unit.UnitFloatField
5
+ local UnitFlyHeightField = ____unit.UnitFlyHeightField
6
+ local UnitHealthRegenerationTypeField = ____unit.UnitHealthRegenerationTypeField
7
+ local UnitIntegerField = ____unit.UnitIntegerField
8
+ local UnitPropulsionWindowField = ____unit.UnitPropulsionWindowField
9
+ local UnitScalingValueField = ____unit.UnitScalingValueField
10
+ ____exports.PROPULSION_WINDOW_UNIT_FIELD = UnitPropulsionWindowField:create(fourCC("urpw"))
11
+ ____exports.CLASSIFICATIONS_UNIT_FIELD = UnitClassificationsField:create(fourCC("utyp"))
12
+ ____exports.FLY_HEIGHT_UNIT_FIELD = UnitFlyHeightField:create(fourCC("ufyh"))
13
+ ____exports.SCALING_VALUE_UNIT_FIELD = UnitScalingValueField:create(fourCC("usca"))
14
+ ____exports.HEALTH_REGENERATION_RATE_UNIT_FIELD = UnitFloatField:create(fourCC("uhpr"))
15
+ ____exports.MANA_REGENERATION_RATE_UNIT_FIELD = UnitFloatField:create(fourCC("umpr"))
16
+ ____exports.HEALTH_REGENERATION_TYPE_UNIT_FIELD = UnitHealthRegenerationTypeField:create(fourCC("uhrt"))
17
+ ____exports.STRENGTH_UNIT_FIELD = UnitIntegerField:create(fourCC("ustc"))
18
+ ____exports.AGILITY_UNIT_FIELD = UnitIntegerField:create(fourCC("uagc"))
19
+ ____exports.INTELLIGENCE_UNIT_FIELD = UnitIntegerField:create(fourCC("uinc"))
20
+ return ____exports
@@ -0,0 +1,11 @@
1
+ /** @noSelfInFile */
2
+ import { Player } from "../core/types/player";
3
+ import { Event } from "../event";
4
+ export declare const synchronizer: <T, K extends number>(getSyncId: (object: T) => K, getObject: (syncId: K) => T | undefined) => ((player: Player, object: T | undefined) => Promise<T | undefined>);
5
+ export declare class ObjectBus<T, K extends number> {
6
+ private readonly getSyncId;
7
+ readonly event: Event<[Player, T | undefined]>;
8
+ private readonly syncSlider;
9
+ constructor(getSyncId: (object: T) => K, getObject: (syncId: K) => T | undefined);
10
+ send(object: T | undefined): void;
11
+ }
@@ -0,0 +1,77 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__New = ____lualib.__TS__New
3
+ local __TS__Promise = ____lualib.__TS__Promise
4
+ local __TS__Class = ____lualib.__TS__Class
5
+ local ____exports = {}
6
+ local ____player = require("core.types.player")
7
+ local Player = ____player.Player
8
+ local ____math = require("math")
9
+ local MAXIMUM_INTEGER = ____math.MAXIMUM_INTEGER
10
+ local MINIMUM_INTEGER = ____math.MINIMUM_INTEGER
11
+ local ____linked_2Dset = require("utility.linked-set")
12
+ local LinkedSet = ____linked_2Dset.LinkedSet
13
+ local ____event = require("event")
14
+ local Event = ____event.Event
15
+ local eventInvoke = Event.invoke
16
+ local createFrameByType = BlzCreateFrameByType
17
+ local createTrigger = CreateTrigger
18
+ local getOriginFrame = BlzGetOriginFrame
19
+ local getTriggerFrameValue = BlzGetTriggerFrameValue
20
+ local getTriggerPlayer = GetTriggerPlayer
21
+ local frameSetMinMaxValue = BlzFrameSetMinMaxValue
22
+ local frameSetValue = BlzFrameSetValue
23
+ local triggerAddAction = TriggerAddAction
24
+ local triggerRegisterFrameEvent = BlzTriggerRegisterFrameEvent
25
+ ____exports.synchronizer = function(getSyncId, getObject)
26
+ local queue = __TS__New(LinkedSet)
27
+ local socket = __TS__New(____exports.ObjectBus, getSyncId, getObject)
28
+ socket.event:addListener(function(_, object)
29
+ local ____opt_0 = queue:pop()
30
+ if ____opt_0 ~= nil then
31
+ ____opt_0(object)
32
+ end
33
+ end)
34
+ local function executor(____, resolve)
35
+ queue:add(resolve)
36
+ end
37
+ return function(player, object)
38
+ if player.isLocal then
39
+ socket:send(object)
40
+ end
41
+ return __TS__New(__TS__Promise, executor)
42
+ end
43
+ end
44
+ ____exports.ObjectBus = __TS__Class()
45
+ local ObjectBus = ____exports.ObjectBus
46
+ ObjectBus.name = "ObjectBus"
47
+ function ObjectBus.prototype.____constructor(self, getSyncId, getObject)
48
+ self.getSyncId = getSyncId
49
+ local syncSlider = createFrameByType(
50
+ "SLIDER",
51
+ "Synchronizer",
52
+ getOriginFrame(ORIGIN_FRAME_WORLD_FRAME, 0),
53
+ "",
54
+ 0
55
+ )
56
+ frameSetMinMaxValue(syncSlider, MINIMUM_INTEGER, MAXIMUM_INTEGER)
57
+ self.syncSlider = syncSlider
58
+ local event = __TS__New(Event)
59
+ local trigger = createTrigger()
60
+ triggerRegisterFrameEvent(trigger, syncSlider, FRAMEEVENT_SLIDER_VALUE_CHANGED)
61
+ triggerAddAction(
62
+ trigger,
63
+ function()
64
+ eventInvoke(
65
+ event,
66
+ Player:of(getTriggerPlayer()),
67
+ getObject(getTriggerFrameValue())
68
+ )
69
+ end
70
+ )
71
+ self.event = event
72
+ end
73
+ function ObjectBus.prototype.send(self, object)
74
+ local syncId = object ~= nil and self.getSyncId(object) or 0
75
+ frameSetValue(self.syncSlider, syncId)
76
+ end
77
+ return ____exports
@@ -1,5 +1,7 @@
1
1
  /** @noSelfInFile */
2
2
  import { Color } from "../core/types/color";
3
+ import { Unit } from "./internal/unit";
4
+ import { AbstractDestroyable, Destructor } from "../destroyable";
3
5
  export type TextTagPreset = {
4
6
  fadepoint: number;
5
7
  lifespan: number;
@@ -10,9 +12,39 @@ export type TextTagPreset = {
10
12
  velocityY: number;
11
13
  color: Color;
12
14
  };
13
- export declare class TextTag {
14
- private readonly handle;
15
+ declare const enum TextTagPropertyKey {
16
+ UNIT = 100,
17
+ HANDLE = 101,
18
+ CONFIGURATION = 102,
19
+ TEXT = 103,
20
+ FONT_SIZE = 104,
21
+ COLOR = 105,
22
+ X = 106,
23
+ Y = 107
24
+ }
25
+ export declare class TextTag extends AbstractDestroyable {
26
+ private [TextTagPropertyKey.HANDLE]?;
27
+ private [TextTagPropertyKey.CONFIGURATION]?;
28
+ private [TextTagPropertyKey.TEXT]?;
29
+ private [TextTagPropertyKey.FONT_SIZE]?;
30
+ private [TextTagPropertyKey.COLOR]?;
31
+ private [TextTagPropertyKey.UNIT]?;
32
+ private [TextTagPropertyKey.X]?;
33
+ private [TextTagPropertyKey.Y]?;
15
34
  private constructor();
35
+ protected onDestroy(): Destructor;
36
+ get text(): string;
37
+ set text(text: string);
38
+ get fontSize(): number;
39
+ set fontSize(fontSize: number);
40
+ get color(): Color;
41
+ set color(color: Color);
42
+ get unit(): Unit | undefined;
43
+ set unit(unit: Unit | undefined);
44
+ get x(): number;
45
+ set x(x: number);
46
+ get y(): number;
47
+ set y(y: number);
16
48
  static BASE: Readonly<TextTagPreset>;
17
49
  static BASH: Readonly<TextTagPreset>;
18
50
  static CRITICAL_STRIKE: Readonly<TextTagPreset>;
@@ -22,4 +54,6 @@ export declare class TextTag {
22
54
  static MISS: Readonly<TextTagPreset>;
23
55
  static SHADOW_STRIKE: Readonly<TextTagPreset>;
24
56
  static flash(configuration: Readonly<TextTagPreset>, text: string, x: number, y: number, z?: number): void;
57
+ static create(configuration: Readonly<TextTagPreset>, text: string, unit: Unit): TextTag;
25
58
  }
59
+ export {};
@@ -1,9 +1,22 @@
1
1
  local ____lualib = require("lualib_bundle")
2
2
  local __TS__Class = ____lualib.__TS__Class
3
+ local __TS__ClassExtends = ____lualib.__TS__ClassExtends
4
+ local __TS__New = ____lualib.__TS__New
5
+ local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
3
6
  local __TS__ObjectAssign = ____lualib.__TS__ObjectAssign
4
7
  local ____exports = {}
5
8
  local ____color = require("core.types.color")
6
9
  local Color = ____color.Color
10
+ local ____timer = require("core.types.timer")
11
+ local Timer = ____timer.Timer
12
+ local ____destroyable = require("destroyable")
13
+ local AbstractDestroyable = ____destroyable.AbstractDestroyable
14
+ local ____playerCamera = require("core.types.playerCamera")
15
+ local worldCoordinatesToFrame = ____playerCamera.worldCoordinatesToFrame
16
+ local ____get_2Dterrain_2Dz = require("engine.internal.misc.get-terrain-z")
17
+ local getTerrainZ = ____get_2Dterrain_2Dz.getTerrainZ
18
+ local ____player_2Dlocal_2Dhandle = require("engine.internal.misc.player-local-handle")
19
+ local PLAYER_LOCAL_HANDLE = ____player_2Dlocal_2Dhandle.PLAYER_LOCAL_HANDLE
7
20
  local createTextTag = CreateTextTag
8
21
  local destroyTextTag = DestroyTextTag
9
22
  local setTextTagText = SetTextTagText
@@ -17,17 +30,15 @@ local setTextTagPermanent = SetTextTagPermanent
17
30
  local setTextTagAge = SetTextTagAge
18
31
  local setTextTagLifespan = SetTextTagLifespan
19
32
  local setTextTagFadepoint = SetTextTagFadepoint
33
+ local isUnitHidden = IsUnitHidden
34
+ local isUnitLoaded = IsUnitLoaded
35
+ local isUnitVisible = IsUnitVisible
36
+ local getUnitFlyHeight = GetUnitFlyHeight
37
+ local getUnitX = GetUnitX
38
+ local getUnitY = GetUnitY
39
+ local unitAlive = UnitAlive
20
40
  local DEFAULT_FONT_SIZE = 0.024
21
- ____exports.TextTag = __TS__Class()
22
- local TextTag = ____exports.TextTag
23
- TextTag.name = "TextTag"
24
- function TextTag.prototype.____constructor(self, handle)
25
- self.handle = handle
26
- end
27
- function TextTag.flash(self, configuration, text, x, y, z)
28
- local textTag = createTextTag()
29
- setTextTagText(textTag, text, DEFAULT_FONT_SIZE)
30
- setTextTagPos(textTag, x + configuration.offsetX, y + configuration.offsetY, (z or 0) + configuration.offsetZ)
41
+ local function applyConfiguration(textTag, configuration)
31
42
  setTextTagFadepoint(textTag, configuration.fadepoint)
32
43
  setTextTagLifespan(textTag, configuration.lifespan)
33
44
  local color = configuration.color
@@ -42,6 +53,213 @@ function TextTag.flash(self, configuration, text, x, y, z)
42
53
  setTextTagPermanent(textTag, false)
43
54
  setTextTagVisibility(textTag, true)
44
55
  end
56
+ local unitTextTags = setmetatable({}, {__mode = "k"})
57
+ local function ensureHandle(textTag)
58
+ local handle = textTag[101]
59
+ if handle == nil then
60
+ handle = createTextTag()
61
+ applyConfiguration(handle, textTag[102])
62
+ setTextTagPermanent(handle, true)
63
+ setTextTagText(handle, textTag[103] or "", textTag[104] or DEFAULT_FONT_SIZE)
64
+ local color = textTag[105]
65
+ if color ~= nil then
66
+ setTextTagColor(
67
+ handle,
68
+ color.r,
69
+ color.g,
70
+ color.b,
71
+ color.a
72
+ )
73
+ end
74
+ local unit = textTag[100]
75
+ if unit ~= nil then
76
+ setTextTagPosUnit(handle, unit.handle, textTag[102].offsetZ)
77
+ else
78
+ setTextTagPos(handle, textTag[106] or 0, textTag[107] or 0, 0)
79
+ end
80
+ textTag[101] = handle
81
+ end
82
+ return handle
83
+ end
84
+ ____exports.TextTag = __TS__Class()
85
+ local TextTag = ____exports.TextTag
86
+ TextTag.name = "TextTag"
87
+ __TS__ClassExtends(TextTag, AbstractDestroyable)
88
+ function TextTag.prototype.____constructor(self, handle)
89
+ AbstractDestroyable.prototype.____constructor(self)
90
+ self[101] = handle
91
+ end
92
+ function TextTag.prototype.onDestroy(self)
93
+ local handle = self[101]
94
+ if handle ~= nil then
95
+ destroyTextTag(handle)
96
+ self[101] = nil
97
+ end
98
+ unitTextTags[self] = nil
99
+ return AbstractDestroyable.prototype.onDestroy(self)
100
+ end
101
+ function TextTag.flash(self, configuration, text, x, y, z)
102
+ local textTag = createTextTag()
103
+ setTextTagText(textTag, text, DEFAULT_FONT_SIZE)
104
+ setTextTagPos(textTag, x + configuration.offsetX, y + configuration.offsetY, (z or 0) + configuration.offsetZ)
105
+ applyConfiguration(textTag, configuration)
106
+ end
107
+ function TextTag.create(self, configuration, text, unit)
108
+ local textTag = __TS__New(____exports.TextTag)
109
+ textTag[103] = text
110
+ textTag[100] = unit
111
+ textTag[102] = configuration
112
+ ensureHandle(textTag)
113
+ unitTextTags[textTag] = true
114
+ return textTag
115
+ end
116
+ __TS__SetDescriptor(
117
+ TextTag.prototype,
118
+ "text",
119
+ {
120
+ get = function(self)
121
+ return self[103] or ""
122
+ end,
123
+ set = function(self, text)
124
+ setTextTagText(
125
+ ensureHandle(self),
126
+ text,
127
+ self[104] or DEFAULT_FONT_SIZE
128
+ )
129
+ self[103] = text
130
+ end
131
+ },
132
+ true
133
+ )
134
+ __TS__SetDescriptor(
135
+ TextTag.prototype,
136
+ "fontSize",
137
+ {
138
+ get = function(self)
139
+ return self[104] or DEFAULT_FONT_SIZE
140
+ end,
141
+ set = function(self, fontSize)
142
+ setTextTagText(
143
+ ensureHandle(self),
144
+ self[103] or "",
145
+ fontSize
146
+ )
147
+ self[104] = fontSize
148
+ end
149
+ },
150
+ true
151
+ )
152
+ __TS__SetDescriptor(
153
+ TextTag.prototype,
154
+ "color",
155
+ {
156
+ get = function(self)
157
+ return self[105] or Color.white
158
+ end,
159
+ set = function(self, color)
160
+ setTextTagColor(
161
+ ensureHandle(self),
162
+ color.r,
163
+ color.g,
164
+ color.b,
165
+ color.a
166
+ )
167
+ self[105] = color
168
+ end
169
+ },
170
+ true
171
+ )
172
+ __TS__SetDescriptor(
173
+ TextTag.prototype,
174
+ "unit",
175
+ {
176
+ get = function(self)
177
+ return self[100]
178
+ end,
179
+ set = function(self, unit)
180
+ if unit ~= nil then
181
+ setTextTagPosUnit(
182
+ ensureHandle(self),
183
+ unit.handle,
184
+ 0
185
+ )
186
+ self[106] = nil
187
+ self[107] = nil
188
+ unitTextTags[self] = true
189
+ elseif self[100] ~= nil then
190
+ local unit = self[100]
191
+ local x = unit.x
192
+ local y = unit.y
193
+ setTextTagPos(
194
+ ensureHandle(self),
195
+ x,
196
+ y,
197
+ 0
198
+ )
199
+ self[106] = x
200
+ self[107] = y
201
+ unitTextTags[self] = nil
202
+ end
203
+ self[100] = unit
204
+ end
205
+ },
206
+ true
207
+ )
208
+ __TS__SetDescriptor(
209
+ TextTag.prototype,
210
+ "x",
211
+ {
212
+ get = function(self)
213
+ local ____self__106_2 = self[106]
214
+ if ____self__106_2 == nil then
215
+ local ____opt_0 = self[100]
216
+ ____self__106_2 = ____opt_0 and ____opt_0.x
217
+ end
218
+ return ____self__106_2 or 0
219
+ end,
220
+ set = function(self, x)
221
+ local ____ensureHandle_result_6 = ensureHandle(self)
222
+ local ____x_7 = x
223
+ local ____self__107_5 = self[107]
224
+ if ____self__107_5 == nil then
225
+ local ____opt_3 = self[100]
226
+ ____self__107_5 = ____opt_3 and ____opt_3.y
227
+ end
228
+ setTextTagPos(____ensureHandle_result_6, ____x_7, ____self__107_5 or 0, 0)
229
+ self[106] = x
230
+ self[100] = nil
231
+ unitTextTags[self] = nil
232
+ end
233
+ },
234
+ true
235
+ )
236
+ __TS__SetDescriptor(
237
+ TextTag.prototype,
238
+ "y",
239
+ {
240
+ get = function(self)
241
+ local ____self__107_10 = self[107]
242
+ if ____self__107_10 == nil then
243
+ local ____opt_8 = self[100]
244
+ ____self__107_10 = ____opt_8 and ____opt_8.y
245
+ end
246
+ return ____self__107_10 or 0
247
+ end,
248
+ set = function(self, y)
249
+ local ____ensureHandle_result_14 = ensureHandle(self)
250
+ local ____self__106_13 = self[106]
251
+ if ____self__106_13 == nil then
252
+ local ____opt_11 = self[100]
253
+ ____self__106_13 = ____opt_11 and ____opt_11.x
254
+ end
255
+ setTextTagPos(____ensureHandle_result_14, ____self__106_13 or 0, y, 0)
256
+ self[107] = y
257
+ self[100] = nil
258
+ unitTextTags[self] = nil
259
+ end
260
+ },
261
+ true
262
+ )
45
263
  TextTag.BASE = {
46
264
  fadepoint = 2,
47
265
  lifespan = 3,
@@ -106,4 +324,26 @@ TextTag.SHADOW_STRIKE = __TS__ObjectAssign(
106
324
  lifespan = 5
107
325
  }
108
326
  )
327
+ Timer.onPeriod[1 / 64]:addListener(function()
328
+ for textTag in pairs(unitTextTags) do
329
+ local unit = textTag[100].handle
330
+ local x = getUnitX(unit)
331
+ local y = getUnitY(unit)
332
+ local ____, ____, isInView = worldCoordinatesToFrame(
333
+ x,
334
+ y,
335
+ getUnitFlyHeight(unit) + getTerrainZ(x, y)
336
+ )
337
+ if isInView and not isUnitHidden(unit) and not isUnitLoaded(unit) and isUnitVisible(unit, PLAYER_LOCAL_HANDLE) and unitAlive(unit) then
338
+ setTextTagPosUnit(
339
+ ensureHandle(textTag),
340
+ unit,
341
+ textTag[102].offsetZ
342
+ )
343
+ elseif textTag[101] ~= nil then
344
+ destroyTextTag(textTag[101])
345
+ textTag[101] = nil
346
+ end
347
+ end
348
+ end)
109
349
  return ____exports
package/engine/unit.d.ts CHANGED
@@ -1,9 +1,11 @@
1
1
  /** @noSelfInFile */
2
2
  import "./internal/unit";
3
+ import "./internal/unit/order";
3
4
  import "./internal/unit/ability";
4
5
  import "./internal/unit/allowed-targets";
5
6
  import "./internal/unit/buff";
6
7
  import "./internal/unit/expiration-timer";
8
+ import "./internal/unit/item";
7
9
  import "./internal/unit+ability";
8
10
  import "./internal/unit+damage";
9
11
  import "./internal/unit+rally";
@@ -15,6 +17,12 @@ import "./internal/unit-missile-launch";
15
17
  import "./internal/unit/ghost-counter";
16
18
  import "./internal/unit/invulnerability-counter";
17
19
  import "./internal/unit/detach-missiles";
20
+ import "./internal/unit/main-selected";
21
+ import "./internal/unit/add-item-to-slot-init";
22
+ import "./internal/unit/attributes";
23
+ import "./internal/unit/fly-height";
24
+ import "./internal/unit/scale";
25
+ import "./internal/unit/interrupts";
18
26
  import "./internal/unit/band-aids/ancestral-spirit-cannibalize";
19
27
  export { Unit, DamagingEvent, DamageEvent } from "./internal/unit";
20
28
  export * from "./internal/unit+damage";
package/engine/unit.lua CHANGED
@@ -1,9 +1,11 @@
1
1
  local ____exports = {}
2
2
  require("engine.internal.unit")
3
+ require("engine.internal.unit.order")
3
4
  require("engine.internal.unit.ability")
4
5
  require("engine.internal.unit.allowed-targets")
5
6
  require("engine.internal.unit.buff")
6
7
  require("engine.internal.unit.expiration-timer")
8
+ require("engine.internal.unit.item")
7
9
  require("engine.internal.unit+ability")
8
10
  require("engine.internal.unit+damage")
9
11
  require("engine.internal.unit+rally")
@@ -15,11 +17,16 @@ require("engine.internal.unit-missile-launch")
15
17
  require("engine.internal.unit.ghost-counter")
16
18
  require("engine.internal.unit.invulnerability-counter")
17
19
  require("engine.internal.unit.detach-missiles")
20
+ require("engine.internal.unit.main-selected")
21
+ require("engine.internal.unit.add-item-to-slot-init")
22
+ require("engine.internal.unit.attributes")
23
+ require("engine.internal.unit.fly-height")
24
+ require("engine.internal.unit.scale")
25
+ require("engine.internal.unit.interrupts")
18
26
  require("engine.internal.unit.band-aids.ancestral-spirit-cannibalize")
19
27
  do
20
28
  local ____unit = require("engine.internal.unit")
21
- local Unit = ____unit.Unit
22
- ____exports.Unit = Unit
29
+ ____exports.Unit = ____unit.Unit
23
30
  end
24
31
  do
25
32
  local ____export = require("engine.internal.unit+damage")
@@ -29,4 +36,12 @@ do
29
36
  end
30
37
  end
31
38
  end
39
+ do
40
+ local ____export = require("engine.internal.unit+rally")
41
+ for ____exportKey, ____exportValue in pairs(____export) do
42
+ if ____exportKey ~= "default" then
43
+ ____exports[____exportKey] = ____exportValue
44
+ end
45
+ end
46
+ end
32
47
  return ____exports
package/event.d.ts CHANGED
@@ -1,6 +1,5 @@
1
- /// <reference types="@typescript-to-lua/language-extensions" />
2
1
  /** @noSelfInFile */
3
- export type EventListener<T extends any[]> = (...args: T) => void;
2
+ export type EventListener<T extends any[]> = (this: void, ...args: T) => void;
4
3
  export declare const enum EventListenerPriority {
5
4
  LOWEST = 0,
6
5
  LOW = 1,
@@ -38,7 +37,7 @@ export type EventDispatchTable<EventType extends Event<any>, KeyType extends num
38
37
  };
39
38
  export type DispatchingEvent<P extends any[], T extends Event<P> = Event<P>, S extends Event<P> = Event<P>> = T & EventDispatchTable<S>;
40
39
  export declare const createDispatchingEvent: {
41
- <T extends Event<any>, S extends Event<EventParameters<T>>>(underlyingEvent: T, extractKey: (...args: EventParameters<T>) => number, ...createEvent: [...(Event<any> extends S ? [(() => S)?] : [() => S])]): DispatchingEvent<EventParameters<T>, T>;
40
+ <T extends Event<any>, S extends Event<EventParameters<T>>>(underlyingEvent: T, extractKey: (this: void, ...args: EventParameters<T>) => number, invokeEvent?: (this: void, event: S, ...args: EventParameters<T>) => unknown, ...createEvent: [...(Event<any> extends S ? [((this: void) => S)?] : [(this: void) => S])]): DispatchingEvent<EventParameters<T>, T, S>;
42
41
  };
43
42
  export declare class DependentInitializingEvent<T extends any[], R extends any[]> extends InitializingEvent<R, EventListener<T>> {
44
43
  constructor(underlyingEvent: Event<T>, priority: EventListenerPriority, collector: (...args: T) => LuaMultiReturn<[false] | [true, ...R]>);
package/event.lua CHANGED
@@ -146,8 +146,13 @@ function TriggerEvent.prototype.____constructor(self, r, c)
146
146
  end
147
147
  )
148
148
  end
149
- ____exports.createDispatchingEvent = function(underlyingEvent, extractKey, createEvent)
150
- local actualCreateEvent = createEvent or (function() return __TS__New(____exports.Event) end)
149
+ ____exports.createDispatchingEvent = function(underlyingEvent, extractKey, invokeEvent, createEvent)
150
+ if invokeEvent == nil then
151
+ invokeEvent = ____exports.Event.invoke
152
+ end
153
+ if createEvent == nil then
154
+ createEvent = function() return __TS__New(____exports.Event) end
155
+ end
151
156
  local initialized = false
152
157
  return setmetatable(
153
158
  {},
@@ -157,17 +162,16 @@ ____exports.createDispatchingEvent = function(underlyingEvent, extractKey, creat
157
162
  return underlyingEvent[id]
158
163
  end
159
164
  if not initialized then
160
- local invoke = ____exports.Event.invoke
161
165
  underlyingEvent:addListener(function(...)
162
166
  local key = extractKey(...)
163
167
  local event = rawget(self, key)
164
168
  if event then
165
- invoke(event, ...)
169
+ invokeEvent(event, ...)
166
170
  end
167
171
  end)
168
172
  initialized = true
169
173
  end
170
- local event = actualCreateEvent()
174
+ local event = createEvent()
171
175
  rawset(self, id, event)
172
176
  return event
173
177
  end,
package/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  /** @noSelfInFile */
2
2
  import "./types";
3
+ import "./patch-lua";
3
4
  import "./patch-lualib";
4
5
  import "./patch-natives";
5
6
  import "./global/math";
package/index.lua CHANGED
@@ -1,5 +1,6 @@
1
1
  local ____exports = {}
2
2
  require("types")
3
+ require("patch-lua")
3
4
  require("patch-lualib")
4
5
  require("patch-natives")
5
6
  require("global.math")