warscript 0.0.1-dev.70ae346 → 0.0.1-dev.738793

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 (80) hide show
  1. package/core/types/effect.d.ts +1 -3
  2. package/core/types/effect.lua +26 -29
  3. package/core/types/sound.d.ts +17 -25
  4. package/core/types/sound.lua +91 -46
  5. package/core/types/timer.d.ts +6 -7
  6. package/core/types/timer.lua +18 -21
  7. package/core/util.lua +6 -1
  8. package/decl/native.d.ts +840 -786
  9. package/engine/behaviour/ability/apply-unit-behavior.lua +1 -0
  10. package/engine/behaviour/ability/damage.d.ts +5 -1
  11. package/engine/behaviour/ability/damage.lua +2 -2
  12. package/engine/behaviour/ability/emulate-impact.lua +7 -0
  13. package/engine/behaviour/ability.d.ts +5 -1
  14. package/engine/behaviour/ability.lua +18 -4
  15. package/engine/behaviour/unit.d.ts +2 -0
  16. package/engine/buff.d.ts +13 -8
  17. package/engine/buff.lua +81 -50
  18. package/engine/internal/item.d.ts +2 -1
  19. package/engine/internal/mechanics/ability-duration.lua +1 -1
  20. package/engine/internal/unit+damage.d.ts +1 -10
  21. package/engine/internal/unit+damage.lua +4 -13
  22. package/engine/internal/unit+spellSteal.lua +1 -2
  23. package/engine/internal/unit.d.ts +14 -2
  24. package/engine/internal/unit.lua +54 -17
  25. package/engine/object-data/auxiliary/attachment-preset.d.ts +7 -2
  26. package/engine/object-data/auxiliary/attachment-preset.lua +4 -3
  27. package/engine/object-data/auxiliary/attack-type.d.ts +7 -8
  28. package/engine/object-data/auxiliary/attack-type.lua +42 -0
  29. package/engine/object-data/auxiliary/movement-type.d.ts +7 -7
  30. package/engine/object-data/auxiliary/movement-type.lua +22 -0
  31. package/engine/object-data/auxiliary/sound-eax.d.ts +10 -0
  32. package/engine/object-data/auxiliary/sound-eax.lua +2 -0
  33. package/engine/object-data/auxiliary/unit-attribute.d.ts +6 -0
  34. package/engine/object-data/auxiliary/unit-attribute.lua +9 -0
  35. package/engine/object-data/entry/ability-type/berserk.d.ts +2 -0
  36. package/engine/object-data/entry/ability-type/berserk.lua +13 -0
  37. package/engine/object-data/entry/ability-type/blank-configurable.lua +0 -9
  38. package/engine/object-data/entry/ability-type/carrion-swarm.d.ts +14 -0
  39. package/engine/object-data/entry/ability-type/carrion-swarm.lua +65 -0
  40. package/engine/object-data/entry/ability-type/curse.lua +2 -2
  41. package/engine/object-data/entry/ability-type/ensnare.d.ts +12 -0
  42. package/engine/object-data/entry/ability-type/ensnare.lua +52 -0
  43. package/engine/object-data/entry/ability-type/phase-shift.d.ts +10 -0
  44. package/engine/object-data/entry/ability-type/phase-shift.lua +39 -0
  45. package/engine/object-data/entry/ability-type/raise-dead.d.ts +17 -0
  46. package/engine/object-data/entry/ability-type/raise-dead.lua +78 -0
  47. package/engine/object-data/entry/ability-type/shock-wave.d.ts +4 -0
  48. package/engine/object-data/entry/ability-type/shock-wave.lua +26 -0
  49. package/engine/object-data/entry/ability-type/slow-poison.d.ts +10 -0
  50. package/engine/object-data/entry/ability-type/slow-poison.lua +58 -0
  51. package/engine/object-data/entry/ability-type/web.d.ts +12 -0
  52. package/engine/object-data/entry/ability-type/web.lua +52 -0
  53. package/engine/object-data/entry/ability-type.d.ts +13 -11
  54. package/engine/object-data/entry/ability-type.lua +65 -6
  55. package/engine/object-data/entry/buff-type/applicable.lua +5 -0
  56. package/engine/object-data/entry/buff-type.d.ts +5 -11
  57. package/engine/object-data/entry/buff-type.lua +11 -27
  58. package/engine/object-data/entry/sound-preset.d.ts +17 -0
  59. package/engine/object-data/entry/sound-preset.lua +104 -0
  60. package/engine/object-data/entry/unit-type.d.ts +2 -2
  61. package/engine/object-data/entry/unit-type.lua +94 -84
  62. package/engine/object-field/ability.d.ts +1 -1
  63. package/engine/object-field/unit.d.ts +46 -3
  64. package/engine/object-field/unit.lua +173 -7
  65. package/engine/object-field.d.ts +9 -1
  66. package/engine/object-field.lua +158 -76
  67. package/engine/standard/entries/buff-type.d.ts +3 -0
  68. package/engine/standard/entries/buff-type.lua +3 -0
  69. package/objutil/buff.lua +1 -2
  70. package/package.json +2 -2
  71. package/utility/arrays.d.ts +1 -0
  72. package/utility/arrays.lua +3 -0
  73. package/utility/functions.d.ts +1 -0
  74. package/utility/functions.lua +1 -0
  75. package/utility/linked-set.d.ts +1 -0
  76. package/utility/linked-set.lua +3 -0
  77. package/utility/lua-maps.d.ts +3 -0
  78. package/utility/lua-maps.lua +16 -0
  79. package/utility/lua-sets.d.ts +1 -0
  80. package/utility/lua-sets.lua +3 -0
@@ -53,11 +53,15 @@ local ____math = require("math")
53
53
  local min = ____math.min
54
54
  local ____ignore_2Devents_2Ditems = require("engine.internal.unit.ignore-events-items")
55
55
  local ignoreEventsItems = ____ignore_2Devents_2Ditems.ignoreEventsItems
56
+ local ____attack_2Dtype = require("engine.object-data.auxiliary.attack-type")
57
+ local attackTypeToNative = ____attack_2Dtype.attackTypeToNative
58
+ local nativeToAttackType = ____attack_2Dtype.nativeToAttackType
56
59
  local match = string.match
57
60
  local ____tostring = _G.tostring
58
61
  local setUnitAnimation = SetUnitAnimation
59
62
  local setUnitAnimationWithRarity = SetUnitAnimationWithRarity
60
63
  local setUnitAnimationByIndex = SetUnitAnimationByIndex
64
+ local resetUnitAnimation = ResetUnitAnimation
61
65
  local queueUnitAnimation = QueueUnitAnimation
62
66
  local getUnitIntegerField = BlzGetUnitIntegerField
63
67
  local getUnitRealField = BlzGetUnitRealField
@@ -80,7 +84,6 @@ local getHandleId = GetHandleId
80
84
  local getUnitCurrentOrder = GetUnitCurrentOrder
81
85
  local createUnit = CreateUnit
82
86
  local killUnit = KillUnit
83
- local setUnitExploded = SetUnitExploded
84
87
  local removeUnit = RemoveUnit
85
88
  local getUnitTypeId = GetUnitTypeId
86
89
  local isHeroUnitId = IsHeroUnitId
@@ -96,8 +99,6 @@ local getSpellTargetItem = GetSpellTargetItem
96
99
  local getSpellTargetDestructable = GetSpellTargetDestructable
97
100
  local isUnitInRangeXY = IsUnitInRangeXY
98
101
  local isUnitInRange = IsUnitInRange
99
- local setResourceAmount = SetResourceAmount
100
- local getResourceAmount = GetResourceAmount
101
102
  local getUnitWeaponRealField = BlzGetUnitWeaponRealField
102
103
  local setUnitWeaponRealField = BlzSetUnitWeaponRealField
103
104
  local getUnitWeaponStringField = BlzGetUnitWeaponStringField
@@ -128,8 +129,6 @@ local isUnitType = IsUnitType
128
129
  local isUnitAlly = IsUnitAlly
129
130
  local isUnitEnemy = IsUnitEnemy
130
131
  local getOwningPlayer = GetOwningPlayer
131
- local setUnitColor = SetUnitColor
132
- local showUnitTeamGlow = BlzShowUnitTeamGlow
133
132
  ____exports.UnitClassification = {}
134
133
  local UnitClassification = ____exports.UnitClassification
135
134
  do
@@ -357,7 +356,14 @@ local function damageEventPreventDeath(self, callback, ...)
357
356
  rawset(self, 1 + i, (select(i, ...)))
358
357
  end
359
358
  end
360
- local damageSetters = {amount = BlzSetEventDamage, attackType = BlzSetEventAttackType, damageType = BlzSetEventDamageType, weaponType = BlzSetEventWeaponType}
359
+ local damageSetters = {
360
+ amount = BlzSetEventDamage,
361
+ attackType = function(attackType)
362
+ return BlzSetEventAttackType(attackTypeToNative(attackType))
363
+ end,
364
+ damageType = BlzSetEventDamageType,
365
+ weaponType = BlzSetEventWeaponType
366
+ }
361
367
  local jlimitopByOperator = {
362
368
  [0] = LESS_THAN_OR_EQUAL,
363
369
  [1] = LESS_THAN_OR_EQUAL,
@@ -680,6 +686,8 @@ function Unit.prototype.getEvent(self, event, collector)
680
686
  end
681
687
  function Unit.prototype.onDestroy(self)
682
688
  local handle = self.handle
689
+ self[107] = getUnitX(handle)
690
+ self[108] = getUnitY(handle)
683
691
  if not self._owner then
684
692
  self._owner = Player:of(getOwningPlayer(handle))
685
693
  end
@@ -795,6 +803,9 @@ function Unit.prototype.playAnimation(self, animation, rarity)
795
803
  setUnitAnimation(self.handle, animation)
796
804
  end
797
805
  end
806
+ function Unit.prototype.resetAnimation(self)
807
+ resetUnitAnimation(self.handle)
808
+ end
798
809
  function Unit.prototype.queueAnimation(self, animation)
799
810
  queueUnitAnimation(self.handle, animation)
800
811
  end
@@ -809,7 +820,7 @@ function Unit.prototype.isSelected(self, player)
809
820
  return IsUnitSelected(self.handle, player.handle)
810
821
  end
811
822
  function Unit.prototype.explode(self)
812
- setUnitExploded(self.handle, true)
823
+ SetUnitExploded(self.handle, true)
813
824
  killUnit(self.handle)
814
825
  end
815
826
  function Unit.prototype.kill(self)
@@ -1286,6 +1297,19 @@ __TS__SetDescriptor(
1286
1297
  },
1287
1298
  true
1288
1299
  )
1300
+ __TS__SetDescriptor(
1301
+ Unit.prototype,
1302
+ "primaryAttribute",
1303
+ {
1304
+ get = function(self)
1305
+ return getUnitIntegerField(self.handle, UNIT_IF_PRIMARY_ATTRIBUTE)
1306
+ end,
1307
+ set = function(self, primaryAttribute)
1308
+ setUnitIntegerField(self.handle, UNIT_IF_PRIMARY_ATTRIBUTE, primaryAttribute)
1309
+ end
1310
+ },
1311
+ true
1312
+ )
1289
1313
  __TS__SetDescriptor(
1290
1314
  Unit.prototype,
1291
1315
  "strengthBase",
@@ -1410,7 +1434,7 @@ __TS__SetDescriptor(
1410
1434
  return not self[106]
1411
1435
  end,
1412
1436
  set = function(self, isTeamGlowVisible)
1413
- showUnitTeamGlow(self.handle, isTeamGlowVisible)
1437
+ BlzShowUnitTeamGlow(self.handle, isTeamGlowVisible)
1414
1438
  local ____temp_6
1415
1439
  if not isTeamGlowVisible then
1416
1440
  ____temp_6 = true
@@ -1426,9 +1450,9 @@ __TS__SetDescriptor(
1426
1450
  Unit.prototype,
1427
1451
  "color",
1428
1452
  {set = function(self, color)
1429
- setUnitColor(self.handle, color.handle)
1453
+ SetUnitColor(self.handle, color.handle)
1430
1454
  if self[106] then
1431
- showUnitTeamGlow(self.handle, false)
1455
+ BlzShowUnitTeamGlow(self.handle, false)
1432
1456
  end
1433
1457
  end},
1434
1458
  true
@@ -1597,7 +1621,7 @@ __TS__SetDescriptor(
1597
1621
  "x",
1598
1622
  {
1599
1623
  get = function(self)
1600
- return getUnitX(self.handle)
1624
+ return self[107] or getUnitX(self.handle)
1601
1625
  end,
1602
1626
  set = function(self, v)
1603
1627
  SetUnitX(self.handle, v)
@@ -1610,7 +1634,7 @@ __TS__SetDescriptor(
1610
1634
  "y",
1611
1635
  {
1612
1636
  get = function(self)
1613
- return getUnitY(self.handle)
1637
+ return self[108] or getUnitY(self.handle)
1614
1638
  end,
1615
1639
  set = function(self, v)
1616
1640
  SetUnitY(self.handle, v)
@@ -1696,10 +1720,10 @@ __TS__SetDescriptor(
1696
1720
  "gold",
1697
1721
  {
1698
1722
  get = function(self)
1699
- return getResourceAmount(self.handle)
1723
+ return GetResourceAmount(self.handle)
1700
1724
  end,
1701
1725
  set = function(self, gold)
1702
- setResourceAmount(self.handle, gold)
1726
+ SetResourceAmount(self.handle, gold)
1703
1727
  end
1704
1728
  },
1705
1729
  true
@@ -1827,6 +1851,19 @@ __TS__SetDescriptor(
1827
1851
  end},
1828
1852
  true
1829
1853
  )
1854
+ __TS__SetDescriptor(
1855
+ Unit.prototype,
1856
+ "movementType",
1857
+ {
1858
+ get = function(self)
1859
+ return getUnitIntegerField(self.handle, UNIT_IF_MOVE_TYPE)
1860
+ end,
1861
+ set = function(self, movementType)
1862
+ setUnitIntegerField(self.handle, UNIT_IF_MOVE_TYPE, movementType)
1863
+ end
1864
+ },
1865
+ true
1866
+ )
1830
1867
  __TS__SetDescriptor(
1831
1868
  Unit.prototype,
1832
1869
  "pathing",
@@ -2372,7 +2409,7 @@ Unit.onDamaging = (function()
2372
2409
  local target = BlzGetEventDamageTarget()
2373
2410
  local data = {
2374
2411
  amount = GetEventDamage(),
2375
- attackType = BlzGetEventAttackType(),
2412
+ attackType = nativeToAttackType(BlzGetEventAttackType()),
2376
2413
  damageType = BlzGetEventDamageType(),
2377
2414
  weaponType = BlzGetEventWeaponType(),
2378
2415
  isAttack = BlzGetEventIsAttack()
@@ -2440,7 +2477,7 @@ Unit.onDamaging = (function()
2440
2477
  data.amount,
2441
2478
  true,
2442
2479
  true,
2443
- data.attackType,
2480
+ attackTypeToNative(data.attackType),
2444
2481
  data.damageType,
2445
2482
  data.weaponType
2446
2483
  )
@@ -2469,7 +2506,7 @@ Unit.onDamage = __TS__New(
2469
2506
  end
2470
2507
  local data = {
2471
2508
  amount = GetEventDamage(),
2472
- attackType = BlzGetEventAttackType(),
2509
+ attackType = nativeToAttackType(BlzGetEventAttackType()),
2473
2510
  damageType = BlzGetEventDamageType(),
2474
2511
  weaponType = BlzGetEventWeaponType(),
2475
2512
  isAttack = BlzGetEventIsAttack(),
@@ -2,13 +2,18 @@
2
2
  import { ModelNodeName } from "./model-node-name";
3
3
  import { ModelNodeQualifier } from "./model-node-qualifier";
4
4
  import { Optional } from "../../../utility/types";
5
+ import { EffectParameters } from "../../../core/types/effect";
5
6
  export type AttachmentPreset = {
6
7
  modelPath: string;
7
8
  nodeName: ModelNodeName;
8
9
  nodeQualifiers: ModelNodeQualifier[];
9
10
  };
10
- export type AttachmentPresetInput = Optional<AttachmentPreset, "nodeQualifiers"> | string;
11
- export declare const toAttachmentPreset: (attachmentPresetInput: AttachmentPresetInput) => AttachmentPreset;
11
+ export type EffectPresetWithParameters = AttachmentPreset & {
12
+ parameters?: EffectParameters;
13
+ };
14
+ export type AttachmentPresetInput<T extends AttachmentPreset = AttachmentPreset> = Optional<T, "nodeName" | "nodeQualifiers"> | string;
15
+ export type EffectPresetWithParametersInput = AttachmentPresetInput<EffectPresetWithParameters>;
16
+ export declare const toEffectPreset: (effectPresetInput: EffectPresetWithParametersInput) => EffectPresetWithParameters;
12
17
  export declare const extractAttachmentPresetInputModelPath: (attachmentPresetInput: AttachmentPresetInput | undefined) => string;
13
18
  export declare const extractAttachmentPresetInputNodeFQN: (attachmentPresetInput: AttachmentPresetInput | undefined) => string;
14
19
  export declare const splitAttachmentNodeFQN: (attachmentNodeFQN: string) => LuaMultiReturn<[attachmentNodeName: ModelNodeName, attachmentNodeQualifiers: ModelNodeQualifier[]]>;
@@ -1,9 +1,10 @@
1
1
  local ____lualib = require("lualib_bundle")
2
+ local __TS__ArrayJoin = ____lualib.__TS__ArrayJoin
2
3
  local __TS__StringSplit = ____lualib.__TS__StringSplit
3
4
  local __TS__ArraySlice = ____lualib.__TS__ArraySlice
4
5
  local ____exports = {}
5
- ____exports.toAttachmentPreset = function(attachmentPresetInput)
6
- return type(attachmentPresetInput) == "string" and ({modelPath = attachmentPresetInput, nodeName = "origin", nodeQualifiers = {}}) or ({modelPath = attachmentPresetInput.modelPath, nodeName = attachmentPresetInput.nodeName, nodeQualifiers = attachmentPresetInput.nodeQualifiers or ({})})
6
+ ____exports.toEffectPreset = function(effectPresetInput)
7
+ return type(effectPresetInput) == "string" and ({modelPath = effectPresetInput, nodeName = "origin", nodeQualifiers = {}}) or ({modelPath = effectPresetInput.modelPath, nodeName = effectPresetInput.nodeName or "origin", nodeQualifiers = effectPresetInput.nodeQualifiers or ({}), parameters = effectPresetInput.parameters})
7
8
  end
8
9
  ____exports.extractAttachmentPresetInputModelPath = function(attachmentPresetInput)
9
10
  return type(attachmentPresetInput) == "string" and attachmentPresetInput or (attachmentPresetInput and attachmentPresetInput.modelPath or "")
@@ -12,7 +13,7 @@ ____exports.extractAttachmentPresetInputNodeFQN = function(attachmentPresetInput
12
13
  if type(attachmentPresetInput) == "string" or attachmentPresetInput == nil then
13
14
  return ""
14
15
  end
15
- return table.concat(
16
+ return __TS__ArrayJoin(
16
17
  {
17
18
  attachmentPresetInput.nodeName,
18
19
  table.unpack(attachmentPresetInput.nodeQualifiers or ({}))
@@ -1,11 +1,10 @@
1
1
  /** @noSelfInFile */
2
2
  export declare const enum AttackType {
3
- NONE = "unknown",
4
- NORMAL = "normal",
5
- PIERCE = "pierce",
6
- SIEGE = "siege",
7
- SPELL = "spells",
8
- CHAOS = "chaos",
9
- MAGIC = "magic",
10
- HERO = "hero"
3
+ SPELL = 0,
4
+ NORMAL = 1,
5
+ PIERCE = 2,
6
+ SIEGE = 3,
7
+ MAGIC = 4,
8
+ CHAOS = 5,
9
+ HERO = 6
11
10
  }
@@ -1,2 +1,44 @@
1
1
  local ____exports = {}
2
+ local ____records = require("utility.records")
3
+ local invertRecord = ____records.invertRecord
4
+ local stringByAttackType = {
5
+ [1] = "normal",
6
+ [2] = "pierce",
7
+ [3] = "siege",
8
+ [0] = "spells",
9
+ [5] = "chaos",
10
+ [4] = "magic",
11
+ [6] = "hero"
12
+ }
13
+ local attackTypeByString = invertRecord(stringByAttackType)
14
+ local nativeByAttackType = {
15
+ [1] = ATTACK_TYPE_MELEE,
16
+ [2] = ATTACK_TYPE_PIERCE,
17
+ [3] = ATTACK_TYPE_SIEGE,
18
+ [0] = ATTACK_TYPE_NORMAL,
19
+ [5] = ATTACK_TYPE_CHAOS,
20
+ [4] = ATTACK_TYPE_MAGIC,
21
+ [6] = ATTACK_TYPE_HERO
22
+ }
23
+ local attackTypeByNative = invertRecord(nativeByAttackType)
24
+ ---
25
+ -- @internal For use by internal systems only.
26
+ ____exports.attackTypeToString = function(attackType)
27
+ return attackType ~= nil and stringByAttackType[attackType] or "unknown"
28
+ end
29
+ ---
30
+ -- @internal For use by internal systems only.
31
+ ____exports.stringToAttackType = function(____string)
32
+ return attackTypeByString[____string]
33
+ end
34
+ ---
35
+ -- @internal For use by internal systems only.
36
+ ____exports.attackTypeToNative = function(attackType)
37
+ return nativeByAttackType[attackType]
38
+ end
39
+ ---
40
+ -- @internal For use by internal systems only.
41
+ ____exports.nativeToAttackType = function(attackType)
42
+ return attackTypeByNative[attackType]
43
+ end
2
44
  return ____exports
@@ -1,10 +1,10 @@
1
1
  /** @noSelfInFile */
2
2
  export declare const enum MovementType {
3
- NONE = "",
4
- FLOAT = "float",
5
- FLY = "fly",
6
- FOOT = "foot",
7
- HORSE = "horse",
8
- HOVER = "hover",
9
- AMPHIBIOUS = "amph"
3
+ NONE = 0,
4
+ FOOT = 1,
5
+ FLY = 2,
6
+ HORSE = 4,
7
+ HOVER = 8,
8
+ FLOAT = 16,
9
+ AMPHIBIOUS = 32
10
10
  }
@@ -1,2 +1,24 @@
1
1
  local ____exports = {}
2
+ local ____records = require("utility.records")
3
+ local invertRecord = ____records.invertRecord
4
+ local stringByMovementType = {
5
+ [0] = "",
6
+ [16] = "float",
7
+ [2] = "fly",
8
+ [1] = "foot",
9
+ [4] = "horse",
10
+ [8] = "hover",
11
+ [32] = "amph"
12
+ }
13
+ local movementTypeByString = invertRecord(stringByMovementType)
14
+ ---
15
+ -- @internal For use by internal systems only.
16
+ ____exports.movementTypeToString = function(movementType)
17
+ return stringByMovementType[movementType]
18
+ end
19
+ ---
20
+ -- @internal For use by internal systems only.
21
+ ____exports.stringToMovementType = function(____string)
22
+ return movementTypeByString[____string] or 0
23
+ end
2
24
  return ____exports
@@ -0,0 +1,10 @@
1
+ /** @noSelfInFile */
2
+ export declare const enum SoundEax {
3
+ DEFAULT = "DefaultEAXON",
4
+ ACKNOWLEDGEMENTS = "HeroAcksEAX",
5
+ ENVIRONMENT = "DoodadsEAX",
6
+ DRUMS = "KotoDrumsEAX",
7
+ ATTACKS = "CombatSoundsEAX",
8
+ ABILITIES = "SpellsEAX",
9
+ MISSILES = "MissilesEAX"
10
+ }
@@ -0,0 +1,2 @@
1
+ local ____exports = {}
2
+ return ____exports
@@ -0,0 +1,6 @@
1
+ /** @noSelfInFile */
2
+ export declare enum UnitAttribute {
3
+ STRENGTH = 1,
4
+ INTELLIGENCE = 2,
5
+ AGILITY = 3
6
+ }
@@ -0,0 +1,9 @@
1
+ local ____exports = {}
2
+ ____exports.UnitAttribute = UnitAttribute or ({})
3
+ ____exports.UnitAttribute.STRENGTH = 1
4
+ ____exports.UnitAttribute[____exports.UnitAttribute.STRENGTH] = "STRENGTH"
5
+ ____exports.UnitAttribute.INTELLIGENCE = 2
6
+ ____exports.UnitAttribute[____exports.UnitAttribute.INTELLIGENCE] = "INTELLIGENCE"
7
+ ____exports.UnitAttribute.AGILITY = 3
8
+ ____exports.UnitAttribute[____exports.UnitAttribute.AGILITY] = "AGILITY"
9
+ return ____exports
@@ -7,4 +7,6 @@ export declare class BerserkAbilityType extends AbilityType {
7
7
  set movementSpeedIncreaseFactor(movementSpeedIncreaseFactor: ObjectDataEntryLevelFieldValueSupplier<number>);
8
8
  get attackSpeedIncreaseFactor(): number[];
9
9
  set attackSpeedIncreaseFactor(attackSpeedIncreaseFactor: ObjectDataEntryLevelFieldValueSupplier<number>);
10
+ get receivedDamageIncreaseFactor(): number[];
11
+ set receivedDamageIncreaseFactor(receivedDamageIncreaseFactor: ObjectDataEntryLevelFieldValueSupplier<number>);
10
12
  }
@@ -36,4 +36,17 @@ __TS__SetDescriptor(
36
36
  },
37
37
  true
38
38
  )
39
+ __TS__SetDescriptor(
40
+ BerserkAbilityType.prototype,
41
+ "receivedDamageIncreaseFactor",
42
+ {
43
+ get = function(self)
44
+ return self:getNumberLevelField("bsk3")
45
+ end,
46
+ set = function(self, receivedDamageIncreaseFactor)
47
+ self:setNumberLevelField("bsk3", receivedDamageIncreaseFactor)
48
+ end
49
+ },
50
+ true
51
+ )
39
52
  return ____exports
@@ -23,9 +23,6 @@ local ALLOWED_TARGETS_ABILITY_COMBAT_CLASSIFICATIONS_LEVEL_FIELD = ____ability.A
23
23
  local AREA_OF_EFFECT_ABILITY_FLOAT_LEVEL_FIELD = ____ability.AREA_OF_EFFECT_ABILITY_FLOAT_LEVEL_FIELD
24
24
  local ____linked_2Dset = require("utility.linked-set")
25
25
  local LinkedSet = ____linked_2Dset.LinkedSet
26
- local ____sound = require("core.types.sound")
27
- local Sound3D = ____sound.Sound3D
28
- local SoundPreset = ____sound.SoundPreset
29
26
  local isChannelingAbilityTypeIds = {}
30
27
  local usesAttackAnimationByAbilityTypeId = {}
31
28
  ____exports.BlankConfigurableAbilityType = __TS__Class()
@@ -230,12 +227,6 @@ for abilityTypeId, usesAttackAnimation in pairs(postcompile(function()
230
227
  end
231
228
  return usesAttackAnimationByAbilityTypeId
232
229
  end)) do
233
- Unit.abilityCastingFinishEvent[abilityTypeId]:addListener(function(caster, ability)
234
- local effectSound = ability:getField(ABILITY_SF_EFFECT_SOUND)
235
- if effectSound ~= "" then
236
- Sound3D:playFromLabel(effectSound, SoundPreset.Ability, caster)
237
- end
238
- end)
239
230
  if usesAttackAnimation then
240
231
  Unit.abilityCastingStartEvent[abilityTypeId]:addListener(
241
232
  4,
@@ -0,0 +1,14 @@
1
+ /** @noSelfInFile */
2
+ import { AbilityType, AbilityTypeId } from "../ability-type";
3
+ import { ObjectDataEntryLevelFieldValueSupplier } from "../../entry";
4
+ export declare class CarrionSwarmAbilityType extends AbilityType {
5
+ static readonly BASE_ID: AbilityTypeId;
6
+ get damagePerTarget(): number[];
7
+ set damagePerTarget(damagePerTarget: ObjectDataEntryLevelFieldValueSupplier<number>);
8
+ get maximumTotalDamage(): number[];
9
+ set maximumTotalDamage(maximumTotalDamage: ObjectDataEntryLevelFieldValueSupplier<number>);
10
+ get distance(): number[];
11
+ set distance(distance: ObjectDataEntryLevelFieldValueSupplier<number>);
12
+ get finalAreaOfEffect(): number[];
13
+ set finalAreaOfEffect(finalAreaOfEffect: ObjectDataEntryLevelFieldValueSupplier<number>);
14
+ }
@@ -0,0 +1,65 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__Class = ____lualib.__TS__Class
3
+ local __TS__ClassExtends = ____lualib.__TS__ClassExtends
4
+ local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
5
+ local ____exports = {}
6
+ local ____ability_2Dtype = require("engine.object-data.entry.ability-type")
7
+ local AbilityType = ____ability_2Dtype.AbilityType
8
+ ____exports.CarrionSwarmAbilityType = __TS__Class()
9
+ local CarrionSwarmAbilityType = ____exports.CarrionSwarmAbilityType
10
+ CarrionSwarmAbilityType.name = "CarrionSwarmAbilityType"
11
+ __TS__ClassExtends(CarrionSwarmAbilityType, AbilityType)
12
+ CarrionSwarmAbilityType.BASE_ID = fourCC("AUcs")
13
+ __TS__SetDescriptor(
14
+ CarrionSwarmAbilityType.prototype,
15
+ "damagePerTarget",
16
+ {
17
+ get = function(self)
18
+ return self:getNumberLevelField("Ucs1")
19
+ end,
20
+ set = function(self, damagePerTarget)
21
+ self:setNumberLevelField("Ucs1", damagePerTarget)
22
+ end
23
+ },
24
+ true
25
+ )
26
+ __TS__SetDescriptor(
27
+ CarrionSwarmAbilityType.prototype,
28
+ "maximumTotalDamage",
29
+ {
30
+ get = function(self)
31
+ return self:getNumberLevelField("Ucs2")
32
+ end,
33
+ set = function(self, maximumTotalDamage)
34
+ self:setNumberLevelField("Ucs2", maximumTotalDamage)
35
+ end
36
+ },
37
+ true
38
+ )
39
+ __TS__SetDescriptor(
40
+ CarrionSwarmAbilityType.prototype,
41
+ "distance",
42
+ {
43
+ get = function(self)
44
+ return self:getNumberLevelField("Ucs3")
45
+ end,
46
+ set = function(self, distance)
47
+ self:setNumberLevelField("Ucs3", distance)
48
+ end
49
+ },
50
+ true
51
+ )
52
+ __TS__SetDescriptor(
53
+ CarrionSwarmAbilityType.prototype,
54
+ "finalAreaOfEffect",
55
+ {
56
+ get = function(self)
57
+ return self:getNumberLevelField("Ucs4")
58
+ end,
59
+ set = function(self, finalAreaOfEffect)
60
+ self:setNumberLevelField("Ucs4", finalAreaOfEffect)
61
+ end
62
+ },
63
+ true
64
+ )
65
+ return ____exports
@@ -15,10 +15,10 @@ __TS__SetDescriptor(
15
15
  "missProbability",
16
16
  {
17
17
  get = function(self)
18
- return self:getNumberLevelField("Crs\0")
18
+ return self:getNumberLevelField("Crs")
19
19
  end,
20
20
  set = function(self, missProbability)
21
- self:setNumberLevelField("Crs\0", missProbability)
21
+ self:setNumberLevelField("Crs", missProbability)
22
22
  end
23
23
  },
24
24
  true
@@ -0,0 +1,12 @@
1
+ /** @noSelfInFile */
2
+ import { AbilityType, AbilityTypeId } from "../ability-type";
3
+ import { ObjectDataEntryLevelFieldValueSupplier } from "../../entry";
4
+ export declare class EnsnareAbilityType extends AbilityType {
5
+ static readonly BASE_ID: AbilityTypeId;
6
+ get airUnitLoweringDuration(): number[];
7
+ set airUnitLoweringDuration(airUnitLoweringDuration: ObjectDataEntryLevelFieldValueSupplier<number>);
8
+ get airUnitHeight(): number[];
9
+ set airUnitHeight(airUnitHeight: ObjectDataEntryLevelFieldValueSupplier<number>);
10
+ get meleeAttackRange(): number[];
11
+ set meleeAttackRange(meleeAttackRange: ObjectDataEntryLevelFieldValueSupplier<number>);
12
+ }
@@ -0,0 +1,52 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__Class = ____lualib.__TS__Class
3
+ local __TS__ClassExtends = ____lualib.__TS__ClassExtends
4
+ local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
5
+ local ____exports = {}
6
+ local ____ability_2Dtype = require("engine.object-data.entry.ability-type")
7
+ local AbilityType = ____ability_2Dtype.AbilityType
8
+ ____exports.EnsnareAbilityType = __TS__Class()
9
+ local EnsnareAbilityType = ____exports.EnsnareAbilityType
10
+ EnsnareAbilityType.name = "EnsnareAbilityType"
11
+ __TS__ClassExtends(EnsnareAbilityType, AbilityType)
12
+ EnsnareAbilityType.BASE_ID = fourCC("Aens")
13
+ __TS__SetDescriptor(
14
+ EnsnareAbilityType.prototype,
15
+ "airUnitLoweringDuration",
16
+ {
17
+ get = function(self)
18
+ return self:getNumberLevelField("Ens1")
19
+ end,
20
+ set = function(self, airUnitLoweringDuration)
21
+ self:setNumberLevelField("Ens1", airUnitLoweringDuration)
22
+ end
23
+ },
24
+ true
25
+ )
26
+ __TS__SetDescriptor(
27
+ EnsnareAbilityType.prototype,
28
+ "airUnitHeight",
29
+ {
30
+ get = function(self)
31
+ return self:getNumberLevelField("Ens2")
32
+ end,
33
+ set = function(self, airUnitHeight)
34
+ self:setNumberLevelField("Ens2", airUnitHeight)
35
+ end
36
+ },
37
+ true
38
+ )
39
+ __TS__SetDescriptor(
40
+ EnsnareAbilityType.prototype,
41
+ "meleeAttackRange",
42
+ {
43
+ get = function(self)
44
+ return self:getNumberLevelField("Ens3")
45
+ end,
46
+ set = function(self, meleeAttackRange)
47
+ self:setNumberLevelField("Ens3", meleeAttackRange)
48
+ end
49
+ },
50
+ true
51
+ )
52
+ return ____exports
@@ -0,0 +1,10 @@
1
+ /** @noSelfInFile */
2
+ import { AbilityType, AbilityTypeId } from "../ability-type";
3
+ import { ObjectDataEntryLevelFieldValueSupplier } from "../../entry";
4
+ export declare class PhaseShiftAbilityType extends AbilityType {
5
+ static readonly BASE_ID: AbilityTypeId;
6
+ get movementSpeedDecreaseFactor(): number[];
7
+ set movementSpeedDecreaseFactor(movementSpeedDecreaseFactor: ObjectDataEntryLevelFieldValueSupplier<number>);
8
+ get attackSpeedDecreaseFactor(): number[];
9
+ set attackSpeedDecreaseFactor(attackSpeedDecreaseFactor: ObjectDataEntryLevelFieldValueSupplier<number>);
10
+ }
@@ -0,0 +1,39 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__Class = ____lualib.__TS__Class
3
+ local __TS__ClassExtends = ____lualib.__TS__ClassExtends
4
+ local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
5
+ local ____exports = {}
6
+ local ____ability_2Dtype = require("engine.object-data.entry.ability-type")
7
+ local AbilityType = ____ability_2Dtype.AbilityType
8
+ ____exports.PhaseShiftAbilityType = __TS__Class()
9
+ local PhaseShiftAbilityType = ____exports.PhaseShiftAbilityType
10
+ PhaseShiftAbilityType.name = "PhaseShiftAbilityType"
11
+ __TS__ClassExtends(PhaseShiftAbilityType, AbilityType)
12
+ PhaseShiftAbilityType.BASE_ID = fourCC("Apsh")
13
+ __TS__SetDescriptor(
14
+ PhaseShiftAbilityType.prototype,
15
+ "movementSpeedDecreaseFactor",
16
+ {
17
+ get = function(self)
18
+ return self:getNumberLevelField("Hbn1")
19
+ end,
20
+ set = function(self, movementSpeedDecreaseFactor)
21
+ self:setNumberLevelField("Hbn1", movementSpeedDecreaseFactor)
22
+ end
23
+ },
24
+ true
25
+ )
26
+ __TS__SetDescriptor(
27
+ PhaseShiftAbilityType.prototype,
28
+ "attackSpeedDecreaseFactor",
29
+ {
30
+ get = function(self)
31
+ return self:getNumberLevelField("Hbn2")
32
+ end,
33
+ set = function(self, attackSpeedDecreaseFactor)
34
+ self:setNumberLevelField("Hbn2", attackSpeedDecreaseFactor)
35
+ end
36
+ },
37
+ true
38
+ )
39
+ return ____exports
@@ -0,0 +1,17 @@
1
+ /** @noSelfInFile */
2
+ import { AbilityType, AbilityTypeId } from "../ability-type";
3
+ import { ObjectDataEntryLevelFieldValueSupplier } from "../../entry";
4
+ import { UnitTypeId } from "../unit-type";
5
+ export declare class RaiseDeadAbilityType extends AbilityType {
6
+ static readonly BASE_ID: AbilityTypeId;
7
+ get firstSummonedUnitCount(): number[];
8
+ set firstSummonedUnitCount(firstSummonedUnitCount: ObjectDataEntryLevelFieldValueSupplier<number>);
9
+ get secondSummonedUnitCount(): number[];
10
+ set secondSummonedUnitCount(secondSummonedUnitCount: ObjectDataEntryLevelFieldValueSupplier<number>);
11
+ get firstSummonedUnitTypeId(): UnitTypeId[];
12
+ set firstSummonedUnitTypeId(firstSummonedUnitTypeId: ObjectDataEntryLevelFieldValueSupplier<UnitTypeId>);
13
+ get secondSummonedUnitTypeId(): UnitTypeId[];
14
+ set secondSummonedUnitTypeId(secondSummonedUnitTypeId: ObjectDataEntryLevelFieldValueSupplier<UnitTypeId>);
15
+ get limitCheckUnitTypeId(): UnitTypeId[];
16
+ set limitCheckUnitTypeId(limitCheckUnitTypeId: ObjectDataEntryLevelFieldValueSupplier<UnitTypeId>);
17
+ }