warscript 0.0.1-dev.6912057 → 0.0.1-dev.69b6655
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 +1 -0
- package/attributes.lua +9 -0
- package/core/types/frame.d.ts +1 -0
- package/core/types/frame.lua +136 -58
- package/core/types/handle.lua +6 -9
- package/core/types/item.d.ts +1 -0
- package/core/types/item.lua +1 -0
- package/core/types/player.d.ts +18 -1
- package/core/types/player.lua +76 -26
- package/core/types/playerCamera.d.ts +2 -0
- package/core/types/playerCamera.lua +123 -5
- 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/tileCell.d.ts +11 -1
- package/core/types/tileCell.lua +97 -0
- package/core/types/timer.d.ts +3 -2
- package/core/types/timer.lua +22 -2
- package/core/types/unit.d.ts +4 -0
- package/core/types/unit.lua +4 -0
- package/decl/native.d.ts +711 -11
- package/destroyable.d.ts +1 -0
- package/destroyable.lua +9 -0
- package/engine/behavior.d.ts +12 -1
- package/engine/behavior.lua +199 -65
- package/engine/behaviour/ability/apply-buff.lua +4 -4
- package/engine/behaviour/ability/damage.d.ts +3 -0
- package/engine/behaviour/ability/damage.lua +18 -15
- package/engine/behaviour/ability/emulate-impact.lua +5 -4
- 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 +12 -6
- package/engine/behaviour/ability.lua +42 -1
- package/engine/behaviour/unit/stun-immunity.d.ts +9 -5
- package/engine/behaviour/unit/stun-immunity.lua +17 -7
- package/engine/behaviour/unit.d.ts +16 -5
- package/engine/behaviour/unit.lua +127 -22
- package/engine/buff.d.ts +73 -27
- package/engine/buff.lua +424 -193
- package/engine/index.d.ts +2 -1
- package/engine/internal/ability.d.ts +7 -1
- package/engine/internal/ability.lua +78 -42
- package/engine/internal/item/fields.d.ts +12 -0
- package/engine/internal/item/fields.lua +33 -0
- package/engine/internal/item+owner.d.ts +1 -0
- package/engine/internal/item+owner.lua +19 -6
- package/engine/internal/item.d.ts +23 -14
- package/engine/internal/item.lua +169 -82
- package/engine/internal/mechanics/cast-ability.lua +6 -3
- 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 +14 -14
- package/engine/internal/unit/ability.lua +86 -47
- 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/bag.d.ts +18 -0
- package/engine/internal/unit/bag.lua +63 -0
- package/engine/internal/unit/bonus.d.ts +6 -0
- package/engine/internal/unit/bonus.lua +33 -3
- package/engine/internal/unit/buff.d.ts +2 -2
- package/engine/internal/unit/buff.lua +34 -19
- package/engine/internal/unit/equipment.d.ts +36 -0
- package/engine/internal/unit/equipment.lua +169 -0
- package/engine/internal/unit/fly-height.d.ts +7 -0
- package/engine/internal/unit/fly-height.lua +20 -0
- package/engine/internal/unit/interrupts.d.ts +12 -0
- package/engine/internal/unit/interrupts.lua +28 -0
- package/engine/internal/unit/{item.d.ts → inventory.d.ts} +3 -3
- package/engine/internal/unit/{item.lua → inventory.lua} +25 -26
- package/engine/internal/unit/main-selected.lua +12 -27
- 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.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 +9 -0
- package/engine/internal/unit+damage.lua +33 -0
- package/engine/internal/unit-missile-data.lua +58 -32
- package/engine/internal/unit-missile-launch.lua +52 -14
- package/engine/internal/unit.d.ts +17 -22
- package/engine/internal/unit.lua +180 -206
- package/engine/local-client.d.ts +27 -0
- package/engine/local-client.lua +394 -54
- 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/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 +13 -0
- package/engine/object-data/auxiliary/equipment-type.lua +2 -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-tag.d.ts +12 -0
- package/engine/object-data/auxiliary/item-tag.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/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/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/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 +12 -3
- package/engine/object-data/entry/ability-type.lua +141 -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 +32 -2
- package/engine/object-data/entry/destructible-type.lua +181 -0
- package/engine/object-data/entry/item-type.d.ts +12 -3
- package/engine/object-data/entry/item-type.lua +52 -0
- package/engine/object-data/entry/lightning-type.d.ts +2 -2
- package/engine/object-data/entry/sound-preset.d.ts +2 -2
- package/engine/object-data/entry/unit-type.d.ts +62 -4
- package/engine/object-data/entry/unit-type.lua +474 -38
- package/engine/object-data/entry/upgrade.d.ts +2 -2
- package/engine/object-data/entry.d.ts +4 -1
- package/engine/object-field/ability.d.ts +3 -3
- package/engine/object-field/ability.lua +9 -8
- package/engine/object-field/item.d.ts +22 -0
- package/engine/object-field/item.lua +118 -0
- package/engine/object-field/unit.d.ts +20 -5
- package/engine/object-field/unit.lua +61 -0
- package/engine/object-field.d.ts +12 -4
- package/engine/object-field.lua +273 -126
- package/engine/random.d.ts +10 -0
- package/engine/random.lua +21 -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/unit-type.d.ts +5 -0
- package/engine/standard/entries/unit-type.lua +5 -0
- package/engine/standard/fields/ability.d.ts +2 -2
- package/engine/standard/fields/ability.lua +2 -2
- 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 -3
- package/engine/standard/fields/unit.lua +15 -2
- package/engine/synchronization.d.ts +11 -0
- package/engine/synchronization.lua +77 -0
- package/engine/text-tag.d.ts +1 -1
- package/engine/text-tag.lua +92 -17
- package/engine/unit.d.ts +9 -1
- package/engine/unit.lua +9 -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/net/socket.lua +1 -1
- 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/patch-lualib.lua +1 -1
- package/utility/arrays.d.ts +1 -0
- package/utility/arrays.lua +8 -0
- package/utility/callback-array.d.ts +17 -0
- package/utility/callback-array.lua +61 -0
- package/utility/functions.d.ts +2 -0
- package/utility/functions.lua +7 -0
- package/utility/linked-map.d.ts +35 -0
- package/utility/linked-map.lua +107 -0
- package/utility/linked-set.d.ts +4 -1
- package/utility/linked-set.lua +46 -1
- package/utility/lua-maps.d.ts +11 -2
- package/utility/lua-maps.lua +33 -2
- package/utility/lua-sets.d.ts +1 -0
- package/utility/lua-sets.lua +4 -0
- package/utility/random.d.ts +102 -0
- package/utility/random.lua +273 -0
- package/utility/records.lua +20 -1
- package/utility/types.d.ts +3 -0
- package/utility/unordered-map.d.ts +27 -0
- package/utility/unordered-map.lua +99 -0
- /package/engine/internal/{object-data/armor-increase.d.ts → misc/frame-coordinates.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
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__Class = ____lualib.__TS__Class
|
|
3
|
+
local __TS__ClassExtends = ____lualib.__TS__ClassExtends
|
|
4
|
+
local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
|
|
5
|
+
local ____exports = {}
|
|
6
|
+
local ____ability_2Dtype = require("engine.object-data.entry.ability-type")
|
|
7
|
+
local AbilityType = ____ability_2Dtype.AbilityType
|
|
8
|
+
____exports.ValiantChargeAbilityType = __TS__Class()
|
|
9
|
+
local ValiantChargeAbilityType = ____exports.ValiantChargeAbilityType
|
|
10
|
+
ValiantChargeAbilityType.name = "ValiantChargeAbilityType"
|
|
11
|
+
__TS__ClassExtends(ValiantChargeAbilityType, AbilityType)
|
|
12
|
+
ValiantChargeAbilityType.BASE_ID = fourCC("AHch")
|
|
13
|
+
__TS__SetDescriptor(
|
|
14
|
+
ValiantChargeAbilityType.prototype,
|
|
15
|
+
"targetIntersectRadius",
|
|
16
|
+
{
|
|
17
|
+
get = function(self)
|
|
18
|
+
return self:getNumberLevelField("chra")
|
|
19
|
+
end,
|
|
20
|
+
set = function(self, targetIntersectRadius)
|
|
21
|
+
self:setNumberLevelField("chra", targetIntersectRadius)
|
|
22
|
+
end
|
|
23
|
+
},
|
|
24
|
+
true
|
|
25
|
+
)
|
|
26
|
+
__TS__SetDescriptor(
|
|
27
|
+
ValiantChargeAbilityType.prototype,
|
|
28
|
+
"dashSpeed",
|
|
29
|
+
{
|
|
30
|
+
get = function(self)
|
|
31
|
+
return self:getNumberLevelField("chr1")
|
|
32
|
+
end,
|
|
33
|
+
set = function(self, dashSpeed)
|
|
34
|
+
self:setNumberLevelField("chr1", dashSpeed)
|
|
35
|
+
end
|
|
36
|
+
},
|
|
37
|
+
true
|
|
38
|
+
)
|
|
39
|
+
__TS__SetDescriptor(
|
|
40
|
+
ValiantChargeAbilityType.prototype,
|
|
41
|
+
"dashDamage",
|
|
42
|
+
{
|
|
43
|
+
get = function(self)
|
|
44
|
+
return self:getNumberLevelField("chr2")
|
|
45
|
+
end,
|
|
46
|
+
set = function(self, dashDamage)
|
|
47
|
+
self:setNumberLevelField("chr2", dashDamage)
|
|
48
|
+
end
|
|
49
|
+
},
|
|
50
|
+
true
|
|
51
|
+
)
|
|
52
|
+
__TS__SetDescriptor(
|
|
53
|
+
ValiantChargeAbilityType.prototype,
|
|
54
|
+
"bonusCriticalStrike",
|
|
55
|
+
{
|
|
56
|
+
get = function(self)
|
|
57
|
+
return self:getNumberLevelField("chr3")
|
|
58
|
+
end,
|
|
59
|
+
set = function(self, bonusCriticalStrike)
|
|
60
|
+
self:setNumberLevelField("chr3", bonusCriticalStrike)
|
|
61
|
+
end
|
|
62
|
+
},
|
|
63
|
+
true
|
|
64
|
+
)
|
|
65
|
+
__TS__SetDescriptor(
|
|
66
|
+
ValiantChargeAbilityType.prototype,
|
|
67
|
+
"bonusCriticalStrikeDuration",
|
|
68
|
+
{
|
|
69
|
+
get = function(self)
|
|
70
|
+
return self:getNumberLevelField("chr4")
|
|
71
|
+
end,
|
|
72
|
+
set = function(self, bonusCriticalStrikeDuration)
|
|
73
|
+
self:setNumberLevelField("chr4", bonusCriticalStrikeDuration)
|
|
74
|
+
end
|
|
75
|
+
},
|
|
76
|
+
true
|
|
77
|
+
)
|
|
78
|
+
__TS__SetDescriptor(
|
|
79
|
+
ValiantChargeAbilityType.prototype,
|
|
80
|
+
"bonusCriticalStrikeHeroDuration",
|
|
81
|
+
{
|
|
82
|
+
get = function(self)
|
|
83
|
+
return self:getNumberLevelField("chr5")
|
|
84
|
+
end,
|
|
85
|
+
set = function(self, bonusCriticalStrikeHeroDuration)
|
|
86
|
+
self:setNumberLevelField("chr5", bonusCriticalStrikeHeroDuration)
|
|
87
|
+
end
|
|
88
|
+
},
|
|
89
|
+
true
|
|
90
|
+
)
|
|
91
|
+
__TS__SetDescriptor(
|
|
92
|
+
ValiantChargeAbilityType.prototype,
|
|
93
|
+
"removesBuffsOnStart",
|
|
94
|
+
{
|
|
95
|
+
get = function(self)
|
|
96
|
+
return self:getBooleanLevelField("chr6")
|
|
97
|
+
end,
|
|
98
|
+
set = function(self, removesBuffsOnStart)
|
|
99
|
+
self:setBooleanLevelField("chr6", removesBuffsOnStart)
|
|
100
|
+
end
|
|
101
|
+
},
|
|
102
|
+
true
|
|
103
|
+
)
|
|
104
|
+
return ____exports
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** @noSelfInFile */
|
|
2
|
+
import { AbilityType, AbilityTypeId } from "../ability-type";
|
|
3
|
+
import { ObjectDataEntryLevelFieldValueSupplier } from "../../entry";
|
|
4
|
+
export declare class WarcryAbilityType extends AbilityType {
|
|
5
|
+
static readonly BASE_ID: AbilityTypeId;
|
|
6
|
+
/** Bonus Abilities List */
|
|
7
|
+
get bonusAbilityTypeIds(): AbilityTypeId[][];
|
|
8
|
+
set bonusAbilityTypeIds(bonusAbilityTypeIds: ObjectDataEntryLevelFieldValueSupplier<AbilityTypeId[]>);
|
|
9
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__Class = ____lualib.__TS__Class
|
|
3
|
+
local __TS__ClassExtends = ____lualib.__TS__ClassExtends
|
|
4
|
+
local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
|
|
5
|
+
local ____exports = {}
|
|
6
|
+
local ____ability_2Dtype = require("engine.object-data.entry.ability-type")
|
|
7
|
+
local AbilityType = ____ability_2Dtype.AbilityType
|
|
8
|
+
____exports.WarcryAbilityType = __TS__Class()
|
|
9
|
+
local WarcryAbilityType = ____exports.WarcryAbilityType
|
|
10
|
+
WarcryAbilityType.name = "WarcryAbilityType"
|
|
11
|
+
__TS__ClassExtends(WarcryAbilityType, AbilityType)
|
|
12
|
+
WarcryAbilityType.BASE_ID = fourCC("AHwc")
|
|
13
|
+
__TS__SetDescriptor(
|
|
14
|
+
WarcryAbilityType.prototype,
|
|
15
|
+
"bonusAbilityTypeIds",
|
|
16
|
+
{
|
|
17
|
+
get = function(self)
|
|
18
|
+
return self:getObjectDataEntryNumericIdsLevelField("hwc1")
|
|
19
|
+
end,
|
|
20
|
+
set = function(self, bonusAbilityTypeIds)
|
|
21
|
+
self:setObjectDataEntryNumericIdsLevelField("hwc1", bonusAbilityTypeIds)
|
|
22
|
+
end
|
|
23
|
+
},
|
|
24
|
+
true
|
|
25
|
+
)
|
|
26
|
+
return ____exports
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/** @noSelfInFile */
|
|
2
|
+
import { AbilityType, AbilityTypeId } from "../ability-type";
|
|
3
|
+
import { ObjectDataEntryLevelFieldValueSupplier } from "../../entry";
|
|
4
|
+
export declare class WitheringFireAbilityType extends AbilityType {
|
|
5
|
+
static readonly BASE_ID: AbilityTypeId;
|
|
6
|
+
/** Max Charges */
|
|
7
|
+
get maximumCharges(): number[];
|
|
8
|
+
set maximumCharges(maximumCharges: ObjectDataEntryLevelFieldValueSupplier<number>);
|
|
9
|
+
/** Charge Regen Time */
|
|
10
|
+
get chargeRegenerationTime(): number[];
|
|
11
|
+
set chargeRegenerationTime(chargeRegenerationTime: ObjectDataEntryLevelFieldValueSupplier<number>);
|
|
12
|
+
/** Damage */
|
|
13
|
+
get damage(): number[];
|
|
14
|
+
set damage(damage: ObjectDataEntryLevelFieldValueSupplier<number>);
|
|
15
|
+
/** Target Armor Reduction */
|
|
16
|
+
get targetArmorReduction(): number[];
|
|
17
|
+
set targetArmorReduction(targetArmorReduction: ObjectDataEntryLevelFieldValueSupplier<number>);
|
|
18
|
+
/** Cooldown Reduction On Auto Attack */
|
|
19
|
+
get cooldownReductionOnAutoAttack(): number[];
|
|
20
|
+
set cooldownReductionOnAutoAttack(cooldownReductionOnAutoAttack: ObjectDataEntryLevelFieldValueSupplier<number>);
|
|
21
|
+
}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__Class = ____lualib.__TS__Class
|
|
3
|
+
local __TS__ClassExtends = ____lualib.__TS__ClassExtends
|
|
4
|
+
local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
|
|
5
|
+
local ____exports = {}
|
|
6
|
+
local ____ability_2Dtype = require("engine.object-data.entry.ability-type")
|
|
7
|
+
local AbilityType = ____ability_2Dtype.AbilityType
|
|
8
|
+
____exports.WitheringFireAbilityType = __TS__Class()
|
|
9
|
+
local WitheringFireAbilityType = ____exports.WitheringFireAbilityType
|
|
10
|
+
WitheringFireAbilityType.name = "WitheringFireAbilityType"
|
|
11
|
+
__TS__ClassExtends(WitheringFireAbilityType, AbilityType)
|
|
12
|
+
WitheringFireAbilityType.BASE_ID = fourCC("AUwf")
|
|
13
|
+
__TS__SetDescriptor(
|
|
14
|
+
WitheringFireAbilityType.prototype,
|
|
15
|
+
"maximumCharges",
|
|
16
|
+
{
|
|
17
|
+
get = function(self)
|
|
18
|
+
return self:getNumberLevelField("uwf1")
|
|
19
|
+
end,
|
|
20
|
+
set = function(self, maximumCharges)
|
|
21
|
+
self:setNumberLevelField("uwf1", maximumCharges)
|
|
22
|
+
end
|
|
23
|
+
},
|
|
24
|
+
true
|
|
25
|
+
)
|
|
26
|
+
__TS__SetDescriptor(
|
|
27
|
+
WitheringFireAbilityType.prototype,
|
|
28
|
+
"chargeRegenerationTime",
|
|
29
|
+
{
|
|
30
|
+
get = function(self)
|
|
31
|
+
return self:getNumberLevelField("uwf2")
|
|
32
|
+
end,
|
|
33
|
+
set = function(self, chargeRegenerationTime)
|
|
34
|
+
self:setNumberLevelField("uwf2", chargeRegenerationTime)
|
|
35
|
+
end
|
|
36
|
+
},
|
|
37
|
+
true
|
|
38
|
+
)
|
|
39
|
+
__TS__SetDescriptor(
|
|
40
|
+
WitheringFireAbilityType.prototype,
|
|
41
|
+
"damage",
|
|
42
|
+
{
|
|
43
|
+
get = function(self)
|
|
44
|
+
return self:getNumberLevelField("uwf3")
|
|
45
|
+
end,
|
|
46
|
+
set = function(self, damage)
|
|
47
|
+
self:setNumberLevelField("uwf3", damage)
|
|
48
|
+
end
|
|
49
|
+
},
|
|
50
|
+
true
|
|
51
|
+
)
|
|
52
|
+
__TS__SetDescriptor(
|
|
53
|
+
WitheringFireAbilityType.prototype,
|
|
54
|
+
"targetArmorReduction",
|
|
55
|
+
{
|
|
56
|
+
get = function(self)
|
|
57
|
+
return self:getNumberLevelField("uwf4")
|
|
58
|
+
end,
|
|
59
|
+
set = function(self, targetArmorReduction)
|
|
60
|
+
self:setNumberLevelField("uwf4", targetArmorReduction)
|
|
61
|
+
end
|
|
62
|
+
},
|
|
63
|
+
true
|
|
64
|
+
)
|
|
65
|
+
__TS__SetDescriptor(
|
|
66
|
+
WitheringFireAbilityType.prototype,
|
|
67
|
+
"cooldownReductionOnAutoAttack",
|
|
68
|
+
{
|
|
69
|
+
get = function(self)
|
|
70
|
+
return self:getNumberLevelField("uwf5")
|
|
71
|
+
end,
|
|
72
|
+
set = function(self, cooldownReductionOnAutoAttack)
|
|
73
|
+
self:setNumberLevelField("uwf5", cooldownReductionOnAutoAttack)
|
|
74
|
+
end
|
|
75
|
+
},
|
|
76
|
+
true
|
|
77
|
+
)
|
|
78
|
+
return ____exports
|
|
@@ -7,13 +7,14 @@ import { AttachmentPresetInput, EffectPresetWithParameters, EffectPresetWithPara
|
|
|
7
7
|
import { CombatClassifications } from "../auxiliary/combat-classification";
|
|
8
8
|
import { Race } from "../auxiliary/race";
|
|
9
9
|
import { TechTreeDependency, TechTreeDependencyInput } from "../auxiliary/tech-tree-dependency";
|
|
10
|
-
import { ObjectDataEntry,
|
|
10
|
+
import { ObjectDataEntry, CustomObjectDataEntryId, ObjectDataEntryLevelFieldValueSupplier } from "../entry";
|
|
11
11
|
import { BuffTypeId } from "./buff-type";
|
|
12
12
|
import { LightningTypeId } from "./lightning-type";
|
|
13
13
|
import { SoundPresetId } from "./sound-preset";
|
|
14
|
-
|
|
14
|
+
import { StandardAbilityTypeId } from "../../standard/entries/ability-type";
|
|
15
|
+
export type AbilityTypeId = (CustomObjectDataEntryId & number & {
|
|
15
16
|
readonly __abilityTypeId: unique symbol;
|
|
16
|
-
};
|
|
17
|
+
}) | StandardAbilityTypeId;
|
|
17
18
|
export declare abstract class AbilityType extends ObjectDataEntry<AbilityTypeId> {
|
|
18
19
|
private static readonly idGenerator;
|
|
19
20
|
protected static generateId(): number;
|
|
@@ -41,6 +42,8 @@ export declare abstract class AbilityType extends ObjectDataEntry<AbilityTypeId>
|
|
|
41
42
|
set iconPathSD(iconPathSD: string);
|
|
42
43
|
get iconPathHD(): string;
|
|
43
44
|
set iconPathHD(iconPathHD: string);
|
|
45
|
+
get iconPathDE(): string;
|
|
46
|
+
set iconPathDE(iconPathDE: string);
|
|
44
47
|
get isButtonVisible(): boolean;
|
|
45
48
|
set isButtonVisible(isButtonVisible: boolean);
|
|
46
49
|
get isMissileHoming(): boolean;
|
|
@@ -59,6 +62,8 @@ export declare abstract class AbilityType extends ObjectDataEntry<AbilityTypeId>
|
|
|
59
62
|
set missileModelPathSD(missileModelPathSD: string);
|
|
60
63
|
get missileModelPathHD(): string;
|
|
61
64
|
set missileModelPathHD(missileModelPathHD: string);
|
|
65
|
+
get missileModelPathDE(): string;
|
|
66
|
+
set missileModelPathDE(missileModelPathDE: string);
|
|
62
67
|
get missileMovementArc(): number;
|
|
63
68
|
set missileMovementArc(missileMovementArc: number);
|
|
64
69
|
get missileMovementSpeed(): number;
|
|
@@ -67,12 +72,16 @@ export declare abstract class AbilityType extends ObjectDataEntry<AbilityTypeId>
|
|
|
67
72
|
set specialAttachmentPreset(specialAttachmentPreset: AttachmentPresetInput | undefined);
|
|
68
73
|
get targetCastingEffectPresets(): EffectPresetWithParameters[];
|
|
69
74
|
set targetCastingEffectPresets(targetCastingEffectPresets: AttachmentPresetInput[]);
|
|
75
|
+
get targetChannelingEffectPresets(): EffectPresetWithParameters[];
|
|
76
|
+
set targetChannelingEffectPresets(targetChannelingEffectPresets: EffectPresetWithParametersInput[]);
|
|
70
77
|
get targetEffectPresets(): TupleOf<EffectPresetWithParameters, 0 | 1 | 2 | 3 | 4 | 5 | 6>;
|
|
71
78
|
set targetEffectPresets(targetEffectPresets: TupleOf<AttachmentPresetInput, 0 | 1 | 2 | 3 | 4 | 5 | 6>);
|
|
72
79
|
get targetEffectPresetsSD(): TupleOf<EffectPresetWithParameters, 0 | 1 | 2 | 3 | 4 | 5 | 6>;
|
|
73
80
|
set targetEffectPresetsSD(targetEffectPresetsSD: TupleOf<AttachmentPresetInput, 0 | 1 | 2 | 3 | 4 | 5 | 6>);
|
|
74
81
|
get targetEffectPresetsHD(): TupleOf<EffectPresetWithParameters, 0 | 1 | 2 | 3 | 4 | 5 | 6>;
|
|
75
82
|
set targetEffectPresetsHD(targetEffectPresetsHD: TupleOf<AttachmentPresetInput, 0 | 1 | 2 | 3 | 4 | 5 | 6>);
|
|
83
|
+
get targetEffectPresetsDE(): TupleOf<EffectPresetWithParameters, 0 | 1 | 2 | 3 | 4 | 5 | 6>;
|
|
84
|
+
set targetEffectPresetsDE(targetEffectPresetsDE: TupleOf<AttachmentPresetInput, 0 | 1 | 2 | 3 | 4 | 5 | 6>);
|
|
76
85
|
get turnOffButtonPositionX(): number;
|
|
77
86
|
set turnOffButtonPositionX(buttonPositionX: number);
|
|
78
87
|
get turnOffButtonPositionY(): number;
|
|
@@ -38,11 +38,14 @@ local ____sound = require("core.types.sound")
|
|
|
38
38
|
local isSoundLabelCustom = ____sound.isSoundLabelCustom
|
|
39
39
|
local Sound3D = ____sound.Sound3D
|
|
40
40
|
local SoundSettings = ____sound.SoundSettings
|
|
41
|
+
local ____lua_2Dsets = require("utility.lua-sets")
|
|
42
|
+
local luaSetOf = ____lua_2Dsets.luaSetOf
|
|
41
43
|
local castAnimationFQNByAbilityTypeId = {}
|
|
42
44
|
local isButtonVisibleFalseAbilityTypes = {}
|
|
43
45
|
local casterCastingEffectPresetsByAbilityTypeId = {}
|
|
44
46
|
local casterChannelingEffectPresetsByAbilityTypeId = {}
|
|
45
47
|
local targetCastingEffectPresetsByAbilityTypeId = {}
|
|
48
|
+
local targetChannelingEffectPresetsByAbilityTypeId = {}
|
|
46
49
|
local targetEffectSoundPresetByAbilityTypeId = {}
|
|
47
50
|
____exports.AbilityType = __TS__Class()
|
|
48
51
|
local AbilityType = ____exports.AbilityType
|
|
@@ -202,6 +205,19 @@ __TS__SetDescriptor(
|
|
|
202
205
|
},
|
|
203
206
|
true
|
|
204
207
|
)
|
|
208
|
+
__TS__SetDescriptor(
|
|
209
|
+
AbilityType.prototype,
|
|
210
|
+
"iconPathDE",
|
|
211
|
+
{
|
|
212
|
+
get = function(self)
|
|
213
|
+
return self:getStringField("aart:de")
|
|
214
|
+
end,
|
|
215
|
+
set = function(self, iconPathDE)
|
|
216
|
+
self:setStringField("aart:de", iconPathDE)
|
|
217
|
+
end
|
|
218
|
+
},
|
|
219
|
+
true
|
|
220
|
+
)
|
|
205
221
|
__TS__SetDescriptor(
|
|
206
222
|
AbilityType.prototype,
|
|
207
223
|
"isButtonVisible",
|
|
@@ -324,6 +340,19 @@ __TS__SetDescriptor(
|
|
|
324
340
|
},
|
|
325
341
|
true
|
|
326
342
|
)
|
|
343
|
+
__TS__SetDescriptor(
|
|
344
|
+
AbilityType.prototype,
|
|
345
|
+
"missileModelPathDE",
|
|
346
|
+
{
|
|
347
|
+
get = function(self)
|
|
348
|
+
return self:getStringField("amat:de")
|
|
349
|
+
end,
|
|
350
|
+
set = function(self, missileModelPathDE)
|
|
351
|
+
self:setStringField("amat:de", missileModelPathDE)
|
|
352
|
+
end
|
|
353
|
+
},
|
|
354
|
+
true
|
|
355
|
+
)
|
|
327
356
|
__TS__SetDescriptor(
|
|
328
357
|
AbilityType.prototype,
|
|
329
358
|
"missileMovementArc",
|
|
@@ -376,6 +405,19 @@ __TS__SetDescriptor(
|
|
|
376
405
|
},
|
|
377
406
|
true
|
|
378
407
|
)
|
|
408
|
+
__TS__SetDescriptor(
|
|
409
|
+
AbilityType.prototype,
|
|
410
|
+
"targetChannelingEffectPresets",
|
|
411
|
+
{
|
|
412
|
+
get = function(self)
|
|
413
|
+
return targetChannelingEffectPresetsByAbilityTypeId[self.id] or ({})
|
|
414
|
+
end,
|
|
415
|
+
set = function(self, targetChannelingEffectPresets)
|
|
416
|
+
targetChannelingEffectPresetsByAbilityTypeId[self.id] = map(targetChannelingEffectPresets, toEffectPreset)
|
|
417
|
+
end
|
|
418
|
+
},
|
|
419
|
+
true
|
|
420
|
+
)
|
|
379
421
|
__TS__SetDescriptor(
|
|
380
422
|
AbilityType.prototype,
|
|
381
423
|
"targetEffectPresets",
|
|
@@ -457,6 +499,33 @@ __TS__SetDescriptor(
|
|
|
457
499
|
},
|
|
458
500
|
true
|
|
459
501
|
)
|
|
502
|
+
__TS__SetDescriptor(
|
|
503
|
+
AbilityType.prototype,
|
|
504
|
+
"targetEffectPresetsDE",
|
|
505
|
+
{
|
|
506
|
+
get = function(self)
|
|
507
|
+
return self:getAttachmentPresetListField(
|
|
508
|
+
"atat:de",
|
|
509
|
+
array(
|
|
510
|
+
6,
|
|
511
|
+
function(i) return ("ata" .. tostring(i)) .. ":de" end
|
|
512
|
+
)
|
|
513
|
+
)
|
|
514
|
+
end,
|
|
515
|
+
set = function(self, targetEffectPresetsDE)
|
|
516
|
+
self:setAttachmentPresetListField(
|
|
517
|
+
"atat:de",
|
|
518
|
+
array(
|
|
519
|
+
6,
|
|
520
|
+
function(i) return ("ata" .. tostring(i)) .. ":de" end
|
|
521
|
+
),
|
|
522
|
+
"atac:de",
|
|
523
|
+
targetEffectPresetsDE
|
|
524
|
+
)
|
|
525
|
+
end
|
|
526
|
+
},
|
|
527
|
+
true
|
|
528
|
+
)
|
|
460
529
|
__TS__SetDescriptor(
|
|
461
530
|
AbilityType.prototype,
|
|
462
531
|
"turnOffButtonPositionX",
|
|
@@ -1004,9 +1073,10 @@ for abilityTypeId, soundPresetId in pairs(postcompile(function() return targetEf
|
|
|
1004
1073
|
)
|
|
1005
1074
|
end
|
|
1006
1075
|
end
|
|
1076
|
+
local unsupportedEffectSoundAbilityTypeIds = luaSetOf(fourCC("AAns"))
|
|
1007
1077
|
Unit.abilityChannelingStartEvent:addListener(function(caster, ability)
|
|
1008
1078
|
local soundPresetId = ability:getField(ABILITY_SF_EFFECT_SOUND)
|
|
1009
|
-
if isSoundLabelCustom(soundPresetId) then
|
|
1079
|
+
if isSoundLabelCustom(soundPresetId) or soundPresetId ~= "" and unsupportedEffectSoundAbilityTypeIds[ability.parentTypeId] ~= nil then
|
|
1010
1080
|
Sound3D:playFromLabel(soundPresetId, SoundSettings.Ability, caster)
|
|
1011
1081
|
end
|
|
1012
1082
|
end)
|
|
@@ -1096,18 +1166,84 @@ local function handleAbilityChannelingStartEvent(caster, ability)
|
|
|
1096
1166
|
end
|
|
1097
1167
|
casterChannelingEffectsByCaster[caster] = effects
|
|
1098
1168
|
end
|
|
1169
|
+
local targetChannelingEffectModelPathsByAbilityTypeId = postcompile(function()
|
|
1170
|
+
return mapValues(
|
|
1171
|
+
targetChannelingEffectPresetsByAbilityTypeId,
|
|
1172
|
+
function(targetChannelingEffectPresets) return map(targetChannelingEffectPresets, extractAttachmentPresetInputModelPath) end
|
|
1173
|
+
)
|
|
1174
|
+
end)
|
|
1175
|
+
local targetChannelingEffectAttachmentPointsByAbilityTypeId = postcompile(function()
|
|
1176
|
+
return mapValues(
|
|
1177
|
+
targetChannelingEffectPresetsByAbilityTypeId,
|
|
1178
|
+
function(targetChannelingEffectPresets) return map(targetChannelingEffectPresets, extractAttachmentPresetInputNodeFQN) end
|
|
1179
|
+
)
|
|
1180
|
+
end)
|
|
1181
|
+
local targetChannelingEffectParametersByAbilityTypeId = postcompile(function()
|
|
1182
|
+
return mapValues(
|
|
1183
|
+
targetChannelingEffectPresetsByAbilityTypeId,
|
|
1184
|
+
function(targetChannelingEffectPresets) return map(targetChannelingEffectPresets, "parameters") end
|
|
1185
|
+
)
|
|
1186
|
+
end)
|
|
1187
|
+
local targetChannelingEffectsByCaster = {}
|
|
1188
|
+
local function handleAbilityWidgetTargetChannelingStartEvent(caster, ability, target)
|
|
1189
|
+
local effectModelPaths = targetChannelingEffectModelPathsByAbilityTypeId[ability.typeId]
|
|
1190
|
+
local attachmentPoints = targetChannelingEffectAttachmentPointsByAbilityTypeId[ability.typeId]
|
|
1191
|
+
local parameters = targetChannelingEffectParametersByAbilityTypeId[ability.typeId]
|
|
1192
|
+
local effects = {}
|
|
1193
|
+
if effectModelPaths ~= nil then
|
|
1194
|
+
for i = 1, #effectModelPaths do
|
|
1195
|
+
local effectModelPath = effectModelPaths[i]
|
|
1196
|
+
local attachmentPoint = attachmentPoints and attachmentPoints[i]
|
|
1197
|
+
if attachmentPoint == nil or attachmentPoint == "" then
|
|
1198
|
+
attachmentPoint = "origin"
|
|
1199
|
+
end
|
|
1200
|
+
effects[i] = Effect:create(effectModelPath, target, attachmentPoint, parameters and parameters[i])
|
|
1201
|
+
end
|
|
1202
|
+
end
|
|
1203
|
+
targetChannelingEffectsByCaster[caster] = effects
|
|
1204
|
+
end
|
|
1205
|
+
local function handleAbilityPointTargetChannelingStartEvent(caster, ability, x, y)
|
|
1206
|
+
local effectModelPaths = targetChannelingEffectModelPathsByAbilityTypeId[ability.typeId]
|
|
1207
|
+
local attachmentPoints = targetChannelingEffectAttachmentPointsByAbilityTypeId[ability.typeId]
|
|
1208
|
+
local parameters = targetChannelingEffectParametersByAbilityTypeId[ability.typeId]
|
|
1209
|
+
local effects = {}
|
|
1210
|
+
if effectModelPaths ~= nil then
|
|
1211
|
+
for i = 1, #effectModelPaths do
|
|
1212
|
+
local effectModelPath = effectModelPaths[i]
|
|
1213
|
+
local attachmentPoint = attachmentPoints and attachmentPoints[i]
|
|
1214
|
+
if attachmentPoint == nil or attachmentPoint == "" then
|
|
1215
|
+
attachmentPoint = "origin"
|
|
1216
|
+
end
|
|
1217
|
+
effects[i] = Effect:create(effectModelPath, x, y, parameters and parameters[i])
|
|
1218
|
+
end
|
|
1219
|
+
end
|
|
1220
|
+
targetChannelingEffectsByCaster[caster] = effects
|
|
1221
|
+
end
|
|
1099
1222
|
local function handleAbilityStopChannelingEvent(caster)
|
|
1100
|
-
local
|
|
1101
|
-
if
|
|
1102
|
-
for i = 1, #
|
|
1103
|
-
|
|
1223
|
+
local casterEffects = casterChannelingEffectsByCaster[caster]
|
|
1224
|
+
if casterEffects ~= nil then
|
|
1225
|
+
for i = 1, #casterEffects do
|
|
1226
|
+
casterEffects[i]:destroy()
|
|
1104
1227
|
end
|
|
1105
1228
|
casterChannelingEffectsByCaster[caster] = nil
|
|
1106
1229
|
end
|
|
1230
|
+
local targetEffects = targetChannelingEffectsByCaster[caster]
|
|
1231
|
+
if targetEffects ~= nil then
|
|
1232
|
+
for i = 1, #targetEffects do
|
|
1233
|
+
targetEffects[i]:destroy()
|
|
1234
|
+
end
|
|
1235
|
+
targetChannelingEffectsByCaster[caster] = nil
|
|
1236
|
+
end
|
|
1107
1237
|
end
|
|
1108
1238
|
for abilityTypeId in pairs(casterChannelingEffectModelPathsByAbilityTypeId) do
|
|
1109
1239
|
Unit.abilityChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityChannelingStartEvent)
|
|
1110
1240
|
Unit.abilityChannelingFinishEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
|
|
1111
1241
|
Unit.abilityStopEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
|
|
1112
1242
|
end
|
|
1243
|
+
for abilityTypeId in pairs(targetChannelingEffectModelPathsByAbilityTypeId) do
|
|
1244
|
+
Unit.abilityWidgetTargetChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityWidgetTargetChannelingStartEvent)
|
|
1245
|
+
Unit.abilityPointTargetChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityPointTargetChannelingStartEvent)
|
|
1246
|
+
Unit.abilityChannelingFinishEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
|
|
1247
|
+
Unit.abilityStopEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
|
|
1248
|
+
end
|
|
1113
1249
|
return ____exports
|