warscript 0.0.1-dev.7a0548b → 0.0.1-dev.7a5b782
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/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 +1 -1
- package/core/types/sound.lua +19 -9
- 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 +109 -3
- 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.lua +5 -5
- package/engine/behaviour/ability/apply-unit-behavior.lua +5 -0
- package/engine/behaviour/ability/damage.d.ts +10 -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 +16 -6
- package/engine/behaviour/ability.lua +69 -21
- 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 +40 -3
- package/engine/behaviour/unit.lua +270 -6
- package/engine/buff.d.ts +75 -28
- package/engine/buff.lua +433 -196
- package/engine/index.d.ts +2 -1
- package/engine/internal/ability.d.ts +14 -1
- package/engine/internal/ability.lua +113 -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 +32 -16
- package/engine/internal/item.lua +257 -82
- 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/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 +53 -12
- 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 +14 -0
- package/engine/internal/unit/bonus.lua +102 -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 +41 -36
- package/engine/internal/unit.lua +396 -328
- package/engine/local-client.d.ts +28 -0
- package/engine/local-client.lua +324 -54
- 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 +14 -2
- package/engine/object-data/auxiliary/attachment-preset.lua +11 -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-set-name.d.ts +14 -3
- 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 +30 -0
- package/engine/object-data/entry/ability-type/blank-passive.d.ts +4 -0
- package/engine/object-data/entry/ability-type/blank-passive.lua +27 -7
- package/engine/object-data/entry/ability-type/breath-of-fire.d.ts +11 -0
- package/engine/object-data/entry/ability-type/breath-of-fire.lua +27 -0
- package/engine/object-data/entry/ability-type/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/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/firebolt.d.ts +7 -0
- package/engine/object-data/entry/ability-type/firebolt.lua +13 -0
- package/engine/object-data/entry/ability-type/flame-strike.d.ts +25 -0
- package/engine/object-data/entry/ability-type/flame-strike.lua +92 -0
- package/engine/object-data/entry/ability-type/grant-talent-point.d.ts +8 -0
- package/engine/object-data/entry/ability-type/grant-talent-point.lua +13 -0
- package/engine/object-data/entry/ability-type/grim-conviction.d.ts +36 -0
- package/engine/object-data/entry/ability-type/grim-conviction.lua +131 -0
- package/engine/object-data/entry/ability-type/grit.d.ts +18 -0
- package/engine/object-data/entry/ability-type/grit.lua +65 -0
- package/engine/object-data/entry/ability-type/guiding-hand.d.ts +27 -0
- package/engine/object-data/entry/ability-type/guiding-hand.lua +104 -0
- package/engine/object-data/entry/ability-type/headsplitter.d.ts +27 -0
- package/engine/object-data/entry/ability-type/headsplitter.lua +104 -0
- package/engine/object-data/entry/ability-type/{armor-increase.d.ts → healing-modifier.d.ts} +4 -3
- package/engine/object-data/entry/ability-type/healing-modifier.lua +26 -0
- package/engine/object-data/entry/ability-type/healing-ward-aura.d.ts +13 -0
- package/engine/object-data/entry/ability-type/healing-ward-aura.lua +39 -0
- package/engine/object-data/entry/ability-type/health-bonus.d.ts +8 -0
- package/engine/object-data/entry/ability-type/health-bonus.lua +26 -0
- package/engine/object-data/entry/ability-type/heroic-slash.d.ts +18 -0
- package/engine/object-data/entry/ability-type/heroic-slash.lua +65 -0
- package/engine/object-data/entry/ability-type/holy-wrath.d.ts +30 -0
- package/engine/object-data/entry/ability-type/holy-wrath.lua +117 -0
- package/engine/object-data/entry/ability-type/inspire-courage.d.ts +18 -0
- package/engine/object-data/entry/ability-type/inspire-courage.lua +65 -0
- package/engine/object-data/entry/ability-type/item-life-regeneration.d.ts +10 -0
- package/engine/object-data/entry/ability-type/item-life-regeneration.lua +26 -0
- package/engine/object-data/entry/ability-type/life-drain.d.ts +37 -0
- package/engine/object-data/entry/ability-type/life-drain.lua +144 -0
- package/engine/object-data/entry/ability-type/lights-mercy.d.ts +27 -0
- package/engine/object-data/entry/ability-type/lights-mercy.lua +104 -0
- package/engine/object-data/entry/ability-type/mana-bonus.d.ts +8 -0
- package/engine/object-data/entry/ability-type/mana-bonus.lua +26 -0
- package/engine/object-data/entry/ability-type/mana-efficiency.d.ts +12 -0
- package/engine/object-data/entry/ability-type/mana-efficiency.lua +39 -0
- package/engine/object-data/entry/ability-type/mana-regeneration.d.ts +8 -0
- package/engine/object-data/entry/ability-type/mana-regeneration.lua +26 -0
- package/engine/object-data/entry/ability-type/mind-control.d.ts +21 -0
- package/engine/object-data/entry/ability-type/mind-control.lua +78 -0
- package/engine/object-data/entry/ability-type/on-attack-cast-spell.d.ts +21 -0
- package/engine/object-data/entry/ability-type/on-attack-cast-spell.lua +52 -0
- package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.d.ts +19 -0
- package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.lua +65 -0
- package/engine/object-data/entry/ability-type/on-hit-cast-spell.d.ts +15 -0
- package/engine/object-data/entry/ability-type/on-hit-cast-spell.lua +26 -0
- package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.d.ts +6 -0
- package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.lua +12 -0
- package/engine/object-data/entry/ability-type/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/provoke.d.ts +21 -0
- package/engine/object-data/entry/ability-type/provoke.lua +66 -0
- package/engine/object-data/entry/ability-type/rain-of-fire.d.ts +7 -0
- package/engine/object-data/entry/ability-type/rain-of-fire.lua +13 -0
- package/engine/object-data/entry/ability-type/raise-the-banner.d.ts +9 -0
- package/engine/object-data/entry/ability-type/raise-the-banner.lua +26 -0
- package/engine/object-data/entry/ability-type/reincarnation.d.ts +8 -0
- package/engine/object-data/entry/ability-type/reincarnation.lua +26 -0
- package/engine/object-data/entry/ability-type/resolve.d.ts +12 -0
- package/engine/object-data/entry/ability-type/resolve.lua +39 -0
- package/engine/object-data/entry/ability-type/righteous-fury.d.ts +33 -0
- package/engine/object-data/entry/ability-type/righteous-fury.lua +130 -0
- package/engine/object-data/entry/ability-type/sacred-aura.d.ts +27 -0
- package/engine/object-data/entry/ability-type/sacred-aura.lua +104 -0
- package/engine/object-data/entry/ability-type/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-burn.d.ts +22 -0
- package/engine/object-data/entry/ability-type/soul-burn.lua +79 -0
- package/engine/object-data/entry/ability-type/soul-lantern.d.ts +30 -0
- package/engine/object-data/entry/ability-type/soul-lantern.lua +117 -0
- package/engine/object-data/entry/ability-type/spell-amp.d.ts +15 -0
- package/engine/object-data/entry/ability-type/spell-amp.lua +52 -0
- package/engine/object-data/entry/ability-type/spell-critical-strike.d.ts +12 -0
- package/engine/object-data/entry/ability-type/spell-critical-strike.lua +39 -0
- package/engine/object-data/entry/ability-type/spell-vamp.d.ts +12 -0
- package/engine/object-data/entry/ability-type/spell-vamp.lua +39 -0
- package/engine/object-data/entry/ability-type/stackable-evasion.d.ts +9 -0
- package/engine/object-data/entry/ability-type/stackable-evasion.lua +13 -0
- package/engine/object-data/entry/ability-type/stackable-hardened-skin.d.ts +21 -0
- package/engine/object-data/entry/ability-type/stackable-hardened-skin.lua +78 -0
- package/engine/object-data/entry/ability-type/stackable-life-steal.d.ts +9 -0
- package/engine/object-data/entry/ability-type/stackable-life-steal.lua +26 -0
- package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.d.ts +9 -0
- package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.lua +13 -0
- package/engine/object-data/entry/ability-type/stackable-thorn-shield.d.ts +9 -0
- package/engine/object-data/entry/ability-type/stackable-thorn-shield.lua +13 -0
- package/engine/object-data/entry/ability-type/stat-details.d.ts +12 -0
- package/engine/object-data/entry/ability-type/stat-details.lua +27 -0
- package/engine/object-data/entry/ability-type/surge-of-light.d.ts +33 -0
- package/engine/object-data/entry/ability-type/surge-of-light.lua +130 -0
- package/engine/object-data/entry/ability-type/sweeping-strike.d.ts +57 -0
- package/engine/object-data/entry/ability-type/sweeping-strike.lua +234 -0
- package/engine/object-data/entry/ability-type/talents.d.ts +12 -0
- package/engine/object-data/entry/ability-type/talents.lua +27 -0
- package/engine/object-data/entry/ability-type/unyielding-guard.d.ts +30 -0
- package/engine/object-data/entry/ability-type/unyielding-guard.lua +117 -0
- package/engine/object-data/entry/ability-type/valiant-charge.d.ts +27 -0
- package/engine/object-data/entry/ability-type/valiant-charge.lua +104 -0
- package/engine/object-data/entry/ability-type/warcry.d.ts +9 -0
- package/engine/object-data/entry/ability-type/warcry.lua +26 -0
- package/engine/object-data/entry/ability-type/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 +34 -15
- package/engine/object-data/entry/ability-type.lua +275 -17
- package/engine/object-data/entry/buff-type/applicable.lua +113 -104
- package/engine/object-data/entry/buff-type.d.ts +10 -12
- package/engine/object-data/entry/buff-type.lua +37 -27
- package/engine/object-data/entry/destructible-type.d.ts +32 -2
- package/engine/object-data/entry/destructible-type.lua +181 -0
- package/engine/object-data/entry/item-type.d.ts +18 -3
- package/engine/object-data/entry/item-type.lua +84 -0
- package/engine/object-data/entry/lightning-type.d.ts +6 -8
- package/engine/object-data/entry/lightning-type.lua +1 -1
- package/engine/object-data/entry/sound-preset.d.ts +2 -2
- package/engine/object-data/entry/unit-type.d.ts +64 -6
- package/engine/object-data/entry/unit-type.lua +531 -85
- package/engine/object-data/entry/upgrade.d.ts +2 -2
- package/engine/object-data/entry.d.ts +6 -1
- package/engine/object-data/entry.lua +8 -0
- package/engine/object-field/ability.d.ts +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 +48 -0
- package/engine/standard/entries/buff-type.lua +46 -0
- package/engine/standard/entries/item-type.d.ts +1299 -0
- package/engine/standard/entries/item-type.lua +2 -0
- package/engine/standard/entries/lightning-type.d.ts +42 -15
- package/engine/standard/entries/lightning-type.lua +0 -14
- package/engine/standard/entries/unit-type.d.ts +5 -0
- package/engine/standard/entries/unit-type.lua +5 -0
- package/engine/standard/fields/ability.d.ts +2 -2
- package/engine/standard/fields/ability.lua +2 -2
- package/engine/standard/fields/item.d.ts +4 -0
- package/engine/standard/fields/item.lua +6 -0
- package/engine/standard/fields/unit.d.ts +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/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 +3 -0
- package/utility/arrays.lua +23 -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/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
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__Class = ____lualib.__TS__Class
|
|
3
|
+
local __TS__ClassExtends = ____lualib.__TS__ClassExtends
|
|
4
|
+
local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
|
|
5
|
+
local ____exports = {}
|
|
6
|
+
local ____ability_2Dtype = require("engine.object-data.entry.ability-type")
|
|
7
|
+
local AbilityType = ____ability_2Dtype.AbilityType
|
|
8
|
+
____exports.WitheringFireAbilityType = __TS__Class()
|
|
9
|
+
local WitheringFireAbilityType = ____exports.WitheringFireAbilityType
|
|
10
|
+
WitheringFireAbilityType.name = "WitheringFireAbilityType"
|
|
11
|
+
__TS__ClassExtends(WitheringFireAbilityType, AbilityType)
|
|
12
|
+
WitheringFireAbilityType.BASE_ID = fourCC("AUwf")
|
|
13
|
+
__TS__SetDescriptor(
|
|
14
|
+
WitheringFireAbilityType.prototype,
|
|
15
|
+
"maximumCharges",
|
|
16
|
+
{
|
|
17
|
+
get = function(self)
|
|
18
|
+
return self:getNumberLevelField("uwf1")
|
|
19
|
+
end,
|
|
20
|
+
set = function(self, maximumCharges)
|
|
21
|
+
self:setNumberLevelField("uwf1", maximumCharges)
|
|
22
|
+
end
|
|
23
|
+
},
|
|
24
|
+
true
|
|
25
|
+
)
|
|
26
|
+
__TS__SetDescriptor(
|
|
27
|
+
WitheringFireAbilityType.prototype,
|
|
28
|
+
"chargeRegenerationTime",
|
|
29
|
+
{
|
|
30
|
+
get = function(self)
|
|
31
|
+
return self:getNumberLevelField("uwf2")
|
|
32
|
+
end,
|
|
33
|
+
set = function(self, chargeRegenerationTime)
|
|
34
|
+
self:setNumberLevelField("uwf2", chargeRegenerationTime)
|
|
35
|
+
end
|
|
36
|
+
},
|
|
37
|
+
true
|
|
38
|
+
)
|
|
39
|
+
__TS__SetDescriptor(
|
|
40
|
+
WitheringFireAbilityType.prototype,
|
|
41
|
+
"damage",
|
|
42
|
+
{
|
|
43
|
+
get = function(self)
|
|
44
|
+
return self:getNumberLevelField("uwf3")
|
|
45
|
+
end,
|
|
46
|
+
set = function(self, damage)
|
|
47
|
+
self:setNumberLevelField("uwf3", damage)
|
|
48
|
+
end
|
|
49
|
+
},
|
|
50
|
+
true
|
|
51
|
+
)
|
|
52
|
+
__TS__SetDescriptor(
|
|
53
|
+
WitheringFireAbilityType.prototype,
|
|
54
|
+
"targetArmorReduction",
|
|
55
|
+
{
|
|
56
|
+
get = function(self)
|
|
57
|
+
return self:getNumberLevelField("uwf4")
|
|
58
|
+
end,
|
|
59
|
+
set = function(self, targetArmorReduction)
|
|
60
|
+
self:setNumberLevelField("uwf4", targetArmorReduction)
|
|
61
|
+
end
|
|
62
|
+
},
|
|
63
|
+
true
|
|
64
|
+
)
|
|
65
|
+
__TS__SetDescriptor(
|
|
66
|
+
WitheringFireAbilityType.prototype,
|
|
67
|
+
"cooldownReductionOnAutoAttack",
|
|
68
|
+
{
|
|
69
|
+
get = function(self)
|
|
70
|
+
return self:getNumberLevelField("uwf5")
|
|
71
|
+
end,
|
|
72
|
+
set = function(self, cooldownReductionOnAutoAttack)
|
|
73
|
+
self:setNumberLevelField("uwf5", cooldownReductionOnAutoAttack)
|
|
74
|
+
end
|
|
75
|
+
},
|
|
76
|
+
true
|
|
77
|
+
)
|
|
78
|
+
return ____exports
|
|
@@ -3,17 +3,18 @@ import "../../internal/unit/ability";
|
|
|
3
3
|
import { TupleOf } from "../../../utility/types";
|
|
4
4
|
import { AnimationName } from "../auxiliary/animation-name";
|
|
5
5
|
import { AnimationQualifier } from "../auxiliary/animation-qualifier";
|
|
6
|
-
import {
|
|
6
|
+
import { AttachmentPoint, AttachmentPointInput, AttachmentPresetInput, EffectPresetWithParameters, EffectPresetWithParametersInput } from "../auxiliary/attachment-preset";
|
|
7
7
|
import { CombatClassifications } from "../auxiliary/combat-classification";
|
|
8
8
|
import { Race } from "../auxiliary/race";
|
|
9
9
|
import { TechTreeDependency, TechTreeDependencyInput } from "../auxiliary/tech-tree-dependency";
|
|
10
|
-
import { ObjectDataEntry,
|
|
10
|
+
import { ObjectDataEntry, CustomObjectDataEntryId, ObjectDataEntryLevelFieldValueSupplier } from "../entry";
|
|
11
11
|
import { BuffTypeId } from "./buff-type";
|
|
12
12
|
import { LightningTypeId } from "./lightning-type";
|
|
13
13
|
import { SoundPresetId } from "./sound-preset";
|
|
14
|
-
|
|
14
|
+
import { StandardAbilityTypeId } from "../../standard/entries/ability-type";
|
|
15
|
+
export type AbilityTypeId = (CustomObjectDataEntryId & number & {
|
|
15
16
|
readonly __abilityTypeId: unique symbol;
|
|
16
|
-
};
|
|
17
|
+
}) | StandardAbilityTypeId;
|
|
17
18
|
export declare abstract class AbilityType extends ObjectDataEntry<AbilityTypeId> {
|
|
18
19
|
private static readonly idGenerator;
|
|
19
20
|
protected static generateId(): number;
|
|
@@ -27,11 +28,11 @@ export declare abstract class AbilityType extends ObjectDataEntry<AbilityTypeId>
|
|
|
27
28
|
set buttonPositionX(buttonPositionX: number);
|
|
28
29
|
get buttonPositionY(): number;
|
|
29
30
|
set buttonPositionY(buttonPositionY: number);
|
|
30
|
-
get casterCastingEffectPresets():
|
|
31
|
-
set casterCastingEffectPresets(casterCastingEffectPresets:
|
|
32
|
-
get casterChannelingEffectPresets():
|
|
33
|
-
set casterChannelingEffectPresets(casterChannelingEffectPresets:
|
|
34
|
-
get casterAttachmentPresets(): TupleOf<
|
|
31
|
+
get casterCastingEffectPresets(): EffectPresetWithParameters[];
|
|
32
|
+
set casterCastingEffectPresets(casterCastingEffectPresets: EffectPresetWithParametersInput[]);
|
|
33
|
+
get casterChannelingEffectPresets(): EffectPresetWithParameters[];
|
|
34
|
+
set casterChannelingEffectPresets(casterChannelingEffectPresets: EffectPresetWithParametersInput[]);
|
|
35
|
+
get casterAttachmentPresets(): TupleOf<EffectPresetWithParameters, 0 | 1 | 2>;
|
|
35
36
|
set casterAttachmentPresets(casterAttachmentPresets: TupleOf<AttachmentPresetInput, 0 | 1 | 2>);
|
|
36
37
|
get effectModelPaths(): string[];
|
|
37
38
|
set effectModelPaths(effectModelPaths: string[]);
|
|
@@ -41,6 +42,8 @@ export declare abstract class AbilityType extends ObjectDataEntry<AbilityTypeId>
|
|
|
41
42
|
set iconPathSD(iconPathSD: string);
|
|
42
43
|
get iconPathHD(): string;
|
|
43
44
|
set iconPathHD(iconPathHD: string);
|
|
45
|
+
get iconPathDE(): string;
|
|
46
|
+
set iconPathDE(iconPathDE: string);
|
|
44
47
|
get isButtonVisible(): boolean;
|
|
45
48
|
set isButtonVisible(isButtonVisible: boolean);
|
|
46
49
|
get isMissileHoming(): boolean;
|
|
@@ -59,20 +62,36 @@ export declare abstract class AbilityType extends ObjectDataEntry<AbilityTypeId>
|
|
|
59
62
|
set missileModelPathSD(missileModelPathSD: string);
|
|
60
63
|
get missileModelPathHD(): string;
|
|
61
64
|
set missileModelPathHD(missileModelPathHD: string);
|
|
65
|
+
get missileModelPathDE(): string;
|
|
66
|
+
set missileModelPathDE(missileModelPathDE: string);
|
|
62
67
|
get missileMovementArc(): number;
|
|
63
68
|
set missileMovementArc(missileMovementArc: number);
|
|
64
69
|
get missileMovementSpeed(): number;
|
|
65
70
|
set missileMovementSpeed(missileMovementSpeed: number);
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
71
|
+
/** Model paths of the special art (`asat`); Flame Strike, for one, uses three. */
|
|
72
|
+
get specialEffectModelPaths(): string[];
|
|
73
|
+
set specialEffectModelPaths(specialEffectModelPaths: string[]);
|
|
74
|
+
/** Where the special art attaches (`aspt`), shared by all its models. */
|
|
75
|
+
get specialEffectAttachmentPoint(): AttachmentPoint;
|
|
76
|
+
set specialEffectAttachmentPoint(specialEffectAttachmentPoint: AttachmentPointInput);
|
|
77
|
+
get targetCastingEffectPresets(): EffectPresetWithParameters[];
|
|
69
78
|
set targetCastingEffectPresets(targetCastingEffectPresets: AttachmentPresetInput[]);
|
|
70
|
-
get
|
|
79
|
+
get targetChannelingEffectPresets(): EffectPresetWithParameters[];
|
|
80
|
+
set targetChannelingEffectPresets(targetChannelingEffectPresets: EffectPresetWithParametersInput[]);
|
|
81
|
+
get targetChannelingEffectPresetsSD(): EffectPresetWithParameters[];
|
|
82
|
+
set targetChannelingEffectPresetsSD(targetChannelingEffectPresetsSD: EffectPresetWithParametersInput[]);
|
|
83
|
+
get targetChannelingEffectPresetsHD(): EffectPresetWithParameters[];
|
|
84
|
+
set targetChannelingEffectPresetsHD(targetChannelingEffectPresetsHD: EffectPresetWithParametersInput[]);
|
|
85
|
+
get targetChannelingEffectPresetsDE(): EffectPresetWithParameters[];
|
|
86
|
+
set targetChannelingEffectPresetsDE(targetChannelingEffectPresetsDE: EffectPresetWithParametersInput[]);
|
|
87
|
+
get targetEffectPresets(): TupleOf<EffectPresetWithParameters, 0 | 1 | 2 | 3 | 4 | 5 | 6>;
|
|
71
88
|
set targetEffectPresets(targetEffectPresets: TupleOf<AttachmentPresetInput, 0 | 1 | 2 | 3 | 4 | 5 | 6>);
|
|
72
|
-
get targetEffectPresetsSD(): TupleOf<
|
|
89
|
+
get targetEffectPresetsSD(): TupleOf<EffectPresetWithParameters, 0 | 1 | 2 | 3 | 4 | 5 | 6>;
|
|
73
90
|
set targetEffectPresetsSD(targetEffectPresetsSD: TupleOf<AttachmentPresetInput, 0 | 1 | 2 | 3 | 4 | 5 | 6>);
|
|
74
|
-
get targetEffectPresetsHD(): TupleOf<
|
|
91
|
+
get targetEffectPresetsHD(): TupleOf<EffectPresetWithParameters, 0 | 1 | 2 | 3 | 4 | 5 | 6>;
|
|
75
92
|
set targetEffectPresetsHD(targetEffectPresetsHD: TupleOf<AttachmentPresetInput, 0 | 1 | 2 | 3 | 4 | 5 | 6>);
|
|
93
|
+
get targetEffectPresetsDE(): TupleOf<EffectPresetWithParameters, 0 | 1 | 2 | 3 | 4 | 5 | 6>;
|
|
94
|
+
set targetEffectPresetsDE(targetEffectPresetsDE: TupleOf<AttachmentPresetInput, 0 | 1 | 2 | 3 | 4 | 5 | 6>);
|
|
76
95
|
get turnOffButtonPositionX(): number;
|
|
77
96
|
set turnOffButtonPositionX(buttonPositionX: number);
|
|
78
97
|
get turnOffButtonPositionY(): number;
|
|
@@ -3,6 +3,7 @@ local __TS__Class = ____lualib.__TS__Class
|
|
|
3
3
|
local __TS__ClassExtends = ____lualib.__TS__ClassExtends
|
|
4
4
|
local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
|
|
5
5
|
local __TS__InstanceOf = ____lualib.__TS__InstanceOf
|
|
6
|
+
local __TS__ArraySome = ____lualib.__TS__ArraySome
|
|
6
7
|
local ____exports = {}
|
|
7
8
|
local ____unit = require("engine.internal.unit")
|
|
8
9
|
local Unit = ____unit.Unit
|
|
@@ -18,9 +19,11 @@ local array = ____arrays.array
|
|
|
18
19
|
local map = ____arrays.map
|
|
19
20
|
local mapIndexed = ____arrays.mapIndexed
|
|
20
21
|
local ____attachment_2Dpreset = require("engine.object-data.auxiliary.attachment-preset")
|
|
22
|
+
local attachmentPointToNodeFQN = ____attachment_2Dpreset.attachmentPointToNodeFQN
|
|
21
23
|
local extractAttachmentPresetInputModelPath = ____attachment_2Dpreset.extractAttachmentPresetInputModelPath
|
|
22
24
|
local extractAttachmentPresetInputNodeFQN = ____attachment_2Dpreset.extractAttachmentPresetInputNodeFQN
|
|
23
|
-
local
|
|
25
|
+
local splitAttachmentNodeFQN = ____attachment_2Dpreset.splitAttachmentNodeFQN
|
|
26
|
+
local toEffectPreset = ____attachment_2Dpreset.toEffectPreset
|
|
24
27
|
local ____combat_2Dclassification = require("engine.object-data.auxiliary.combat-classification")
|
|
25
28
|
local combatClassificationsToStringArray = ____combat_2Dclassification.combatClassificationsToStringArray
|
|
26
29
|
local stringArrayToCombatClassifications = ____combat_2Dclassification.stringArrayToCombatClassifications
|
|
@@ -35,13 +38,22 @@ local abilityTypeIdGenerator = ____object_2Ddata_2Dentry_2Did_2Dgenerator.abilit
|
|
|
35
38
|
local ____upgrade = require("engine.object-data.entry.upgrade")
|
|
36
39
|
local Upgrade = ____upgrade.Upgrade
|
|
37
40
|
local ____sound = require("core.types.sound")
|
|
41
|
+
local isSoundLabelCustom = ____sound.isSoundLabelCustom
|
|
38
42
|
local Sound3D = ____sound.Sound3D
|
|
39
43
|
local SoundSettings = ____sound.SoundSettings
|
|
44
|
+
local ____lua_2Dsets = require("utility.lua-sets")
|
|
45
|
+
local luaSetOf = ____lua_2Dsets.luaSetOf
|
|
46
|
+
local ____local_2Dclient = require("engine.local-client")
|
|
47
|
+
local LocalClient = ____local_2Dclient.LocalClient
|
|
40
48
|
local castAnimationFQNByAbilityTypeId = {}
|
|
41
49
|
local isButtonVisibleFalseAbilityTypes = {}
|
|
42
50
|
local casterCastingEffectPresetsByAbilityTypeId = {}
|
|
43
51
|
local casterChannelingEffectPresetsByAbilityTypeId = {}
|
|
44
52
|
local targetCastingEffectPresetsByAbilityTypeId = {}
|
|
53
|
+
local targetChannelingEffectPresetsByAbilityTypeId = {}
|
|
54
|
+
local targetChannelingEffectPresetsSDByAbilityTypeId = {}
|
|
55
|
+
local targetChannelingEffectPresetsHDByAbilityTypeId = {}
|
|
56
|
+
local targetChannelingEffectPresetsDEByAbilityTypeId = {}
|
|
45
57
|
local targetEffectSoundPresetByAbilityTypeId = {}
|
|
46
58
|
____exports.AbilityType = __TS__Class()
|
|
47
59
|
local AbilityType = ____exports.AbilityType
|
|
@@ -118,7 +130,7 @@ __TS__SetDescriptor(
|
|
|
118
130
|
return casterCastingEffectPresetsByAbilityTypeId[self.id] or ({})
|
|
119
131
|
end,
|
|
120
132
|
set = function(self, casterCastingEffectPresets)
|
|
121
|
-
casterCastingEffectPresetsByAbilityTypeId[self.id] = map(casterCastingEffectPresets,
|
|
133
|
+
casterCastingEffectPresetsByAbilityTypeId[self.id] = map(casterCastingEffectPresets, toEffectPreset)
|
|
122
134
|
end
|
|
123
135
|
},
|
|
124
136
|
true
|
|
@@ -131,7 +143,7 @@ __TS__SetDescriptor(
|
|
|
131
143
|
return casterChannelingEffectPresetsByAbilityTypeId[self.id] or ({})
|
|
132
144
|
end,
|
|
133
145
|
set = function(self, casterChannelingEffectPresets)
|
|
134
|
-
casterChannelingEffectPresetsByAbilityTypeId[self.id] = map(casterChannelingEffectPresets,
|
|
146
|
+
casterChannelingEffectPresetsByAbilityTypeId[self.id] = map(casterChannelingEffectPresets, toEffectPreset)
|
|
135
147
|
end
|
|
136
148
|
},
|
|
137
149
|
true
|
|
@@ -201,6 +213,19 @@ __TS__SetDescriptor(
|
|
|
201
213
|
},
|
|
202
214
|
true
|
|
203
215
|
)
|
|
216
|
+
__TS__SetDescriptor(
|
|
217
|
+
AbilityType.prototype,
|
|
218
|
+
"iconPathDE",
|
|
219
|
+
{
|
|
220
|
+
get = function(self)
|
|
221
|
+
return self:getStringField("aart:de")
|
|
222
|
+
end,
|
|
223
|
+
set = function(self, iconPathDE)
|
|
224
|
+
self:setStringField("aart:de", iconPathDE)
|
|
225
|
+
end
|
|
226
|
+
},
|
|
227
|
+
true
|
|
228
|
+
)
|
|
204
229
|
__TS__SetDescriptor(
|
|
205
230
|
AbilityType.prototype,
|
|
206
231
|
"isButtonVisible",
|
|
@@ -323,6 +348,19 @@ __TS__SetDescriptor(
|
|
|
323
348
|
},
|
|
324
349
|
true
|
|
325
350
|
)
|
|
351
|
+
__TS__SetDescriptor(
|
|
352
|
+
AbilityType.prototype,
|
|
353
|
+
"missileModelPathDE",
|
|
354
|
+
{
|
|
355
|
+
get = function(self)
|
|
356
|
+
return self:getStringField("amat:de")
|
|
357
|
+
end,
|
|
358
|
+
set = function(self, missileModelPathDE)
|
|
359
|
+
self:setStringField("amat:de", missileModelPathDE)
|
|
360
|
+
end
|
|
361
|
+
},
|
|
362
|
+
true
|
|
363
|
+
)
|
|
326
364
|
__TS__SetDescriptor(
|
|
327
365
|
AbilityType.prototype,
|
|
328
366
|
"missileMovementArc",
|
|
@@ -351,13 +389,30 @@ __TS__SetDescriptor(
|
|
|
351
389
|
)
|
|
352
390
|
__TS__SetDescriptor(
|
|
353
391
|
AbilityType.prototype,
|
|
354
|
-
"
|
|
392
|
+
"specialEffectModelPaths",
|
|
355
393
|
{
|
|
356
394
|
get = function(self)
|
|
357
|
-
return self:
|
|
395
|
+
return self:getStringsField("asat")
|
|
358
396
|
end,
|
|
359
|
-
set = function(self,
|
|
360
|
-
self:
|
|
397
|
+
set = function(self, specialEffectModelPaths)
|
|
398
|
+
self:setStringsField("asat", specialEffectModelPaths)
|
|
399
|
+
end
|
|
400
|
+
},
|
|
401
|
+
true
|
|
402
|
+
)
|
|
403
|
+
__TS__SetDescriptor(
|
|
404
|
+
AbilityType.prototype,
|
|
405
|
+
"specialEffectAttachmentPoint",
|
|
406
|
+
{
|
|
407
|
+
get = function(self)
|
|
408
|
+
local nodeName, nodeQualifiers = splitAttachmentNodeFQN(self:getStringField("aspt"))
|
|
409
|
+
return {nodeName = nodeName, nodeQualifiers = nodeQualifiers}
|
|
410
|
+
end,
|
|
411
|
+
set = function(self, specialEffectAttachmentPoint)
|
|
412
|
+
self:setStringField(
|
|
413
|
+
"aspt",
|
|
414
|
+
attachmentPointToNodeFQN(specialEffectAttachmentPoint)
|
|
415
|
+
)
|
|
361
416
|
end
|
|
362
417
|
},
|
|
363
418
|
true
|
|
@@ -370,7 +425,59 @@ __TS__SetDescriptor(
|
|
|
370
425
|
return targetCastingEffectPresetsByAbilityTypeId[self.id] or ({})
|
|
371
426
|
end,
|
|
372
427
|
set = function(self, targetCastingEffectPresets)
|
|
373
|
-
targetCastingEffectPresetsByAbilityTypeId[self.id] = map(targetCastingEffectPresets,
|
|
428
|
+
targetCastingEffectPresetsByAbilityTypeId[self.id] = map(targetCastingEffectPresets, toEffectPreset)
|
|
429
|
+
end
|
|
430
|
+
},
|
|
431
|
+
true
|
|
432
|
+
)
|
|
433
|
+
__TS__SetDescriptor(
|
|
434
|
+
AbilityType.prototype,
|
|
435
|
+
"targetChannelingEffectPresets",
|
|
436
|
+
{
|
|
437
|
+
get = function(self)
|
|
438
|
+
return targetChannelingEffectPresetsByAbilityTypeId[self.id] or ({})
|
|
439
|
+
end,
|
|
440
|
+
set = function(self, targetChannelingEffectPresets)
|
|
441
|
+
targetChannelingEffectPresetsByAbilityTypeId[self.id] = map(targetChannelingEffectPresets, toEffectPreset)
|
|
442
|
+
end
|
|
443
|
+
},
|
|
444
|
+
true
|
|
445
|
+
)
|
|
446
|
+
__TS__SetDescriptor(
|
|
447
|
+
AbilityType.prototype,
|
|
448
|
+
"targetChannelingEffectPresetsSD",
|
|
449
|
+
{
|
|
450
|
+
get = function(self)
|
|
451
|
+
return targetChannelingEffectPresetsSDByAbilityTypeId[self.id] or self.targetChannelingEffectPresets
|
|
452
|
+
end,
|
|
453
|
+
set = function(self, targetChannelingEffectPresetsSD)
|
|
454
|
+
targetChannelingEffectPresetsSDByAbilityTypeId[self.id] = map(targetChannelingEffectPresetsSD, toEffectPreset)
|
|
455
|
+
end
|
|
456
|
+
},
|
|
457
|
+
true
|
|
458
|
+
)
|
|
459
|
+
__TS__SetDescriptor(
|
|
460
|
+
AbilityType.prototype,
|
|
461
|
+
"targetChannelingEffectPresetsHD",
|
|
462
|
+
{
|
|
463
|
+
get = function(self)
|
|
464
|
+
return targetChannelingEffectPresetsHDByAbilityTypeId[self.id] or self.targetChannelingEffectPresets
|
|
465
|
+
end,
|
|
466
|
+
set = function(self, targetChannelingEffectPresetsHD)
|
|
467
|
+
targetChannelingEffectPresetsHDByAbilityTypeId[self.id] = map(targetChannelingEffectPresetsHD, toEffectPreset)
|
|
468
|
+
end
|
|
469
|
+
},
|
|
470
|
+
true
|
|
471
|
+
)
|
|
472
|
+
__TS__SetDescriptor(
|
|
473
|
+
AbilityType.prototype,
|
|
474
|
+
"targetChannelingEffectPresetsDE",
|
|
475
|
+
{
|
|
476
|
+
get = function(self)
|
|
477
|
+
return targetChannelingEffectPresetsDEByAbilityTypeId[self.id] or self.targetChannelingEffectPresets
|
|
478
|
+
end,
|
|
479
|
+
set = function(self, targetChannelingEffectPresetsDE)
|
|
480
|
+
targetChannelingEffectPresetsDEByAbilityTypeId[self.id] = map(targetChannelingEffectPresetsDE, toEffectPreset)
|
|
374
481
|
end
|
|
375
482
|
},
|
|
376
483
|
true
|
|
@@ -456,6 +563,33 @@ __TS__SetDescriptor(
|
|
|
456
563
|
},
|
|
457
564
|
true
|
|
458
565
|
)
|
|
566
|
+
__TS__SetDescriptor(
|
|
567
|
+
AbilityType.prototype,
|
|
568
|
+
"targetEffectPresetsDE",
|
|
569
|
+
{
|
|
570
|
+
get = function(self)
|
|
571
|
+
return self:getAttachmentPresetListField(
|
|
572
|
+
"atat:de",
|
|
573
|
+
array(
|
|
574
|
+
6,
|
|
575
|
+
function(i) return ("ata" .. tostring(i)) .. ":de" end
|
|
576
|
+
)
|
|
577
|
+
)
|
|
578
|
+
end,
|
|
579
|
+
set = function(self, targetEffectPresetsDE)
|
|
580
|
+
self:setAttachmentPresetListField(
|
|
581
|
+
"atat:de",
|
|
582
|
+
array(
|
|
583
|
+
6,
|
|
584
|
+
function(i) return ("ata" .. tostring(i)) .. ":de" end
|
|
585
|
+
),
|
|
586
|
+
"atac:de",
|
|
587
|
+
targetEffectPresetsDE
|
|
588
|
+
)
|
|
589
|
+
end
|
|
590
|
+
},
|
|
591
|
+
true
|
|
592
|
+
)
|
|
459
593
|
__TS__SetDescriptor(
|
|
460
594
|
AbilityType.prototype,
|
|
461
595
|
"turnOffButtonPositionX",
|
|
@@ -978,9 +1112,7 @@ for abilityTypeId, animationFQN in pairs(postcompile(function() return castAnima
|
|
|
978
1112
|
4,
|
|
979
1113
|
function(caster, ability)
|
|
980
1114
|
if ability:getField(ABILITY_RLF_CASTING_TIME) ~= 0 then
|
|
981
|
-
Timer:run(
|
|
982
|
-
caster:playAnimation(animationFQN)
|
|
983
|
-
end)
|
|
1115
|
+
Timer:run(caster, "playAnimation", animationFQN)
|
|
984
1116
|
end
|
|
985
1117
|
end
|
|
986
1118
|
)
|
|
@@ -1005,6 +1137,13 @@ for abilityTypeId, soundPresetId in pairs(postcompile(function() return targetEf
|
|
|
1005
1137
|
)
|
|
1006
1138
|
end
|
|
1007
1139
|
end
|
|
1140
|
+
local unsupportedEffectSoundAbilityTypeIds = luaSetOf(fourCC("AAns"))
|
|
1141
|
+
Unit.abilityChannelingStartEvent:addListener(function(caster, ability)
|
|
1142
|
+
local soundPresetId = ability:getField(ABILITY_SF_EFFECT_SOUND)
|
|
1143
|
+
if isSoundLabelCustom(soundPresetId) or soundPresetId ~= "" and unsupportedEffectSoundAbilityTypeIds[ability.parentTypeId] ~= nil then
|
|
1144
|
+
Sound3D:playFromLabel(soundPresetId, SoundSettings.Ability, caster)
|
|
1145
|
+
end
|
|
1146
|
+
end)
|
|
1008
1147
|
local casterCastingEffectModelPathsByAbilityTypeId = postcompile(function()
|
|
1009
1148
|
return mapValues(
|
|
1010
1149
|
casterCastingEffectPresetsByAbilityTypeId,
|
|
@@ -1017,10 +1156,17 @@ local casterCastingEffectAttachmentPointsByAbilityTypeId = postcompile(function(
|
|
|
1017
1156
|
function(casterCastingEffectPresets) return map(casterCastingEffectPresets, extractAttachmentPresetInputNodeFQN) end
|
|
1018
1157
|
)
|
|
1019
1158
|
end)
|
|
1159
|
+
local casterCastingEffectParametersByAbilityTypeId = postcompile(function()
|
|
1160
|
+
return mapValues(
|
|
1161
|
+
casterCastingEffectPresetsByAbilityTypeId,
|
|
1162
|
+
function(casterCastingEffectPresets) return map(casterCastingEffectPresets, "parameters") end
|
|
1163
|
+
)
|
|
1164
|
+
end)
|
|
1020
1165
|
local casterCastingEffectsByCaster = {}
|
|
1021
1166
|
local function handleAbilityCastingStartEvent(caster, ability)
|
|
1022
1167
|
local effectModelPaths = casterCastingEffectModelPathsByAbilityTypeId[ability.typeId]
|
|
1023
1168
|
local attachmentPoints = casterCastingEffectAttachmentPointsByAbilityTypeId[ability.typeId]
|
|
1169
|
+
local parameters = casterCastingEffectParametersByAbilityTypeId[ability.typeId]
|
|
1024
1170
|
local effects = {}
|
|
1025
1171
|
if effectModelPaths ~= nil then
|
|
1026
1172
|
for i = 1, #effectModelPaths do
|
|
@@ -1029,7 +1175,7 @@ local function handleAbilityCastingStartEvent(caster, ability)
|
|
|
1029
1175
|
if attachmentPoint == nil or attachmentPoint == "" then
|
|
1030
1176
|
attachmentPoint = "origin"
|
|
1031
1177
|
end
|
|
1032
|
-
effects[i] = Effect:
|
|
1178
|
+
effects[i] = Effect:create(effectModelPath, caster, attachmentPoint, parameters and parameters[i])
|
|
1033
1179
|
end
|
|
1034
1180
|
end
|
|
1035
1181
|
casterCastingEffectsByCaster[caster] = effects
|
|
@@ -1060,10 +1206,17 @@ local casterChannelingEffectAttachmentPointsByAbilityTypeId = postcompile(functi
|
|
|
1060
1206
|
function(casterChannelingEffectPresets) return map(casterChannelingEffectPresets, extractAttachmentPresetInputNodeFQN) end
|
|
1061
1207
|
)
|
|
1062
1208
|
end)
|
|
1209
|
+
local casterChannelingEffectParametersByAbilityTypeId = postcompile(function()
|
|
1210
|
+
return mapValues(
|
|
1211
|
+
casterChannelingEffectPresetsByAbilityTypeId,
|
|
1212
|
+
function(casterChannelingEffectPresets) return map(casterChannelingEffectPresets, "parameters") end
|
|
1213
|
+
)
|
|
1214
|
+
end)
|
|
1063
1215
|
local casterChannelingEffectsByCaster = {}
|
|
1064
1216
|
local function handleAbilityChannelingStartEvent(caster, ability)
|
|
1065
1217
|
local effectModelPaths = casterChannelingEffectModelPathsByAbilityTypeId[ability.typeId]
|
|
1066
1218
|
local attachmentPoints = casterChannelingEffectAttachmentPointsByAbilityTypeId[ability.typeId]
|
|
1219
|
+
local parameters = casterChannelingEffectParametersByAbilityTypeId[ability.typeId]
|
|
1067
1220
|
local effects = {}
|
|
1068
1221
|
if effectModelPaths ~= nil then
|
|
1069
1222
|
for i = 1, #effectModelPaths do
|
|
@@ -1072,23 +1225,128 @@ local function handleAbilityChannelingStartEvent(caster, ability)
|
|
|
1072
1225
|
if attachmentPoint == nil or attachmentPoint == "" then
|
|
1073
1226
|
attachmentPoint = "origin"
|
|
1074
1227
|
end
|
|
1075
|
-
effects[i] = Effect:
|
|
1228
|
+
effects[i] = Effect:create(effectModelPath, caster, attachmentPoint, parameters and parameters[i])
|
|
1076
1229
|
end
|
|
1077
1230
|
end
|
|
1078
1231
|
casterChannelingEffectsByCaster[caster] = effects
|
|
1079
1232
|
end
|
|
1233
|
+
local targetChannelingEffectsDataByAbilityTypeId = postcompile(function()
|
|
1234
|
+
local function toData(presets)
|
|
1235
|
+
if presets == nil then
|
|
1236
|
+
return nil
|
|
1237
|
+
end
|
|
1238
|
+
local attachmentPoints = map(presets, extractAttachmentPresetInputNodeFQN)
|
|
1239
|
+
local parameters = map(presets, "parameters")
|
|
1240
|
+
return {
|
|
1241
|
+
modelPaths = map(presets, extractAttachmentPresetInputModelPath),
|
|
1242
|
+
attachmentPoints = __TS__ArraySome(
|
|
1243
|
+
attachmentPoints,
|
|
1244
|
+
function(____, attachmentPoint) return attachmentPoint ~= "" end
|
|
1245
|
+
) and attachmentPoints or nil,
|
|
1246
|
+
parameters = __TS__ArraySome(
|
|
1247
|
+
presets,
|
|
1248
|
+
function(____, preset) return preset.parameters ~= nil end
|
|
1249
|
+
) and parameters or nil
|
|
1250
|
+
}
|
|
1251
|
+
end
|
|
1252
|
+
local abilityTypeIds = {}
|
|
1253
|
+
for ____, presetsByAbilityTypeId in ipairs({targetChannelingEffectPresetsByAbilityTypeId, targetChannelingEffectPresetsSDByAbilityTypeId, targetChannelingEffectPresetsHDByAbilityTypeId, targetChannelingEffectPresetsDEByAbilityTypeId}) do
|
|
1254
|
+
for abilityTypeId in pairs(presetsByAbilityTypeId) do
|
|
1255
|
+
abilityTypeIds[abilityTypeId] = true
|
|
1256
|
+
end
|
|
1257
|
+
end
|
|
1258
|
+
local result = {}
|
|
1259
|
+
for abilityTypeId in pairs(abilityTypeIds) do
|
|
1260
|
+
local presets = targetChannelingEffectPresetsByAbilityTypeId[abilityTypeId]
|
|
1261
|
+
local presetsSD = targetChannelingEffectPresetsSDByAbilityTypeId[abilityTypeId]
|
|
1262
|
+
local presetsHD = targetChannelingEffectPresetsHDByAbilityTypeId[abilityTypeId]
|
|
1263
|
+
local presetsDE = targetChannelingEffectPresetsDEByAbilityTypeId[abilityTypeId]
|
|
1264
|
+
local ____math_max_8 = math.max
|
|
1265
|
+
local ____opt_0 = presetsSD or presets
|
|
1266
|
+
local ____temp_6 = ____opt_0 and #____opt_0 or 0
|
|
1267
|
+
local ____opt_2 = presetsHD or presets
|
|
1268
|
+
local ____temp_7 = ____opt_2 and #____opt_2 or 0
|
|
1269
|
+
local ____opt_4 = presetsDE or presets
|
|
1270
|
+
result[abilityTypeId] = {
|
|
1271
|
+
effectCount = ____math_max_8(____temp_6, ____temp_7, ____opt_4 and #____opt_4 or 0),
|
|
1272
|
+
data = toData(presets),
|
|
1273
|
+
dataSD = toData(presetsSD),
|
|
1274
|
+
dataHD = toData(presetsHD),
|
|
1275
|
+
dataDE = toData(presetsDE)
|
|
1276
|
+
}
|
|
1277
|
+
end
|
|
1278
|
+
return result
|
|
1279
|
+
end)
|
|
1280
|
+
local targetChannelingEffectsByCaster = {}
|
|
1281
|
+
local function createTargetChannelingEffects(caster, abilityTypeId, xOrWidget, y)
|
|
1282
|
+
local effectsData = targetChannelingEffectsDataByAbilityTypeId[abilityTypeId]
|
|
1283
|
+
if effectsData == nil then
|
|
1284
|
+
return
|
|
1285
|
+
end
|
|
1286
|
+
local graphicsMode = LocalClient.graphicsMode
|
|
1287
|
+
local ____temp_10
|
|
1288
|
+
if graphicsMode == 0 then
|
|
1289
|
+
____temp_10 = effectsData.dataSD
|
|
1290
|
+
else
|
|
1291
|
+
local ____temp_9
|
|
1292
|
+
if graphicsMode == 1 then
|
|
1293
|
+
____temp_9 = effectsData.dataHD
|
|
1294
|
+
else
|
|
1295
|
+
____temp_9 = effectsData.dataDE
|
|
1296
|
+
end
|
|
1297
|
+
____temp_10 = ____temp_9
|
|
1298
|
+
end
|
|
1299
|
+
local data = ____temp_10 or effectsData.data
|
|
1300
|
+
local modelPaths = data and data.modelPaths
|
|
1301
|
+
local attachmentPoints = data and data.attachmentPoints
|
|
1302
|
+
local parameters = data and data.parameters
|
|
1303
|
+
local effects = {}
|
|
1304
|
+
for i = 1, effectsData.effectCount do
|
|
1305
|
+
local effectModelPath = modelPaths and modelPaths[i] or ""
|
|
1306
|
+
local effectParameters = parameters and parameters[i]
|
|
1307
|
+
if type(xOrWidget) == "number" then
|
|
1308
|
+
effects[i] = Effect:create(effectModelPath, xOrWidget, y, effectParameters)
|
|
1309
|
+
else
|
|
1310
|
+
local attachmentPoint = attachmentPoints and attachmentPoints[i]
|
|
1311
|
+
if attachmentPoint == nil or attachmentPoint == "" then
|
|
1312
|
+
attachmentPoint = "origin"
|
|
1313
|
+
end
|
|
1314
|
+
effects[i] = Effect:create(effectModelPath, xOrWidget, attachmentPoint, effectParameters)
|
|
1315
|
+
end
|
|
1316
|
+
end
|
|
1317
|
+
targetChannelingEffectsByCaster[caster] = effects
|
|
1318
|
+
end
|
|
1319
|
+
local function handleAbilityWidgetTargetChannelingStartEvent(caster, ability, target)
|
|
1320
|
+
createTargetChannelingEffects(caster, ability.typeId, target)
|
|
1321
|
+
end
|
|
1322
|
+
local function handleAbilityPointTargetChannelingStartEvent(caster, ability, x, y)
|
|
1323
|
+
createTargetChannelingEffects(caster, ability.typeId, x, y)
|
|
1324
|
+
end
|
|
1080
1325
|
local function handleAbilityStopChannelingEvent(caster)
|
|
1081
|
-
local
|
|
1082
|
-
if
|
|
1083
|
-
for i = 1, #
|
|
1084
|
-
|
|
1326
|
+
local casterEffects = casterChannelingEffectsByCaster[caster]
|
|
1327
|
+
if casterEffects ~= nil then
|
|
1328
|
+
for i = 1, #casterEffects do
|
|
1329
|
+
casterEffects[i]:destroy()
|
|
1085
1330
|
end
|
|
1086
1331
|
casterChannelingEffectsByCaster[caster] = nil
|
|
1087
1332
|
end
|
|
1333
|
+
local targetEffects = targetChannelingEffectsByCaster[caster]
|
|
1334
|
+
if targetEffects ~= nil then
|
|
1335
|
+
for i = 1, #targetEffects do
|
|
1336
|
+
targetEffects[i]:destroy()
|
|
1337
|
+
end
|
|
1338
|
+
targetChannelingEffectsByCaster[caster] = nil
|
|
1339
|
+
end
|
|
1088
1340
|
end
|
|
1089
1341
|
for abilityTypeId in pairs(casterChannelingEffectModelPathsByAbilityTypeId) do
|
|
1090
1342
|
Unit.abilityChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityChannelingStartEvent)
|
|
1091
1343
|
Unit.abilityChannelingFinishEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
|
|
1092
1344
|
Unit.abilityStopEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
|
|
1093
1345
|
end
|
|
1346
|
+
for abilityTypeId in pairs(targetChannelingEffectsDataByAbilityTypeId) do
|
|
1347
|
+
Unit.abilityWidgetTargetChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityWidgetTargetChannelingStartEvent)
|
|
1348
|
+
Unit.abilityPointTargetChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityPointTargetChannelingStartEvent)
|
|
1349
|
+
Unit.abilityChannelingFinishEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
|
|
1350
|
+
Unit.abilityStopEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
|
|
1351
|
+
end
|
|
1094
1352
|
return ____exports
|