warscript 0.0.1-dev.64cec8d → 0.0.1-dev.6564df4

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 (172) hide show
  1. package/attributes.d.ts +5 -0
  2. package/attributes.lua +8 -1
  3. package/config.d.ts +5 -0
  4. package/config.lua +10 -0
  5. package/core/types/effect.d.ts +1 -3
  6. package/core/types/effect.lua +26 -29
  7. package/core/types/frame.lua +10 -12
  8. package/core/types/player.lua +3 -1
  9. package/core/types/playerCamera.d.ts +2 -0
  10. package/core/types/playerCamera.lua +79 -5
  11. package/core/types/sound.d.ts +17 -24
  12. package/core/types/sound.lua +99 -24
  13. package/core/types/timer.d.ts +8 -8
  14. package/core/types/timer.lua +39 -23
  15. package/core/util.lua +6 -1
  16. package/decl/native.d.ts +844 -788
  17. package/engine/behavior.d.ts +2 -0
  18. package/engine/behavior.lua +53 -27
  19. package/engine/behaviour/ability/apply-buff.d.ts +5 -0
  20. package/engine/behaviour/ability/apply-buff.lua +32 -0
  21. package/engine/behaviour/ability/apply-unit-behavior.lua +1 -0
  22. package/engine/behaviour/ability/damage.d.ts +9 -3
  23. package/engine/behaviour/ability/damage.lua +26 -38
  24. package/engine/behaviour/ability/emulate-impact.d.ts +1 -1
  25. package/engine/behaviour/ability/emulate-impact.lua +22 -8
  26. package/engine/behaviour/ability/restore-mana.d.ts +1 -1
  27. package/engine/behaviour/ability/restore-mana.lua +6 -6
  28. package/engine/behaviour/ability.d.ts +12 -3
  29. package/engine/behaviour/ability.lua +74 -24
  30. package/engine/behaviour/unit/stun-immunity.d.ts +5 -3
  31. package/engine/behaviour/unit/stun-immunity.lua +43 -27
  32. package/engine/behaviour/unit.d.ts +32 -0
  33. package/engine/behaviour/unit.lua +185 -4
  34. package/engine/buff.d.ts +57 -44
  35. package/engine/buff.lua +273 -221
  36. package/engine/internal/ability.d.ts +7 -1
  37. package/engine/internal/ability.lua +64 -24
  38. package/engine/internal/item/ability.lua +110 -20
  39. package/engine/internal/item+owner.lua +12 -6
  40. package/engine/internal/item.d.ts +7 -4
  41. package/engine/internal/item.lua +141 -35
  42. package/engine/internal/mechanics/ability-duration.lua +1 -1
  43. package/engine/internal/misc/damage-metadata-by-target.d.ts +2 -0
  44. package/engine/internal/misc/damage-metadata-by-target.lua +5 -0
  45. package/engine/internal/misc/frame-coordinates.d.ts +2 -0
  46. package/engine/internal/misc/frame-coordinates.lua +21 -0
  47. package/engine/internal/misc/get-terrain-z.d.ts +2 -0
  48. package/engine/internal/misc/get-terrain-z.lua +11 -0
  49. package/engine/internal/misc/player-local-handle.d.ts +2 -0
  50. package/engine/internal/misc/player-local-handle.lua +5 -0
  51. package/engine/internal/object-data/auto-attack-speed-increase.d.ts +1 -1
  52. package/engine/internal/object-data/auto-attack-speed-increase.lua +2 -0
  53. package/engine/internal/object-data/evasion-probability.d.ts +2 -0
  54. package/engine/internal/object-data/evasion-probability.lua +16 -0
  55. package/engine/internal/unit/ability.d.ts +35 -0
  56. package/engine/internal/unit/ability.lua +62 -0
  57. package/engine/internal/unit/add-item-to-slot-init.d.ts +2 -0
  58. package/engine/internal/unit/add-item-to-slot-init.lua +23 -0
  59. package/engine/internal/unit/add-item-to-slot.d.ts +2 -0
  60. package/engine/internal/unit/add-item-to-slot.lua +52 -0
  61. package/engine/internal/unit/allowed-targets.d.ts +1 -1
  62. package/engine/internal/unit/allowed-targets.lua +9 -1
  63. package/engine/internal/unit/bonus.d.ts +2 -0
  64. package/engine/internal/unit/bonus.lua +17 -0
  65. package/engine/internal/unit/ignore-events-items.d.ts +2 -0
  66. package/engine/internal/unit/ignore-events-items.lua +5 -0
  67. package/engine/internal/unit/item.lua +3 -4
  68. package/engine/internal/unit/order.d.ts +20 -0
  69. package/engine/internal/unit/order.lua +136 -0
  70. package/engine/internal/unit+ability.lua +10 -1
  71. package/engine/internal/unit+damage.d.ts +2 -11
  72. package/engine/internal/unit+damage.lua +10 -14
  73. package/engine/internal/unit+spellSteal.lua +1 -2
  74. package/engine/internal/unit-missile-launch.lua +9 -2
  75. package/engine/internal/unit.d.ts +31 -8
  76. package/engine/internal/unit.lua +290 -115
  77. package/engine/lightning.d.ts +12 -5
  78. package/engine/lightning.lua +48 -14
  79. package/engine/object-data/auxiliary/animation-name.d.ts +1 -0
  80. package/engine/object-data/auxiliary/animation-name.lua +16 -0
  81. package/engine/object-data/auxiliary/armor-type.d.ts +11 -0
  82. package/engine/object-data/auxiliary/armor-type.lua +46 -0
  83. package/engine/object-data/auxiliary/attachment-preset.d.ts +7 -2
  84. package/engine/object-data/auxiliary/attachment-preset.lua +4 -3
  85. package/engine/object-data/auxiliary/attack-type.d.ts +7 -8
  86. package/engine/object-data/auxiliary/attack-type.lua +42 -0
  87. package/engine/object-data/auxiliary/movement-type.d.ts +7 -7
  88. package/engine/object-data/auxiliary/movement-type.lua +22 -0
  89. package/engine/object-data/auxiliary/sound-eax.d.ts +10 -0
  90. package/engine/object-data/auxiliary/sound-eax.lua +2 -0
  91. package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +1 -1
  92. package/engine/object-data/auxiliary/unit-attribute.d.ts +6 -0
  93. package/engine/object-data/auxiliary/unit-attribute.lua +9 -0
  94. package/engine/object-data/entry/ability-type/berserk.d.ts +2 -0
  95. package/engine/object-data/entry/ability-type/berserk.lua +13 -0
  96. package/engine/object-data/entry/ability-type/blank-configurable.lua +12 -1
  97. package/engine/object-data/entry/ability-type/carrion-swarm.d.ts +14 -0
  98. package/engine/object-data/entry/ability-type/carrion-swarm.lua +65 -0
  99. package/engine/object-data/entry/ability-type/disease-cloud.lua +2 -2
  100. package/engine/object-data/entry/ability-type/engineering-upgrade.lua +2 -2
  101. package/engine/object-data/entry/ability-type/ensnare.d.ts +12 -0
  102. package/engine/object-data/entry/ability-type/ensnare.lua +52 -0
  103. package/engine/object-data/entry/ability-type/feral-spirit.lua +2 -2
  104. package/engine/object-data/entry/ability-type/permanent-invisibility.d.ts +8 -0
  105. package/engine/object-data/entry/ability-type/permanent-invisibility.lua +26 -0
  106. package/engine/object-data/entry/ability-type/phase-shift.d.ts +10 -0
  107. package/engine/object-data/entry/ability-type/phase-shift.lua +39 -0
  108. package/engine/object-data/entry/ability-type/phoenix-morph.lua +4 -4
  109. package/engine/object-data/entry/ability-type/raise-dead.d.ts +17 -0
  110. package/engine/object-data/entry/ability-type/raise-dead.lua +78 -0
  111. package/engine/object-data/entry/ability-type/shock-wave.d.ts +4 -0
  112. package/engine/object-data/entry/ability-type/shock-wave.lua +26 -0
  113. package/engine/object-data/entry/ability-type/slow-poison.d.ts +10 -0
  114. package/engine/object-data/entry/ability-type/slow-poison.lua +58 -0
  115. package/engine/object-data/entry/ability-type/summon-quilbeast.lua +2 -2
  116. package/engine/object-data/entry/ability-type/summon-water-elemental.lua +2 -2
  117. package/engine/object-data/entry/ability-type/web.d.ts +12 -0
  118. package/engine/object-data/entry/ability-type/web.lua +52 -0
  119. package/engine/object-data/entry/ability-type.d.ts +20 -17
  120. package/engine/object-data/entry/ability-type.lua +164 -39
  121. package/engine/object-data/entry/buff-type/applicable.lua +18 -37
  122. package/engine/object-data/entry/buff-type.d.ts +6 -12
  123. package/engine/object-data/entry/buff-type.lua +13 -29
  124. package/engine/object-data/entry/destructible-type.d.ts +1 -1
  125. package/engine/object-data/entry/item-type.d.ts +1 -1
  126. package/engine/object-data/entry/item-type.lua +4 -4
  127. package/engine/object-data/entry/lightning-type.d.ts +1 -1
  128. package/engine/object-data/entry/sound-preset.d.ts +33 -0
  129. package/engine/object-data/entry/sound-preset.lua +140 -0
  130. package/engine/object-data/entry/unit-type.d.ts +21 -5
  131. package/engine/object-data/entry/unit-type.lua +214 -93
  132. package/engine/object-data/entry/upgrade.d.ts +1 -1
  133. package/engine/object-data/entry/upgrade.lua +4 -4
  134. package/engine/object-data/entry.d.ts +16 -14
  135. package/engine/object-data/entry.lua +60 -32
  136. package/engine/object-data/utility/object-data-entry-id-generator.lua +7 -0
  137. package/engine/object-field/ability.d.ts +8 -5
  138. package/engine/object-field/ability.lua +8 -4
  139. package/engine/object-field/unit.d.ts +57 -3
  140. package/engine/object-field/unit.lua +207 -7
  141. package/engine/object-field.d.ts +17 -6
  142. package/engine/object-field.lua +190 -90
  143. package/engine/standard/entries/buff-type.d.ts +3 -0
  144. package/engine/standard/entries/buff-type.lua +3 -0
  145. package/engine/standard/entries/sound-preset.d.ts +10 -0
  146. package/engine/standard/entries/sound-preset.lua +10 -0
  147. package/engine/standard/fields/unit.d.ts +4 -0
  148. package/engine/standard/fields/unit.lua +7 -0
  149. package/engine/text-tag.d.ts +36 -2
  150. package/engine/text-tag.lua +249 -10
  151. package/engine/unit.d.ts +2 -0
  152. package/engine/unit.lua +2 -0
  153. package/objutil/buff.lua +1 -2
  154. package/objutil/unit.lua +8 -0
  155. package/package.json +2 -2
  156. package/utility/arrays.d.ts +1 -0
  157. package/utility/arrays.lua +3 -0
  158. package/utility/callback-array.d.ts +13 -0
  159. package/utility/callback-array.lua +46 -0
  160. package/utility/functions.d.ts +8 -0
  161. package/utility/functions.lua +13 -0
  162. package/utility/linked-set.d.ts +1 -0
  163. package/utility/linked-set.lua +3 -0
  164. package/utility/lua-maps.d.ts +4 -0
  165. package/utility/lua-maps.lua +20 -0
  166. package/utility/lua-sets.d.ts +2 -0
  167. package/utility/lua-sets.lua +7 -0
  168. package/utility/reflection.lua +11 -7
  169. package/core/types/order.d.ts +0 -25
  170. package/core/types/order.lua +0 -55
  171. package/engine/object-data/entry/ability-type-effects.d.ts +0 -2
  172. package/engine/object-data/entry/ability-type-effects.lua +0 -89
@@ -1,55 +0,0 @@
1
- local ____lualib = require("lualib_bundle")
2
- local __TS__ObjectDefineProperty = ____lualib.__TS__ObjectDefineProperty
3
- local ____exports = {}
4
- local ____unit = require("core.types.unit")
5
- local Unit = ____unit.Unit
6
- local getUnitCurrentOrder = GetUnitCurrentOrder
7
- local orders = setmetatable({}, {__mode = "k"})
8
- Unit.onImmediateOrder:addListener(function(unit, orderId)
9
- orders[unit] = {id = orderId, startX = unit.x, startY = unit.y, type = "immediate"}
10
- end)
11
- Unit.onPointOrder:addListener(function(unit, orderId, x, y)
12
- orders[unit] = {
13
- id = orderId,
14
- startX = unit.x,
15
- startY = unit.y,
16
- type = "point",
17
- targetX = x,
18
- targetY = y
19
- }
20
- end)
21
- Unit.onTargetOrder:addListener(function(unit, orderId, target)
22
- orders[unit] = {
23
- id = orderId,
24
- startX = unit.x,
25
- startY = unit.y,
26
- type = "target",
27
- target = target
28
- }
29
- end)
30
- __TS__ObjectDefineProperty(
31
- Unit.prototype,
32
- "currentOrder",
33
- {get = function(self)
34
- local currentOrderId = getUnitCurrentOrder(self.handle)
35
- local lastOrder = orders[self]
36
- return lastOrder and (lastOrder.id == currentOrderId or currentOrderId == orderId("patrolAI") and lastOrder.id == orderId("patrol")) and lastOrder or ({id = 0, type = "immediate"})
37
- end}
38
- )
39
- __TS__ObjectDefineProperty(
40
- Unit.prototype,
41
- "lastOrder",
42
- {get = function(self)
43
- return orders[self] or ({id = 0, type = "immediate"})
44
- end}
45
- )
46
- Unit.prototype.issueOrder = function(self, order)
47
- if order.type == "immediate" then
48
- IssueImmediateOrderById(self.handle, order.id)
49
- elseif order.type == "point" then
50
- IssuePointOrderById(self.handle, order.id, order.targetX, order.targetY)
51
- else
52
- IssueTargetOrderById(self.handle, order.id, order.target.handle)
53
- end
54
- end
55
- return ____exports
@@ -1,2 +0,0 @@
1
- /** @noSelfInFile */
2
- import "../../internal/unit/ability";
@@ -1,89 +0,0 @@
1
- local ____exports = {}
2
- local ____unit = require("engine.internal.unit")
3
- local Unit = ____unit.Unit
4
- require("engine.internal.unit.ability")
5
- local ____timer = require("core.types.timer")
6
- local Timer = ____timer.Timer
7
- local ____effect = require("core.types.effect")
8
- local Effect = ____effect.Effect
9
- local ____ability_2Dtype = require("engine.object-data.entry.ability-type")
10
- local casterCastingEffectAttachmentPointsByAbilityTypeId = ____ability_2Dtype.casterCastingEffectAttachmentPointsByAbilityTypeId
11
- local casterCastingEffectModelPathsByAbilityTypeId = ____ability_2Dtype.casterCastingEffectModelPathsByAbilityTypeId
12
- local casterChannelingEffectAttachmentPointsByAbilityTypeId = ____ability_2Dtype.casterChannelingEffectAttachmentPointsByAbilityTypeId
13
- local casterChannelingEffectModelPathsByAbilityTypeId = ____ability_2Dtype.casterChannelingEffectModelPathsByAbilityTypeId
14
- local castAnimationFQNByAbilityTypeId = {}
15
- for abilityTypeId, animationFQN in pairs(postcompile(function() return castAnimationFQNByAbilityTypeId end)) do
16
- Unit.abilityCastingStartEvent[abilityTypeId]:addListener(
17
- 4,
18
- function(caster, ability)
19
- if ability:getField(ABILITY_RLF_CASTING_TIME) ~= 0 then
20
- Timer:run(function()
21
- caster:playAnimation(animationFQN)
22
- end)
23
- end
24
- end
25
- )
26
- end
27
- local casterCastingEffectsByCaster = {}
28
- local function handleAbilityCastingStartEvent(caster, ability)
29
- local effectModelPaths = casterCastingEffectModelPathsByAbilityTypeId[ability.typeId]
30
- local attachmentPoints = casterCastingEffectAttachmentPointsByAbilityTypeId[ability.typeId]
31
- local effects = {}
32
- if effectModelPaths ~= nil then
33
- for i = 1, #effectModelPaths do
34
- local effectModelPath = effectModelPaths[i]
35
- local attachmentPoint = attachmentPoints and attachmentPoints[i]
36
- if attachmentPoint == nil or attachmentPoint == "" then
37
- attachmentPoint = "origin"
38
- end
39
- effects[i] = Effect:createTarget(effectModelPath, caster, attachmentPoint)
40
- end
41
- end
42
- casterCastingEffectsByCaster[caster] = effects
43
- end
44
- local function handleAbilityStopCastingEvent(caster)
45
- local effects = casterCastingEffectsByCaster[caster]
46
- if effects ~= nil then
47
- for i = 1, #effects do
48
- effects[i]:destroy()
49
- end
50
- casterCastingEffectsByCaster[caster] = nil
51
- end
52
- end
53
- for abilityTypeId in pairs(casterCastingEffectModelPathsByAbilityTypeId) do
54
- Unit.abilityCastingStartEvent[abilityTypeId]:addListener(4, handleAbilityCastingStartEvent)
55
- Unit.abilityChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityStopCastingEvent)
56
- Unit.abilityStopEvent[abilityTypeId]:addListener(4, handleAbilityStopCastingEvent)
57
- end
58
- local casterChannelingEffectsByCaster = {}
59
- local function handleAbilityChannelingStartEvent(caster, ability)
60
- local effectModelPaths = casterChannelingEffectModelPathsByAbilityTypeId[ability.typeId]
61
- local attachmentPoints = casterChannelingEffectAttachmentPointsByAbilityTypeId[ability.typeId]
62
- local effects = {}
63
- if effectModelPaths ~= nil then
64
- for i = 1, #effectModelPaths do
65
- local effectModelPath = effectModelPaths[i]
66
- local attachmentPoint = attachmentPoints and attachmentPoints[i]
67
- if attachmentPoint == nil or attachmentPoint == "" then
68
- attachmentPoint = "origin"
69
- end
70
- effects[i] = Effect:createTarget(effectModelPath, caster, attachmentPoint)
71
- end
72
- end
73
- casterChannelingEffectsByCaster[caster] = effects
74
- end
75
- local function handleAbilityStopChannelingEvent(caster)
76
- local effects = casterChannelingEffectsByCaster[caster]
77
- if effects ~= nil then
78
- for i = 1, #effects do
79
- effects[i]:destroy()
80
- end
81
- casterChannelingEffectsByCaster[caster] = nil
82
- end
83
- end
84
- for abilityTypeId in pairs(casterChannelingEffectModelPathsByAbilityTypeId) do
85
- Unit.abilityChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityChannelingStartEvent)
86
- Unit.abilityChannelingFinishEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
87
- Unit.abilityStopEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
88
- end
89
- return ____exports