warscript 0.0.1-dev.d750e38 → 0.0.1-dev.d77b529
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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 +12 -4
- package/core/types/effect.lua +67 -104
- package/core/types/frame.d.ts +1 -0
- package/core/types/frame.lua +136 -58
- 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 +115 -4
- package/decl/native.d.ts +1718 -964
- package/destroyable.d.ts +1 -0
- package/destroyable.lua +9 -0
- package/engine/behavior.d.ts +14 -1
- package/engine/behavior.lua +230 -70
- package/engine/behaviour/ability/apply-buff.d.ts +5 -0
- 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 +1 -1
- package/engine/behaviour/ability/emulate-impact.lua +23 -7
- 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/restore-mana.d.ts +1 -1
- package/engine/behaviour/ability/restore-mana.lua +6 -6
- package/engine/behaviour/ability.d.ts +17 -5
- package/engine/behaviour/ability.lua +97 -24
- 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 +41 -2
- package/engine/behaviour/unit.lua +270 -6
- package/engine/buff.d.ts +121 -59
- package/engine/buff.lua +605 -301
- package/engine/index.d.ts +2 -1
- package/engine/internal/ability.d.ts +11 -1
- package/engine/internal/ability.lua +104 -44
- package/engine/internal/item/ability.lua +63 -11
- 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/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 +35 -0
- package/engine/internal/unit/ability.lua +113 -12
- package/engine/internal/unit/add-item-to-slot-init.lua +3 -14
- package/engine/internal/unit/add-item-to-slot.lua +57 -14
- 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 +16 -0
- package/engine/internal/unit/bonus.lua +119 -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 +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 +73 -3
- 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 +65 -27
- package/engine/internal/unit.d.ts +43 -33
- package/engine/internal/unit.lua +391 -323
- package/engine/lightning.d.ts +4 -3
- package/engine/lightning.lua +22 -15
- package/engine/local-client.d.ts +28 -0
- package/engine/local-client.lua +324 -54
- 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-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 +307 -29
- 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 +18 -3
- package/engine/object-data/entry/item-type.lua +88 -4
- 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-field/ability.d.ts +4 -4
- 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 +72 -3
- package/engine/object-field/unit.lua +268 -7
- package/engine/object-field.d.ts +26 -7
- package/engine/object-field.lua +360 -119
- 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 +2 -2
- package/engine/standard/fields/ability.lua +2 -2
- package/engine/standard/fields/item.d.ts +4 -0
- package/engine/standard/fields/item.lua +6 -0
- package/engine/standard/fields/unit.d.ts +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 +11 -1
- package/engine/unit.lua +11 -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 +12 -11
- 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.lua +15 -0
- package/patch-lualib.lua +1 -1
- package/utility/arrays.d.ts +2 -0
- package/utility/arrays.lua +11 -0
- 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/linked-map.d.ts +35 -0
- package/utility/linked-map.lua +107 -0
- package/utility/linked-set.d.ts +5 -1
- package/utility/linked-set.lua +49 -1
- 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 +3 -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/unit/item.lua +0 -78
- /package/engine/internal/{object-data/armor-increase.d.ts → misc/damage-metadata-by-target.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
|
@@ -2,6 +2,8 @@ local ____lualib = require("lualib_bundle")
|
|
|
2
2
|
local __TS__Class = ____lualib.__TS__Class
|
|
3
3
|
local __TS__ClassExtends = ____lualib.__TS__ClassExtends
|
|
4
4
|
local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
|
|
5
|
+
local __TS__InstanceOf = ____lualib.__TS__InstanceOf
|
|
6
|
+
local __TS__ArraySome = ____lualib.__TS__ArraySome
|
|
5
7
|
local ____exports = {}
|
|
6
8
|
local ____unit = require("engine.internal.unit")
|
|
7
9
|
local Unit = ____unit.Unit
|
|
@@ -19,7 +21,7 @@ local mapIndexed = ____arrays.mapIndexed
|
|
|
19
21
|
local ____attachment_2Dpreset = require("engine.object-data.auxiliary.attachment-preset")
|
|
20
22
|
local extractAttachmentPresetInputModelPath = ____attachment_2Dpreset.extractAttachmentPresetInputModelPath
|
|
21
23
|
local extractAttachmentPresetInputNodeFQN = ____attachment_2Dpreset.extractAttachmentPresetInputNodeFQN
|
|
22
|
-
local
|
|
24
|
+
local toEffectPreset = ____attachment_2Dpreset.toEffectPreset
|
|
23
25
|
local ____combat_2Dclassification = require("engine.object-data.auxiliary.combat-classification")
|
|
24
26
|
local combatClassificationsToStringArray = ____combat_2Dclassification.combatClassificationsToStringArray
|
|
25
27
|
local stringArrayToCombatClassifications = ____combat_2Dclassification.stringArrayToCombatClassifications
|
|
@@ -33,11 +35,24 @@ local ____object_2Ddata_2Dentry_2Did_2Dgenerator = require("engine.object-data.u
|
|
|
33
35
|
local abilityTypeIdGenerator = ____object_2Ddata_2Dentry_2Did_2Dgenerator.abilityTypeIdGenerator
|
|
34
36
|
local ____upgrade = require("engine.object-data.entry.upgrade")
|
|
35
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
|
|
36
46
|
local castAnimationFQNByAbilityTypeId = {}
|
|
37
47
|
local isButtonVisibleFalseAbilityTypes = {}
|
|
38
48
|
local casterCastingEffectPresetsByAbilityTypeId = {}
|
|
39
49
|
local casterChannelingEffectPresetsByAbilityTypeId = {}
|
|
40
50
|
local targetCastingEffectPresetsByAbilityTypeId = {}
|
|
51
|
+
local targetChannelingEffectPresetsByAbilityTypeId = {}
|
|
52
|
+
local targetChannelingEffectPresetsSDByAbilityTypeId = {}
|
|
53
|
+
local targetChannelingEffectPresetsHDByAbilityTypeId = {}
|
|
54
|
+
local targetChannelingEffectPresetsDEByAbilityTypeId = {}
|
|
55
|
+
local targetEffectSoundPresetByAbilityTypeId = {}
|
|
41
56
|
____exports.AbilityType = __TS__Class()
|
|
42
57
|
local AbilityType = ____exports.AbilityType
|
|
43
58
|
AbilityType.name = "AbilityType"
|
|
@@ -113,7 +128,7 @@ __TS__SetDescriptor(
|
|
|
113
128
|
return casterCastingEffectPresetsByAbilityTypeId[self.id] or ({})
|
|
114
129
|
end,
|
|
115
130
|
set = function(self, casterCastingEffectPresets)
|
|
116
|
-
casterCastingEffectPresetsByAbilityTypeId[self.id] = map(casterCastingEffectPresets,
|
|
131
|
+
casterCastingEffectPresetsByAbilityTypeId[self.id] = map(casterCastingEffectPresets, toEffectPreset)
|
|
117
132
|
end
|
|
118
133
|
},
|
|
119
134
|
true
|
|
@@ -126,7 +141,7 @@ __TS__SetDescriptor(
|
|
|
126
141
|
return casterChannelingEffectPresetsByAbilityTypeId[self.id] or ({})
|
|
127
142
|
end,
|
|
128
143
|
set = function(self, casterChannelingEffectPresets)
|
|
129
|
-
casterChannelingEffectPresetsByAbilityTypeId[self.id] = map(casterChannelingEffectPresets,
|
|
144
|
+
casterChannelingEffectPresetsByAbilityTypeId[self.id] = map(casterChannelingEffectPresets, toEffectPreset)
|
|
130
145
|
end
|
|
131
146
|
},
|
|
132
147
|
true
|
|
@@ -196,6 +211,19 @@ __TS__SetDescriptor(
|
|
|
196
211
|
},
|
|
197
212
|
true
|
|
198
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
|
+
)
|
|
199
227
|
__TS__SetDescriptor(
|
|
200
228
|
AbilityType.prototype,
|
|
201
229
|
"isButtonVisible",
|
|
@@ -271,10 +299,10 @@ __TS__SetDescriptor(
|
|
|
271
299
|
"lightningTypeIds",
|
|
272
300
|
{
|
|
273
301
|
get = function(self)
|
|
274
|
-
return self:
|
|
302
|
+
return self:getObjectDataEntryNumericIdsField("alig")
|
|
275
303
|
end,
|
|
276
304
|
set = function(self, lightningTypeIds)
|
|
277
|
-
self:
|
|
305
|
+
self:setObjectDataEntryNumericIdsField("alig", lightningTypeIds)
|
|
278
306
|
end
|
|
279
307
|
},
|
|
280
308
|
true
|
|
@@ -318,6 +346,19 @@ __TS__SetDescriptor(
|
|
|
318
346
|
},
|
|
319
347
|
true
|
|
320
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
|
+
)
|
|
321
362
|
__TS__SetDescriptor(
|
|
322
363
|
AbilityType.prototype,
|
|
323
364
|
"missileMovementArc",
|
|
@@ -365,7 +406,59 @@ __TS__SetDescriptor(
|
|
|
365
406
|
return targetCastingEffectPresetsByAbilityTypeId[self.id] or ({})
|
|
366
407
|
end,
|
|
367
408
|
set = function(self, targetCastingEffectPresets)
|
|
368
|
-
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)
|
|
369
462
|
end
|
|
370
463
|
},
|
|
371
464
|
true
|
|
@@ -451,6 +544,33 @@ __TS__SetDescriptor(
|
|
|
451
544
|
},
|
|
452
545
|
true
|
|
453
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
|
+
)
|
|
454
574
|
__TS__SetDescriptor(
|
|
455
575
|
AbilityType.prototype,
|
|
456
576
|
"turnOffButtonPositionX",
|
|
@@ -508,7 +628,7 @@ __TS__SetDescriptor(
|
|
|
508
628
|
"techTreeDependencies",
|
|
509
629
|
{
|
|
510
630
|
get = function(self)
|
|
511
|
-
local techTreeDependencyIds = self:
|
|
631
|
+
local techTreeDependencyIds = self:getObjectDataEntryNumericIdsField("areq")
|
|
512
632
|
local techTreeDependencyInternalLevels = self:getNumbersField("arqa")
|
|
513
633
|
return mapIndexed(
|
|
514
634
|
techTreeDependencyIds,
|
|
@@ -528,7 +648,7 @@ __TS__SetDescriptor(
|
|
|
528
648
|
map(techTreeDependencies, extractTechTreeDependencyInputLevel),
|
|
529
649
|
function(techTreeDependencyLevel) return techTreeDependencyLevel + 1 end
|
|
530
650
|
)
|
|
531
|
-
self:
|
|
651
|
+
self:setObjectDataEntryNumericIdsField("areq", techTreeDependencyIds)
|
|
532
652
|
self:setNumbersField("arqa", techTreeDependencyInternalLevels)
|
|
533
653
|
end
|
|
534
654
|
},
|
|
@@ -718,26 +838,40 @@ __TS__SetDescriptor(
|
|
|
718
838
|
)
|
|
719
839
|
__TS__SetDescriptor(
|
|
720
840
|
AbilityType.prototype,
|
|
721
|
-
"
|
|
841
|
+
"casterEffectSoundPresetId",
|
|
722
842
|
{
|
|
723
843
|
get = function(self)
|
|
724
|
-
|
|
844
|
+
local casterEffectSoundPresetId = self:getStringField("aefs")
|
|
845
|
+
return casterEffectSoundPresetId ~= "" and casterEffectSoundPresetId or nil
|
|
725
846
|
end,
|
|
726
|
-
set = function(self,
|
|
727
|
-
self:setStringField("aefs",
|
|
847
|
+
set = function(self, casterEffectSoundPresetId)
|
|
848
|
+
self:setStringField("aefs", casterEffectSoundPresetId or "")
|
|
728
849
|
end
|
|
729
850
|
},
|
|
730
851
|
true
|
|
731
852
|
)
|
|
732
853
|
__TS__SetDescriptor(
|
|
733
854
|
AbilityType.prototype,
|
|
734
|
-
"
|
|
855
|
+
"casterEffectLoopingSoundPresetId",
|
|
735
856
|
{
|
|
736
857
|
get = function(self)
|
|
737
858
|
return self:getStringField("aefl")
|
|
738
859
|
end,
|
|
739
|
-
set = function(self,
|
|
740
|
-
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
|
|
741
875
|
end
|
|
742
876
|
},
|
|
743
877
|
true
|
|
@@ -796,10 +930,10 @@ __TS__SetDescriptor(
|
|
|
796
930
|
"buffTypeIds",
|
|
797
931
|
{
|
|
798
932
|
get = function(self)
|
|
799
|
-
return self:
|
|
933
|
+
return self:getObjectDataEntryNumericIdsLevelField("abuf")
|
|
800
934
|
end,
|
|
801
935
|
set = function(self, buffTypeIds)
|
|
802
|
-
self:
|
|
936
|
+
self:setObjectDataEntryNumericIdsLevelField("abuf", buffTypeIds)
|
|
803
937
|
end
|
|
804
938
|
},
|
|
805
939
|
true
|
|
@@ -848,10 +982,10 @@ __TS__SetDescriptor(
|
|
|
848
982
|
"effectBuffTypeIds",
|
|
849
983
|
{
|
|
850
984
|
get = function(self)
|
|
851
|
-
return self:
|
|
985
|
+
return self:getObjectDataEntryNumericIdsLevelField("aeff")
|
|
852
986
|
end,
|
|
853
987
|
set = function(self, effectBuffTypeIds)
|
|
854
|
-
self:
|
|
988
|
+
self:setObjectDataEntryNumericIdsLevelField("aeff", effectBuffTypeIds)
|
|
855
989
|
end
|
|
856
990
|
},
|
|
857
991
|
true
|
|
@@ -947,7 +1081,7 @@ __TS__SetDescriptor(
|
|
|
947
1081
|
},
|
|
948
1082
|
true
|
|
949
1083
|
)
|
|
950
|
-
|
|
1084
|
+
postcompile(function()
|
|
951
1085
|
for abilityType in pairs(isButtonVisibleFalseAbilityTypes) do
|
|
952
1086
|
abilityType.hotkey = ""
|
|
953
1087
|
abilityType.buttonPositionX = 0
|
|
@@ -959,13 +1093,38 @@ for abilityTypeId, animationFQN in pairs(postcompile(function() return castAnima
|
|
|
959
1093
|
4,
|
|
960
1094
|
function(caster, ability)
|
|
961
1095
|
if ability:getField(ABILITY_RLF_CASTING_TIME) ~= 0 then
|
|
962
|
-
Timer:run(
|
|
963
|
-
caster:playAnimation(animationFQN)
|
|
964
|
-
end)
|
|
1096
|
+
Timer:run(caster, "playAnimation", animationFQN)
|
|
965
1097
|
end
|
|
966
1098
|
end
|
|
967
1099
|
)
|
|
968
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)
|
|
969
1128
|
local casterCastingEffectModelPathsByAbilityTypeId = postcompile(function()
|
|
970
1129
|
return mapValues(
|
|
971
1130
|
casterCastingEffectPresetsByAbilityTypeId,
|
|
@@ -978,10 +1137,17 @@ local casterCastingEffectAttachmentPointsByAbilityTypeId = postcompile(function(
|
|
|
978
1137
|
function(casterCastingEffectPresets) return map(casterCastingEffectPresets, extractAttachmentPresetInputNodeFQN) end
|
|
979
1138
|
)
|
|
980
1139
|
end)
|
|
1140
|
+
local casterCastingEffectParametersByAbilityTypeId = postcompile(function()
|
|
1141
|
+
return mapValues(
|
|
1142
|
+
casterCastingEffectPresetsByAbilityTypeId,
|
|
1143
|
+
function(casterCastingEffectPresets) return map(casterCastingEffectPresets, "parameters") end
|
|
1144
|
+
)
|
|
1145
|
+
end)
|
|
981
1146
|
local casterCastingEffectsByCaster = {}
|
|
982
1147
|
local function handleAbilityCastingStartEvent(caster, ability)
|
|
983
1148
|
local effectModelPaths = casterCastingEffectModelPathsByAbilityTypeId[ability.typeId]
|
|
984
1149
|
local attachmentPoints = casterCastingEffectAttachmentPointsByAbilityTypeId[ability.typeId]
|
|
1150
|
+
local parameters = casterCastingEffectParametersByAbilityTypeId[ability.typeId]
|
|
985
1151
|
local effects = {}
|
|
986
1152
|
if effectModelPaths ~= nil then
|
|
987
1153
|
for i = 1, #effectModelPaths do
|
|
@@ -990,7 +1156,7 @@ local function handleAbilityCastingStartEvent(caster, ability)
|
|
|
990
1156
|
if attachmentPoint == nil or attachmentPoint == "" then
|
|
991
1157
|
attachmentPoint = "origin"
|
|
992
1158
|
end
|
|
993
|
-
effects[i] = Effect:
|
|
1159
|
+
effects[i] = Effect:create(effectModelPath, caster, attachmentPoint, parameters and parameters[i])
|
|
994
1160
|
end
|
|
995
1161
|
end
|
|
996
1162
|
casterCastingEffectsByCaster[caster] = effects
|
|
@@ -1021,10 +1187,17 @@ local casterChannelingEffectAttachmentPointsByAbilityTypeId = postcompile(functi
|
|
|
1021
1187
|
function(casterChannelingEffectPresets) return map(casterChannelingEffectPresets, extractAttachmentPresetInputNodeFQN) end
|
|
1022
1188
|
)
|
|
1023
1189
|
end)
|
|
1190
|
+
local casterChannelingEffectParametersByAbilityTypeId = postcompile(function()
|
|
1191
|
+
return mapValues(
|
|
1192
|
+
casterChannelingEffectPresetsByAbilityTypeId,
|
|
1193
|
+
function(casterChannelingEffectPresets) return map(casterChannelingEffectPresets, "parameters") end
|
|
1194
|
+
)
|
|
1195
|
+
end)
|
|
1024
1196
|
local casterChannelingEffectsByCaster = {}
|
|
1025
1197
|
local function handleAbilityChannelingStartEvent(caster, ability)
|
|
1026
1198
|
local effectModelPaths = casterChannelingEffectModelPathsByAbilityTypeId[ability.typeId]
|
|
1027
1199
|
local attachmentPoints = casterChannelingEffectAttachmentPointsByAbilityTypeId[ability.typeId]
|
|
1200
|
+
local parameters = casterChannelingEffectParametersByAbilityTypeId[ability.typeId]
|
|
1028
1201
|
local effects = {}
|
|
1029
1202
|
if effectModelPaths ~= nil then
|
|
1030
1203
|
for i = 1, #effectModelPaths do
|
|
@@ -1033,23 +1206,128 @@ local function handleAbilityChannelingStartEvent(caster, ability)
|
|
|
1033
1206
|
if attachmentPoint == nil or attachmentPoint == "" then
|
|
1034
1207
|
attachmentPoint = "origin"
|
|
1035
1208
|
end
|
|
1036
|
-
effects[i] = Effect:
|
|
1209
|
+
effects[i] = Effect:create(effectModelPath, caster, attachmentPoint, parameters and parameters[i])
|
|
1037
1210
|
end
|
|
1038
1211
|
end
|
|
1039
1212
|
casterChannelingEffectsByCaster[caster] = effects
|
|
1040
1213
|
end
|
|
1214
|
+
local targetChannelingEffectsDataByAbilityTypeId = postcompile(function()
|
|
1215
|
+
local function toData(presets)
|
|
1216
|
+
if presets == nil then
|
|
1217
|
+
return nil
|
|
1218
|
+
end
|
|
1219
|
+
local attachmentPoints = map(presets, extractAttachmentPresetInputNodeFQN)
|
|
1220
|
+
local parameters = map(presets, "parameters")
|
|
1221
|
+
return {
|
|
1222
|
+
modelPaths = map(presets, extractAttachmentPresetInputModelPath),
|
|
1223
|
+
attachmentPoints = __TS__ArraySome(
|
|
1224
|
+
attachmentPoints,
|
|
1225
|
+
function(____, attachmentPoint) return attachmentPoint ~= "" end
|
|
1226
|
+
) and attachmentPoints or nil,
|
|
1227
|
+
parameters = __TS__ArraySome(
|
|
1228
|
+
presets,
|
|
1229
|
+
function(____, preset) return preset.parameters ~= nil end
|
|
1230
|
+
) and parameters or nil
|
|
1231
|
+
}
|
|
1232
|
+
end
|
|
1233
|
+
local abilityTypeIds = {}
|
|
1234
|
+
for ____, presetsByAbilityTypeId in ipairs({targetChannelingEffectPresetsByAbilityTypeId, targetChannelingEffectPresetsSDByAbilityTypeId, targetChannelingEffectPresetsHDByAbilityTypeId, targetChannelingEffectPresetsDEByAbilityTypeId}) do
|
|
1235
|
+
for abilityTypeId in pairs(presetsByAbilityTypeId) do
|
|
1236
|
+
abilityTypeIds[abilityTypeId] = true
|
|
1237
|
+
end
|
|
1238
|
+
end
|
|
1239
|
+
local result = {}
|
|
1240
|
+
for abilityTypeId in pairs(abilityTypeIds) do
|
|
1241
|
+
local presets = targetChannelingEffectPresetsByAbilityTypeId[abilityTypeId]
|
|
1242
|
+
local presetsSD = targetChannelingEffectPresetsSDByAbilityTypeId[abilityTypeId]
|
|
1243
|
+
local presetsHD = targetChannelingEffectPresetsHDByAbilityTypeId[abilityTypeId]
|
|
1244
|
+
local presetsDE = targetChannelingEffectPresetsDEByAbilityTypeId[abilityTypeId]
|
|
1245
|
+
local ____math_max_8 = math.max
|
|
1246
|
+
local ____opt_0 = presetsSD or presets
|
|
1247
|
+
local ____temp_6 = ____opt_0 and #____opt_0 or 0
|
|
1248
|
+
local ____opt_2 = presetsHD or presets
|
|
1249
|
+
local ____temp_7 = ____opt_2 and #____opt_2 or 0
|
|
1250
|
+
local ____opt_4 = presetsDE or presets
|
|
1251
|
+
result[abilityTypeId] = {
|
|
1252
|
+
effectCount = ____math_max_8(____temp_6, ____temp_7, ____opt_4 and #____opt_4 or 0),
|
|
1253
|
+
data = toData(presets),
|
|
1254
|
+
dataSD = toData(presetsSD),
|
|
1255
|
+
dataHD = toData(presetsHD),
|
|
1256
|
+
dataDE = toData(presetsDE)
|
|
1257
|
+
}
|
|
1258
|
+
end
|
|
1259
|
+
return result
|
|
1260
|
+
end)
|
|
1261
|
+
local targetChannelingEffectsByCaster = {}
|
|
1262
|
+
local function createTargetChannelingEffects(caster, abilityTypeId, xOrWidget, y)
|
|
1263
|
+
local effectsData = targetChannelingEffectsDataByAbilityTypeId[abilityTypeId]
|
|
1264
|
+
if effectsData == nil then
|
|
1265
|
+
return
|
|
1266
|
+
end
|
|
1267
|
+
local graphicsMode = LocalClient.graphicsMode
|
|
1268
|
+
local ____temp_10
|
|
1269
|
+
if graphicsMode == 0 then
|
|
1270
|
+
____temp_10 = effectsData.dataSD
|
|
1271
|
+
else
|
|
1272
|
+
local ____temp_9
|
|
1273
|
+
if graphicsMode == 1 then
|
|
1274
|
+
____temp_9 = effectsData.dataHD
|
|
1275
|
+
else
|
|
1276
|
+
____temp_9 = effectsData.dataDE
|
|
1277
|
+
end
|
|
1278
|
+
____temp_10 = ____temp_9
|
|
1279
|
+
end
|
|
1280
|
+
local data = ____temp_10 or effectsData.data
|
|
1281
|
+
local modelPaths = data and data.modelPaths
|
|
1282
|
+
local attachmentPoints = data and data.attachmentPoints
|
|
1283
|
+
local parameters = data and data.parameters
|
|
1284
|
+
local effects = {}
|
|
1285
|
+
for i = 1, effectsData.effectCount do
|
|
1286
|
+
local effectModelPath = modelPaths and modelPaths[i] or ""
|
|
1287
|
+
local effectParameters = parameters and parameters[i]
|
|
1288
|
+
if type(xOrWidget) == "number" then
|
|
1289
|
+
effects[i] = Effect:create(effectModelPath, xOrWidget, y, effectParameters)
|
|
1290
|
+
else
|
|
1291
|
+
local attachmentPoint = attachmentPoints and attachmentPoints[i]
|
|
1292
|
+
if attachmentPoint == nil or attachmentPoint == "" then
|
|
1293
|
+
attachmentPoint = "origin"
|
|
1294
|
+
end
|
|
1295
|
+
effects[i] = Effect:create(effectModelPath, xOrWidget, attachmentPoint, effectParameters)
|
|
1296
|
+
end
|
|
1297
|
+
end
|
|
1298
|
+
targetChannelingEffectsByCaster[caster] = effects
|
|
1299
|
+
end
|
|
1300
|
+
local function handleAbilityWidgetTargetChannelingStartEvent(caster, ability, target)
|
|
1301
|
+
createTargetChannelingEffects(caster, ability.typeId, target)
|
|
1302
|
+
end
|
|
1303
|
+
local function handleAbilityPointTargetChannelingStartEvent(caster, ability, x, y)
|
|
1304
|
+
createTargetChannelingEffects(caster, ability.typeId, x, y)
|
|
1305
|
+
end
|
|
1041
1306
|
local function handleAbilityStopChannelingEvent(caster)
|
|
1042
|
-
local
|
|
1043
|
-
if
|
|
1044
|
-
for i = 1, #
|
|
1045
|
-
|
|
1307
|
+
local casterEffects = casterChannelingEffectsByCaster[caster]
|
|
1308
|
+
if casterEffects ~= nil then
|
|
1309
|
+
for i = 1, #casterEffects do
|
|
1310
|
+
casterEffects[i]:destroy()
|
|
1046
1311
|
end
|
|
1047
1312
|
casterChannelingEffectsByCaster[caster] = nil
|
|
1048
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
|
|
1049
1321
|
end
|
|
1050
1322
|
for abilityTypeId in pairs(casterChannelingEffectModelPathsByAbilityTypeId) do
|
|
1051
1323
|
Unit.abilityChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityChannelingStartEvent)
|
|
1052
1324
|
Unit.abilityChannelingFinishEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
|
|
1053
1325
|
Unit.abilityStopEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
|
|
1054
1326
|
end
|
|
1327
|
+
for abilityTypeId in pairs(targetChannelingEffectsDataByAbilityTypeId) do
|
|
1328
|
+
Unit.abilityWidgetTargetChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityWidgetTargetChannelingStartEvent)
|
|
1329
|
+
Unit.abilityPointTargetChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityPointTargetChannelingStartEvent)
|
|
1330
|
+
Unit.abilityChannelingFinishEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
|
|
1331
|
+
Unit.abilityStopEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
|
|
1332
|
+
end
|
|
1055
1333
|
return ____exports
|