warscript 0.0.1-dev.8c7ee30 → 0.0.1-dev.8d8d605
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/binaryreader.d.ts +1 -0
- package/binaryreader.lua +3 -0
- package/config.d.ts +5 -0
- package/config.lua +10 -0
- package/core/types/effect.d.ts +14 -6
- package/core/types/effect.lua +131 -35
- package/core/types/frame.d.ts +9 -0
- package/core/types/frame.lua +193 -23
- package/core/types/handle.lua +11 -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 +4 -0
- package/core/types/unit.lua +4 -0
- package/core/util.d.ts +1 -1
- package/core/util.lua +18 -1
- 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 +1 -0
- package/engine/behaviour/ability/damage.d.ts +42 -11
- package/engine/behaviour/ability/damage.lua +88 -39
- package/engine/behaviour/ability/emulate-impact.d.ts +6 -0
- package/engine/behaviour/ability/emulate-impact.lua +44 -0
- package/engine/behaviour/ability/heal.d.ts +33 -6
- package/engine/behaviour/ability/heal.lua +89 -10
- 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 +8 -0
- package/engine/behaviour/ability/on-command-impact.lua +25 -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 +15 -0
- package/engine/behaviour/ability/restore-mana.lua +29 -0
- package/engine/behaviour/ability.d.ts +29 -7
- package/engine/behaviour/ability.lua +148 -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 +166 -57
- package/engine/buff.lua +766 -274
- package/engine/game-map.d.ts +7 -0
- package/engine/game-map.lua +32 -0
- package/engine/index.d.ts +2 -1
- package/engine/internal/ability.d.ts +27 -14
- package/engine/internal/ability.lua +164 -101
- 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.d.ts +1 -0
- package/engine/internal/item+owner.lua +19 -6
- package/engine/internal/item.d.ts +30 -18
- package/engine/internal/item.lua +292 -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/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/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 +23 -0
- package/engine/internal/unit/add-item-to-slot.d.ts +2 -0
- package/engine/internal/unit/add-item-to-slot.lua +52 -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/bag.d.ts +18 -0
- package/engine/internal/unit/bag.lua +63 -0
- package/engine/internal/unit/bonus.d.ts +12 -2
- package/engine/internal/unit/bonus.lua +56 -4
- package/engine/internal/unit/buff.d.ts +2 -2
- package/engine/internal/unit/buff.lua +34 -19
- package/engine/internal/unit/equipment.d.ts +36 -0
- package/engine/internal/unit/equipment.lua +169 -0
- package/engine/internal/unit/fly-height.d.ts +7 -0
- package/engine/internal/unit/fly-height.lua +20 -0
- package/engine/internal/unit/ignore-events-items.d.ts +2 -0
- package/engine/internal/unit/ignore-events-items.lua +5 -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 +24 -0
- package/engine/internal/unit/inventory.lua +77 -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.lua +12 -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+spellSteal.lua +1 -2
- package/engine/internal/unit+transport.lua +4 -10
- package/engine/internal/unit-missile-data.lua +58 -32
- package/engine/internal/unit-missile-launch.lua +70 -13
- package/engine/internal/unit.d.ts +63 -30
- package/engine/internal/unit.lua +509 -291
- 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 +34 -2
- package/engine/local-client.lua +386 -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 +13 -0
- package/engine/object-data/auxiliary/equipment-type.lua +2 -0
- package/engine/object-data/auxiliary/health-regeneration-type.d.ts +8 -0
- package/engine/object-data/auxiliary/health-regeneration-type.lua +2 -0
- package/engine/object-data/auxiliary/item-tag.d.ts +12 -0
- package/engine/object-data/auxiliary/item-tag.lua +2 -0
- package/engine/object-data/auxiliary/movement-type.d.ts +7 -7
- package/engine/object-data/auxiliary/movement-type.lua +22 -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/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/health-bonus.d.ts +8 -0
- package/engine/object-data/entry/ability-type/health-bonus.lua +26 -0
- package/engine/object-data/entry/ability-type/heroic-slash.d.ts +18 -0
- package/engine/object-data/entry/ability-type/heroic-slash.lua +65 -0
- package/engine/object-data/entry/ability-type/holy-wrath.d.ts +30 -0
- package/engine/object-data/entry/ability-type/holy-wrath.lua +117 -0
- package/engine/object-data/entry/ability-type/inspire-courage.d.ts +18 -0
- package/engine/object-data/entry/ability-type/inspire-courage.lua +65 -0
- package/engine/object-data/entry/ability-type/lights-mercy.d.ts +27 -0
- package/engine/object-data/entry/ability-type/lights-mercy.lua +104 -0
- package/engine/object-data/entry/ability-type/mana-bonus.d.ts +8 -0
- package/engine/object-data/entry/ability-type/mana-bonus.lua +26 -0
- package/engine/object-data/entry/ability-type/mana-efficiency.d.ts +12 -0
- package/engine/object-data/entry/ability-type/mana-efficiency.lua +39 -0
- package/engine/object-data/entry/ability-type/mana-regeneration.d.ts +8 -0
- package/engine/object-data/entry/ability-type/mana-regeneration.lua +26 -0
- package/engine/object-data/entry/ability-type/mind-control.d.ts +21 -0
- package/engine/object-data/entry/ability-type/mind-control.lua +78 -0
- package/engine/object-data/entry/ability-type/on-attack-cast-spell.d.ts +21 -0
- package/engine/object-data/entry/ability-type/on-attack-cast-spell.lua +52 -0
- package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.d.ts +19 -0
- package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.lua +65 -0
- package/engine/object-data/entry/ability-type/on-hit-cast-spell.d.ts +15 -0
- package/engine/object-data/entry/ability-type/on-hit-cast-spell.lua +26 -0
- package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.d.ts +6 -0
- package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.lua +12 -0
- package/engine/object-data/entry/ability-type/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 +30 -19
- package/engine/object-data/entry/ability-type.lua +230 -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 +26 -3
- package/engine/object-data/entry/item-type.lua +145 -2
- package/engine/object-data/entry/lightning-type.d.ts +2 -2
- 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 +19 -14
- package/engine/object-data/entry.lua +60 -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/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 +12 -0
- package/engine/unit.lua +12 -0
- package/event.d.ts +1 -1
- package/index.d.ts +1 -0
- package/index.lua +1 -0
- package/lualib_bundle.lua +8 -3
- 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 +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.d.ts +0 -0
- package/patch-lua.lua +25 -0
- package/patch-lualib.lua +1 -1
- package/property.d.ts +55 -0
- package/property.lua +374 -0
- 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/mapbounds.d.ts +0 -8
- package/core/mapbounds.lua +0 -12
- 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,8 @@
|
|
|
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
6
|
local ____exports = {}
|
|
7
7
|
local ____unit = require("engine.internal.unit")
|
|
8
8
|
local Unit = ____unit.Unit
|
|
@@ -20,7 +20,7 @@ local mapIndexed = ____arrays.mapIndexed
|
|
|
20
20
|
local ____attachment_2Dpreset = require("engine.object-data.auxiliary.attachment-preset")
|
|
21
21
|
local extractAttachmentPresetInputModelPath = ____attachment_2Dpreset.extractAttachmentPresetInputModelPath
|
|
22
22
|
local extractAttachmentPresetInputNodeFQN = ____attachment_2Dpreset.extractAttachmentPresetInputNodeFQN
|
|
23
|
-
local
|
|
23
|
+
local toEffectPreset = ____attachment_2Dpreset.toEffectPreset
|
|
24
24
|
local ____combat_2Dclassification = require("engine.object-data.auxiliary.combat-classification")
|
|
25
25
|
local combatClassificationsToStringArray = ____combat_2Dclassification.combatClassificationsToStringArray
|
|
26
26
|
local stringArrayToCombatClassifications = ____combat_2Dclassification.stringArrayToCombatClassifications
|
|
@@ -31,14 +31,22 @@ local ____entry = require("engine.object-data.entry")
|
|
|
31
31
|
local extractObjectDataEntryLevelFieldValue = ____entry.extractObjectDataEntryLevelFieldValue
|
|
32
32
|
local ObjectDataEntry = ____entry.ObjectDataEntry
|
|
33
33
|
local ____object_2Ddata_2Dentry_2Did_2Dgenerator = require("engine.object-data.utility.object-data-entry-id-generator")
|
|
34
|
-
local
|
|
34
|
+
local abilityTypeIdGenerator = ____object_2Ddata_2Dentry_2Did_2Dgenerator.abilityTypeIdGenerator
|
|
35
35
|
local ____upgrade = require("engine.object-data.entry.upgrade")
|
|
36
36
|
local Upgrade = ____upgrade.Upgrade
|
|
37
|
+
local ____sound = require("core.types.sound")
|
|
38
|
+
local isSoundLabelCustom = ____sound.isSoundLabelCustom
|
|
39
|
+
local Sound3D = ____sound.Sound3D
|
|
40
|
+
local SoundSettings = ____sound.SoundSettings
|
|
41
|
+
local ____lua_2Dsets = require("utility.lua-sets")
|
|
42
|
+
local luaSetOf = ____lua_2Dsets.luaSetOf
|
|
37
43
|
local castAnimationFQNByAbilityTypeId = {}
|
|
38
44
|
local isButtonVisibleFalseAbilityTypes = {}
|
|
39
45
|
local casterCastingEffectPresetsByAbilityTypeId = {}
|
|
40
46
|
local casterChannelingEffectPresetsByAbilityTypeId = {}
|
|
41
47
|
local targetCastingEffectPresetsByAbilityTypeId = {}
|
|
48
|
+
local targetChannelingEffectPresetsByAbilityTypeId = {}
|
|
49
|
+
local targetEffectSoundPresetByAbilityTypeId = {}
|
|
42
50
|
____exports.AbilityType = __TS__Class()
|
|
43
51
|
local AbilityType = ____exports.AbilityType
|
|
44
52
|
AbilityType.name = "AbilityType"
|
|
@@ -53,10 +61,7 @@ end
|
|
|
53
61
|
function AbilityType.getObjectData(self, map)
|
|
54
62
|
return map.objects.ability
|
|
55
63
|
end
|
|
56
|
-
AbilityType.idGenerator =
|
|
57
|
-
ObjectDataEntryIdGenerator,
|
|
58
|
-
fourCC("A000")
|
|
59
|
-
)
|
|
64
|
+
AbilityType.idGenerator = abilityTypeIdGenerator
|
|
60
65
|
__TS__SetDescriptor(
|
|
61
66
|
AbilityType.prototype,
|
|
62
67
|
"channelingAnimation",
|
|
@@ -117,7 +122,7 @@ __TS__SetDescriptor(
|
|
|
117
122
|
return casterCastingEffectPresetsByAbilityTypeId[self.id] or ({})
|
|
118
123
|
end,
|
|
119
124
|
set = function(self, casterCastingEffectPresets)
|
|
120
|
-
casterCastingEffectPresetsByAbilityTypeId[self.id] = map(casterCastingEffectPresets,
|
|
125
|
+
casterCastingEffectPresetsByAbilityTypeId[self.id] = map(casterCastingEffectPresets, toEffectPreset)
|
|
121
126
|
end
|
|
122
127
|
},
|
|
123
128
|
true
|
|
@@ -130,7 +135,7 @@ __TS__SetDescriptor(
|
|
|
130
135
|
return casterChannelingEffectPresetsByAbilityTypeId[self.id] or ({})
|
|
131
136
|
end,
|
|
132
137
|
set = function(self, casterChannelingEffectPresets)
|
|
133
|
-
casterChannelingEffectPresetsByAbilityTypeId[self.id] = map(casterChannelingEffectPresets,
|
|
138
|
+
casterChannelingEffectPresetsByAbilityTypeId[self.id] = map(casterChannelingEffectPresets, toEffectPreset)
|
|
134
139
|
end
|
|
135
140
|
},
|
|
136
141
|
true
|
|
@@ -200,6 +205,19 @@ __TS__SetDescriptor(
|
|
|
200
205
|
},
|
|
201
206
|
true
|
|
202
207
|
)
|
|
208
|
+
__TS__SetDescriptor(
|
|
209
|
+
AbilityType.prototype,
|
|
210
|
+
"iconPathDE",
|
|
211
|
+
{
|
|
212
|
+
get = function(self)
|
|
213
|
+
return self:getStringField("aart:de")
|
|
214
|
+
end,
|
|
215
|
+
set = function(self, iconPathDE)
|
|
216
|
+
self:setStringField("aart:de", iconPathDE)
|
|
217
|
+
end
|
|
218
|
+
},
|
|
219
|
+
true
|
|
220
|
+
)
|
|
203
221
|
__TS__SetDescriptor(
|
|
204
222
|
AbilityType.prototype,
|
|
205
223
|
"isButtonVisible",
|
|
@@ -275,10 +293,10 @@ __TS__SetDescriptor(
|
|
|
275
293
|
"lightningTypeIds",
|
|
276
294
|
{
|
|
277
295
|
get = function(self)
|
|
278
|
-
return self:
|
|
296
|
+
return self:getObjectDataEntryNumericIdsField("alig")
|
|
279
297
|
end,
|
|
280
298
|
set = function(self, lightningTypeIds)
|
|
281
|
-
self:
|
|
299
|
+
self:setObjectDataEntryNumericIdsField("alig", lightningTypeIds)
|
|
282
300
|
end
|
|
283
301
|
},
|
|
284
302
|
true
|
|
@@ -322,6 +340,19 @@ __TS__SetDescriptor(
|
|
|
322
340
|
},
|
|
323
341
|
true
|
|
324
342
|
)
|
|
343
|
+
__TS__SetDescriptor(
|
|
344
|
+
AbilityType.prototype,
|
|
345
|
+
"missileModelPathDE",
|
|
346
|
+
{
|
|
347
|
+
get = function(self)
|
|
348
|
+
return self:getStringField("amat:de")
|
|
349
|
+
end,
|
|
350
|
+
set = function(self, missileModelPathDE)
|
|
351
|
+
self:setStringField("amat:de", missileModelPathDE)
|
|
352
|
+
end
|
|
353
|
+
},
|
|
354
|
+
true
|
|
355
|
+
)
|
|
325
356
|
__TS__SetDescriptor(
|
|
326
357
|
AbilityType.prototype,
|
|
327
358
|
"missileMovementArc",
|
|
@@ -369,7 +400,20 @@ __TS__SetDescriptor(
|
|
|
369
400
|
return targetCastingEffectPresetsByAbilityTypeId[self.id] or ({})
|
|
370
401
|
end,
|
|
371
402
|
set = function(self, targetCastingEffectPresets)
|
|
372
|
-
targetCastingEffectPresetsByAbilityTypeId[self.id] = map(targetCastingEffectPresets,
|
|
403
|
+
targetCastingEffectPresetsByAbilityTypeId[self.id] = map(targetCastingEffectPresets, toEffectPreset)
|
|
404
|
+
end
|
|
405
|
+
},
|
|
406
|
+
true
|
|
407
|
+
)
|
|
408
|
+
__TS__SetDescriptor(
|
|
409
|
+
AbilityType.prototype,
|
|
410
|
+
"targetChannelingEffectPresets",
|
|
411
|
+
{
|
|
412
|
+
get = function(self)
|
|
413
|
+
return targetChannelingEffectPresetsByAbilityTypeId[self.id] or ({})
|
|
414
|
+
end,
|
|
415
|
+
set = function(self, targetChannelingEffectPresets)
|
|
416
|
+
targetChannelingEffectPresetsByAbilityTypeId[self.id] = map(targetChannelingEffectPresets, toEffectPreset)
|
|
373
417
|
end
|
|
374
418
|
},
|
|
375
419
|
true
|
|
@@ -455,6 +499,33 @@ __TS__SetDescriptor(
|
|
|
455
499
|
},
|
|
456
500
|
true
|
|
457
501
|
)
|
|
502
|
+
__TS__SetDescriptor(
|
|
503
|
+
AbilityType.prototype,
|
|
504
|
+
"targetEffectPresetsDE",
|
|
505
|
+
{
|
|
506
|
+
get = function(self)
|
|
507
|
+
return self:getAttachmentPresetListField(
|
|
508
|
+
"atat:de",
|
|
509
|
+
array(
|
|
510
|
+
6,
|
|
511
|
+
function(i) return ("ata" .. tostring(i)) .. ":de" end
|
|
512
|
+
)
|
|
513
|
+
)
|
|
514
|
+
end,
|
|
515
|
+
set = function(self, targetEffectPresetsDE)
|
|
516
|
+
self:setAttachmentPresetListField(
|
|
517
|
+
"atat:de",
|
|
518
|
+
array(
|
|
519
|
+
6,
|
|
520
|
+
function(i) return ("ata" .. tostring(i)) .. ":de" end
|
|
521
|
+
),
|
|
522
|
+
"atac:de",
|
|
523
|
+
targetEffectPresetsDE
|
|
524
|
+
)
|
|
525
|
+
end
|
|
526
|
+
},
|
|
527
|
+
true
|
|
528
|
+
)
|
|
458
529
|
__TS__SetDescriptor(
|
|
459
530
|
AbilityType.prototype,
|
|
460
531
|
"turnOffButtonPositionX",
|
|
@@ -512,7 +583,7 @@ __TS__SetDescriptor(
|
|
|
512
583
|
"techTreeDependencies",
|
|
513
584
|
{
|
|
514
585
|
get = function(self)
|
|
515
|
-
local techTreeDependencyIds = self:
|
|
586
|
+
local techTreeDependencyIds = self:getObjectDataEntryNumericIdsField("areq")
|
|
516
587
|
local techTreeDependencyInternalLevels = self:getNumbersField("arqa")
|
|
517
588
|
return mapIndexed(
|
|
518
589
|
techTreeDependencyIds,
|
|
@@ -532,7 +603,7 @@ __TS__SetDescriptor(
|
|
|
532
603
|
map(techTreeDependencies, extractTechTreeDependencyInputLevel),
|
|
533
604
|
function(techTreeDependencyLevel) return techTreeDependencyLevel + 1 end
|
|
534
605
|
)
|
|
535
|
-
self:
|
|
606
|
+
self:setObjectDataEntryNumericIdsField("areq", techTreeDependencyIds)
|
|
536
607
|
self:setNumbersField("arqa", techTreeDependencyInternalLevels)
|
|
537
608
|
end
|
|
538
609
|
},
|
|
@@ -722,26 +793,40 @@ __TS__SetDescriptor(
|
|
|
722
793
|
)
|
|
723
794
|
__TS__SetDescriptor(
|
|
724
795
|
AbilityType.prototype,
|
|
725
|
-
"
|
|
796
|
+
"casterEffectSoundPresetId",
|
|
726
797
|
{
|
|
727
798
|
get = function(self)
|
|
728
|
-
|
|
799
|
+
local casterEffectSoundPresetId = self:getStringField("aefs")
|
|
800
|
+
return casterEffectSoundPresetId ~= "" and casterEffectSoundPresetId or nil
|
|
729
801
|
end,
|
|
730
|
-
set = function(self,
|
|
731
|
-
self:setStringField("aefs",
|
|
802
|
+
set = function(self, casterEffectSoundPresetId)
|
|
803
|
+
self:setStringField("aefs", casterEffectSoundPresetId or "")
|
|
732
804
|
end
|
|
733
805
|
},
|
|
734
806
|
true
|
|
735
807
|
)
|
|
736
808
|
__TS__SetDescriptor(
|
|
737
809
|
AbilityType.prototype,
|
|
738
|
-
"
|
|
810
|
+
"casterEffectLoopingSoundPresetId",
|
|
739
811
|
{
|
|
740
812
|
get = function(self)
|
|
741
813
|
return self:getStringField("aefl")
|
|
742
814
|
end,
|
|
743
|
-
set = function(self,
|
|
744
|
-
self:setStringField("aefl",
|
|
815
|
+
set = function(self, casterEffectLoopingSoundPresetId)
|
|
816
|
+
self:setStringField("aefl", casterEffectLoopingSoundPresetId)
|
|
817
|
+
end
|
|
818
|
+
},
|
|
819
|
+
true
|
|
820
|
+
)
|
|
821
|
+
__TS__SetDescriptor(
|
|
822
|
+
AbilityType.prototype,
|
|
823
|
+
"targetEffectSoundPresetId",
|
|
824
|
+
{
|
|
825
|
+
get = function(self)
|
|
826
|
+
return targetEffectSoundPresetByAbilityTypeId[self.id]
|
|
827
|
+
end,
|
|
828
|
+
set = function(self, targetEffectSoundPresetId)
|
|
829
|
+
targetEffectSoundPresetByAbilityTypeId[self.id] = targetEffectSoundPresetId
|
|
745
830
|
end
|
|
746
831
|
},
|
|
747
832
|
true
|
|
@@ -800,10 +885,10 @@ __TS__SetDescriptor(
|
|
|
800
885
|
"buffTypeIds",
|
|
801
886
|
{
|
|
802
887
|
get = function(self)
|
|
803
|
-
return self:
|
|
888
|
+
return self:getObjectDataEntryNumericIdsLevelField("abuf")
|
|
804
889
|
end,
|
|
805
890
|
set = function(self, buffTypeIds)
|
|
806
|
-
self:
|
|
891
|
+
self:setObjectDataEntryNumericIdsLevelField("abuf", buffTypeIds)
|
|
807
892
|
end
|
|
808
893
|
},
|
|
809
894
|
true
|
|
@@ -852,10 +937,10 @@ __TS__SetDescriptor(
|
|
|
852
937
|
"effectBuffTypeIds",
|
|
853
938
|
{
|
|
854
939
|
get = function(self)
|
|
855
|
-
return self:
|
|
940
|
+
return self:getObjectDataEntryNumericIdsLevelField("aeff")
|
|
856
941
|
end,
|
|
857
942
|
set = function(self, effectBuffTypeIds)
|
|
858
|
-
self:
|
|
943
|
+
self:setObjectDataEntryNumericIdsLevelField("aeff", effectBuffTypeIds)
|
|
859
944
|
end
|
|
860
945
|
},
|
|
861
946
|
true
|
|
@@ -963,13 +1048,38 @@ for abilityTypeId, animationFQN in pairs(postcompile(function() return castAnima
|
|
|
963
1048
|
4,
|
|
964
1049
|
function(caster, ability)
|
|
965
1050
|
if ability:getField(ABILITY_RLF_CASTING_TIME) ~= 0 then
|
|
966
|
-
Timer:run(
|
|
967
|
-
caster:playAnimation(animationFQN)
|
|
968
|
-
end)
|
|
1051
|
+
Timer:run(caster, "playAnimation", animationFQN)
|
|
969
1052
|
end
|
|
970
1053
|
end
|
|
971
1054
|
)
|
|
972
1055
|
end
|
|
1056
|
+
for abilityTypeId, soundPresetId in pairs(postcompile(function() return targetEffectSoundPresetByAbilityTypeId end)) do
|
|
1057
|
+
if soundPresetId ~= nil then
|
|
1058
|
+
Unit.abilityWidgetTargetChannelingStartEvent[abilityTypeId]:addListener(
|
|
1059
|
+
4,
|
|
1060
|
+
function(caster, ability, target)
|
|
1061
|
+
if __TS__InstanceOf(target, Unit) then
|
|
1062
|
+
Sound3D:playFromLabel(soundPresetId, SoundSettings.Ability, target)
|
|
1063
|
+
else
|
|
1064
|
+
Sound3D:playFromLabel(soundPresetId, SoundSettings.Ability, target.x, target.y)
|
|
1065
|
+
end
|
|
1066
|
+
end
|
|
1067
|
+
)
|
|
1068
|
+
Unit.abilityPointTargetChannelingStartEvent[abilityTypeId]:addListener(
|
|
1069
|
+
4,
|
|
1070
|
+
function(caster, ability, x, y)
|
|
1071
|
+
Sound3D:playFromLabel(soundPresetId, SoundSettings.Ability, x, y)
|
|
1072
|
+
end
|
|
1073
|
+
)
|
|
1074
|
+
end
|
|
1075
|
+
end
|
|
1076
|
+
local unsupportedEffectSoundAbilityTypeIds = luaSetOf(fourCC("AAns"))
|
|
1077
|
+
Unit.abilityChannelingStartEvent:addListener(function(caster, ability)
|
|
1078
|
+
local soundPresetId = ability:getField(ABILITY_SF_EFFECT_SOUND)
|
|
1079
|
+
if isSoundLabelCustom(soundPresetId) or soundPresetId ~= "" and unsupportedEffectSoundAbilityTypeIds[ability.parentTypeId] ~= nil then
|
|
1080
|
+
Sound3D:playFromLabel(soundPresetId, SoundSettings.Ability, caster)
|
|
1081
|
+
end
|
|
1082
|
+
end)
|
|
973
1083
|
local casterCastingEffectModelPathsByAbilityTypeId = postcompile(function()
|
|
974
1084
|
return mapValues(
|
|
975
1085
|
casterCastingEffectPresetsByAbilityTypeId,
|
|
@@ -982,10 +1092,17 @@ local casterCastingEffectAttachmentPointsByAbilityTypeId = postcompile(function(
|
|
|
982
1092
|
function(casterCastingEffectPresets) return map(casterCastingEffectPresets, extractAttachmentPresetInputNodeFQN) end
|
|
983
1093
|
)
|
|
984
1094
|
end)
|
|
1095
|
+
local casterCastingEffectParametersByAbilityTypeId = postcompile(function()
|
|
1096
|
+
return mapValues(
|
|
1097
|
+
casterCastingEffectPresetsByAbilityTypeId,
|
|
1098
|
+
function(casterCastingEffectPresets) return map(casterCastingEffectPresets, "parameters") end
|
|
1099
|
+
)
|
|
1100
|
+
end)
|
|
985
1101
|
local casterCastingEffectsByCaster = {}
|
|
986
1102
|
local function handleAbilityCastingStartEvent(caster, ability)
|
|
987
1103
|
local effectModelPaths = casterCastingEffectModelPathsByAbilityTypeId[ability.typeId]
|
|
988
1104
|
local attachmentPoints = casterCastingEffectAttachmentPointsByAbilityTypeId[ability.typeId]
|
|
1105
|
+
local parameters = casterCastingEffectParametersByAbilityTypeId[ability.typeId]
|
|
989
1106
|
local effects = {}
|
|
990
1107
|
if effectModelPaths ~= nil then
|
|
991
1108
|
for i = 1, #effectModelPaths do
|
|
@@ -994,12 +1111,12 @@ local function handleAbilityCastingStartEvent(caster, ability)
|
|
|
994
1111
|
if attachmentPoint == nil or attachmentPoint == "" then
|
|
995
1112
|
attachmentPoint = "origin"
|
|
996
1113
|
end
|
|
997
|
-
effects[i] = Effect:
|
|
1114
|
+
effects[i] = Effect:create(effectModelPath, caster, attachmentPoint, parameters and parameters[i])
|
|
998
1115
|
end
|
|
999
1116
|
end
|
|
1000
1117
|
casterCastingEffectsByCaster[caster] = effects
|
|
1001
1118
|
end
|
|
1002
|
-
local function
|
|
1119
|
+
local function handleAbilityStopCastingEvent(caster)
|
|
1003
1120
|
local effects = casterCastingEffectsByCaster[caster]
|
|
1004
1121
|
if effects ~= nil then
|
|
1005
1122
|
for i = 1, #effects do
|
|
@@ -1010,8 +1127,8 @@ local function handleAbilityStopEvent(caster)
|
|
|
1010
1127
|
end
|
|
1011
1128
|
for abilityTypeId in pairs(casterCastingEffectModelPathsByAbilityTypeId) do
|
|
1012
1129
|
Unit.abilityCastingStartEvent[abilityTypeId]:addListener(4, handleAbilityCastingStartEvent)
|
|
1013
|
-
Unit.abilityChannelingStartEvent[abilityTypeId]:addListener(4,
|
|
1014
|
-
Unit.abilityStopEvent[abilityTypeId]:addListener(4,
|
|
1130
|
+
Unit.abilityChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityStopCastingEvent)
|
|
1131
|
+
Unit.abilityStopEvent[abilityTypeId]:addListener(4, handleAbilityStopCastingEvent)
|
|
1015
1132
|
end
|
|
1016
1133
|
local casterChannelingEffectModelPathsByAbilityTypeId = postcompile(function()
|
|
1017
1134
|
return mapValues(
|
|
@@ -1025,10 +1142,17 @@ local casterChannelingEffectAttachmentPointsByAbilityTypeId = postcompile(functi
|
|
|
1025
1142
|
function(casterChannelingEffectPresets) return map(casterChannelingEffectPresets, extractAttachmentPresetInputNodeFQN) end
|
|
1026
1143
|
)
|
|
1027
1144
|
end)
|
|
1145
|
+
local casterChannelingEffectParametersByAbilityTypeId = postcompile(function()
|
|
1146
|
+
return mapValues(
|
|
1147
|
+
casterChannelingEffectPresetsByAbilityTypeId,
|
|
1148
|
+
function(casterChannelingEffectPresets) return map(casterChannelingEffectPresets, "parameters") end
|
|
1149
|
+
)
|
|
1150
|
+
end)
|
|
1028
1151
|
local casterChannelingEffectsByCaster = {}
|
|
1029
1152
|
local function handleAbilityChannelingStartEvent(caster, ability)
|
|
1030
1153
|
local effectModelPaths = casterChannelingEffectModelPathsByAbilityTypeId[ability.typeId]
|
|
1031
1154
|
local attachmentPoints = casterChannelingEffectAttachmentPointsByAbilityTypeId[ability.typeId]
|
|
1155
|
+
local parameters = casterChannelingEffectParametersByAbilityTypeId[ability.typeId]
|
|
1032
1156
|
local effects = {}
|
|
1033
1157
|
if effectModelPaths ~= nil then
|
|
1034
1158
|
for i = 1, #effectModelPaths do
|
|
@@ -1037,23 +1161,89 @@ local function handleAbilityChannelingStartEvent(caster, ability)
|
|
|
1037
1161
|
if attachmentPoint == nil or attachmentPoint == "" then
|
|
1038
1162
|
attachmentPoint = "origin"
|
|
1039
1163
|
end
|
|
1040
|
-
effects[i] = Effect:
|
|
1164
|
+
effects[i] = Effect:create(effectModelPath, caster, attachmentPoint, parameters and parameters[i])
|
|
1041
1165
|
end
|
|
1042
1166
|
end
|
|
1043
1167
|
casterChannelingEffectsByCaster[caster] = effects
|
|
1044
1168
|
end
|
|
1045
|
-
local
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1169
|
+
local targetChannelingEffectModelPathsByAbilityTypeId = postcompile(function()
|
|
1170
|
+
return mapValues(
|
|
1171
|
+
targetChannelingEffectPresetsByAbilityTypeId,
|
|
1172
|
+
function(targetChannelingEffectPresets) return map(targetChannelingEffectPresets, extractAttachmentPresetInputModelPath) end
|
|
1173
|
+
)
|
|
1174
|
+
end)
|
|
1175
|
+
local targetChannelingEffectAttachmentPointsByAbilityTypeId = postcompile(function()
|
|
1176
|
+
return mapValues(
|
|
1177
|
+
targetChannelingEffectPresetsByAbilityTypeId,
|
|
1178
|
+
function(targetChannelingEffectPresets) return map(targetChannelingEffectPresets, extractAttachmentPresetInputNodeFQN) end
|
|
1179
|
+
)
|
|
1180
|
+
end)
|
|
1181
|
+
local targetChannelingEffectParametersByAbilityTypeId = postcompile(function()
|
|
1182
|
+
return mapValues(
|
|
1183
|
+
targetChannelingEffectPresetsByAbilityTypeId,
|
|
1184
|
+
function(targetChannelingEffectPresets) return map(targetChannelingEffectPresets, "parameters") end
|
|
1185
|
+
)
|
|
1186
|
+
end)
|
|
1187
|
+
local targetChannelingEffectsByCaster = {}
|
|
1188
|
+
local function handleAbilityWidgetTargetChannelingStartEvent(caster, ability, target)
|
|
1189
|
+
local effectModelPaths = targetChannelingEffectModelPathsByAbilityTypeId[ability.typeId]
|
|
1190
|
+
local attachmentPoints = targetChannelingEffectAttachmentPointsByAbilityTypeId[ability.typeId]
|
|
1191
|
+
local parameters = targetChannelingEffectParametersByAbilityTypeId[ability.typeId]
|
|
1192
|
+
local effects = {}
|
|
1193
|
+
if effectModelPaths ~= nil then
|
|
1194
|
+
for i = 1, #effectModelPaths do
|
|
1195
|
+
local effectModelPath = effectModelPaths[i]
|
|
1196
|
+
local attachmentPoint = attachmentPoints and attachmentPoints[i]
|
|
1197
|
+
if attachmentPoint == nil or attachmentPoint == "" then
|
|
1198
|
+
attachmentPoint = "origin"
|
|
1199
|
+
end
|
|
1200
|
+
effects[i] = Effect:create(effectModelPath, target, attachmentPoint, parameters and parameters[i])
|
|
1201
|
+
end
|
|
1202
|
+
end
|
|
1203
|
+
targetChannelingEffectsByCaster[caster] = effects
|
|
1204
|
+
end
|
|
1205
|
+
local function handleAbilityPointTargetChannelingStartEvent(caster, ability, x, y)
|
|
1206
|
+
local effectModelPaths = targetChannelingEffectModelPathsByAbilityTypeId[ability.typeId]
|
|
1207
|
+
local attachmentPoints = targetChannelingEffectAttachmentPointsByAbilityTypeId[ability.typeId]
|
|
1208
|
+
local parameters = targetChannelingEffectParametersByAbilityTypeId[ability.typeId]
|
|
1209
|
+
local effects = {}
|
|
1210
|
+
if effectModelPaths ~= nil then
|
|
1211
|
+
for i = 1, #effectModelPaths do
|
|
1212
|
+
local effectModelPath = effectModelPaths[i]
|
|
1213
|
+
local attachmentPoint = attachmentPoints and attachmentPoints[i]
|
|
1214
|
+
if attachmentPoint == nil or attachmentPoint == "" then
|
|
1215
|
+
attachmentPoint = "origin"
|
|
1216
|
+
end
|
|
1217
|
+
effects[i] = Effect:create(effectModelPath, x, y, parameters and parameters[i])
|
|
1218
|
+
end
|
|
1219
|
+
end
|
|
1220
|
+
targetChannelingEffectsByCaster[caster] = effects
|
|
1221
|
+
end
|
|
1222
|
+
local function handleAbilityStopChannelingEvent(caster)
|
|
1223
|
+
local casterEffects = casterChannelingEffectsByCaster[caster]
|
|
1224
|
+
if casterEffects ~= nil then
|
|
1225
|
+
for i = 1, #casterEffects do
|
|
1226
|
+
casterEffects[i]:destroy()
|
|
1050
1227
|
end
|
|
1051
1228
|
casterChannelingEffectsByCaster[caster] = nil
|
|
1052
1229
|
end
|
|
1230
|
+
local targetEffects = targetChannelingEffectsByCaster[caster]
|
|
1231
|
+
if targetEffects ~= nil then
|
|
1232
|
+
for i = 1, #targetEffects do
|
|
1233
|
+
targetEffects[i]:destroy()
|
|
1234
|
+
end
|
|
1235
|
+
targetChannelingEffectsByCaster[caster] = nil
|
|
1236
|
+
end
|
|
1053
1237
|
end
|
|
1054
1238
|
for abilityTypeId in pairs(casterChannelingEffectModelPathsByAbilityTypeId) do
|
|
1055
1239
|
Unit.abilityChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityChannelingStartEvent)
|
|
1056
|
-
Unit.abilityChannelingFinishEvent[abilityTypeId]:addListener(4,
|
|
1057
|
-
Unit.abilityStopEvent[abilityTypeId]:addListener(4,
|
|
1240
|
+
Unit.abilityChannelingFinishEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
|
|
1241
|
+
Unit.abilityStopEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
|
|
1242
|
+
end
|
|
1243
|
+
for abilityTypeId in pairs(targetChannelingEffectModelPathsByAbilityTypeId) do
|
|
1244
|
+
Unit.abilityWidgetTargetChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityWidgetTargetChannelingStartEvent)
|
|
1245
|
+
Unit.abilityPointTargetChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityPointTargetChannelingStartEvent)
|
|
1246
|
+
Unit.abilityChannelingFinishEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
|
|
1247
|
+
Unit.abilityStopEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
|
|
1058
1248
|
end
|
|
1059
1249
|
return ____exports
|