warscript 0.0.1-dev.b026cc2 → 0.0.1-dev.b1ce140
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/attributes.d.ts +6 -0
- package/attributes.lua +17 -1
- package/config.d.ts +5 -0
- package/config.lua +10 -0
- package/core/dummy.lua +4 -2
- package/core/types/effect.d.ts +24 -6
- package/core/types/effect.lua +169 -107
- package/core/types/frame.d.ts +7 -0
- package/core/types/frame.lua +189 -23
- package/core/types/handle.lua +9 -9
- package/core/types/item.d.ts +1 -0
- package/core/types/item.lua +1 -0
- package/core/types/player.d.ts +18 -1
- package/core/types/player.lua +76 -26
- package/core/types/playerCamera.d.ts +2 -0
- package/core/types/playerCamera.lua +123 -5
- package/core/types/playerColor.lua +4 -3
- package/core/types/sound.d.ts +18 -25
- package/core/types/sound.lua +113 -33
- package/core/types/tileCell.d.ts +11 -1
- package/core/types/tileCell.lua +97 -0
- package/core/types/timer.d.ts +9 -8
- package/core/types/timer.lua +45 -23
- package/core/types/unit.d.ts +5 -0
- package/core/types/unit.lua +5 -0
- package/core/util.d.ts +3 -1
- package/core/util.lua +127 -4
- package/decl/native.d.ts +1718 -964
- package/destroyable.d.ts +1 -0
- package/destroyable.lua +9 -0
- package/engine/behavior.d.ts +16 -3
- package/engine/behavior.lua +233 -73
- package/engine/behaviour/ability/always-enabled.d.ts +7 -0
- package/engine/behaviour/ability/always-enabled.lua +31 -0
- package/engine/behaviour/ability/apply-buff.d.ts +8 -5
- package/engine/behaviour/ability/apply-buff.lua +36 -4
- package/engine/behaviour/ability/apply-unit-behavior.lua +6 -0
- package/engine/behaviour/ability/damage.d.ts +13 -3
- package/engine/behaviour/ability/damage.lua +41 -49
- package/engine/behaviour/ability/emulate-impact.d.ts +6 -0
- package/engine/behaviour/ability/emulate-impact.lua +44 -0
- package/engine/behaviour/ability/instant-impact.d.ts +2 -2
- package/engine/behaviour/ability/instant-impact.lua +4 -19
- package/engine/behaviour/ability/on-command-impact.d.ts +9 -0
- package/engine/behaviour/ability/on-command-impact.lua +26 -0
- package/engine/behaviour/ability/remove-buffs.d.ts +25 -0
- package/engine/behaviour/ability/remove-buffs.lua +49 -0
- package/engine/behaviour/ability/restore-mana.d.ts +1 -1
- package/engine/behaviour/ability/restore-mana.lua +6 -6
- package/engine/behaviour/ability.d.ts +30 -7
- package/engine/behaviour/ability.lua +162 -43
- package/engine/behaviour/unit/stun-immunity.d.ts +12 -6
- package/engine/behaviour/unit/stun-immunity.lua +57 -31
- package/engine/behaviour/unit.d.ts +46 -2
- package/engine/behaviour/unit.lua +290 -6
- package/engine/buff.d.ts +149 -61
- package/engine/buff.lua +700 -304
- package/engine/index.d.ts +2 -1
- package/engine/internal/ability.d.ts +27 -14
- package/engine/internal/ability.lua +168 -104
- package/engine/internal/item/ability.lua +162 -4
- 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 +37 -8
- package/engine/internal/item.d.ts +34 -18
- package/engine/internal/item.lua +308 -102
- package/engine/internal/mechanics/ability-duration.lua +1 -1
- package/engine/internal/mechanics/cast-ability.lua +6 -3
- package/engine/internal/misc/ability-disable-counter.lua +13 -0
- package/engine/internal/misc/damage-metadata-by-target.d.ts +2 -0
- package/engine/internal/misc/damage-metadata-by-target.lua +5 -0
- package/engine/internal/misc/frame-coordinates.d.ts +2 -0
- package/engine/internal/misc/frame-coordinates.lua +21 -0
- package/engine/internal/misc/get-terrain-z.d.ts +2 -0
- package/engine/internal/misc/get-terrain-z.lua +11 -0
- package/engine/internal/misc/player-local-handle.d.ts +2 -0
- package/engine/internal/misc/player-local-handle.lua +5 -0
- package/engine/internal/misc/unit-ability-level-natives.d.ts +2 -0
- 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/auto-attack-speed-increase.d.ts +1 -1
- package/engine/internal/object-data/auto-attack-speed-increase.lua +2 -0
- package/engine/internal/object-data/evasion-probability.d.ts +2 -0
- package/engine/internal/object-data/evasion-probability.lua +16 -0
- package/engine/internal/object-data/health-bonus.d.ts +2 -0
- package/engine/internal/object-data/health-bonus.lua +16 -0
- package/engine/internal/object-data/health-regeneration-rate-increase.d.ts +2 -0
- package/engine/internal/object-data/health-regeneration-rate-increase.lua +48 -0
- package/engine/internal/object-data/mana-bonus.d.ts +2 -0
- package/engine/internal/object-data/mana-bonus.lua +16 -0
- package/engine/internal/object-data/mana-regeneration-rate-increase-factor.d.ts +2 -0
- package/engine/internal/object-data/mana-regeneration-rate-increase-factor.lua +16 -0
- package/engine/internal/unit/ability.d.ts +45 -1
- package/engine/internal/unit/ability.lua +142 -19
- package/engine/internal/unit/add-item-to-slot-init.d.ts +2 -0
- package/engine/internal/unit/add-item-to-slot-init.lua +12 -0
- package/engine/internal/unit/add-item-to-slot.d.ts +2 -0
- package/engine/internal/unit/add-item-to-slot.lua +93 -0
- package/engine/internal/unit/allowed-targets.d.ts +1 -1
- package/engine/internal/unit/allowed-targets.lua +9 -1
- 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 +20 -2
- package/engine/internal/unit/bonus.lua +125 -9
- 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.d.ts +2 -0
- package/engine/internal/unit/ignore-events-items.lua +14 -0
- package/engine/internal/unit/interrupts.d.ts +12 -0
- package/engine/internal/unit/interrupts.lua +28 -0
- package/engine/internal/unit/inventory.d.ts +28 -0
- 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.d.ts +13 -0
- package/engine/internal/unit/main-selected.lua +36 -0
- package/engine/internal/unit/order.d.ts +20 -0
- package/engine/internal/unit/order.lua +136 -0
- package/engine/internal/unit/pseudo-passive-abilities.d.ts +2 -0
- package/engine/internal/unit/pseudo-passive-abilities.lua +11 -0
- package/engine/internal/unit/range-event.d.ts +12 -0
- package/engine/internal/unit/range-event.lua +90 -0
- package/engine/internal/unit/scale.d.ts +7 -0
- package/engine/internal/unit/scale.lua +20 -0
- package/engine/internal/unit+ability.d.ts +2 -1
- package/engine/internal/unit+ability.lua +75 -5
- package/engine/internal/unit+bonus.lua +3 -3
- package/engine/internal/unit+damage.d.ts +11 -11
- package/engine/internal/unit+damage.lua +43 -14
- package/engine/internal/unit+rally.lua +9 -31
- package/engine/internal/unit+spellSteal.lua +1 -2
- package/engine/internal/unit-missile-data.lua +58 -32
- package/engine/internal/unit-missile-launch.lua +70 -13
- package/engine/internal/unit.d.ts +57 -31
- package/engine/internal/unit.lua +450 -301
- package/engine/internal/utility.lua +12 -0
- package/engine/lightning.d.ts +12 -5
- package/engine/lightning.lua +48 -14
- package/engine/local-client.d.ts +35 -2
- package/engine/local-client.lua +367 -15
- package/engine/object-data/auxiliary/animation-name.d.ts +1 -0
- package/engine/object-data/auxiliary/animation-name.lua +16 -0
- package/engine/object-data/auxiliary/armor-type.d.ts +11 -0
- package/engine/object-data/auxiliary/armor-type.lua +46 -0
- package/engine/object-data/auxiliary/attachment-preset.d.ts +7 -2
- package/engine/object-data/auxiliary/attachment-preset.lua +4 -3
- package/engine/object-data/auxiliary/attack-type.d.ts +7 -8
- package/engine/object-data/auxiliary/attack-type.lua +42 -0
- package/engine/object-data/auxiliary/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/movement-type.d.ts +7 -7
- package/engine/object-data/auxiliary/movement-type.lua +22 -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-eax.d.ts +10 -0
- package/engine/object-data/auxiliary/sound-eax.lua +2 -0
- package/engine/object-data/auxiliary/sound-preset-name.d.ts +5 -1
- package/engine/object-data/auxiliary/sound-set-name.d.ts +14 -3
- package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +1 -1
- package/engine/object-data/auxiliary/unit-attribute.d.ts +6 -0
- package/engine/object-data/auxiliary/unit-attribute.lua +9 -0
- package/engine/object-data/entry/ability-type/apprehend.d.ts +22 -0
- package/engine/object-data/entry/ability-type/apprehend.lua +66 -0
- package/engine/object-data/entry/ability-type/armor-bonus.d.ts +8 -0
- package/engine/object-data/entry/ability-type/{armor-increase.lua → armor-bonus.lua} +9 -9
- package/engine/object-data/entry/ability-type/aura-of-blight.d.ts +13 -0
- package/engine/object-data/entry/ability-type/aura-of-blight.lua +39 -0
- package/engine/object-data/entry/ability-type/banshee.d.ts +8 -0
- package/engine/object-data/entry/ability-type/banshee.lua +13 -0
- package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.d.ts +12 -0
- package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.lua +27 -0
- package/engine/object-data/entry/ability-type/banshees-wail.d.ts +31 -0
- package/engine/object-data/entry/ability-type/banshees-wail.lua +117 -0
- package/engine/object-data/entry/ability-type/battering-ram.d.ts +33 -0
- package/engine/object-data/entry/ability-type/battering-ram.lua +130 -0
- package/engine/object-data/entry/ability-type/berserk.d.ts +2 -0
- package/engine/object-data/entry/ability-type/berserk.lua +13 -0
- package/engine/object-data/entry/ability-type/blank-configurable.d.ts +3 -0
- package/engine/object-data/entry/ability-type/blank-configurable.lua +42 -1
- package/engine/object-data/entry/ability-type/carrion-swarm.d.ts +14 -0
- package/engine/object-data/entry/ability-type/carrion-swarm.lua +65 -0
- package/engine/object-data/entry/ability-type/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/disease-cloud.lua +2 -2
- package/engine/object-data/entry/ability-type/engineering-upgrade.lua +2 -2
- package/engine/object-data/entry/ability-type/ensnare.d.ts +12 -0
- package/engine/object-data/entry/ability-type/ensnare.lua +52 -0
- package/engine/object-data/entry/ability-type/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/feral-spirit.lua +2 -2
- package/engine/object-data/entry/ability-type/grant-talent-point.d.ts +8 -0
- package/engine/object-data/entry/ability-type/grant-talent-point.lua +13 -0
- package/engine/object-data/entry/ability-type/grim-conviction.d.ts +36 -0
- package/engine/object-data/entry/ability-type/grim-conviction.lua +131 -0
- package/engine/object-data/entry/ability-type/grit.d.ts +18 -0
- package/engine/object-data/entry/ability-type/grit.lua +65 -0
- package/engine/object-data/entry/ability-type/guiding-hand.d.ts +27 -0
- package/engine/object-data/entry/ability-type/guiding-hand.lua +104 -0
- package/engine/object-data/entry/ability-type/headsplitter.d.ts +27 -0
- package/engine/object-data/entry/ability-type/headsplitter.lua +104 -0
- package/engine/object-data/entry/ability-type/{armor-increase.d.ts → healing-modifier.d.ts} +4 -3
- package/engine/object-data/entry/ability-type/healing-modifier.lua +26 -0
- package/engine/object-data/entry/ability-type/healing-ward-aura.d.ts +13 -0
- package/engine/object-data/entry/ability-type/healing-ward-aura.lua +39 -0
- package/engine/object-data/entry/ability-type/health-bonus.d.ts +8 -0
- package/engine/object-data/entry/ability-type/health-bonus.lua +26 -0
- package/engine/object-data/entry/ability-type/heroic-slash.d.ts +18 -0
- package/engine/object-data/entry/ability-type/heroic-slash.lua +65 -0
- package/engine/object-data/entry/ability-type/holy-wrath.d.ts +30 -0
- package/engine/object-data/entry/ability-type/holy-wrath.lua +117 -0
- package/engine/object-data/entry/ability-type/inspire-courage.d.ts +18 -0
- package/engine/object-data/entry/ability-type/inspire-courage.lua +65 -0
- package/engine/object-data/entry/ability-type/item-life-regeneration.d.ts +10 -0
- package/engine/object-data/entry/ability-type/item-life-regeneration.lua +26 -0
- package/engine/object-data/entry/ability-type/lights-mercy.d.ts +27 -0
- package/engine/object-data/entry/ability-type/lights-mercy.lua +104 -0
- package/engine/object-data/entry/ability-type/mana-bonus.d.ts +8 -0
- package/engine/object-data/entry/ability-type/mana-bonus.lua +26 -0
- package/engine/object-data/entry/ability-type/mana-efficiency.d.ts +12 -0
- package/engine/object-data/entry/ability-type/mana-efficiency.lua +39 -0
- package/engine/object-data/entry/ability-type/mana-regeneration.d.ts +8 -0
- package/engine/object-data/entry/ability-type/mana-regeneration.lua +26 -0
- package/engine/object-data/entry/ability-type/mind-control.d.ts +21 -0
- package/engine/object-data/entry/ability-type/mind-control.lua +78 -0
- package/engine/object-data/entry/ability-type/on-attack-cast-spell.d.ts +21 -0
- package/engine/object-data/entry/ability-type/on-attack-cast-spell.lua +52 -0
- package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.d.ts +19 -0
- package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.lua +65 -0
- package/engine/object-data/entry/ability-type/on-hit-cast-spell.d.ts +15 -0
- package/engine/object-data/entry/ability-type/on-hit-cast-spell.lua +26 -0
- package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.d.ts +6 -0
- package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.lua +12 -0
- package/engine/object-data/entry/ability-type/permanent-invisibility.d.ts +8 -0
- package/engine/object-data/entry/ability-type/permanent-invisibility.lua +26 -0
- package/engine/object-data/entry/ability-type/phase-shift.d.ts +10 -0
- package/engine/object-data/entry/ability-type/phase-shift.lua +39 -0
- package/engine/object-data/entry/ability-type/phoenix-morph.lua +4 -4
- package/engine/object-data/entry/ability-type/provoke.d.ts +21 -0
- package/engine/object-data/entry/ability-type/provoke.lua +66 -0
- package/engine/object-data/entry/ability-type/raise-dead.d.ts +17 -0
- package/engine/object-data/entry/ability-type/raise-dead.lua +78 -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/shock-wave.d.ts +4 -0
- package/engine/object-data/entry/ability-type/shock-wave.lua +26 -0
- package/engine/object-data/entry/ability-type/slow-poison.d.ts +10 -0
- package/engine/object-data/entry/ability-type/slow-poison.lua +58 -0
- package/engine/object-data/entry/ability-type/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/summon-quilbeast.lua +2 -2
- package/engine/object-data/entry/ability-type/summon-water-elemental.lua +2 -2
- 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/web.d.ts +12 -0
- package/engine/object-data/entry/ability-type/web.lua +52 -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 +36 -19
- package/engine/object-data/entry/ability-type.lua +314 -40
- package/engine/object-data/entry/buff-type/applicable.lua +122 -137
- package/engine/object-data/entry/buff-type.d.ts +10 -12
- package/engine/object-data/entry/buff-type.lua +39 -29
- 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 +32 -3
- package/engine/object-data/entry/item-type.lua +177 -2
- 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 +33 -0
- package/engine/object-data/entry/sound-preset.lua +140 -0
- package/engine/object-data/entry/unit-type.d.ts +71 -6
- package/engine/object-data/entry/unit-type.lua +592 -93
- package/engine/object-data/entry/upgrade.d.ts +2 -2
- package/engine/object-data/entry/upgrade.lua +4 -4
- package/engine/object-data/entry.d.ts +21 -14
- package/engine/object-data/entry.lua +68 -32
- package/engine/object-data/utility/object-data-entry-id-generator.lua +7 -0
- package/engine/object-field/ability.d.ts +28 -5
- package/engine/object-field/ability.lua +61 -7
- package/engine/object-field/item.d.ts +22 -0
- package/engine/object-field/item.lua +118 -0
- package/engine/object-field/unit.d.ts +72 -3
- package/engine/object-field/unit.lua +268 -7
- package/engine/object-field.d.ts +26 -7
- package/engine/object-field.lua +362 -117
- 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 +3 -0
- package/engine/standard/entries/buff-type.lua +3 -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/sound-preset.d.ts +10 -0
- package/engine/standard/entries/sound-preset.lua +10 -0
- package/engine/standard/entries/unit-type.d.ts +5 -0
- package/engine/standard/entries/unit-type.lua +5 -0
- package/engine/standard/fields/ability.d.ts +4 -2
- package/engine/standard/fields/ability.lua +4 -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 +12 -0
- package/engine/standard/fields/unit.lua +20 -0
- package/engine/synchronization.d.ts +11 -0
- package/engine/synchronization.lua +77 -0
- package/engine/text-tag.d.ts +36 -2
- package/engine/text-tag.lua +250 -10
- package/engine/unit.d.ts +13 -0
- package/engine/unit.lua +13 -0
- package/event.d.ts +1 -1
- package/index.d.ts +1 -0
- package/index.lua +1 -0
- package/lualib_bundle.lua +1 -1
- package/math.d.ts +2 -0
- package/math.lua +14 -0
- package/net/socket.d.ts +7 -1
- package/net/socket.lua +45 -4
- package/network.d.ts +1 -0
- package/network.lua +28 -3
- package/objutil/buff.lua +13 -12
- package/objutil/object.lua +1 -1
- package/objutil/unit.lua +8 -0
- package/operation.d.ts +8 -1
- package/operation.lua +38 -18
- package/package.json +3 -23
- package/patch-lua.d.ts +0 -0
- package/patch-lua.lua +25 -0
- package/patch-lualib.lua +1 -1
- package/utility/arrays.d.ts +10 -1
- package/utility/arrays.lua +45 -3
- package/utility/callback-array.d.ts +17 -0
- package/utility/callback-array.lua +61 -0
- package/utility/functions.d.ts +8 -0
- package/utility/functions.lua +13 -0
- package/utility/lazy.d.ts +2 -0
- package/utility/lazy.lua +14 -0
- package/utility/linked-map.d.ts +35 -0
- package/utility/linked-map.lua +107 -0
- package/utility/linked-set.d.ts +16 -3
- package/utility/linked-set.lua +54 -3
- package/utility/lua-maps.d.ts +15 -2
- package/utility/lua-maps.lua +53 -2
- package/utility/lua-sets.d.ts +2 -0
- package/utility/lua-sets.lua +7 -0
- package/utility/random.d.ts +102 -0
- package/utility/random.lua +273 -0
- package/utility/records.lua +20 -1
- package/utility/reflection.lua +11 -7
- package/utility/types.d.ts +4 -0
- package/utility/unordered-map.d.ts +27 -0
- package/utility/unordered-map.lua +99 -0
- package/core/types/order.d.ts +0 -25
- package/core/types/order.lua +0 -55
- /package/engine/internal/{object-data/armor-increase.d.ts → misc/ability-disable-counter.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
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
local ____lualib = require("lualib_bundle")
|
|
2
2
|
local __TS__Class = ____lualib.__TS__Class
|
|
3
3
|
local __TS__ClassExtends = ____lualib.__TS__ClassExtends
|
|
4
|
-
local __TS__New = ____lualib.__TS__New
|
|
5
4
|
local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
|
|
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
|
|
@@ -20,7 +21,7 @@ local mapIndexed = ____arrays.mapIndexed
|
|
|
20
21
|
local ____attachment_2Dpreset = require("engine.object-data.auxiliary.attachment-preset")
|
|
21
22
|
local extractAttachmentPresetInputModelPath = ____attachment_2Dpreset.extractAttachmentPresetInputModelPath
|
|
22
23
|
local extractAttachmentPresetInputNodeFQN = ____attachment_2Dpreset.extractAttachmentPresetInputNodeFQN
|
|
23
|
-
local
|
|
24
|
+
local toEffectPreset = ____attachment_2Dpreset.toEffectPreset
|
|
24
25
|
local ____combat_2Dclassification = require("engine.object-data.auxiliary.combat-classification")
|
|
25
26
|
local combatClassificationsToStringArray = ____combat_2Dclassification.combatClassificationsToStringArray
|
|
26
27
|
local stringArrayToCombatClassifications = ____combat_2Dclassification.stringArrayToCombatClassifications
|
|
@@ -31,14 +32,27 @@ local ____entry = require("engine.object-data.entry")
|
|
|
31
32
|
local extractObjectDataEntryLevelFieldValue = ____entry.extractObjectDataEntryLevelFieldValue
|
|
32
33
|
local ObjectDataEntry = ____entry.ObjectDataEntry
|
|
33
34
|
local ____object_2Ddata_2Dentry_2Did_2Dgenerator = require("engine.object-data.utility.object-data-entry-id-generator")
|
|
34
|
-
local
|
|
35
|
+
local abilityTypeIdGenerator = ____object_2Ddata_2Dentry_2Did_2Dgenerator.abilityTypeIdGenerator
|
|
35
36
|
local ____upgrade = require("engine.object-data.entry.upgrade")
|
|
36
37
|
local Upgrade = ____upgrade.Upgrade
|
|
38
|
+
local ____sound = require("core.types.sound")
|
|
39
|
+
local isSoundLabelCustom = ____sound.isSoundLabelCustom
|
|
40
|
+
local Sound3D = ____sound.Sound3D
|
|
41
|
+
local SoundSettings = ____sound.SoundSettings
|
|
42
|
+
local ____lua_2Dsets = require("utility.lua-sets")
|
|
43
|
+
local luaSetOf = ____lua_2Dsets.luaSetOf
|
|
44
|
+
local ____local_2Dclient = require("engine.local-client")
|
|
45
|
+
local LocalClient = ____local_2Dclient.LocalClient
|
|
37
46
|
local castAnimationFQNByAbilityTypeId = {}
|
|
38
47
|
local isButtonVisibleFalseAbilityTypes = {}
|
|
39
48
|
local casterCastingEffectPresetsByAbilityTypeId = {}
|
|
40
49
|
local casterChannelingEffectPresetsByAbilityTypeId = {}
|
|
41
50
|
local targetCastingEffectPresetsByAbilityTypeId = {}
|
|
51
|
+
local targetChannelingEffectPresetsByAbilityTypeId = {}
|
|
52
|
+
local targetChannelingEffectPresetsSDByAbilityTypeId = {}
|
|
53
|
+
local targetChannelingEffectPresetsHDByAbilityTypeId = {}
|
|
54
|
+
local targetChannelingEffectPresetsDEByAbilityTypeId = {}
|
|
55
|
+
local targetEffectSoundPresetByAbilityTypeId = {}
|
|
42
56
|
____exports.AbilityType = __TS__Class()
|
|
43
57
|
local AbilityType = ____exports.AbilityType
|
|
44
58
|
AbilityType.name = "AbilityType"
|
|
@@ -53,10 +67,7 @@ end
|
|
|
53
67
|
function AbilityType.getObjectData(self, map)
|
|
54
68
|
return map.objects.ability
|
|
55
69
|
end
|
|
56
|
-
AbilityType.idGenerator =
|
|
57
|
-
ObjectDataEntryIdGenerator,
|
|
58
|
-
fourCC("A000")
|
|
59
|
-
)
|
|
70
|
+
AbilityType.idGenerator = abilityTypeIdGenerator
|
|
60
71
|
__TS__SetDescriptor(
|
|
61
72
|
AbilityType.prototype,
|
|
62
73
|
"channelingAnimation",
|
|
@@ -117,7 +128,7 @@ __TS__SetDescriptor(
|
|
|
117
128
|
return casterCastingEffectPresetsByAbilityTypeId[self.id] or ({})
|
|
118
129
|
end,
|
|
119
130
|
set = function(self, casterCastingEffectPresets)
|
|
120
|
-
casterCastingEffectPresetsByAbilityTypeId[self.id] = map(casterCastingEffectPresets,
|
|
131
|
+
casterCastingEffectPresetsByAbilityTypeId[self.id] = map(casterCastingEffectPresets, toEffectPreset)
|
|
121
132
|
end
|
|
122
133
|
},
|
|
123
134
|
true
|
|
@@ -130,7 +141,7 @@ __TS__SetDescriptor(
|
|
|
130
141
|
return casterChannelingEffectPresetsByAbilityTypeId[self.id] or ({})
|
|
131
142
|
end,
|
|
132
143
|
set = function(self, casterChannelingEffectPresets)
|
|
133
|
-
casterChannelingEffectPresetsByAbilityTypeId[self.id] = map(casterChannelingEffectPresets,
|
|
144
|
+
casterChannelingEffectPresetsByAbilityTypeId[self.id] = map(casterChannelingEffectPresets, toEffectPreset)
|
|
134
145
|
end
|
|
135
146
|
},
|
|
136
147
|
true
|
|
@@ -200,6 +211,19 @@ __TS__SetDescriptor(
|
|
|
200
211
|
},
|
|
201
212
|
true
|
|
202
213
|
)
|
|
214
|
+
__TS__SetDescriptor(
|
|
215
|
+
AbilityType.prototype,
|
|
216
|
+
"iconPathDE",
|
|
217
|
+
{
|
|
218
|
+
get = function(self)
|
|
219
|
+
return self:getStringField("aart:de")
|
|
220
|
+
end,
|
|
221
|
+
set = function(self, iconPathDE)
|
|
222
|
+
self:setStringField("aart:de", iconPathDE)
|
|
223
|
+
end
|
|
224
|
+
},
|
|
225
|
+
true
|
|
226
|
+
)
|
|
203
227
|
__TS__SetDescriptor(
|
|
204
228
|
AbilityType.prototype,
|
|
205
229
|
"isButtonVisible",
|
|
@@ -275,10 +299,10 @@ __TS__SetDescriptor(
|
|
|
275
299
|
"lightningTypeIds",
|
|
276
300
|
{
|
|
277
301
|
get = function(self)
|
|
278
|
-
return self:
|
|
302
|
+
return self:getObjectDataEntryNumericIdsField("alig")
|
|
279
303
|
end,
|
|
280
304
|
set = function(self, lightningTypeIds)
|
|
281
|
-
self:
|
|
305
|
+
self:setObjectDataEntryNumericIdsField("alig", lightningTypeIds)
|
|
282
306
|
end
|
|
283
307
|
},
|
|
284
308
|
true
|
|
@@ -322,6 +346,19 @@ __TS__SetDescriptor(
|
|
|
322
346
|
},
|
|
323
347
|
true
|
|
324
348
|
)
|
|
349
|
+
__TS__SetDescriptor(
|
|
350
|
+
AbilityType.prototype,
|
|
351
|
+
"missileModelPathDE",
|
|
352
|
+
{
|
|
353
|
+
get = function(self)
|
|
354
|
+
return self:getStringField("amat:de")
|
|
355
|
+
end,
|
|
356
|
+
set = function(self, missileModelPathDE)
|
|
357
|
+
self:setStringField("amat:de", missileModelPathDE)
|
|
358
|
+
end
|
|
359
|
+
},
|
|
360
|
+
true
|
|
361
|
+
)
|
|
325
362
|
__TS__SetDescriptor(
|
|
326
363
|
AbilityType.prototype,
|
|
327
364
|
"missileMovementArc",
|
|
@@ -369,7 +406,59 @@ __TS__SetDescriptor(
|
|
|
369
406
|
return targetCastingEffectPresetsByAbilityTypeId[self.id] or ({})
|
|
370
407
|
end,
|
|
371
408
|
set = function(self, targetCastingEffectPresets)
|
|
372
|
-
targetCastingEffectPresetsByAbilityTypeId[self.id] = map(targetCastingEffectPresets,
|
|
409
|
+
targetCastingEffectPresetsByAbilityTypeId[self.id] = map(targetCastingEffectPresets, toEffectPreset)
|
|
410
|
+
end
|
|
411
|
+
},
|
|
412
|
+
true
|
|
413
|
+
)
|
|
414
|
+
__TS__SetDescriptor(
|
|
415
|
+
AbilityType.prototype,
|
|
416
|
+
"targetChannelingEffectPresets",
|
|
417
|
+
{
|
|
418
|
+
get = function(self)
|
|
419
|
+
return targetChannelingEffectPresetsByAbilityTypeId[self.id] or ({})
|
|
420
|
+
end,
|
|
421
|
+
set = function(self, targetChannelingEffectPresets)
|
|
422
|
+
targetChannelingEffectPresetsByAbilityTypeId[self.id] = map(targetChannelingEffectPresets, toEffectPreset)
|
|
423
|
+
end
|
|
424
|
+
},
|
|
425
|
+
true
|
|
426
|
+
)
|
|
427
|
+
__TS__SetDescriptor(
|
|
428
|
+
AbilityType.prototype,
|
|
429
|
+
"targetChannelingEffectPresetsSD",
|
|
430
|
+
{
|
|
431
|
+
get = function(self)
|
|
432
|
+
return targetChannelingEffectPresetsSDByAbilityTypeId[self.id] or self.targetChannelingEffectPresets
|
|
433
|
+
end,
|
|
434
|
+
set = function(self, targetChannelingEffectPresetsSD)
|
|
435
|
+
targetChannelingEffectPresetsSDByAbilityTypeId[self.id] = map(targetChannelingEffectPresetsSD, toEffectPreset)
|
|
436
|
+
end
|
|
437
|
+
},
|
|
438
|
+
true
|
|
439
|
+
)
|
|
440
|
+
__TS__SetDescriptor(
|
|
441
|
+
AbilityType.prototype,
|
|
442
|
+
"targetChannelingEffectPresetsHD",
|
|
443
|
+
{
|
|
444
|
+
get = function(self)
|
|
445
|
+
return targetChannelingEffectPresetsHDByAbilityTypeId[self.id] or self.targetChannelingEffectPresets
|
|
446
|
+
end,
|
|
447
|
+
set = function(self, targetChannelingEffectPresetsHD)
|
|
448
|
+
targetChannelingEffectPresetsHDByAbilityTypeId[self.id] = map(targetChannelingEffectPresetsHD, toEffectPreset)
|
|
449
|
+
end
|
|
450
|
+
},
|
|
451
|
+
true
|
|
452
|
+
)
|
|
453
|
+
__TS__SetDescriptor(
|
|
454
|
+
AbilityType.prototype,
|
|
455
|
+
"targetChannelingEffectPresetsDE",
|
|
456
|
+
{
|
|
457
|
+
get = function(self)
|
|
458
|
+
return targetChannelingEffectPresetsDEByAbilityTypeId[self.id] or self.targetChannelingEffectPresets
|
|
459
|
+
end,
|
|
460
|
+
set = function(self, targetChannelingEffectPresetsDE)
|
|
461
|
+
targetChannelingEffectPresetsDEByAbilityTypeId[self.id] = map(targetChannelingEffectPresetsDE, toEffectPreset)
|
|
373
462
|
end
|
|
374
463
|
},
|
|
375
464
|
true
|
|
@@ -455,6 +544,33 @@ __TS__SetDescriptor(
|
|
|
455
544
|
},
|
|
456
545
|
true
|
|
457
546
|
)
|
|
547
|
+
__TS__SetDescriptor(
|
|
548
|
+
AbilityType.prototype,
|
|
549
|
+
"targetEffectPresetsDE",
|
|
550
|
+
{
|
|
551
|
+
get = function(self)
|
|
552
|
+
return self:getAttachmentPresetListField(
|
|
553
|
+
"atat:de",
|
|
554
|
+
array(
|
|
555
|
+
6,
|
|
556
|
+
function(i) return ("ata" .. tostring(i)) .. ":de" end
|
|
557
|
+
)
|
|
558
|
+
)
|
|
559
|
+
end,
|
|
560
|
+
set = function(self, targetEffectPresetsDE)
|
|
561
|
+
self:setAttachmentPresetListField(
|
|
562
|
+
"atat:de",
|
|
563
|
+
array(
|
|
564
|
+
6,
|
|
565
|
+
function(i) return ("ata" .. tostring(i)) .. ":de" end
|
|
566
|
+
),
|
|
567
|
+
"atac:de",
|
|
568
|
+
targetEffectPresetsDE
|
|
569
|
+
)
|
|
570
|
+
end
|
|
571
|
+
},
|
|
572
|
+
true
|
|
573
|
+
)
|
|
458
574
|
__TS__SetDescriptor(
|
|
459
575
|
AbilityType.prototype,
|
|
460
576
|
"turnOffButtonPositionX",
|
|
@@ -512,7 +628,7 @@ __TS__SetDescriptor(
|
|
|
512
628
|
"techTreeDependencies",
|
|
513
629
|
{
|
|
514
630
|
get = function(self)
|
|
515
|
-
local techTreeDependencyIds = self:
|
|
631
|
+
local techTreeDependencyIds = self:getObjectDataEntryNumericIdsField("areq")
|
|
516
632
|
local techTreeDependencyInternalLevels = self:getNumbersField("arqa")
|
|
517
633
|
return mapIndexed(
|
|
518
634
|
techTreeDependencyIds,
|
|
@@ -532,7 +648,7 @@ __TS__SetDescriptor(
|
|
|
532
648
|
map(techTreeDependencies, extractTechTreeDependencyInputLevel),
|
|
533
649
|
function(techTreeDependencyLevel) return techTreeDependencyLevel + 1 end
|
|
534
650
|
)
|
|
535
|
-
self:
|
|
651
|
+
self:setObjectDataEntryNumericIdsField("areq", techTreeDependencyIds)
|
|
536
652
|
self:setNumbersField("arqa", techTreeDependencyInternalLevels)
|
|
537
653
|
end
|
|
538
654
|
},
|
|
@@ -722,26 +838,40 @@ __TS__SetDescriptor(
|
|
|
722
838
|
)
|
|
723
839
|
__TS__SetDescriptor(
|
|
724
840
|
AbilityType.prototype,
|
|
725
|
-
"
|
|
841
|
+
"casterEffectSoundPresetId",
|
|
726
842
|
{
|
|
727
843
|
get = function(self)
|
|
728
|
-
|
|
844
|
+
local casterEffectSoundPresetId = self:getStringField("aefs")
|
|
845
|
+
return casterEffectSoundPresetId ~= "" and casterEffectSoundPresetId or nil
|
|
729
846
|
end,
|
|
730
|
-
set = function(self,
|
|
731
|
-
self:setStringField("aefs",
|
|
847
|
+
set = function(self, casterEffectSoundPresetId)
|
|
848
|
+
self:setStringField("aefs", casterEffectSoundPresetId or "")
|
|
732
849
|
end
|
|
733
850
|
},
|
|
734
851
|
true
|
|
735
852
|
)
|
|
736
853
|
__TS__SetDescriptor(
|
|
737
854
|
AbilityType.prototype,
|
|
738
|
-
"
|
|
855
|
+
"casterEffectLoopingSoundPresetId",
|
|
739
856
|
{
|
|
740
857
|
get = function(self)
|
|
741
858
|
return self:getStringField("aefl")
|
|
742
859
|
end,
|
|
743
|
-
set = function(self,
|
|
744
|
-
self:setStringField("aefl",
|
|
860
|
+
set = function(self, casterEffectLoopingSoundPresetId)
|
|
861
|
+
self:setStringField("aefl", casterEffectLoopingSoundPresetId)
|
|
862
|
+
end
|
|
863
|
+
},
|
|
864
|
+
true
|
|
865
|
+
)
|
|
866
|
+
__TS__SetDescriptor(
|
|
867
|
+
AbilityType.prototype,
|
|
868
|
+
"targetEffectSoundPresetId",
|
|
869
|
+
{
|
|
870
|
+
get = function(self)
|
|
871
|
+
return targetEffectSoundPresetByAbilityTypeId[self.id]
|
|
872
|
+
end,
|
|
873
|
+
set = function(self, targetEffectSoundPresetId)
|
|
874
|
+
targetEffectSoundPresetByAbilityTypeId[self.id] = targetEffectSoundPresetId
|
|
745
875
|
end
|
|
746
876
|
},
|
|
747
877
|
true
|
|
@@ -800,10 +930,10 @@ __TS__SetDescriptor(
|
|
|
800
930
|
"buffTypeIds",
|
|
801
931
|
{
|
|
802
932
|
get = function(self)
|
|
803
|
-
return self:
|
|
933
|
+
return self:getObjectDataEntryNumericIdsLevelField("abuf")
|
|
804
934
|
end,
|
|
805
935
|
set = function(self, buffTypeIds)
|
|
806
|
-
self:
|
|
936
|
+
self:setObjectDataEntryNumericIdsLevelField("abuf", buffTypeIds)
|
|
807
937
|
end
|
|
808
938
|
},
|
|
809
939
|
true
|
|
@@ -852,10 +982,10 @@ __TS__SetDescriptor(
|
|
|
852
982
|
"effectBuffTypeIds",
|
|
853
983
|
{
|
|
854
984
|
get = function(self)
|
|
855
|
-
return self:
|
|
985
|
+
return self:getObjectDataEntryNumericIdsLevelField("aeff")
|
|
856
986
|
end,
|
|
857
987
|
set = function(self, effectBuffTypeIds)
|
|
858
|
-
self:
|
|
988
|
+
self:setObjectDataEntryNumericIdsLevelField("aeff", effectBuffTypeIds)
|
|
859
989
|
end
|
|
860
990
|
},
|
|
861
991
|
true
|
|
@@ -963,13 +1093,38 @@ for abilityTypeId, animationFQN in pairs(postcompile(function() return castAnima
|
|
|
963
1093
|
4,
|
|
964
1094
|
function(caster, ability)
|
|
965
1095
|
if ability:getField(ABILITY_RLF_CASTING_TIME) ~= 0 then
|
|
966
|
-
Timer:run(
|
|
967
|
-
caster:playAnimation(animationFQN)
|
|
968
|
-
end)
|
|
1096
|
+
Timer:run(caster, "playAnimation", animationFQN)
|
|
969
1097
|
end
|
|
970
1098
|
end
|
|
971
1099
|
)
|
|
972
1100
|
end
|
|
1101
|
+
for abilityTypeId, soundPresetId in pairs(postcompile(function() return targetEffectSoundPresetByAbilityTypeId end)) do
|
|
1102
|
+
if soundPresetId ~= nil then
|
|
1103
|
+
Unit.abilityWidgetTargetChannelingStartEvent[abilityTypeId]:addListener(
|
|
1104
|
+
4,
|
|
1105
|
+
function(caster, ability, target)
|
|
1106
|
+
if __TS__InstanceOf(target, Unit) then
|
|
1107
|
+
Sound3D:playFromLabel(soundPresetId, SoundSettings.Ability, target)
|
|
1108
|
+
else
|
|
1109
|
+
Sound3D:playFromLabel(soundPresetId, SoundSettings.Ability, target.x, target.y)
|
|
1110
|
+
end
|
|
1111
|
+
end
|
|
1112
|
+
)
|
|
1113
|
+
Unit.abilityPointTargetChannelingStartEvent[abilityTypeId]:addListener(
|
|
1114
|
+
4,
|
|
1115
|
+
function(caster, ability, x, y)
|
|
1116
|
+
Sound3D:playFromLabel(soundPresetId, SoundSettings.Ability, x, y)
|
|
1117
|
+
end
|
|
1118
|
+
)
|
|
1119
|
+
end
|
|
1120
|
+
end
|
|
1121
|
+
local unsupportedEffectSoundAbilityTypeIds = luaSetOf(fourCC("AAns"))
|
|
1122
|
+
Unit.abilityChannelingStartEvent:addListener(function(caster, ability)
|
|
1123
|
+
local soundPresetId = ability:getField(ABILITY_SF_EFFECT_SOUND)
|
|
1124
|
+
if isSoundLabelCustom(soundPresetId) or soundPresetId ~= "" and unsupportedEffectSoundAbilityTypeIds[ability.parentTypeId] ~= nil then
|
|
1125
|
+
Sound3D:playFromLabel(soundPresetId, SoundSettings.Ability, caster)
|
|
1126
|
+
end
|
|
1127
|
+
end)
|
|
973
1128
|
local casterCastingEffectModelPathsByAbilityTypeId = postcompile(function()
|
|
974
1129
|
return mapValues(
|
|
975
1130
|
casterCastingEffectPresetsByAbilityTypeId,
|
|
@@ -982,10 +1137,17 @@ local casterCastingEffectAttachmentPointsByAbilityTypeId = postcompile(function(
|
|
|
982
1137
|
function(casterCastingEffectPresets) return map(casterCastingEffectPresets, extractAttachmentPresetInputNodeFQN) end
|
|
983
1138
|
)
|
|
984
1139
|
end)
|
|
1140
|
+
local casterCastingEffectParametersByAbilityTypeId = postcompile(function()
|
|
1141
|
+
return mapValues(
|
|
1142
|
+
casterCastingEffectPresetsByAbilityTypeId,
|
|
1143
|
+
function(casterCastingEffectPresets) return map(casterCastingEffectPresets, "parameters") end
|
|
1144
|
+
)
|
|
1145
|
+
end)
|
|
985
1146
|
local casterCastingEffectsByCaster = {}
|
|
986
1147
|
local function handleAbilityCastingStartEvent(caster, ability)
|
|
987
1148
|
local effectModelPaths = casterCastingEffectModelPathsByAbilityTypeId[ability.typeId]
|
|
988
1149
|
local attachmentPoints = casterCastingEffectAttachmentPointsByAbilityTypeId[ability.typeId]
|
|
1150
|
+
local parameters = casterCastingEffectParametersByAbilityTypeId[ability.typeId]
|
|
989
1151
|
local effects = {}
|
|
990
1152
|
if effectModelPaths ~= nil then
|
|
991
1153
|
for i = 1, #effectModelPaths do
|
|
@@ -994,12 +1156,12 @@ local function handleAbilityCastingStartEvent(caster, ability)
|
|
|
994
1156
|
if attachmentPoint == nil or attachmentPoint == "" then
|
|
995
1157
|
attachmentPoint = "origin"
|
|
996
1158
|
end
|
|
997
|
-
effects[i] = Effect:
|
|
1159
|
+
effects[i] = Effect:create(effectModelPath, caster, attachmentPoint, parameters and parameters[i])
|
|
998
1160
|
end
|
|
999
1161
|
end
|
|
1000
1162
|
casterCastingEffectsByCaster[caster] = effects
|
|
1001
1163
|
end
|
|
1002
|
-
local function
|
|
1164
|
+
local function handleAbilityStopCastingEvent(caster)
|
|
1003
1165
|
local effects = casterCastingEffectsByCaster[caster]
|
|
1004
1166
|
if effects ~= nil then
|
|
1005
1167
|
for i = 1, #effects do
|
|
@@ -1010,8 +1172,8 @@ local function handleAbilityStopEvent(caster)
|
|
|
1010
1172
|
end
|
|
1011
1173
|
for abilityTypeId in pairs(casterCastingEffectModelPathsByAbilityTypeId) do
|
|
1012
1174
|
Unit.abilityCastingStartEvent[abilityTypeId]:addListener(4, handleAbilityCastingStartEvent)
|
|
1013
|
-
Unit.abilityChannelingStartEvent[abilityTypeId]:addListener(4,
|
|
1014
|
-
Unit.abilityStopEvent[abilityTypeId]:addListener(4,
|
|
1175
|
+
Unit.abilityChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityStopCastingEvent)
|
|
1176
|
+
Unit.abilityStopEvent[abilityTypeId]:addListener(4, handleAbilityStopCastingEvent)
|
|
1015
1177
|
end
|
|
1016
1178
|
local casterChannelingEffectModelPathsByAbilityTypeId = postcompile(function()
|
|
1017
1179
|
return mapValues(
|
|
@@ -1025,10 +1187,17 @@ local casterChannelingEffectAttachmentPointsByAbilityTypeId = postcompile(functi
|
|
|
1025
1187
|
function(casterChannelingEffectPresets) return map(casterChannelingEffectPresets, extractAttachmentPresetInputNodeFQN) end
|
|
1026
1188
|
)
|
|
1027
1189
|
end)
|
|
1190
|
+
local casterChannelingEffectParametersByAbilityTypeId = postcompile(function()
|
|
1191
|
+
return mapValues(
|
|
1192
|
+
casterChannelingEffectPresetsByAbilityTypeId,
|
|
1193
|
+
function(casterChannelingEffectPresets) return map(casterChannelingEffectPresets, "parameters") end
|
|
1194
|
+
)
|
|
1195
|
+
end)
|
|
1028
1196
|
local casterChannelingEffectsByCaster = {}
|
|
1029
1197
|
local function handleAbilityChannelingStartEvent(caster, ability)
|
|
1030
1198
|
local effectModelPaths = casterChannelingEffectModelPathsByAbilityTypeId[ability.typeId]
|
|
1031
1199
|
local attachmentPoints = casterChannelingEffectAttachmentPointsByAbilityTypeId[ability.typeId]
|
|
1200
|
+
local parameters = casterChannelingEffectParametersByAbilityTypeId[ability.typeId]
|
|
1032
1201
|
local effects = {}
|
|
1033
1202
|
if effectModelPaths ~= nil then
|
|
1034
1203
|
for i = 1, #effectModelPaths do
|
|
@@ -1037,23 +1206,128 @@ local function handleAbilityChannelingStartEvent(caster, ability)
|
|
|
1037
1206
|
if attachmentPoint == nil or attachmentPoint == "" then
|
|
1038
1207
|
attachmentPoint = "origin"
|
|
1039
1208
|
end
|
|
1040
|
-
effects[i] = Effect:
|
|
1209
|
+
effects[i] = Effect:create(effectModelPath, caster, attachmentPoint, parameters and parameters[i])
|
|
1041
1210
|
end
|
|
1042
1211
|
end
|
|
1043
1212
|
casterChannelingEffectsByCaster[caster] = effects
|
|
1044
1213
|
end
|
|
1045
|
-
local
|
|
1046
|
-
local
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1214
|
+
local targetChannelingEffectsDataByAbilityTypeId = postcompile(function()
|
|
1215
|
+
local function toData(presets)
|
|
1216
|
+
if presets == nil then
|
|
1217
|
+
return nil
|
|
1218
|
+
end
|
|
1219
|
+
local attachmentPoints = map(presets, extractAttachmentPresetInputNodeFQN)
|
|
1220
|
+
local parameters = map(presets, "parameters")
|
|
1221
|
+
return {
|
|
1222
|
+
modelPaths = map(presets, extractAttachmentPresetInputModelPath),
|
|
1223
|
+
attachmentPoints = __TS__ArraySome(
|
|
1224
|
+
attachmentPoints,
|
|
1225
|
+
function(____, attachmentPoint) return attachmentPoint ~= "" end
|
|
1226
|
+
) and attachmentPoints or nil,
|
|
1227
|
+
parameters = __TS__ArraySome(
|
|
1228
|
+
presets,
|
|
1229
|
+
function(____, preset) return preset.parameters ~= nil end
|
|
1230
|
+
) and parameters or nil
|
|
1231
|
+
}
|
|
1232
|
+
end
|
|
1233
|
+
local abilityTypeIds = {}
|
|
1234
|
+
for ____, presetsByAbilityTypeId in ipairs({targetChannelingEffectPresetsByAbilityTypeId, targetChannelingEffectPresetsSDByAbilityTypeId, targetChannelingEffectPresetsHDByAbilityTypeId, targetChannelingEffectPresetsDEByAbilityTypeId}) do
|
|
1235
|
+
for abilityTypeId in pairs(presetsByAbilityTypeId) do
|
|
1236
|
+
abilityTypeIds[abilityTypeId] = true
|
|
1237
|
+
end
|
|
1238
|
+
end
|
|
1239
|
+
local result = {}
|
|
1240
|
+
for abilityTypeId in pairs(abilityTypeIds) do
|
|
1241
|
+
local presets = targetChannelingEffectPresetsByAbilityTypeId[abilityTypeId]
|
|
1242
|
+
local presetsSD = targetChannelingEffectPresetsSDByAbilityTypeId[abilityTypeId]
|
|
1243
|
+
local presetsHD = targetChannelingEffectPresetsHDByAbilityTypeId[abilityTypeId]
|
|
1244
|
+
local presetsDE = targetChannelingEffectPresetsDEByAbilityTypeId[abilityTypeId]
|
|
1245
|
+
local ____math_max_8 = math.max
|
|
1246
|
+
local ____opt_0 = presetsSD or presets
|
|
1247
|
+
local ____temp_6 = ____opt_0 and #____opt_0 or 0
|
|
1248
|
+
local ____opt_2 = presetsHD or presets
|
|
1249
|
+
local ____temp_7 = ____opt_2 and #____opt_2 or 0
|
|
1250
|
+
local ____opt_4 = presetsDE or presets
|
|
1251
|
+
result[abilityTypeId] = {
|
|
1252
|
+
effectCount = ____math_max_8(____temp_6, ____temp_7, ____opt_4 and #____opt_4 or 0),
|
|
1253
|
+
data = toData(presets),
|
|
1254
|
+
dataSD = toData(presetsSD),
|
|
1255
|
+
dataHD = toData(presetsHD),
|
|
1256
|
+
dataDE = toData(presetsDE)
|
|
1257
|
+
}
|
|
1258
|
+
end
|
|
1259
|
+
return result
|
|
1260
|
+
end)
|
|
1261
|
+
local targetChannelingEffectsByCaster = {}
|
|
1262
|
+
local function createTargetChannelingEffects(caster, abilityTypeId, xOrWidget, y)
|
|
1263
|
+
local effectsData = targetChannelingEffectsDataByAbilityTypeId[abilityTypeId]
|
|
1264
|
+
if effectsData == nil then
|
|
1265
|
+
return
|
|
1266
|
+
end
|
|
1267
|
+
local graphicsMode = LocalClient.graphicsMode
|
|
1268
|
+
local ____temp_10
|
|
1269
|
+
if graphicsMode == 0 then
|
|
1270
|
+
____temp_10 = effectsData.dataSD
|
|
1271
|
+
else
|
|
1272
|
+
local ____temp_9
|
|
1273
|
+
if graphicsMode == 1 then
|
|
1274
|
+
____temp_9 = effectsData.dataHD
|
|
1275
|
+
else
|
|
1276
|
+
____temp_9 = effectsData.dataDE
|
|
1277
|
+
end
|
|
1278
|
+
____temp_10 = ____temp_9
|
|
1279
|
+
end
|
|
1280
|
+
local data = ____temp_10 or effectsData.data
|
|
1281
|
+
local modelPaths = data and data.modelPaths
|
|
1282
|
+
local attachmentPoints = data and data.attachmentPoints
|
|
1283
|
+
local parameters = data and data.parameters
|
|
1284
|
+
local effects = {}
|
|
1285
|
+
for i = 1, effectsData.effectCount do
|
|
1286
|
+
local effectModelPath = modelPaths and modelPaths[i] or ""
|
|
1287
|
+
local effectParameters = parameters and parameters[i]
|
|
1288
|
+
if type(xOrWidget) == "number" then
|
|
1289
|
+
effects[i] = Effect:create(effectModelPath, xOrWidget, y, effectParameters)
|
|
1290
|
+
else
|
|
1291
|
+
local attachmentPoint = attachmentPoints and attachmentPoints[i]
|
|
1292
|
+
if attachmentPoint == nil or attachmentPoint == "" then
|
|
1293
|
+
attachmentPoint = "origin"
|
|
1294
|
+
end
|
|
1295
|
+
effects[i] = Effect:create(effectModelPath, xOrWidget, attachmentPoint, effectParameters)
|
|
1296
|
+
end
|
|
1297
|
+
end
|
|
1298
|
+
targetChannelingEffectsByCaster[caster] = effects
|
|
1299
|
+
end
|
|
1300
|
+
local function handleAbilityWidgetTargetChannelingStartEvent(caster, ability, target)
|
|
1301
|
+
createTargetChannelingEffects(caster, ability.typeId, target)
|
|
1302
|
+
end
|
|
1303
|
+
local function handleAbilityPointTargetChannelingStartEvent(caster, ability, x, y)
|
|
1304
|
+
createTargetChannelingEffects(caster, ability.typeId, x, y)
|
|
1305
|
+
end
|
|
1306
|
+
local function handleAbilityStopChannelingEvent(caster)
|
|
1307
|
+
local casterEffects = casterChannelingEffectsByCaster[caster]
|
|
1308
|
+
if casterEffects ~= nil then
|
|
1309
|
+
for i = 1, #casterEffects do
|
|
1310
|
+
casterEffects[i]:destroy()
|
|
1050
1311
|
end
|
|
1051
1312
|
casterChannelingEffectsByCaster[caster] = nil
|
|
1052
1313
|
end
|
|
1314
|
+
local targetEffects = targetChannelingEffectsByCaster[caster]
|
|
1315
|
+
if targetEffects ~= nil then
|
|
1316
|
+
for i = 1, #targetEffects do
|
|
1317
|
+
targetEffects[i]:destroy()
|
|
1318
|
+
end
|
|
1319
|
+
targetChannelingEffectsByCaster[caster] = nil
|
|
1320
|
+
end
|
|
1053
1321
|
end
|
|
1054
1322
|
for abilityTypeId in pairs(casterChannelingEffectModelPathsByAbilityTypeId) do
|
|
1055
1323
|
Unit.abilityChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityChannelingStartEvent)
|
|
1056
|
-
Unit.abilityChannelingFinishEvent[abilityTypeId]:addListener(4,
|
|
1057
|
-
Unit.abilityStopEvent[abilityTypeId]:addListener(4,
|
|
1324
|
+
Unit.abilityChannelingFinishEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
|
|
1325
|
+
Unit.abilityStopEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
|
|
1326
|
+
end
|
|
1327
|
+
for abilityTypeId in pairs(targetChannelingEffectsDataByAbilityTypeId) do
|
|
1328
|
+
Unit.abilityWidgetTargetChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityWidgetTargetChannelingStartEvent)
|
|
1329
|
+
Unit.abilityPointTargetChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityPointTargetChannelingStartEvent)
|
|
1330
|
+
Unit.abilityChannelingFinishEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
|
|
1331
|
+
Unit.abilityStopEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
|
|
1058
1332
|
end
|
|
1059
1333
|
return ____exports
|