warscript 0.0.1-dev.47f470c → 0.0.1-dev.48e5280
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 +15 -6
- 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 +69 -20
- package/engine/buff.lua +390 -171
- 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.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/armor-bonus.d.ts +2 -0
- package/engine/internal/object-data/attribute-bonus.lua +2 -2
- package/engine/internal/object-data/health-bonus.d.ts +2 -0
- package/engine/internal/object-data/health-bonus.lua +16 -0
- package/engine/internal/object-data/mana-bonus.d.ts +2 -0
- package/engine/internal/object-data/mana-bonus.lua +16 -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 +6 -0
- package/engine/internal/unit/bonus.lua +33 -3
- 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+bonus.lua +3 -3
- 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/{armor-increase.d.ts → armor-bonus.d.ts} +3 -3
- package/engine/object-data/entry/ability-type/{armor-increase.lua → armor-bonus.lua} +9 -9
- 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/health-bonus.d.ts +8 -0
- package/engine/object-data/entry/ability-type/health-bonus.lua +26 -0
- package/engine/object-data/entry/ability-type/mana-bonus.d.ts +8 -0
- package/engine/object-data/entry/ability-type/mana-bonus.lua +26 -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 +20 -16
- package/engine/object-data/entry/ability-type.lua +161 -20
- package/engine/object-data/entry/buff-type/applicable.lua +9 -4
- 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 +18 -2
- package/engine/object-data/entry/sound-preset.lua +105 -15
- package/engine/object-data/entry/unit-type.d.ts +17 -4
- package/engine/object-data/entry/unit-type.lua +200 -88
- package/engine/object-data/entry.d.ts +2 -2
- package/engine/object-data/entry.lua +14 -7
- 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/objutil/unit.lua +2 -2
- 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/reflection.lua +11 -7
- package/utility/types.d.ts +3 -0
- package/core/types/order.d.ts +0 -25
- package/core/types/order.lua +0 -55
- /package/engine/internal/{object-data/armor-increase.d.ts → misc/damage-metadata-by-target.d.ts} +0 -0
- /package/engine/internal/object-data/{armor-increase.lua → armor-bonus.lua} +0 -0
- /package/engine/object-data/entry/ability-type/{attribute-increase.d.ts → attribute-bonus.d.ts} +0 -0
- /package/engine/object-data/entry/ability-type/{attribute-increase.lua → attribute-bonus.lua} +0 -0
|
@@ -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
|
|
@@ -718,26 +740,40 @@ __TS__SetDescriptor(
|
|
|
718
740
|
)
|
|
719
741
|
__TS__SetDescriptor(
|
|
720
742
|
AbilityType.prototype,
|
|
721
|
-
"
|
|
743
|
+
"casterEffectSoundPresetId",
|
|
722
744
|
{
|
|
723
745
|
get = function(self)
|
|
724
|
-
|
|
746
|
+
local casterEffectSoundPresetId = self:getStringField("aefs")
|
|
747
|
+
return casterEffectSoundPresetId ~= "" and casterEffectSoundPresetId or nil
|
|
725
748
|
end,
|
|
726
|
-
set = function(self,
|
|
727
|
-
self:setStringField("aefs",
|
|
749
|
+
set = function(self, casterEffectSoundPresetId)
|
|
750
|
+
self:setStringField("aefs", casterEffectSoundPresetId or "")
|
|
728
751
|
end
|
|
729
752
|
},
|
|
730
753
|
true
|
|
731
754
|
)
|
|
732
755
|
__TS__SetDescriptor(
|
|
733
756
|
AbilityType.prototype,
|
|
734
|
-
"
|
|
757
|
+
"casterEffectLoopingSoundPresetId",
|
|
735
758
|
{
|
|
736
759
|
get = function(self)
|
|
737
760
|
return self:getStringField("aefl")
|
|
738
761
|
end,
|
|
739
|
-
set = function(self,
|
|
740
|
-
self:setStringField("aefl",
|
|
762
|
+
set = function(self, casterEffectLoopingSoundPresetId)
|
|
763
|
+
self:setStringField("aefl", casterEffectLoopingSoundPresetId)
|
|
764
|
+
end
|
|
765
|
+
},
|
|
766
|
+
true
|
|
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
|
|
741
777
|
end
|
|
742
778
|
},
|
|
743
779
|
true
|
|
@@ -959,13 +995,38 @@ for abilityTypeId, animationFQN in pairs(postcompile(function() return castAnima
|
|
|
959
995
|
4,
|
|
960
996
|
function(caster, ability)
|
|
961
997
|
if ability:getField(ABILITY_RLF_CASTING_TIME) ~= 0 then
|
|
962
|
-
Timer:run(
|
|
963
|
-
caster:playAnimation(animationFQN)
|
|
964
|
-
end)
|
|
998
|
+
Timer:run(caster, "playAnimation", animationFQN)
|
|
965
999
|
end
|
|
966
1000
|
end
|
|
967
1001
|
)
|
|
968
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)
|
|
969
1030
|
local casterCastingEffectModelPathsByAbilityTypeId = postcompile(function()
|
|
970
1031
|
return mapValues(
|
|
971
1032
|
casterCastingEffectPresetsByAbilityTypeId,
|
|
@@ -978,10 +1039,17 @@ local casterCastingEffectAttachmentPointsByAbilityTypeId = postcompile(function(
|
|
|
978
1039
|
function(casterCastingEffectPresets) return map(casterCastingEffectPresets, extractAttachmentPresetInputNodeFQN) end
|
|
979
1040
|
)
|
|
980
1041
|
end)
|
|
1042
|
+
local casterCastingEffectParametersByAbilityTypeId = postcompile(function()
|
|
1043
|
+
return mapValues(
|
|
1044
|
+
casterCastingEffectPresetsByAbilityTypeId,
|
|
1045
|
+
function(casterCastingEffectPresets) return map(casterCastingEffectPresets, "parameters") end
|
|
1046
|
+
)
|
|
1047
|
+
end)
|
|
981
1048
|
local casterCastingEffectsByCaster = {}
|
|
982
1049
|
local function handleAbilityCastingStartEvent(caster, ability)
|
|
983
1050
|
local effectModelPaths = casterCastingEffectModelPathsByAbilityTypeId[ability.typeId]
|
|
984
1051
|
local attachmentPoints = casterCastingEffectAttachmentPointsByAbilityTypeId[ability.typeId]
|
|
1052
|
+
local parameters = casterCastingEffectParametersByAbilityTypeId[ability.typeId]
|
|
985
1053
|
local effects = {}
|
|
986
1054
|
if effectModelPaths ~= nil then
|
|
987
1055
|
for i = 1, #effectModelPaths do
|
|
@@ -990,7 +1058,7 @@ local function handleAbilityCastingStartEvent(caster, ability)
|
|
|
990
1058
|
if attachmentPoint == nil or attachmentPoint == "" then
|
|
991
1059
|
attachmentPoint = "origin"
|
|
992
1060
|
end
|
|
993
|
-
effects[i] = Effect:
|
|
1061
|
+
effects[i] = Effect:create(effectModelPath, caster, attachmentPoint, parameters and parameters[i])
|
|
994
1062
|
end
|
|
995
1063
|
end
|
|
996
1064
|
casterCastingEffectsByCaster[caster] = effects
|
|
@@ -1021,10 +1089,17 @@ local casterChannelingEffectAttachmentPointsByAbilityTypeId = postcompile(functi
|
|
|
1021
1089
|
function(casterChannelingEffectPresets) return map(casterChannelingEffectPresets, extractAttachmentPresetInputNodeFQN) end
|
|
1022
1090
|
)
|
|
1023
1091
|
end)
|
|
1092
|
+
local casterChannelingEffectParametersByAbilityTypeId = postcompile(function()
|
|
1093
|
+
return mapValues(
|
|
1094
|
+
casterChannelingEffectPresetsByAbilityTypeId,
|
|
1095
|
+
function(casterChannelingEffectPresets) return map(casterChannelingEffectPresets, "parameters") end
|
|
1096
|
+
)
|
|
1097
|
+
end)
|
|
1024
1098
|
local casterChannelingEffectsByCaster = {}
|
|
1025
1099
|
local function handleAbilityChannelingStartEvent(caster, ability)
|
|
1026
1100
|
local effectModelPaths = casterChannelingEffectModelPathsByAbilityTypeId[ability.typeId]
|
|
1027
1101
|
local attachmentPoints = casterChannelingEffectAttachmentPointsByAbilityTypeId[ability.typeId]
|
|
1102
|
+
local parameters = casterChannelingEffectParametersByAbilityTypeId[ability.typeId]
|
|
1028
1103
|
local effects = {}
|
|
1029
1104
|
if effectModelPaths ~= nil then
|
|
1030
1105
|
for i = 1, #effectModelPaths do
|
|
@@ -1033,23 +1108,89 @@ local function handleAbilityChannelingStartEvent(caster, ability)
|
|
|
1033
1108
|
if attachmentPoint == nil or attachmentPoint == "" then
|
|
1034
1109
|
attachmentPoint = "origin"
|
|
1035
1110
|
end
|
|
1036
|
-
effects[i] = Effect:
|
|
1111
|
+
effects[i] = Effect:create(effectModelPath, caster, attachmentPoint, parameters and parameters[i])
|
|
1037
1112
|
end
|
|
1038
1113
|
end
|
|
1039
1114
|
casterChannelingEffectsByCaster[caster] = effects
|
|
1040
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
|
|
1041
1169
|
local function handleAbilityStopChannelingEvent(caster)
|
|
1042
|
-
local
|
|
1043
|
-
if
|
|
1044
|
-
for i = 1, #
|
|
1045
|
-
|
|
1170
|
+
local casterEffects = casterChannelingEffectsByCaster[caster]
|
|
1171
|
+
if casterEffects ~= nil then
|
|
1172
|
+
for i = 1, #casterEffects do
|
|
1173
|
+
casterEffects[i]:destroy()
|
|
1046
1174
|
end
|
|
1047
1175
|
casterChannelingEffectsByCaster[caster] = nil
|
|
1048
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
|
|
1049
1184
|
end
|
|
1050
1185
|
for abilityTypeId in pairs(casterChannelingEffectModelPathsByAbilityTypeId) do
|
|
1051
1186
|
Unit.abilityChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityChannelingStartEvent)
|
|
1052
1187
|
Unit.abilityChannelingFinishEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
|
|
1053
1188
|
Unit.abilityStopEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
|
|
1054
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
|
|
1055
1196
|
return ____exports
|
|
@@ -74,7 +74,7 @@ local applicatorAbilityTypeIdByApplicatorTypeByApplicableBuffTypeId, applicatorU
|
|
|
74
74
|
abilityType.buttonPositionY = -11
|
|
75
75
|
abilityType.casterAttachmentPresets = {}
|
|
76
76
|
abilityType.targetEffectPresets = {}
|
|
77
|
-
abilityType.
|
|
77
|
+
abilityType.casterEffectSoundPresetId = nil
|
|
78
78
|
abilityType.learnLevelMinimum = 6
|
|
79
79
|
abilityType.race = "other"
|
|
80
80
|
abilityType.shouldCheckTechTreeDependencies = false
|
|
@@ -104,7 +104,7 @@ local applicatorAbilityTypeIdByApplicatorTypeByApplicableBuffTypeId, applicatorU
|
|
|
104
104
|
local applicatorAbilityType = prepareAbilityType(CurseAbilityType, applicableBuffType)
|
|
105
105
|
applicatorAbilityType.missProbability = 0
|
|
106
106
|
applicatorAbilityType.buffTypeIds = {applicableBuffType.id}
|
|
107
|
-
applicatorAbilityTypeIdByApplicatorType[
|
|
107
|
+
applicatorAbilityTypeIdByApplicatorType[852190] = applicatorAbilityType.id
|
|
108
108
|
end
|
|
109
109
|
if applicableBuffType.polarity == 1 or applicableBuffType.polarity == nil then
|
|
110
110
|
local applicatorAbilityType = prepareAbilityType(BloodLustAbilityType, applicableBuffType)
|
|
@@ -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
|
|
@@ -222,7 +227,7 @@ Unit.abilityCastingStartEvent[SEARING_ARROWS_DUMMY_ABILITY_TYPE_ID]:addListener(
|
|
|
222
227
|
---
|
|
223
228
|
-- @internal For use by internal systems only.
|
|
224
229
|
____exports.internalApplyBuff = function(unit, applicableBuffTypeId, polarity, resistanceType, level, duration, spellStealPriority, learnLevelMinimum, missProbability)
|
|
225
|
-
local applicatorType = polarity == 1 and (resistanceType == 1 and 852101 or 852100) or (polarity == 2 and (resistanceType == 1 and
|
|
230
|
+
local applicatorType = polarity == 1 and (resistanceType == 1 and 852101 or 852100) or (polarity == 2 and (resistanceType == 1 and 852190 or 852173) or 0)
|
|
226
231
|
local ____opt_1 = applicatorAbilityTypeIdByApplicatorTypeByApplicableBuffTypeId[applicableBuffTypeId]
|
|
227
232
|
local applicatorAbilityTypeId = ____opt_1 and ____opt_1[applicatorType]
|
|
228
233
|
if applicatorAbilityTypeId == nil then
|
|
@@ -274,7 +279,7 @@ ____exports.internalApplyBuff = function(unit, applicableBuffTypeId, polarity, r
|
|
|
274
279
|
ability:setField(ABILITY_RLF_DURATION_HERO, level, actualDuration)
|
|
275
280
|
ability:setField(ABILITY_IF_PRIORITY, spellStealPriority or 0)
|
|
276
281
|
ability:setField(ABILITY_IF_REQUIRED_LEVEL, learnLevelMinimum or 6)
|
|
277
|
-
if missProbability ~= nil and applicatorType ==
|
|
282
|
+
if missProbability ~= nil and applicatorType == 852190 then
|
|
278
283
|
ability:setField(ABILITY_RLF_CHANCE_TO_MISS_CRS, missProbability)
|
|
279
284
|
end
|
|
280
285
|
end,
|
|
@@ -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
|