warscript 0.0.1-dev.d5f6f38 → 0.0.1-dev.d690591
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 +2 -3
- package/core/types/effect.lua +97 -50
- package/core/types/sound.d.ts +17 -24
- package/core/types/sound.lua +99 -24
- package/core/types/timer.d.ts +6 -7
- package/core/types/timer.lua +18 -21
- package/core/util.d.ts +1 -1
- package/core/util.lua +12 -1
- package/decl/native.d.ts +840 -786
- 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 +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 +9 -3
- package/engine/behaviour/ability/damage.lua +26 -38
- package/engine/behaviour/ability/emulate-impact.d.ts +6 -0
- package/engine/behaviour/ability/emulate-impact.lua +35 -0
- 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.d.ts +20 -4
- package/engine/behaviour/ability.lua +111 -38
- 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 +13 -2
- package/engine/internal/ability.lua +77 -4
- package/engine/internal/item/ability.lua +106 -0
- package/engine/internal/item.d.ts +4 -3
- 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/misc/damage-metadata-by-target.d.ts +2 -0
- package/engine/internal/misc/damage-metadata-by-target.lua +5 -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 -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+damage.d.ts +2 -11
- package/engine/internal/unit+damage.lua +10 -14
- package/engine/internal/unit+spellSteal.lua +1 -2
- package/engine/internal/unit.d.ts +19 -3
- package/engine/internal/unit.lua +144 -45
- 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/attachment-preset.d.ts +7 -2
- package/engine/object-data/auxiliary/attachment-preset.lua +4 -3
- package/engine/object-data/auxiliary/attack-type.d.ts +7 -8
- package/engine/object-data/auxiliary/attack-type.lua +42 -0
- package/engine/object-data/auxiliary/movement-type.d.ts +7 -7
- package/engine/object-data/auxiliary/movement-type.lua +22 -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/auxiliary/unit-attribute.d.ts +6 -0
- package/engine/object-data/auxiliary/unit-attribute.lua +9 -0
- package/engine/object-data/entry/ability-type/berserk.d.ts +2 -0
- package/engine/object-data/entry/ability-type/berserk.lua +13 -0
- 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/slow-poison.d.ts +10 -0
- package/engine/object-data/entry/ability-type/slow-poison.lua +58 -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 +19 -17
- package/engine/object-data/entry/ability-type.lua +89 -33
- package/engine/object-data/entry/buff-type/applicable.lua +18 -37
- package/engine/object-data/entry/buff-type.d.ts +6 -12
- package/engine/object-data/entry/buff-type.lua +13 -29
- 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 +10 -3
- package/engine/object-data/entry/unit-type.lua +155 -92
- 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 +10 -4
- package/engine/object-field/ability.lua +3 -0
- package/engine/object-field/unit.d.ts +46 -3
- package/engine/object-field/unit.lua +173 -7
- package/engine/object-field.d.ts +11 -3
- package/engine/object-field.lua +162 -76
- package/engine/standard/entries/buff-type.d.ts +3 -0
- package/engine/standard/entries/buff-type.lua +3 -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 +1 -0
- package/engine/unit.lua +1 -0
- package/objutil/buff.lua +1 -2
- package/objutil/unit.lua +8 -0
- package/package.json +2 -2
- package/utility/arrays.d.ts +1 -0
- package/utility/arrays.lua +3 -0
- package/utility/functions.d.ts +1 -0
- package/utility/functions.lua +1 -0
- package/utility/lazy.d.ts +2 -0
- package/utility/lazy.lua +14 -0
- package/utility/linked-set.d.ts +1 -0
- package/utility/linked-set.lua +3 -0
- package/utility/lua-maps.d.ts +3 -0
- package/utility/lua-maps.lua +16 -0
- package/utility/lua-sets.d.ts +1 -0
- package/utility/lua-sets.lua +3 -0
- package/utility/reflection.lua +11 -7
|
@@ -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
|
|
@@ -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
|
|
@@ -3,15 +3,15 @@ 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 {
|
|
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
|
-
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> {
|
|
@@ -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():
|
|
31
|
-
set casterCastingEffectPresets(casterCastingEffectPresets:
|
|
32
|
-
get casterChannelingEffectPresets():
|
|
33
|
-
set casterChannelingEffectPresets(casterChannelingEffectPresets:
|
|
34
|
-
get casterAttachmentPresets(): TupleOf<
|
|
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():
|
|
66
|
+
get specialAttachmentPreset(): EffectPresetWithParameters | undefined;
|
|
67
67
|
set specialAttachmentPreset(specialAttachmentPreset: AttachmentPresetInput | undefined);
|
|
68
|
-
get targetCastingEffectPresets():
|
|
68
|
+
get targetCastingEffectPresets(): EffectPresetWithParameters[];
|
|
69
69
|
set targetCastingEffectPresets(targetCastingEffectPresets: AttachmentPresetInput[]);
|
|
70
|
-
get targetEffectPresets(): TupleOf<
|
|
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<
|
|
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<
|
|
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);
|
|
@@ -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
|
|
@@ -20,7 +20,7 @@ local mapIndexed = ____arrays.mapIndexed
|
|
|
20
20
|
local ____attachment_2Dpreset = require("engine.object-data.auxiliary.attachment-preset")
|
|
21
21
|
local extractAttachmentPresetInputModelPath = ____attachment_2Dpreset.extractAttachmentPresetInputModelPath
|
|
22
22
|
local extractAttachmentPresetInputNodeFQN = ____attachment_2Dpreset.extractAttachmentPresetInputNodeFQN
|
|
23
|
-
local
|
|
23
|
+
local toEffectPreset = ____attachment_2Dpreset.toEffectPreset
|
|
24
24
|
local ____combat_2Dclassification = require("engine.object-data.auxiliary.combat-classification")
|
|
25
25
|
local combatClassificationsToStringArray = ____combat_2Dclassification.combatClassificationsToStringArray
|
|
26
26
|
local stringArrayToCombatClassifications = ____combat_2Dclassification.stringArrayToCombatClassifications
|
|
@@ -31,14 +31,19 @@ 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 isSoundLabelCustom = ____sound.isSoundLabelCustom
|
|
39
|
+
local Sound3D = ____sound.Sound3D
|
|
40
|
+
local SoundSettings = ____sound.SoundSettings
|
|
37
41
|
local castAnimationFQNByAbilityTypeId = {}
|
|
38
42
|
local isButtonVisibleFalseAbilityTypes = {}
|
|
39
43
|
local casterCastingEffectPresetsByAbilityTypeId = {}
|
|
40
44
|
local casterChannelingEffectPresetsByAbilityTypeId = {}
|
|
41
45
|
local targetCastingEffectPresetsByAbilityTypeId = {}
|
|
46
|
+
local targetEffectSoundPresetByAbilityTypeId = {}
|
|
42
47
|
____exports.AbilityType = __TS__Class()
|
|
43
48
|
local AbilityType = ____exports.AbilityType
|
|
44
49
|
AbilityType.name = "AbilityType"
|
|
@@ -53,10 +58,7 @@ end
|
|
|
53
58
|
function AbilityType.getObjectData(self, map)
|
|
54
59
|
return map.objects.ability
|
|
55
60
|
end
|
|
56
|
-
AbilityType.idGenerator =
|
|
57
|
-
ObjectDataEntryIdGenerator,
|
|
58
|
-
fourCC("A000")
|
|
59
|
-
)
|
|
61
|
+
AbilityType.idGenerator = abilityTypeIdGenerator
|
|
60
62
|
__TS__SetDescriptor(
|
|
61
63
|
AbilityType.prototype,
|
|
62
64
|
"channelingAnimation",
|
|
@@ -117,7 +119,7 @@ __TS__SetDescriptor(
|
|
|
117
119
|
return casterCastingEffectPresetsByAbilityTypeId[self.id] or ({})
|
|
118
120
|
end,
|
|
119
121
|
set = function(self, casterCastingEffectPresets)
|
|
120
|
-
casterCastingEffectPresetsByAbilityTypeId[self.id] = map(casterCastingEffectPresets,
|
|
122
|
+
casterCastingEffectPresetsByAbilityTypeId[self.id] = map(casterCastingEffectPresets, toEffectPreset)
|
|
121
123
|
end
|
|
122
124
|
},
|
|
123
125
|
true
|
|
@@ -130,7 +132,7 @@ __TS__SetDescriptor(
|
|
|
130
132
|
return casterChannelingEffectPresetsByAbilityTypeId[self.id] or ({})
|
|
131
133
|
end,
|
|
132
134
|
set = function(self, casterChannelingEffectPresets)
|
|
133
|
-
casterChannelingEffectPresetsByAbilityTypeId[self.id] = map(casterChannelingEffectPresets,
|
|
135
|
+
casterChannelingEffectPresetsByAbilityTypeId[self.id] = map(casterChannelingEffectPresets, toEffectPreset)
|
|
134
136
|
end
|
|
135
137
|
},
|
|
136
138
|
true
|
|
@@ -275,10 +277,10 @@ __TS__SetDescriptor(
|
|
|
275
277
|
"lightningTypeIds",
|
|
276
278
|
{
|
|
277
279
|
get = function(self)
|
|
278
|
-
return self:
|
|
280
|
+
return self:getObjectDataEntryNumericIdsField("alig")
|
|
279
281
|
end,
|
|
280
282
|
set = function(self, lightningTypeIds)
|
|
281
|
-
self:
|
|
283
|
+
self:setObjectDataEntryNumericIdsField("alig", lightningTypeIds)
|
|
282
284
|
end
|
|
283
285
|
},
|
|
284
286
|
true
|
|
@@ -369,7 +371,7 @@ __TS__SetDescriptor(
|
|
|
369
371
|
return targetCastingEffectPresetsByAbilityTypeId[self.id] or ({})
|
|
370
372
|
end,
|
|
371
373
|
set = function(self, targetCastingEffectPresets)
|
|
372
|
-
targetCastingEffectPresetsByAbilityTypeId[self.id] = map(targetCastingEffectPresets,
|
|
374
|
+
targetCastingEffectPresetsByAbilityTypeId[self.id] = map(targetCastingEffectPresets, toEffectPreset)
|
|
373
375
|
end
|
|
374
376
|
},
|
|
375
377
|
true
|
|
@@ -512,7 +514,7 @@ __TS__SetDescriptor(
|
|
|
512
514
|
"techTreeDependencies",
|
|
513
515
|
{
|
|
514
516
|
get = function(self)
|
|
515
|
-
local techTreeDependencyIds = self:
|
|
517
|
+
local techTreeDependencyIds = self:getObjectDataEntryNumericIdsField("areq")
|
|
516
518
|
local techTreeDependencyInternalLevels = self:getNumbersField("arqa")
|
|
517
519
|
return mapIndexed(
|
|
518
520
|
techTreeDependencyIds,
|
|
@@ -532,7 +534,7 @@ __TS__SetDescriptor(
|
|
|
532
534
|
map(techTreeDependencies, extractTechTreeDependencyInputLevel),
|
|
533
535
|
function(techTreeDependencyLevel) return techTreeDependencyLevel + 1 end
|
|
534
536
|
)
|
|
535
|
-
self:
|
|
537
|
+
self:setObjectDataEntryNumericIdsField("areq", techTreeDependencyIds)
|
|
536
538
|
self:setNumbersField("arqa", techTreeDependencyInternalLevels)
|
|
537
539
|
end
|
|
538
540
|
},
|
|
@@ -722,26 +724,40 @@ __TS__SetDescriptor(
|
|
|
722
724
|
)
|
|
723
725
|
__TS__SetDescriptor(
|
|
724
726
|
AbilityType.prototype,
|
|
725
|
-
"
|
|
727
|
+
"casterEffectSoundPresetId",
|
|
726
728
|
{
|
|
727
729
|
get = function(self)
|
|
728
|
-
|
|
730
|
+
local casterEffectSoundPresetId = self:getStringField("aefs")
|
|
731
|
+
return casterEffectSoundPresetId ~= "" and casterEffectSoundPresetId or nil
|
|
729
732
|
end,
|
|
730
|
-
set = function(self,
|
|
731
|
-
self:setStringField("aefs",
|
|
733
|
+
set = function(self, casterEffectSoundPresetId)
|
|
734
|
+
self:setStringField("aefs", casterEffectSoundPresetId or "")
|
|
732
735
|
end
|
|
733
736
|
},
|
|
734
737
|
true
|
|
735
738
|
)
|
|
736
739
|
__TS__SetDescriptor(
|
|
737
740
|
AbilityType.prototype,
|
|
738
|
-
"
|
|
741
|
+
"casterEffectLoopingSoundPresetId",
|
|
739
742
|
{
|
|
740
743
|
get = function(self)
|
|
741
744
|
return self:getStringField("aefl")
|
|
742
745
|
end,
|
|
743
|
-
set = function(self,
|
|
744
|
-
self:setStringField("aefl",
|
|
746
|
+
set = function(self, casterEffectLoopingSoundPresetId)
|
|
747
|
+
self:setStringField("aefl", casterEffectLoopingSoundPresetId)
|
|
748
|
+
end
|
|
749
|
+
},
|
|
750
|
+
true
|
|
751
|
+
)
|
|
752
|
+
__TS__SetDescriptor(
|
|
753
|
+
AbilityType.prototype,
|
|
754
|
+
"targetEffectSoundPresetId",
|
|
755
|
+
{
|
|
756
|
+
get = function(self)
|
|
757
|
+
return targetEffectSoundPresetByAbilityTypeId[self.id]
|
|
758
|
+
end,
|
|
759
|
+
set = function(self, targetEffectSoundPresetId)
|
|
760
|
+
targetEffectSoundPresetByAbilityTypeId[self.id] = targetEffectSoundPresetId
|
|
745
761
|
end
|
|
746
762
|
},
|
|
747
763
|
true
|
|
@@ -800,10 +816,10 @@ __TS__SetDescriptor(
|
|
|
800
816
|
"buffTypeIds",
|
|
801
817
|
{
|
|
802
818
|
get = function(self)
|
|
803
|
-
return self:
|
|
819
|
+
return self:getObjectDataEntryNumericIdsLevelField("abuf")
|
|
804
820
|
end,
|
|
805
821
|
set = function(self, buffTypeIds)
|
|
806
|
-
self:
|
|
822
|
+
self:setObjectDataEntryNumericIdsLevelField("abuf", buffTypeIds)
|
|
807
823
|
end
|
|
808
824
|
},
|
|
809
825
|
true
|
|
@@ -852,10 +868,10 @@ __TS__SetDescriptor(
|
|
|
852
868
|
"effectBuffTypeIds",
|
|
853
869
|
{
|
|
854
870
|
get = function(self)
|
|
855
|
-
return self:
|
|
871
|
+
return self:getObjectDataEntryNumericIdsLevelField("aeff")
|
|
856
872
|
end,
|
|
857
873
|
set = function(self, effectBuffTypeIds)
|
|
858
|
-
self:
|
|
874
|
+
self:setObjectDataEntryNumericIdsLevelField("aeff", effectBuffTypeIds)
|
|
859
875
|
end
|
|
860
876
|
},
|
|
861
877
|
true
|
|
@@ -970,6 +986,32 @@ for abilityTypeId, animationFQN in pairs(postcompile(function() return castAnima
|
|
|
970
986
|
end
|
|
971
987
|
)
|
|
972
988
|
end
|
|
989
|
+
for abilityTypeId, soundPresetId in pairs(postcompile(function() return targetEffectSoundPresetByAbilityTypeId end)) do
|
|
990
|
+
if soundPresetId ~= nil then
|
|
991
|
+
Unit.abilityWidgetTargetChannelingStartEvent[abilityTypeId]:addListener(
|
|
992
|
+
4,
|
|
993
|
+
function(caster, ability, target)
|
|
994
|
+
if __TS__InstanceOf(target, Unit) then
|
|
995
|
+
Sound3D:playFromLabel(soundPresetId, SoundSettings.Ability, target)
|
|
996
|
+
else
|
|
997
|
+
Sound3D:playFromLabel(soundPresetId, SoundSettings.Ability, target.x, target.y)
|
|
998
|
+
end
|
|
999
|
+
end
|
|
1000
|
+
)
|
|
1001
|
+
Unit.abilityPointTargetChannelingStartEvent[abilityTypeId]:addListener(
|
|
1002
|
+
4,
|
|
1003
|
+
function(caster, ability, x, y)
|
|
1004
|
+
Sound3D:playFromLabel(soundPresetId, SoundSettings.Ability, x, y)
|
|
1005
|
+
end
|
|
1006
|
+
)
|
|
1007
|
+
end
|
|
1008
|
+
end
|
|
1009
|
+
Unit.abilityChannelingStartEvent:addListener(function(caster, ability)
|
|
1010
|
+
local soundPresetId = ability:getField(ABILITY_SF_EFFECT_SOUND)
|
|
1011
|
+
if isSoundLabelCustom(soundPresetId) then
|
|
1012
|
+
Sound3D:playFromLabel(soundPresetId, SoundSettings.Ability, caster)
|
|
1013
|
+
end
|
|
1014
|
+
end)
|
|
973
1015
|
local casterCastingEffectModelPathsByAbilityTypeId = postcompile(function()
|
|
974
1016
|
return mapValues(
|
|
975
1017
|
casterCastingEffectPresetsByAbilityTypeId,
|
|
@@ -982,10 +1024,17 @@ local casterCastingEffectAttachmentPointsByAbilityTypeId = postcompile(function(
|
|
|
982
1024
|
function(casterCastingEffectPresets) return map(casterCastingEffectPresets, extractAttachmentPresetInputNodeFQN) end
|
|
983
1025
|
)
|
|
984
1026
|
end)
|
|
1027
|
+
local casterCastingEffectParametersByAbilityTypeId = postcompile(function()
|
|
1028
|
+
return mapValues(
|
|
1029
|
+
casterCastingEffectPresetsByAbilityTypeId,
|
|
1030
|
+
function(casterCastingEffectPresets) return map(casterCastingEffectPresets, "parameters") end
|
|
1031
|
+
)
|
|
1032
|
+
end)
|
|
985
1033
|
local casterCastingEffectsByCaster = {}
|
|
986
1034
|
local function handleAbilityCastingStartEvent(caster, ability)
|
|
987
1035
|
local effectModelPaths = casterCastingEffectModelPathsByAbilityTypeId[ability.typeId]
|
|
988
1036
|
local attachmentPoints = casterCastingEffectAttachmentPointsByAbilityTypeId[ability.typeId]
|
|
1037
|
+
local parameters = casterCastingEffectParametersByAbilityTypeId[ability.typeId]
|
|
989
1038
|
local effects = {}
|
|
990
1039
|
if effectModelPaths ~= nil then
|
|
991
1040
|
for i = 1, #effectModelPaths do
|
|
@@ -994,12 +1043,12 @@ local function handleAbilityCastingStartEvent(caster, ability)
|
|
|
994
1043
|
if attachmentPoint == nil or attachmentPoint == "" then
|
|
995
1044
|
attachmentPoint = "origin"
|
|
996
1045
|
end
|
|
997
|
-
effects[i] = Effect:
|
|
1046
|
+
effects[i] = Effect:create(effectModelPath, caster, attachmentPoint, parameters and parameters[i])
|
|
998
1047
|
end
|
|
999
1048
|
end
|
|
1000
1049
|
casterCastingEffectsByCaster[caster] = effects
|
|
1001
1050
|
end
|
|
1002
|
-
local function
|
|
1051
|
+
local function handleAbilityStopCastingEvent(caster)
|
|
1003
1052
|
local effects = casterCastingEffectsByCaster[caster]
|
|
1004
1053
|
if effects ~= nil then
|
|
1005
1054
|
for i = 1, #effects do
|
|
@@ -1010,8 +1059,8 @@ local function handleAbilityStopEvent(caster)
|
|
|
1010
1059
|
end
|
|
1011
1060
|
for abilityTypeId in pairs(casterCastingEffectModelPathsByAbilityTypeId) do
|
|
1012
1061
|
Unit.abilityCastingStartEvent[abilityTypeId]:addListener(4, handleAbilityCastingStartEvent)
|
|
1013
|
-
Unit.abilityChannelingStartEvent[abilityTypeId]:addListener(4,
|
|
1014
|
-
Unit.abilityStopEvent[abilityTypeId]:addListener(4,
|
|
1062
|
+
Unit.abilityChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityStopCastingEvent)
|
|
1063
|
+
Unit.abilityStopEvent[abilityTypeId]:addListener(4, handleAbilityStopCastingEvent)
|
|
1015
1064
|
end
|
|
1016
1065
|
local casterChannelingEffectModelPathsByAbilityTypeId = postcompile(function()
|
|
1017
1066
|
return mapValues(
|
|
@@ -1025,10 +1074,17 @@ local casterChannelingEffectAttachmentPointsByAbilityTypeId = postcompile(functi
|
|
|
1025
1074
|
function(casterChannelingEffectPresets) return map(casterChannelingEffectPresets, extractAttachmentPresetInputNodeFQN) end
|
|
1026
1075
|
)
|
|
1027
1076
|
end)
|
|
1077
|
+
local casterChannelingEffectParametersByAbilityTypeId = postcompile(function()
|
|
1078
|
+
return mapValues(
|
|
1079
|
+
casterChannelingEffectPresetsByAbilityTypeId,
|
|
1080
|
+
function(casterChannelingEffectPresets) return map(casterChannelingEffectPresets, "parameters") end
|
|
1081
|
+
)
|
|
1082
|
+
end)
|
|
1028
1083
|
local casterChannelingEffectsByCaster = {}
|
|
1029
1084
|
local function handleAbilityChannelingStartEvent(caster, ability)
|
|
1030
1085
|
local effectModelPaths = casterChannelingEffectModelPathsByAbilityTypeId[ability.typeId]
|
|
1031
1086
|
local attachmentPoints = casterChannelingEffectAttachmentPointsByAbilityTypeId[ability.typeId]
|
|
1087
|
+
local parameters = casterChannelingEffectParametersByAbilityTypeId[ability.typeId]
|
|
1032
1088
|
local effects = {}
|
|
1033
1089
|
if effectModelPaths ~= nil then
|
|
1034
1090
|
for i = 1, #effectModelPaths do
|
|
@@ -1037,12 +1093,12 @@ local function handleAbilityChannelingStartEvent(caster, ability)
|
|
|
1037
1093
|
if attachmentPoint == nil or attachmentPoint == "" then
|
|
1038
1094
|
attachmentPoint = "origin"
|
|
1039
1095
|
end
|
|
1040
|
-
effects[i] = Effect:
|
|
1096
|
+
effects[i] = Effect:create(effectModelPath, caster, attachmentPoint, parameters and parameters[i])
|
|
1041
1097
|
end
|
|
1042
1098
|
end
|
|
1043
1099
|
casterChannelingEffectsByCaster[caster] = effects
|
|
1044
1100
|
end
|
|
1045
|
-
local function
|
|
1101
|
+
local function handleAbilityStopChannelingEvent(caster)
|
|
1046
1102
|
local effects = casterChannelingEffectsByCaster[caster]
|
|
1047
1103
|
if effects ~= nil then
|
|
1048
1104
|
for i = 1, #effects do
|
|
@@ -1053,7 +1109,7 @@ local function handleAbilityStopEventV2(caster)
|
|
|
1053
1109
|
end
|
|
1054
1110
|
for abilityTypeId in pairs(casterChannelingEffectModelPathsByAbilityTypeId) do
|
|
1055
1111
|
Unit.abilityChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityChannelingStartEvent)
|
|
1056
|
-
Unit.abilityChannelingFinishEvent[abilityTypeId]:addListener(4,
|
|
1057
|
-
Unit.abilityStopEvent[abilityTypeId]:addListener(4,
|
|
1112
|
+
Unit.abilityChannelingFinishEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
|
|
1113
|
+
Unit.abilityStopEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
|
|
1058
1114
|
end
|
|
1059
1115
|
return ____exports
|