warscript 0.0.1-dev.d6e2c10 → 0.0.1-dev.d77b529
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/core/dummy.lua +4 -2
- package/core/types/effect.d.ts +11 -1
- package/core/types/effect.lua +43 -77
- package/core/types/frame.d.ts +1 -0
- package/core/types/frame.lua +112 -37
- package/core/types/handle.lua +9 -9
- package/core/types/item.d.ts +1 -0
- package/core/types/item.lua +1 -0
- package/core/types/player.d.ts +2 -1
- package/core/types/player.lua +18 -13
- package/core/types/playerColor.lua +4 -3
- package/core/types/sound.d.ts +1 -1
- package/core/types/sound.lua +14 -9
- package/core/types/unit.d.ts +5 -0
- package/core/types/unit.lua +5 -0
- package/core/util.d.ts +3 -1
- package/core/util.lua +109 -3
- package/decl/native.d.ts +705 -7
- package/engine/behavior.d.ts +4 -2
- package/engine/behavior.lua +69 -11
- package/engine/behaviour/ability/apply-unit-behavior.lua +5 -0
- package/engine/behaviour/ability/damage.d.ts +4 -0
- package/engine/behaviour/ability/damage.lua +19 -15
- package/engine/behaviour/ability/emulate-impact.lua +5 -4
- package/engine/behaviour/ability/on-command-impact.d.ts +1 -0
- package/engine/behaviour/ability/on-command-impact.lua +1 -0
- package/engine/behaviour/ability.d.ts +11 -5
- package/engine/behaviour/ability.lua +54 -0
- package/engine/behaviour/unit/stun-immunity.d.ts +1 -1
- package/engine/behaviour/unit/stun-immunity.lua +5 -4
- package/engine/behaviour/unit.d.ts +1 -0
- package/engine/behaviour/unit.lua +14 -3
- package/engine/buff.d.ts +64 -25
- package/engine/buff.lua +345 -156
- package/engine/index.d.ts +2 -1
- package/engine/internal/ability.d.ts +4 -0
- package/engine/internal/ability.lua +56 -36
- package/engine/internal/item/fields.d.ts +12 -0
- package/engine/internal/item/fields.lua +33 -0
- package/engine/internal/item/owner-cache.d.ts +5 -0
- package/engine/internal/item/owner-cache.lua +4 -0
- package/engine/internal/item+owner.d.ts +2 -0
- package/engine/internal/item+owner.lua +27 -4
- package/engine/internal/item.d.ts +20 -5
- package/engine/internal/item.lua +146 -57
- package/engine/internal/mechanics/cast-ability.lua +6 -3
- package/engine/internal/misc/unit-ability-level-natives.lua +12 -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/health-regeneration-rate-increase.d.ts +2 -0
- package/engine/internal/object-data/health-regeneration-rate-increase.lua +48 -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.lua +15 -3
- package/engine/internal/unit/add-item-to-slot-init.lua +3 -14
- package/engine/internal/unit/add-item-to-slot.lua +53 -12
- package/engine/internal/unit/appearance.d.ts +15 -0
- package/engine/internal/unit/appearance.lua +85 -0
- package/engine/internal/unit/attributes.d.ts +17 -0
- package/engine/internal/unit/attributes.lua +46 -0
- package/engine/internal/unit/bonus.d.ts +14 -0
- package/engine/internal/unit/bonus.lua +102 -8
- package/engine/internal/unit/buff.d.ts +2 -2
- package/engine/internal/unit/buff.lua +34 -19
- package/engine/internal/unit/equipment-inventory.d.ts +44 -0
- package/engine/internal/unit/equipment-inventory.lua +233 -0
- package/engine/internal/unit/expiration-timer.lua +1 -1
- package/engine/internal/unit/extended-inventory.d.ts +25 -0
- package/engine/internal/unit/extended-inventory.lua +99 -0
- package/engine/internal/unit/fly-height.lua +3 -3
- package/engine/internal/unit/ignore-events-items.lua +10 -1
- package/engine/internal/unit/interrupts.d.ts +12 -0
- package/engine/internal/unit/interrupts.lua +28 -0
- package/engine/internal/unit/{item.d.ts → inventory.d.ts} +7 -3
- package/engine/internal/unit/inventory.lua +87 -0
- package/engine/internal/unit/item-container.d.ts +25 -0
- package/engine/internal/unit/item-container.lua +11 -0
- package/engine/internal/unit/item-order-events.d.ts +17 -0
- package/engine/internal/unit/item-order-events.lua +67 -0
- package/engine/internal/unit/item-slot.d.ts +27 -0
- package/engine/internal/unit/item-slot.lua +92 -0
- package/engine/internal/unit/order.d.ts +3 -3
- package/engine/internal/unit/order.lua +10 -10
- package/engine/internal/unit/pseudo-passive-abilities.d.ts +2 -0
- package/engine/internal/unit/pseudo-passive-abilities.lua +11 -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.lua +3 -3
- package/engine/internal/unit+ability.d.ts +2 -1
- package/engine/internal/unit+ability.lua +63 -2
- package/engine/internal/unit+bonus.lua +3 -3
- package/engine/internal/unit+damage.d.ts +9 -0
- package/engine/internal/unit+damage.lua +33 -0
- package/engine/internal/unit+rally.lua +9 -31
- package/engine/internal/unit-missile-data.lua +58 -32
- package/engine/internal/unit-missile-launch.lua +25 -18
- package/engine/internal/unit.d.ts +3 -18
- package/engine/internal/unit.lua +97 -195
- package/engine/local-client.d.ts +27 -1
- package/engine/local-client.lua +298 -58
- package/engine/object-data/auxiliary/equipment-slot.d.ts +12 -0
- package/engine/object-data/auxiliary/equipment-slot.lua +2 -0
- package/engine/object-data/auxiliary/equipment-type.d.ts +12 -0
- package/engine/object-data/auxiliary/equipment-type.lua +26 -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/item-class.d.ts +11 -0
- package/engine/object-data/auxiliary/item-class.lua +2 -0
- package/engine/object-data/auxiliary/item-tag.d.ts +12 -0
- package/engine/object-data/auxiliary/item-tag.lua +2 -0
- package/engine/object-data/auxiliary/order-type.d.ts +939 -0
- package/engine/object-data/auxiliary/order-type.lua +2 -0
- package/engine/object-data/auxiliary/sound-set-name.d.ts +14 -3
- package/engine/object-data/auxiliary/unit-attribute.lua +1 -1
- package/engine/object-data/entry/ability-type/apprehend.d.ts +22 -0
- package/engine/object-data/entry/ability-type/apprehend.lua +66 -0
- package/engine/object-data/entry/ability-type/armor-bonus.d.ts +8 -0
- package/engine/object-data/entry/ability-type/{armor-increase.lua → armor-bonus.lua} +9 -9
- package/engine/object-data/entry/ability-type/aura-of-blight.d.ts +13 -0
- package/engine/object-data/entry/ability-type/aura-of-blight.lua +39 -0
- package/engine/object-data/entry/ability-type/banshee.d.ts +8 -0
- package/engine/object-data/entry/ability-type/banshee.lua +13 -0
- package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.d.ts +12 -0
- package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.lua +27 -0
- package/engine/object-data/entry/ability-type/banshees-wail.d.ts +31 -0
- package/engine/object-data/entry/ability-type/banshees-wail.lua +117 -0
- package/engine/object-data/entry/ability-type/battering-ram.d.ts +33 -0
- package/engine/object-data/entry/ability-type/battering-ram.lua +130 -0
- package/engine/object-data/entry/ability-type/blank-configurable.d.ts +3 -0
- package/engine/object-data/entry/ability-type/blank-configurable.lua +30 -0
- package/engine/object-data/entry/ability-type/cleansing-fire.d.ts +27 -0
- package/engine/object-data/entry/ability-type/cleansing-fire.lua +104 -0
- package/engine/object-data/entry/ability-type/consecration.d.ts +15 -0
- package/engine/object-data/entry/ability-type/consecration.lua +52 -0
- package/engine/object-data/entry/ability-type/cooldown-reduction.d.ts +12 -0
- package/engine/object-data/entry/ability-type/cooldown-reduction.lua +39 -0
- package/engine/object-data/entry/ability-type/critical-strike-system.d.ts +18 -0
- package/engine/object-data/entry/ability-type/critical-strike-system.lua +65 -0
- package/engine/object-data/entry/ability-type/deathseeker-arrows.d.ts +21 -0
- package/engine/object-data/entry/ability-type/deathseeker-arrows.lua +78 -0
- package/engine/object-data/entry/ability-type/equipment-inventory-interface.d.ts +8 -0
- package/engine/object-data/entry/ability-type/equipment-inventory-interface.lua +13 -0
- package/engine/object-data/entry/ability-type/equipment-inventory.d.ts +13 -0
- package/engine/object-data/entry/ability-type/equipment-inventory.lua +27 -0
- package/engine/object-data/entry/ability-type/equipment.d.ts +13 -0
- package/engine/object-data/entry/ability-type/equipment.lua +27 -0
- package/engine/object-data/entry/ability-type/grant-talent-point.d.ts +8 -0
- package/engine/object-data/entry/ability-type/grant-talent-point.lua +13 -0
- package/engine/object-data/entry/ability-type/grim-conviction.d.ts +36 -0
- package/engine/object-data/entry/ability-type/grim-conviction.lua +131 -0
- package/engine/object-data/entry/ability-type/grit.d.ts +18 -0
- package/engine/object-data/entry/ability-type/grit.lua +65 -0
- package/engine/object-data/entry/ability-type/guiding-hand.d.ts +27 -0
- package/engine/object-data/entry/ability-type/guiding-hand.lua +104 -0
- package/engine/object-data/entry/ability-type/headsplitter.d.ts +27 -0
- package/engine/object-data/entry/ability-type/headsplitter.lua +104 -0
- package/engine/object-data/entry/ability-type/{armor-increase.d.ts → healing-modifier.d.ts} +4 -3
- package/engine/object-data/entry/ability-type/healing-modifier.lua +26 -0
- package/engine/object-data/entry/ability-type/healing-ward-aura.d.ts +13 -0
- package/engine/object-data/entry/ability-type/healing-ward-aura.lua +39 -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/heroic-slash.d.ts +18 -0
- package/engine/object-data/entry/ability-type/heroic-slash.lua +65 -0
- package/engine/object-data/entry/ability-type/holy-wrath.d.ts +30 -0
- package/engine/object-data/entry/ability-type/holy-wrath.lua +117 -0
- package/engine/object-data/entry/ability-type/inspire-courage.d.ts +18 -0
- package/engine/object-data/entry/ability-type/inspire-courage.lua +65 -0
- package/engine/object-data/entry/ability-type/item-life-regeneration.d.ts +10 -0
- package/engine/object-data/entry/ability-type/item-life-regeneration.lua +26 -0
- package/engine/object-data/entry/ability-type/lights-mercy.d.ts +27 -0
- package/engine/object-data/entry/ability-type/lights-mercy.lua +104 -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-efficiency.d.ts +12 -0
- package/engine/object-data/entry/ability-type/mana-efficiency.lua +39 -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/mind-control.d.ts +21 -0
- package/engine/object-data/entry/ability-type/mind-control.lua +78 -0
- package/engine/object-data/entry/ability-type/on-attack-cast-spell.d.ts +21 -0
- package/engine/object-data/entry/ability-type/on-attack-cast-spell.lua +52 -0
- package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.d.ts +19 -0
- package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.lua +65 -0
- package/engine/object-data/entry/ability-type/on-hit-cast-spell.d.ts +15 -0
- package/engine/object-data/entry/ability-type/on-hit-cast-spell.lua +26 -0
- package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.d.ts +6 -0
- package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.lua +12 -0
- package/engine/object-data/entry/ability-type/provoke.d.ts +21 -0
- package/engine/object-data/entry/ability-type/provoke.lua +66 -0
- package/engine/object-data/entry/ability-type/raise-the-banner.d.ts +9 -0
- package/engine/object-data/entry/ability-type/raise-the-banner.lua +26 -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/resolve.d.ts +12 -0
- package/engine/object-data/entry/ability-type/resolve.lua +39 -0
- package/engine/object-data/entry/ability-type/righteous-fury.d.ts +33 -0
- package/engine/object-data/entry/ability-type/righteous-fury.lua +130 -0
- package/engine/object-data/entry/ability-type/sacred-aura.d.ts +27 -0
- package/engine/object-data/entry/ability-type/sacred-aura.lua +104 -0
- package/engine/object-data/entry/ability-type/soul-lantern.d.ts +30 -0
- package/engine/object-data/entry/ability-type/soul-lantern.lua +117 -0
- package/engine/object-data/entry/ability-type/spell-amp.d.ts +15 -0
- package/engine/object-data/entry/ability-type/spell-amp.lua +52 -0
- package/engine/object-data/entry/ability-type/spell-critical-strike.d.ts +12 -0
- package/engine/object-data/entry/ability-type/spell-critical-strike.lua +39 -0
- package/engine/object-data/entry/ability-type/spell-vamp.d.ts +12 -0
- package/engine/object-data/entry/ability-type/spell-vamp.lua +39 -0
- package/engine/object-data/entry/ability-type/stackable-evasion.d.ts +9 -0
- package/engine/object-data/entry/ability-type/stackable-evasion.lua +13 -0
- package/engine/object-data/entry/ability-type/stackable-hardened-skin.d.ts +21 -0
- package/engine/object-data/entry/ability-type/stackable-hardened-skin.lua +78 -0
- package/engine/object-data/entry/ability-type/stackable-life-steal.d.ts +9 -0
- package/engine/object-data/entry/ability-type/stackable-life-steal.lua +26 -0
- package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.d.ts +9 -0
- package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.lua +13 -0
- package/engine/object-data/entry/ability-type/stackable-thorn-shield.d.ts +9 -0
- package/engine/object-data/entry/ability-type/stackable-thorn-shield.lua +13 -0
- package/engine/object-data/entry/ability-type/stat-details.d.ts +12 -0
- package/engine/object-data/entry/ability-type/stat-details.lua +27 -0
- package/engine/object-data/entry/ability-type/surge-of-light.d.ts +33 -0
- package/engine/object-data/entry/ability-type/surge-of-light.lua +130 -0
- package/engine/object-data/entry/ability-type/sweeping-strike.d.ts +57 -0
- package/engine/object-data/entry/ability-type/sweeping-strike.lua +234 -0
- package/engine/object-data/entry/ability-type/talents.d.ts +12 -0
- package/engine/object-data/entry/ability-type/talents.lua +27 -0
- package/engine/object-data/entry/ability-type/unyielding-guard.d.ts +30 -0
- package/engine/object-data/entry/ability-type/unyielding-guard.lua +117 -0
- package/engine/object-data/entry/ability-type/valiant-charge.d.ts +27 -0
- package/engine/object-data/entry/ability-type/valiant-charge.lua +104 -0
- package/engine/object-data/entry/ability-type/warcry.d.ts +9 -0
- package/engine/object-data/entry/ability-type/warcry.lua +26 -0
- package/engine/object-data/entry/ability-type/withering-fire.d.ts +21 -0
- package/engine/object-data/entry/ability-type/withering-fire.lua +78 -0
- package/engine/object-data/entry/ability-type.d.ts +18 -3
- package/engine/object-data/entry/ability-type.lua +222 -5
- package/engine/object-data/entry/buff-type/applicable.lua +113 -109
- package/engine/object-data/entry/buff-type.d.ts +6 -2
- package/engine/object-data/entry/buff-type.lua +26 -0
- package/engine/object-data/entry/destructible-type.d.ts +16 -2
- package/engine/object-data/entry/destructible-type.lua +91 -0
- package/engine/object-data/entry/item-type.d.ts +18 -3
- package/engine/object-data/entry/item-type.lua +84 -0
- package/engine/object-data/entry/lightning-type.d.ts +6 -8
- package/engine/object-data/entry/lightning-type.lua +1 -1
- package/engine/object-data/entry/sound-preset.d.ts +2 -2
- package/engine/object-data/entry/unit-type.d.ts +47 -2
- package/engine/object-data/entry/unit-type.lua +383 -49
- package/engine/object-data/entry/upgrade.d.ts +2 -2
- package/engine/object-data/entry.d.ts +6 -1
- package/engine/object-data/entry.lua +8 -0
- package/engine/object-field/ability.lua +2 -2
- package/engine/object-field/item.d.ts +22 -0
- package/engine/object-field/item.lua +118 -0
- package/engine/object-field/unit.d.ts +7 -4
- package/engine/object-field/unit.lua +4 -0
- package/engine/object-field.d.ts +3 -1
- package/engine/object-field.lua +177 -119
- package/engine/random.d.ts +1 -0
- package/engine/random.lua +8 -0
- package/engine/standard/entries/ability-type.d.ts +3102 -7
- package/engine/standard/entries/ability-type.lua +0 -6
- package/engine/standard/entries/item-type.d.ts +1299 -0
- package/engine/standard/entries/item-type.lua +2 -0
- package/engine/standard/entries/lightning-type.d.ts +42 -15
- package/engine/standard/entries/lightning-type.lua +0 -14
- package/engine/standard/entries/unit-type.d.ts +5 -0
- package/engine/standard/entries/unit-type.lua +5 -0
- package/engine/standard/fields/item.d.ts +4 -0
- package/engine/standard/fields/item.lua +6 -0
- package/engine/standard/fields/unit.d.ts +11 -5
- package/engine/standard/fields/unit.lua +13 -4
- package/engine/unit.d.ts +8 -1
- package/engine/unit.lua +8 -1
- package/event.d.ts +1 -1
- package/lualib_bundle.lua +1 -1
- package/math.d.ts +2 -0
- package/math.lua +14 -0
- package/network.lua +25 -1
- package/objutil/buff.lua +10 -8
- package/objutil/object.lua +1 -1
- package/operation.d.ts +8 -1
- package/operation.lua +38 -18
- package/package.json +3 -23
- package/patch-lua.lua +15 -0
- package/utility/linked-map.d.ts +35 -0
- package/utility/linked-map.lua +107 -0
- package/utility/linked-set.d.ts +3 -1
- package/utility/linked-set.lua +27 -0
- package/utility/random.d.ts +102 -0
- package/utility/random.lua +273 -0
- package/utility/records.lua +20 -1
- package/utility/unordered-map.d.ts +27 -0
- package/utility/unordered-map.lua +99 -0
- package/engine/internal/unit/item.lua +0 -78
- /package/engine/internal/{object-data/armor-increase.d.ts → misc/unit-ability-level-natives.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
|
@@ -3,6 +3,7 @@ local __TS__Class = ____lualib.__TS__Class
|
|
|
3
3
|
local __TS__ClassExtends = ____lualib.__TS__ClassExtends
|
|
4
4
|
local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
|
|
5
5
|
local __TS__InstanceOf = ____lualib.__TS__InstanceOf
|
|
6
|
+
local __TS__ArraySome = ____lualib.__TS__ArraySome
|
|
6
7
|
local ____exports = {}
|
|
7
8
|
local ____unit = require("engine.internal.unit")
|
|
8
9
|
local Unit = ____unit.Unit
|
|
@@ -40,11 +41,17 @@ local Sound3D = ____sound.Sound3D
|
|
|
40
41
|
local SoundSettings = ____sound.SoundSettings
|
|
41
42
|
local ____lua_2Dsets = require("utility.lua-sets")
|
|
42
43
|
local luaSetOf = ____lua_2Dsets.luaSetOf
|
|
44
|
+
local ____local_2Dclient = require("engine.local-client")
|
|
45
|
+
local LocalClient = ____local_2Dclient.LocalClient
|
|
43
46
|
local castAnimationFQNByAbilityTypeId = {}
|
|
44
47
|
local isButtonVisibleFalseAbilityTypes = {}
|
|
45
48
|
local casterCastingEffectPresetsByAbilityTypeId = {}
|
|
46
49
|
local casterChannelingEffectPresetsByAbilityTypeId = {}
|
|
47
50
|
local targetCastingEffectPresetsByAbilityTypeId = {}
|
|
51
|
+
local targetChannelingEffectPresetsByAbilityTypeId = {}
|
|
52
|
+
local targetChannelingEffectPresetsSDByAbilityTypeId = {}
|
|
53
|
+
local targetChannelingEffectPresetsHDByAbilityTypeId = {}
|
|
54
|
+
local targetChannelingEffectPresetsDEByAbilityTypeId = {}
|
|
48
55
|
local targetEffectSoundPresetByAbilityTypeId = {}
|
|
49
56
|
____exports.AbilityType = __TS__Class()
|
|
50
57
|
local AbilityType = ____exports.AbilityType
|
|
@@ -204,6 +211,19 @@ __TS__SetDescriptor(
|
|
|
204
211
|
},
|
|
205
212
|
true
|
|
206
213
|
)
|
|
214
|
+
__TS__SetDescriptor(
|
|
215
|
+
AbilityType.prototype,
|
|
216
|
+
"iconPathDE",
|
|
217
|
+
{
|
|
218
|
+
get = function(self)
|
|
219
|
+
return self:getStringField("aart:de")
|
|
220
|
+
end,
|
|
221
|
+
set = function(self, iconPathDE)
|
|
222
|
+
self:setStringField("aart:de", iconPathDE)
|
|
223
|
+
end
|
|
224
|
+
},
|
|
225
|
+
true
|
|
226
|
+
)
|
|
207
227
|
__TS__SetDescriptor(
|
|
208
228
|
AbilityType.prototype,
|
|
209
229
|
"isButtonVisible",
|
|
@@ -326,6 +346,19 @@ __TS__SetDescriptor(
|
|
|
326
346
|
},
|
|
327
347
|
true
|
|
328
348
|
)
|
|
349
|
+
__TS__SetDescriptor(
|
|
350
|
+
AbilityType.prototype,
|
|
351
|
+
"missileModelPathDE",
|
|
352
|
+
{
|
|
353
|
+
get = function(self)
|
|
354
|
+
return self:getStringField("amat:de")
|
|
355
|
+
end,
|
|
356
|
+
set = function(self, missileModelPathDE)
|
|
357
|
+
self:setStringField("amat:de", missileModelPathDE)
|
|
358
|
+
end
|
|
359
|
+
},
|
|
360
|
+
true
|
|
361
|
+
)
|
|
329
362
|
__TS__SetDescriptor(
|
|
330
363
|
AbilityType.prototype,
|
|
331
364
|
"missileMovementArc",
|
|
@@ -378,6 +411,58 @@ __TS__SetDescriptor(
|
|
|
378
411
|
},
|
|
379
412
|
true
|
|
380
413
|
)
|
|
414
|
+
__TS__SetDescriptor(
|
|
415
|
+
AbilityType.prototype,
|
|
416
|
+
"targetChannelingEffectPresets",
|
|
417
|
+
{
|
|
418
|
+
get = function(self)
|
|
419
|
+
return targetChannelingEffectPresetsByAbilityTypeId[self.id] or ({})
|
|
420
|
+
end,
|
|
421
|
+
set = function(self, targetChannelingEffectPresets)
|
|
422
|
+
targetChannelingEffectPresetsByAbilityTypeId[self.id] = map(targetChannelingEffectPresets, toEffectPreset)
|
|
423
|
+
end
|
|
424
|
+
},
|
|
425
|
+
true
|
|
426
|
+
)
|
|
427
|
+
__TS__SetDescriptor(
|
|
428
|
+
AbilityType.prototype,
|
|
429
|
+
"targetChannelingEffectPresetsSD",
|
|
430
|
+
{
|
|
431
|
+
get = function(self)
|
|
432
|
+
return targetChannelingEffectPresetsSDByAbilityTypeId[self.id] or self.targetChannelingEffectPresets
|
|
433
|
+
end,
|
|
434
|
+
set = function(self, targetChannelingEffectPresetsSD)
|
|
435
|
+
targetChannelingEffectPresetsSDByAbilityTypeId[self.id] = map(targetChannelingEffectPresetsSD, toEffectPreset)
|
|
436
|
+
end
|
|
437
|
+
},
|
|
438
|
+
true
|
|
439
|
+
)
|
|
440
|
+
__TS__SetDescriptor(
|
|
441
|
+
AbilityType.prototype,
|
|
442
|
+
"targetChannelingEffectPresetsHD",
|
|
443
|
+
{
|
|
444
|
+
get = function(self)
|
|
445
|
+
return targetChannelingEffectPresetsHDByAbilityTypeId[self.id] or self.targetChannelingEffectPresets
|
|
446
|
+
end,
|
|
447
|
+
set = function(self, targetChannelingEffectPresetsHD)
|
|
448
|
+
targetChannelingEffectPresetsHDByAbilityTypeId[self.id] = map(targetChannelingEffectPresetsHD, toEffectPreset)
|
|
449
|
+
end
|
|
450
|
+
},
|
|
451
|
+
true
|
|
452
|
+
)
|
|
453
|
+
__TS__SetDescriptor(
|
|
454
|
+
AbilityType.prototype,
|
|
455
|
+
"targetChannelingEffectPresetsDE",
|
|
456
|
+
{
|
|
457
|
+
get = function(self)
|
|
458
|
+
return targetChannelingEffectPresetsDEByAbilityTypeId[self.id] or self.targetChannelingEffectPresets
|
|
459
|
+
end,
|
|
460
|
+
set = function(self, targetChannelingEffectPresetsDE)
|
|
461
|
+
targetChannelingEffectPresetsDEByAbilityTypeId[self.id] = map(targetChannelingEffectPresetsDE, toEffectPreset)
|
|
462
|
+
end
|
|
463
|
+
},
|
|
464
|
+
true
|
|
465
|
+
)
|
|
381
466
|
__TS__SetDescriptor(
|
|
382
467
|
AbilityType.prototype,
|
|
383
468
|
"targetEffectPresets",
|
|
@@ -459,6 +544,33 @@ __TS__SetDescriptor(
|
|
|
459
544
|
},
|
|
460
545
|
true
|
|
461
546
|
)
|
|
547
|
+
__TS__SetDescriptor(
|
|
548
|
+
AbilityType.prototype,
|
|
549
|
+
"targetEffectPresetsDE",
|
|
550
|
+
{
|
|
551
|
+
get = function(self)
|
|
552
|
+
return self:getAttachmentPresetListField(
|
|
553
|
+
"atat:de",
|
|
554
|
+
array(
|
|
555
|
+
6,
|
|
556
|
+
function(i) return ("ata" .. tostring(i)) .. ":de" end
|
|
557
|
+
)
|
|
558
|
+
)
|
|
559
|
+
end,
|
|
560
|
+
set = function(self, targetEffectPresetsDE)
|
|
561
|
+
self:setAttachmentPresetListField(
|
|
562
|
+
"atat:de",
|
|
563
|
+
array(
|
|
564
|
+
6,
|
|
565
|
+
function(i) return ("ata" .. tostring(i)) .. ":de" end
|
|
566
|
+
),
|
|
567
|
+
"atac:de",
|
|
568
|
+
targetEffectPresetsDE
|
|
569
|
+
)
|
|
570
|
+
end
|
|
571
|
+
},
|
|
572
|
+
true
|
|
573
|
+
)
|
|
462
574
|
__TS__SetDescriptor(
|
|
463
575
|
AbilityType.prototype,
|
|
464
576
|
"turnOffButtonPositionX",
|
|
@@ -969,7 +1081,7 @@ __TS__SetDescriptor(
|
|
|
969
1081
|
},
|
|
970
1082
|
true
|
|
971
1083
|
)
|
|
972
|
-
|
|
1084
|
+
postcompile(function()
|
|
973
1085
|
for abilityType in pairs(isButtonVisibleFalseAbilityTypes) do
|
|
974
1086
|
abilityType.hotkey = ""
|
|
975
1087
|
abilityType.buttonPositionX = 0
|
|
@@ -1099,18 +1211,123 @@ local function handleAbilityChannelingStartEvent(caster, ability)
|
|
|
1099
1211
|
end
|
|
1100
1212
|
casterChannelingEffectsByCaster[caster] = effects
|
|
1101
1213
|
end
|
|
1214
|
+
local targetChannelingEffectsDataByAbilityTypeId = postcompile(function()
|
|
1215
|
+
local function toData(presets)
|
|
1216
|
+
if presets == nil then
|
|
1217
|
+
return nil
|
|
1218
|
+
end
|
|
1219
|
+
local attachmentPoints = map(presets, extractAttachmentPresetInputNodeFQN)
|
|
1220
|
+
local parameters = map(presets, "parameters")
|
|
1221
|
+
return {
|
|
1222
|
+
modelPaths = map(presets, extractAttachmentPresetInputModelPath),
|
|
1223
|
+
attachmentPoints = __TS__ArraySome(
|
|
1224
|
+
attachmentPoints,
|
|
1225
|
+
function(____, attachmentPoint) return attachmentPoint ~= "" end
|
|
1226
|
+
) and attachmentPoints or nil,
|
|
1227
|
+
parameters = __TS__ArraySome(
|
|
1228
|
+
presets,
|
|
1229
|
+
function(____, preset) return preset.parameters ~= nil end
|
|
1230
|
+
) and parameters or nil
|
|
1231
|
+
}
|
|
1232
|
+
end
|
|
1233
|
+
local abilityTypeIds = {}
|
|
1234
|
+
for ____, presetsByAbilityTypeId in ipairs({targetChannelingEffectPresetsByAbilityTypeId, targetChannelingEffectPresetsSDByAbilityTypeId, targetChannelingEffectPresetsHDByAbilityTypeId, targetChannelingEffectPresetsDEByAbilityTypeId}) do
|
|
1235
|
+
for abilityTypeId in pairs(presetsByAbilityTypeId) do
|
|
1236
|
+
abilityTypeIds[abilityTypeId] = true
|
|
1237
|
+
end
|
|
1238
|
+
end
|
|
1239
|
+
local result = {}
|
|
1240
|
+
for abilityTypeId in pairs(abilityTypeIds) do
|
|
1241
|
+
local presets = targetChannelingEffectPresetsByAbilityTypeId[abilityTypeId]
|
|
1242
|
+
local presetsSD = targetChannelingEffectPresetsSDByAbilityTypeId[abilityTypeId]
|
|
1243
|
+
local presetsHD = targetChannelingEffectPresetsHDByAbilityTypeId[abilityTypeId]
|
|
1244
|
+
local presetsDE = targetChannelingEffectPresetsDEByAbilityTypeId[abilityTypeId]
|
|
1245
|
+
local ____math_max_8 = math.max
|
|
1246
|
+
local ____opt_0 = presetsSD or presets
|
|
1247
|
+
local ____temp_6 = ____opt_0 and #____opt_0 or 0
|
|
1248
|
+
local ____opt_2 = presetsHD or presets
|
|
1249
|
+
local ____temp_7 = ____opt_2 and #____opt_2 or 0
|
|
1250
|
+
local ____opt_4 = presetsDE or presets
|
|
1251
|
+
result[abilityTypeId] = {
|
|
1252
|
+
effectCount = ____math_max_8(____temp_6, ____temp_7, ____opt_4 and #____opt_4 or 0),
|
|
1253
|
+
data = toData(presets),
|
|
1254
|
+
dataSD = toData(presetsSD),
|
|
1255
|
+
dataHD = toData(presetsHD),
|
|
1256
|
+
dataDE = toData(presetsDE)
|
|
1257
|
+
}
|
|
1258
|
+
end
|
|
1259
|
+
return result
|
|
1260
|
+
end)
|
|
1261
|
+
local targetChannelingEffectsByCaster = {}
|
|
1262
|
+
local function createTargetChannelingEffects(caster, abilityTypeId, xOrWidget, y)
|
|
1263
|
+
local effectsData = targetChannelingEffectsDataByAbilityTypeId[abilityTypeId]
|
|
1264
|
+
if effectsData == nil then
|
|
1265
|
+
return
|
|
1266
|
+
end
|
|
1267
|
+
local graphicsMode = LocalClient.graphicsMode
|
|
1268
|
+
local ____temp_10
|
|
1269
|
+
if graphicsMode == 0 then
|
|
1270
|
+
____temp_10 = effectsData.dataSD
|
|
1271
|
+
else
|
|
1272
|
+
local ____temp_9
|
|
1273
|
+
if graphicsMode == 1 then
|
|
1274
|
+
____temp_9 = effectsData.dataHD
|
|
1275
|
+
else
|
|
1276
|
+
____temp_9 = effectsData.dataDE
|
|
1277
|
+
end
|
|
1278
|
+
____temp_10 = ____temp_9
|
|
1279
|
+
end
|
|
1280
|
+
local data = ____temp_10 or effectsData.data
|
|
1281
|
+
local modelPaths = data and data.modelPaths
|
|
1282
|
+
local attachmentPoints = data and data.attachmentPoints
|
|
1283
|
+
local parameters = data and data.parameters
|
|
1284
|
+
local effects = {}
|
|
1285
|
+
for i = 1, effectsData.effectCount do
|
|
1286
|
+
local effectModelPath = modelPaths and modelPaths[i] or ""
|
|
1287
|
+
local effectParameters = parameters and parameters[i]
|
|
1288
|
+
if type(xOrWidget) == "number" then
|
|
1289
|
+
effects[i] = Effect:create(effectModelPath, xOrWidget, y, effectParameters)
|
|
1290
|
+
else
|
|
1291
|
+
local attachmentPoint = attachmentPoints and attachmentPoints[i]
|
|
1292
|
+
if attachmentPoint == nil or attachmentPoint == "" then
|
|
1293
|
+
attachmentPoint = "origin"
|
|
1294
|
+
end
|
|
1295
|
+
effects[i] = Effect:create(effectModelPath, xOrWidget, attachmentPoint, effectParameters)
|
|
1296
|
+
end
|
|
1297
|
+
end
|
|
1298
|
+
targetChannelingEffectsByCaster[caster] = effects
|
|
1299
|
+
end
|
|
1300
|
+
local function handleAbilityWidgetTargetChannelingStartEvent(caster, ability, target)
|
|
1301
|
+
createTargetChannelingEffects(caster, ability.typeId, target)
|
|
1302
|
+
end
|
|
1303
|
+
local function handleAbilityPointTargetChannelingStartEvent(caster, ability, x, y)
|
|
1304
|
+
createTargetChannelingEffects(caster, ability.typeId, x, y)
|
|
1305
|
+
end
|
|
1102
1306
|
local function handleAbilityStopChannelingEvent(caster)
|
|
1103
|
-
local
|
|
1104
|
-
if
|
|
1105
|
-
for i = 1, #
|
|
1106
|
-
|
|
1307
|
+
local casterEffects = casterChannelingEffectsByCaster[caster]
|
|
1308
|
+
if casterEffects ~= nil then
|
|
1309
|
+
for i = 1, #casterEffects do
|
|
1310
|
+
casterEffects[i]:destroy()
|
|
1107
1311
|
end
|
|
1108
1312
|
casterChannelingEffectsByCaster[caster] = nil
|
|
1109
1313
|
end
|
|
1314
|
+
local targetEffects = targetChannelingEffectsByCaster[caster]
|
|
1315
|
+
if targetEffects ~= nil then
|
|
1316
|
+
for i = 1, #targetEffects do
|
|
1317
|
+
targetEffects[i]:destroy()
|
|
1318
|
+
end
|
|
1319
|
+
targetChannelingEffectsByCaster[caster] = nil
|
|
1320
|
+
end
|
|
1110
1321
|
end
|
|
1111
1322
|
for abilityTypeId in pairs(casterChannelingEffectModelPathsByAbilityTypeId) do
|
|
1112
1323
|
Unit.abilityChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityChannelingStartEvent)
|
|
1113
1324
|
Unit.abilityChannelingFinishEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
|
|
1114
1325
|
Unit.abilityStopEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
|
|
1115
1326
|
end
|
|
1327
|
+
for abilityTypeId in pairs(targetChannelingEffectsDataByAbilityTypeId) do
|
|
1328
|
+
Unit.abilityWidgetTargetChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityWidgetTargetChannelingStartEvent)
|
|
1329
|
+
Unit.abilityPointTargetChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityPointTargetChannelingStartEvent)
|
|
1330
|
+
Unit.abilityChannelingFinishEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
|
|
1331
|
+
Unit.abilityStopEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
|
|
1332
|
+
end
|
|
1116
1333
|
return ____exports
|
|
@@ -65,123 +65,127 @@ function ApplicableBuffType.wrap(self, other)
|
|
|
65
65
|
return __TS__New(____exports.ApplicableBuffType, other.object)
|
|
66
66
|
end
|
|
67
67
|
ApplicableBuffType.BASE_ID = fourCC("BHbz")
|
|
68
|
-
local applicatorAbilityTypeIdByApplicatorTypeByApplicableBuffTypeId, applicatorUpgradeIdByApplicatorAbilityTypeId = table.unpack(
|
|
69
|
-
|
|
70
|
-
local
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
if applicableBuffType.
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
68
|
+
local applicatorAbilityTypeIdByApplicatorTypeByApplicableBuffTypeId, applicatorUpgradeIdByApplicatorAbilityTypeId = table.unpack(
|
|
69
|
+
postcompile(function()
|
|
70
|
+
local function prepareAbilityType(abilityTypeConstructor, applicableBuffType)
|
|
71
|
+
local abilityType = abilityTypeConstructor:create()
|
|
72
|
+
abilityType.isInternal = true
|
|
73
|
+
abilityType.levelCount = applicableBuffType.levelCount
|
|
74
|
+
abilityType.buttonPositionX = 0
|
|
75
|
+
abilityType.buttonPositionY = -11
|
|
76
|
+
abilityType.casterAttachmentPresets = {}
|
|
77
|
+
abilityType.targetEffectPresets = {}
|
|
78
|
+
abilityType.casterEffectSoundPresetId = nil
|
|
79
|
+
abilityType.learnLevelMinimum = 6
|
|
80
|
+
abilityType.race = "other"
|
|
81
|
+
abilityType.shouldCheckTechTreeDependencies = false
|
|
82
|
+
abilityType.techTreeDependencies = {}
|
|
83
|
+
abilityType.allowedTargetCombatClassifications = combatClassificationsOf(
|
|
84
|
+
4,
|
|
85
|
+
2,
|
|
86
|
+
2097152,
|
|
87
|
+
8,
|
|
88
|
+
1048576,
|
|
89
|
+
16
|
|
90
|
+
)
|
|
91
|
+
abilityType.areaOfEffect = 0
|
|
92
|
+
abilityType.castRange = 999999
|
|
93
|
+
abilityType.cooldown = 0
|
|
94
|
+
abilityType.manaCost = 0
|
|
95
|
+
abilityType.buffDuration = 0
|
|
96
|
+
abilityType.heroBuffDuration = 0
|
|
97
|
+
return abilityType
|
|
98
|
+
end
|
|
99
|
+
local multilevelPhysicalPositiveApplicatorAbilityTypes = {}
|
|
100
|
+
local applicatorAbilityTypeIdByApplicatorTypeByApplicableBuffTypeId = {}
|
|
101
|
+
for applicableBuffType in pairs(compiletimeApplicableBuffTypes) do
|
|
102
|
+
local applicatorAbilityTypeIdByApplicatorType = {}
|
|
103
|
+
if applicableBuffType.resistanceType == 1 or applicableBuffType.resistanceType == nil then
|
|
104
|
+
if applicableBuffType.polarity == 2 or applicableBuffType.polarity == nil then
|
|
105
|
+
local applicatorAbilityType = prepareAbilityType(CurseAbilityType, applicableBuffType)
|
|
106
|
+
applicatorAbilityType.missProbability = 0
|
|
107
|
+
applicatorAbilityType.buffTypeIds = {applicableBuffType.id}
|
|
108
|
+
applicatorAbilityTypeIdByApplicatorType[852190] = applicatorAbilityType.id
|
|
109
|
+
end
|
|
110
|
+
if applicableBuffType.polarity == 1 or applicableBuffType.polarity == nil then
|
|
111
|
+
local applicatorAbilityType = prepareAbilityType(BloodLustAbilityType, applicableBuffType)
|
|
112
|
+
applicatorAbilityType.attackSpeedIncreaseFactor = 0
|
|
113
|
+
applicatorAbilityType.movementSpeedIncreaseFactor = 0
|
|
114
|
+
applicatorAbilityType.scaleIncrease = 0
|
|
115
|
+
applicatorAbilityType.buffTypeIds = {applicableBuffType.id}
|
|
116
|
+
applicatorAbilityTypeIdByApplicatorType[852101] = applicatorAbilityType.id
|
|
117
|
+
end
|
|
108
118
|
end
|
|
109
|
-
if applicableBuffType.
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
119
|
+
if applicableBuffType.resistanceType == 2 or applicableBuffType.resistanceType == nil then
|
|
120
|
+
if applicableBuffType.polarity == 2 or applicableBuffType.polarity == nil then
|
|
121
|
+
local applicatorAbilityType = prepareAbilityType(SlowPoisonAbilityType, applicableBuffType)
|
|
122
|
+
applicatorAbilityType.damagePerSecond = 0
|
|
123
|
+
applicatorAbilityType.movementSpeedDecreaseFactor = 0
|
|
124
|
+
applicatorAbilityType.attackSpeedDecreaseFactor = 0
|
|
125
|
+
applicatorAbilityType.isDamageStacking = false
|
|
126
|
+
applicatorAbilityType.isMovementSpeedFactorStacking = false
|
|
127
|
+
applicatorAbilityType.isAttackSpeedFactorStacking = false
|
|
128
|
+
applicatorAbilityType.isAbleToKill = false
|
|
129
|
+
applicatorAbilityType.buffTypeIds = {applicableBuffType.id, applicableBuffType.id}
|
|
130
|
+
applicatorAbilityTypeIdByApplicatorType[852173] = applicatorAbilityType.id
|
|
131
|
+
end
|
|
132
|
+
if applicableBuffType.polarity == 1 or applicableBuffType.polarity == nil then
|
|
133
|
+
local applicatorAbilityType = prepareAbilityType(BerserkAbilityType, applicableBuffType)
|
|
134
|
+
applicatorAbilityType.attackSpeedIncreaseFactor = 0
|
|
135
|
+
applicatorAbilityType.movementSpeedIncreaseFactor = 0
|
|
136
|
+
applicatorAbilityType.receivedDamageIncreaseFactor = 0
|
|
137
|
+
applicatorAbilityType.buffTypeIds = {applicableBuffType.id}
|
|
138
|
+
if applicatorAbilityType.levelCount > 1 then
|
|
139
|
+
multilevelPhysicalPositiveApplicatorAbilityTypes[#multilevelPhysicalPositiveApplicatorAbilityTypes + 1] = applicatorAbilityType
|
|
140
|
+
end
|
|
141
|
+
applicatorAbilityTypeIdByApplicatorType[852100] = applicatorAbilityType.id
|
|
142
|
+
end
|
|
143
|
+
end
|
|
144
|
+
if applicableBuffType.polarity == 0 or applicableBuffType.polarity == nil then
|
|
145
|
+
local applicatorAbilityType = prepareAbilityType(PermanentImmolationAbilityType, applicableBuffType)
|
|
146
|
+
applicatorAbilityType.levelCount = 1
|
|
147
|
+
applicatorAbilityType.damagePerInterval = 0
|
|
148
|
+
applicatorAbilityType.castRange = 0
|
|
149
|
+
applicatorAbilityType.buffDuration = MAXIMUM_INTEGER
|
|
150
|
+
applicatorAbilityType.heroBuffDuration = MAXIMUM_INTEGER
|
|
151
|
+
applicatorAbilityType.allowedTargetCombatClassifications = combatClassificationsOf(1)
|
|
114
152
|
applicatorAbilityType.buffTypeIds = {applicableBuffType.id}
|
|
115
|
-
applicatorAbilityTypeIdByApplicatorType[
|
|
153
|
+
applicatorAbilityTypeIdByApplicatorType[0] = applicatorAbilityType.id
|
|
116
154
|
end
|
|
155
|
+
applicatorAbilityTypeIdByApplicatorTypeByApplicableBuffTypeId[applicableBuffType.id] = applicatorAbilityTypeIdByApplicatorType
|
|
117
156
|
end
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
end
|
|
131
|
-
if applicableBuffType.polarity == 1 or applicableBuffType.polarity == nil then
|
|
132
|
-
local applicatorAbilityType = prepareAbilityType(BerserkAbilityType, applicableBuffType)
|
|
133
|
-
applicatorAbilityType.attackSpeedIncreaseFactor = 0
|
|
134
|
-
applicatorAbilityType.movementSpeedIncreaseFactor = 0
|
|
135
|
-
applicatorAbilityType.receivedDamageIncreaseFactor = 0
|
|
136
|
-
applicatorAbilityType.buffTypeIds = {applicableBuffType.id}
|
|
137
|
-
if applicatorAbilityType.levelCount > 1 then
|
|
138
|
-
multilevelPhysicalPositiveApplicatorAbilityTypes[#multilevelPhysicalPositiveApplicatorAbilityTypes + 1] = applicatorAbilityType
|
|
157
|
+
local applicatorUpgradeIds = {}
|
|
158
|
+
local applicatorUpgradeIdByApplicatorAbilityTypeId = {}
|
|
159
|
+
for ____, multilevelPhysicalPositiveApplicatorAbilityTypesChunk in ipairs(chunked(multilevelPhysicalPositiveApplicatorAbilityTypes, 4)) do
|
|
160
|
+
local maxLevelCount = max(map(multilevelPhysicalPositiveApplicatorAbilityTypesChunk, "levelCount"))
|
|
161
|
+
local applicatorAbilityTypeIds = map(multilevelPhysicalPositiveApplicatorAbilityTypesChunk, "id")
|
|
162
|
+
local applicatorUpgrade = BlankUpgrade:create()
|
|
163
|
+
applicatorUpgrade.isInternal = true
|
|
164
|
+
applicatorUpgrade.levelCount = maxLevelCount - 1
|
|
165
|
+
applicatorUpgrade.effects = map(
|
|
166
|
+
applicatorAbilityTypeIds,
|
|
167
|
+
function(applicatorAbilityTypeId)
|
|
168
|
+
return {type = "rlev", bonusBase = 1, bonusIncrement = 1, abilityTypeId = applicatorAbilityTypeId}
|
|
139
169
|
end
|
|
140
|
-
|
|
170
|
+
)
|
|
171
|
+
applicatorUpgradeIds[#applicatorUpgradeIds + 1] = applicatorUpgrade.id
|
|
172
|
+
for ____, applicatorAbilityTypeId in ipairs(applicatorAbilityTypeIds) do
|
|
173
|
+
applicatorUpgradeIdByApplicatorAbilityTypeId[applicatorAbilityTypeId] = applicatorUpgrade.id
|
|
141
174
|
end
|
|
142
175
|
end
|
|
143
|
-
|
|
144
|
-
local
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
applicatorAbilityType.allowedTargetCombatClassifications = combatClassificationsOf(1)
|
|
151
|
-
applicatorAbilityType.buffTypeIds = {applicableBuffType.id}
|
|
152
|
-
applicatorAbilityTypeIdByApplicatorType[0] = applicatorAbilityType.id
|
|
153
|
-
end
|
|
154
|
-
applicatorAbilityTypeIdByApplicatorTypeByApplicableBuffTypeId[applicableBuffType.id] = applicatorAbilityTypeIdByApplicatorType
|
|
155
|
-
end
|
|
156
|
-
local applicatorUpgradeIds = {}
|
|
157
|
-
local applicatorUpgradeIdByApplicatorAbilityTypeId = {}
|
|
158
|
-
for ____, multilevelPhysicalPositiveApplicatorAbilityTypesChunk in ipairs(chunked(multilevelPhysicalPositiveApplicatorAbilityTypes, 4)) do
|
|
159
|
-
local maxLevelCount = max(map(multilevelPhysicalPositiveApplicatorAbilityTypesChunk, "levelCount"))
|
|
160
|
-
local applicatorAbilityTypeIds = map(multilevelPhysicalPositiveApplicatorAbilityTypesChunk, "id")
|
|
161
|
-
local applicatorUpgrade = BlankUpgrade:create()
|
|
162
|
-
applicatorUpgrade.isInternal = true
|
|
163
|
-
applicatorUpgrade.levelCount = maxLevelCount - 1
|
|
164
|
-
applicatorUpgrade.effects = map(
|
|
165
|
-
applicatorAbilityTypeIds,
|
|
166
|
-
function(applicatorAbilityTypeId)
|
|
167
|
-
return {type = "rlev", bonusBase = 1, bonusIncrement = 1, abilityTypeId = applicatorAbilityTypeId}
|
|
168
|
-
end
|
|
169
|
-
)
|
|
170
|
-
applicatorUpgradeIds[#applicatorUpgradeIds + 1] = applicatorUpgrade.id
|
|
171
|
-
for ____, applicatorAbilityTypeId in ipairs(applicatorAbilityTypeIds) do
|
|
172
|
-
applicatorUpgradeIdByApplicatorAbilityTypeId[applicatorAbilityTypeId] = applicatorUpgrade.id
|
|
176
|
+
for ____, unitType in ipairs(UnitType:getAll()) do
|
|
177
|
+
local ____array_0 = __TS__SparseArrayNew(table.unpack(unitType.affectingUpgradeIds))
|
|
178
|
+
__TS__SparseArrayPush(
|
|
179
|
+
____array_0,
|
|
180
|
+
table.unpack(applicatorUpgradeIds)
|
|
181
|
+
)
|
|
182
|
+
unitType.affectingUpgradeIds = {__TS__SparseArraySpread(____array_0)}
|
|
173
183
|
end
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
table.unpack(applicatorUpgradeIds)
|
|
180
|
-
)
|
|
181
|
-
unitType.affectingUpgradeIds = {__TS__SparseArraySpread(____array_0)}
|
|
182
|
-
end
|
|
183
|
-
return {applicatorAbilityTypeIdByApplicatorTypeByApplicableBuffTypeId, applicatorUpgradeIdByApplicatorAbilityTypeId}
|
|
184
|
-
end))
|
|
184
|
+
return {applicatorAbilityTypeIdByApplicatorTypeByApplicableBuffTypeId, applicatorUpgradeIdByApplicatorAbilityTypeId}
|
|
185
|
+
end),
|
|
186
|
+
1,
|
|
187
|
+
2
|
|
188
|
+
)
|
|
185
189
|
local EVASION_ABILITY_TYPE_IDS = postcompile(function()
|
|
186
190
|
return AbilityType:getAllIdsByBaseIds(map({
|
|
187
191
|
"AEev",
|
|
@@ -3,9 +3,9 @@ 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, ObjectDataEntryConstructor,
|
|
6
|
+
import { ObjectDataEntry, ObjectDataEntryConstructor, CustomObjectDataEntryId } from "../entry";
|
|
7
7
|
import { LightningTypeId } from "./lightning-type";
|
|
8
|
-
export type BuffTypeId =
|
|
8
|
+
export type BuffTypeId = CustomObjectDataEntryId & number & {
|
|
9
9
|
readonly __buffTypeId: unique symbol;
|
|
10
10
|
};
|
|
11
11
|
export type StandardBuffTypeId = BuffTypeId & {
|
|
@@ -24,6 +24,8 @@ export declare abstract class BuffType<Id extends BuffTypeId = BuffTypeId> exten
|
|
|
24
24
|
set iconPathSD(iconPathSD: string);
|
|
25
25
|
get iconPathHD(): string;
|
|
26
26
|
set iconPathHD(iconPathHD: string);
|
|
27
|
+
get iconPathDE(): string;
|
|
28
|
+
set iconPathDE(iconPathDE: string);
|
|
27
29
|
get isMissileHoming(): boolean;
|
|
28
30
|
set isMissileHoming(isMissileHoming: boolean);
|
|
29
31
|
get lightningTypeIds(): LightningTypeId[];
|
|
@@ -34,6 +36,8 @@ export declare abstract class BuffType<Id extends BuffTypeId = BuffTypeId> exten
|
|
|
34
36
|
set missileModelPathSD(missileModelPathSD: string);
|
|
35
37
|
get missileModelPathHD(): string;
|
|
36
38
|
set missileModelPathHD(missileModelPathHD: string);
|
|
39
|
+
get missileModelPathDE(): string;
|
|
40
|
+
set missileModelPathDE(missileModelPathDE: string);
|
|
37
41
|
get missileMovementArc(): number;
|
|
38
42
|
set missileMovementArc(missileMovementArc: number);
|
|
39
43
|
get missileMovementSpeed(): number;
|
|
@@ -78,6 +78,19 @@ __TS__SetDescriptor(
|
|
|
78
78
|
},
|
|
79
79
|
true
|
|
80
80
|
)
|
|
81
|
+
__TS__SetDescriptor(
|
|
82
|
+
BuffType.prototype,
|
|
83
|
+
"iconPathDE",
|
|
84
|
+
{
|
|
85
|
+
get = function(self)
|
|
86
|
+
return self:getStringField("fart:de")
|
|
87
|
+
end,
|
|
88
|
+
set = function(self, iconPathDE)
|
|
89
|
+
self:setStringField("fart:de", iconPathDE)
|
|
90
|
+
end
|
|
91
|
+
},
|
|
92
|
+
true
|
|
93
|
+
)
|
|
81
94
|
__TS__SetDescriptor(
|
|
82
95
|
BuffType.prototype,
|
|
83
96
|
"isMissileHoming",
|
|
@@ -143,6 +156,19 @@ __TS__SetDescriptor(
|
|
|
143
156
|
},
|
|
144
157
|
true
|
|
145
158
|
)
|
|
159
|
+
__TS__SetDescriptor(
|
|
160
|
+
BuffType.prototype,
|
|
161
|
+
"missileModelPathDE",
|
|
162
|
+
{
|
|
163
|
+
get = function(self)
|
|
164
|
+
return self:getStringField("fmat:de")
|
|
165
|
+
end,
|
|
166
|
+
set = function(self, missileModelPathDE)
|
|
167
|
+
self:setStringField("fmat:de", missileModelPathDE)
|
|
168
|
+
end
|
|
169
|
+
},
|
|
170
|
+
true
|
|
171
|
+
)
|
|
146
172
|
__TS__SetDescriptor(
|
|
147
173
|
BuffType.prototype,
|
|
148
174
|
"missileMovementArc",
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/** @noSelfInFile */
|
|
2
2
|
import { ArmorSoundType } from "../auxiliary/armor-sound-type";
|
|
3
3
|
import { CombatClassifications } from "../auxiliary/combat-classification";
|
|
4
|
-
import { ObjectDataEntry, ObjectDataEntryConstructor,
|
|
5
|
-
export type DestructibleTypeId =
|
|
4
|
+
import { ObjectDataEntry, ObjectDataEntryConstructor, CustomObjectDataEntryId } from "../entry";
|
|
5
|
+
export type DestructibleTypeId = CustomObjectDataEntryId & number & {
|
|
6
6
|
readonly __destructibleTypeId: unique symbol;
|
|
7
7
|
};
|
|
8
8
|
export type StandardDestructibleTypeId = DestructibleTypeId & {
|
|
@@ -15,22 +15,36 @@ export declare abstract class DestructibleType extends ObjectDataEntry<Destructi
|
|
|
15
15
|
protected static getObjectData(map: WarMap): WarObjects;
|
|
16
16
|
get fixedFacing(): number;
|
|
17
17
|
set fixedFacing(fixedFacing: number);
|
|
18
|
+
get flyOverHeight(): number;
|
|
19
|
+
set flyOverHeight(flyOverHeight: number);
|
|
18
20
|
get modelPath(): string;
|
|
19
21
|
set modelPath(modelPath: string);
|
|
20
22
|
get modelPathSD(): string;
|
|
21
23
|
set modelPathSD(modelPathSD: string);
|
|
22
24
|
get modelPathHD(): string;
|
|
23
25
|
set modelPathHD(modelPathHD: string);
|
|
26
|
+
get modelPathDE(): string;
|
|
27
|
+
set modelPathDE(modelPathDE: string);
|
|
28
|
+
get occlusionHeight(): number;
|
|
29
|
+
set occlusionHeight(occlusionHeight: number);
|
|
24
30
|
get armorSoundType(): ArmorSoundType;
|
|
25
31
|
set armorSoundType(armorSoundType: ArmorSoundType);
|
|
26
32
|
get armorSoundTypeSD(): ArmorSoundType;
|
|
27
33
|
set armorSoundTypeSD(armorSoundTypeSD: ArmorSoundType);
|
|
28
34
|
get armorSoundTypeHD(): ArmorSoundType;
|
|
29
35
|
set armorSoundTypeHD(armorSoundTypeHD: ArmorSoundType);
|
|
36
|
+
get armorSoundTypeDE(): ArmorSoundType;
|
|
37
|
+
set armorSoundTypeDE(armorSoundTypeDE: ArmorSoundType);
|
|
30
38
|
get combatClassifications(): CombatClassifications;
|
|
31
39
|
set combatClassifications(combatClassifications: CombatClassifications);
|
|
40
|
+
get cliffHeight(): number;
|
|
41
|
+
set cliffHeight(cliffHeight: number);
|
|
42
|
+
get isWalkable(): boolean;
|
|
43
|
+
set isWalkable(isWalkable: boolean);
|
|
32
44
|
get pathingTexturePath(): string;
|
|
33
45
|
set pathingTexturePath(pathingTexturePath: string);
|
|
34
46
|
get deadPathingTexturePath(): string;
|
|
35
47
|
set deadPathingTexturePath(deadPathingTexturePath: string);
|
|
48
|
+
get name(): string;
|
|
49
|
+
set name(name: string);
|
|
36
50
|
}
|