warscript 0.0.1-dev.e7b1f67 → 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/binaryreader.d.ts +1 -0
- package/binaryreader.lua +3 -0
- package/config.d.ts +5 -0
- package/config.lua +10 -0
- package/core/types/effect.d.ts +13 -3
- package/core/types/effect.lua +116 -17
- package/core/types/frame.d.ts +8 -0
- package/core/types/frame.lua +93 -1
- 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 +18 -1
- package/engine/behavior.d.ts +6 -6
- package/engine/behavior.lua +6 -6
- package/engine/behaviour/ability/always-enabled.d.ts +7 -0
- package/engine/behaviour/ability/always-enabled.lua +31 -0
- package/engine/behaviour/ability/apply-buff.d.ts +8 -5
- 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 +36 -11
- package/engine/behaviour/ability/damage.lua +90 -32
- package/engine/behaviour/ability/emulate-impact.d.ts +6 -0
- package/engine/behaviour/ability/emulate-impact.lua +28 -0
- package/engine/behaviour/ability/heal.d.ts +33 -6
- package/engine/behaviour/ability/heal.lua +89 -10
- package/engine/behaviour/ability/instant-impact.d.ts +2 -2
- package/engine/behaviour/ability/instant-impact.lua +4 -19
- package/engine/behaviour/ability/on-command-impact.d.ts +8 -0
- package/engine/behaviour/ability/on-command-impact.lua +25 -0
- package/engine/behaviour/ability/remove-buffs.d.ts +16 -0
- package/engine/behaviour/ability/remove-buffs.lua +28 -0
- package/engine/behaviour/ability/restore-mana.d.ts +15 -0
- package/engine/behaviour/ability/restore-mana.lua +29 -0
- package/engine/behaviour/ability.d.ts +20 -4
- package/engine/behaviour/ability.lua +111 -38
- package/engine/behaviour/unit.d.ts +7 -0
- package/engine/behaviour/unit.lua +20 -0
- package/engine/buff.d.ts +101 -39
- package/engine/buff.lua +458 -203
- package/engine/game-map.d.ts +7 -0
- package/engine/game-map.lua +32 -0
- package/engine/internal/ability.d.ts +16 -13
- package/engine/internal/ability.lua +80 -76
- package/engine/internal/item/ability.lua +106 -0
- package/engine/internal/item+owner.lua +2 -2
- 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/misc/ability-disable-counter.d.ts +2 -0
- package/engine/internal/misc/ability-disable-counter.lua +13 -0
- 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/ability.d.ts +10 -1
- package/engine/internal/unit/ability.lua +36 -14
- 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 +6 -2
- package/engine/internal/unit/bonus.lua +23 -1
- 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.d.ts +24 -0
- package/engine/internal/unit/item.lua +78 -0
- package/engine/internal/unit/main-selected.d.ts +13 -0
- package/engine/internal/unit/main-selected.lua +51 -0
- package/engine/internal/unit+ability.lua +2 -2
- package/engine/internal/unit+transport.lua +4 -10
- package/engine/internal/unit-missile-launch.lua +24 -5
- package/engine/internal/unit.d.ts +32 -11
- package/engine/internal/unit.lua +183 -88
- package/engine/internal/utility.lua +12 -0
- package/engine/lightning.d.ts +12 -5
- package/engine/lightning.lua +48 -14
- package/engine/local-client.d.ts +7 -2
- package/engine/local-client.lua +82 -0
- 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/sound-preset-name.d.ts +5 -1
- 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 +15 -1
- package/engine/object-data/entry/item-type.lua +93 -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 +26 -3
- package/engine/object-field/ability.lua +54 -1
- 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/standard/fields/ability.d.ts +2 -0
- package/engine/standard/fields/ability.lua +2 -0
- package/engine/unit.d.ts +3 -0
- package/engine/unit.lua +3 -0
- package/index.d.ts +1 -0
- package/index.lua +1 -0
- package/lualib_bundle.lua +7 -2
- package/net/socket.d.ts +7 -1
- package/net/socket.lua +45 -4
- package/network.d.ts +1 -0
- package/network.lua +3 -2
- package/objutil/buff.lua +1 -1
- package/objutil/unit.lua +8 -0
- package/package.json +2 -2
- package/patch-lua.d.ts +0 -0
- package/patch-lua.lua +10 -0
- package/property.d.ts +55 -0
- package/property.lua +374 -0
- package/utility/arrays.d.ts +8 -1
- package/utility/arrays.lua +34 -3
- package/utility/lazy.d.ts +2 -0
- package/utility/lazy.lua +14 -0
- package/utility/linked-set.d.ts +11 -2
- package/utility/linked-set.lua +5 -2
- package/utility/reflection.lua +11 -7
- package/utility/types.d.ts +1 -0
- package/core/mapbounds.d.ts +0 -8
- package/core/mapbounds.lua +0 -12
|
@@ -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
|
|
@@ -10,8 +10,8 @@ local ____exports = {}
|
|
|
10
10
|
local preparePhysicalPositiveApplicatorAbility
|
|
11
11
|
local ____ability_2Dtype = require("engine.object-data.entry.ability-type")
|
|
12
12
|
local AbilityType = ____ability_2Dtype.AbilityType
|
|
13
|
-
local
|
|
14
|
-
local
|
|
13
|
+
local ____curse = require("engine.object-data.entry.ability-type.curse")
|
|
14
|
+
local CurseAbilityType = ____curse.CurseAbilityType
|
|
15
15
|
local ____searing_2Darrows = require("engine.object-data.entry.ability-type.searing-arrows")
|
|
16
16
|
local SearingArrowsAbilityType = ____searing_2Darrows.SearingArrowsAbilityType
|
|
17
17
|
local ____slow_2Dpoison = require("engine.object-data.entry.ability-type.slow-poison")
|
|
@@ -30,7 +30,6 @@ local ____arrays = require("utility.arrays")
|
|
|
30
30
|
local chunked = ____arrays.chunked
|
|
31
31
|
local map = ____arrays.map
|
|
32
32
|
local max = ____arrays.max
|
|
33
|
-
local toLuaSet = ____arrays.toLuaSet
|
|
34
33
|
local ____blood_2Dlust = require("engine.object-data.entry.ability-type.blood-lust")
|
|
35
34
|
local BloodLustAbilityType = ____blood_2Dlust.BloodLustAbilityType
|
|
36
35
|
local ____berserk = require("engine.object-data.entry.ability-type.berserk")
|
|
@@ -43,22 +42,11 @@ local ____permanent_2Dimmolation = require("engine.object-data.entry.ability-typ
|
|
|
43
42
|
local PermanentImmolationAbilityType = ____permanent_2Dimmolation.PermanentImmolationAbilityType
|
|
44
43
|
local ____cast_2Dability = require("engine.internal.mechanics.cast-ability")
|
|
45
44
|
local castAbility = ____cast_2Dability.castAbility
|
|
46
|
-
local createItem = CreateItem
|
|
47
|
-
local getAbilityId = BlzGetAbilityId
|
|
48
|
-
local getItemAbility = BlzGetItemAbility
|
|
49
|
-
local getOwningPlayer = GetOwningPlayer
|
|
50
|
-
local getUnitAbilityByIndex = BlzGetUnitAbilityByIndex
|
|
51
|
-
local itemAddAbility = BlzItemAddAbility
|
|
52
|
-
local removeItem = RemoveItem
|
|
53
45
|
local setAbilityIntegerField = BlzSetAbilityIntegerField
|
|
54
46
|
local setAbilityRealLevelField = BlzSetAbilityRealLevelField
|
|
55
|
-
local setItemBooleanField = BlzSetItemBooleanField
|
|
56
47
|
local setPlayerTechResearched = SetPlayerTechResearched
|
|
57
48
|
local unitAddAbility = UnitAddAbility
|
|
58
|
-
local unitAddItem = UnitAddItem
|
|
59
49
|
local unitDisableAbility = BlzUnitDisableAbility
|
|
60
|
-
local unitDropItemSlot = UnitDropItemSlot
|
|
61
|
-
local unitInventorySize = UnitInventorySize
|
|
62
50
|
local unitRemoveAbility = UnitRemoveAbility
|
|
63
51
|
local compiletimeApplicableBuffTypes = {}
|
|
64
52
|
____exports.ApplicableBuffType = __TS__Class()
|
|
@@ -86,7 +74,7 @@ local applicatorAbilityTypeIdByApplicatorTypeByApplicableBuffTypeId, applicatorU
|
|
|
86
74
|
abilityType.buttonPositionY = -11
|
|
87
75
|
abilityType.casterAttachmentPresets = {}
|
|
88
76
|
abilityType.targetEffectPresets = {}
|
|
89
|
-
abilityType.
|
|
77
|
+
abilityType.casterEffectSoundPresetId = nil
|
|
90
78
|
abilityType.learnLevelMinimum = 6
|
|
91
79
|
abilityType.race = "other"
|
|
92
80
|
abilityType.shouldCheckTechTreeDependencies = false
|
|
@@ -113,12 +101,10 @@ local applicatorAbilityTypeIdByApplicatorTypeByApplicableBuffTypeId, applicatorU
|
|
|
113
101
|
local applicatorAbilityTypeIdByApplicatorType = {}
|
|
114
102
|
if applicableBuffType.resistanceType == 1 or applicableBuffType.resistanceType == nil then
|
|
115
103
|
if applicableBuffType.polarity == 2 or applicableBuffType.polarity == nil then
|
|
116
|
-
local applicatorAbilityType = prepareAbilityType(
|
|
117
|
-
applicatorAbilityType.
|
|
118
|
-
applicatorAbilityType.attackSpeedDecreaseFactor = 0
|
|
119
|
-
applicatorAbilityType.damageDecreaseFactor = 0
|
|
104
|
+
local applicatorAbilityType = prepareAbilityType(CurseAbilityType, applicableBuffType)
|
|
105
|
+
applicatorAbilityType.missProbability = 0
|
|
120
106
|
applicatorAbilityType.buffTypeIds = {applicableBuffType.id}
|
|
121
|
-
applicatorAbilityTypeIdByApplicatorType[
|
|
107
|
+
applicatorAbilityTypeIdByApplicatorType[852190] = applicatorAbilityType.id
|
|
122
108
|
end
|
|
123
109
|
if applicableBuffType.polarity == 1 or applicableBuffType.polarity == nil then
|
|
124
110
|
local applicatorAbilityType = prepareAbilityType(BloodLustAbilityType, applicableBuffType)
|
|
@@ -204,15 +190,6 @@ local EVASION_ABILITY_TYPE_IDS = postcompile(function()
|
|
|
204
190
|
"AIcs"
|
|
205
191
|
}, fourCC))
|
|
206
192
|
end)
|
|
207
|
-
local INVENTORY_ABILITY_TYPE_IDS = postcompile(function()
|
|
208
|
-
return toLuaSet(AbilityType:getAllIdsByBaseIds(map({
|
|
209
|
-
"AInv",
|
|
210
|
-
"Aihn",
|
|
211
|
-
"Aien",
|
|
212
|
-
"Aion",
|
|
213
|
-
"Aiun"
|
|
214
|
-
}, fourCC)))
|
|
215
|
-
end)
|
|
216
193
|
local SEARING_ARROWS_DUMMY_ABILITY_TYPE_ID = compiletime(function()
|
|
217
194
|
local abilityType = SearingArrowsAbilityType:create()
|
|
218
195
|
abilityType.isInternal = true
|
|
@@ -244,8 +221,8 @@ Unit.abilityCastingStartEvent[SEARING_ARROWS_DUMMY_ABILITY_TYPE_ID]:addListener(
|
|
|
244
221
|
)
|
|
245
222
|
---
|
|
246
223
|
-- @internal For use by internal systems only.
|
|
247
|
-
____exports.internalApplyBuff = function(unit, applicableBuffTypeId, polarity, resistanceType, level, duration, spellStealPriority, learnLevelMinimum,
|
|
248
|
-
local applicatorType = polarity == 1 and (resistanceType == 1 and 852101 or 852100) or (polarity == 2 and (resistanceType == 1 and
|
|
224
|
+
____exports.internalApplyBuff = function(unit, applicableBuffTypeId, polarity, resistanceType, level, duration, spellStealPriority, learnLevelMinimum, missProbability)
|
|
225
|
+
local applicatorType = polarity == 1 and (resistanceType == 1 and 852101 or 852100) or (polarity == 2 and (resistanceType == 1 and 852190 or 852173) or 0)
|
|
249
226
|
local ____opt_1 = applicatorAbilityTypeIdByApplicatorTypeByApplicableBuffTypeId[applicableBuffTypeId]
|
|
250
227
|
local applicatorAbilityTypeId = ____opt_1 and ____opt_1[applicatorType]
|
|
251
228
|
if applicatorAbilityTypeId == nil then
|
|
@@ -267,8 +244,7 @@ ____exports.internalApplyBuff = function(unit, applicableBuffTypeId, polarity, r
|
|
|
267
244
|
applicatorAbilityTypeId,
|
|
268
245
|
preparePhysicalPositiveApplicatorAbility,
|
|
269
246
|
level,
|
|
270
|
-
duration or 0
|
|
271
|
-
movementSpeedIncreaseFactor
|
|
247
|
+
duration or 0
|
|
272
248
|
)
|
|
273
249
|
if level ~= nil and level > 0 then
|
|
274
250
|
local upgradeId = applicatorUpgradeIdByApplicatorAbilityTypeId[applicatorAbilityTypeId]
|
|
@@ -298,6 +274,9 @@ ____exports.internalApplyBuff = function(unit, applicableBuffTypeId, polarity, r
|
|
|
298
274
|
ability:setField(ABILITY_RLF_DURATION_HERO, level, actualDuration)
|
|
299
275
|
ability:setField(ABILITY_IF_PRIORITY, spellStealPriority or 0)
|
|
300
276
|
ability:setField(ABILITY_IF_REQUIRED_LEVEL, learnLevelMinimum or 6)
|
|
277
|
+
if missProbability ~= nil and applicatorType == 852190 then
|
|
278
|
+
ability:setField(ABILITY_RLF_CHANCE_TO_MISS_CRS, missProbability)
|
|
279
|
+
end
|
|
301
280
|
end,
|
|
302
281
|
applicatorType,
|
|
303
282
|
unit
|
|
@@ -309,16 +288,13 @@ ____exports.internalApplyBuff = function(unit, applicableBuffTypeId, polarity, r
|
|
|
309
288
|
end
|
|
310
289
|
return success
|
|
311
290
|
end
|
|
312
|
-
preparePhysicalPositiveApplicatorAbility = function(ability, level, duration
|
|
291
|
+
preparePhysicalPositiveApplicatorAbility = function(ability, level, duration)
|
|
313
292
|
if level == nil then
|
|
314
293
|
setAbilityIntegerField(ability, ABILITY_IF_LEVELS, 1)
|
|
315
294
|
level = 1
|
|
316
295
|
end
|
|
317
296
|
setAbilityRealLevelField(ability, ABILITY_RLF_DURATION_NORMAL, level, duration)
|
|
318
297
|
setAbilityRealLevelField(ability, ABILITY_RLF_DURATION_HERO, level, duration)
|
|
319
|
-
if movementSpeedIncreaseFactor ~= nil then
|
|
320
|
-
setAbilityRealLevelField(ability, ABILITY_RLF_MOVEMENT_SPEED_INCREASE_BSK1, level, movementSpeedIncreaseFactor)
|
|
321
|
-
end
|
|
322
298
|
end
|
|
323
299
|
---
|
|
324
300
|
-- @internal For use by internal systems only.
|
|
@@ -5,7 +5,7 @@ import { Race } from "../auxiliary/race";
|
|
|
5
5
|
import { SoundPresetName } from "../auxiliary/sound-preset-name";
|
|
6
6
|
import { ObjectDataEntry, ObjectDataEntryId } from "../entry";
|
|
7
7
|
import { LightningTypeId } from "./lightning-type";
|
|
8
|
-
export type BuffTypeId = ObjectDataEntryId & {
|
|
8
|
+
export type BuffTypeId = ObjectDataEntryId & number & {
|
|
9
9
|
readonly __buffTypeId: unique symbol;
|
|
10
10
|
};
|
|
11
11
|
export declare abstract class BuffType<Id extends BuffTypeId = BuffTypeId> extends ObjectDataEntry<Id> {
|
|
@@ -94,10 +94,10 @@ __TS__SetDescriptor(
|
|
|
94
94
|
"lightningTypeIds",
|
|
95
95
|
{
|
|
96
96
|
get = function(self)
|
|
97
|
-
return self:
|
|
97
|
+
return self:getObjectDataEntryNumericIdsField("flig")
|
|
98
98
|
end,
|
|
99
99
|
set = function(self, lightningTypeIds)
|
|
100
|
-
self:
|
|
100
|
+
self:setObjectDataEntryNumericIdsField("flig", lightningTypeIds)
|
|
101
101
|
end
|
|
102
102
|
},
|
|
103
103
|
true
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { ArmorSoundType } from "../auxiliary/armor-sound-type";
|
|
3
3
|
import { CombatClassifications } from "../auxiliary/combat-classification";
|
|
4
4
|
import { ObjectDataEntry, ObjectDataEntryId } from "../entry";
|
|
5
|
-
export type DestructibleTypeId = ObjectDataEntryId & {
|
|
5
|
+
export type DestructibleTypeId = ObjectDataEntryId & number & {
|
|
6
6
|
readonly __destructibleTypeId: unique symbol;
|
|
7
7
|
};
|
|
8
8
|
export declare abstract class DestructibleType extends ObjectDataEntry<DestructibleTypeId> {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import { ArmorSoundType } from "../auxiliary/armor-sound-type";
|
|
3
3
|
import { ObjectDataEntry, ObjectDataEntryId } from "../entry";
|
|
4
4
|
import type { AbilityTypeId } from "./ability-type";
|
|
5
|
-
export type ItemTypeId = ObjectDataEntryId & {
|
|
5
|
+
export type ItemTypeId = ObjectDataEntryId & number & {
|
|
6
6
|
readonly __itemTypeId: unique symbol;
|
|
7
7
|
};
|
|
8
8
|
export declare class ItemType extends ObjectDataEntry<ItemTypeId> {
|
|
@@ -45,4 +45,18 @@ export declare class ItemType extends ObjectDataEntry<ItemTypeId> {
|
|
|
45
45
|
set tooltipText(tooltipText: string);
|
|
46
46
|
get tooltipExtendedText(): string;
|
|
47
47
|
set tooltipExtendedText(tooltipText: string);
|
|
48
|
+
get cooldownGroupId(): number;
|
|
49
|
+
set cooldownGroupId(cooldownGroupId: number);
|
|
50
|
+
get goldCost(): number;
|
|
51
|
+
set goldCost(goldCost: number);
|
|
52
|
+
get lumberCost(): number;
|
|
53
|
+
set lumberCost(lumberCost: number);
|
|
54
|
+
get activelyUsed(): boolean;
|
|
55
|
+
set activelyUsed(activelyUsed: boolean);
|
|
56
|
+
get perishable(): boolean;
|
|
57
|
+
set perishable(perishable: boolean);
|
|
58
|
+
get initialStackSize(): number;
|
|
59
|
+
set initialStackSize(initialStackSize: number);
|
|
60
|
+
get maximumStackSize(): number;
|
|
61
|
+
set maximumStackSize(maximumStackSize: number);
|
|
48
62
|
}
|