warscript 0.0.1-dev.66ce6c9 → 0.0.1-dev.6912057
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/attributes.d.ts +5 -0
- package/attributes.lua +8 -1
- package/core/types/effect.d.ts +1 -3
- package/core/types/effect.lua +26 -29
- package/core/types/sound.d.ts +17 -25
- package/core/types/sound.lua +85 -44
- package/core/types/timer.d.ts +8 -8
- package/core/types/timer.lua +25 -23
- package/decl/native.d.ts +840 -786
- package/engine/behavior.d.ts +2 -0
- package/engine/behavior.lua +53 -27
- package/engine/behaviour/ability/apply-buff.lua +1 -1
- 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 +1 -1
- package/engine/behaviour/ability/emulate-impact.lua +18 -3
- package/engine/behaviour/ability.d.ts +4 -1
- package/engine/behaviour/ability.lua +14 -21
- package/engine/behaviour/unit/stun-immunity.d.ts +5 -3
- package/engine/behaviour/unit/stun-immunity.lua +43 -27
- package/engine/behaviour/unit.d.ts +28 -0
- package/engine/behaviour/unit.lua +163 -4
- package/engine/buff.d.ts +15 -9
- package/engine/buff.lua +90 -53
- package/engine/internal/ability.d.ts +4 -0
- package/engine/internal/ability.lua +23 -0
- package/engine/internal/item/ability.lua +63 -11
- package/engine/internal/item.d.ts +5 -2
- package/engine/internal/item.lua +75 -3
- package/engine/internal/mechanics/ability-duration.lua +1 -1
- 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/unit/ability.d.ts +35 -0
- package/engine/internal/unit/ability.lua +62 -0
- package/engine/internal/unit/allowed-targets.d.ts +1 -1
- package/engine/internal/unit/allowed-targets.lua +9 -1
- package/engine/internal/unit/order.d.ts +20 -0
- package/engine/internal/unit/order.lua +136 -0
- 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-missile-launch.lua +1 -1
- package/engine/internal/unit.d.ts +29 -7
- package/engine/internal/unit.lua +239 -94
- 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/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/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/ensnare.d.ts +12 -0
- package/engine/object-data/entry/ability-type/ensnare.lua +52 -0
- package/engine/object-data/entry/ability-type/permanent-invisibility.d.ts +8 -0
- package/engine/object-data/entry/ability-type/permanent-invisibility.lua +26 -0
- 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/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/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 +11 -11
- package/engine/object-data/entry/ability-type.lua +32 -13
- package/engine/object-data/entry/buff-type/applicable.lua +5 -0
- package/engine/object-data/entry/buff-type.d.ts +5 -11
- package/engine/object-data/entry/buff-type.lua +11 -27
- package/engine/object-data/entry/sound-preset.d.ts +17 -0
- package/engine/object-data/entry/sound-preset.lua +104 -0
- package/engine/object-data/entry/unit-type.d.ts +2 -2
- package/engine/object-data/entry/unit-type.lua +94 -84
- package/engine/object-field/ability.d.ts +1 -1
- package/engine/object-field/unit.d.ts +57 -3
- package/engine/object-field/unit.lua +207 -7
- package/engine/object-field.d.ts +15 -4
- package/engine/object-field.lua +184 -90
- package/engine/standard/entries/buff-type.d.ts +3 -0
- package/engine/standard/entries/buff-type.lua +3 -0
- package/engine/standard/fields/unit.d.ts +4 -0
- package/engine/standard/fields/unit.lua +7 -0
- package/engine/text-tag.d.ts +36 -2
- package/engine/text-tag.lua +175 -10
- package/engine/unit.d.ts +1 -0
- package/engine/unit.lua +1 -0
- package/objutil/buff.lua +1 -2
- package/package.json +2 -2
- package/utility/arrays.d.ts +1 -0
- package/utility/arrays.lua +3 -0
- package/utility/functions.d.ts +6 -0
- package/utility/functions.lua +6 -0
- package/utility/linked-set.d.ts +1 -0
- package/utility/linked-set.lua +3 -0
- package/utility/lua-maps.d.ts +4 -0
- package/utility/lua-maps.lua +20 -0
- package/utility/lua-sets.d.ts +1 -0
- package/utility/lua-sets.lua +3 -0
- package/core/types/order.d.ts +0 -25
- package/core/types/order.lua +0 -55
|
@@ -3,7 +3,7 @@ import "../../internal/unit/ability";
|
|
|
3
3
|
import { TupleOf } from "../../../utility/types";
|
|
4
4
|
import { AnimationName } from "../auxiliary/animation-name";
|
|
5
5
|
import { AnimationQualifier } from "../auxiliary/animation-qualifier";
|
|
6
|
-
import {
|
|
6
|
+
import { AttachmentPresetInput, EffectPresetWithParameters, EffectPresetWithParametersInput } from "../auxiliary/attachment-preset";
|
|
7
7
|
import { CombatClassifications } from "../auxiliary/combat-classification";
|
|
8
8
|
import { Race } from "../auxiliary/race";
|
|
9
9
|
import { TechTreeDependency, TechTreeDependencyInput } from "../auxiliary/tech-tree-dependency";
|
|
@@ -27,11 +27,11 @@ export declare abstract class AbilityType extends ObjectDataEntry<AbilityTypeId>
|
|
|
27
27
|
set buttonPositionX(buttonPositionX: number);
|
|
28
28
|
get buttonPositionY(): number;
|
|
29
29
|
set buttonPositionY(buttonPositionY: number);
|
|
30
|
-
get casterCastingEffectPresets():
|
|
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);
|
|
@@ -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
|
|
@@ -35,8 +35,9 @@ local abilityTypeIdGenerator = ____object_2Ddata_2Dentry_2Did_2Dgenerator.abilit
|
|
|
35
35
|
local ____upgrade = require("engine.object-data.entry.upgrade")
|
|
36
36
|
local Upgrade = ____upgrade.Upgrade
|
|
37
37
|
local ____sound = require("core.types.sound")
|
|
38
|
+
local isSoundLabelCustom = ____sound.isSoundLabelCustom
|
|
38
39
|
local Sound3D = ____sound.Sound3D
|
|
39
|
-
local
|
|
40
|
+
local SoundSettings = ____sound.SoundSettings
|
|
40
41
|
local castAnimationFQNByAbilityTypeId = {}
|
|
41
42
|
local isButtonVisibleFalseAbilityTypes = {}
|
|
42
43
|
local casterCastingEffectPresetsByAbilityTypeId = {}
|
|
@@ -118,7 +119,7 @@ __TS__SetDescriptor(
|
|
|
118
119
|
return casterCastingEffectPresetsByAbilityTypeId[self.id] or ({})
|
|
119
120
|
end,
|
|
120
121
|
set = function(self, casterCastingEffectPresets)
|
|
121
|
-
casterCastingEffectPresetsByAbilityTypeId[self.id] = map(casterCastingEffectPresets,
|
|
122
|
+
casterCastingEffectPresetsByAbilityTypeId[self.id] = map(casterCastingEffectPresets, toEffectPreset)
|
|
122
123
|
end
|
|
123
124
|
},
|
|
124
125
|
true
|
|
@@ -131,7 +132,7 @@ __TS__SetDescriptor(
|
|
|
131
132
|
return casterChannelingEffectPresetsByAbilityTypeId[self.id] or ({})
|
|
132
133
|
end,
|
|
133
134
|
set = function(self, casterChannelingEffectPresets)
|
|
134
|
-
casterChannelingEffectPresetsByAbilityTypeId[self.id] = map(casterChannelingEffectPresets,
|
|
135
|
+
casterChannelingEffectPresetsByAbilityTypeId[self.id] = map(casterChannelingEffectPresets, toEffectPreset)
|
|
135
136
|
end
|
|
136
137
|
},
|
|
137
138
|
true
|
|
@@ -370,7 +371,7 @@ __TS__SetDescriptor(
|
|
|
370
371
|
return targetCastingEffectPresetsByAbilityTypeId[self.id] or ({})
|
|
371
372
|
end,
|
|
372
373
|
set = function(self, targetCastingEffectPresets)
|
|
373
|
-
targetCastingEffectPresetsByAbilityTypeId[self.id] = map(targetCastingEffectPresets,
|
|
374
|
+
targetCastingEffectPresetsByAbilityTypeId[self.id] = map(targetCastingEffectPresets, toEffectPreset)
|
|
374
375
|
end
|
|
375
376
|
},
|
|
376
377
|
true
|
|
@@ -978,9 +979,7 @@ for abilityTypeId, animationFQN in pairs(postcompile(function() return castAnima
|
|
|
978
979
|
4,
|
|
979
980
|
function(caster, ability)
|
|
980
981
|
if ability:getField(ABILITY_RLF_CASTING_TIME) ~= 0 then
|
|
981
|
-
Timer:run(
|
|
982
|
-
caster:playAnimation(animationFQN)
|
|
983
|
-
end)
|
|
982
|
+
Timer:run(caster, "playAnimation", animationFQN)
|
|
984
983
|
end
|
|
985
984
|
end
|
|
986
985
|
)
|
|
@@ -991,20 +990,26 @@ for abilityTypeId, soundPresetId in pairs(postcompile(function() return targetEf
|
|
|
991
990
|
4,
|
|
992
991
|
function(caster, ability, target)
|
|
993
992
|
if __TS__InstanceOf(target, Unit) then
|
|
994
|
-
Sound3D:playFromLabel(soundPresetId,
|
|
993
|
+
Sound3D:playFromLabel(soundPresetId, SoundSettings.Ability, target)
|
|
995
994
|
else
|
|
996
|
-
Sound3D:playFromLabel(soundPresetId,
|
|
995
|
+
Sound3D:playFromLabel(soundPresetId, SoundSettings.Ability, target.x, target.y)
|
|
997
996
|
end
|
|
998
997
|
end
|
|
999
998
|
)
|
|
1000
999
|
Unit.abilityPointTargetChannelingStartEvent[abilityTypeId]:addListener(
|
|
1001
1000
|
4,
|
|
1002
1001
|
function(caster, ability, x, y)
|
|
1003
|
-
Sound3D:playFromLabel(soundPresetId,
|
|
1002
|
+
Sound3D:playFromLabel(soundPresetId, SoundSettings.Ability, x, y)
|
|
1004
1003
|
end
|
|
1005
1004
|
)
|
|
1006
1005
|
end
|
|
1007
1006
|
end
|
|
1007
|
+
Unit.abilityChannelingStartEvent:addListener(function(caster, ability)
|
|
1008
|
+
local soundPresetId = ability:getField(ABILITY_SF_EFFECT_SOUND)
|
|
1009
|
+
if isSoundLabelCustom(soundPresetId) then
|
|
1010
|
+
Sound3D:playFromLabel(soundPresetId, SoundSettings.Ability, caster)
|
|
1011
|
+
end
|
|
1012
|
+
end)
|
|
1008
1013
|
local casterCastingEffectModelPathsByAbilityTypeId = postcompile(function()
|
|
1009
1014
|
return mapValues(
|
|
1010
1015
|
casterCastingEffectPresetsByAbilityTypeId,
|
|
@@ -1017,10 +1022,17 @@ local casterCastingEffectAttachmentPointsByAbilityTypeId = postcompile(function(
|
|
|
1017
1022
|
function(casterCastingEffectPresets) return map(casterCastingEffectPresets, extractAttachmentPresetInputNodeFQN) end
|
|
1018
1023
|
)
|
|
1019
1024
|
end)
|
|
1025
|
+
local casterCastingEffectParametersByAbilityTypeId = postcompile(function()
|
|
1026
|
+
return mapValues(
|
|
1027
|
+
casterCastingEffectPresetsByAbilityTypeId,
|
|
1028
|
+
function(casterCastingEffectPresets) return map(casterCastingEffectPresets, "parameters") end
|
|
1029
|
+
)
|
|
1030
|
+
end)
|
|
1020
1031
|
local casterCastingEffectsByCaster = {}
|
|
1021
1032
|
local function handleAbilityCastingStartEvent(caster, ability)
|
|
1022
1033
|
local effectModelPaths = casterCastingEffectModelPathsByAbilityTypeId[ability.typeId]
|
|
1023
1034
|
local attachmentPoints = casterCastingEffectAttachmentPointsByAbilityTypeId[ability.typeId]
|
|
1035
|
+
local parameters = casterCastingEffectParametersByAbilityTypeId[ability.typeId]
|
|
1024
1036
|
local effects = {}
|
|
1025
1037
|
if effectModelPaths ~= nil then
|
|
1026
1038
|
for i = 1, #effectModelPaths do
|
|
@@ -1029,7 +1041,7 @@ local function handleAbilityCastingStartEvent(caster, ability)
|
|
|
1029
1041
|
if attachmentPoint == nil or attachmentPoint == "" then
|
|
1030
1042
|
attachmentPoint = "origin"
|
|
1031
1043
|
end
|
|
1032
|
-
effects[i] = Effect:
|
|
1044
|
+
effects[i] = Effect:create(effectModelPath, caster, attachmentPoint, parameters and parameters[i])
|
|
1033
1045
|
end
|
|
1034
1046
|
end
|
|
1035
1047
|
casterCastingEffectsByCaster[caster] = effects
|
|
@@ -1060,10 +1072,17 @@ local casterChannelingEffectAttachmentPointsByAbilityTypeId = postcompile(functi
|
|
|
1060
1072
|
function(casterChannelingEffectPresets) return map(casterChannelingEffectPresets, extractAttachmentPresetInputNodeFQN) end
|
|
1061
1073
|
)
|
|
1062
1074
|
end)
|
|
1075
|
+
local casterChannelingEffectParametersByAbilityTypeId = postcompile(function()
|
|
1076
|
+
return mapValues(
|
|
1077
|
+
casterChannelingEffectPresetsByAbilityTypeId,
|
|
1078
|
+
function(casterChannelingEffectPresets) return map(casterChannelingEffectPresets, "parameters") end
|
|
1079
|
+
)
|
|
1080
|
+
end)
|
|
1063
1081
|
local casterChannelingEffectsByCaster = {}
|
|
1064
1082
|
local function handleAbilityChannelingStartEvent(caster, ability)
|
|
1065
1083
|
local effectModelPaths = casterChannelingEffectModelPathsByAbilityTypeId[ability.typeId]
|
|
1066
1084
|
local attachmentPoints = casterChannelingEffectAttachmentPointsByAbilityTypeId[ability.typeId]
|
|
1085
|
+
local parameters = casterChannelingEffectParametersByAbilityTypeId[ability.typeId]
|
|
1067
1086
|
local effects = {}
|
|
1068
1087
|
if effectModelPaths ~= nil then
|
|
1069
1088
|
for i = 1, #effectModelPaths do
|
|
@@ -1072,7 +1091,7 @@ local function handleAbilityChannelingStartEvent(caster, ability)
|
|
|
1072
1091
|
if attachmentPoint == nil or attachmentPoint == "" then
|
|
1073
1092
|
attachmentPoint = "origin"
|
|
1074
1093
|
end
|
|
1075
|
-
effects[i] = Effect:
|
|
1094
|
+
effects[i] = Effect:create(effectModelPath, caster, attachmentPoint, parameters and parameters[i])
|
|
1076
1095
|
end
|
|
1077
1096
|
end
|
|
1078
1097
|
casterChannelingEffectsByCaster[caster] = effects
|
|
@@ -121,6 +121,10 @@ local applicatorAbilityTypeIdByApplicatorTypeByApplicableBuffTypeId, applicatorU
|
|
|
121
121
|
applicatorAbilityType.damagePerSecond = 0
|
|
122
122
|
applicatorAbilityType.movementSpeedDecreaseFactor = 0
|
|
123
123
|
applicatorAbilityType.attackSpeedDecreaseFactor = 0
|
|
124
|
+
applicatorAbilityType.isDamageStacking = false
|
|
125
|
+
applicatorAbilityType.isMovementSpeedFactorStacking = false
|
|
126
|
+
applicatorAbilityType.isAttackSpeedFactorStacking = false
|
|
127
|
+
applicatorAbilityType.isAbleToKill = false
|
|
124
128
|
applicatorAbilityType.buffTypeIds = {applicableBuffType.id, applicableBuffType.id}
|
|
125
129
|
applicatorAbilityTypeIdByApplicatorType[852173] = applicatorAbilityType.id
|
|
126
130
|
end
|
|
@@ -128,6 +132,7 @@ local applicatorAbilityTypeIdByApplicatorTypeByApplicableBuffTypeId, applicatorU
|
|
|
128
132
|
local applicatorAbilityType = prepareAbilityType(BerserkAbilityType, applicableBuffType)
|
|
129
133
|
applicatorAbilityType.attackSpeedIncreaseFactor = 0
|
|
130
134
|
applicatorAbilityType.movementSpeedIncreaseFactor = 0
|
|
135
|
+
applicatorAbilityType.receivedDamageIncreaseFactor = 0
|
|
131
136
|
applicatorAbilityType.buffTypeIds = {applicableBuffType.id}
|
|
132
137
|
if applicatorAbilityType.levelCount > 1 then
|
|
133
138
|
multilevelPhysicalPositiveApplicatorAbilityTypes[#multilevelPhysicalPositiveApplicatorAbilityTypes + 1] = applicatorAbilityType
|
|
@@ -3,12 +3,16 @@ import { TupleOf } from "../../../utility/types";
|
|
|
3
3
|
import { AttachmentPreset, AttachmentPresetInput } from "../auxiliary/attachment-preset";
|
|
4
4
|
import { Race } from "../auxiliary/race";
|
|
5
5
|
import { SoundPresetName } from "../auxiliary/sound-preset-name";
|
|
6
|
-
import { ObjectDataEntry, ObjectDataEntryId } from "../entry";
|
|
6
|
+
import { ObjectDataEntry, ObjectDataEntryConstructor, ObjectDataEntryId } from "../entry";
|
|
7
7
|
import { LightningTypeId } from "./lightning-type";
|
|
8
8
|
export type BuffTypeId = ObjectDataEntryId & number & {
|
|
9
9
|
readonly __buffTypeId: unique symbol;
|
|
10
10
|
};
|
|
11
|
+
export type StandardBuffTypeId = BuffTypeId & {
|
|
12
|
+
readonly __standardBuffTypeId: unique symbol;
|
|
13
|
+
};
|
|
11
14
|
export declare abstract class BuffType<Id extends BuffTypeId = BuffTypeId> extends ObjectDataEntry<Id> {
|
|
15
|
+
static readonly [id: StandardBuffTypeId]: ObjectDataEntryConstructor<BuffType>;
|
|
12
16
|
private static readonly idGenerator;
|
|
13
17
|
protected static generateId(): number;
|
|
14
18
|
protected static getObjectData(map: WarMap): WarObjects;
|
|
@@ -51,13 +55,3 @@ export declare abstract class BuffType<Id extends BuffTypeId = BuffTypeId> exten
|
|
|
51
55
|
get tooltipExtendedText(): string;
|
|
52
56
|
set tooltipExtendedText(tooltipText: string);
|
|
53
57
|
}
|
|
54
|
-
declare const AvatarBuffType_base: typeof BuffType;
|
|
55
|
-
export declare class AvatarBuffType extends AvatarBuffType_base {
|
|
56
|
-
}
|
|
57
|
-
declare const DevotionAuraBuffType_base: typeof BuffType;
|
|
58
|
-
export declare class DevotionAuraBuffType extends DevotionAuraBuffType_base {
|
|
59
|
-
}
|
|
60
|
-
declare const DivineShieldBuffType_base: typeof BuffType;
|
|
61
|
-
export declare class DivineShieldBuffType extends DivineShieldBuffType_base {
|
|
62
|
-
}
|
|
63
|
-
export {};
|
|
@@ -6,6 +6,8 @@ local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
|
|
|
6
6
|
local ____exports = {}
|
|
7
7
|
local ____arrays = require("utility.arrays")
|
|
8
8
|
local array = ____arrays.array
|
|
9
|
+
local ____reflection = require("utility.reflection")
|
|
10
|
+
local implementReadonlyNumberIndexSupplier = ____reflection.implementReadonlyNumberIndexSupplier
|
|
9
11
|
local ____entry = require("engine.object-data.entry")
|
|
10
12
|
local ObjectDataEntry = ____entry.ObjectDataEntry
|
|
11
13
|
local ____object_2Ddata_2Dentry_2Did_2Dgenerator = require("engine.object-data.utility.object-data-entry-id-generator")
|
|
@@ -285,32 +287,14 @@ __TS__SetDescriptor(
|
|
|
285
287
|
},
|
|
286
288
|
true
|
|
287
289
|
)
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
AvatarBuffType.name = "AvatarBuffType"
|
|
298
|
-
__TS__ClassExtends(
|
|
299
|
-
AvatarBuffType,
|
|
300
|
-
makeBaseBuffType(fourCC("BHav"))
|
|
301
|
-
)
|
|
302
|
-
____exports.DevotionAuraBuffType = __TS__Class()
|
|
303
|
-
local DevotionAuraBuffType = ____exports.DevotionAuraBuffType
|
|
304
|
-
DevotionAuraBuffType.name = "DevotionAuraBuffType"
|
|
305
|
-
__TS__ClassExtends(
|
|
306
|
-
DevotionAuraBuffType,
|
|
307
|
-
makeBaseBuffType(fourCC("BHad"))
|
|
308
|
-
)
|
|
309
|
-
____exports.DivineShieldBuffType = __TS__Class()
|
|
310
|
-
local DivineShieldBuffType = ____exports.DivineShieldBuffType
|
|
311
|
-
DivineShieldBuffType.name = "DivineShieldBuffType"
|
|
312
|
-
__TS__ClassExtends(
|
|
313
|
-
DivineShieldBuffType,
|
|
314
|
-
makeBaseBuffType(fourCC("BHds"))
|
|
290
|
+
implementReadonlyNumberIndexSupplier(
|
|
291
|
+
____exports.BuffType,
|
|
292
|
+
function(id)
|
|
293
|
+
local ____class_0 = __TS__Class()
|
|
294
|
+
____class_0.name = ____class_0.name
|
|
295
|
+
__TS__ClassExtends(____class_0, ____exports.BuffType)
|
|
296
|
+
____class_0.BASE_ID = id
|
|
297
|
+
return ____class_0
|
|
298
|
+
end
|
|
315
299
|
)
|
|
316
300
|
return ____exports
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/** @noSelfInFile */
|
|
2
2
|
import { ObjectDataEntry, ObjectDataEntryId } from "../entry";
|
|
3
|
+
import { SoundEax } from "../auxiliary/sound-eax";
|
|
3
4
|
export type SoundPresetId = ObjectDataEntryId & string & {
|
|
4
5
|
readonly __soundPresetId: unique symbol;
|
|
5
6
|
};
|
|
@@ -13,4 +14,20 @@ export declare class SoundPreset extends ObjectDataEntry<SoundPresetId> {
|
|
|
13
14
|
protected static getObjectData(map: WarMap): WarObjects;
|
|
14
15
|
get filePaths(): string[];
|
|
15
16
|
set filePaths(filePaths: string[]);
|
|
17
|
+
get volume(): number;
|
|
18
|
+
set volume(volume: number);
|
|
19
|
+
get pitch(): number;
|
|
20
|
+
set pitch(pitch: number);
|
|
21
|
+
get priority(): number;
|
|
22
|
+
set priority(priority: number);
|
|
23
|
+
get channel(): number;
|
|
24
|
+
set channel(channel: number);
|
|
25
|
+
get minimumDistance(): number;
|
|
26
|
+
set minimumDistance(minimumDistance: number);
|
|
27
|
+
get maximumDistance(): number;
|
|
28
|
+
set maximumDistance(maximumDistance: number);
|
|
29
|
+
get distanceCutoff(): number;
|
|
30
|
+
set distanceCutoff(distanceCutoff: number);
|
|
31
|
+
get eax(): SoundEax;
|
|
32
|
+
set eax(eax: SoundEax);
|
|
16
33
|
}
|
|
@@ -33,4 +33,108 @@ __TS__SetDescriptor(
|
|
|
33
33
|
},
|
|
34
34
|
true
|
|
35
35
|
)
|
|
36
|
+
__TS__SetDescriptor(
|
|
37
|
+
SoundPreset.prototype,
|
|
38
|
+
"volume",
|
|
39
|
+
{
|
|
40
|
+
get = function(self)
|
|
41
|
+
return self:getNumberField("Volume")
|
|
42
|
+
end,
|
|
43
|
+
set = function(self, volume)
|
|
44
|
+
self:setNumberField("Volume", volume)
|
|
45
|
+
end
|
|
46
|
+
},
|
|
47
|
+
true
|
|
48
|
+
)
|
|
49
|
+
__TS__SetDescriptor(
|
|
50
|
+
SoundPreset.prototype,
|
|
51
|
+
"pitch",
|
|
52
|
+
{
|
|
53
|
+
get = function(self)
|
|
54
|
+
return self:getNumberField("Pitch")
|
|
55
|
+
end,
|
|
56
|
+
set = function(self, pitch)
|
|
57
|
+
self:setNumberField("Pitch", pitch)
|
|
58
|
+
end
|
|
59
|
+
},
|
|
60
|
+
true
|
|
61
|
+
)
|
|
62
|
+
__TS__SetDescriptor(
|
|
63
|
+
SoundPreset.prototype,
|
|
64
|
+
"priority",
|
|
65
|
+
{
|
|
66
|
+
get = function(self)
|
|
67
|
+
return self:getNumberField("Priority")
|
|
68
|
+
end,
|
|
69
|
+
set = function(self, priority)
|
|
70
|
+
self:setNumberField("Priority", priority)
|
|
71
|
+
end
|
|
72
|
+
},
|
|
73
|
+
true
|
|
74
|
+
)
|
|
75
|
+
__TS__SetDescriptor(
|
|
76
|
+
SoundPreset.prototype,
|
|
77
|
+
"channel",
|
|
78
|
+
{
|
|
79
|
+
get = function(self)
|
|
80
|
+
return self:getNumberField("Channel")
|
|
81
|
+
end,
|
|
82
|
+
set = function(self, channel)
|
|
83
|
+
self:setNumberField("Channel", channel)
|
|
84
|
+
end
|
|
85
|
+
},
|
|
86
|
+
true
|
|
87
|
+
)
|
|
88
|
+
__TS__SetDescriptor(
|
|
89
|
+
SoundPreset.prototype,
|
|
90
|
+
"minimumDistance",
|
|
91
|
+
{
|
|
92
|
+
get = function(self)
|
|
93
|
+
return self:getNumberField("MinDistance")
|
|
94
|
+
end,
|
|
95
|
+
set = function(self, minimumDistance)
|
|
96
|
+
self:setNumberField("MinDistance", minimumDistance)
|
|
97
|
+
end
|
|
98
|
+
},
|
|
99
|
+
true
|
|
100
|
+
)
|
|
101
|
+
__TS__SetDescriptor(
|
|
102
|
+
SoundPreset.prototype,
|
|
103
|
+
"maximumDistance",
|
|
104
|
+
{
|
|
105
|
+
get = function(self)
|
|
106
|
+
return self:getNumberField("MaxDistance")
|
|
107
|
+
end,
|
|
108
|
+
set = function(self, maximumDistance)
|
|
109
|
+
self:setNumberField("MaxDistance", maximumDistance)
|
|
110
|
+
end
|
|
111
|
+
},
|
|
112
|
+
true
|
|
113
|
+
)
|
|
114
|
+
__TS__SetDescriptor(
|
|
115
|
+
SoundPreset.prototype,
|
|
116
|
+
"distanceCutoff",
|
|
117
|
+
{
|
|
118
|
+
get = function(self)
|
|
119
|
+
return self:getNumberField("DistanceCutoff")
|
|
120
|
+
end,
|
|
121
|
+
set = function(self, distanceCutoff)
|
|
122
|
+
self:setNumberField("DistanceCutoff", distanceCutoff)
|
|
123
|
+
end
|
|
124
|
+
},
|
|
125
|
+
true
|
|
126
|
+
)
|
|
127
|
+
__TS__SetDescriptor(
|
|
128
|
+
SoundPreset.prototype,
|
|
129
|
+
"eax",
|
|
130
|
+
{
|
|
131
|
+
get = function(self)
|
|
132
|
+
return self:getStringField("EAXFlags")
|
|
133
|
+
end,
|
|
134
|
+
set = function(self, eax)
|
|
135
|
+
self:setStringField("EAXFlags", eax)
|
|
136
|
+
end
|
|
137
|
+
},
|
|
138
|
+
true
|
|
139
|
+
)
|
|
36
140
|
return ____exports
|
|
@@ -23,8 +23,8 @@ export declare class UnitTypeWeapon {
|
|
|
23
23
|
private readonly unitType;
|
|
24
24
|
private readonly index;
|
|
25
25
|
private constructor();
|
|
26
|
-
get attackType(): AttackType;
|
|
27
|
-
set attackType(attackType: AttackType);
|
|
26
|
+
get attackType(): AttackType | undefined;
|
|
27
|
+
set attackType(attackType: AttackType | undefined);
|
|
28
28
|
get backSwingDuration(): number;
|
|
29
29
|
set backSwingDuration(backSwingDuration: number);
|
|
30
30
|
get cooldown(): number;
|