warscript 0.0.1-dev.29630c5 → 0.0.1-dev.29e90d8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/attributes.d.ts +6 -0
- package/attributes.lua +17 -1
- package/config.d.ts +5 -0
- package/config.lua +10 -0
- package/core/dummy.lua +4 -2
- package/core/types/effect.d.ts +12 -4
- package/core/types/effect.lua +67 -104
- package/core/types/frame.d.ts +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 +6 -11
- package/core/types/player.d.ts +18 -1
- package/core/types/player.lua +76 -26
- package/core/types/playerCamera.d.ts +2 -0
- package/core/types/playerCamera.lua +123 -5
- package/core/types/playerColor.lua +4 -3
- package/core/types/sound.d.ts +18 -25
- package/core/types/sound.lua +113 -33
- package/core/types/tileCell.d.ts +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.d.ts +5 -0
- package/engine/behaviour/ability/apply-buff.lua +36 -4
- package/engine/behaviour/ability/apply-unit-behavior.lua +6 -0
- package/engine/behaviour/ability/damage.d.ts +15 -4
- 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 +151 -32
- 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 +139 -59
- package/engine/buff.lua +678 -308
- 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 +34 -18
- package/engine/internal/item.lua +308 -102
- package/engine/internal/mechanics/ability-duration.lua +1 -1
- package/engine/internal/mechanics/cast-ability.lua +6 -3
- package/engine/internal/misc/damage-metadata-by-target.lua +5 -0
- package/engine/internal/misc/frame-coordinates.d.ts +2 -0
- package/engine/internal/misc/frame-coordinates.lua +21 -0
- package/engine/internal/misc/get-terrain-z.d.ts +2 -0
- package/engine/internal/misc/get-terrain-z.lua +11 -0
- package/engine/internal/misc/player-local-handle.d.ts +2 -0
- package/engine/internal/misc/player-local-handle.lua +5 -0
- package/engine/internal/misc/unit-ability-level-natives.d.ts +2 -0
- package/engine/internal/misc/unit-ability-level-natives.lua +12 -0
- package/engine/internal/object-data/armor-bonus.d.ts +2 -0
- package/engine/internal/object-data/attribute-bonus.lua +2 -2
- package/engine/internal/object-data/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 +57 -14
- package/engine/internal/unit/allowed-targets.d.ts +1 -1
- package/engine/internal/unit/allowed-targets.lua +9 -1
- package/engine/internal/unit/appearance.d.ts +15 -0
- package/engine/internal/unit/appearance.lua +85 -0
- package/engine/internal/unit/attributes.d.ts +17 -0
- package/engine/internal/unit/attributes.lua +46 -0
- package/engine/internal/unit/bonus.d.ts +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 +12 -38
- package/engine/internal/unit+damage.lua +48 -45
- 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 +69 -27
- package/engine/internal/unit.d.ts +51 -35
- package/engine/internal/unit.lua +434 -326
- package/engine/lightning.d.ts +4 -3
- package/engine/lightning.lua +25 -16
- package/engine/local-client.d.ts +28 -0
- package/engine/local-client.lua +324 -54
- package/engine/object-data/auxiliary/animation-name.d.ts +1 -0
- package/engine/object-data/auxiliary/animation-name.lua +16 -0
- package/engine/object-data/auxiliary/armor-type.d.ts +11 -0
- package/engine/object-data/auxiliary/armor-type.lua +46 -0
- package/engine/object-data/auxiliary/attachment-preset.d.ts +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/tech-tree-dependency.d.ts +1 -1
- package/engine/object-data/auxiliary/unit-attribute.d.ts +6 -0
- package/engine/object-data/auxiliary/unit-attribute.lua +9 -0
- package/engine/object-data/auxiliary/weapon-sound-type.d.ts +20 -14
- package/engine/object-data/auxiliary/weapon-sound-type.lua +58 -0
- package/engine/object-data/auxiliary/weapon-type.d.ts +25 -0
- package/engine/object-data/auxiliary/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 +14 -3
- 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/deathseeker-arrows.d.ts +21 -0
- package/engine/object-data/entry/ability-type/deathseeker-arrows.lua +78 -0
- package/engine/object-data/entry/ability-type/disease-cloud.lua +2 -2
- package/engine/object-data/entry/ability-type/engineering-upgrade.lua +2 -2
- package/engine/object-data/entry/ability-type/ensnare.d.ts +12 -0
- package/engine/object-data/entry/ability-type/ensnare.lua +52 -0
- package/engine/object-data/entry/ability-type/equipment-inventory-interface.d.ts +8 -0
- package/engine/object-data/entry/ability-type/equipment-inventory-interface.lua +13 -0
- package/engine/object-data/entry/ability-type/equipment-inventory.d.ts +13 -0
- package/engine/object-data/entry/ability-type/equipment-inventory.lua +27 -0
- package/engine/object-data/entry/ability-type/equipment.d.ts +13 -0
- package/engine/object-data/entry/ability-type/equipment.lua +27 -0
- package/engine/object-data/entry/ability-type/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/feral-spirit.lua +2 -2
- 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/phoenix-morph.lua +4 -4
- package/engine/object-data/entry/ability-type/provoke.d.ts +21 -0
- package/engine/object-data/entry/ability-type/provoke.lua +66 -0
- package/engine/object-data/entry/ability-type/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/summon-quilbeast.lua +2 -2
- package/engine/object-data/entry/ability-type/summon-water-elemental.lua +2 -2
- package/engine/object-data/entry/ability-type/surge-of-light.d.ts +33 -0
- package/engine/object-data/entry/ability-type/surge-of-light.lua +130 -0
- package/engine/object-data/entry/ability-type/sweeping-strike.d.ts +57 -0
- package/engine/object-data/entry/ability-type/sweeping-strike.lua +234 -0
- package/engine/object-data/entry/ability-type/talents.d.ts +12 -0
- package/engine/object-data/entry/ability-type/talents.lua +27 -0
- package/engine/object-data/entry/ability-type/unyielding-guard.d.ts +30 -0
- package/engine/object-data/entry/ability-type/unyielding-guard.lua +117 -0
- package/engine/object-data/entry/ability-type/valiant-charge.d.ts +27 -0
- package/engine/object-data/entry/ability-type/valiant-charge.lua +104 -0
- package/engine/object-data/entry/ability-type/warcry.d.ts +9 -0
- package/engine/object-data/entry/ability-type/warcry.lua +26 -0
- package/engine/object-data/entry/ability-type/web.d.ts +12 -0
- package/engine/object-data/entry/ability-type/web.lua +52 -0
- package/engine/object-data/entry/ability-type/withering-fire.d.ts +21 -0
- package/engine/object-data/entry/ability-type/withering-fire.lua +78 -0
- package/engine/object-data/entry/ability-type.d.ts +50 -21
- package/engine/object-data/entry/ability-type.lua +384 -35
- package/engine/object-data/entry/buff-type/applicable.lua +131 -139
- package/engine/object-data/entry/buff-type.d.ts +10 -12
- package/engine/object-data/entry/buff-type.lua +39 -29
- package/engine/object-data/entry/destructible-type.d.ts +32 -2
- package/engine/object-data/entry/destructible-type.lua +181 -0
- package/engine/object-data/entry/item-type.d.ts +18 -3
- package/engine/object-data/entry/item-type.lua +88 -4
- package/engine/object-data/entry/lightning-type.d.ts +6 -8
- package/engine/object-data/entry/lightning-type.lua +1 -1
- package/engine/object-data/entry/sound-preset.d.ts +33 -0
- package/engine/object-data/entry/sound-preset.lua +140 -0
- package/engine/object-data/entry/unit-type.d.ts +81 -6
- package/engine/object-data/entry/unit-type.lua +619 -99
- package/engine/object-data/entry/upgrade.d.ts +2 -2
- package/engine/object-data/entry/upgrade.lua +4 -4
- package/engine/object-data/entry.d.ts +21 -14
- package/engine/object-data/entry.lua +68 -32
- package/engine/object-field/ability.d.ts +4 -4
- package/engine/object-field/ability.lua +9 -8
- package/engine/object-field/item.d.ts +22 -0
- package/engine/object-field/item.lua +118 -0
- package/engine/object-field/unit.d.ts +72 -3
- package/engine/object-field/unit.lua +268 -7
- package/engine/object-field.d.ts +26 -7
- package/engine/object-field.lua +360 -119
- package/engine/random.d.ts +10 -0
- package/engine/random.lua +21 -0
- package/engine/standard/entries/ability-type.d.ts +3102 -7
- package/engine/standard/entries/ability-type.lua +0 -6
- package/engine/standard/entries/buff-type.d.ts +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/sound-preset.d.ts +10 -0
- package/engine/standard/entries/sound-preset.lua +10 -0
- package/engine/standard/entries/unit-type.d.ts +5 -0
- package/engine/standard/entries/unit-type.lua +5 -0
- package/engine/standard/fields/ability.d.ts +4 -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 +8 -0
- package/operation.d.ts +8 -1
- package/operation.lua +38 -18
- package/package.json +3 -23
- package/patch-lua.lua +15 -0
- package/patch-lualib.lua +1 -1
- package/patch-natives.lua +3 -0
- 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
|
@@ -12,6 +12,9 @@ import { EffectParameters } from "../core/types/effect";
|
|
|
12
12
|
import { UnitBehavior } from "./behaviour/unit";
|
|
13
13
|
import type { Widget } from "../core/types/widget";
|
|
14
14
|
import { Destructor } from "../destroyable";
|
|
15
|
+
import { Event } from "../event";
|
|
16
|
+
import { AbilityBehavior } from "./behaviour/ability";
|
|
17
|
+
import { SoundPresetId } from "./object-data/entry/sound-preset";
|
|
15
18
|
export type BuffConstructor<T extends Buff<any> = Buff<any>, Args extends any[] = any> = OmitConstructor<typeof Buff<any>> & (new (...args: Args) => T);
|
|
16
19
|
type EnumParameterValueType<T extends number> = T | AbilityEnumLevelField<T>;
|
|
17
20
|
type NumberParameterValueType = number | AbilityNumberField | AbilityNumberLevelField;
|
|
@@ -21,6 +24,13 @@ export type BuffPolarityParameterType = EnumParameterValueType<BuffPolarity>;
|
|
|
21
24
|
export type BuffResistanceTypeParameterType = EnumParameterValueType<BuffResistanceType>;
|
|
22
25
|
export declare class BuffUniqueGroup {
|
|
23
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
|
+
};
|
|
24
34
|
export type BuffParameters<T extends Buff<any> = Buff> = Buff extends T ? {
|
|
25
35
|
spellStealPriority?: number;
|
|
26
36
|
level?: number;
|
|
@@ -28,14 +38,7 @@ export type BuffParameters<T extends Buff<any> = Buff> = Buff extends T ? {
|
|
|
28
38
|
learnLevelMinimum?: number;
|
|
29
39
|
source?: Unit;
|
|
30
40
|
behaviorConstructors?: (new (unit: Unit) => UnitBehavior)[];
|
|
31
|
-
abilityTypeIds?: Record<AbilityTypeId,
|
|
32
|
-
[numberField: (AbilityNumberField | AbilityNumberLevelField) & symbol]: NumberParameterValueType;
|
|
33
|
-
} & {
|
|
34
|
-
/** Default `true`. */
|
|
35
|
-
readonly isButtonVisible?: boolean;
|
|
36
|
-
/** Default is the level of the source ability or 0 if it is absent. */
|
|
37
|
-
readonly level?: number;
|
|
38
|
-
}>;
|
|
41
|
+
abilityTypeIds?: Partial<Record<AbilityTypeId, BuffAbilityParameters>>;
|
|
39
42
|
damageUponDeathAllowedTargetCombatClassifications?: CombatClassifications | AbilityCombatClassificationsLevelField;
|
|
40
43
|
damageUponDeath?: NumberParameterValueType;
|
|
41
44
|
damageUponDeathRange?: NumberParameterValueType;
|
|
@@ -52,16 +55,22 @@ export type BuffParameters<T extends Buff<any> = Buff> = Buff extends T ? {
|
|
|
52
55
|
damageIncrease?: NumberParameterValueType;
|
|
53
56
|
damageIncreaseFactor?: NumberParameterValueType;
|
|
54
57
|
armorIncrease?: NumberParameterValueType;
|
|
55
|
-
|
|
58
|
+
maxHealthIncrease?: NumberParameterValueType;
|
|
59
|
+
maxManaIncrease?: NumberParameterValueType;
|
|
56
60
|
attackSpeedIncreaseFactor?: NumberParameterValueType;
|
|
57
61
|
movementSpeedIncreaseFactor?: NumberParameterValueType;
|
|
62
|
+
manaRegenerationRateIncreaseFactor?: NumberParameterValueType;
|
|
58
63
|
evasionProbability?: NumberParameterValueType;
|
|
64
|
+
missProbability?: NumberParameterValueType;
|
|
59
65
|
damageFactor?: NumberParameterValueType;
|
|
60
66
|
receivedDamageFactor?: NumberParameterValueType;
|
|
67
|
+
/** The factor of melee attack damage returned to the attacker, as Spiked Carapace. */
|
|
68
|
+
returnedMeleeDamageFactor?: NumberParameterValueType;
|
|
61
69
|
receivedMagicDamageFactor?: NumberParameterValueType;
|
|
62
70
|
durationIncreaseOnAutoAttack?: NumberParameterValueType;
|
|
63
71
|
maximumRemainingDuration?: NumberParameterValueType;
|
|
64
72
|
maximumDuration?: NumberParameterValueType;
|
|
73
|
+
turnsIntoGhost?: BooleanParameterValueType;
|
|
65
74
|
stuns?: BooleanParameterValueType;
|
|
66
75
|
ignoresStunImmunity?: BooleanParameterValueType;
|
|
67
76
|
providesStunImmunity?: BooleanParameterValueType;
|
|
@@ -72,59 +81,83 @@ export type BuffParameters<T extends Buff<any> = Buff> = Buff extends T ? {
|
|
|
72
81
|
maximumAutoAttackCount?: IntegerParameterValueType;
|
|
73
82
|
maximumDamageDealtEventCount?: IntegerParameterValueType;
|
|
74
83
|
maximumDamageReceivedEventCount?: IntegerParameterValueType;
|
|
84
|
+
absorbedDamageFactor?: NumberParameterValueType;
|
|
85
|
+
maximumDamageAbsorbed?: NumberParameterValueType;
|
|
86
|
+
destroysOnMaximumDamageAbsorbed?: BooleanParameterValueType;
|
|
75
87
|
damageOnExpiration?: NumberParameterValueType;
|
|
76
88
|
healingOnExpiration?: NumberParameterValueType;
|
|
77
89
|
killsOnExpiration?: BooleanParameterValueType;
|
|
78
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;
|
|
79
98
|
uniqueGroup?: BuffUniqueGroup;
|
|
99
|
+
/** Played on the unit whenever the buff is destroyed, whatever the reason. */
|
|
100
|
+
destructionSoundPresetId?: SoundPresetId;
|
|
80
101
|
} : BuffParameters & (T extends Buff<infer AdditionalParameters> ? AdditionalParameters : object);
|
|
81
102
|
declare const enum BuffPropertyKey {
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
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
|
-
|
|
103
|
+
STATE = 100,
|
|
104
|
+
UNIT = 101,
|
|
105
|
+
SOURCE = 102,
|
|
106
|
+
DURATION = 103,
|
|
107
|
+
UNIQUE_GROUP = 104,
|
|
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
|
|
122
155
|
}
|
|
123
156
|
export declare const enum BuffTypeIdSelectionPolicy {
|
|
124
157
|
LEAST_DURATION = 0
|
|
125
158
|
}
|
|
126
159
|
export type BuffAdditionalParameters = Prohibit<Record<string, any>, keyof BuffParameters>;
|
|
127
|
-
export type BuffConstructorParameters<
|
|
160
|
+
export type BuffConstructorParameters<T extends Buff<BuffAdditionalParameters>> = T extends Buff<infer AdditionalParameters> ? [
|
|
128
161
|
...typeId: [ApplicableBuffTypeId] | [
|
|
129
162
|
typeIds: ReadonlyNonEmptyArray<ApplicableBuffTypeId>,
|
|
130
163
|
typeIdSelectionPolicy: BuffTypeIdSelectionPolicy
|
|
@@ -132,17 +165,21 @@ export type BuffConstructorParameters<AdditionalParameters extends BuffAdditiona
|
|
|
132
165
|
polarity: BuffPolarityParameterType,
|
|
133
166
|
resistanceType: BuffResistanceTypeParameterType,
|
|
134
167
|
...abilityOrParameters: [
|
|
135
|
-
ability
|
|
168
|
+
ability?: Ability | AbilityBehavior,
|
|
136
169
|
parameters?: BuffParameters & Omit<AdditionalParameters, keyof BuffParameters>
|
|
137
|
-
] | [
|
|
138
|
-
|
|
170
|
+
] | [
|
|
171
|
+
parameters?: BuffParameters & Omit<AdditionalParameters, keyof BuffParameters>
|
|
172
|
+
]
|
|
173
|
+
] : never;
|
|
139
174
|
export declare class Buff<AdditionalParameters extends Prohibit<Record<string, any>, keyof BuffParameters> = object> extends UnitBehavior {
|
|
140
175
|
private _unit;
|
|
141
176
|
protected readonly __additionalParametersBrand?: AdditionalParameters;
|
|
177
|
+
private [BuffPropertyKey.STATE];
|
|
142
178
|
private [BuffPropertyKey.UNIT];
|
|
143
179
|
private [BuffPropertyKey.SOURCE]?;
|
|
144
180
|
private [BuffPropertyKey.DURATION];
|
|
145
181
|
private [BuffPropertyKey.UNIQUE_GROUP]?;
|
|
182
|
+
private [BuffPropertyKey.DESTRUCTION_SOUND_PRESET_ID]?;
|
|
146
183
|
private [BuffPropertyKey.EFFECT_MODEL_PATH];
|
|
147
184
|
private [BuffPropertyKey.SPECIAL_EFFECT_MODEL_PATH];
|
|
148
185
|
private [BuffPropertyKey.DURATION_INCREASE_ON_AUTO_ATTACK]?;
|
|
@@ -173,31 +210,39 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
173
210
|
private [BuffPropertyKey.DAMAGE_DEALT_EVENT_COUNT]?;
|
|
174
211
|
private [BuffPropertyKey.MAXIMUM_DAMAGE_RECEIVED_EVENT_COUNT]?;
|
|
175
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]?;
|
|
176
218
|
private [BuffPropertyKey.STUNS]?;
|
|
177
219
|
private [BuffPropertyKey.IGNORES_STUN_IMMUNITY]?;
|
|
178
220
|
private [BuffPropertyKey.DISABLES_AUTO_ATTACK]?;
|
|
179
221
|
private [BuffPropertyKey.PROVIDES_INVULNERABILITY]?;
|
|
180
222
|
private [BuffPropertyKey.KILLS_ON_EXPIRATION]?;
|
|
181
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]?;
|
|
182
228
|
protected static readonly defaultParameters: BuffParameters;
|
|
183
229
|
get source(): Unit;
|
|
184
230
|
readonly typeId: ApplicableBuffTypeId;
|
|
185
231
|
readonly polarity: BuffPolarity;
|
|
186
232
|
readonly resistanceType: BuffResistanceType;
|
|
187
|
-
readonly parameters: IsExactlyAny<AdditionalParameters> extends true ? any :
|
|
233
|
+
readonly parameters: IsExactlyAny<AdditionalParameters> extends true ? any : AdditionalParameters extends Record<PropertyKey, never> ? undefined : {
|
|
188
234
|
[K in keyof Omit<AdditionalParameters, keyof BuffParameters>]: AdditionalParameters[K] extends AbilityDependentValue<infer T> ? T : AdditionalParameters[K];
|
|
189
235
|
};
|
|
190
236
|
private readonly handle;
|
|
237
|
+
readonly previousBuff?: Buff;
|
|
191
238
|
private _timer?;
|
|
192
239
|
private readonly _level?;
|
|
193
240
|
private readonly _spellStealPriority?;
|
|
194
241
|
private readonly _learnLevelMinimum?;
|
|
195
|
-
private
|
|
242
|
+
private readonly [BuffPropertyKey.MISS_PROBABILITY]?;
|
|
196
243
|
private readonly _abilityTypeIds?;
|
|
197
244
|
private _behaviors?;
|
|
198
|
-
|
|
199
|
-
private addOrUpdateOrRemoveUnitBonus;
|
|
200
|
-
constructor(target: Unit, ...parameters: BuffConstructorParameters<AdditionalParameters>);
|
|
245
|
+
constructor(target: Unit, ...parameters: BuffConstructorParameters<Buff<AdditionalParameters>>);
|
|
201
246
|
get level(): number;
|
|
202
247
|
get remainingDamageOverDuration(): number;
|
|
203
248
|
set remainingDamageOverDuration(remainingDamageOverDuration: number);
|
|
@@ -223,8 +268,16 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
223
268
|
set damageFactor(damageFactor: number);
|
|
224
269
|
get receivedDamageFactor(): number;
|
|
225
270
|
set receivedDamageFactor(receivedDamageFactor: number);
|
|
271
|
+
get returnedMeleeDamageFactor(): number;
|
|
272
|
+
set returnedMeleeDamageFactor(returnedMeleeDamageFactor: number);
|
|
226
273
|
get armorIncrease(): number;
|
|
227
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);
|
|
228
281
|
get stuns(): boolean;
|
|
229
282
|
set stuns(stuns: boolean);
|
|
230
283
|
get ignoresStunImmunity(): boolean;
|
|
@@ -237,6 +290,8 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
237
290
|
set killsOnExpiration(killsOnExpiration: boolean);
|
|
238
291
|
get explodesOnExpiration(): boolean;
|
|
239
292
|
set explodesOnExpiration(killsOnExpiration: boolean);
|
|
293
|
+
get sharesVisionWithSource(): boolean;
|
|
294
|
+
set sharesVisionWithSource(sharesVisionWithSource: boolean);
|
|
240
295
|
get maximumDamageDealtEventCount(): number;
|
|
241
296
|
set maximumDamageDealtEventCount(maximumDamageDealtEventCount: number);
|
|
242
297
|
get maximumDamageReceivedEventCount(): number;
|
|
@@ -251,21 +306,46 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
251
306
|
set movementSpeedIncreaseFactor(movementSpeedIncreaseFactor: number);
|
|
252
307
|
get evasionProbability(): number;
|
|
253
308
|
set evasionProbability(evasionProbability: number);
|
|
309
|
+
get manaRegenerationRateIncreaseFactor(): number;
|
|
310
|
+
set manaRegenerationRateIncreaseFactor(manaRegenerationRateIncreaseFactor: number);
|
|
254
311
|
get duration(): number;
|
|
312
|
+
set duration(duration: number);
|
|
255
313
|
get remainingDuration(): number;
|
|
256
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;
|
|
257
326
|
flashEffect(...parameters: [
|
|
258
327
|
...widgetOrXY: [] | [Widget] | [x: number, x: number],
|
|
259
328
|
...parametersOrDuration: [] | [EffectParameters] | [number]
|
|
260
329
|
]): void;
|
|
261
|
-
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;
|
|
262
338
|
protected onCreate(): void;
|
|
263
339
|
protected onDestroy(): Destructor;
|
|
264
340
|
static apply<T extends Buff<any>, Args extends any[]>(this: BuffConstructor<T, Args>, ...args: Args): T | undefined;
|
|
265
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;
|
|
266
344
|
onExpiration(): void;
|
|
267
345
|
onDeath(source: Unit | undefined): void;
|
|
268
346
|
onDamageDealt(target: Unit, event: DamageEvent): void;
|
|
269
347
|
onDamageReceived(source: Unit | undefined, event: DamageEvent): void;
|
|
348
|
+
static readonly createdEvent: Event<[Buff<object>]>;
|
|
349
|
+
static readonly beingDestroyedEvent: Event<[Buff<object>]>;
|
|
270
350
|
}
|
|
271
351
|
export {};
|