warscript 0.0.1-dev.c362181 → 0.0.1-dev.c47d565
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 +16 -2
- package/core/types/frame.lua +141 -77
- 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 +18 -3
- package/core/types/tileCell.lua +108 -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/ability-type-extended-tooltip.d.ts +8 -0
- package/engine/ability-type-extended-tooltip.lua +44 -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 +114 -58
- package/engine/buff.lua +564 -303
- 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/ability-duration.lua +1 -1
- package/engine/internal/mechanics/cast-ability.lua +6 -3
- package/engine/internal/misc/damage-metadata-by-target.lua +5 -0
- package/engine/internal/misc/frame-coordinates.d.ts +2 -0
- package/engine/internal/misc/frame-coordinates.lua +21 -0
- package/engine/internal/misc/get-terrain-z.d.ts +2 -0
- package/engine/internal/misc/get-terrain-z.lua +11 -0
- package/engine/internal/misc/player-local-handle.d.ts +2 -0
- package/engine/internal/misc/player-local-handle.lua +5 -0
- package/engine/internal/misc/unit-ability-level-natives.d.ts +2 -0
- package/engine/internal/misc/unit-ability-level-natives.lua +12 -0
- package/engine/internal/object-data/armor-bonus.d.ts +2 -0
- package/engine/internal/object-data/attribute-bonus.lua +2 -2
- package/engine/internal/object-data/health-bonus.d.ts +2 -0
- package/engine/internal/object-data/health-bonus.lua +16 -0
- package/engine/internal/object-data/health-regeneration-rate-increase.d.ts +2 -0
- package/engine/internal/object-data/health-regeneration-rate-increase.lua +48 -0
- package/engine/internal/object-data/mana-bonus.d.ts +2 -0
- package/engine/internal/object-data/mana-bonus.lua +16 -0
- package/engine/internal/object-data/mana-regeneration-rate-increase-factor.d.ts +2 -0
- package/engine/internal/object-data/mana-regeneration-rate-increase-factor.lua +16 -0
- package/engine/internal/object-data/returned-melee-damage-factor.d.ts +2 -0
- package/engine/internal/object-data/returned-melee-damage-factor.lua +21 -0
- package/engine/internal/unit/ability.d.ts +35 -0
- package/engine/internal/unit/ability.lua +98 -9
- 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 +17 -0
- package/engine/internal/unit/bonus.lua +113 -8
- package/engine/internal/unit/buff.d.ts +2 -2
- package/engine/internal/unit/buff.lua +34 -19
- package/engine/internal/unit/equipment-inventory.d.ts +44 -0
- package/engine/internal/unit/equipment-inventory.lua +233 -0
- package/engine/internal/unit/expiration-timer.lua +1 -1
- package/engine/internal/unit/extended-inventory.d.ts +25 -0
- package/engine/internal/unit/extended-inventory.lua +99 -0
- package/engine/internal/unit/fly-height.d.ts +7 -0
- package/engine/internal/unit/fly-height.lua +20 -0
- package/engine/internal/unit/ignore-events-items.lua +10 -1
- package/engine/internal/unit/interrupts.d.ts +12 -0
- package/engine/internal/unit/interrupts.lua +28 -0
- package/engine/internal/unit/{item.d.ts → inventory.d.ts} +7 -3
- package/engine/internal/unit/inventory.lua +87 -0
- package/engine/internal/unit/item-container.d.ts +25 -0
- package/engine/internal/unit/item-container.lua +11 -0
- package/engine/internal/unit/item-order-events.d.ts +17 -0
- package/engine/internal/unit/item-order-events.lua +67 -0
- package/engine/internal/unit/item-slot.d.ts +27 -0
- package/engine/internal/unit/item-slot.lua +92 -0
- package/engine/internal/unit/main-selected.lua +12 -27
- package/engine/internal/unit/order.d.ts +20 -0
- package/engine/internal/unit/order.lua +136 -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 +398 -327
- 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-passive-with-cooldown.d.ts +23 -0
- package/engine/object-data/entry/ability-type/blank-passive-with-cooldown.lua +112 -0
- package/engine/object-data/entry/ability-type/blank-passive.d.ts +4 -0
- package/engine/object-data/entry/ability-type/blank-passive.lua +27 -7
- package/engine/object-data/entry/ability-type/breath-of-fire.d.ts +11 -0
- package/engine/object-data/entry/ability-type/breath-of-fire.lua +27 -0
- package/engine/object-data/entry/ability-type/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/exhume-corpses.d.ts +14 -0
- package/engine/object-data/entry/ability-type/exhume-corpses.lua +40 -0
- package/engine/object-data/entry/ability-type/firebolt.d.ts +7 -0
- package/engine/object-data/entry/ability-type/firebolt.lua +13 -0
- package/engine/object-data/entry/ability-type/flame-strike.d.ts +25 -0
- package/engine/object-data/entry/ability-type/flame-strike.lua +92 -0
- package/engine/object-data/entry/ability-type/grant-talent-point.d.ts +8 -0
- package/engine/object-data/entry/ability-type/grant-talent-point.lua +13 -0
- package/engine/object-data/entry/ability-type/grim-conviction.d.ts +36 -0
- package/engine/object-data/entry/ability-type/grim-conviction.lua +131 -0
- package/engine/object-data/entry/ability-type/grit.d.ts +18 -0
- package/engine/object-data/entry/ability-type/grit.lua +65 -0
- package/engine/object-data/entry/ability-type/guiding-hand.d.ts +27 -0
- package/engine/object-data/entry/ability-type/guiding-hand.lua +104 -0
- package/engine/object-data/entry/ability-type/headsplitter.d.ts +27 -0
- package/engine/object-data/entry/ability-type/headsplitter.lua +104 -0
- package/engine/object-data/entry/ability-type/{armor-increase.d.ts → healing-modifier.d.ts} +4 -3
- package/engine/object-data/entry/ability-type/healing-modifier.lua +26 -0
- package/engine/object-data/entry/ability-type/healing-ward-aura.d.ts +13 -0
- package/engine/object-data/entry/ability-type/healing-ward-aura.lua +39 -0
- package/engine/object-data/entry/ability-type/health-bonus.d.ts +8 -0
- package/engine/object-data/entry/ability-type/health-bonus.lua +26 -0
- package/engine/object-data/entry/ability-type/heroic-slash.d.ts +18 -0
- package/engine/object-data/entry/ability-type/heroic-slash.lua +65 -0
- package/engine/object-data/entry/ability-type/holy-wrath.d.ts +30 -0
- package/engine/object-data/entry/ability-type/holy-wrath.lua +117 -0
- package/engine/object-data/entry/ability-type/inspire-courage.d.ts +18 -0
- package/engine/object-data/entry/ability-type/inspire-courage.lua +65 -0
- package/engine/object-data/entry/ability-type/item-life-regeneration.d.ts +10 -0
- package/engine/object-data/entry/ability-type/item-life-regeneration.lua +26 -0
- package/engine/object-data/entry/ability-type/life-drain.d.ts +37 -0
- package/engine/object-data/entry/ability-type/life-drain.lua +144 -0
- package/engine/object-data/entry/ability-type/lights-mercy.d.ts +27 -0
- package/engine/object-data/entry/ability-type/lights-mercy.lua +104 -0
- package/engine/object-data/entry/ability-type/mana-bonus.d.ts +8 -0
- package/engine/object-data/entry/ability-type/mana-bonus.lua +26 -0
- package/engine/object-data/entry/ability-type/mana-efficiency.d.ts +12 -0
- package/engine/object-data/entry/ability-type/mana-efficiency.lua +39 -0
- package/engine/object-data/entry/ability-type/mana-regeneration.d.ts +8 -0
- package/engine/object-data/entry/ability-type/mana-regeneration.lua +26 -0
- package/engine/object-data/entry/ability-type/mind-control.d.ts +21 -0
- package/engine/object-data/entry/ability-type/mind-control.lua +78 -0
- package/engine/object-data/entry/ability-type/on-attack-cast-spell.d.ts +21 -0
- package/engine/object-data/entry/ability-type/on-attack-cast-spell.lua +52 -0
- package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.d.ts +19 -0
- package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.lua +65 -0
- package/engine/object-data/entry/ability-type/on-hit-cast-spell.d.ts +15 -0
- package/engine/object-data/entry/ability-type/on-hit-cast-spell.lua +26 -0
- package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.d.ts +6 -0
- package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.lua +12 -0
- package/engine/object-data/entry/ability-type/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 +40 -15
- package/engine/object-data/entry/ability-type.lua +314 -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 +74 -6
- package/engine/object-data/entry/unit-type.lua +560 -100
- 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 +9 -1
- package/utility/arrays.lua +28 -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,20 +28,28 @@ 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[]);
|
|
39
|
+
get effectModelPathsSD(): string[];
|
|
40
|
+
set effectModelPathsSD(effectModelPathsSD: string[]);
|
|
41
|
+
get effectModelPathsHD(): string[];
|
|
42
|
+
set effectModelPathsHD(effectModelPathsHD: string[]);
|
|
43
|
+
get effectModelPathsDE(): string[];
|
|
44
|
+
set effectModelPathsDE(effectModelPathsDE: string[]);
|
|
38
45
|
get iconPath(): string;
|
|
39
46
|
set iconPath(iconPath: string);
|
|
40
47
|
get iconPathSD(): string;
|
|
41
48
|
set iconPathSD(iconPathSD: string);
|
|
42
49
|
get iconPathHD(): string;
|
|
43
50
|
set iconPathHD(iconPathHD: string);
|
|
51
|
+
get iconPathDE(): string;
|
|
52
|
+
set iconPathDE(iconPathDE: string);
|
|
44
53
|
get isButtonVisible(): boolean;
|
|
45
54
|
set isButtonVisible(isButtonVisible: boolean);
|
|
46
55
|
get isMissileHoming(): boolean;
|
|
@@ -59,20 +68,36 @@ export declare abstract class AbilityType extends ObjectDataEntry<AbilityTypeId>
|
|
|
59
68
|
set missileModelPathSD(missileModelPathSD: string);
|
|
60
69
|
get missileModelPathHD(): string;
|
|
61
70
|
set missileModelPathHD(missileModelPathHD: string);
|
|
71
|
+
get missileModelPathDE(): string;
|
|
72
|
+
set missileModelPathDE(missileModelPathDE: string);
|
|
62
73
|
get missileMovementArc(): number;
|
|
63
74
|
set missileMovementArc(missileMovementArc: number);
|
|
64
75
|
get missileMovementSpeed(): number;
|
|
65
76
|
set missileMovementSpeed(missileMovementSpeed: number);
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
77
|
+
/** Model paths of the special art (`asat`); Flame Strike, for one, uses three. */
|
|
78
|
+
get specialEffectModelPaths(): string[];
|
|
79
|
+
set specialEffectModelPaths(specialEffectModelPaths: string[]);
|
|
80
|
+
/** Where the special art attaches (`aspt`), shared by all its models. */
|
|
81
|
+
get specialEffectAttachmentPoint(): AttachmentPoint;
|
|
82
|
+
set specialEffectAttachmentPoint(specialEffectAttachmentPoint: AttachmentPointInput);
|
|
83
|
+
get targetCastingEffectPresets(): EffectPresetWithParameters[];
|
|
69
84
|
set targetCastingEffectPresets(targetCastingEffectPresets: AttachmentPresetInput[]);
|
|
70
|
-
get
|
|
85
|
+
get targetChannelingEffectPresets(): EffectPresetWithParameters[];
|
|
86
|
+
set targetChannelingEffectPresets(targetChannelingEffectPresets: EffectPresetWithParametersInput[]);
|
|
87
|
+
get targetChannelingEffectPresetsSD(): EffectPresetWithParameters[];
|
|
88
|
+
set targetChannelingEffectPresetsSD(targetChannelingEffectPresetsSD: EffectPresetWithParametersInput[]);
|
|
89
|
+
get targetChannelingEffectPresetsHD(): EffectPresetWithParameters[];
|
|
90
|
+
set targetChannelingEffectPresetsHD(targetChannelingEffectPresetsHD: EffectPresetWithParametersInput[]);
|
|
91
|
+
get targetChannelingEffectPresetsDE(): EffectPresetWithParameters[];
|
|
92
|
+
set targetChannelingEffectPresetsDE(targetChannelingEffectPresetsDE: EffectPresetWithParametersInput[]);
|
|
93
|
+
get targetEffectPresets(): TupleOf<EffectPresetWithParameters, 0 | 1 | 2 | 3 | 4 | 5 | 6>;
|
|
71
94
|
set targetEffectPresets(targetEffectPresets: TupleOf<AttachmentPresetInput, 0 | 1 | 2 | 3 | 4 | 5 | 6>);
|
|
72
|
-
get targetEffectPresetsSD(): TupleOf<
|
|
95
|
+
get targetEffectPresetsSD(): TupleOf<EffectPresetWithParameters, 0 | 1 | 2 | 3 | 4 | 5 | 6>;
|
|
73
96
|
set targetEffectPresetsSD(targetEffectPresetsSD: TupleOf<AttachmentPresetInput, 0 | 1 | 2 | 3 | 4 | 5 | 6>);
|
|
74
|
-
get targetEffectPresetsHD(): TupleOf<
|
|
97
|
+
get targetEffectPresetsHD(): TupleOf<EffectPresetWithParameters, 0 | 1 | 2 | 3 | 4 | 5 | 6>;
|
|
75
98
|
set targetEffectPresetsHD(targetEffectPresetsHD: TupleOf<AttachmentPresetInput, 0 | 1 | 2 | 3 | 4 | 5 | 6>);
|
|
99
|
+
get targetEffectPresetsDE(): TupleOf<EffectPresetWithParameters, 0 | 1 | 2 | 3 | 4 | 5 | 6>;
|
|
100
|
+
set targetEffectPresetsDE(targetEffectPresetsDE: TupleOf<AttachmentPresetInput, 0 | 1 | 2 | 3 | 4 | 5 | 6>);
|
|
76
101
|
get turnOffButtonPositionX(): number;
|
|
77
102
|
set turnOffButtonPositionX(buttonPositionX: number);
|
|
78
103
|
get turnOffButtonPositionY(): number;
|
|
@@ -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
|
|
@@ -162,6 +174,45 @@ __TS__SetDescriptor(
|
|
|
162
174
|
},
|
|
163
175
|
true
|
|
164
176
|
)
|
|
177
|
+
__TS__SetDescriptor(
|
|
178
|
+
AbilityType.prototype,
|
|
179
|
+
"effectModelPathsSD",
|
|
180
|
+
{
|
|
181
|
+
get = function(self)
|
|
182
|
+
return self:getStringsField("aeat:sd")
|
|
183
|
+
end,
|
|
184
|
+
set = function(self, effectModelPathsSD)
|
|
185
|
+
self:setStringsField("aeat:sd", effectModelPathsSD)
|
|
186
|
+
end
|
|
187
|
+
},
|
|
188
|
+
true
|
|
189
|
+
)
|
|
190
|
+
__TS__SetDescriptor(
|
|
191
|
+
AbilityType.prototype,
|
|
192
|
+
"effectModelPathsHD",
|
|
193
|
+
{
|
|
194
|
+
get = function(self)
|
|
195
|
+
return self:getStringsField("aeat:hd")
|
|
196
|
+
end,
|
|
197
|
+
set = function(self, effectModelPathsHD)
|
|
198
|
+
self:setStringsField("aeat:hd", effectModelPathsHD)
|
|
199
|
+
end
|
|
200
|
+
},
|
|
201
|
+
true
|
|
202
|
+
)
|
|
203
|
+
__TS__SetDescriptor(
|
|
204
|
+
AbilityType.prototype,
|
|
205
|
+
"effectModelPathsDE",
|
|
206
|
+
{
|
|
207
|
+
get = function(self)
|
|
208
|
+
return self:getStringsField("aeat:de")
|
|
209
|
+
end,
|
|
210
|
+
set = function(self, effectModelPathsDE)
|
|
211
|
+
self:setStringsField("aeat:de", effectModelPathsDE)
|
|
212
|
+
end
|
|
213
|
+
},
|
|
214
|
+
true
|
|
215
|
+
)
|
|
165
216
|
__TS__SetDescriptor(
|
|
166
217
|
AbilityType.prototype,
|
|
167
218
|
"iconPath",
|
|
@@ -201,6 +252,19 @@ __TS__SetDescriptor(
|
|
|
201
252
|
},
|
|
202
253
|
true
|
|
203
254
|
)
|
|
255
|
+
__TS__SetDescriptor(
|
|
256
|
+
AbilityType.prototype,
|
|
257
|
+
"iconPathDE",
|
|
258
|
+
{
|
|
259
|
+
get = function(self)
|
|
260
|
+
return self:getStringField("aart:de")
|
|
261
|
+
end,
|
|
262
|
+
set = function(self, iconPathDE)
|
|
263
|
+
self:setStringField("aart:de", iconPathDE)
|
|
264
|
+
end
|
|
265
|
+
},
|
|
266
|
+
true
|
|
267
|
+
)
|
|
204
268
|
__TS__SetDescriptor(
|
|
205
269
|
AbilityType.prototype,
|
|
206
270
|
"isButtonVisible",
|
|
@@ -323,6 +387,19 @@ __TS__SetDescriptor(
|
|
|
323
387
|
},
|
|
324
388
|
true
|
|
325
389
|
)
|
|
390
|
+
__TS__SetDescriptor(
|
|
391
|
+
AbilityType.prototype,
|
|
392
|
+
"missileModelPathDE",
|
|
393
|
+
{
|
|
394
|
+
get = function(self)
|
|
395
|
+
return self:getStringField("amat:de")
|
|
396
|
+
end,
|
|
397
|
+
set = function(self, missileModelPathDE)
|
|
398
|
+
self:setStringField("amat:de", missileModelPathDE)
|
|
399
|
+
end
|
|
400
|
+
},
|
|
401
|
+
true
|
|
402
|
+
)
|
|
326
403
|
__TS__SetDescriptor(
|
|
327
404
|
AbilityType.prototype,
|
|
328
405
|
"missileMovementArc",
|
|
@@ -351,13 +428,30 @@ __TS__SetDescriptor(
|
|
|
351
428
|
)
|
|
352
429
|
__TS__SetDescriptor(
|
|
353
430
|
AbilityType.prototype,
|
|
354
|
-
"
|
|
431
|
+
"specialEffectModelPaths",
|
|
432
|
+
{
|
|
433
|
+
get = function(self)
|
|
434
|
+
return self:getStringsField("asat")
|
|
435
|
+
end,
|
|
436
|
+
set = function(self, specialEffectModelPaths)
|
|
437
|
+
self:setStringsField("asat", specialEffectModelPaths)
|
|
438
|
+
end
|
|
439
|
+
},
|
|
440
|
+
true
|
|
441
|
+
)
|
|
442
|
+
__TS__SetDescriptor(
|
|
443
|
+
AbilityType.prototype,
|
|
444
|
+
"specialEffectAttachmentPoint",
|
|
355
445
|
{
|
|
356
446
|
get = function(self)
|
|
357
|
-
|
|
447
|
+
local nodeName, nodeQualifiers = splitAttachmentNodeFQN(self:getStringField("aspt"))
|
|
448
|
+
return {nodeName = nodeName, nodeQualifiers = nodeQualifiers}
|
|
358
449
|
end,
|
|
359
|
-
set = function(self,
|
|
360
|
-
self:
|
|
450
|
+
set = function(self, specialEffectAttachmentPoint)
|
|
451
|
+
self:setStringField(
|
|
452
|
+
"aspt",
|
|
453
|
+
attachmentPointToNodeFQN(specialEffectAttachmentPoint)
|
|
454
|
+
)
|
|
361
455
|
end
|
|
362
456
|
},
|
|
363
457
|
true
|
|
@@ -370,7 +464,59 @@ __TS__SetDescriptor(
|
|
|
370
464
|
return targetCastingEffectPresetsByAbilityTypeId[self.id] or ({})
|
|
371
465
|
end,
|
|
372
466
|
set = function(self, targetCastingEffectPresets)
|
|
373
|
-
targetCastingEffectPresetsByAbilityTypeId[self.id] = map(targetCastingEffectPresets,
|
|
467
|
+
targetCastingEffectPresetsByAbilityTypeId[self.id] = map(targetCastingEffectPresets, toEffectPreset)
|
|
468
|
+
end
|
|
469
|
+
},
|
|
470
|
+
true
|
|
471
|
+
)
|
|
472
|
+
__TS__SetDescriptor(
|
|
473
|
+
AbilityType.prototype,
|
|
474
|
+
"targetChannelingEffectPresets",
|
|
475
|
+
{
|
|
476
|
+
get = function(self)
|
|
477
|
+
return targetChannelingEffectPresetsByAbilityTypeId[self.id] or ({})
|
|
478
|
+
end,
|
|
479
|
+
set = function(self, targetChannelingEffectPresets)
|
|
480
|
+
targetChannelingEffectPresetsByAbilityTypeId[self.id] = map(targetChannelingEffectPresets, toEffectPreset)
|
|
481
|
+
end
|
|
482
|
+
},
|
|
483
|
+
true
|
|
484
|
+
)
|
|
485
|
+
__TS__SetDescriptor(
|
|
486
|
+
AbilityType.prototype,
|
|
487
|
+
"targetChannelingEffectPresetsSD",
|
|
488
|
+
{
|
|
489
|
+
get = function(self)
|
|
490
|
+
return targetChannelingEffectPresetsSDByAbilityTypeId[self.id] or self.targetChannelingEffectPresets
|
|
491
|
+
end,
|
|
492
|
+
set = function(self, targetChannelingEffectPresetsSD)
|
|
493
|
+
targetChannelingEffectPresetsSDByAbilityTypeId[self.id] = map(targetChannelingEffectPresetsSD, toEffectPreset)
|
|
494
|
+
end
|
|
495
|
+
},
|
|
496
|
+
true
|
|
497
|
+
)
|
|
498
|
+
__TS__SetDescriptor(
|
|
499
|
+
AbilityType.prototype,
|
|
500
|
+
"targetChannelingEffectPresetsHD",
|
|
501
|
+
{
|
|
502
|
+
get = function(self)
|
|
503
|
+
return targetChannelingEffectPresetsHDByAbilityTypeId[self.id] or self.targetChannelingEffectPresets
|
|
504
|
+
end,
|
|
505
|
+
set = function(self, targetChannelingEffectPresetsHD)
|
|
506
|
+
targetChannelingEffectPresetsHDByAbilityTypeId[self.id] = map(targetChannelingEffectPresetsHD, toEffectPreset)
|
|
507
|
+
end
|
|
508
|
+
},
|
|
509
|
+
true
|
|
510
|
+
)
|
|
511
|
+
__TS__SetDescriptor(
|
|
512
|
+
AbilityType.prototype,
|
|
513
|
+
"targetChannelingEffectPresetsDE",
|
|
514
|
+
{
|
|
515
|
+
get = function(self)
|
|
516
|
+
return targetChannelingEffectPresetsDEByAbilityTypeId[self.id] or self.targetChannelingEffectPresets
|
|
517
|
+
end,
|
|
518
|
+
set = function(self, targetChannelingEffectPresetsDE)
|
|
519
|
+
targetChannelingEffectPresetsDEByAbilityTypeId[self.id] = map(targetChannelingEffectPresetsDE, toEffectPreset)
|
|
374
520
|
end
|
|
375
521
|
},
|
|
376
522
|
true
|
|
@@ -456,6 +602,33 @@ __TS__SetDescriptor(
|
|
|
456
602
|
},
|
|
457
603
|
true
|
|
458
604
|
)
|
|
605
|
+
__TS__SetDescriptor(
|
|
606
|
+
AbilityType.prototype,
|
|
607
|
+
"targetEffectPresetsDE",
|
|
608
|
+
{
|
|
609
|
+
get = function(self)
|
|
610
|
+
return self:getAttachmentPresetListField(
|
|
611
|
+
"atat:de",
|
|
612
|
+
array(
|
|
613
|
+
6,
|
|
614
|
+
function(i) return ("ata" .. tostring(i)) .. ":de" end
|
|
615
|
+
)
|
|
616
|
+
)
|
|
617
|
+
end,
|
|
618
|
+
set = function(self, targetEffectPresetsDE)
|
|
619
|
+
self:setAttachmentPresetListField(
|
|
620
|
+
"atat:de",
|
|
621
|
+
array(
|
|
622
|
+
6,
|
|
623
|
+
function(i) return ("ata" .. tostring(i)) .. ":de" end
|
|
624
|
+
),
|
|
625
|
+
"atac:de",
|
|
626
|
+
targetEffectPresetsDE
|
|
627
|
+
)
|
|
628
|
+
end
|
|
629
|
+
},
|
|
630
|
+
true
|
|
631
|
+
)
|
|
459
632
|
__TS__SetDescriptor(
|
|
460
633
|
AbilityType.prototype,
|
|
461
634
|
"turnOffButtonPositionX",
|
|
@@ -978,9 +1151,7 @@ for abilityTypeId, animationFQN in pairs(postcompile(function() return castAnima
|
|
|
978
1151
|
4,
|
|
979
1152
|
function(caster, ability)
|
|
980
1153
|
if ability:getField(ABILITY_RLF_CASTING_TIME) ~= 0 then
|
|
981
|
-
Timer:run(
|
|
982
|
-
caster:playAnimation(animationFQN)
|
|
983
|
-
end)
|
|
1154
|
+
Timer:run(caster, "playAnimation", animationFQN)
|
|
984
1155
|
end
|
|
985
1156
|
end
|
|
986
1157
|
)
|
|
@@ -1005,6 +1176,13 @@ for abilityTypeId, soundPresetId in pairs(postcompile(function() return targetEf
|
|
|
1005
1176
|
)
|
|
1006
1177
|
end
|
|
1007
1178
|
end
|
|
1179
|
+
local unsupportedEffectSoundAbilityTypeIds = luaSetOf(fourCC("AAns"))
|
|
1180
|
+
Unit.abilityChannelingStartEvent:addListener(function(caster, ability)
|
|
1181
|
+
local soundPresetId = ability:getField(ABILITY_SF_EFFECT_SOUND)
|
|
1182
|
+
if isSoundLabelCustom(soundPresetId) or soundPresetId ~= "" and unsupportedEffectSoundAbilityTypeIds[ability.parentTypeId] ~= nil then
|
|
1183
|
+
Sound3D:playFromLabel(soundPresetId, SoundSettings.Ability, caster)
|
|
1184
|
+
end
|
|
1185
|
+
end)
|
|
1008
1186
|
local casterCastingEffectModelPathsByAbilityTypeId = postcompile(function()
|
|
1009
1187
|
return mapValues(
|
|
1010
1188
|
casterCastingEffectPresetsByAbilityTypeId,
|
|
@@ -1017,10 +1195,17 @@ local casterCastingEffectAttachmentPointsByAbilityTypeId = postcompile(function(
|
|
|
1017
1195
|
function(casterCastingEffectPresets) return map(casterCastingEffectPresets, extractAttachmentPresetInputNodeFQN) end
|
|
1018
1196
|
)
|
|
1019
1197
|
end)
|
|
1198
|
+
local casterCastingEffectParametersByAbilityTypeId = postcompile(function()
|
|
1199
|
+
return mapValues(
|
|
1200
|
+
casterCastingEffectPresetsByAbilityTypeId,
|
|
1201
|
+
function(casterCastingEffectPresets) return map(casterCastingEffectPresets, "parameters") end
|
|
1202
|
+
)
|
|
1203
|
+
end)
|
|
1020
1204
|
local casterCastingEffectsByCaster = {}
|
|
1021
1205
|
local function handleAbilityCastingStartEvent(caster, ability)
|
|
1022
1206
|
local effectModelPaths = casterCastingEffectModelPathsByAbilityTypeId[ability.typeId]
|
|
1023
1207
|
local attachmentPoints = casterCastingEffectAttachmentPointsByAbilityTypeId[ability.typeId]
|
|
1208
|
+
local parameters = casterCastingEffectParametersByAbilityTypeId[ability.typeId]
|
|
1024
1209
|
local effects = {}
|
|
1025
1210
|
if effectModelPaths ~= nil then
|
|
1026
1211
|
for i = 1, #effectModelPaths do
|
|
@@ -1029,7 +1214,7 @@ local function handleAbilityCastingStartEvent(caster, ability)
|
|
|
1029
1214
|
if attachmentPoint == nil or attachmentPoint == "" then
|
|
1030
1215
|
attachmentPoint = "origin"
|
|
1031
1216
|
end
|
|
1032
|
-
effects[i] = Effect:
|
|
1217
|
+
effects[i] = Effect:create(effectModelPath, caster, attachmentPoint, parameters and parameters[i])
|
|
1033
1218
|
end
|
|
1034
1219
|
end
|
|
1035
1220
|
casterCastingEffectsByCaster[caster] = effects
|
|
@@ -1060,10 +1245,17 @@ local casterChannelingEffectAttachmentPointsByAbilityTypeId = postcompile(functi
|
|
|
1060
1245
|
function(casterChannelingEffectPresets) return map(casterChannelingEffectPresets, extractAttachmentPresetInputNodeFQN) end
|
|
1061
1246
|
)
|
|
1062
1247
|
end)
|
|
1248
|
+
local casterChannelingEffectParametersByAbilityTypeId = postcompile(function()
|
|
1249
|
+
return mapValues(
|
|
1250
|
+
casterChannelingEffectPresetsByAbilityTypeId,
|
|
1251
|
+
function(casterChannelingEffectPresets) return map(casterChannelingEffectPresets, "parameters") end
|
|
1252
|
+
)
|
|
1253
|
+
end)
|
|
1063
1254
|
local casterChannelingEffectsByCaster = {}
|
|
1064
1255
|
local function handleAbilityChannelingStartEvent(caster, ability)
|
|
1065
1256
|
local effectModelPaths = casterChannelingEffectModelPathsByAbilityTypeId[ability.typeId]
|
|
1066
1257
|
local attachmentPoints = casterChannelingEffectAttachmentPointsByAbilityTypeId[ability.typeId]
|
|
1258
|
+
local parameters = casterChannelingEffectParametersByAbilityTypeId[ability.typeId]
|
|
1067
1259
|
local effects = {}
|
|
1068
1260
|
if effectModelPaths ~= nil then
|
|
1069
1261
|
for i = 1, #effectModelPaths do
|
|
@@ -1072,23 +1264,128 @@ local function handleAbilityChannelingStartEvent(caster, ability)
|
|
|
1072
1264
|
if attachmentPoint == nil or attachmentPoint == "" then
|
|
1073
1265
|
attachmentPoint = "origin"
|
|
1074
1266
|
end
|
|
1075
|
-
effects[i] = Effect:
|
|
1267
|
+
effects[i] = Effect:create(effectModelPath, caster, attachmentPoint, parameters and parameters[i])
|
|
1076
1268
|
end
|
|
1077
1269
|
end
|
|
1078
1270
|
casterChannelingEffectsByCaster[caster] = effects
|
|
1079
1271
|
end
|
|
1272
|
+
local targetChannelingEffectsDataByAbilityTypeId = postcompile(function()
|
|
1273
|
+
local function toData(presets)
|
|
1274
|
+
if presets == nil then
|
|
1275
|
+
return nil
|
|
1276
|
+
end
|
|
1277
|
+
local attachmentPoints = map(presets, extractAttachmentPresetInputNodeFQN)
|
|
1278
|
+
local parameters = map(presets, "parameters")
|
|
1279
|
+
return {
|
|
1280
|
+
modelPaths = map(presets, extractAttachmentPresetInputModelPath),
|
|
1281
|
+
attachmentPoints = __TS__ArraySome(
|
|
1282
|
+
attachmentPoints,
|
|
1283
|
+
function(____, attachmentPoint) return attachmentPoint ~= "" end
|
|
1284
|
+
) and attachmentPoints or nil,
|
|
1285
|
+
parameters = __TS__ArraySome(
|
|
1286
|
+
presets,
|
|
1287
|
+
function(____, preset) return preset.parameters ~= nil end
|
|
1288
|
+
) and parameters or nil
|
|
1289
|
+
}
|
|
1290
|
+
end
|
|
1291
|
+
local abilityTypeIds = {}
|
|
1292
|
+
for ____, presetsByAbilityTypeId in ipairs({targetChannelingEffectPresetsByAbilityTypeId, targetChannelingEffectPresetsSDByAbilityTypeId, targetChannelingEffectPresetsHDByAbilityTypeId, targetChannelingEffectPresetsDEByAbilityTypeId}) do
|
|
1293
|
+
for abilityTypeId in pairs(presetsByAbilityTypeId) do
|
|
1294
|
+
abilityTypeIds[abilityTypeId] = true
|
|
1295
|
+
end
|
|
1296
|
+
end
|
|
1297
|
+
local result = {}
|
|
1298
|
+
for abilityTypeId in pairs(abilityTypeIds) do
|
|
1299
|
+
local presets = targetChannelingEffectPresetsByAbilityTypeId[abilityTypeId]
|
|
1300
|
+
local presetsSD = targetChannelingEffectPresetsSDByAbilityTypeId[abilityTypeId]
|
|
1301
|
+
local presetsHD = targetChannelingEffectPresetsHDByAbilityTypeId[abilityTypeId]
|
|
1302
|
+
local presetsDE = targetChannelingEffectPresetsDEByAbilityTypeId[abilityTypeId]
|
|
1303
|
+
local ____math_max_8 = math.max
|
|
1304
|
+
local ____opt_0 = presetsSD or presets
|
|
1305
|
+
local ____temp_6 = ____opt_0 and #____opt_0 or 0
|
|
1306
|
+
local ____opt_2 = presetsHD or presets
|
|
1307
|
+
local ____temp_7 = ____opt_2 and #____opt_2 or 0
|
|
1308
|
+
local ____opt_4 = presetsDE or presets
|
|
1309
|
+
result[abilityTypeId] = {
|
|
1310
|
+
effectCount = ____math_max_8(____temp_6, ____temp_7, ____opt_4 and #____opt_4 or 0),
|
|
1311
|
+
data = toData(presets),
|
|
1312
|
+
dataSD = toData(presetsSD),
|
|
1313
|
+
dataHD = toData(presetsHD),
|
|
1314
|
+
dataDE = toData(presetsDE)
|
|
1315
|
+
}
|
|
1316
|
+
end
|
|
1317
|
+
return result
|
|
1318
|
+
end)
|
|
1319
|
+
local targetChannelingEffectsByCaster = {}
|
|
1320
|
+
local function createTargetChannelingEffects(caster, abilityTypeId, xOrWidget, y)
|
|
1321
|
+
local effectsData = targetChannelingEffectsDataByAbilityTypeId[abilityTypeId]
|
|
1322
|
+
if effectsData == nil then
|
|
1323
|
+
return
|
|
1324
|
+
end
|
|
1325
|
+
local graphicsMode = LocalClient.graphicsMode
|
|
1326
|
+
local ____temp_10
|
|
1327
|
+
if graphicsMode == 0 then
|
|
1328
|
+
____temp_10 = effectsData.dataSD
|
|
1329
|
+
else
|
|
1330
|
+
local ____temp_9
|
|
1331
|
+
if graphicsMode == 1 then
|
|
1332
|
+
____temp_9 = effectsData.dataHD
|
|
1333
|
+
else
|
|
1334
|
+
____temp_9 = effectsData.dataDE
|
|
1335
|
+
end
|
|
1336
|
+
____temp_10 = ____temp_9
|
|
1337
|
+
end
|
|
1338
|
+
local data = ____temp_10 or effectsData.data
|
|
1339
|
+
local modelPaths = data and data.modelPaths
|
|
1340
|
+
local attachmentPoints = data and data.attachmentPoints
|
|
1341
|
+
local parameters = data and data.parameters
|
|
1342
|
+
local effects = {}
|
|
1343
|
+
for i = 1, effectsData.effectCount do
|
|
1344
|
+
local effectModelPath = modelPaths and modelPaths[i] or ""
|
|
1345
|
+
local effectParameters = parameters and parameters[i]
|
|
1346
|
+
if type(xOrWidget) == "number" then
|
|
1347
|
+
effects[i] = Effect:create(effectModelPath, xOrWidget, y, effectParameters)
|
|
1348
|
+
else
|
|
1349
|
+
local attachmentPoint = attachmentPoints and attachmentPoints[i]
|
|
1350
|
+
if attachmentPoint == nil or attachmentPoint == "" then
|
|
1351
|
+
attachmentPoint = "origin"
|
|
1352
|
+
end
|
|
1353
|
+
effects[i] = Effect:create(effectModelPath, xOrWidget, attachmentPoint, effectParameters)
|
|
1354
|
+
end
|
|
1355
|
+
end
|
|
1356
|
+
targetChannelingEffectsByCaster[caster] = effects
|
|
1357
|
+
end
|
|
1358
|
+
local function handleAbilityWidgetTargetChannelingStartEvent(caster, ability, target)
|
|
1359
|
+
createTargetChannelingEffects(caster, ability.typeId, target)
|
|
1360
|
+
end
|
|
1361
|
+
local function handleAbilityPointTargetChannelingStartEvent(caster, ability, x, y)
|
|
1362
|
+
createTargetChannelingEffects(caster, ability.typeId, x, y)
|
|
1363
|
+
end
|
|
1080
1364
|
local function handleAbilityStopChannelingEvent(caster)
|
|
1081
|
-
local
|
|
1082
|
-
if
|
|
1083
|
-
for i = 1, #
|
|
1084
|
-
|
|
1365
|
+
local casterEffects = casterChannelingEffectsByCaster[caster]
|
|
1366
|
+
if casterEffects ~= nil then
|
|
1367
|
+
for i = 1, #casterEffects do
|
|
1368
|
+
casterEffects[i]:destroy()
|
|
1085
1369
|
end
|
|
1086
1370
|
casterChannelingEffectsByCaster[caster] = nil
|
|
1087
1371
|
end
|
|
1372
|
+
local targetEffects = targetChannelingEffectsByCaster[caster]
|
|
1373
|
+
if targetEffects ~= nil then
|
|
1374
|
+
for i = 1, #targetEffects do
|
|
1375
|
+
targetEffects[i]:destroy()
|
|
1376
|
+
end
|
|
1377
|
+
targetChannelingEffectsByCaster[caster] = nil
|
|
1378
|
+
end
|
|
1088
1379
|
end
|
|
1089
1380
|
for abilityTypeId in pairs(casterChannelingEffectModelPathsByAbilityTypeId) do
|
|
1090
1381
|
Unit.abilityChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityChannelingStartEvent)
|
|
1091
1382
|
Unit.abilityChannelingFinishEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
|
|
1092
1383
|
Unit.abilityStopEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
|
|
1093
1384
|
end
|
|
1385
|
+
for abilityTypeId in pairs(targetChannelingEffectsDataByAbilityTypeId) do
|
|
1386
|
+
Unit.abilityWidgetTargetChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityWidgetTargetChannelingStartEvent)
|
|
1387
|
+
Unit.abilityPointTargetChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityPointTargetChannelingStartEvent)
|
|
1388
|
+
Unit.abilityChannelingFinishEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
|
|
1389
|
+
Unit.abilityStopEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
|
|
1390
|
+
end
|
|
1094
1391
|
return ____exports
|