warscript 0.0.1-dev.3eed609 → 0.0.1-dev.3f0a5ea
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 +16 -2
- package/core/types/frame.lua +128 -67
- 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/missile.lua +8 -7
- 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/tileCell.d.ts +7 -2
- package/core/types/tileCell.lua +11 -0
- 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 +706 -7
- package/destroyable.d.ts +1 -0
- package/destroyable.lua +9 -0
- package/engine/ability-type-extended-tooltip.d.ts +8 -0
- package/engine/ability-type-extended-tooltip.lua +44 -0
- package/engine/behavior.d.ts +4 -2
- package/engine/behavior.lua +69 -11
- package/engine/behaviour/ability/apply-buff.lua +4 -4
- 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.d.ts +14 -0
- package/engine/behaviour/ability/emulate-impact.lua +79 -5
- package/engine/behaviour/ability/instant-impact.d.ts +12 -1
- package/engine/behaviour/ability/instant-impact.lua +17 -2
- 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 +19 -6
- package/engine/behaviour/ability.lua +120 -9
- 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 +103 -55
- package/engine/buff.lua +486 -270
- package/engine/index.d.ts +2 -1
- package/engine/internal/ability.d.ts +7 -0
- package/engine/internal/ability.lua +65 -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/object-data/returned-melee-damage-factor.d.ts +2 -0
- package/engine/internal/object-data/returned-melee-damage-factor.lua +21 -0
- package/engine/internal/unit/ability.lua +16 -0
- 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 +17 -0
- package/engine/internal/unit/bonus.lua +113 -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/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 +73 -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 +96 -68
- package/engine/internal/unit-missile-launch.lua +25 -18
- package/engine/internal/unit.d.ts +4 -19
- package/engine/internal/unit.lua +132 -221
- package/engine/lightning.lua +4 -4
- package/engine/local-client.d.ts +27 -1
- package/engine/local-client.lua +298 -58
- package/engine/object-data/auxiliary/attachment-preset.d.ts +7 -0
- package/engine/object-data/auxiliary/attachment-preset.lua +7 -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 +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/barrage.d.ts +12 -0
- package/engine/object-data/entry/ability-type/barrage.lua +52 -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.lua +2 -2
- package/engine/object-data/entry/ability-type/blank-passive-with-cooldown.d.ts +23 -0
- package/engine/object-data/entry/ability-type/blank-passive-with-cooldown.lua +112 -0
- package/engine/object-data/entry/ability-type/blank-passive.d.ts +4 -0
- package/engine/object-data/entry/ability-type/blank-passive.lua +27 -7
- package/engine/object-data/entry/ability-type/breath-of-fire.d.ts +11 -0
- package/engine/object-data/entry/ability-type/breath-of-fire.lua +27 -0
- package/engine/object-data/entry/ability-type/channel.d.ts +2 -2
- package/engine/object-data/entry/ability-type/channel.lua +3 -3
- 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/exhume-corpses.d.ts +14 -0
- package/engine/object-data/entry/ability-type/exhume-corpses.lua +40 -0
- package/engine/object-data/entry/ability-type/firebolt.d.ts +7 -0
- package/engine/object-data/entry/ability-type/firebolt.lua +13 -0
- package/engine/object-data/entry/ability-type/flame-strike.d.ts +25 -0
- package/engine/object-data/entry/ability-type/flame-strike.lua +92 -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/life-drain.d.ts +37 -0
- package/engine/object-data/entry/ability-type/life-drain.lua +144 -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/rain-of-fire.d.ts +7 -0
- package/engine/object-data/entry/ability-type/rain-of-fire.lua +13 -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-burn.d.ts +22 -0
- package/engine/object-data/entry/ability-type/soul-burn.lua +79 -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 +35 -8
- package/engine/object-data/entry/ability-type.lua +299 -11
- package/engine/object-data/entry/buff-type/applicable.lua +122 -111
- 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 +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 +57 -2
- package/engine/object-data/entry/unit-type.lua +412 -64
- 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/buff-type.d.ts +45 -0
- package/engine/standard/entries/buff-type.lua +43 -0
- 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/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 -5
- package/engine/standard/fields/unit.lua +13 -4
- package/engine/text-tag.d.ts +17 -1
- package/engine/text-tag.lua +77 -40
- 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/arrays.d.ts +7 -1
- package/utility/arrays.lua +17 -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,17 +3,18 @@ import "../../internal/unit/ability";
|
|
|
3
3
|
import { TupleOf } from "../../../utility/types";
|
|
4
4
|
import { AnimationName } from "../auxiliary/animation-name";
|
|
5
5
|
import { AnimationQualifier } from "../auxiliary/animation-qualifier";
|
|
6
|
-
import { AttachmentPresetInput, EffectPresetWithParameters, EffectPresetWithParametersInput } from "../auxiliary/attachment-preset";
|
|
6
|
+
import { AttachmentPoint, AttachmentPointInput, AttachmentPresetInput, EffectPresetWithParameters, EffectPresetWithParametersInput } from "../auxiliary/attachment-preset";
|
|
7
7
|
import { CombatClassifications } from "../auxiliary/combat-classification";
|
|
8
8
|
import { Race } from "../auxiliary/race";
|
|
9
9
|
import { TechTreeDependency, TechTreeDependencyInput } from "../auxiliary/tech-tree-dependency";
|
|
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;
|
|
@@ -31,16 +32,24 @@ export declare abstract class AbilityType extends ObjectDataEntry<AbilityTypeId>
|
|
|
31
32
|
set casterCastingEffectPresets(casterCastingEffectPresets: EffectPresetWithParametersInput[]);
|
|
32
33
|
get casterChannelingEffectPresets(): EffectPresetWithParameters[];
|
|
33
34
|
set casterChannelingEffectPresets(casterChannelingEffectPresets: EffectPresetWithParametersInput[]);
|
|
34
|
-
get
|
|
35
|
-
set
|
|
35
|
+
get casterEffectPresets(): TupleOf<EffectPresetWithParameters, 0 | 1 | 2>;
|
|
36
|
+
set casterEffectPresets(casterEffectPresets: TupleOf<AttachmentPresetInput, 0 | 1 | 2>);
|
|
36
37
|
get effectModelPaths(): string[];
|
|
37
38
|
set effectModelPaths(effectModelPaths: string[]);
|
|
39
|
+
get effectModelPathsSD(): string[];
|
|
40
|
+
set effectModelPathsSD(effectModelPathsSD: string[]);
|
|
41
|
+
get effectModelPathsHD(): string[];
|
|
42
|
+
set effectModelPathsHD(effectModelPathsHD: string[]);
|
|
43
|
+
get effectModelPathsDE(): string[];
|
|
44
|
+
set effectModelPathsDE(effectModelPathsDE: string[]);
|
|
38
45
|
get iconPath(): string;
|
|
39
46
|
set iconPath(iconPath: string);
|
|
40
47
|
get iconPathSD(): string;
|
|
41
48
|
set iconPathSD(iconPathSD: string);
|
|
42
49
|
get iconPathHD(): string;
|
|
43
50
|
set iconPathHD(iconPathHD: string);
|
|
51
|
+
get iconPathDE(): string;
|
|
52
|
+
set iconPathDE(iconPathDE: string);
|
|
44
53
|
get isButtonVisible(): boolean;
|
|
45
54
|
set isButtonVisible(isButtonVisible: boolean);
|
|
46
55
|
get isMissileHoming(): boolean;
|
|
@@ -59,20 +68,36 @@ export declare abstract class AbilityType extends ObjectDataEntry<AbilityTypeId>
|
|
|
59
68
|
set missileModelPathSD(missileModelPathSD: string);
|
|
60
69
|
get missileModelPathHD(): string;
|
|
61
70
|
set missileModelPathHD(missileModelPathHD: string);
|
|
71
|
+
get missileModelPathDE(): string;
|
|
72
|
+
set missileModelPathDE(missileModelPathDE: string);
|
|
62
73
|
get missileMovementArc(): number;
|
|
63
74
|
set missileMovementArc(missileMovementArc: number);
|
|
64
75
|
get missileMovementSpeed(): number;
|
|
65
76
|
set missileMovementSpeed(missileMovementSpeed: number);
|
|
66
|
-
|
|
67
|
-
|
|
77
|
+
/** Model paths of the special art (`asat`); Flame Strike, for one, uses three. */
|
|
78
|
+
get specialEffectModelPaths(): string[];
|
|
79
|
+
set specialEffectModelPaths(specialEffectModelPaths: string[]);
|
|
80
|
+
/** Where the special art attaches (`aspt`), shared by all its models. */
|
|
81
|
+
get specialEffectAttachmentPoint(): AttachmentPoint;
|
|
82
|
+
set specialEffectAttachmentPoint(specialEffectAttachmentPoint: AttachmentPointInput);
|
|
68
83
|
get targetCastingEffectPresets(): EffectPresetWithParameters[];
|
|
69
84
|
set targetCastingEffectPresets(targetCastingEffectPresets: AttachmentPresetInput[]);
|
|
85
|
+
get targetChannelingEffectPresets(): EffectPresetWithParameters[];
|
|
86
|
+
set targetChannelingEffectPresets(targetChannelingEffectPresets: EffectPresetWithParametersInput[]);
|
|
87
|
+
get targetChannelingEffectPresetsSD(): EffectPresetWithParameters[];
|
|
88
|
+
set targetChannelingEffectPresetsSD(targetChannelingEffectPresetsSD: EffectPresetWithParametersInput[]);
|
|
89
|
+
get targetChannelingEffectPresetsHD(): EffectPresetWithParameters[];
|
|
90
|
+
set targetChannelingEffectPresetsHD(targetChannelingEffectPresetsHD: EffectPresetWithParametersInput[]);
|
|
91
|
+
get targetChannelingEffectPresetsDE(): EffectPresetWithParameters[];
|
|
92
|
+
set targetChannelingEffectPresetsDE(targetChannelingEffectPresetsDE: EffectPresetWithParametersInput[]);
|
|
70
93
|
get targetEffectPresets(): TupleOf<EffectPresetWithParameters, 0 | 1 | 2 | 3 | 4 | 5 | 6>;
|
|
71
94
|
set targetEffectPresets(targetEffectPresets: TupleOf<AttachmentPresetInput, 0 | 1 | 2 | 3 | 4 | 5 | 6>);
|
|
72
95
|
get targetEffectPresetsSD(): TupleOf<EffectPresetWithParameters, 0 | 1 | 2 | 3 | 4 | 5 | 6>;
|
|
73
96
|
set targetEffectPresetsSD(targetEffectPresetsSD: TupleOf<AttachmentPresetInput, 0 | 1 | 2 | 3 | 4 | 5 | 6>);
|
|
74
97
|
get targetEffectPresetsHD(): TupleOf<EffectPresetWithParameters, 0 | 1 | 2 | 3 | 4 | 5 | 6>;
|
|
75
98
|
set targetEffectPresetsHD(targetEffectPresetsHD: TupleOf<AttachmentPresetInput, 0 | 1 | 2 | 3 | 4 | 5 | 6>);
|
|
99
|
+
get targetEffectPresetsDE(): TupleOf<EffectPresetWithParameters, 0 | 1 | 2 | 3 | 4 | 5 | 6>;
|
|
100
|
+
set targetEffectPresetsDE(targetEffectPresetsDE: TupleOf<AttachmentPresetInput, 0 | 1 | 2 | 3 | 4 | 5 | 6>);
|
|
76
101
|
get turnOffButtonPositionX(): number;
|
|
77
102
|
set turnOffButtonPositionX(buttonPositionX: number);
|
|
78
103
|
get turnOffButtonPositionY(): number;
|
|
@@ -135,6 +160,8 @@ export declare abstract class AbilityType extends ObjectDataEntry<AbilityTypeId>
|
|
|
135
160
|
set effectBuffTypeIds(effectBuffTypeIds: ObjectDataEntryLevelFieldValueSupplier<BuffTypeId[]>);
|
|
136
161
|
get heroBuffDuration(): number[];
|
|
137
162
|
set heroBuffDuration(heroBuffDuration: ObjectDataEntryLevelFieldValueSupplier<number>);
|
|
163
|
+
get isHeroAbility(): boolean;
|
|
164
|
+
set isHeroAbility(isHeroAbility: boolean);
|
|
138
165
|
get learnLevelMinimum(): number;
|
|
139
166
|
set learnLevelMinimum(learnLevelMinimum: number);
|
|
140
167
|
get learnLevelStep(): number;
|
|
@@ -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
|
|
@@ -18,8 +19,10 @@ local array = ____arrays.array
|
|
|
18
19
|
local map = ____arrays.map
|
|
19
20
|
local mapIndexed = ____arrays.mapIndexed
|
|
20
21
|
local ____attachment_2Dpreset = require("engine.object-data.auxiliary.attachment-preset")
|
|
22
|
+
local attachmentPointToNodeFQN = ____attachment_2Dpreset.attachmentPointToNodeFQN
|
|
21
23
|
local extractAttachmentPresetInputModelPath = ____attachment_2Dpreset.extractAttachmentPresetInputModelPath
|
|
22
24
|
local extractAttachmentPresetInputNodeFQN = ____attachment_2Dpreset.extractAttachmentPresetInputNodeFQN
|
|
25
|
+
local splitAttachmentNodeFQN = ____attachment_2Dpreset.splitAttachmentNodeFQN
|
|
23
26
|
local toEffectPreset = ____attachment_2Dpreset.toEffectPreset
|
|
24
27
|
local ____combat_2Dclassification = require("engine.object-data.auxiliary.combat-classification")
|
|
25
28
|
local combatClassificationsToStringArray = ____combat_2Dclassification.combatClassificationsToStringArray
|
|
@@ -40,11 +43,17 @@ local Sound3D = ____sound.Sound3D
|
|
|
40
43
|
local SoundSettings = ____sound.SoundSettings
|
|
41
44
|
local ____lua_2Dsets = require("utility.lua-sets")
|
|
42
45
|
local luaSetOf = ____lua_2Dsets.luaSetOf
|
|
46
|
+
local ____local_2Dclient = require("engine.local-client")
|
|
47
|
+
local LocalClient = ____local_2Dclient.LocalClient
|
|
43
48
|
local castAnimationFQNByAbilityTypeId = {}
|
|
44
49
|
local isButtonVisibleFalseAbilityTypes = {}
|
|
45
50
|
local casterCastingEffectPresetsByAbilityTypeId = {}
|
|
46
51
|
local casterChannelingEffectPresetsByAbilityTypeId = {}
|
|
47
52
|
local targetCastingEffectPresetsByAbilityTypeId = {}
|
|
53
|
+
local targetChannelingEffectPresetsByAbilityTypeId = {}
|
|
54
|
+
local targetChannelingEffectPresetsSDByAbilityTypeId = {}
|
|
55
|
+
local targetChannelingEffectPresetsHDByAbilityTypeId = {}
|
|
56
|
+
local targetChannelingEffectPresetsDEByAbilityTypeId = {}
|
|
48
57
|
local targetEffectSoundPresetByAbilityTypeId = {}
|
|
49
58
|
____exports.AbilityType = __TS__Class()
|
|
50
59
|
local AbilityType = ____exports.AbilityType
|
|
@@ -141,13 +150,13 @@ __TS__SetDescriptor(
|
|
|
141
150
|
)
|
|
142
151
|
__TS__SetDescriptor(
|
|
143
152
|
AbilityType.prototype,
|
|
144
|
-
"
|
|
153
|
+
"casterEffectPresets",
|
|
145
154
|
{
|
|
146
155
|
get = function(self)
|
|
147
156
|
return self:getAttachmentPresetListField("acat", {"acap", "aca1"})
|
|
148
157
|
end,
|
|
149
|
-
set = function(self,
|
|
150
|
-
self:setAttachmentPresetListField("acat", {"acap", "aca1"}, "acac",
|
|
158
|
+
set = function(self, casterEffectPresets)
|
|
159
|
+
self:setAttachmentPresetListField("acat", {"acap", "aca1"}, "acac", casterEffectPresets)
|
|
151
160
|
end
|
|
152
161
|
},
|
|
153
162
|
true
|
|
@@ -165,6 +174,45 @@ __TS__SetDescriptor(
|
|
|
165
174
|
},
|
|
166
175
|
true
|
|
167
176
|
)
|
|
177
|
+
__TS__SetDescriptor(
|
|
178
|
+
AbilityType.prototype,
|
|
179
|
+
"effectModelPathsSD",
|
|
180
|
+
{
|
|
181
|
+
get = function(self)
|
|
182
|
+
return self:getStringsField("aeat:sd")
|
|
183
|
+
end,
|
|
184
|
+
set = function(self, effectModelPathsSD)
|
|
185
|
+
self:setStringsField("aeat:sd", effectModelPathsSD)
|
|
186
|
+
end
|
|
187
|
+
},
|
|
188
|
+
true
|
|
189
|
+
)
|
|
190
|
+
__TS__SetDescriptor(
|
|
191
|
+
AbilityType.prototype,
|
|
192
|
+
"effectModelPathsHD",
|
|
193
|
+
{
|
|
194
|
+
get = function(self)
|
|
195
|
+
return self:getStringsField("aeat:hd")
|
|
196
|
+
end,
|
|
197
|
+
set = function(self, effectModelPathsHD)
|
|
198
|
+
self:setStringsField("aeat:hd", effectModelPathsHD)
|
|
199
|
+
end
|
|
200
|
+
},
|
|
201
|
+
true
|
|
202
|
+
)
|
|
203
|
+
__TS__SetDescriptor(
|
|
204
|
+
AbilityType.prototype,
|
|
205
|
+
"effectModelPathsDE",
|
|
206
|
+
{
|
|
207
|
+
get = function(self)
|
|
208
|
+
return self:getStringsField("aeat:de")
|
|
209
|
+
end,
|
|
210
|
+
set = function(self, effectModelPathsDE)
|
|
211
|
+
self:setStringsField("aeat:de", effectModelPathsDE)
|
|
212
|
+
end
|
|
213
|
+
},
|
|
214
|
+
true
|
|
215
|
+
)
|
|
168
216
|
__TS__SetDescriptor(
|
|
169
217
|
AbilityType.prototype,
|
|
170
218
|
"iconPath",
|
|
@@ -204,6 +252,19 @@ __TS__SetDescriptor(
|
|
|
204
252
|
},
|
|
205
253
|
true
|
|
206
254
|
)
|
|
255
|
+
__TS__SetDescriptor(
|
|
256
|
+
AbilityType.prototype,
|
|
257
|
+
"iconPathDE",
|
|
258
|
+
{
|
|
259
|
+
get = function(self)
|
|
260
|
+
return self:getStringField("aart:de")
|
|
261
|
+
end,
|
|
262
|
+
set = function(self, iconPathDE)
|
|
263
|
+
self:setStringField("aart:de", iconPathDE)
|
|
264
|
+
end
|
|
265
|
+
},
|
|
266
|
+
true
|
|
267
|
+
)
|
|
207
268
|
__TS__SetDescriptor(
|
|
208
269
|
AbilityType.prototype,
|
|
209
270
|
"isButtonVisible",
|
|
@@ -326,6 +387,19 @@ __TS__SetDescriptor(
|
|
|
326
387
|
},
|
|
327
388
|
true
|
|
328
389
|
)
|
|
390
|
+
__TS__SetDescriptor(
|
|
391
|
+
AbilityType.prototype,
|
|
392
|
+
"missileModelPathDE",
|
|
393
|
+
{
|
|
394
|
+
get = function(self)
|
|
395
|
+
return self:getStringField("amat:de")
|
|
396
|
+
end,
|
|
397
|
+
set = function(self, missileModelPathDE)
|
|
398
|
+
self:setStringField("amat:de", missileModelPathDE)
|
|
399
|
+
end
|
|
400
|
+
},
|
|
401
|
+
true
|
|
402
|
+
)
|
|
329
403
|
__TS__SetDescriptor(
|
|
330
404
|
AbilityType.prototype,
|
|
331
405
|
"missileMovementArc",
|
|
@@ -354,13 +428,30 @@ __TS__SetDescriptor(
|
|
|
354
428
|
)
|
|
355
429
|
__TS__SetDescriptor(
|
|
356
430
|
AbilityType.prototype,
|
|
357
|
-
"
|
|
431
|
+
"specialEffectModelPaths",
|
|
432
|
+
{
|
|
433
|
+
get = function(self)
|
|
434
|
+
return self:getStringsField("asat")
|
|
435
|
+
end,
|
|
436
|
+
set = function(self, specialEffectModelPaths)
|
|
437
|
+
self:setStringsField("asat", specialEffectModelPaths)
|
|
438
|
+
end
|
|
439
|
+
},
|
|
440
|
+
true
|
|
441
|
+
)
|
|
442
|
+
__TS__SetDescriptor(
|
|
443
|
+
AbilityType.prototype,
|
|
444
|
+
"specialEffectAttachmentPoint",
|
|
358
445
|
{
|
|
359
446
|
get = function(self)
|
|
360
|
-
|
|
447
|
+
local nodeName, nodeQualifiers = splitAttachmentNodeFQN(self:getStringField("aspt"))
|
|
448
|
+
return {nodeName = nodeName, nodeQualifiers = nodeQualifiers}
|
|
361
449
|
end,
|
|
362
|
-
set = function(self,
|
|
363
|
-
self:
|
|
450
|
+
set = function(self, specialEffectAttachmentPoint)
|
|
451
|
+
self:setStringField(
|
|
452
|
+
"aspt",
|
|
453
|
+
attachmentPointToNodeFQN(specialEffectAttachmentPoint)
|
|
454
|
+
)
|
|
364
455
|
end
|
|
365
456
|
},
|
|
366
457
|
true
|
|
@@ -378,6 +469,58 @@ __TS__SetDescriptor(
|
|
|
378
469
|
},
|
|
379
470
|
true
|
|
380
471
|
)
|
|
472
|
+
__TS__SetDescriptor(
|
|
473
|
+
AbilityType.prototype,
|
|
474
|
+
"targetChannelingEffectPresets",
|
|
475
|
+
{
|
|
476
|
+
get = function(self)
|
|
477
|
+
return targetChannelingEffectPresetsByAbilityTypeId[self.id] or ({})
|
|
478
|
+
end,
|
|
479
|
+
set = function(self, targetChannelingEffectPresets)
|
|
480
|
+
targetChannelingEffectPresetsByAbilityTypeId[self.id] = map(targetChannelingEffectPresets, toEffectPreset)
|
|
481
|
+
end
|
|
482
|
+
},
|
|
483
|
+
true
|
|
484
|
+
)
|
|
485
|
+
__TS__SetDescriptor(
|
|
486
|
+
AbilityType.prototype,
|
|
487
|
+
"targetChannelingEffectPresetsSD",
|
|
488
|
+
{
|
|
489
|
+
get = function(self)
|
|
490
|
+
return targetChannelingEffectPresetsSDByAbilityTypeId[self.id] or self.targetChannelingEffectPresets
|
|
491
|
+
end,
|
|
492
|
+
set = function(self, targetChannelingEffectPresetsSD)
|
|
493
|
+
targetChannelingEffectPresetsSDByAbilityTypeId[self.id] = map(targetChannelingEffectPresetsSD, toEffectPreset)
|
|
494
|
+
end
|
|
495
|
+
},
|
|
496
|
+
true
|
|
497
|
+
)
|
|
498
|
+
__TS__SetDescriptor(
|
|
499
|
+
AbilityType.prototype,
|
|
500
|
+
"targetChannelingEffectPresetsHD",
|
|
501
|
+
{
|
|
502
|
+
get = function(self)
|
|
503
|
+
return targetChannelingEffectPresetsHDByAbilityTypeId[self.id] or self.targetChannelingEffectPresets
|
|
504
|
+
end,
|
|
505
|
+
set = function(self, targetChannelingEffectPresetsHD)
|
|
506
|
+
targetChannelingEffectPresetsHDByAbilityTypeId[self.id] = map(targetChannelingEffectPresetsHD, toEffectPreset)
|
|
507
|
+
end
|
|
508
|
+
},
|
|
509
|
+
true
|
|
510
|
+
)
|
|
511
|
+
__TS__SetDescriptor(
|
|
512
|
+
AbilityType.prototype,
|
|
513
|
+
"targetChannelingEffectPresetsDE",
|
|
514
|
+
{
|
|
515
|
+
get = function(self)
|
|
516
|
+
return targetChannelingEffectPresetsDEByAbilityTypeId[self.id] or self.targetChannelingEffectPresets
|
|
517
|
+
end,
|
|
518
|
+
set = function(self, targetChannelingEffectPresetsDE)
|
|
519
|
+
targetChannelingEffectPresetsDEByAbilityTypeId[self.id] = map(targetChannelingEffectPresetsDE, toEffectPreset)
|
|
520
|
+
end
|
|
521
|
+
},
|
|
522
|
+
true
|
|
523
|
+
)
|
|
381
524
|
__TS__SetDescriptor(
|
|
382
525
|
AbilityType.prototype,
|
|
383
526
|
"targetEffectPresets",
|
|
@@ -459,6 +602,33 @@ __TS__SetDescriptor(
|
|
|
459
602
|
},
|
|
460
603
|
true
|
|
461
604
|
)
|
|
605
|
+
__TS__SetDescriptor(
|
|
606
|
+
AbilityType.prototype,
|
|
607
|
+
"targetEffectPresetsDE",
|
|
608
|
+
{
|
|
609
|
+
get = function(self)
|
|
610
|
+
return self:getAttachmentPresetListField(
|
|
611
|
+
"atat:de",
|
|
612
|
+
array(
|
|
613
|
+
6,
|
|
614
|
+
function(i) return ("ata" .. tostring(i)) .. ":de" end
|
|
615
|
+
)
|
|
616
|
+
)
|
|
617
|
+
end,
|
|
618
|
+
set = function(self, targetEffectPresetsDE)
|
|
619
|
+
self:setAttachmentPresetListField(
|
|
620
|
+
"atat:de",
|
|
621
|
+
array(
|
|
622
|
+
6,
|
|
623
|
+
function(i) return ("ata" .. tostring(i)) .. ":de" end
|
|
624
|
+
),
|
|
625
|
+
"atac:de",
|
|
626
|
+
targetEffectPresetsDE
|
|
627
|
+
)
|
|
628
|
+
end
|
|
629
|
+
},
|
|
630
|
+
true
|
|
631
|
+
)
|
|
462
632
|
__TS__SetDescriptor(
|
|
463
633
|
AbilityType.prototype,
|
|
464
634
|
"turnOffButtonPositionX",
|
|
@@ -891,6 +1061,19 @@ __TS__SetDescriptor(
|
|
|
891
1061
|
},
|
|
892
1062
|
true
|
|
893
1063
|
)
|
|
1064
|
+
__TS__SetDescriptor(
|
|
1065
|
+
AbilityType.prototype,
|
|
1066
|
+
"isHeroAbility",
|
|
1067
|
+
{
|
|
1068
|
+
get = function(self)
|
|
1069
|
+
return self:getBooleanField("aher")
|
|
1070
|
+
end,
|
|
1071
|
+
set = function(self, isHeroAbility)
|
|
1072
|
+
self:setBooleanField("aher", isHeroAbility)
|
|
1073
|
+
end
|
|
1074
|
+
},
|
|
1075
|
+
true
|
|
1076
|
+
)
|
|
894
1077
|
__TS__SetDescriptor(
|
|
895
1078
|
AbilityType.prototype,
|
|
896
1079
|
"learnLevelMinimum",
|
|
@@ -1099,18 +1282,123 @@ local function handleAbilityChannelingStartEvent(caster, ability)
|
|
|
1099
1282
|
end
|
|
1100
1283
|
casterChannelingEffectsByCaster[caster] = effects
|
|
1101
1284
|
end
|
|
1285
|
+
local targetChannelingEffectsDataByAbilityTypeId = postcompile(function()
|
|
1286
|
+
local function toData(presets)
|
|
1287
|
+
if presets == nil then
|
|
1288
|
+
return nil
|
|
1289
|
+
end
|
|
1290
|
+
local attachmentPoints = map(presets, extractAttachmentPresetInputNodeFQN)
|
|
1291
|
+
local parameters = map(presets, "parameters")
|
|
1292
|
+
return {
|
|
1293
|
+
modelPaths = map(presets, extractAttachmentPresetInputModelPath),
|
|
1294
|
+
attachmentPoints = __TS__ArraySome(
|
|
1295
|
+
attachmentPoints,
|
|
1296
|
+
function(____, attachmentPoint) return attachmentPoint ~= "" end
|
|
1297
|
+
) and attachmentPoints or nil,
|
|
1298
|
+
parameters = __TS__ArraySome(
|
|
1299
|
+
presets,
|
|
1300
|
+
function(____, preset) return preset.parameters ~= nil end
|
|
1301
|
+
) and parameters or nil
|
|
1302
|
+
}
|
|
1303
|
+
end
|
|
1304
|
+
local abilityTypeIds = {}
|
|
1305
|
+
for ____, presetsByAbilityTypeId in ipairs({targetChannelingEffectPresetsByAbilityTypeId, targetChannelingEffectPresetsSDByAbilityTypeId, targetChannelingEffectPresetsHDByAbilityTypeId, targetChannelingEffectPresetsDEByAbilityTypeId}) do
|
|
1306
|
+
for abilityTypeId in pairs(presetsByAbilityTypeId) do
|
|
1307
|
+
abilityTypeIds[abilityTypeId] = true
|
|
1308
|
+
end
|
|
1309
|
+
end
|
|
1310
|
+
local result = {}
|
|
1311
|
+
for abilityTypeId in pairs(abilityTypeIds) do
|
|
1312
|
+
local presets = targetChannelingEffectPresetsByAbilityTypeId[abilityTypeId]
|
|
1313
|
+
local presetsSD = targetChannelingEffectPresetsSDByAbilityTypeId[abilityTypeId]
|
|
1314
|
+
local presetsHD = targetChannelingEffectPresetsHDByAbilityTypeId[abilityTypeId]
|
|
1315
|
+
local presetsDE = targetChannelingEffectPresetsDEByAbilityTypeId[abilityTypeId]
|
|
1316
|
+
local ____math_max_8 = math.max
|
|
1317
|
+
local ____opt_0 = presetsSD or presets
|
|
1318
|
+
local ____temp_6 = ____opt_0 and #____opt_0 or 0
|
|
1319
|
+
local ____opt_2 = presetsHD or presets
|
|
1320
|
+
local ____temp_7 = ____opt_2 and #____opt_2 or 0
|
|
1321
|
+
local ____opt_4 = presetsDE or presets
|
|
1322
|
+
result[abilityTypeId] = {
|
|
1323
|
+
effectCount = ____math_max_8(____temp_6, ____temp_7, ____opt_4 and #____opt_4 or 0),
|
|
1324
|
+
data = toData(presets),
|
|
1325
|
+
dataSD = toData(presetsSD),
|
|
1326
|
+
dataHD = toData(presetsHD),
|
|
1327
|
+
dataDE = toData(presetsDE)
|
|
1328
|
+
}
|
|
1329
|
+
end
|
|
1330
|
+
return result
|
|
1331
|
+
end)
|
|
1332
|
+
local targetChannelingEffectsByCaster = {}
|
|
1333
|
+
local function createTargetChannelingEffects(caster, abilityTypeId, xOrWidget, y)
|
|
1334
|
+
local effectsData = targetChannelingEffectsDataByAbilityTypeId[abilityTypeId]
|
|
1335
|
+
if effectsData == nil then
|
|
1336
|
+
return
|
|
1337
|
+
end
|
|
1338
|
+
local graphicsMode = LocalClient.graphicsMode
|
|
1339
|
+
local ____temp_10
|
|
1340
|
+
if graphicsMode == 0 then
|
|
1341
|
+
____temp_10 = effectsData.dataSD
|
|
1342
|
+
else
|
|
1343
|
+
local ____temp_9
|
|
1344
|
+
if graphicsMode == 1 then
|
|
1345
|
+
____temp_9 = effectsData.dataHD
|
|
1346
|
+
else
|
|
1347
|
+
____temp_9 = effectsData.dataDE
|
|
1348
|
+
end
|
|
1349
|
+
____temp_10 = ____temp_9
|
|
1350
|
+
end
|
|
1351
|
+
local data = ____temp_10 or effectsData.data
|
|
1352
|
+
local modelPaths = data and data.modelPaths
|
|
1353
|
+
local attachmentPoints = data and data.attachmentPoints
|
|
1354
|
+
local parameters = data and data.parameters
|
|
1355
|
+
local effects = {}
|
|
1356
|
+
for i = 1, effectsData.effectCount do
|
|
1357
|
+
local effectModelPath = modelPaths and modelPaths[i] or ""
|
|
1358
|
+
local effectParameters = parameters and parameters[i]
|
|
1359
|
+
if type(xOrWidget) == "number" then
|
|
1360
|
+
effects[i] = Effect:create(effectModelPath, xOrWidget, y, effectParameters)
|
|
1361
|
+
else
|
|
1362
|
+
local attachmentPoint = attachmentPoints and attachmentPoints[i]
|
|
1363
|
+
if attachmentPoint == nil or attachmentPoint == "" then
|
|
1364
|
+
attachmentPoint = "origin"
|
|
1365
|
+
end
|
|
1366
|
+
effects[i] = Effect:create(effectModelPath, xOrWidget, attachmentPoint, effectParameters)
|
|
1367
|
+
end
|
|
1368
|
+
end
|
|
1369
|
+
targetChannelingEffectsByCaster[caster] = effects
|
|
1370
|
+
end
|
|
1371
|
+
local function handleAbilityWidgetTargetChannelingStartEvent(caster, ability, target)
|
|
1372
|
+
createTargetChannelingEffects(caster, ability.typeId, target)
|
|
1373
|
+
end
|
|
1374
|
+
local function handleAbilityPointTargetChannelingStartEvent(caster, ability, x, y)
|
|
1375
|
+
createTargetChannelingEffects(caster, ability.typeId, x, y)
|
|
1376
|
+
end
|
|
1102
1377
|
local function handleAbilityStopChannelingEvent(caster)
|
|
1103
|
-
local
|
|
1104
|
-
if
|
|
1105
|
-
for i = 1, #
|
|
1106
|
-
|
|
1378
|
+
local casterEffects = casterChannelingEffectsByCaster[caster]
|
|
1379
|
+
if casterEffects ~= nil then
|
|
1380
|
+
for i = 1, #casterEffects do
|
|
1381
|
+
casterEffects[i]:destroy()
|
|
1107
1382
|
end
|
|
1108
1383
|
casterChannelingEffectsByCaster[caster] = nil
|
|
1109
1384
|
end
|
|
1385
|
+
local targetEffects = targetChannelingEffectsByCaster[caster]
|
|
1386
|
+
if targetEffects ~= nil then
|
|
1387
|
+
for i = 1, #targetEffects do
|
|
1388
|
+
targetEffects[i]:destroy()
|
|
1389
|
+
end
|
|
1390
|
+
targetChannelingEffectsByCaster[caster] = nil
|
|
1391
|
+
end
|
|
1110
1392
|
end
|
|
1111
1393
|
for abilityTypeId in pairs(casterChannelingEffectModelPathsByAbilityTypeId) do
|
|
1112
1394
|
Unit.abilityChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityChannelingStartEvent)
|
|
1113
1395
|
Unit.abilityChannelingFinishEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
|
|
1114
1396
|
Unit.abilityStopEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
|
|
1115
1397
|
end
|
|
1398
|
+
for abilityTypeId in pairs(targetChannelingEffectsDataByAbilityTypeId) do
|
|
1399
|
+
Unit.abilityWidgetTargetChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityWidgetTargetChannelingStartEvent)
|
|
1400
|
+
Unit.abilityPointTargetChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityPointTargetChannelingStartEvent)
|
|
1401
|
+
Unit.abilityChannelingFinishEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
|
|
1402
|
+
Unit.abilityStopEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
|
|
1403
|
+
end
|
|
1116
1404
|
return ____exports
|