warscript 0.0.1-dev.70ae346 → 0.0.1-dev.70c1215
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 +6 -0
- package/attributes.lua +17 -1
- package/core/types/effect.d.ts +1 -3
- package/core/types/effect.lua +26 -29
- package/core/types/frame.lua +24 -21
- package/core/types/player.d.ts +16 -0
- package/core/types/player.lua +60 -15
- package/core/types/playerCamera.d.ts +2 -0
- package/core/types/playerCamera.lua +123 -5
- package/core/types/sound.d.ts +17 -25
- package/core/types/sound.lua +91 -46
- package/core/types/tileCell.d.ts +11 -1
- package/core/types/tileCell.lua +97 -0
- package/core/types/timer.d.ts +9 -8
- package/core/types/timer.lua +45 -23
- package/core/util.lua +6 -1
- package/decl/native.d.ts +846 -790
- package/destroyable.d.ts +1 -0
- package/destroyable.lua +9 -0
- package/engine/behavior.d.ts +14 -1
- package/engine/behavior.lua +230 -70
- package/engine/behaviour/ability/apply-buff.lua +5 -5
- 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/remove-buffs.d.ts +9 -0
- package/engine/behaviour/ability/remove-buffs.lua +21 -0
- package/engine/behaviour/ability/restore-mana.d.ts +1 -1
- package/engine/behaviour/ability/restore-mana.lua +6 -6
- package/engine/behaviour/ability.d.ts +11 -2
- package/engine/behaviour/ability.lua +56 -21
- package/engine/behaviour/unit/stun-immunity.d.ts +12 -6
- package/engine/behaviour/unit/stun-immunity.lua +57 -31
- package/engine/behaviour/unit.d.ts +40 -2
- package/engine/behaviour/unit.lua +269 -6
- package/engine/buff.d.ts +40 -18
- package/engine/buff.lua +269 -155
- package/engine/internal/ability.d.ts +7 -1
- package/engine/internal/ability.lua +49 -9
- package/engine/internal/item/ability.lua +63 -11
- package/engine/internal/item+owner.lua +12 -6
- package/engine/internal/item.d.ts +18 -17
- package/engine/internal/item.lua +135 -49
- package/engine/internal/mechanics/ability-duration.lua +1 -1
- package/engine/internal/mechanics/cast-ability.lua +6 -3
- 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/misc/frame-coordinates.d.ts +2 -0
- package/engine/internal/misc/frame-coordinates.lua +21 -0
- package/engine/internal/misc/get-terrain-z.d.ts +2 -0
- package/engine/internal/misc/get-terrain-z.lua +11 -0
- package/engine/internal/misc/player-local-handle.d.ts +2 -0
- package/engine/internal/misc/player-local-handle.lua +5 -0
- package/engine/internal/object-data/mana-regeneration-rate-increase-factor.d.ts +2 -0
- package/engine/internal/object-data/mana-regeneration-rate-increase-factor.lua +16 -0
- package/engine/internal/unit/ability.d.ts +35 -0
- package/engine/internal/unit/ability.lua +98 -9
- package/engine/internal/unit/allowed-targets.d.ts +1 -1
- package/engine/internal/unit/allowed-targets.lua +9 -1
- package/engine/internal/unit/attributes.d.ts +17 -0
- package/engine/internal/unit/attributes.lua +46 -0
- package/engine/internal/unit/bonus.d.ts +2 -0
- package/engine/internal/unit/bonus.lua +10 -0
- package/engine/internal/unit/fly-height.d.ts +7 -0
- package/engine/internal/unit/fly-height.lua +20 -0
- package/engine/internal/unit/interrupts.d.ts +12 -0
- package/engine/internal/unit/interrupts.lua +28 -0
- package/engine/internal/unit/main-selected.lua +12 -27
- package/engine/internal/unit/order.d.ts +20 -0
- package/engine/internal/unit/order.lua +136 -0
- package/engine/internal/unit/range-event.d.ts +12 -0
- package/engine/internal/unit/range-event.lua +90 -0
- package/engine/internal/unit/scale.d.ts +7 -0
- package/engine/internal/unit/scale.lua +20 -0
- package/engine/internal/unit+ability.lua +10 -1
- 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 +52 -14
- package/engine/internal/unit.d.ts +43 -25
- package/engine/internal/unit.lua +384 -260
- package/engine/local-client.d.ts +2 -0
- package/engine/local-client.lua +30 -0
- package/engine/object-data/auxiliary/armor-type.d.ts +11 -0
- package/engine/object-data/auxiliary/armor-type.lua +46 -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/health-regeneration-type.d.ts +8 -0
- package/engine/object-data/auxiliary/health-regeneration-type.lua +2 -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/blank-configurable.lua +0 -9
- 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/curse.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/mana-regeneration.d.ts +8 -0
- package/engine/object-data/entry/ability-type/mana-regeneration.lua +26 -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/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/reincarnation.d.ts +8 -0
- package/engine/object-data/entry/ability-type/reincarnation.lua +26 -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 +15 -11
- package/engine/object-data/entry/ability-type.lua +153 -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/destructible-type.d.ts +27 -1
- package/engine/object-data/entry/destructible-type.lua +155 -0
- 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 +17 -4
- package/engine/object-data/entry/unit-type.lua +197 -85
- package/engine/object-field/ability.d.ts +4 -4
- package/engine/object-field/ability.lua +7 -6
- package/engine/object-field/unit.d.ts +72 -3
- package/engine/object-field/unit.lua +268 -7
- package/engine/object-field.d.ts +25 -6
- package/engine/object-field.lua +357 -118
- package/engine/random.d.ts +10 -0
- package/engine/random.lua +21 -0
- package/engine/standard/entries/buff-type.d.ts +3 -0
- package/engine/standard/entries/buff-type.lua +3 -0
- package/engine/standard/fields/ability.d.ts +2 -2
- package/engine/standard/fields/ability.lua +2 -2
- package/engine/standard/fields/unit.d.ts +12 -0
- package/engine/standard/fields/unit.lua +20 -0
- package/engine/synchronization.d.ts +11 -0
- package/engine/synchronization.lua +77 -0
- package/engine/text-tag.d.ts +36 -2
- package/engine/text-tag.lua +250 -10
- package/engine/unit.d.ts +6 -0
- package/engine/unit.lua +6 -0
- package/net/socket.lua +1 -1
- package/objutil/buff.lua +11 -10
- package/package.json +2 -2
- package/patch-lua.lua +15 -0
- package/patch-lualib.lua +1 -1
- package/utility/arrays.d.ts +2 -0
- package/utility/arrays.lua +11 -0
- package/utility/callback-array.d.ts +17 -0
- package/utility/callback-array.lua +61 -0
- package/utility/functions.d.ts +8 -0
- package/utility/functions.lua +13 -0
- package/utility/linked-map.d.ts +34 -0
- package/utility/linked-map.lua +101 -0
- package/utility/linked-set.d.ts +4 -1
- package/utility/linked-set.lua +43 -1
- package/utility/lua-maps.d.ts +15 -2
- package/utility/lua-maps.lua +53 -2
- package/utility/lua-sets.d.ts +2 -0
- package/utility/lua-sets.lua +7 -0
- package/utility/records.lua +20 -1
- package/utility/types.d.ts +3 -0
- package/core/types/order.d.ts +0 -25
- package/core/types/order.lua +0 -55
|
@@ -2,6 +2,7 @@ local ____lualib = require("lualib_bundle")
|
|
|
2
2
|
local __TS__Class = ____lualib.__TS__Class
|
|
3
3
|
local __TS__ClassExtends = ____lualib.__TS__ClassExtends
|
|
4
4
|
local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
|
|
5
|
+
local __TS__InstanceOf = ____lualib.__TS__InstanceOf
|
|
5
6
|
local ____exports = {}
|
|
6
7
|
local ____unit = require("engine.internal.unit")
|
|
7
8
|
local Unit = ____unit.Unit
|
|
@@ -19,7 +20,7 @@ local mapIndexed = ____arrays.mapIndexed
|
|
|
19
20
|
local ____attachment_2Dpreset = require("engine.object-data.auxiliary.attachment-preset")
|
|
20
21
|
local extractAttachmentPresetInputModelPath = ____attachment_2Dpreset.extractAttachmentPresetInputModelPath
|
|
21
22
|
local extractAttachmentPresetInputNodeFQN = ____attachment_2Dpreset.extractAttachmentPresetInputNodeFQN
|
|
22
|
-
local
|
|
23
|
+
local toEffectPreset = ____attachment_2Dpreset.toEffectPreset
|
|
23
24
|
local ____combat_2Dclassification = require("engine.object-data.auxiliary.combat-classification")
|
|
24
25
|
local combatClassificationsToStringArray = ____combat_2Dclassification.combatClassificationsToStringArray
|
|
25
26
|
local stringArrayToCombatClassifications = ____combat_2Dclassification.stringArrayToCombatClassifications
|
|
@@ -33,11 +34,19 @@ local ____object_2Ddata_2Dentry_2Did_2Dgenerator = require("engine.object-data.u
|
|
|
33
34
|
local abilityTypeIdGenerator = ____object_2Ddata_2Dentry_2Did_2Dgenerator.abilityTypeIdGenerator
|
|
34
35
|
local ____upgrade = require("engine.object-data.entry.upgrade")
|
|
35
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
|
|
41
|
+
local ____lua_2Dsets = require("utility.lua-sets")
|
|
42
|
+
local luaSetOf = ____lua_2Dsets.luaSetOf
|
|
36
43
|
local castAnimationFQNByAbilityTypeId = {}
|
|
37
44
|
local isButtonVisibleFalseAbilityTypes = {}
|
|
38
45
|
local casterCastingEffectPresetsByAbilityTypeId = {}
|
|
39
46
|
local casterChannelingEffectPresetsByAbilityTypeId = {}
|
|
40
47
|
local targetCastingEffectPresetsByAbilityTypeId = {}
|
|
48
|
+
local targetChannelingEffectPresetsByAbilityTypeId = {}
|
|
49
|
+
local targetEffectSoundPresetByAbilityTypeId = {}
|
|
41
50
|
____exports.AbilityType = __TS__Class()
|
|
42
51
|
local AbilityType = ____exports.AbilityType
|
|
43
52
|
AbilityType.name = "AbilityType"
|
|
@@ -113,7 +122,7 @@ __TS__SetDescriptor(
|
|
|
113
122
|
return casterCastingEffectPresetsByAbilityTypeId[self.id] or ({})
|
|
114
123
|
end,
|
|
115
124
|
set = function(self, casterCastingEffectPresets)
|
|
116
|
-
casterCastingEffectPresetsByAbilityTypeId[self.id] = map(casterCastingEffectPresets,
|
|
125
|
+
casterCastingEffectPresetsByAbilityTypeId[self.id] = map(casterCastingEffectPresets, toEffectPreset)
|
|
117
126
|
end
|
|
118
127
|
},
|
|
119
128
|
true
|
|
@@ -126,7 +135,7 @@ __TS__SetDescriptor(
|
|
|
126
135
|
return casterChannelingEffectPresetsByAbilityTypeId[self.id] or ({})
|
|
127
136
|
end,
|
|
128
137
|
set = function(self, casterChannelingEffectPresets)
|
|
129
|
-
casterChannelingEffectPresetsByAbilityTypeId[self.id] = map(casterChannelingEffectPresets,
|
|
138
|
+
casterChannelingEffectPresetsByAbilityTypeId[self.id] = map(casterChannelingEffectPresets, toEffectPreset)
|
|
130
139
|
end
|
|
131
140
|
},
|
|
132
141
|
true
|
|
@@ -365,7 +374,20 @@ __TS__SetDescriptor(
|
|
|
365
374
|
return targetCastingEffectPresetsByAbilityTypeId[self.id] or ({})
|
|
366
375
|
end,
|
|
367
376
|
set = function(self, targetCastingEffectPresets)
|
|
368
|
-
targetCastingEffectPresetsByAbilityTypeId[self.id] = map(targetCastingEffectPresets,
|
|
377
|
+
targetCastingEffectPresetsByAbilityTypeId[self.id] = map(targetCastingEffectPresets, toEffectPreset)
|
|
378
|
+
end
|
|
379
|
+
},
|
|
380
|
+
true
|
|
381
|
+
)
|
|
382
|
+
__TS__SetDescriptor(
|
|
383
|
+
AbilityType.prototype,
|
|
384
|
+
"targetChannelingEffectPresets",
|
|
385
|
+
{
|
|
386
|
+
get = function(self)
|
|
387
|
+
return targetChannelingEffectPresetsByAbilityTypeId[self.id] or ({})
|
|
388
|
+
end,
|
|
389
|
+
set = function(self, targetChannelingEffectPresets)
|
|
390
|
+
targetChannelingEffectPresetsByAbilityTypeId[self.id] = map(targetChannelingEffectPresets, toEffectPreset)
|
|
369
391
|
end
|
|
370
392
|
},
|
|
371
393
|
true
|
|
@@ -743,6 +765,19 @@ __TS__SetDescriptor(
|
|
|
743
765
|
},
|
|
744
766
|
true
|
|
745
767
|
)
|
|
768
|
+
__TS__SetDescriptor(
|
|
769
|
+
AbilityType.prototype,
|
|
770
|
+
"targetEffectSoundPresetId",
|
|
771
|
+
{
|
|
772
|
+
get = function(self)
|
|
773
|
+
return targetEffectSoundPresetByAbilityTypeId[self.id]
|
|
774
|
+
end,
|
|
775
|
+
set = function(self, targetEffectSoundPresetId)
|
|
776
|
+
targetEffectSoundPresetByAbilityTypeId[self.id] = targetEffectSoundPresetId
|
|
777
|
+
end
|
|
778
|
+
},
|
|
779
|
+
true
|
|
780
|
+
)
|
|
746
781
|
__TS__SetDescriptor(
|
|
747
782
|
AbilityType.prototype,
|
|
748
783
|
"allowedTargetCombatClassifications",
|
|
@@ -960,13 +995,38 @@ for abilityTypeId, animationFQN in pairs(postcompile(function() return castAnima
|
|
|
960
995
|
4,
|
|
961
996
|
function(caster, ability)
|
|
962
997
|
if ability:getField(ABILITY_RLF_CASTING_TIME) ~= 0 then
|
|
963
|
-
Timer:run(
|
|
964
|
-
caster:playAnimation(animationFQN)
|
|
965
|
-
end)
|
|
998
|
+
Timer:run(caster, "playAnimation", animationFQN)
|
|
966
999
|
end
|
|
967
1000
|
end
|
|
968
1001
|
)
|
|
969
1002
|
end
|
|
1003
|
+
for abilityTypeId, soundPresetId in pairs(postcompile(function() return targetEffectSoundPresetByAbilityTypeId end)) do
|
|
1004
|
+
if soundPresetId ~= nil then
|
|
1005
|
+
Unit.abilityWidgetTargetChannelingStartEvent[abilityTypeId]:addListener(
|
|
1006
|
+
4,
|
|
1007
|
+
function(caster, ability, target)
|
|
1008
|
+
if __TS__InstanceOf(target, Unit) then
|
|
1009
|
+
Sound3D:playFromLabel(soundPresetId, SoundSettings.Ability, target)
|
|
1010
|
+
else
|
|
1011
|
+
Sound3D:playFromLabel(soundPresetId, SoundSettings.Ability, target.x, target.y)
|
|
1012
|
+
end
|
|
1013
|
+
end
|
|
1014
|
+
)
|
|
1015
|
+
Unit.abilityPointTargetChannelingStartEvent[abilityTypeId]:addListener(
|
|
1016
|
+
4,
|
|
1017
|
+
function(caster, ability, x, y)
|
|
1018
|
+
Sound3D:playFromLabel(soundPresetId, SoundSettings.Ability, x, y)
|
|
1019
|
+
end
|
|
1020
|
+
)
|
|
1021
|
+
end
|
|
1022
|
+
end
|
|
1023
|
+
local unsupportedEffectSoundAbilityTypeIds = luaSetOf(fourCC("AAns"))
|
|
1024
|
+
Unit.abilityChannelingStartEvent:addListener(function(caster, ability)
|
|
1025
|
+
local soundPresetId = ability:getField(ABILITY_SF_EFFECT_SOUND)
|
|
1026
|
+
if isSoundLabelCustom(soundPresetId) or soundPresetId ~= "" and unsupportedEffectSoundAbilityTypeIds[ability.parentTypeId] ~= nil then
|
|
1027
|
+
Sound3D:playFromLabel(soundPresetId, SoundSettings.Ability, caster)
|
|
1028
|
+
end
|
|
1029
|
+
end)
|
|
970
1030
|
local casterCastingEffectModelPathsByAbilityTypeId = postcompile(function()
|
|
971
1031
|
return mapValues(
|
|
972
1032
|
casterCastingEffectPresetsByAbilityTypeId,
|
|
@@ -979,10 +1039,17 @@ local casterCastingEffectAttachmentPointsByAbilityTypeId = postcompile(function(
|
|
|
979
1039
|
function(casterCastingEffectPresets) return map(casterCastingEffectPresets, extractAttachmentPresetInputNodeFQN) end
|
|
980
1040
|
)
|
|
981
1041
|
end)
|
|
1042
|
+
local casterCastingEffectParametersByAbilityTypeId = postcompile(function()
|
|
1043
|
+
return mapValues(
|
|
1044
|
+
casterCastingEffectPresetsByAbilityTypeId,
|
|
1045
|
+
function(casterCastingEffectPresets) return map(casterCastingEffectPresets, "parameters") end
|
|
1046
|
+
)
|
|
1047
|
+
end)
|
|
982
1048
|
local casterCastingEffectsByCaster = {}
|
|
983
1049
|
local function handleAbilityCastingStartEvent(caster, ability)
|
|
984
1050
|
local effectModelPaths = casterCastingEffectModelPathsByAbilityTypeId[ability.typeId]
|
|
985
1051
|
local attachmentPoints = casterCastingEffectAttachmentPointsByAbilityTypeId[ability.typeId]
|
|
1052
|
+
local parameters = casterCastingEffectParametersByAbilityTypeId[ability.typeId]
|
|
986
1053
|
local effects = {}
|
|
987
1054
|
if effectModelPaths ~= nil then
|
|
988
1055
|
for i = 1, #effectModelPaths do
|
|
@@ -991,7 +1058,7 @@ local function handleAbilityCastingStartEvent(caster, ability)
|
|
|
991
1058
|
if attachmentPoint == nil or attachmentPoint == "" then
|
|
992
1059
|
attachmentPoint = "origin"
|
|
993
1060
|
end
|
|
994
|
-
effects[i] = Effect:
|
|
1061
|
+
effects[i] = Effect:create(effectModelPath, caster, attachmentPoint, parameters and parameters[i])
|
|
995
1062
|
end
|
|
996
1063
|
end
|
|
997
1064
|
casterCastingEffectsByCaster[caster] = effects
|
|
@@ -1022,10 +1089,17 @@ local casterChannelingEffectAttachmentPointsByAbilityTypeId = postcompile(functi
|
|
|
1022
1089
|
function(casterChannelingEffectPresets) return map(casterChannelingEffectPresets, extractAttachmentPresetInputNodeFQN) end
|
|
1023
1090
|
)
|
|
1024
1091
|
end)
|
|
1092
|
+
local casterChannelingEffectParametersByAbilityTypeId = postcompile(function()
|
|
1093
|
+
return mapValues(
|
|
1094
|
+
casterChannelingEffectPresetsByAbilityTypeId,
|
|
1095
|
+
function(casterChannelingEffectPresets) return map(casterChannelingEffectPresets, "parameters") end
|
|
1096
|
+
)
|
|
1097
|
+
end)
|
|
1025
1098
|
local casterChannelingEffectsByCaster = {}
|
|
1026
1099
|
local function handleAbilityChannelingStartEvent(caster, ability)
|
|
1027
1100
|
local effectModelPaths = casterChannelingEffectModelPathsByAbilityTypeId[ability.typeId]
|
|
1028
1101
|
local attachmentPoints = casterChannelingEffectAttachmentPointsByAbilityTypeId[ability.typeId]
|
|
1102
|
+
local parameters = casterChannelingEffectParametersByAbilityTypeId[ability.typeId]
|
|
1029
1103
|
local effects = {}
|
|
1030
1104
|
if effectModelPaths ~= nil then
|
|
1031
1105
|
for i = 1, #effectModelPaths do
|
|
@@ -1034,23 +1108,89 @@ local function handleAbilityChannelingStartEvent(caster, ability)
|
|
|
1034
1108
|
if attachmentPoint == nil or attachmentPoint == "" then
|
|
1035
1109
|
attachmentPoint = "origin"
|
|
1036
1110
|
end
|
|
1037
|
-
effects[i] = Effect:
|
|
1111
|
+
effects[i] = Effect:create(effectModelPath, caster, attachmentPoint, parameters and parameters[i])
|
|
1038
1112
|
end
|
|
1039
1113
|
end
|
|
1040
1114
|
casterChannelingEffectsByCaster[caster] = effects
|
|
1041
1115
|
end
|
|
1116
|
+
local targetChannelingEffectModelPathsByAbilityTypeId = postcompile(function()
|
|
1117
|
+
return mapValues(
|
|
1118
|
+
targetChannelingEffectPresetsByAbilityTypeId,
|
|
1119
|
+
function(targetChannelingEffectPresets) return map(targetChannelingEffectPresets, extractAttachmentPresetInputModelPath) end
|
|
1120
|
+
)
|
|
1121
|
+
end)
|
|
1122
|
+
local targetChannelingEffectAttachmentPointsByAbilityTypeId = postcompile(function()
|
|
1123
|
+
return mapValues(
|
|
1124
|
+
targetChannelingEffectPresetsByAbilityTypeId,
|
|
1125
|
+
function(targetChannelingEffectPresets) return map(targetChannelingEffectPresets, extractAttachmentPresetInputNodeFQN) end
|
|
1126
|
+
)
|
|
1127
|
+
end)
|
|
1128
|
+
local targetChannelingEffectParametersByAbilityTypeId = postcompile(function()
|
|
1129
|
+
return mapValues(
|
|
1130
|
+
targetChannelingEffectPresetsByAbilityTypeId,
|
|
1131
|
+
function(targetChannelingEffectPresets) return map(targetChannelingEffectPresets, "parameters") end
|
|
1132
|
+
)
|
|
1133
|
+
end)
|
|
1134
|
+
local targetChannelingEffectsByCaster = {}
|
|
1135
|
+
local function handleAbilityWidgetTargetChannelingStartEvent(caster, ability, target)
|
|
1136
|
+
local effectModelPaths = targetChannelingEffectModelPathsByAbilityTypeId[ability.typeId]
|
|
1137
|
+
local attachmentPoints = targetChannelingEffectAttachmentPointsByAbilityTypeId[ability.typeId]
|
|
1138
|
+
local parameters = targetChannelingEffectParametersByAbilityTypeId[ability.typeId]
|
|
1139
|
+
local effects = {}
|
|
1140
|
+
if effectModelPaths ~= nil then
|
|
1141
|
+
for i = 1, #effectModelPaths do
|
|
1142
|
+
local effectModelPath = effectModelPaths[i]
|
|
1143
|
+
local attachmentPoint = attachmentPoints and attachmentPoints[i]
|
|
1144
|
+
if attachmentPoint == nil or attachmentPoint == "" then
|
|
1145
|
+
attachmentPoint = "origin"
|
|
1146
|
+
end
|
|
1147
|
+
effects[i] = Effect:create(effectModelPath, target, attachmentPoint, parameters and parameters[i])
|
|
1148
|
+
end
|
|
1149
|
+
end
|
|
1150
|
+
targetChannelingEffectsByCaster[caster] = effects
|
|
1151
|
+
end
|
|
1152
|
+
local function handleAbilityPointTargetChannelingStartEvent(caster, ability, x, y)
|
|
1153
|
+
local effectModelPaths = targetChannelingEffectModelPathsByAbilityTypeId[ability.typeId]
|
|
1154
|
+
local attachmentPoints = targetChannelingEffectAttachmentPointsByAbilityTypeId[ability.typeId]
|
|
1155
|
+
local parameters = targetChannelingEffectParametersByAbilityTypeId[ability.typeId]
|
|
1156
|
+
local effects = {}
|
|
1157
|
+
if effectModelPaths ~= nil then
|
|
1158
|
+
for i = 1, #effectModelPaths do
|
|
1159
|
+
local effectModelPath = effectModelPaths[i]
|
|
1160
|
+
local attachmentPoint = attachmentPoints and attachmentPoints[i]
|
|
1161
|
+
if attachmentPoint == nil or attachmentPoint == "" then
|
|
1162
|
+
attachmentPoint = "origin"
|
|
1163
|
+
end
|
|
1164
|
+
effects[i] = Effect:create(effectModelPath, x, y, parameters and parameters[i])
|
|
1165
|
+
end
|
|
1166
|
+
end
|
|
1167
|
+
targetChannelingEffectsByCaster[caster] = effects
|
|
1168
|
+
end
|
|
1042
1169
|
local function handleAbilityStopChannelingEvent(caster)
|
|
1043
|
-
local
|
|
1044
|
-
if
|
|
1045
|
-
for i = 1, #
|
|
1046
|
-
|
|
1170
|
+
local casterEffects = casterChannelingEffectsByCaster[caster]
|
|
1171
|
+
if casterEffects ~= nil then
|
|
1172
|
+
for i = 1, #casterEffects do
|
|
1173
|
+
casterEffects[i]:destroy()
|
|
1047
1174
|
end
|
|
1048
1175
|
casterChannelingEffectsByCaster[caster] = nil
|
|
1049
1176
|
end
|
|
1177
|
+
local targetEffects = targetChannelingEffectsByCaster[caster]
|
|
1178
|
+
if targetEffects ~= nil then
|
|
1179
|
+
for i = 1, #targetEffects do
|
|
1180
|
+
targetEffects[i]:destroy()
|
|
1181
|
+
end
|
|
1182
|
+
targetChannelingEffectsByCaster[caster] = nil
|
|
1183
|
+
end
|
|
1050
1184
|
end
|
|
1051
1185
|
for abilityTypeId in pairs(casterChannelingEffectModelPathsByAbilityTypeId) do
|
|
1052
1186
|
Unit.abilityChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityChannelingStartEvent)
|
|
1053
1187
|
Unit.abilityChannelingFinishEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
|
|
1054
1188
|
Unit.abilityStopEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
|
|
1055
1189
|
end
|
|
1190
|
+
for abilityTypeId in pairs(targetChannelingEffectModelPathsByAbilityTypeId) do
|
|
1191
|
+
Unit.abilityWidgetTargetChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityWidgetTargetChannelingStartEvent)
|
|
1192
|
+
Unit.abilityPointTargetChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityPointTargetChannelingStartEvent)
|
|
1193
|
+
Unit.abilityChannelingFinishEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
|
|
1194
|
+
Unit.abilityStopEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
|
|
1195
|
+
end
|
|
1056
1196
|
return ____exports
|
|
@@ -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,14 +1,30 @@
|
|
|
1
1
|
/** @noSelfInFile */
|
|
2
2
|
import { ArmorSoundType } from "../auxiliary/armor-sound-type";
|
|
3
3
|
import { CombatClassifications } from "../auxiliary/combat-classification";
|
|
4
|
-
import { ObjectDataEntry, ObjectDataEntryId } from "../entry";
|
|
4
|
+
import { ObjectDataEntry, ObjectDataEntryConstructor, ObjectDataEntryId } from "../entry";
|
|
5
5
|
export type DestructibleTypeId = ObjectDataEntryId & number & {
|
|
6
6
|
readonly __destructibleTypeId: unique symbol;
|
|
7
7
|
};
|
|
8
|
+
export type StandardDestructibleTypeId = DestructibleTypeId & {
|
|
9
|
+
readonly __standardDestructibleTypeId: unique symbol;
|
|
10
|
+
};
|
|
8
11
|
export declare abstract class DestructibleType extends ObjectDataEntry<DestructibleTypeId> {
|
|
12
|
+
static readonly [id: StandardDestructibleTypeId]: ObjectDataEntryConstructor<DestructibleType>;
|
|
9
13
|
private static readonly idGenerator;
|
|
10
14
|
protected static generateId(): number;
|
|
11
15
|
protected static getObjectData(map: WarMap): WarObjects;
|
|
16
|
+
get fixedFacing(): number;
|
|
17
|
+
set fixedFacing(fixedFacing: number);
|
|
18
|
+
get flyOverHeight(): number;
|
|
19
|
+
set flyOverHeight(flyOverHeight: number);
|
|
20
|
+
get modelPath(): string;
|
|
21
|
+
set modelPath(modelPath: string);
|
|
22
|
+
get modelPathSD(): string;
|
|
23
|
+
set modelPathSD(modelPathSD: string);
|
|
24
|
+
get modelPathHD(): string;
|
|
25
|
+
set modelPathHD(modelPathHD: string);
|
|
26
|
+
get occlusionHeight(): number;
|
|
27
|
+
set occlusionHeight(occlusionHeight: number);
|
|
12
28
|
get armorSoundType(): ArmorSoundType;
|
|
13
29
|
set armorSoundType(armorSoundType: ArmorSoundType);
|
|
14
30
|
get armorSoundTypeSD(): ArmorSoundType;
|
|
@@ -17,4 +33,14 @@ export declare abstract class DestructibleType extends ObjectDataEntry<Destructi
|
|
|
17
33
|
set armorSoundTypeHD(armorSoundTypeHD: ArmorSoundType);
|
|
18
34
|
get combatClassifications(): CombatClassifications;
|
|
19
35
|
set combatClassifications(combatClassifications: CombatClassifications);
|
|
36
|
+
get cliffHeight(): number;
|
|
37
|
+
set cliffHeight(cliffHeight: number);
|
|
38
|
+
get isWalkable(): boolean;
|
|
39
|
+
set isWalkable(isWalkable: boolean);
|
|
40
|
+
get pathingTexturePath(): string;
|
|
41
|
+
set pathingTexturePath(pathingTexturePath: string);
|
|
42
|
+
get deadPathingTexturePath(): string;
|
|
43
|
+
set deadPathingTexturePath(deadPathingTexturePath: string);
|
|
44
|
+
get name(): string;
|
|
45
|
+
set name(name: string);
|
|
20
46
|
}
|
|
@@ -11,6 +11,8 @@ local ____entry = require("engine.object-data.entry")
|
|
|
11
11
|
local ObjectDataEntry = ____entry.ObjectDataEntry
|
|
12
12
|
local ____object_2Ddata_2Dentry_2Did_2Dgenerator = require("engine.object-data.utility.object-data-entry-id-generator")
|
|
13
13
|
local ObjectDataEntryIdGenerator = ____object_2Ddata_2Dentry_2Did_2Dgenerator.ObjectDataEntryIdGenerator
|
|
14
|
+
local ____reflection = require("utility.reflection")
|
|
15
|
+
local implementReadonlyNumberIndexSupplier = ____reflection.implementReadonlyNumberIndexSupplier
|
|
14
16
|
____exports.DestructibleType = __TS__Class()
|
|
15
17
|
local DestructibleType = ____exports.DestructibleType
|
|
16
18
|
DestructibleType.name = "DestructibleType"
|
|
@@ -25,6 +27,84 @@ DestructibleType.idGenerator = __TS__New(
|
|
|
25
27
|
ObjectDataEntryIdGenerator,
|
|
26
28
|
fourCC("D000")
|
|
27
29
|
)
|
|
30
|
+
__TS__SetDescriptor(
|
|
31
|
+
DestructibleType.prototype,
|
|
32
|
+
"fixedFacing",
|
|
33
|
+
{
|
|
34
|
+
get = function(self)
|
|
35
|
+
return self:getNumberField("bfxr")
|
|
36
|
+
end,
|
|
37
|
+
set = function(self, fixedFacing)
|
|
38
|
+
self:setNumberField("bfxr", fixedFacing)
|
|
39
|
+
end
|
|
40
|
+
},
|
|
41
|
+
true
|
|
42
|
+
)
|
|
43
|
+
__TS__SetDescriptor(
|
|
44
|
+
DestructibleType.prototype,
|
|
45
|
+
"flyOverHeight",
|
|
46
|
+
{
|
|
47
|
+
get = function(self)
|
|
48
|
+
return self:getNumberField("bflh")
|
|
49
|
+
end,
|
|
50
|
+
set = function(self, flyOverHeight)
|
|
51
|
+
self:setNumberField("bflh", flyOverHeight)
|
|
52
|
+
end
|
|
53
|
+
},
|
|
54
|
+
true
|
|
55
|
+
)
|
|
56
|
+
__TS__SetDescriptor(
|
|
57
|
+
DestructibleType.prototype,
|
|
58
|
+
"modelPath",
|
|
59
|
+
{
|
|
60
|
+
get = function(self)
|
|
61
|
+
return self:getStringField("bfil")
|
|
62
|
+
end,
|
|
63
|
+
set = function(self, modelPath)
|
|
64
|
+
self:setStringField("bfil", modelPath)
|
|
65
|
+
end
|
|
66
|
+
},
|
|
67
|
+
true
|
|
68
|
+
)
|
|
69
|
+
__TS__SetDescriptor(
|
|
70
|
+
DestructibleType.prototype,
|
|
71
|
+
"modelPathSD",
|
|
72
|
+
{
|
|
73
|
+
get = function(self)
|
|
74
|
+
return self:getStringField("bfil:sd")
|
|
75
|
+
end,
|
|
76
|
+
set = function(self, modelPathSD)
|
|
77
|
+
self:setStringField("bfil:sd", modelPathSD)
|
|
78
|
+
end
|
|
79
|
+
},
|
|
80
|
+
true
|
|
81
|
+
)
|
|
82
|
+
__TS__SetDescriptor(
|
|
83
|
+
DestructibleType.prototype,
|
|
84
|
+
"modelPathHD",
|
|
85
|
+
{
|
|
86
|
+
get = function(self)
|
|
87
|
+
return self:getStringField("bfil:hd")
|
|
88
|
+
end,
|
|
89
|
+
set = function(self, modelPathHD)
|
|
90
|
+
self:setStringField("bfil:hd", modelPathHD)
|
|
91
|
+
end
|
|
92
|
+
},
|
|
93
|
+
true
|
|
94
|
+
)
|
|
95
|
+
__TS__SetDescriptor(
|
|
96
|
+
DestructibleType.prototype,
|
|
97
|
+
"occlusionHeight",
|
|
98
|
+
{
|
|
99
|
+
get = function(self)
|
|
100
|
+
return self:getNumberField("boch")
|
|
101
|
+
end,
|
|
102
|
+
set = function(self, occlusionHeight)
|
|
103
|
+
self:setNumberField("boch", occlusionHeight)
|
|
104
|
+
end
|
|
105
|
+
},
|
|
106
|
+
true
|
|
107
|
+
)
|
|
28
108
|
__TS__SetDescriptor(
|
|
29
109
|
DestructibleType.prototype,
|
|
30
110
|
"armorSoundType",
|
|
@@ -80,4 +160,79 @@ __TS__SetDescriptor(
|
|
|
80
160
|
},
|
|
81
161
|
true
|
|
82
162
|
)
|
|
163
|
+
__TS__SetDescriptor(
|
|
164
|
+
DestructibleType.prototype,
|
|
165
|
+
"cliffHeight",
|
|
166
|
+
{
|
|
167
|
+
get = function(self)
|
|
168
|
+
return self:getNumberField("bclh")
|
|
169
|
+
end,
|
|
170
|
+
set = function(self, cliffHeight)
|
|
171
|
+
self:setNumberField("bclh", cliffHeight)
|
|
172
|
+
end
|
|
173
|
+
},
|
|
174
|
+
true
|
|
175
|
+
)
|
|
176
|
+
__TS__SetDescriptor(
|
|
177
|
+
DestructibleType.prototype,
|
|
178
|
+
"isWalkable",
|
|
179
|
+
{
|
|
180
|
+
get = function(self)
|
|
181
|
+
return self:getBooleanField("bwal")
|
|
182
|
+
end,
|
|
183
|
+
set = function(self, isWalkable)
|
|
184
|
+
self:setBooleanField("bwal", isWalkable)
|
|
185
|
+
end
|
|
186
|
+
},
|
|
187
|
+
true
|
|
188
|
+
)
|
|
189
|
+
__TS__SetDescriptor(
|
|
190
|
+
DestructibleType.prototype,
|
|
191
|
+
"pathingTexturePath",
|
|
192
|
+
{
|
|
193
|
+
get = function(self)
|
|
194
|
+
return self:getStringField("bptx")
|
|
195
|
+
end,
|
|
196
|
+
set = function(self, pathingTexturePath)
|
|
197
|
+
self:setStringField("bptx", pathingTexturePath)
|
|
198
|
+
end
|
|
199
|
+
},
|
|
200
|
+
true
|
|
201
|
+
)
|
|
202
|
+
__TS__SetDescriptor(
|
|
203
|
+
DestructibleType.prototype,
|
|
204
|
+
"deadPathingTexturePath",
|
|
205
|
+
{
|
|
206
|
+
get = function(self)
|
|
207
|
+
return self:getStringField("bptd")
|
|
208
|
+
end,
|
|
209
|
+
set = function(self, deadPathingTexturePath)
|
|
210
|
+
self:setStringField("bptd", deadPathingTexturePath)
|
|
211
|
+
end
|
|
212
|
+
},
|
|
213
|
+
true
|
|
214
|
+
)
|
|
215
|
+
__TS__SetDescriptor(
|
|
216
|
+
DestructibleType.prototype,
|
|
217
|
+
"name",
|
|
218
|
+
{
|
|
219
|
+
get = function(self)
|
|
220
|
+
return self:getStringField("bnam")
|
|
221
|
+
end,
|
|
222
|
+
set = function(self, name)
|
|
223
|
+
self:setStringField("bnam", name)
|
|
224
|
+
end
|
|
225
|
+
},
|
|
226
|
+
true
|
|
227
|
+
)
|
|
228
|
+
implementReadonlyNumberIndexSupplier(
|
|
229
|
+
____exports.DestructibleType,
|
|
230
|
+
function(id)
|
|
231
|
+
local ____class_0 = __TS__Class()
|
|
232
|
+
____class_0.name = ____class_0.name
|
|
233
|
+
__TS__ClassExtends(____class_0, ____exports.DestructibleType)
|
|
234
|
+
____class_0.BASE_ID = id
|
|
235
|
+
return ____class_0
|
|
236
|
+
end
|
|
237
|
+
)
|
|
83
238
|
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
|
}
|