warscript 0.0.1-dev.3370e98 → 0.0.1-dev.33b52d0
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/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 +131 -65
- 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 +18 -1
- package/core/types/player.lua +73 -25
- package/core/types/playerCamera.lua +44 -0
- 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 +18 -3
- package/core/types/tileCell.lua +108 -0
- package/core/types/timer.d.ts +3 -2
- package/core/types/timer.lua +22 -2
- 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 +708 -9
- 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 +12 -1
- package/engine/behavior.lua +199 -65
- 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/remove-buffs.d.ts +9 -0
- package/engine/behaviour/ability/remove-buffs.lua +21 -0
- package/engine/behaviour/ability.d.ts +19 -6
- package/engine/behaviour/ability.lua +120 -9
- 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 +112 -57
- package/engine/buff.lua +558 -300
- package/engine/index.d.ts +2 -1
- package/engine/internal/ability.d.ts +10 -1
- package/engine/internal/ability.lua +91 -45
- 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 +27 -14
- package/engine/internal/item.lua +185 -82
- 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.d.ts +14 -14
- package/engine/internal/unit/ability.lua +88 -45
- 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.d.ts +7 -0
- package/engine/internal/unit/fly-height.lua +20 -0
- 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/main-selected.lua +12 -27
- 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.d.ts +7 -0
- package/engine/internal/unit/scale.lua +20 -0
- package/engine/internal/unit+ability.d.ts +2 -1
- package/engine/internal/unit+ability.lua +82 -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 +64 -33
- package/engine/internal/unit.d.ts +19 -31
- package/engine/internal/unit.lua +221 -293
- package/engine/lightning.lua +4 -4
- package/engine/local-client.d.ts +28 -0
- package/engine/local-client.lua +324 -54
- 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 +303 -12
- 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 +61 -2
- package/engine/object-data/entry/unit-type.lua +444 -52
- 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.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/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 +4 -4
- package/engine/standard/fields/ability.lua +4 -4
- 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 +13 -1
- package/engine/text-tag.lua +77 -37
- package/engine/unit.d.ts +10 -1
- package/engine/unit.lua +10 -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 +11 -9
- 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 +8 -1
- package/utility/arrays.lua +25 -0
- package/utility/callback-array.d.ts +17 -0
- package/utility/callback-array.lua +61 -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/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/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
|
|
@@ -38,11 +41,19 @@ local ____sound = require("core.types.sound")
|
|
|
38
41
|
local isSoundLabelCustom = ____sound.isSoundLabelCustom
|
|
39
42
|
local Sound3D = ____sound.Sound3D
|
|
40
43
|
local SoundSettings = ____sound.SoundSettings
|
|
44
|
+
local ____lua_2Dsets = require("utility.lua-sets")
|
|
45
|
+
local luaSetOf = ____lua_2Dsets.luaSetOf
|
|
46
|
+
local ____local_2Dclient = require("engine.local-client")
|
|
47
|
+
local LocalClient = ____local_2Dclient.LocalClient
|
|
41
48
|
local castAnimationFQNByAbilityTypeId = {}
|
|
42
49
|
local isButtonVisibleFalseAbilityTypes = {}
|
|
43
50
|
local casterCastingEffectPresetsByAbilityTypeId = {}
|
|
44
51
|
local casterChannelingEffectPresetsByAbilityTypeId = {}
|
|
45
52
|
local targetCastingEffectPresetsByAbilityTypeId = {}
|
|
53
|
+
local targetChannelingEffectPresetsByAbilityTypeId = {}
|
|
54
|
+
local targetChannelingEffectPresetsSDByAbilityTypeId = {}
|
|
55
|
+
local targetChannelingEffectPresetsHDByAbilityTypeId = {}
|
|
56
|
+
local targetChannelingEffectPresetsDEByAbilityTypeId = {}
|
|
46
57
|
local targetEffectSoundPresetByAbilityTypeId = {}
|
|
47
58
|
____exports.AbilityType = __TS__Class()
|
|
48
59
|
local AbilityType = ____exports.AbilityType
|
|
@@ -139,13 +150,13 @@ __TS__SetDescriptor(
|
|
|
139
150
|
)
|
|
140
151
|
__TS__SetDescriptor(
|
|
141
152
|
AbilityType.prototype,
|
|
142
|
-
"
|
|
153
|
+
"casterEffectPresets",
|
|
143
154
|
{
|
|
144
155
|
get = function(self)
|
|
145
156
|
return self:getAttachmentPresetListField("acat", {"acap", "aca1"})
|
|
146
157
|
end,
|
|
147
|
-
set = function(self,
|
|
148
|
-
self:setAttachmentPresetListField("acat", {"acap", "aca1"}, "acac",
|
|
158
|
+
set = function(self, casterEffectPresets)
|
|
159
|
+
self:setAttachmentPresetListField("acat", {"acap", "aca1"}, "acac", casterEffectPresets)
|
|
149
160
|
end
|
|
150
161
|
},
|
|
151
162
|
true
|
|
@@ -163,6 +174,45 @@ __TS__SetDescriptor(
|
|
|
163
174
|
},
|
|
164
175
|
true
|
|
165
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
|
+
)
|
|
166
216
|
__TS__SetDescriptor(
|
|
167
217
|
AbilityType.prototype,
|
|
168
218
|
"iconPath",
|
|
@@ -202,6 +252,19 @@ __TS__SetDescriptor(
|
|
|
202
252
|
},
|
|
203
253
|
true
|
|
204
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
|
+
)
|
|
205
268
|
__TS__SetDescriptor(
|
|
206
269
|
AbilityType.prototype,
|
|
207
270
|
"isButtonVisible",
|
|
@@ -324,6 +387,19 @@ __TS__SetDescriptor(
|
|
|
324
387
|
},
|
|
325
388
|
true
|
|
326
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
|
+
)
|
|
327
403
|
__TS__SetDescriptor(
|
|
328
404
|
AbilityType.prototype,
|
|
329
405
|
"missileMovementArc",
|
|
@@ -352,13 +428,30 @@ __TS__SetDescriptor(
|
|
|
352
428
|
)
|
|
353
429
|
__TS__SetDescriptor(
|
|
354
430
|
AbilityType.prototype,
|
|
355
|
-
"
|
|
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",
|
|
356
445
|
{
|
|
357
446
|
get = function(self)
|
|
358
|
-
|
|
447
|
+
local nodeName, nodeQualifiers = splitAttachmentNodeFQN(self:getStringField("aspt"))
|
|
448
|
+
return {nodeName = nodeName, nodeQualifiers = nodeQualifiers}
|
|
359
449
|
end,
|
|
360
|
-
set = function(self,
|
|
361
|
-
self:
|
|
450
|
+
set = function(self, specialEffectAttachmentPoint)
|
|
451
|
+
self:setStringField(
|
|
452
|
+
"aspt",
|
|
453
|
+
attachmentPointToNodeFQN(specialEffectAttachmentPoint)
|
|
454
|
+
)
|
|
362
455
|
end
|
|
363
456
|
},
|
|
364
457
|
true
|
|
@@ -376,6 +469,58 @@ __TS__SetDescriptor(
|
|
|
376
469
|
},
|
|
377
470
|
true
|
|
378
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
|
+
)
|
|
379
524
|
__TS__SetDescriptor(
|
|
380
525
|
AbilityType.prototype,
|
|
381
526
|
"targetEffectPresets",
|
|
@@ -457,6 +602,33 @@ __TS__SetDescriptor(
|
|
|
457
602
|
},
|
|
458
603
|
true
|
|
459
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
|
+
)
|
|
460
632
|
__TS__SetDescriptor(
|
|
461
633
|
AbilityType.prototype,
|
|
462
634
|
"turnOffButtonPositionX",
|
|
@@ -889,6 +1061,19 @@ __TS__SetDescriptor(
|
|
|
889
1061
|
},
|
|
890
1062
|
true
|
|
891
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
|
+
)
|
|
892
1077
|
__TS__SetDescriptor(
|
|
893
1078
|
AbilityType.prototype,
|
|
894
1079
|
"learnLevelMinimum",
|
|
@@ -1004,9 +1189,10 @@ for abilityTypeId, soundPresetId in pairs(postcompile(function() return targetEf
|
|
|
1004
1189
|
)
|
|
1005
1190
|
end
|
|
1006
1191
|
end
|
|
1192
|
+
local unsupportedEffectSoundAbilityTypeIds = luaSetOf(fourCC("AAns"))
|
|
1007
1193
|
Unit.abilityChannelingStartEvent:addListener(function(caster, ability)
|
|
1008
1194
|
local soundPresetId = ability:getField(ABILITY_SF_EFFECT_SOUND)
|
|
1009
|
-
if isSoundLabelCustom(soundPresetId) then
|
|
1195
|
+
if isSoundLabelCustom(soundPresetId) or soundPresetId ~= "" and unsupportedEffectSoundAbilityTypeIds[ability.parentTypeId] ~= nil then
|
|
1010
1196
|
Sound3D:playFromLabel(soundPresetId, SoundSettings.Ability, caster)
|
|
1011
1197
|
end
|
|
1012
1198
|
end)
|
|
@@ -1096,18 +1282,123 @@ local function handleAbilityChannelingStartEvent(caster, ability)
|
|
|
1096
1282
|
end
|
|
1097
1283
|
casterChannelingEffectsByCaster[caster] = effects
|
|
1098
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
|
|
1099
1377
|
local function handleAbilityStopChannelingEvent(caster)
|
|
1100
|
-
local
|
|
1101
|
-
if
|
|
1102
|
-
for i = 1, #
|
|
1103
|
-
|
|
1378
|
+
local casterEffects = casterChannelingEffectsByCaster[caster]
|
|
1379
|
+
if casterEffects ~= nil then
|
|
1380
|
+
for i = 1, #casterEffects do
|
|
1381
|
+
casterEffects[i]:destroy()
|
|
1104
1382
|
end
|
|
1105
1383
|
casterChannelingEffectsByCaster[caster] = nil
|
|
1106
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
|
|
1107
1392
|
end
|
|
1108
1393
|
for abilityTypeId in pairs(casterChannelingEffectModelPathsByAbilityTypeId) do
|
|
1109
1394
|
Unit.abilityChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityChannelingStartEvent)
|
|
1110
1395
|
Unit.abilityChannelingFinishEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
|
|
1111
1396
|
Unit.abilityStopEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
|
|
1112
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
|
|
1113
1404
|
return ____exports
|