warscript 0.0.1-dev.d408eb6 → 0.0.1-dev.d5494fc

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 (68) hide show
  1. package/core/types/effect.d.ts +1 -3
  2. package/core/types/effect.lua +26 -29
  3. package/core/types/sound.lua +5 -0
  4. package/core/types/timer.d.ts +6 -7
  5. package/core/types/timer.lua +18 -21
  6. package/decl/native.d.ts +840 -786
  7. package/engine/behaviour/ability/damage.d.ts +5 -2
  8. package/engine/behaviour/ability/damage.lua +16 -29
  9. package/engine/behaviour/ability/emulate-impact.lua +7 -0
  10. package/engine/behaviour/ability.d.ts +4 -1
  11. package/engine/behaviour/ability.lua +6 -4
  12. package/engine/internal/item.d.ts +2 -1
  13. package/engine/internal/mechanics/ability-duration.lua +1 -1
  14. package/engine/internal/misc/damage-metadata-by-target.d.ts +2 -0
  15. package/engine/internal/misc/damage-metadata-by-target.lua +5 -0
  16. package/engine/internal/unit+damage.d.ts +2 -11
  17. package/engine/internal/unit+damage.lua +10 -14
  18. package/engine/internal/unit+spellSteal.lua +1 -2
  19. package/engine/internal/unit.d.ts +10 -1
  20. package/engine/internal/unit.lua +73 -30
  21. package/engine/object-data/auxiliary/attachment-preset.d.ts +7 -2
  22. package/engine/object-data/auxiliary/attachment-preset.lua +4 -3
  23. package/engine/object-data/auxiliary/attack-type.d.ts +7 -8
  24. package/engine/object-data/auxiliary/attack-type.lua +42 -0
  25. package/engine/object-data/auxiliary/movement-type.d.ts +7 -7
  26. package/engine/object-data/auxiliary/movement-type.lua +22 -0
  27. package/engine/object-data/auxiliary/unit-attribute.d.ts +6 -0
  28. package/engine/object-data/auxiliary/unit-attribute.lua +9 -0
  29. package/engine/object-data/entry/ability-type/berserk.d.ts +2 -0
  30. package/engine/object-data/entry/ability-type/berserk.lua +13 -0
  31. package/engine/object-data/entry/ability-type/carrion-swarm.d.ts +14 -0
  32. package/engine/object-data/entry/ability-type/carrion-swarm.lua +65 -0
  33. package/engine/object-data/entry/ability-type/ensnare.d.ts +12 -0
  34. package/engine/object-data/entry/ability-type/ensnare.lua +52 -0
  35. package/engine/object-data/entry/ability-type/phase-shift.d.ts +10 -0
  36. package/engine/object-data/entry/ability-type/phase-shift.lua +39 -0
  37. package/engine/object-data/entry/ability-type/shock-wave.d.ts +4 -0
  38. package/engine/object-data/entry/ability-type/shock-wave.lua +26 -0
  39. package/engine/object-data/entry/ability-type/slow-poison.d.ts +10 -0
  40. package/engine/object-data/entry/ability-type/slow-poison.lua +58 -0
  41. package/engine/object-data/entry/ability-type/web.d.ts +12 -0
  42. package/engine/object-data/entry/ability-type/web.lua +52 -0
  43. package/engine/object-data/entry/ability-type.d.ts +11 -11
  44. package/engine/object-data/entry/ability-type.lua +27 -6
  45. package/engine/object-data/entry/buff-type/applicable.lua +5 -0
  46. package/engine/object-data/entry/buff-type.d.ts +5 -11
  47. package/engine/object-data/entry/buff-type.lua +11 -27
  48. package/engine/object-data/entry/unit-type.d.ts +2 -2
  49. package/engine/object-data/entry/unit-type.lua +94 -84
  50. package/engine/object-field/ability.d.ts +1 -1
  51. package/engine/object-field/unit.d.ts +46 -3
  52. package/engine/object-field/unit.lua +173 -7
  53. package/engine/object-field.d.ts +9 -1
  54. package/engine/object-field.lua +158 -76
  55. package/engine/standard/entries/buff-type.d.ts +3 -0
  56. package/engine/standard/entries/buff-type.lua +3 -0
  57. package/objutil/buff.lua +1 -2
  58. package/package.json +2 -2
  59. package/utility/arrays.d.ts +1 -0
  60. package/utility/arrays.lua +3 -0
  61. package/utility/functions.d.ts +1 -0
  62. package/utility/functions.lua +1 -0
  63. package/utility/linked-set.d.ts +1 -0
  64. package/utility/linked-set.lua +3 -0
  65. package/utility/lua-maps.d.ts +3 -0
  66. package/utility/lua-maps.lua +16 -0
  67. package/utility/lua-sets.d.ts +1 -0
  68. package/utility/lua-sets.lua +3 -0
@@ -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,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
@@ -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
@@ -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
@@ -7,4 +7,8 @@ export declare class ShockWaveAbilityType extends AbilityType {
7
7
  set damagePerTarget(damagePerTarget: ObjectDataEntryLevelFieldValueSupplier<number>);
8
8
  get maximumTotalDamage(): number[];
9
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>);
10
14
  }
@@ -36,4 +36,30 @@ __TS__SetDescriptor(
36
36
  },
37
37
  true
38
38
  )
39
+ __TS__SetDescriptor(
40
+ ShockWaveAbilityType.prototype,
41
+ "distance",
42
+ {
43
+ get = function(self)
44
+ return self:getNumberLevelField("Osh3")
45
+ end,
46
+ set = function(self, distance)
47
+ self:setNumberLevelField("Osh3", distance)
48
+ end
49
+ },
50
+ true
51
+ )
52
+ __TS__SetDescriptor(
53
+ ShockWaveAbilityType.prototype,
54
+ "finalAreaOfEffect",
55
+ {
56
+ get = function(self)
57
+ return self:getNumberLevelField("Osh4")
58
+ end,
59
+ set = function(self, finalAreaOfEffect)
60
+ self:setNumberLevelField("Osh4", finalAreaOfEffect)
61
+ end
62
+ },
63
+ true
64
+ )
39
65
  return ____exports
@@ -9,4 +9,14 @@ export declare class SlowPoisonAbilityType extends AbilityType {
9
9
  set movementSpeedDecreaseFactor(movementSpeedDecreaseFactor: ObjectDataEntryLevelFieldValueSupplier<number>);
10
10
  get attackSpeedDecreaseFactor(): number[];
11
11
  set attackSpeedDecreaseFactor(attackSpeedDecreaseFactor: ObjectDataEntryLevelFieldValueSupplier<number>);
12
+ get isDamageStacking(): boolean[];
13
+ set isDamageStacking(isDamageStacking: ObjectDataEntryLevelFieldValueSupplier<boolean>);
14
+ get isMovementSpeedFactorStacking(): boolean[];
15
+ set isMovementSpeedFactorStacking(isMovementSpeedFactorStacking: ObjectDataEntryLevelFieldValueSupplier<boolean>);
16
+ get isAttackSpeedFactorStacking(): boolean[];
17
+ set isAttackSpeedFactorStacking(isAttackSpeedFactorStacking: ObjectDataEntryLevelFieldValueSupplier<boolean>);
18
+ get isAbleToKill(): boolean[];
19
+ set isAbleToKill(isAbleToKill: ObjectDataEntryLevelFieldValueSupplier<boolean>);
20
+ private setOption;
21
+ private getOption;
12
22
  }
@@ -9,6 +9,12 @@ ____exports.SlowPoisonAbilityType = __TS__Class()
9
9
  local SlowPoisonAbilityType = ____exports.SlowPoisonAbilityType
10
10
  SlowPoisonAbilityType.name = "SlowPoisonAbilityType"
11
11
  __TS__ClassExtends(SlowPoisonAbilityType, AbilityType)
12
+ function SlowPoisonAbilityType.prototype.setOption(self, option, supplier)
13
+ self:setFlagLevelFieldValue("Spo4", option, supplier)
14
+ end
15
+ function SlowPoisonAbilityType.prototype.getOption(self, option)
16
+ return self:getFlagLevelFieldValue("Spo4", option)
17
+ end
12
18
  SlowPoisonAbilityType.BASE_ID = fourCC("Aspo")
13
19
  __TS__SetDescriptor(
14
20
  SlowPoisonAbilityType.prototype,
@@ -49,4 +55,56 @@ __TS__SetDescriptor(
49
55
  },
50
56
  true
51
57
  )
58
+ __TS__SetDescriptor(
59
+ SlowPoisonAbilityType.prototype,
60
+ "isDamageStacking",
61
+ {
62
+ get = function(self)
63
+ return self:getOption(1)
64
+ end,
65
+ set = function(self, isDamageStacking)
66
+ self:setOption(1, isDamageStacking)
67
+ end
68
+ },
69
+ true
70
+ )
71
+ __TS__SetDescriptor(
72
+ SlowPoisonAbilityType.prototype,
73
+ "isMovementSpeedFactorStacking",
74
+ {
75
+ get = function(self)
76
+ return self:getOption(2)
77
+ end,
78
+ set = function(self, isMovementSpeedFactorStacking)
79
+ self:setOption(2, isMovementSpeedFactorStacking)
80
+ end
81
+ },
82
+ true
83
+ )
84
+ __TS__SetDescriptor(
85
+ SlowPoisonAbilityType.prototype,
86
+ "isAttackSpeedFactorStacking",
87
+ {
88
+ get = function(self)
89
+ return self:getOption(4)
90
+ end,
91
+ set = function(self, isAttackSpeedFactorStacking)
92
+ self:setOption(4, isAttackSpeedFactorStacking)
93
+ end
94
+ },
95
+ true
96
+ )
97
+ __TS__SetDescriptor(
98
+ SlowPoisonAbilityType.prototype,
99
+ "isAbleToKill",
100
+ {
101
+ get = function(self)
102
+ return self:getOption(8)
103
+ end,
104
+ set = function(self, isAbleToKill)
105
+ self:setOption(8, isAbleToKill)
106
+ end
107
+ },
108
+ true
109
+ )
52
110
  return ____exports
@@ -0,0 +1,12 @@
1
+ /** @noSelfInFile */
2
+ import { AbilityType, AbilityTypeId } from "../ability-type";
3
+ import { ObjectDataEntryLevelFieldValueSupplier } from "../../entry";
4
+ export declare class WebAbilityType 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.WebAbilityType = __TS__Class()
9
+ local WebAbilityType = ____exports.WebAbilityType
10
+ WebAbilityType.name = "WebAbilityType"
11
+ __TS__ClassExtends(WebAbilityType, AbilityType)
12
+ WebAbilityType.BASE_ID = fourCC("Aweb")
13
+ __TS__SetDescriptor(
14
+ WebAbilityType.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
+ WebAbilityType.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
+ WebAbilityType.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
@@ -3,7 +3,7 @@ import "../../internal/unit/ability";
3
3
  import { TupleOf } from "../../../utility/types";
4
4
  import { AnimationName } from "../auxiliary/animation-name";
5
5
  import { AnimationQualifier } from "../auxiliary/animation-qualifier";
6
- import { AttachmentPreset, AttachmentPresetInput } from "../auxiliary/attachment-preset";
6
+ import { AttachmentPresetInput, EffectPresetWithParameters, EffectPresetWithParametersInput } from "../auxiliary/attachment-preset";
7
7
  import { CombatClassifications } from "../auxiliary/combat-classification";
8
8
  import { Race } from "../auxiliary/race";
9
9
  import { TechTreeDependency, TechTreeDependencyInput } from "../auxiliary/tech-tree-dependency";
@@ -27,11 +27,11 @@ export declare abstract class AbilityType extends ObjectDataEntry<AbilityTypeId>
27
27
  set buttonPositionX(buttonPositionX: number);
28
28
  get buttonPositionY(): number;
29
29
  set buttonPositionY(buttonPositionY: number);
30
- get casterCastingEffectPresets(): AttachmentPreset[];
31
- set casterCastingEffectPresets(casterCastingEffectPresets: AttachmentPresetInput[]);
32
- get casterChannelingEffectPresets(): AttachmentPreset[];
33
- set casterChannelingEffectPresets(casterChannelingEffectPresets: AttachmentPresetInput[]);
34
- get casterAttachmentPresets(): TupleOf<AttachmentPreset, 0 | 1 | 2>;
30
+ get casterCastingEffectPresets(): EffectPresetWithParameters[];
31
+ set casterCastingEffectPresets(casterCastingEffectPresets: EffectPresetWithParametersInput[]);
32
+ get casterChannelingEffectPresets(): EffectPresetWithParameters[];
33
+ set casterChannelingEffectPresets(casterChannelingEffectPresets: EffectPresetWithParametersInput[]);
34
+ get casterAttachmentPresets(): TupleOf<EffectPresetWithParameters, 0 | 1 | 2>;
35
35
  set casterAttachmentPresets(casterAttachmentPresets: TupleOf<AttachmentPresetInput, 0 | 1 | 2>);
36
36
  get effectModelPaths(): string[];
37
37
  set effectModelPaths(effectModelPaths: string[]);
@@ -63,15 +63,15 @@ export declare abstract class AbilityType extends ObjectDataEntry<AbilityTypeId>
63
63
  set missileMovementArc(missileMovementArc: number);
64
64
  get missileMovementSpeed(): number;
65
65
  set missileMovementSpeed(missileMovementSpeed: number);
66
- get specialAttachmentPreset(): AttachmentPreset | undefined;
66
+ get specialAttachmentPreset(): EffectPresetWithParameters | undefined;
67
67
  set specialAttachmentPreset(specialAttachmentPreset: AttachmentPresetInput | undefined);
68
- get targetCastingEffectPresets(): AttachmentPreset[];
68
+ get targetCastingEffectPresets(): EffectPresetWithParameters[];
69
69
  set targetCastingEffectPresets(targetCastingEffectPresets: AttachmentPresetInput[]);
70
- get targetEffectPresets(): TupleOf<AttachmentPreset, 0 | 1 | 2 | 3 | 4 | 5 | 6>;
70
+ get targetEffectPresets(): TupleOf<EffectPresetWithParameters, 0 | 1 | 2 | 3 | 4 | 5 | 6>;
71
71
  set targetEffectPresets(targetEffectPresets: TupleOf<AttachmentPresetInput, 0 | 1 | 2 | 3 | 4 | 5 | 6>);
72
- get targetEffectPresetsSD(): TupleOf<AttachmentPreset, 0 | 1 | 2 | 3 | 4 | 5 | 6>;
72
+ get targetEffectPresetsSD(): TupleOf<EffectPresetWithParameters, 0 | 1 | 2 | 3 | 4 | 5 | 6>;
73
73
  set targetEffectPresetsSD(targetEffectPresetsSD: TupleOf<AttachmentPresetInput, 0 | 1 | 2 | 3 | 4 | 5 | 6>);
74
- get targetEffectPresetsHD(): TupleOf<AttachmentPreset, 0 | 1 | 2 | 3 | 4 | 5 | 6>;
74
+ get targetEffectPresetsHD(): TupleOf<EffectPresetWithParameters, 0 | 1 | 2 | 3 | 4 | 5 | 6>;
75
75
  set targetEffectPresetsHD(targetEffectPresetsHD: TupleOf<AttachmentPresetInput, 0 | 1 | 2 | 3 | 4 | 5 | 6>);
76
76
  get turnOffButtonPositionX(): number;
77
77
  set turnOffButtonPositionX(buttonPositionX: number);