warscript 0.0.1-dev.a58cc52 → 0.0.1-dev.a73c979

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 (54) hide show
  1. package/attributes.d.ts +5 -0
  2. package/attributes.lua +8 -1
  3. package/core/types/timer.d.ts +1 -1
  4. package/engine/behavior.d.ts +2 -0
  5. package/engine/behavior.lua +53 -27
  6. package/engine/behaviour/ability/apply-buff.lua +1 -1
  7. package/engine/behaviour/ability/damage.d.ts +4 -2
  8. package/engine/behaviour/ability/damage.lua +24 -36
  9. package/engine/behaviour/ability/emulate-impact.d.ts +1 -1
  10. package/engine/behaviour/ability/emulate-impact.lua +11 -3
  11. package/engine/behaviour/ability.lua +8 -17
  12. package/engine/behaviour/unit/stun-immunity.d.ts +5 -3
  13. package/engine/behaviour/unit/stun-immunity.lua +43 -27
  14. package/engine/behaviour/unit.d.ts +26 -0
  15. package/engine/behaviour/unit.lua +163 -4
  16. package/engine/buff.d.ts +2 -1
  17. package/engine/buff.lua +9 -3
  18. package/engine/internal/ability.d.ts +4 -0
  19. package/engine/internal/ability.lua +23 -0
  20. package/engine/internal/item/ability.lua +63 -11
  21. package/engine/internal/item.d.ts +3 -1
  22. package/engine/internal/item.lua +75 -3
  23. package/engine/internal/misc/damage-metadata-by-target.d.ts +2 -0
  24. package/engine/internal/misc/damage-metadata-by-target.lua +5 -0
  25. package/engine/internal/unit/ability.d.ts +35 -0
  26. package/engine/internal/unit/ability.lua +62 -0
  27. package/engine/internal/unit/allowed-targets.d.ts +1 -1
  28. package/engine/internal/unit/allowed-targets.lua +9 -1
  29. package/engine/internal/unit/order.d.ts +20 -0
  30. package/engine/internal/unit/order.lua +136 -0
  31. package/engine/internal/unit+damage.d.ts +1 -1
  32. package/engine/internal/unit+damage.lua +6 -1
  33. package/engine/internal/unit-missile-launch.lua +1 -1
  34. package/engine/internal/unit.d.ts +14 -3
  35. package/engine/internal/unit.lua +193 -90
  36. package/engine/object-data/entry/ability-type/permanent-invisibility.d.ts +8 -0
  37. package/engine/object-data/entry/ability-type/permanent-invisibility.lua +26 -0
  38. package/engine/object-field/unit.d.ts +11 -0
  39. package/engine/object-field/unit.lua +34 -0
  40. package/engine/object-field.d.ts +6 -3
  41. package/engine/object-field.lua +85 -73
  42. package/engine/standard/fields/unit.d.ts +4 -0
  43. package/engine/standard/fields/unit.lua +7 -0
  44. package/engine/text-tag.d.ts +36 -2
  45. package/engine/text-tag.lua +175 -10
  46. package/engine/unit.d.ts +1 -0
  47. package/engine/unit.lua +1 -0
  48. package/package.json +2 -2
  49. package/utility/functions.d.ts +5 -0
  50. package/utility/functions.lua +5 -0
  51. package/utility/lua-maps.d.ts +1 -0
  52. package/utility/lua-maps.lua +4 -0
  53. package/core/types/order.d.ts +0 -25
  54. package/core/types/order.lua +0 -55
@@ -1,25 +0,0 @@
1
- /** @noSelfInFile */
2
- import { Unit } from "./unit";
3
- import { Item } from "./item";
4
- import { Destructable } from "./destructable";
5
- export type Order = {
6
- id: number;
7
- startX: number;
8
- startY: number;
9
- } & ({
10
- type: "immediate";
11
- } | {
12
- type: "point";
13
- targetX: number;
14
- targetY: number;
15
- } | {
16
- type: "target";
17
- target: Unit | Item | Destructable;
18
- });
19
- declare module "../../engine/internal/unit" {
20
- interface Unit {
21
- readonly currentOrder: Order;
22
- readonly lastOrder: Order;
23
- issueOrder(order: Order): void;
24
- }
25
- }
@@ -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