warscript 0.0.1-dev.5abc199 → 0.0.1-dev.5bc80ec
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/core/dummy.lua +4 -2
- package/core/types/effect.d.ts +11 -1
- package/core/types/effect.lua +43 -77
- package/core/types/frame.d.ts +16 -2
- package/core/types/frame.lua +128 -67
- 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 +7 -6
- package/core/types/player.d.ts +2 -1
- package/core/types/player.lua +18 -13
- package/core/types/playerColor.lua +4 -3
- package/core/types/sound.d.ts +1 -1
- package/core/types/sound.lua +14 -9
- package/core/types/tileCell.d.ts +7 -2
- package/core/types/tileCell.lua +11 -0
- package/core/types/unit.d.ts +5 -0
- package/core/types/unit.lua +5 -0
- package/core/util.d.ts +3 -1
- package/core/util.lua +109 -3
- package/decl/native.d.ts +706 -7
- package/engine/ability-type-extended-tooltip.d.ts +8 -0
- package/engine/ability-type-extended-tooltip.lua +44 -0
- package/engine/behaviour/ability/apply-unit-behavior.lua +5 -0
- package/engine/behaviour/ability/damage.d.ts +4 -0
- package/engine/behaviour/ability/damage.lua +19 -15
- package/engine/behaviour/ability/emulate-impact.d.ts +14 -0
- package/engine/behaviour/ability/emulate-impact.lua +79 -5
- 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.d.ts +13 -5
- package/engine/behaviour/ability.lua +89 -8
- package/engine/behaviour/unit.d.ts +1 -0
- package/engine/behaviour/unit.lua +1 -0
- package/engine/buff.d.ts +92 -53
- package/engine/buff.lua +427 -246
- package/engine/index.d.ts +2 -1
- package/engine/internal/ability.d.ts +7 -0
- package/engine/internal/ability.lua +65 -36
- 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 +27 -4
- package/engine/internal/item.d.ts +20 -5
- package/engine/internal/item.lua +146 -57
- 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/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.lua +16 -0
- 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/appearance.d.ts +15 -0
- package/engine/internal/unit/appearance.lua +85 -0
- package/engine/internal/unit/bonus.d.ts +15 -0
- package/engine/internal/unit/bonus.lua +103 -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/ignore-events-items.lua +10 -1
- 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/order.d.ts +3 -3
- package/engine/internal/unit/order.lua +10 -10
- package/engine/internal/unit+ability.d.ts +2 -1
- package/engine/internal/unit+ability.lua +73 -2
- package/engine/internal/unit+bonus.lua +3 -3
- package/engine/internal/unit+damage.d.ts +9 -0
- package/engine/internal/unit+damage.lua +33 -0
- package/engine/internal/unit+rally.lua +9 -31
- package/engine/internal/unit-missile-data.lua +58 -32
- package/engine/internal/unit-missile-launch.lua +13 -13
- package/engine/internal/unit.d.ts +2 -10
- package/engine/internal/unit.lua +53 -100
- package/engine/local-client.d.ts +26 -0
- package/engine/local-client.lua +294 -54
- package/engine/object-data/auxiliary/attachment-preset.d.ts +7 -0
- package/engine/object-data/auxiliary/attachment-preset.lua +7 -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/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/order-type.d.ts +939 -0
- package/engine/object-data/auxiliary/order-type.lua +2 -0
- package/engine/object-data/auxiliary/sound-set-name.d.ts +14 -3
- package/engine/object-data/auxiliary/unit-attribute.lua +1 -1
- 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/blank-configurable.lua +2 -2
- 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/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/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/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/provoke.d.ts +21 -0
- package/engine/object-data/entry/ability-type/provoke.lua +66 -0
- package/engine/object-data/entry/ability-type/rain-of-fire.d.ts +7 -0
- package/engine/object-data/entry/ability-type/rain-of-fire.lua +13 -0
- package/engine/object-data/entry/ability-type/raise-the-banner.d.ts +9 -0
- package/engine/object-data/entry/ability-type/raise-the-banner.lua +26 -0
- package/engine/object-data/entry/ability-type/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/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/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 +33 -8
- package/engine/object-data/entry/ability-type.lua +259 -47
- package/engine/object-data/entry/buff-type/applicable.lua +122 -111
- package/engine/object-data/entry/buff-type.d.ts +6 -2
- package/engine/object-data/entry/buff-type.lua +26 -0
- package/engine/object-data/entry/destructible-type.d.ts +6 -2
- package/engine/object-data/entry/destructible-type.lua +26 -0
- package/engine/object-data/entry/item-type.d.ts +18 -3
- package/engine/object-data/entry/item-type.lua +84 -0
- package/engine/object-data/entry/lightning-type.d.ts +6 -8
- package/engine/object-data/entry/lightning-type.lua +1 -1
- package/engine/object-data/entry/sound-preset.d.ts +2 -2
- package/engine/object-data/entry/unit-type.d.ts +57 -2
- package/engine/object-data/entry/unit-type.lua +412 -64
- package/engine/object-data/entry/upgrade.d.ts +2 -2
- package/engine/object-data/entry.d.ts +6 -1
- package/engine/object-data/entry.lua +8 -0
- package/engine/object-field/ability.lua +2 -2
- package/engine/object-field/item.d.ts +22 -0
- package/engine/object-field/item.lua +118 -0
- package/engine/object-field.d.ts +1 -1
- package/engine/object-field.lua +9 -7
- package/engine/random.lua +1 -1
- 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 +45 -0
- package/engine/standard/entries/buff-type.lua +43 -0
- package/engine/standard/entries/item-type.d.ts +1299 -0
- package/engine/standard/entries/item-type.lua +2 -0
- package/engine/standard/entries/lightning-type.d.ts +42 -15
- package/engine/standard/entries/lightning-type.lua +0 -14
- package/engine/standard/entries/unit-type.d.ts +5 -0
- package/engine/standard/entries/unit-type.lua +5 -0
- package/engine/standard/fields/ability.d.ts +2 -2
- package/engine/standard/fields/ability.lua +2 -2
- package/engine/standard/fields/item.d.ts +4 -0
- package/engine/standard/fields/item.lua +6 -0
- package/engine/unit.d.ts +5 -1
- package/engine/unit.lua +5 -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/network.lua +25 -1
- package/objutil/buff.lua +1 -1
- package/objutil/object.lua +1 -1
- package/operation.d.ts +8 -1
- package/operation.lua +38 -18
- package/package.json +3 -23
- package/utility/arrays.d.ts +7 -1
- package/utility/arrays.lua +17 -0
- package/utility/linked-map.d.ts +2 -1
- package/utility/linked-map.lua +6 -0
- package/utility/linked-set.d.ts +1 -0
- package/utility/linked-set.lua +6 -0
- package/utility/random.d.ts +102 -0
- package/utility/random.lua +273 -0
- package/utility/unordered-map.d.ts +27 -0
- package/utility/unordered-map.lua +99 -0
- package/engine/internal/unit/item.lua +0 -78
- /package/engine/internal/{object-data/armor-increase.d.ts → misc/unit-ability-level-natives.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
package/engine/buff.d.ts
CHANGED
|
@@ -14,6 +14,7 @@ import type { Widget } from "../core/types/widget";
|
|
|
14
14
|
import { Destructor } from "../destroyable";
|
|
15
15
|
import { Event } from "../event";
|
|
16
16
|
import { AbilityBehavior } from "./behaviour/ability";
|
|
17
|
+
import { SoundPresetId } from "./object-data/entry/sound-preset";
|
|
17
18
|
export type BuffConstructor<T extends Buff<any> = Buff<any>, Args extends any[] = any> = OmitConstructor<typeof Buff<any>> & (new (...args: Args) => T);
|
|
18
19
|
type EnumParameterValueType<T extends number> = T | AbilityEnumLevelField<T>;
|
|
19
20
|
type NumberParameterValueType = number | AbilityNumberField | AbilityNumberLevelField;
|
|
@@ -23,6 +24,13 @@ export type BuffPolarityParameterType = EnumParameterValueType<BuffPolarity>;
|
|
|
23
24
|
export type BuffResistanceTypeParameterType = EnumParameterValueType<BuffResistanceType>;
|
|
24
25
|
export declare class BuffUniqueGroup {
|
|
25
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
|
+
};
|
|
26
34
|
export type BuffParameters<T extends Buff<any> = Buff> = Buff extends T ? {
|
|
27
35
|
spellStealPriority?: number;
|
|
28
36
|
level?: number;
|
|
@@ -30,16 +38,7 @@ export type BuffParameters<T extends Buff<any> = Buff> = Buff extends T ? {
|
|
|
30
38
|
learnLevelMinimum?: number;
|
|
31
39
|
source?: Unit;
|
|
32
40
|
behaviorConstructors?: (new (unit: Unit) => UnitBehavior)[];
|
|
33
|
-
abilityTypeIds?: Record<AbilityTypeId,
|
|
34
|
-
readonly fields?: [
|
|
35
|
-
AbilityNumberField | AbilityNumberLevelField,
|
|
36
|
-
NumberParameterValueType
|
|
37
|
-
][];
|
|
38
|
-
/** Default `true`. */
|
|
39
|
-
readonly isButtonVisible?: boolean;
|
|
40
|
-
/** Default is the level of the source ability or 0 if it is absent. */
|
|
41
|
-
readonly level?: number;
|
|
42
|
-
}>;
|
|
41
|
+
abilityTypeIds?: Partial<Record<AbilityTypeId, BuffAbilityParameters>>;
|
|
43
42
|
damageUponDeathAllowedTargetCombatClassifications?: CombatClassifications | AbilityCombatClassificationsLevelField;
|
|
44
43
|
damageUponDeath?: NumberParameterValueType;
|
|
45
44
|
damageUponDeathRange?: NumberParameterValueType;
|
|
@@ -56,7 +55,8 @@ export type BuffParameters<T extends Buff<any> = Buff> = Buff extends T ? {
|
|
|
56
55
|
damageIncrease?: NumberParameterValueType;
|
|
57
56
|
damageIncreaseFactor?: NumberParameterValueType;
|
|
58
57
|
armorIncrease?: NumberParameterValueType;
|
|
59
|
-
|
|
58
|
+
maxHealthIncrease?: NumberParameterValueType;
|
|
59
|
+
maxManaIncrease?: NumberParameterValueType;
|
|
60
60
|
attackSpeedIncreaseFactor?: NumberParameterValueType;
|
|
61
61
|
movementSpeedIncreaseFactor?: NumberParameterValueType;
|
|
62
62
|
manaRegenerationRateIncreaseFactor?: NumberParameterValueType;
|
|
@@ -64,6 +64,8 @@ export type BuffParameters<T extends Buff<any> = Buff> = Buff extends T ? {
|
|
|
64
64
|
missProbability?: NumberParameterValueType;
|
|
65
65
|
damageFactor?: NumberParameterValueType;
|
|
66
66
|
receivedDamageFactor?: NumberParameterValueType;
|
|
67
|
+
/** The factor of melee attack damage returned to the attacker, as Spiked Carapace. */
|
|
68
|
+
returnedMeleeDamageFactor?: NumberParameterValueType;
|
|
67
69
|
receivedMagicDamageFactor?: NumberParameterValueType;
|
|
68
70
|
durationIncreaseOnAutoAttack?: NumberParameterValueType;
|
|
69
71
|
maximumRemainingDuration?: NumberParameterValueType;
|
|
@@ -79,12 +81,17 @@ export type BuffParameters<T extends Buff<any> = Buff> = Buff extends T ? {
|
|
|
79
81
|
maximumAutoAttackCount?: IntegerParameterValueType;
|
|
80
82
|
maximumDamageDealtEventCount?: IntegerParameterValueType;
|
|
81
83
|
maximumDamageReceivedEventCount?: IntegerParameterValueType;
|
|
84
|
+
absorbedDamageFactor?: NumberParameterValueType;
|
|
85
|
+
maximumDamageAbsorbed?: NumberParameterValueType;
|
|
86
|
+
destroysOnMaximumDamageAbsorbed?: BooleanParameterValueType;
|
|
82
87
|
damageOnExpiration?: NumberParameterValueType;
|
|
83
88
|
healingOnExpiration?: NumberParameterValueType;
|
|
84
89
|
killsOnExpiration?: BooleanParameterValueType;
|
|
85
90
|
explodesOnExpiration?: BooleanParameterValueType;
|
|
86
91
|
abilityCooldownFactor?: NumberParameterValueType;
|
|
87
92
|
uniqueGroup?: BuffUniqueGroup;
|
|
93
|
+
/** Played on the unit whenever the buff is destroyed, whatever the reason. */
|
|
94
|
+
destructionSoundPresetId?: SoundPresetId;
|
|
88
95
|
} : BuffParameters & (T extends Buff<infer AdditionalParameters> ? AdditionalParameters : object);
|
|
89
96
|
declare const enum BuffPropertyKey {
|
|
90
97
|
STATE = 100,
|
|
@@ -92,46 +99,51 @@ declare const enum BuffPropertyKey {
|
|
|
92
99
|
SOURCE = 102,
|
|
93
100
|
DURATION = 103,
|
|
94
101
|
UNIQUE_GROUP = 104,
|
|
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
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
102
|
+
DESTRUCTION_SOUND_PRESET_ID = 105,
|
|
103
|
+
EFFECT_MODEL_PATH = 106,
|
|
104
|
+
SPECIAL_EFFECT_MODEL_PATH = 107,
|
|
105
|
+
DURATION_INCREASE_ON_AUTO_ATTACK = 108,
|
|
106
|
+
MAXIMUM_DURATION = 109,
|
|
107
|
+
MAXIMUM_REMAINING_DURATION = 110,
|
|
108
|
+
DAMAGE_OVER_DURATION = 111,
|
|
109
|
+
DAMAGE_PER_INTERVAL = 112,
|
|
110
|
+
DAMAGE_INTERVAL = 113,
|
|
111
|
+
REMAINING_DAMAGE_OVER_DURATION = 114,
|
|
112
|
+
DAMAGE_INTERVAL_TIMER = 115,
|
|
113
|
+
HEALING_OVER_DURATION = 116,
|
|
114
|
+
HEALING_PER_INTERVAL = 117,
|
|
115
|
+
HEALING_INTERVAL = 118,
|
|
116
|
+
REMAINING_HEALING_OVER_DURATION = 119,
|
|
117
|
+
HEALING_INTERVAL_TIMER = 120,
|
|
118
|
+
DAMAGE_ON_EXPIRATION = 121,
|
|
119
|
+
HEALING_ON_EXPIRATION = 122,
|
|
120
|
+
DAMAGE_UPON_DEATH_ALLOWED_TARGET_CLASSIFICATIONS = 123,
|
|
121
|
+
DAMAGE_UPON_DEATH = 124,
|
|
122
|
+
DAMAGE_UPON_DEATH_RANGE = 125,
|
|
123
|
+
MEDIUM_DAMAGE_UPON_DEATH = 126,
|
|
124
|
+
MEDIUM_DAMAGE_UPON_DEATH_RANGE = 127,
|
|
125
|
+
SMALL_DAMAGE_UPON_DEATH = 128,
|
|
126
|
+
SMALL_DAMAGE_UPON_DEATH_RANGE = 129,
|
|
127
|
+
AUTO_ATTACK_COUNT = 130,
|
|
128
|
+
MAXIMUM_AUTO_ATTACK_COUNT = 131,
|
|
129
|
+
DAMAGE_DEALT_EVENT_COUNT = 132,
|
|
130
|
+
MAXIMUM_DAMAGE_DEALT_EVENT_COUNT = 133,
|
|
131
|
+
DAMAGE_RECEIVED_EVENT_COUNT = 134,
|
|
132
|
+
MAXIMUM_DAMAGE_RECEIVED_EVENT_COUNT = 135,
|
|
133
|
+
ABSORBED_DAMAGE_FACTOR = 136,
|
|
134
|
+
MAXIMUM_DAMAGE_ABSORBED = 137,
|
|
135
|
+
DAMAGE_ABSORBED = 138,
|
|
136
|
+
DESTROYS_ON_MAXIMUM_DAMAGE_ABSORBED = 139,
|
|
137
|
+
TURNS_INTO_GHOST = 140,
|
|
138
|
+
STUNS = 141,
|
|
139
|
+
IGNORES_STUN_IMMUNITY = 142,
|
|
140
|
+
DISABLES_AUTO_ATTACK = 143,
|
|
141
|
+
PROVIDES_INVULNERABILITY = 144,
|
|
142
|
+
KILLS_ON_EXPIRATION = 145,
|
|
143
|
+
EXPLODES_ON_EXPIRATION = 146,
|
|
144
|
+
MISS_PROBABILITY = 147,
|
|
145
|
+
ABILITY_COOLDOWN_FACTOR = 148,
|
|
146
|
+
ABILITY_COOLDOWN_MODIFIER = 149
|
|
135
147
|
}
|
|
136
148
|
export declare const enum BuffTypeIdSelectionPolicy {
|
|
137
149
|
LEAST_DURATION = 0
|
|
@@ -159,6 +171,7 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
159
171
|
private [BuffPropertyKey.SOURCE]?;
|
|
160
172
|
private [BuffPropertyKey.DURATION];
|
|
161
173
|
private [BuffPropertyKey.UNIQUE_GROUP]?;
|
|
174
|
+
private [BuffPropertyKey.DESTRUCTION_SOUND_PRESET_ID]?;
|
|
162
175
|
private [BuffPropertyKey.EFFECT_MODEL_PATH];
|
|
163
176
|
private [BuffPropertyKey.SPECIAL_EFFECT_MODEL_PATH];
|
|
164
177
|
private [BuffPropertyKey.DURATION_INCREASE_ON_AUTO_ATTACK]?;
|
|
@@ -189,6 +202,10 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
189
202
|
private [BuffPropertyKey.DAMAGE_DEALT_EVENT_COUNT]?;
|
|
190
203
|
private [BuffPropertyKey.MAXIMUM_DAMAGE_RECEIVED_EVENT_COUNT]?;
|
|
191
204
|
private [BuffPropertyKey.DAMAGE_RECEIVED_EVENT_COUNT]?;
|
|
205
|
+
private [BuffPropertyKey.ABSORBED_DAMAGE_FACTOR]?;
|
|
206
|
+
private [BuffPropertyKey.MAXIMUM_DAMAGE_ABSORBED]?;
|
|
207
|
+
private [BuffPropertyKey.DAMAGE_ABSORBED]?;
|
|
208
|
+
private [BuffPropertyKey.DESTROYS_ON_MAXIMUM_DAMAGE_ABSORBED]?;
|
|
192
209
|
private [BuffPropertyKey.TURNS_INTO_GHOST]?;
|
|
193
210
|
private [BuffPropertyKey.STUNS]?;
|
|
194
211
|
private [BuffPropertyKey.IGNORES_STUN_IMMUNITY]?;
|
|
@@ -203,10 +220,11 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
203
220
|
readonly typeId: ApplicableBuffTypeId;
|
|
204
221
|
readonly polarity: BuffPolarity;
|
|
205
222
|
readonly resistanceType: BuffResistanceType;
|
|
206
|
-
readonly parameters: IsExactlyAny<AdditionalParameters> extends true ? any :
|
|
223
|
+
readonly parameters: IsExactlyAny<AdditionalParameters> extends true ? any : AdditionalParameters extends Record<PropertyKey, never> ? undefined : {
|
|
207
224
|
[K in keyof Omit<AdditionalParameters, keyof BuffParameters>]: AdditionalParameters[K] extends AbilityDependentValue<infer T> ? T : AdditionalParameters[K];
|
|
208
225
|
};
|
|
209
226
|
private readonly handle;
|
|
227
|
+
readonly previousBuff?: Buff;
|
|
210
228
|
private _timer?;
|
|
211
229
|
private readonly _level?;
|
|
212
230
|
private readonly _spellStealPriority?;
|
|
@@ -240,8 +258,14 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
240
258
|
set damageFactor(damageFactor: number);
|
|
241
259
|
get receivedDamageFactor(): number;
|
|
242
260
|
set receivedDamageFactor(receivedDamageFactor: number);
|
|
261
|
+
get returnedMeleeDamageFactor(): number;
|
|
262
|
+
set returnedMeleeDamageFactor(returnedMeleeDamageFactor: number);
|
|
243
263
|
get armorIncrease(): number;
|
|
244
264
|
set armorIncrease(armorIncrease: number);
|
|
265
|
+
get maxHealthIncrease(): number;
|
|
266
|
+
set maxHealthIncrease(maxHealthIncrease: number);
|
|
267
|
+
get maxManaIncrease(): number;
|
|
268
|
+
set maxManaIncrease(maxManaIncrease: number);
|
|
245
269
|
get turnsIntoGhost(): boolean;
|
|
246
270
|
set turnsIntoGhost(turnsIntoGhost: boolean);
|
|
247
271
|
get stuns(): boolean;
|
|
@@ -276,6 +300,13 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
276
300
|
set duration(duration: number);
|
|
277
301
|
get remainingDuration(): number;
|
|
278
302
|
set remainingDuration(remainingDuration: number);
|
|
303
|
+
get absorbedDamageFactor(): number;
|
|
304
|
+
set absorbedDamageFactor(absorbedDamageFactor: number);
|
|
305
|
+
get maximumDamageAbsorbed(): number;
|
|
306
|
+
set maximumDamageAbsorbed(maximumDamageAbsorbed: number);
|
|
307
|
+
get damageAbsorbed(): number;
|
|
308
|
+
get destroysOnMaximumDamageAbsorbed(): boolean;
|
|
309
|
+
set destroysOnMaximumDamageAbsorbed(destroysOnMaximumDamageAbsorbed: boolean);
|
|
279
310
|
get abilityCooldownFactor(): number;
|
|
280
311
|
set abilityCooldownFactor(abilityCooldownFactor: number);
|
|
281
312
|
onAbilityGained(ability: Ability): void;
|
|
@@ -284,12 +315,20 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
284
315
|
...widgetOrXY: [] | [Widget] | [x: number, x: number],
|
|
285
316
|
...parametersOrDuration: [] | [EffectParameters] | [number]
|
|
286
317
|
]): void;
|
|
287
|
-
flashSpecialEffect(...parameters: [
|
|
318
|
+
flashSpecialEffect(...parameters: [
|
|
319
|
+
...widgetOrXY: [] | [Widget] | [x: number, x: number],
|
|
320
|
+
...parametersOrDuration: [] | [EffectParameters] | [number]
|
|
321
|
+
]): void;
|
|
322
|
+
private flash;
|
|
288
323
|
expire(): void;
|
|
324
|
+
/** Dispels this buff, invoking onDispel before removing it. */
|
|
325
|
+
dispel(source?: Unit): void;
|
|
289
326
|
protected onCreate(): void;
|
|
290
327
|
protected onDestroy(): Destructor;
|
|
291
328
|
static apply<T extends Buff<any>, Args extends any[]>(this: BuffConstructor<T, Args>, ...args: Args): T | undefined;
|
|
292
329
|
static getByTypeId<T extends Buff<any>, Args extends any[]>(this: BuffConstructor<T, Args>, unit: Unit, typeId: ApplicableBuffTypeId): T | undefined;
|
|
330
|
+
/** Called for dispelling, never for a direct destroy() or replacement. */
|
|
331
|
+
onDispel(source: Unit | undefined): void;
|
|
293
332
|
onExpiration(): void;
|
|
294
333
|
onDeath(source: Unit | undefined): void;
|
|
295
334
|
onDamageDealt(target: Unit, event: DamageEvent): void;
|