warscript 0.0.1-dev.47f470c → 0.0.1-dev.4b6e45a
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 +21 -2
- package/core/types/frame.lua +165 -87
- 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/missile.lua +8 -7
- package/core/types/player.d.ts +18 -1
- package/core/types/player.lua +76 -26
- package/core/types/playerCamera.d.ts +2 -0
- package/core/types/playerCamera.lua +123 -5
- package/core/types/playerColor.lua +4 -3
- package/core/types/sound.d.ts +18 -26
- package/core/types/sound.lua +105 -55
- 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 +115 -4
- package/decl/native.d.ts +1719 -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 +6 -0
- package/engine/behaviour/ability/damage.d.ts +13 -3
- package/engine/behaviour/ability/damage.lua +41 -49
- package/engine/behaviour/ability/emulate-impact.d.ts +15 -1
- package/engine/behaviour/ability/emulate-impact.lua +96 -7
- package/engine/behaviour/ability/instant-impact.d.ts +12 -1
- package/engine/behaviour/ability/instant-impact.lua +17 -2
- 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 +23 -6
- package/engine/behaviour/ability.lua +145 -29
- package/engine/behaviour/unit/stun-immunity.d.ts +12 -6
- package/engine/behaviour/unit/stun-immunity.lua +57 -31
- package/engine/behaviour/unit.d.ts +41 -2
- package/engine/behaviour/unit.lua +270 -6
- package/engine/buff.d.ts +130 -57
- package/engine/buff.lua +643 -294
- 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 +114 -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/shared-vision-counter.d.ts +18 -0
- package/engine/internal/unit/shared-vision-counter.lua +31 -0
- package/engine/internal/unit+ability.d.ts +2 -1
- package/engine/internal/unit+ability.lua +83 -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 +96 -68
- package/engine/internal/unit-missile-launch.lua +65 -27
- package/engine/internal/unit.d.ts +47 -34
- package/engine/internal/unit.lua +413 -323
- package/engine/lightning.lua +4 -4
- 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-eax.d.ts +10 -0
- package/engine/object-data/auxiliary/sound-eax.lua +2 -0
- package/engine/object-data/auxiliary/sound-set-name.d.ts +14 -3
- package/engine/object-data/auxiliary/unit-attribute.d.ts +6 -0
- package/engine/object-data/auxiliary/unit-attribute.lua +9 -0
- package/engine/object-data/auxiliary/unit-weapon-type.d.ts +21 -0
- package/engine/object-data/auxiliary/unit-weapon-type.lua +2 -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/barrage.d.ts +12 -0
- package/engine/object-data/entry/ability-type/barrage.lua +52 -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.lua +2 -11
- 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/channel.d.ts +2 -2
- package/engine/object-data/entry/ability-type/channel.lua +3 -3
- 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/curse.lua +2 -2
- 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/ensnare.d.ts +12 -0
- package/engine/object-data/entry/ability-type/ensnare.lua +52 -0
- package/engine/object-data/entry/ability-type/equipment-inventory-interface.d.ts +8 -0
- package/engine/object-data/entry/ability-type/equipment-inventory-interface.lua +13 -0
- package/engine/object-data/entry/ability-type/equipment-inventory.d.ts +13 -0
- package/engine/object-data/entry/ability-type/equipment-inventory.lua +27 -0
- package/engine/object-data/entry/ability-type/equipment.d.ts +13 -0
- package/engine/object-data/entry/ability-type/equipment.lua +27 -0
- package/engine/object-data/entry/ability-type/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-dead.d.ts +17 -0
- package/engine/object-data/entry/ability-type/raise-dead.lua +78 -0
- package/engine/object-data/entry/ability-type/raise-the-banner.d.ts +9 -0
- package/engine/object-data/entry/ability-type/raise-the-banner.lua +26 -0
- package/engine/object-data/entry/ability-type/reincarnation.d.ts +8 -0
- package/engine/object-data/entry/ability-type/reincarnation.lua +26 -0
- package/engine/object-data/entry/ability-type/resolve.d.ts +12 -0
- package/engine/object-data/entry/ability-type/resolve.lua +39 -0
- package/engine/object-data/entry/ability-type/righteous-fury.d.ts +33 -0
- package/engine/object-data/entry/ability-type/righteous-fury.lua +130 -0
- package/engine/object-data/entry/ability-type/sacred-aura.d.ts +27 -0
- package/engine/object-data/entry/ability-type/sacred-aura.lua +104 -0
- package/engine/object-data/entry/ability-type/shock-wave.d.ts +4 -0
- package/engine/object-data/entry/ability-type/shock-wave.lua +26 -0
- package/engine/object-data/entry/ability-type/slow-poison.d.ts +10 -0
- package/engine/object-data/entry/ability-type/slow-poison.lua +58 -0
- package/engine/object-data/entry/ability-type/soul-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 +50 -21
- package/engine/object-data/entry/ability-type.lua +376 -27
- package/engine/object-data/entry/buff-type/applicable.lua +124 -108
- 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 +19 -3
- package/engine/object-data/entry/sound-preset.lua +105 -15
- 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 +8 -3
- package/engine/object-data/entry.lua +22 -7
- 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 +4 -4
- package/engine/standard/fields/ability.lua +4 -4
- 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 +48 -2
- package/engine/text-tag.lua +287 -10
- package/engine/unit.d.ts +12 -1
- package/engine/unit.lua +12 -1
- package/event.d.ts +1 -1
- package/lualib_bundle.lua +1 -1
- package/math.d.ts +2 -0
- package/math.lua +14 -0
- package/net/socket.lua +1 -1
- package/network.lua +25 -1
- package/objutil/buff.lua +12 -11
- package/objutil/object.lua +1 -1
- package/objutil/unit.lua +2 -2
- 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/reflection.lua +11 -7
- package/utility/types.d.ts +3 -0
- package/utility/unordered-map.d.ts +27 -0
- package/utility/unordered-map.lua +99 -0
- package/core/types/order.d.ts +0 -25
- package/core/types/order.lua +0 -55
- package/engine/internal/unit/item.lua +0 -78
- /package/engine/internal/{object-data/armor-increase.d.ts → misc/damage-metadata-by-target.d.ts} +0 -0
- /package/engine/internal/object-data/{armor-increase.lua → armor-bonus.lua} +0 -0
- /package/engine/object-data/entry/ability-type/{attribute-increase.d.ts → attribute-bonus.d.ts} +0 -0
- /package/engine/object-data/entry/ability-type/{attribute-increase.lua → attribute-bonus.lua} +0 -0
|
@@ -1,25 +1,171 @@
|
|
|
1
1
|
local ____lualib = require("lualib_bundle")
|
|
2
2
|
local __TS__Class = ____lualib.__TS__Class
|
|
3
3
|
local __TS__ClassExtends = ____lualib.__TS__ClassExtends
|
|
4
|
+
local __TS__New = ____lualib.__TS__New
|
|
4
5
|
local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
|
|
5
6
|
local ____exports = {}
|
|
6
7
|
local ____behavior = require("engine.behavior")
|
|
7
8
|
local Behavior = ____behavior.Behavior
|
|
8
9
|
local ____unit = require("engine.internal.unit")
|
|
9
10
|
local Unit = ____unit.Unit
|
|
11
|
+
require("engine.internal.unit.equipment-inventory")
|
|
10
12
|
require("engine.internal.unit+ability")
|
|
11
13
|
require("engine.internal.unit-missile-launch")
|
|
14
|
+
local ____linked_2Dset = require("utility.linked-set")
|
|
15
|
+
local LinkedSet = ____linked_2Dset.LinkedSet
|
|
16
|
+
local ____lua_2Dmaps = require("utility.lua-maps")
|
|
17
|
+
local getOrPut = ____lua_2Dmaps.getOrPut
|
|
18
|
+
local mutableLuaMap = ____lua_2Dmaps.mutableLuaMap
|
|
19
|
+
local ____lua_2Dsets = require("utility.lua-sets")
|
|
20
|
+
local mutableLuaSet = ____lua_2Dsets.mutableLuaSet
|
|
21
|
+
local ____bonus = require("engine.internal.unit.bonus")
|
|
22
|
+
local addOrUpdateOrRemoveUnitBonus = ____bonus.addOrUpdateOrRemoveUnitBonus
|
|
23
|
+
local getUnitBonus = ____bonus.getUnitBonus
|
|
24
|
+
local removeUnitBonus = ____bonus.removeUnitBonus
|
|
25
|
+
local ____linked_2Dmap = require("utility.linked-map")
|
|
26
|
+
local LinkedMap = ____linked_2Dmap.LinkedMap
|
|
27
|
+
local safeCall = warpack.safeCall
|
|
28
|
+
local createBehaviorFunctionsByUnitTypeId = {}
|
|
29
|
+
local behaviorsByOwningPlayerEvent = {}
|
|
30
|
+
local listenerByBehaviorByOwningPlayerEvent = {}
|
|
31
|
+
local owningPlayerEventsByBehavior = {}
|
|
32
|
+
local behaviorsByInRangeUnitEvent = {}
|
|
33
|
+
local rangeByBehaviorByInRangeUnitEvent = {}
|
|
34
|
+
local listenerByBehaviorByInRangeUnitEvent = {}
|
|
35
|
+
local inRangeUnitEventsByBehavior = {}
|
|
12
36
|
____exports.UnitBehavior = __TS__Class()
|
|
13
37
|
local UnitBehavior = ____exports.UnitBehavior
|
|
14
38
|
UnitBehavior.name = "UnitBehavior"
|
|
15
39
|
__TS__ClassExtends(UnitBehavior, Behavior)
|
|
16
|
-
function UnitBehavior.prototype.____constructor(self, unit)
|
|
17
|
-
Behavior.prototype.____constructor(self, unit)
|
|
40
|
+
function UnitBehavior.prototype.____constructor(self, unit, priority)
|
|
41
|
+
Behavior.prototype.____constructor(self, unit, priority)
|
|
42
|
+
end
|
|
43
|
+
function UnitBehavior.prototype.onDestroy(self)
|
|
44
|
+
local owningPlayerEvents = owningPlayerEventsByBehavior[self]
|
|
45
|
+
if owningPlayerEvents ~= nil then
|
|
46
|
+
for event in pairs(owningPlayerEvents) do
|
|
47
|
+
local ____opt_0 = behaviorsByOwningPlayerEvent[event]
|
|
48
|
+
if ____opt_0 ~= nil then
|
|
49
|
+
____opt_0:remove(self)
|
|
50
|
+
end
|
|
51
|
+
local ____opt_2 = listenerByBehaviorByOwningPlayerEvent[event]
|
|
52
|
+
if ____opt_2 ~= nil then
|
|
53
|
+
____opt_2[self] = nil
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
owningPlayerEventsByBehavior[self] = nil
|
|
57
|
+
end
|
|
58
|
+
local inRangeUnitEvents = inRangeUnitEventsByBehavior[self]
|
|
59
|
+
if inRangeUnitEvents ~= nil then
|
|
60
|
+
for event in pairs(inRangeUnitEvents) do
|
|
61
|
+
local ____opt_4 = behaviorsByInRangeUnitEvent[event]
|
|
62
|
+
if ____opt_4 ~= nil then
|
|
63
|
+
____opt_4:remove(self)
|
|
64
|
+
end
|
|
65
|
+
local ____opt_6 = rangeByBehaviorByInRangeUnitEvent[event]
|
|
66
|
+
if ____opt_6 ~= nil then
|
|
67
|
+
____opt_6[self] = nil
|
|
68
|
+
end
|
|
69
|
+
local ____opt_8 = listenerByBehaviorByInRangeUnitEvent[event]
|
|
70
|
+
if ____opt_8 ~= nil then
|
|
71
|
+
____opt_8[self] = nil
|
|
72
|
+
end
|
|
73
|
+
end
|
|
74
|
+
inRangeUnitEventsByBehavior[self] = nil
|
|
75
|
+
end
|
|
76
|
+
if self._bonusIdByBonusType ~= nil then
|
|
77
|
+
for bonusType, bonusId in pairs(self._bonusIdByBonusType) do
|
|
78
|
+
removeUnitBonus(self.object, bonusType, bonusId)
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
return Behavior.prototype.onDestroy(self)
|
|
82
|
+
end
|
|
83
|
+
function UnitBehavior.prototype.getUnitBonus(self, bonusType)
|
|
84
|
+
local ____opt_10 = self._bonusIdByBonusType
|
|
85
|
+
local bonusId = ____opt_10 and ____opt_10:get(bonusType)
|
|
86
|
+
return bonusId == nil and 0 or getUnitBonus(self.object, bonusType, bonusId)
|
|
87
|
+
end
|
|
88
|
+
function UnitBehavior.prototype.addOrUpdateOrRemoveUnitBonus(self, bonusType, value)
|
|
89
|
+
local bonusIdByBonusType = self._bonusIdByBonusType
|
|
90
|
+
if bonusIdByBonusType == nil then
|
|
91
|
+
bonusIdByBonusType = __TS__New(LinkedMap)
|
|
92
|
+
self._bonusIdByBonusType = bonusIdByBonusType
|
|
93
|
+
end
|
|
94
|
+
bonusIdByBonusType:put(
|
|
95
|
+
bonusType,
|
|
96
|
+
addOrUpdateOrRemoveUnitBonus(
|
|
97
|
+
self.object,
|
|
98
|
+
bonusType,
|
|
99
|
+
bonusIdByBonusType:get(bonusType),
|
|
100
|
+
value
|
|
101
|
+
)
|
|
102
|
+
)
|
|
103
|
+
end
|
|
104
|
+
function UnitBehavior.prototype.registerOwningPlayerEvent(self, event, extractPlayer, listener)
|
|
105
|
+
local listenerByBehavior = getOrPut(listenerByBehaviorByOwningPlayerEvent, event, mutableLuaMap)
|
|
106
|
+
listenerByBehavior[self] = listener
|
|
107
|
+
getOrPut(inRangeUnitEventsByBehavior, self, mutableLuaSet)[event] = true
|
|
108
|
+
local behaviors = behaviorsByOwningPlayerEvent[event]
|
|
109
|
+
if behaviors == nil then
|
|
110
|
+
event:addListener(function(...)
|
|
111
|
+
local behaviors = behaviorsByOwningPlayerEvent[event]
|
|
112
|
+
if behaviors ~= nil then
|
|
113
|
+
local player = extractPlayer(...)
|
|
114
|
+
if player ~= nil then
|
|
115
|
+
for behavior in pairs(behaviors) do
|
|
116
|
+
if behavior.unit.owner == player then
|
|
117
|
+
safeCall(behavior[listenerByBehavior[behavior]], behavior, ...)
|
|
118
|
+
end
|
|
119
|
+
end
|
|
120
|
+
end
|
|
121
|
+
end
|
|
122
|
+
end)
|
|
123
|
+
behaviors = __TS__New(LinkedSet)
|
|
124
|
+
behaviorsByOwningPlayerEvent[event] = behaviors
|
|
125
|
+
end
|
|
126
|
+
behaviors:add(self)
|
|
127
|
+
end
|
|
128
|
+
function UnitBehavior.prototype.registerInRangeUnitEvent(self, event, extractUnit, range, listener)
|
|
129
|
+
local rangeByBehavior = getOrPut(rangeByBehaviorByInRangeUnitEvent, event, mutableLuaMap)
|
|
130
|
+
rangeByBehavior[self] = range
|
|
131
|
+
local listenerByBehavior = getOrPut(listenerByBehaviorByInRangeUnitEvent, event, mutableLuaMap)
|
|
132
|
+
listenerByBehavior[self] = listener
|
|
133
|
+
getOrPut(inRangeUnitEventsByBehavior, self, mutableLuaSet)[event] = true
|
|
134
|
+
local behaviors = behaviorsByInRangeUnitEvent[event]
|
|
135
|
+
if behaviors == nil then
|
|
136
|
+
event:addListener(function(...)
|
|
137
|
+
local behaviors = behaviorsByInRangeUnitEvent[event]
|
|
138
|
+
if behaviors ~= nil then
|
|
139
|
+
local unit = extractUnit(...)
|
|
140
|
+
if unit ~= nil then
|
|
141
|
+
for behavior in pairs(behaviors) do
|
|
142
|
+
local range = rangeByBehavior[behavior]
|
|
143
|
+
if range ~= nil and unit:getCollisionDistanceTo(behavior.unit) <= range then
|
|
144
|
+
safeCall(behavior[listenerByBehavior[behavior]], behavior, ...)
|
|
145
|
+
end
|
|
146
|
+
end
|
|
147
|
+
end
|
|
148
|
+
end
|
|
149
|
+
end)
|
|
150
|
+
behaviors = __TS__New(LinkedSet)
|
|
151
|
+
behaviorsByInRangeUnitEvent[event] = behaviors
|
|
152
|
+
end
|
|
153
|
+
behaviors:add(self)
|
|
154
|
+
end
|
|
155
|
+
function UnitBehavior.prototype.onImmediateOrder(self, orderId)
|
|
156
|
+
end
|
|
157
|
+
function UnitBehavior.prototype.onTargetOrder(self, orderId, target)
|
|
158
|
+
end
|
|
159
|
+
function UnitBehavior.prototype.onPointOrder(self, orderId, x, y)
|
|
18
160
|
end
|
|
19
161
|
function UnitBehavior.prototype.onAutoAttackStart(self, target)
|
|
20
162
|
end
|
|
21
163
|
function UnitBehavior.prototype.onAutoAttackFinish(self, target)
|
|
22
164
|
end
|
|
165
|
+
function UnitBehavior.prototype.onTargetingAutoAttackStart(self, source)
|
|
166
|
+
end
|
|
167
|
+
function UnitBehavior.prototype.onTargetingAutoAttackFinish(self, source)
|
|
168
|
+
end
|
|
23
169
|
function UnitBehavior.prototype.onDamageDealing(self, target, event)
|
|
24
170
|
end
|
|
25
171
|
function UnitBehavior.prototype.onDamageDealt(self, target, event)
|
|
@@ -32,6 +178,34 @@ function UnitBehavior.prototype.onAbilityGained(self, ability)
|
|
|
32
178
|
end
|
|
33
179
|
function UnitBehavior.prototype.onAbilityLost(self, ability)
|
|
34
180
|
end
|
|
181
|
+
function UnitBehavior.prototype.onAbilityChannelingStart(self, ability)
|
|
182
|
+
end
|
|
183
|
+
function UnitBehavior.prototype.onAbilityImpact(self, ability)
|
|
184
|
+
end
|
|
185
|
+
function UnitBehavior.prototype.onAbilityWidgetTargetImpact(self, ability, target)
|
|
186
|
+
end
|
|
187
|
+
function UnitBehavior.prototype.onAbilityUnitTargetImpact(self, ability, target)
|
|
188
|
+
end
|
|
189
|
+
function UnitBehavior.prototype.onAbilityItemTargetImpact(self, ability, target)
|
|
190
|
+
end
|
|
191
|
+
function UnitBehavior.prototype.onAbilityDestructibleTargetImpact(self, ability, target)
|
|
192
|
+
end
|
|
193
|
+
function UnitBehavior.prototype.onAbilityPointTargetImpact(self, ability, x, y)
|
|
194
|
+
end
|
|
195
|
+
function UnitBehavior.prototype.onAbilityNoTargetImpact(self, ability)
|
|
196
|
+
end
|
|
197
|
+
function UnitBehavior.prototype.onAbilityChannelingFinish(self, ability)
|
|
198
|
+
end
|
|
199
|
+
function UnitBehavior.prototype.onAbilityStop(self, ability)
|
|
200
|
+
end
|
|
201
|
+
function UnitBehavior.prototype.onTargetingAbilityChannelingStart(self, ability, source)
|
|
202
|
+
end
|
|
203
|
+
function UnitBehavior.prototype.onTargetingAbilityImpact(self, ability, source)
|
|
204
|
+
end
|
|
205
|
+
function UnitBehavior.prototype.onBuffGained(self, buff)
|
|
206
|
+
end
|
|
207
|
+
function UnitBehavior.prototype.onBuffLost(self, buff)
|
|
208
|
+
end
|
|
35
209
|
function UnitBehavior.prototype.onItemDropped(self, item)
|
|
36
210
|
end
|
|
37
211
|
function UnitBehavior.prototype.onItemPickedUp(self, item)
|
|
@@ -40,10 +214,29 @@ function UnitBehavior.prototype.onItemUsed(self, item)
|
|
|
40
214
|
end
|
|
41
215
|
function UnitBehavior.prototype.onItemStacked(self, item)
|
|
42
216
|
end
|
|
217
|
+
function UnitBehavior.prototype.onItemChargesChanged(self, item)
|
|
218
|
+
end
|
|
43
219
|
function UnitBehavior.prototype.onKill(self, target)
|
|
44
220
|
end
|
|
45
221
|
function UnitBehavior.prototype.onDeath(self, source)
|
|
46
222
|
end
|
|
223
|
+
function UnitBehavior.prototype.onOwnerChange(self, previousOwner)
|
|
224
|
+
end
|
|
225
|
+
function UnitBehavior.bindUnitType(self, unitTypeId, ...)
|
|
226
|
+
local args = {...}
|
|
227
|
+
local createBehaviorFunctions = createBehaviorFunctionsByUnitTypeId[unitTypeId]
|
|
228
|
+
if createBehaviorFunctions == nil then
|
|
229
|
+
createBehaviorFunctions = {}
|
|
230
|
+
createBehaviorFunctionsByUnitTypeId[unitTypeId] = createBehaviorFunctions
|
|
231
|
+
end
|
|
232
|
+
createBehaviorFunctions[#createBehaviorFunctions + 1] = function(unit)
|
|
233
|
+
return __TS__New(
|
|
234
|
+
self,
|
|
235
|
+
unit,
|
|
236
|
+
table.unpack(args)
|
|
237
|
+
)
|
|
238
|
+
end
|
|
239
|
+
end
|
|
47
240
|
__TS__SetDescriptor(
|
|
48
241
|
UnitBehavior.prototype,
|
|
49
242
|
"unit",
|
|
@@ -53,11 +246,28 @@ __TS__SetDescriptor(
|
|
|
53
246
|
true
|
|
54
247
|
);
|
|
55
248
|
(function(self)
|
|
249
|
+
Unit.onImmediateOrder:addListener(function(source, orderId)
|
|
250
|
+
____exports.UnitBehavior:forAll(source, "onImmediateOrder", orderId)
|
|
251
|
+
end)
|
|
252
|
+
Unit.onTargetOrder:addListener(function(source, orderId, target)
|
|
253
|
+
____exports.UnitBehavior:forAll(source, "onTargetOrder", orderId, target)
|
|
254
|
+
end)
|
|
255
|
+
Unit.onPointOrder:addListener(function(source, orderId, x, y)
|
|
256
|
+
____exports.UnitBehavior:forAll(
|
|
257
|
+
source,
|
|
258
|
+
"onPointOrder",
|
|
259
|
+
orderId,
|
|
260
|
+
x,
|
|
261
|
+
y
|
|
262
|
+
)
|
|
263
|
+
end)
|
|
56
264
|
Unit.autoAttackStartEvent:addListener(function(source, target)
|
|
57
265
|
____exports.UnitBehavior:forAll(source, "onAutoAttackStart", target)
|
|
266
|
+
____exports.UnitBehavior:forAll(target, "onTargetingAutoAttackStart", source)
|
|
58
267
|
end)
|
|
59
268
|
Unit.autoAttackFinishEvent:addListener(function(source, target)
|
|
60
269
|
____exports.UnitBehavior:forAll(source, "onAutoAttackFinish", target)
|
|
270
|
+
____exports.UnitBehavior:forAll(target, "onTargetingAutoAttackFinish", source)
|
|
61
271
|
end)
|
|
62
272
|
Unit.onDamaging:addListener(function(source, target, event)
|
|
63
273
|
if source ~= nil then
|
|
@@ -71,11 +281,51 @@ __TS__SetDescriptor(
|
|
|
71
281
|
end
|
|
72
282
|
____exports.UnitBehavior:forAll(target, "onDamageReceived", source, event)
|
|
73
283
|
end)
|
|
74
|
-
Unit.abilityGainedEvent:addListener(function(source,
|
|
75
|
-
____exports.UnitBehavior:forAll(source, "onAbilityGained",
|
|
284
|
+
Unit.abilityGainedEvent:addListener(function(source, ability)
|
|
285
|
+
____exports.UnitBehavior:forAll(source, "onAbilityGained", ability)
|
|
286
|
+
end)
|
|
287
|
+
Unit.abilityLostEvent:addListener(function(source, ability)
|
|
288
|
+
____exports.UnitBehavior:forAll(source, "onAbilityLost", ability)
|
|
289
|
+
end)
|
|
290
|
+
Unit.abilityChannelingStartEvent:addListener(function(source, ability)
|
|
291
|
+
____exports.UnitBehavior:forAll(source, "onAbilityChannelingStart", ability)
|
|
292
|
+
end)
|
|
293
|
+
Unit.abilityUnitTargetChannelingStartEvent:addListener(function(source, ability, target)
|
|
294
|
+
____exports.UnitBehavior:forAll(target, "onTargetingAbilityChannelingStart", ability, source)
|
|
76
295
|
end)
|
|
77
|
-
Unit.
|
|
78
|
-
____exports.UnitBehavior:forAll(source, "
|
|
296
|
+
Unit.abilityImpactEvent:addListener(function(source, ability)
|
|
297
|
+
____exports.UnitBehavior:forAll(source, "onAbilityImpact", ability)
|
|
298
|
+
end)
|
|
299
|
+
Unit.abilityWidgetTargetImpactEvent:addListener(function(source, ability, target)
|
|
300
|
+
____exports.UnitBehavior:forAll(source, "onAbilityWidgetTargetImpact", ability, target)
|
|
301
|
+
end)
|
|
302
|
+
Unit.abilityUnitTargetImpactEvent:addListener(function(source, ability, target)
|
|
303
|
+
____exports.UnitBehavior:forAll(source, "onAbilityUnitTargetImpact", ability, target)
|
|
304
|
+
____exports.UnitBehavior:forAll(target, "onTargetingAbilityImpact", ability, source)
|
|
305
|
+
end)
|
|
306
|
+
Unit.abilityItemTargetImpactEvent:addListener(function(source, ability, target)
|
|
307
|
+
____exports.UnitBehavior:forAll(source, "onAbilityItemTargetImpact", ability, target)
|
|
308
|
+
end)
|
|
309
|
+
Unit.abilityDestructibleTargetImpactEvent:addListener(function(source, ability, target)
|
|
310
|
+
____exports.UnitBehavior:forAll(source, "onAbilityDestructibleTargetImpact", ability, target)
|
|
311
|
+
end)
|
|
312
|
+
Unit.abilityPointTargetImpactEvent:addListener(function(source, ability, x, y)
|
|
313
|
+
____exports.UnitBehavior:forAll(
|
|
314
|
+
source,
|
|
315
|
+
"onAbilityPointTargetImpact",
|
|
316
|
+
ability,
|
|
317
|
+
x,
|
|
318
|
+
y
|
|
319
|
+
)
|
|
320
|
+
end)
|
|
321
|
+
Unit.abilityNoTargetImpactEvent:addListener(function(source, ability)
|
|
322
|
+
____exports.UnitBehavior:forAll(source, "onAbilityNoTargetImpact", ability)
|
|
323
|
+
end)
|
|
324
|
+
Unit.abilityChannelingFinishEvent:addListener(function(source, ability)
|
|
325
|
+
____exports.UnitBehavior:forAll(source, "onAbilityChannelingFinish", ability)
|
|
326
|
+
end)
|
|
327
|
+
Unit.abilityStopEvent:addListener(function(source, ability)
|
|
328
|
+
____exports.UnitBehavior:forAll(source, "onAbilityStop", ability)
|
|
79
329
|
end)
|
|
80
330
|
Unit.deathEvent:addListener(function(target, source)
|
|
81
331
|
if source ~= nil then
|
|
@@ -95,7 +345,21 @@ __TS__SetDescriptor(
|
|
|
95
345
|
Unit.itemStackedEvent:addListener(function(unit, item)
|
|
96
346
|
____exports.UnitBehavior:forAll(unit, "onItemStacked", item)
|
|
97
347
|
end)
|
|
348
|
+
Unit.itemChargesChangedEvent:addListener(function(unit, item)
|
|
349
|
+
____exports.UnitBehavior:forAll(unit, "onItemChargesChanged", item)
|
|
350
|
+
end)
|
|
351
|
+
Unit.onOwnerChange:addListener(function(unit, previousOwner)
|
|
352
|
+
____exports.UnitBehavior:forAll(unit, "onOwnerChange", previousOwner)
|
|
353
|
+
end)
|
|
98
354
|
end)(UnitBehavior)
|
|
355
|
+
Unit.onCreate:addListener(function(unit)
|
|
356
|
+
local createBehaviorFunctions = createBehaviorFunctionsByUnitTypeId[unit.typeId]
|
|
357
|
+
if createBehaviorFunctions ~= nil then
|
|
358
|
+
for ____, createBehavior in ipairs(createBehaviorFunctions) do
|
|
359
|
+
createBehavior(unit)
|
|
360
|
+
end
|
|
361
|
+
end
|
|
362
|
+
end)
|
|
99
363
|
Unit.destroyEvent:addListener(function(unit)
|
|
100
364
|
____exports.UnitBehavior:forAll(unit, "destroy")
|
|
101
365
|
end)
|
package/engine/buff.d.ts
CHANGED
|
@@ -13,6 +13,8 @@ import { UnitBehavior } from "./behaviour/unit";
|
|
|
13
13
|
import type { Widget } from "../core/types/widget";
|
|
14
14
|
import { Destructor } from "../destroyable";
|
|
15
15
|
import { Event } from "../event";
|
|
16
|
+
import { AbilityBehavior } from "./behaviour/ability";
|
|
17
|
+
import { SoundPresetId } from "./object-data/entry/sound-preset";
|
|
16
18
|
export type BuffConstructor<T extends Buff<any> = Buff<any>, Args extends any[] = any> = OmitConstructor<typeof Buff<any>> & (new (...args: Args) => T);
|
|
17
19
|
type EnumParameterValueType<T extends number> = T | AbilityEnumLevelField<T>;
|
|
18
20
|
type NumberParameterValueType = number | AbilityNumberField | AbilityNumberLevelField;
|
|
@@ -22,6 +24,13 @@ export type BuffPolarityParameterType = EnumParameterValueType<BuffPolarity>;
|
|
|
22
24
|
export type BuffResistanceTypeParameterType = EnumParameterValueType<BuffResistanceType>;
|
|
23
25
|
export declare class BuffUniqueGroup {
|
|
24
26
|
}
|
|
27
|
+
export type BuffAbilityParameters = {
|
|
28
|
+
readonly fields?: [AbilityNumberField | AbilityNumberLevelField, NumberParameterValueType][];
|
|
29
|
+
/** Default `true`. */
|
|
30
|
+
readonly isButtonVisible?: boolean;
|
|
31
|
+
/** Default is the level of the source ability or 0 if it is absent. */
|
|
32
|
+
readonly level?: number;
|
|
33
|
+
};
|
|
25
34
|
export type BuffParameters<T extends Buff<any> = Buff> = Buff extends T ? {
|
|
26
35
|
spellStealPriority?: number;
|
|
27
36
|
level?: number;
|
|
@@ -29,14 +38,7 @@ export type BuffParameters<T extends Buff<any> = Buff> = Buff extends T ? {
|
|
|
29
38
|
learnLevelMinimum?: number;
|
|
30
39
|
source?: Unit;
|
|
31
40
|
behaviorConstructors?: (new (unit: Unit) => UnitBehavior)[];
|
|
32
|
-
abilityTypeIds?: Record<AbilityTypeId,
|
|
33
|
-
[numberField: (AbilityNumberField | AbilityNumberLevelField) & symbol]: NumberParameterValueType;
|
|
34
|
-
} & {
|
|
35
|
-
/** Default `true`. */
|
|
36
|
-
readonly isButtonVisible?: boolean;
|
|
37
|
-
/** Default is the level of the source ability or 0 if it is absent. */
|
|
38
|
-
readonly level?: number;
|
|
39
|
-
}>;
|
|
41
|
+
abilityTypeIds?: Partial<Record<AbilityTypeId, BuffAbilityParameters>>;
|
|
40
42
|
damageUponDeathAllowedTargetCombatClassifications?: CombatClassifications | AbilityCombatClassificationsLevelField;
|
|
41
43
|
damageUponDeath?: NumberParameterValueType;
|
|
42
44
|
damageUponDeathRange?: NumberParameterValueType;
|
|
@@ -53,17 +55,22 @@ export type BuffParameters<T extends Buff<any> = Buff> = Buff extends T ? {
|
|
|
53
55
|
damageIncrease?: NumberParameterValueType;
|
|
54
56
|
damageIncreaseFactor?: NumberParameterValueType;
|
|
55
57
|
armorIncrease?: NumberParameterValueType;
|
|
56
|
-
|
|
58
|
+
maxHealthIncrease?: NumberParameterValueType;
|
|
59
|
+
maxManaIncrease?: NumberParameterValueType;
|
|
57
60
|
attackSpeedIncreaseFactor?: NumberParameterValueType;
|
|
58
61
|
movementSpeedIncreaseFactor?: NumberParameterValueType;
|
|
62
|
+
manaRegenerationRateIncreaseFactor?: NumberParameterValueType;
|
|
59
63
|
evasionProbability?: NumberParameterValueType;
|
|
60
64
|
missProbability?: NumberParameterValueType;
|
|
61
65
|
damageFactor?: NumberParameterValueType;
|
|
62
66
|
receivedDamageFactor?: NumberParameterValueType;
|
|
67
|
+
/** The factor of melee attack damage returned to the attacker, as Spiked Carapace. */
|
|
68
|
+
returnedMeleeDamageFactor?: NumberParameterValueType;
|
|
63
69
|
receivedMagicDamageFactor?: NumberParameterValueType;
|
|
64
70
|
durationIncreaseOnAutoAttack?: NumberParameterValueType;
|
|
65
71
|
maximumRemainingDuration?: NumberParameterValueType;
|
|
66
72
|
maximumDuration?: NumberParameterValueType;
|
|
73
|
+
turnsIntoGhost?: BooleanParameterValueType;
|
|
67
74
|
stuns?: BooleanParameterValueType;
|
|
68
75
|
ignoresStunImmunity?: BooleanParameterValueType;
|
|
69
76
|
providesStunImmunity?: BooleanParameterValueType;
|
|
@@ -74,11 +81,23 @@ export type BuffParameters<T extends Buff<any> = Buff> = Buff extends T ? {
|
|
|
74
81
|
maximumAutoAttackCount?: IntegerParameterValueType;
|
|
75
82
|
maximumDamageDealtEventCount?: IntegerParameterValueType;
|
|
76
83
|
maximumDamageReceivedEventCount?: IntegerParameterValueType;
|
|
84
|
+
absorbedDamageFactor?: NumberParameterValueType;
|
|
85
|
+
maximumDamageAbsorbed?: NumberParameterValueType;
|
|
86
|
+
destroysOnMaximumDamageAbsorbed?: BooleanParameterValueType;
|
|
77
87
|
damageOnExpiration?: NumberParameterValueType;
|
|
78
88
|
healingOnExpiration?: NumberParameterValueType;
|
|
79
89
|
killsOnExpiration?: BooleanParameterValueType;
|
|
80
90
|
explodesOnExpiration?: BooleanParameterValueType;
|
|
91
|
+
abilityCooldownFactor?: NumberParameterValueType;
|
|
92
|
+
/**
|
|
93
|
+
* Makes the unit visible to the owner of the source, and through the engine to the
|
|
94
|
+
* players that owner shares vision with (`UnitShareVision`). Only the unit itself
|
|
95
|
+
* becomes visible, not the area it sees. The owner is taken when the buff is applied.
|
|
96
|
+
*/
|
|
97
|
+
sharesVisionWithSource?: BooleanParameterValueType;
|
|
81
98
|
uniqueGroup?: BuffUniqueGroup;
|
|
99
|
+
/** Played on the unit whenever the buff is destroyed, whatever the reason. */
|
|
100
|
+
destructionSoundPresetId?: SoundPresetId;
|
|
82
101
|
} : BuffParameters & (T extends Buff<infer AdditionalParameters> ? AdditionalParameters : object);
|
|
83
102
|
declare const enum BuffPropertyKey {
|
|
84
103
|
STATE = 100,
|
|
@@ -86,49 +105,59 @@ declare const enum BuffPropertyKey {
|
|
|
86
105
|
SOURCE = 102,
|
|
87
106
|
DURATION = 103,
|
|
88
107
|
UNIQUE_GROUP = 104,
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
108
|
+
DESTRUCTION_SOUND_PRESET_ID = 105,
|
|
109
|
+
EFFECT_MODEL_PATH = 106,
|
|
110
|
+
SPECIAL_EFFECT_MODEL_PATH = 107,
|
|
111
|
+
DURATION_INCREASE_ON_AUTO_ATTACK = 108,
|
|
112
|
+
MAXIMUM_DURATION = 109,
|
|
113
|
+
MAXIMUM_REMAINING_DURATION = 110,
|
|
114
|
+
DAMAGE_OVER_DURATION = 111,
|
|
115
|
+
DAMAGE_PER_INTERVAL = 112,
|
|
116
|
+
DAMAGE_INTERVAL = 113,
|
|
117
|
+
REMAINING_DAMAGE_OVER_DURATION = 114,
|
|
118
|
+
DAMAGE_INTERVAL_TIMER = 115,
|
|
119
|
+
HEALING_OVER_DURATION = 116,
|
|
120
|
+
HEALING_PER_INTERVAL = 117,
|
|
121
|
+
HEALING_INTERVAL = 118,
|
|
122
|
+
REMAINING_HEALING_OVER_DURATION = 119,
|
|
123
|
+
HEALING_INTERVAL_TIMER = 120,
|
|
124
|
+
DAMAGE_ON_EXPIRATION = 121,
|
|
125
|
+
HEALING_ON_EXPIRATION = 122,
|
|
126
|
+
DAMAGE_UPON_DEATH_ALLOWED_TARGET_CLASSIFICATIONS = 123,
|
|
127
|
+
DAMAGE_UPON_DEATH = 124,
|
|
128
|
+
DAMAGE_UPON_DEATH_RANGE = 125,
|
|
129
|
+
MEDIUM_DAMAGE_UPON_DEATH = 126,
|
|
130
|
+
MEDIUM_DAMAGE_UPON_DEATH_RANGE = 127,
|
|
131
|
+
SMALL_DAMAGE_UPON_DEATH = 128,
|
|
132
|
+
SMALL_DAMAGE_UPON_DEATH_RANGE = 129,
|
|
133
|
+
AUTO_ATTACK_COUNT = 130,
|
|
134
|
+
MAXIMUM_AUTO_ATTACK_COUNT = 131,
|
|
135
|
+
DAMAGE_DEALT_EVENT_COUNT = 132,
|
|
136
|
+
MAXIMUM_DAMAGE_DEALT_EVENT_COUNT = 133,
|
|
137
|
+
DAMAGE_RECEIVED_EVENT_COUNT = 134,
|
|
138
|
+
MAXIMUM_DAMAGE_RECEIVED_EVENT_COUNT = 135,
|
|
139
|
+
ABSORBED_DAMAGE_FACTOR = 136,
|
|
140
|
+
MAXIMUM_DAMAGE_ABSORBED = 137,
|
|
141
|
+
DAMAGE_ABSORBED = 138,
|
|
142
|
+
DESTROYS_ON_MAXIMUM_DAMAGE_ABSORBED = 139,
|
|
143
|
+
TURNS_INTO_GHOST = 140,
|
|
144
|
+
STUNS = 141,
|
|
145
|
+
IGNORES_STUN_IMMUNITY = 142,
|
|
146
|
+
DISABLES_AUTO_ATTACK = 143,
|
|
147
|
+
PROVIDES_INVULNERABILITY = 144,
|
|
148
|
+
KILLS_ON_EXPIRATION = 145,
|
|
149
|
+
EXPLODES_ON_EXPIRATION = 146,
|
|
150
|
+
MISS_PROBABILITY = 147,
|
|
151
|
+
ABILITY_COOLDOWN_FACTOR = 148,
|
|
152
|
+
ABILITY_COOLDOWN_MODIFIER = 149,
|
|
153
|
+
SHARES_VISION_WITH_SOURCE = 150,
|
|
154
|
+
VISION_PLAYER = 151
|
|
126
155
|
}
|
|
127
156
|
export declare const enum BuffTypeIdSelectionPolicy {
|
|
128
157
|
LEAST_DURATION = 0
|
|
129
158
|
}
|
|
130
159
|
export type BuffAdditionalParameters = Prohibit<Record<string, any>, keyof BuffParameters>;
|
|
131
|
-
export type BuffConstructorParameters<
|
|
160
|
+
export type BuffConstructorParameters<T extends Buff<BuffAdditionalParameters>> = T extends Buff<infer AdditionalParameters> ? [
|
|
132
161
|
...typeId: [ApplicableBuffTypeId] | [
|
|
133
162
|
typeIds: ReadonlyNonEmptyArray<ApplicableBuffTypeId>,
|
|
134
163
|
typeIdSelectionPolicy: BuffTypeIdSelectionPolicy
|
|
@@ -136,10 +165,12 @@ export type BuffConstructorParameters<AdditionalParameters extends BuffAdditiona
|
|
|
136
165
|
polarity: BuffPolarityParameterType,
|
|
137
166
|
resistanceType: BuffResistanceTypeParameterType,
|
|
138
167
|
...abilityOrParameters: [
|
|
139
|
-
ability
|
|
168
|
+
ability?: Ability | AbilityBehavior,
|
|
140
169
|
parameters?: BuffParameters & Omit<AdditionalParameters, keyof BuffParameters>
|
|
141
|
-
] | [
|
|
142
|
-
|
|
170
|
+
] | [
|
|
171
|
+
parameters?: BuffParameters & Omit<AdditionalParameters, keyof BuffParameters>
|
|
172
|
+
]
|
|
173
|
+
] : never;
|
|
143
174
|
export declare class Buff<AdditionalParameters extends Prohibit<Record<string, any>, keyof BuffParameters> = object> extends UnitBehavior {
|
|
144
175
|
private _unit;
|
|
145
176
|
protected readonly __additionalParametersBrand?: AdditionalParameters;
|
|
@@ -148,6 +179,7 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
148
179
|
private [BuffPropertyKey.SOURCE]?;
|
|
149
180
|
private [BuffPropertyKey.DURATION];
|
|
150
181
|
private [BuffPropertyKey.UNIQUE_GROUP]?;
|
|
182
|
+
private [BuffPropertyKey.DESTRUCTION_SOUND_PRESET_ID]?;
|
|
151
183
|
private [BuffPropertyKey.EFFECT_MODEL_PATH];
|
|
152
184
|
private [BuffPropertyKey.SPECIAL_EFFECT_MODEL_PATH];
|
|
153
185
|
private [BuffPropertyKey.DURATION_INCREASE_ON_AUTO_ATTACK]?;
|
|
@@ -178,32 +210,39 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
178
210
|
private [BuffPropertyKey.DAMAGE_DEALT_EVENT_COUNT]?;
|
|
179
211
|
private [BuffPropertyKey.MAXIMUM_DAMAGE_RECEIVED_EVENT_COUNT]?;
|
|
180
212
|
private [BuffPropertyKey.DAMAGE_RECEIVED_EVENT_COUNT]?;
|
|
213
|
+
private [BuffPropertyKey.ABSORBED_DAMAGE_FACTOR]?;
|
|
214
|
+
private [BuffPropertyKey.MAXIMUM_DAMAGE_ABSORBED]?;
|
|
215
|
+
private [BuffPropertyKey.DAMAGE_ABSORBED]?;
|
|
216
|
+
private [BuffPropertyKey.DESTROYS_ON_MAXIMUM_DAMAGE_ABSORBED]?;
|
|
217
|
+
private [BuffPropertyKey.TURNS_INTO_GHOST]?;
|
|
181
218
|
private [BuffPropertyKey.STUNS]?;
|
|
182
219
|
private [BuffPropertyKey.IGNORES_STUN_IMMUNITY]?;
|
|
183
220
|
private [BuffPropertyKey.DISABLES_AUTO_ATTACK]?;
|
|
184
221
|
private [BuffPropertyKey.PROVIDES_INVULNERABILITY]?;
|
|
185
222
|
private [BuffPropertyKey.KILLS_ON_EXPIRATION]?;
|
|
186
223
|
private [BuffPropertyKey.EXPLODES_ON_EXPIRATION]?;
|
|
224
|
+
private [BuffPropertyKey.ABILITY_COOLDOWN_FACTOR]?;
|
|
225
|
+
private [BuffPropertyKey.ABILITY_COOLDOWN_MODIFIER]?;
|
|
226
|
+
private [BuffPropertyKey.SHARES_VISION_WITH_SOURCE]?;
|
|
227
|
+
private [BuffPropertyKey.VISION_PLAYER]?;
|
|
187
228
|
protected static readonly defaultParameters: BuffParameters;
|
|
188
229
|
get source(): Unit;
|
|
189
230
|
readonly typeId: ApplicableBuffTypeId;
|
|
190
231
|
readonly polarity: BuffPolarity;
|
|
191
232
|
readonly resistanceType: BuffResistanceType;
|
|
192
|
-
readonly parameters: IsExactlyAny<AdditionalParameters> extends true ? any :
|
|
233
|
+
readonly parameters: IsExactlyAny<AdditionalParameters> extends true ? any : AdditionalParameters extends Record<PropertyKey, never> ? undefined : {
|
|
193
234
|
[K in keyof Omit<AdditionalParameters, keyof BuffParameters>]: AdditionalParameters[K] extends AbilityDependentValue<infer T> ? T : AdditionalParameters[K];
|
|
194
235
|
};
|
|
195
236
|
private readonly handle;
|
|
237
|
+
readonly previousBuff?: Buff;
|
|
196
238
|
private _timer?;
|
|
197
239
|
private readonly _level?;
|
|
198
240
|
private readonly _spellStealPriority?;
|
|
199
241
|
private readonly _learnLevelMinimum?;
|
|
200
242
|
private readonly [BuffPropertyKey.MISS_PROBABILITY]?;
|
|
201
|
-
private _bonusIdByBonusType?;
|
|
202
243
|
private readonly _abilityTypeIds?;
|
|
203
244
|
private _behaviors?;
|
|
204
|
-
|
|
205
|
-
private addOrUpdateOrRemoveUnitBonus;
|
|
206
|
-
constructor(target: Unit, ...parameters: BuffConstructorParameters<AdditionalParameters>);
|
|
245
|
+
constructor(target: Unit, ...parameters: BuffConstructorParameters<Buff<AdditionalParameters>>);
|
|
207
246
|
get level(): number;
|
|
208
247
|
get remainingDamageOverDuration(): number;
|
|
209
248
|
set remainingDamageOverDuration(remainingDamageOverDuration: number);
|
|
@@ -229,8 +268,16 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
229
268
|
set damageFactor(damageFactor: number);
|
|
230
269
|
get receivedDamageFactor(): number;
|
|
231
270
|
set receivedDamageFactor(receivedDamageFactor: number);
|
|
271
|
+
get returnedMeleeDamageFactor(): number;
|
|
272
|
+
set returnedMeleeDamageFactor(returnedMeleeDamageFactor: number);
|
|
232
273
|
get armorIncrease(): number;
|
|
233
274
|
set armorIncrease(armorIncrease: number);
|
|
275
|
+
get maxHealthIncrease(): number;
|
|
276
|
+
set maxHealthIncrease(maxHealthIncrease: number);
|
|
277
|
+
get maxManaIncrease(): number;
|
|
278
|
+
set maxManaIncrease(maxManaIncrease: number);
|
|
279
|
+
get turnsIntoGhost(): boolean;
|
|
280
|
+
set turnsIntoGhost(turnsIntoGhost: boolean);
|
|
234
281
|
get stuns(): boolean;
|
|
235
282
|
set stuns(stuns: boolean);
|
|
236
283
|
get ignoresStunImmunity(): boolean;
|
|
@@ -243,6 +290,8 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
243
290
|
set killsOnExpiration(killsOnExpiration: boolean);
|
|
244
291
|
get explodesOnExpiration(): boolean;
|
|
245
292
|
set explodesOnExpiration(killsOnExpiration: boolean);
|
|
293
|
+
get sharesVisionWithSource(): boolean;
|
|
294
|
+
set sharesVisionWithSource(sharesVisionWithSource: boolean);
|
|
246
295
|
get maximumDamageDealtEventCount(): number;
|
|
247
296
|
set maximumDamageDealtEventCount(maximumDamageDealtEventCount: number);
|
|
248
297
|
get maximumDamageReceivedEventCount(): number;
|
|
@@ -257,22 +306,46 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
257
306
|
set movementSpeedIncreaseFactor(movementSpeedIncreaseFactor: number);
|
|
258
307
|
get evasionProbability(): number;
|
|
259
308
|
set evasionProbability(evasionProbability: number);
|
|
309
|
+
get manaRegenerationRateIncreaseFactor(): number;
|
|
310
|
+
set manaRegenerationRateIncreaseFactor(manaRegenerationRateIncreaseFactor: number);
|
|
260
311
|
get duration(): number;
|
|
312
|
+
set duration(duration: number);
|
|
261
313
|
get remainingDuration(): number;
|
|
262
314
|
set remainingDuration(remainingDuration: number);
|
|
315
|
+
get absorbedDamageFactor(): number;
|
|
316
|
+
set absorbedDamageFactor(absorbedDamageFactor: number);
|
|
317
|
+
get maximumDamageAbsorbed(): number;
|
|
318
|
+
set maximumDamageAbsorbed(maximumDamageAbsorbed: number);
|
|
319
|
+
get damageAbsorbed(): number;
|
|
320
|
+
get destroysOnMaximumDamageAbsorbed(): boolean;
|
|
321
|
+
set destroysOnMaximumDamageAbsorbed(destroysOnMaximumDamageAbsorbed: boolean);
|
|
322
|
+
get abilityCooldownFactor(): number;
|
|
323
|
+
set abilityCooldownFactor(abilityCooldownFactor: number);
|
|
324
|
+
onAbilityGained(ability: Ability): void;
|
|
325
|
+
onAbilityLost(ability: Ability): void;
|
|
263
326
|
flashEffect(...parameters: [
|
|
264
327
|
...widgetOrXY: [] | [Widget] | [x: number, x: number],
|
|
265
328
|
...parametersOrDuration: [] | [EffectParameters] | [number]
|
|
266
329
|
]): void;
|
|
267
|
-
flashSpecialEffect(...parameters: [
|
|
330
|
+
flashSpecialEffect(...parameters: [
|
|
331
|
+
...widgetOrXY: [] | [Widget] | [x: number, x: number],
|
|
332
|
+
...parametersOrDuration: [] | [EffectParameters] | [number]
|
|
333
|
+
]): void;
|
|
334
|
+
private flash;
|
|
335
|
+
expire(): void;
|
|
336
|
+
/** Dispels this buff, invoking onDispel before removing it. */
|
|
337
|
+
dispel(source?: Unit): void;
|
|
268
338
|
protected onCreate(): void;
|
|
269
339
|
protected onDestroy(): Destructor;
|
|
270
340
|
static apply<T extends Buff<any>, Args extends any[]>(this: BuffConstructor<T, Args>, ...args: Args): T | undefined;
|
|
271
341
|
static getByTypeId<T extends Buff<any>, Args extends any[]>(this: BuffConstructor<T, Args>, unit: Unit, typeId: ApplicableBuffTypeId): T | undefined;
|
|
342
|
+
/** Called for dispelling, never for a direct destroy() or replacement. */
|
|
343
|
+
onDispel(source: Unit | undefined): void;
|
|
272
344
|
onExpiration(): void;
|
|
273
345
|
onDeath(source: Unit | undefined): void;
|
|
274
346
|
onDamageDealt(target: Unit, event: DamageEvent): void;
|
|
275
347
|
onDamageReceived(source: Unit | undefined, event: DamageEvent): void;
|
|
276
|
-
static readonly
|
|
348
|
+
static readonly createdEvent: Event<[Buff<object>]>;
|
|
349
|
+
static readonly beingDestroyedEvent: Event<[Buff<object>]>;
|
|
277
350
|
}
|
|
278
351
|
export {};
|