warscript 0.0.1-dev.e4a5fce → 0.0.1-dev.ea10f2b
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.
- package/config.d.ts +5 -0
- package/config.lua +10 -0
- package/core/types/effect.d.ts +1 -0
- package/core/types/effect.lua +80 -30
- package/core/types/sound.d.ts +17 -24
- package/core/types/sound.lua +94 -24
- package/core/util.d.ts +1 -1
- package/core/util.lua +12 -1
- package/engine/behaviour/ability/apply-buff.d.ts +5 -0
- package/engine/behaviour/ability/apply-buff.lua +32 -0
- package/engine/behaviour/ability/apply-unit-behavior.lua +1 -0
- package/engine/behaviour/ability/damage.d.ts +3 -0
- package/engine/behaviour/ability/damage.lua +2 -2
- package/engine/behaviour/ability/emulate-impact.lua +5 -7
- package/engine/behaviour/ability/on-command-impact.lua +7 -0
- package/engine/behaviour/ability.d.ts +12 -3
- package/engine/behaviour/ability.lua +66 -7
- package/engine/behaviour/unit.d.ts +2 -0
- package/engine/buff.d.ts +56 -41
- package/engine/buff.lua +295 -228
- package/engine/internal/ability.d.ts +11 -1
- package/engine/internal/ability.lua +67 -2
- package/engine/internal/item/ability.lua +106 -0
- package/engine/internal/item.d.ts +2 -2
- package/engine/internal/item.lua +56 -25
- package/engine/internal/mechanics/ability-duration.lua +1 -1
- package/engine/internal/object-data/auto-attack-speed-increase.d.ts +1 -1
- package/engine/internal/object-data/auto-attack-speed-increase.lua +2 -0
- package/engine/internal/object-data/evasion-probability.d.ts +2 -0
- package/engine/internal/object-data/evasion-probability.lua +16 -0
- package/engine/internal/unit/add-item-to-slot-init.d.ts +2 -0
- package/engine/internal/unit/add-item-to-slot-init.lua +23 -0
- package/engine/internal/unit/add-item-to-slot.d.ts +2 -0
- package/engine/internal/unit/add-item-to-slot.lua +52 -0
- package/engine/internal/unit/bonus.d.ts +2 -0
- package/engine/internal/unit/bonus.lua +17 -0
- package/engine/internal/unit/ignore-events-items.d.ts +2 -0
- package/engine/internal/unit/ignore-events-items.lua +5 -0
- package/engine/internal/unit/item.lua +6 -12
- package/engine/internal/unit.d.ts +9 -2
- package/engine/internal/unit.lua +71 -15
- package/engine/internal/utility.lua +12 -0
- package/engine/lightning.d.ts +12 -5
- package/engine/lightning.lua +48 -14
- package/engine/object-data/auxiliary/animation-name.d.ts +1 -0
- package/engine/object-data/auxiliary/animation-name.lua +16 -0
- package/engine/object-data/auxiliary/sound-eax.d.ts +10 -0
- package/engine/object-data/auxiliary/sound-eax.lua +2 -0
- package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +1 -1
- package/engine/object-data/entry/ability-type/blank-configurable.lua +12 -1
- package/engine/object-data/entry/ability-type/carrion-swarm.d.ts +14 -0
- package/engine/object-data/entry/ability-type/carrion-swarm.lua +65 -0
- package/engine/object-data/entry/ability-type/disease-cloud.lua +2 -2
- package/engine/object-data/entry/ability-type/engineering-upgrade.lua +2 -2
- package/engine/object-data/entry/ability-type/ensnare.d.ts +12 -0
- package/engine/object-data/entry/ability-type/ensnare.lua +52 -0
- package/engine/object-data/entry/ability-type/feral-spirit.lua +2 -2
- package/engine/object-data/entry/ability-type/phase-shift.d.ts +10 -0
- package/engine/object-data/entry/ability-type/phase-shift.lua +39 -0
- package/engine/object-data/entry/ability-type/phoenix-morph.lua +4 -4
- package/engine/object-data/entry/ability-type/raise-dead.d.ts +17 -0
- package/engine/object-data/entry/ability-type/raise-dead.lua +78 -0
- package/engine/object-data/entry/ability-type/shock-wave.d.ts +4 -0
- package/engine/object-data/entry/ability-type/shock-wave.lua +26 -0
- package/engine/object-data/entry/ability-type/summon-quilbeast.lua +2 -2
- package/engine/object-data/entry/ability-type/summon-water-elemental.lua +2 -2
- package/engine/object-data/entry/ability-type/web.d.ts +12 -0
- package/engine/object-data/entry/ability-type/web.lua +52 -0
- package/engine/object-data/entry/ability-type.d.ts +8 -6
- package/engine/object-data/entry/ability-type.lua +62 -27
- package/engine/object-data/entry/buff-type/applicable.lua +13 -37
- package/engine/object-data/entry/buff-type.d.ts +1 -1
- package/engine/object-data/entry/buff-type.lua +2 -2
- package/engine/object-data/entry/destructible-type.d.ts +1 -1
- package/engine/object-data/entry/item-type.d.ts +3 -1
- package/engine/object-data/entry/item-type.lua +15 -2
- package/engine/object-data/entry/lightning-type.d.ts +1 -1
- package/engine/object-data/entry/sound-preset.d.ts +33 -0
- package/engine/object-data/entry/sound-preset.lua +140 -0
- package/engine/object-data/entry/unit-type.d.ts +8 -1
- package/engine/object-data/entry/unit-type.lua +61 -8
- package/engine/object-data/entry/upgrade.d.ts +1 -1
- package/engine/object-data/entry/upgrade.lua +4 -4
- package/engine/object-data/entry.d.ts +16 -14
- package/engine/object-data/entry.lua +60 -32
- package/engine/object-data/utility/object-data-entry-id-generator.lua +7 -0
- package/engine/object-field/ability.d.ts +5 -2
- package/engine/object-field/ability.lua +3 -0
- package/engine/object-field.d.ts +2 -2
- package/engine/object-field.lua +4 -0
- package/engine/standard/entries/sound-preset.d.ts +10 -0
- package/engine/standard/entries/sound-preset.lua +10 -0
- package/engine/unit.d.ts +1 -0
- package/engine/unit.lua +1 -0
- package/objutil/unit.lua +8 -0
- package/package.json +2 -2
- package/utility/reflection.lua +11 -7
|
@@ -55,7 +55,7 @@ __TS__SetDescriptor(
|
|
|
55
55
|
get = function(self)
|
|
56
56
|
local abilityUpgrades = {}
|
|
57
57
|
for i = 0, 3 do
|
|
58
|
-
local abilityUpgrade = self:
|
|
58
|
+
local abilityUpgrade = self:getObjectDataEntryNumericIdsLevelField("Neg" .. tostring(3 + i))
|
|
59
59
|
for level = 0, #abilityUpgrade - 1 do
|
|
60
60
|
local levelAbilityUpgrade = abilityUpgrade[level + 1]
|
|
61
61
|
if #levelAbilityUpgrade == 2 then
|
|
@@ -71,7 +71,7 @@ __TS__SetDescriptor(
|
|
|
71
71
|
local ____opt_0 = abilityUpgrades[1]
|
|
72
72
|
local isArray = __TS__ArrayIsArray(____opt_0 and ____opt_0[1])
|
|
73
73
|
for i = 0, #abilityUpgrades - 1 do
|
|
74
|
-
self:
|
|
74
|
+
self:setObjectDataEntryNumericIdsLevelField(
|
|
75
75
|
"Neg" .. tostring(3 + i),
|
|
76
76
|
isArray and map(
|
|
77
77
|
abilityUpgrades,
|
|
@@ -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
|
|
@@ -15,10 +15,10 @@ __TS__SetDescriptor(
|
|
|
15
15
|
"summonedUnitTypeId",
|
|
16
16
|
{
|
|
17
17
|
get = function(self)
|
|
18
|
-
return self:
|
|
18
|
+
return self:getObjectDataEntryNumericIdLevelField("Osf1")
|
|
19
19
|
end,
|
|
20
20
|
set = function(self, summonedUnitTypeId)
|
|
21
|
-
self:
|
|
21
|
+
self:setObjectDataEntryNumericIdLevelField("Osf1", summonedUnitTypeId)
|
|
22
22
|
end
|
|
23
23
|
},
|
|
24
24
|
true
|
|
@@ -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
|
|
@@ -15,10 +15,10 @@ __TS__SetDescriptor(
|
|
|
15
15
|
"normalFormUnitTypeId",
|
|
16
16
|
{
|
|
17
17
|
get = function(self)
|
|
18
|
-
return self:
|
|
18
|
+
return self:getObjectDataEntryNumericIdLevelField("Eme1")
|
|
19
19
|
end,
|
|
20
20
|
set = function(self, normalFormUnitTypeId)
|
|
21
|
-
self:
|
|
21
|
+
self:setObjectDataEntryNumericIdLevelField("Eme1", normalFormUnitTypeId)
|
|
22
22
|
end
|
|
23
23
|
},
|
|
24
24
|
true
|
|
@@ -119,10 +119,10 @@ __TS__SetDescriptor(
|
|
|
119
119
|
"alternateFormUnitTypeId",
|
|
120
120
|
{
|
|
121
121
|
get = function(self)
|
|
122
|
-
return self:
|
|
122
|
+
return self:getObjectDataEntryNumericIdLevelField("Emeu")
|
|
123
123
|
end,
|
|
124
124
|
set = function(self, alternateFormUnitTypeId)
|
|
125
|
-
self:
|
|
125
|
+
self:setObjectDataEntryNumericIdLevelField("Emeu", alternateFormUnitTypeId)
|
|
126
126
|
end
|
|
127
127
|
},
|
|
128
128
|
true
|
|
@@ -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
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
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.RaiseDeadAbilityType = __TS__Class()
|
|
9
|
+
local RaiseDeadAbilityType = ____exports.RaiseDeadAbilityType
|
|
10
|
+
RaiseDeadAbilityType.name = "RaiseDeadAbilityType"
|
|
11
|
+
__TS__ClassExtends(RaiseDeadAbilityType, AbilityType)
|
|
12
|
+
RaiseDeadAbilityType.BASE_ID = fourCC("Arai")
|
|
13
|
+
__TS__SetDescriptor(
|
|
14
|
+
RaiseDeadAbilityType.prototype,
|
|
15
|
+
"firstSummonedUnitCount",
|
|
16
|
+
{
|
|
17
|
+
get = function(self)
|
|
18
|
+
return self:getNumberLevelField("Rai1")
|
|
19
|
+
end,
|
|
20
|
+
set = function(self, firstSummonedUnitCount)
|
|
21
|
+
self:setNumberLevelField("Rai1", firstSummonedUnitCount)
|
|
22
|
+
end
|
|
23
|
+
},
|
|
24
|
+
true
|
|
25
|
+
)
|
|
26
|
+
__TS__SetDescriptor(
|
|
27
|
+
RaiseDeadAbilityType.prototype,
|
|
28
|
+
"secondSummonedUnitCount",
|
|
29
|
+
{
|
|
30
|
+
get = function(self)
|
|
31
|
+
return self:getNumberLevelField("Rai2")
|
|
32
|
+
end,
|
|
33
|
+
set = function(self, secondSummonedUnitCount)
|
|
34
|
+
self:setNumberLevelField("Rai2", secondSummonedUnitCount)
|
|
35
|
+
end
|
|
36
|
+
},
|
|
37
|
+
true
|
|
38
|
+
)
|
|
39
|
+
__TS__SetDescriptor(
|
|
40
|
+
RaiseDeadAbilityType.prototype,
|
|
41
|
+
"firstSummonedUnitTypeId",
|
|
42
|
+
{
|
|
43
|
+
get = function(self)
|
|
44
|
+
return self:getObjectDataEntryNumericIdLevelField("Rai3")
|
|
45
|
+
end,
|
|
46
|
+
set = function(self, firstSummonedUnitTypeId)
|
|
47
|
+
self:setObjectDataEntryNumericIdLevelField("Rai3", firstSummonedUnitTypeId)
|
|
48
|
+
end
|
|
49
|
+
},
|
|
50
|
+
true
|
|
51
|
+
)
|
|
52
|
+
__TS__SetDescriptor(
|
|
53
|
+
RaiseDeadAbilityType.prototype,
|
|
54
|
+
"secondSummonedUnitTypeId",
|
|
55
|
+
{
|
|
56
|
+
get = function(self)
|
|
57
|
+
return self:getObjectDataEntryNumericIdLevelField("Rai4")
|
|
58
|
+
end,
|
|
59
|
+
set = function(self, secondSummonedUnitTypeId)
|
|
60
|
+
self:setObjectDataEntryNumericIdLevelField("Rai4", secondSummonedUnitTypeId)
|
|
61
|
+
end
|
|
62
|
+
},
|
|
63
|
+
true
|
|
64
|
+
)
|
|
65
|
+
__TS__SetDescriptor(
|
|
66
|
+
RaiseDeadAbilityType.prototype,
|
|
67
|
+
"limitCheckUnitTypeId",
|
|
68
|
+
{
|
|
69
|
+
get = function(self)
|
|
70
|
+
return self:getObjectDataEntryNumericIdLevelField("Raiu")
|
|
71
|
+
end,
|
|
72
|
+
set = function(self, limitCheckUnitTypeId)
|
|
73
|
+
self:setObjectDataEntryNumericIdLevelField("Raiu", limitCheckUnitTypeId)
|
|
74
|
+
end
|
|
75
|
+
},
|
|
76
|
+
true
|
|
77
|
+
)
|
|
78
|
+
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
|
|
@@ -15,10 +15,10 @@ __TS__SetDescriptor(
|
|
|
15
15
|
"summonedUnitTypeId",
|
|
16
16
|
{
|
|
17
17
|
get = function(self)
|
|
18
|
-
return self:
|
|
18
|
+
return self:getObjectDataEntryNumericIdLevelField("Hwe1")
|
|
19
19
|
end,
|
|
20
20
|
set = function(self, summonedUnitTypeId)
|
|
21
|
-
self:
|
|
21
|
+
self:setObjectDataEntryNumericIdLevelField("Hwe1", summonedUnitTypeId)
|
|
22
22
|
end
|
|
23
23
|
},
|
|
24
24
|
true
|
|
@@ -15,10 +15,10 @@ __TS__SetDescriptor(
|
|
|
15
15
|
"summonedUnitTypeId",
|
|
16
16
|
{
|
|
17
17
|
get = function(self)
|
|
18
|
-
return self:
|
|
18
|
+
return self:getObjectDataEntryNumericIdLevelField("Hwe1")
|
|
19
19
|
end,
|
|
20
20
|
set = function(self, summonedUnitTypeId)
|
|
21
|
-
self:
|
|
21
|
+
self:setObjectDataEntryNumericIdLevelField("Hwe1", summonedUnitTypeId)
|
|
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 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
|
|
@@ -6,12 +6,12 @@ import { AnimationQualifier } from "../auxiliary/animation-qualifier";
|
|
|
6
6
|
import { AttachmentPreset, AttachmentPresetInput } from "../auxiliary/attachment-preset";
|
|
7
7
|
import { CombatClassifications } from "../auxiliary/combat-classification";
|
|
8
8
|
import { Race } from "../auxiliary/race";
|
|
9
|
-
import { SoundPresetName } from "../auxiliary/sound-preset-name";
|
|
10
9
|
import { TechTreeDependency, TechTreeDependencyInput } from "../auxiliary/tech-tree-dependency";
|
|
11
10
|
import { ObjectDataEntry, ObjectDataEntryId, ObjectDataEntryLevelFieldValueSupplier } from "../entry";
|
|
12
11
|
import { BuffTypeId } from "./buff-type";
|
|
13
12
|
import { LightningTypeId } from "./lightning-type";
|
|
14
|
-
|
|
13
|
+
import { SoundPresetId } from "./sound-preset";
|
|
14
|
+
export type AbilityTypeId = ObjectDataEntryId & number & {
|
|
15
15
|
readonly __abilityTypeId: unique symbol;
|
|
16
16
|
};
|
|
17
17
|
export declare abstract class AbilityType extends ObjectDataEntry<AbilityTypeId> {
|
|
@@ -111,10 +111,12 @@ export declare abstract class AbilityType extends ObjectDataEntry<AbilityTypeId>
|
|
|
111
111
|
set turnOffTooltipText(turnOffTooltipText: ObjectDataEntryLevelFieldValueSupplier<string>);
|
|
112
112
|
get turnOffTooltipExtendedText(): string[];
|
|
113
113
|
set turnOffTooltipExtendedText(turnOffTooltipExtendedText: ObjectDataEntryLevelFieldValueSupplier<string>);
|
|
114
|
-
get
|
|
115
|
-
set
|
|
116
|
-
get
|
|
117
|
-
set
|
|
114
|
+
get casterEffectSoundPresetId(): SoundPresetId | undefined;
|
|
115
|
+
set casterEffectSoundPresetId(casterEffectSoundPresetId: SoundPresetId | undefined);
|
|
116
|
+
get casterEffectLoopingSoundPresetId(): SoundPresetId;
|
|
117
|
+
set casterEffectLoopingSoundPresetId(casterEffectLoopingSoundPresetId: SoundPresetId);
|
|
118
|
+
get targetEffectSoundPresetId(): SoundPresetId | undefined;
|
|
119
|
+
set targetEffectSoundPresetId(targetEffectSoundPresetId: SoundPresetId | undefined);
|
|
118
120
|
get allowedTargetCombatClassifications(): CombatClassifications[];
|
|
119
121
|
set allowedTargetCombatClassifications(allowedTargetCombatClassifications: ObjectDataEntryLevelFieldValueSupplier<CombatClassifications>);
|
|
120
122
|
get areaOfEffect(): number[];
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
local ____lualib = require("lualib_bundle")
|
|
2
2
|
local __TS__Class = ____lualib.__TS__Class
|
|
3
3
|
local __TS__ClassExtends = ____lualib.__TS__ClassExtends
|
|
4
|
-
local __TS__New = ____lualib.__TS__New
|
|
5
4
|
local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
|
|
5
|
+
local __TS__InstanceOf = ____lualib.__TS__InstanceOf
|
|
6
6
|
local ____exports = {}
|
|
7
7
|
local ____unit = require("engine.internal.unit")
|
|
8
8
|
local Unit = ____unit.Unit
|
|
@@ -31,14 +31,18 @@ local ____entry = require("engine.object-data.entry")
|
|
|
31
31
|
local extractObjectDataEntryLevelFieldValue = ____entry.extractObjectDataEntryLevelFieldValue
|
|
32
32
|
local ObjectDataEntry = ____entry.ObjectDataEntry
|
|
33
33
|
local ____object_2Ddata_2Dentry_2Did_2Dgenerator = require("engine.object-data.utility.object-data-entry-id-generator")
|
|
34
|
-
local
|
|
34
|
+
local abilityTypeIdGenerator = ____object_2Ddata_2Dentry_2Did_2Dgenerator.abilityTypeIdGenerator
|
|
35
35
|
local ____upgrade = require("engine.object-data.entry.upgrade")
|
|
36
36
|
local Upgrade = ____upgrade.Upgrade
|
|
37
|
+
local ____sound = require("core.types.sound")
|
|
38
|
+
local Sound3D = ____sound.Sound3D
|
|
39
|
+
local SoundSettings = ____sound.SoundSettings
|
|
37
40
|
local castAnimationFQNByAbilityTypeId = {}
|
|
38
41
|
local isButtonVisibleFalseAbilityTypes = {}
|
|
39
42
|
local casterCastingEffectPresetsByAbilityTypeId = {}
|
|
40
43
|
local casterChannelingEffectPresetsByAbilityTypeId = {}
|
|
41
44
|
local targetCastingEffectPresetsByAbilityTypeId = {}
|
|
45
|
+
local targetEffectSoundPresetByAbilityTypeId = {}
|
|
42
46
|
____exports.AbilityType = __TS__Class()
|
|
43
47
|
local AbilityType = ____exports.AbilityType
|
|
44
48
|
AbilityType.name = "AbilityType"
|
|
@@ -53,10 +57,7 @@ end
|
|
|
53
57
|
function AbilityType.getObjectData(self, map)
|
|
54
58
|
return map.objects.ability
|
|
55
59
|
end
|
|
56
|
-
AbilityType.idGenerator =
|
|
57
|
-
ObjectDataEntryIdGenerator,
|
|
58
|
-
fourCC("A000")
|
|
59
|
-
)
|
|
60
|
+
AbilityType.idGenerator = abilityTypeIdGenerator
|
|
60
61
|
__TS__SetDescriptor(
|
|
61
62
|
AbilityType.prototype,
|
|
62
63
|
"channelingAnimation",
|
|
@@ -275,10 +276,10 @@ __TS__SetDescriptor(
|
|
|
275
276
|
"lightningTypeIds",
|
|
276
277
|
{
|
|
277
278
|
get = function(self)
|
|
278
|
-
return self:
|
|
279
|
+
return self:getObjectDataEntryNumericIdsField("alig")
|
|
279
280
|
end,
|
|
280
281
|
set = function(self, lightningTypeIds)
|
|
281
|
-
self:
|
|
282
|
+
self:setObjectDataEntryNumericIdsField("alig", lightningTypeIds)
|
|
282
283
|
end
|
|
283
284
|
},
|
|
284
285
|
true
|
|
@@ -512,7 +513,7 @@ __TS__SetDescriptor(
|
|
|
512
513
|
"techTreeDependencies",
|
|
513
514
|
{
|
|
514
515
|
get = function(self)
|
|
515
|
-
local techTreeDependencyIds = self:
|
|
516
|
+
local techTreeDependencyIds = self:getObjectDataEntryNumericIdsField("areq")
|
|
516
517
|
local techTreeDependencyInternalLevels = self:getNumbersField("arqa")
|
|
517
518
|
return mapIndexed(
|
|
518
519
|
techTreeDependencyIds,
|
|
@@ -532,7 +533,7 @@ __TS__SetDescriptor(
|
|
|
532
533
|
map(techTreeDependencies, extractTechTreeDependencyInputLevel),
|
|
533
534
|
function(techTreeDependencyLevel) return techTreeDependencyLevel + 1 end
|
|
534
535
|
)
|
|
535
|
-
self:
|
|
536
|
+
self:setObjectDataEntryNumericIdsField("areq", techTreeDependencyIds)
|
|
536
537
|
self:setNumbersField("arqa", techTreeDependencyInternalLevels)
|
|
537
538
|
end
|
|
538
539
|
},
|
|
@@ -722,26 +723,40 @@ __TS__SetDescriptor(
|
|
|
722
723
|
)
|
|
723
724
|
__TS__SetDescriptor(
|
|
724
725
|
AbilityType.prototype,
|
|
725
|
-
"
|
|
726
|
+
"casterEffectSoundPresetId",
|
|
726
727
|
{
|
|
727
728
|
get = function(self)
|
|
728
|
-
|
|
729
|
+
local casterEffectSoundPresetId = self:getStringField("aefs")
|
|
730
|
+
return casterEffectSoundPresetId ~= "" and casterEffectSoundPresetId or nil
|
|
729
731
|
end,
|
|
730
|
-
set = function(self,
|
|
731
|
-
self:setStringField("aefs",
|
|
732
|
+
set = function(self, casterEffectSoundPresetId)
|
|
733
|
+
self:setStringField("aefs", casterEffectSoundPresetId or "")
|
|
732
734
|
end
|
|
733
735
|
},
|
|
734
736
|
true
|
|
735
737
|
)
|
|
736
738
|
__TS__SetDescriptor(
|
|
737
739
|
AbilityType.prototype,
|
|
738
|
-
"
|
|
740
|
+
"casterEffectLoopingSoundPresetId",
|
|
739
741
|
{
|
|
740
742
|
get = function(self)
|
|
741
743
|
return self:getStringField("aefl")
|
|
742
744
|
end,
|
|
743
|
-
set = function(self,
|
|
744
|
-
self:setStringField("aefl",
|
|
745
|
+
set = function(self, casterEffectLoopingSoundPresetId)
|
|
746
|
+
self:setStringField("aefl", casterEffectLoopingSoundPresetId)
|
|
747
|
+
end
|
|
748
|
+
},
|
|
749
|
+
true
|
|
750
|
+
)
|
|
751
|
+
__TS__SetDescriptor(
|
|
752
|
+
AbilityType.prototype,
|
|
753
|
+
"targetEffectSoundPresetId",
|
|
754
|
+
{
|
|
755
|
+
get = function(self)
|
|
756
|
+
return targetEffectSoundPresetByAbilityTypeId[self.id]
|
|
757
|
+
end,
|
|
758
|
+
set = function(self, targetEffectSoundPresetId)
|
|
759
|
+
targetEffectSoundPresetByAbilityTypeId[self.id] = targetEffectSoundPresetId
|
|
745
760
|
end
|
|
746
761
|
},
|
|
747
762
|
true
|
|
@@ -800,10 +815,10 @@ __TS__SetDescriptor(
|
|
|
800
815
|
"buffTypeIds",
|
|
801
816
|
{
|
|
802
817
|
get = function(self)
|
|
803
|
-
return self:
|
|
818
|
+
return self:getObjectDataEntryNumericIdsLevelField("abuf")
|
|
804
819
|
end,
|
|
805
820
|
set = function(self, buffTypeIds)
|
|
806
|
-
self:
|
|
821
|
+
self:setObjectDataEntryNumericIdsLevelField("abuf", buffTypeIds)
|
|
807
822
|
end
|
|
808
823
|
},
|
|
809
824
|
true
|
|
@@ -852,10 +867,10 @@ __TS__SetDescriptor(
|
|
|
852
867
|
"effectBuffTypeIds",
|
|
853
868
|
{
|
|
854
869
|
get = function(self)
|
|
855
|
-
return self:
|
|
870
|
+
return self:getObjectDataEntryNumericIdsLevelField("aeff")
|
|
856
871
|
end,
|
|
857
872
|
set = function(self, effectBuffTypeIds)
|
|
858
|
-
self:
|
|
873
|
+
self:setObjectDataEntryNumericIdsLevelField("aeff", effectBuffTypeIds)
|
|
859
874
|
end
|
|
860
875
|
},
|
|
861
876
|
true
|
|
@@ -970,6 +985,26 @@ for abilityTypeId, animationFQN in pairs(postcompile(function() return castAnima
|
|
|
970
985
|
end
|
|
971
986
|
)
|
|
972
987
|
end
|
|
988
|
+
for abilityTypeId, soundPresetId in pairs(postcompile(function() return targetEffectSoundPresetByAbilityTypeId end)) do
|
|
989
|
+
if soundPresetId ~= nil then
|
|
990
|
+
Unit.abilityWidgetTargetChannelingStartEvent[abilityTypeId]:addListener(
|
|
991
|
+
4,
|
|
992
|
+
function(caster, ability, target)
|
|
993
|
+
if __TS__InstanceOf(target, Unit) then
|
|
994
|
+
Sound3D:playFromLabel(soundPresetId, SoundSettings.Ability, target)
|
|
995
|
+
else
|
|
996
|
+
Sound3D:playFromLabel(soundPresetId, SoundSettings.Ability, target.x, target.y)
|
|
997
|
+
end
|
|
998
|
+
end
|
|
999
|
+
)
|
|
1000
|
+
Unit.abilityPointTargetChannelingStartEvent[abilityTypeId]:addListener(
|
|
1001
|
+
4,
|
|
1002
|
+
function(caster, ability, x, y)
|
|
1003
|
+
Sound3D:playFromLabel(soundPresetId, SoundSettings.Ability, x, y)
|
|
1004
|
+
end
|
|
1005
|
+
)
|
|
1006
|
+
end
|
|
1007
|
+
end
|
|
973
1008
|
local casterCastingEffectModelPathsByAbilityTypeId = postcompile(function()
|
|
974
1009
|
return mapValues(
|
|
975
1010
|
casterCastingEffectPresetsByAbilityTypeId,
|
|
@@ -999,7 +1034,7 @@ local function handleAbilityCastingStartEvent(caster, ability)
|
|
|
999
1034
|
end
|
|
1000
1035
|
casterCastingEffectsByCaster[caster] = effects
|
|
1001
1036
|
end
|
|
1002
|
-
local function
|
|
1037
|
+
local function handleAbilityStopCastingEvent(caster)
|
|
1003
1038
|
local effects = casterCastingEffectsByCaster[caster]
|
|
1004
1039
|
if effects ~= nil then
|
|
1005
1040
|
for i = 1, #effects do
|
|
@@ -1010,8 +1045,8 @@ local function handleAbilityStopEvent(caster)
|
|
|
1010
1045
|
end
|
|
1011
1046
|
for abilityTypeId in pairs(casterCastingEffectModelPathsByAbilityTypeId) do
|
|
1012
1047
|
Unit.abilityCastingStartEvent[abilityTypeId]:addListener(4, handleAbilityCastingStartEvent)
|
|
1013
|
-
Unit.abilityChannelingStartEvent[abilityTypeId]:addListener(4,
|
|
1014
|
-
Unit.abilityStopEvent[abilityTypeId]:addListener(4,
|
|
1048
|
+
Unit.abilityChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityStopCastingEvent)
|
|
1049
|
+
Unit.abilityStopEvent[abilityTypeId]:addListener(4, handleAbilityStopCastingEvent)
|
|
1015
1050
|
end
|
|
1016
1051
|
local casterChannelingEffectModelPathsByAbilityTypeId = postcompile(function()
|
|
1017
1052
|
return mapValues(
|
|
@@ -1042,7 +1077,7 @@ local function handleAbilityChannelingStartEvent(caster, ability)
|
|
|
1042
1077
|
end
|
|
1043
1078
|
casterChannelingEffectsByCaster[caster] = effects
|
|
1044
1079
|
end
|
|
1045
|
-
local function
|
|
1080
|
+
local function handleAbilityStopChannelingEvent(caster)
|
|
1046
1081
|
local effects = casterChannelingEffectsByCaster[caster]
|
|
1047
1082
|
if effects ~= nil then
|
|
1048
1083
|
for i = 1, #effects do
|
|
@@ -1053,7 +1088,7 @@ local function handleAbilityStopEventV2(caster)
|
|
|
1053
1088
|
end
|
|
1054
1089
|
for abilityTypeId in pairs(casterChannelingEffectModelPathsByAbilityTypeId) do
|
|
1055
1090
|
Unit.abilityChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityChannelingStartEvent)
|
|
1056
|
-
Unit.abilityChannelingFinishEvent[abilityTypeId]:addListener(4,
|
|
1057
|
-
Unit.abilityStopEvent[abilityTypeId]:addListener(4,
|
|
1091
|
+
Unit.abilityChannelingFinishEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
|
|
1092
|
+
Unit.abilityStopEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
|
|
1058
1093
|
end
|
|
1059
1094
|
return ____exports
|