warscript 0.0.1-dev.d6e2c10 → 0.0.1-dev.d77b529
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 +1 -0
- package/core/types/frame.lua +112 -37
- package/core/types/handle.lua +9 -9
- package/core/types/item.d.ts +1 -0
- package/core/types/item.lua +1 -0
- package/core/types/player.d.ts +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/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 +705 -7
- package/engine/behavior.d.ts +4 -2
- package/engine/behavior.lua +69 -11
- 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.lua +5 -4
- 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 +11 -5
- package/engine/behaviour/ability.lua +54 -0
- package/engine/behaviour/unit/stun-immunity.d.ts +1 -1
- package/engine/behaviour/unit/stun-immunity.lua +5 -4
- package/engine/behaviour/unit.d.ts +1 -0
- package/engine/behaviour/unit.lua +14 -3
- package/engine/buff.d.ts +64 -25
- package/engine/buff.lua +345 -156
- package/engine/index.d.ts +2 -1
- package/engine/internal/ability.d.ts +4 -0
- package/engine/internal/ability.lua +56 -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/mechanics/cast-ability.lua +6 -3
- package/engine/internal/misc/unit-ability-level-natives.lua +12 -0
- package/engine/internal/object-data/armor-bonus.d.ts +2 -0
- package/engine/internal/object-data/attribute-bonus.lua +2 -2
- package/engine/internal/object-data/health-bonus.d.ts +2 -0
- package/engine/internal/object-data/health-bonus.lua +16 -0
- package/engine/internal/object-data/health-regeneration-rate-increase.d.ts +2 -0
- package/engine/internal/object-data/health-regeneration-rate-increase.lua +48 -0
- package/engine/internal/object-data/mana-bonus.d.ts +2 -0
- package/engine/internal/object-data/mana-bonus.lua +16 -0
- package/engine/internal/object-data/mana-regeneration-rate-increase-factor.d.ts +2 -0
- package/engine/internal/object-data/mana-regeneration-rate-increase-factor.lua +16 -0
- package/engine/internal/unit/ability.lua +15 -3
- 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/attributes.d.ts +17 -0
- package/engine/internal/unit/attributes.lua +46 -0
- package/engine/internal/unit/bonus.d.ts +14 -0
- package/engine/internal/unit/bonus.lua +102 -8
- package/engine/internal/unit/buff.d.ts +2 -2
- package/engine/internal/unit/buff.lua +34 -19
- package/engine/internal/unit/equipment-inventory.d.ts +44 -0
- package/engine/internal/unit/equipment-inventory.lua +233 -0
- package/engine/internal/unit/expiration-timer.lua +1 -1
- package/engine/internal/unit/extended-inventory.d.ts +25 -0
- package/engine/internal/unit/extended-inventory.lua +99 -0
- package/engine/internal/unit/fly-height.lua +3 -3
- 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/order.d.ts +3 -3
- package/engine/internal/unit/order.lua +10 -10
- package/engine/internal/unit/pseudo-passive-abilities.d.ts +2 -0
- package/engine/internal/unit/pseudo-passive-abilities.lua +11 -0
- package/engine/internal/unit/range-event.d.ts +12 -0
- package/engine/internal/unit/range-event.lua +90 -0
- package/engine/internal/unit/scale.lua +3 -3
- package/engine/internal/unit+ability.d.ts +2 -1
- package/engine/internal/unit+ability.lua +63 -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 +25 -18
- package/engine/internal/unit.d.ts +3 -18
- package/engine/internal/unit.lua +97 -195
- package/engine/local-client.d.ts +27 -1
- package/engine/local-client.lua +298 -58
- 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/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/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.d.ts +3 -0
- package/engine/object-data/entry/ability-type/blank-configurable.lua +30 -0
- package/engine/object-data/entry/ability-type/cleansing-fire.d.ts +27 -0
- package/engine/object-data/entry/ability-type/cleansing-fire.lua +104 -0
- package/engine/object-data/entry/ability-type/consecration.d.ts +15 -0
- package/engine/object-data/entry/ability-type/consecration.lua +52 -0
- package/engine/object-data/entry/ability-type/cooldown-reduction.d.ts +12 -0
- package/engine/object-data/entry/ability-type/cooldown-reduction.lua +39 -0
- package/engine/object-data/entry/ability-type/critical-strike-system.d.ts +18 -0
- package/engine/object-data/entry/ability-type/critical-strike-system.lua +65 -0
- package/engine/object-data/entry/ability-type/deathseeker-arrows.d.ts +21 -0
- package/engine/object-data/entry/ability-type/deathseeker-arrows.lua +78 -0
- package/engine/object-data/entry/ability-type/equipment-inventory-interface.d.ts +8 -0
- package/engine/object-data/entry/ability-type/equipment-inventory-interface.lua +13 -0
- package/engine/object-data/entry/ability-type/equipment-inventory.d.ts +13 -0
- package/engine/object-data/entry/ability-type/equipment-inventory.lua +27 -0
- package/engine/object-data/entry/ability-type/equipment.d.ts +13 -0
- package/engine/object-data/entry/ability-type/equipment.lua +27 -0
- package/engine/object-data/entry/ability-type/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/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/provoke.d.ts +21 -0
- package/engine/object-data/entry/ability-type/provoke.lua +66 -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/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 +18 -3
- package/engine/object-data/entry/ability-type.lua +222 -5
- package/engine/object-data/entry/buff-type/applicable.lua +113 -109
- 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 +16 -2
- package/engine/object-data/entry/destructible-type.lua +91 -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 +47 -2
- package/engine/object-data/entry/unit-type.lua +383 -49
- 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/unit.d.ts +7 -4
- package/engine/object-field/unit.lua +4 -0
- package/engine/object-field.d.ts +3 -1
- package/engine/object-field.lua +177 -119
- package/engine/random.d.ts +1 -0
- package/engine/random.lua +8 -0
- package/engine/standard/entries/ability-type.d.ts +3102 -7
- package/engine/standard/entries/ability-type.lua +0 -6
- 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/item.d.ts +4 -0
- package/engine/standard/fields/item.lua +6 -0
- package/engine/standard/fields/unit.d.ts +11 -5
- package/engine/standard/fields/unit.lua +13 -4
- package/engine/unit.d.ts +8 -1
- package/engine/unit.lua +8 -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 +10 -8
- package/objutil/object.lua +1 -1
- package/operation.d.ts +8 -1
- package/operation.lua +38 -18
- package/package.json +3 -23
- package/patch-lua.lua +15 -0
- package/utility/linked-map.d.ts +35 -0
- package/utility/linked-map.lua +107 -0
- package/utility/linked-set.d.ts +3 -1
- package/utility/linked-set.lua +27 -0
- package/utility/random.d.ts +102 -0
- package/utility/random.lua +273 -0
- package/utility/records.lua +20 -1
- 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
|
@@ -23,6 +23,13 @@ export type BuffPolarityParameterType = EnumParameterValueType<BuffPolarity>;
|
|
|
23
23
|
export type BuffResistanceTypeParameterType = EnumParameterValueType<BuffResistanceType>;
|
|
24
24
|
export declare class BuffUniqueGroup {
|
|
25
25
|
}
|
|
26
|
+
export type BuffAbilityParameters = {
|
|
27
|
+
readonly fields?: [AbilityNumberField | AbilityNumberLevelField, NumberParameterValueType][];
|
|
28
|
+
/** Default `true`. */
|
|
29
|
+
readonly isButtonVisible?: boolean;
|
|
30
|
+
/** Default is the level of the source ability or 0 if it is absent. */
|
|
31
|
+
readonly level?: number;
|
|
32
|
+
};
|
|
26
33
|
export type BuffParameters<T extends Buff<any> = Buff> = Buff extends T ? {
|
|
27
34
|
spellStealPriority?: number;
|
|
28
35
|
level?: number;
|
|
@@ -30,14 +37,7 @@ export type BuffParameters<T extends Buff<any> = Buff> = Buff extends T ? {
|
|
|
30
37
|
learnLevelMinimum?: number;
|
|
31
38
|
source?: Unit;
|
|
32
39
|
behaviorConstructors?: (new (unit: Unit) => UnitBehavior)[];
|
|
33
|
-
abilityTypeIds?: Record<AbilityTypeId,
|
|
34
|
-
[numberField: (AbilityNumberField | AbilityNumberLevelField) & symbol]: NumberParameterValueType;
|
|
35
|
-
} & {
|
|
36
|
-
/** Default `true`. */
|
|
37
|
-
readonly isButtonVisible?: boolean;
|
|
38
|
-
/** Default is the level of the source ability or 0 if it is absent. */
|
|
39
|
-
readonly level?: number;
|
|
40
|
-
}>;
|
|
40
|
+
abilityTypeIds?: Partial<Record<AbilityTypeId, BuffAbilityParameters>>;
|
|
41
41
|
damageUponDeathAllowedTargetCombatClassifications?: CombatClassifications | AbilityCombatClassificationsLevelField;
|
|
42
42
|
damageUponDeath?: NumberParameterValueType;
|
|
43
43
|
damageUponDeathRange?: NumberParameterValueType;
|
|
@@ -54,9 +54,11 @@ export type BuffParameters<T extends Buff<any> = Buff> = Buff extends T ? {
|
|
|
54
54
|
damageIncrease?: NumberParameterValueType;
|
|
55
55
|
damageIncreaseFactor?: NumberParameterValueType;
|
|
56
56
|
armorIncrease?: NumberParameterValueType;
|
|
57
|
-
|
|
57
|
+
maxHealthIncrease?: NumberParameterValueType;
|
|
58
|
+
maxManaIncrease?: NumberParameterValueType;
|
|
58
59
|
attackSpeedIncreaseFactor?: NumberParameterValueType;
|
|
59
60
|
movementSpeedIncreaseFactor?: NumberParameterValueType;
|
|
61
|
+
manaRegenerationRateIncreaseFactor?: NumberParameterValueType;
|
|
60
62
|
evasionProbability?: NumberParameterValueType;
|
|
61
63
|
missProbability?: NumberParameterValueType;
|
|
62
64
|
damageFactor?: NumberParameterValueType;
|
|
@@ -76,6 +78,9 @@ export type BuffParameters<T extends Buff<any> = Buff> = Buff extends T ? {
|
|
|
76
78
|
maximumAutoAttackCount?: IntegerParameterValueType;
|
|
77
79
|
maximumDamageDealtEventCount?: IntegerParameterValueType;
|
|
78
80
|
maximumDamageReceivedEventCount?: IntegerParameterValueType;
|
|
81
|
+
absorbedDamageFactor?: NumberParameterValueType;
|
|
82
|
+
maximumDamageAbsorbed?: NumberParameterValueType;
|
|
83
|
+
destroysOnMaximumDamageAbsorbed?: BooleanParameterValueType;
|
|
79
84
|
damageOnExpiration?: NumberParameterValueType;
|
|
80
85
|
healingOnExpiration?: NumberParameterValueType;
|
|
81
86
|
killsOnExpiration?: BooleanParameterValueType;
|
|
@@ -119,22 +124,26 @@ declare const enum BuffPropertyKey {
|
|
|
119
124
|
MAXIMUM_DAMAGE_DEALT_EVENT_COUNT = 132,
|
|
120
125
|
DAMAGE_RECEIVED_EVENT_COUNT = 133,
|
|
121
126
|
MAXIMUM_DAMAGE_RECEIVED_EVENT_COUNT = 134,
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
127
|
+
ABSORBED_DAMAGE_FACTOR = 135,
|
|
128
|
+
MAXIMUM_DAMAGE_ABSORBED = 136,
|
|
129
|
+
DAMAGE_ABSORBED = 137,
|
|
130
|
+
DESTROYS_ON_MAXIMUM_DAMAGE_ABSORBED = 138,
|
|
131
|
+
TURNS_INTO_GHOST = 139,
|
|
132
|
+
STUNS = 140,
|
|
133
|
+
IGNORES_STUN_IMMUNITY = 141,
|
|
134
|
+
DISABLES_AUTO_ATTACK = 142,
|
|
135
|
+
PROVIDES_INVULNERABILITY = 143,
|
|
136
|
+
KILLS_ON_EXPIRATION = 144,
|
|
137
|
+
EXPLODES_ON_EXPIRATION = 145,
|
|
138
|
+
MISS_PROBABILITY = 146,
|
|
139
|
+
ABILITY_COOLDOWN_FACTOR = 147,
|
|
140
|
+
ABILITY_COOLDOWN_MODIFIER = 148
|
|
132
141
|
}
|
|
133
142
|
export declare const enum BuffTypeIdSelectionPolicy {
|
|
134
143
|
LEAST_DURATION = 0
|
|
135
144
|
}
|
|
136
145
|
export type BuffAdditionalParameters = Prohibit<Record<string, any>, keyof BuffParameters>;
|
|
137
|
-
export type BuffConstructorParameters<
|
|
146
|
+
export type BuffConstructorParameters<T extends Buff<BuffAdditionalParameters>> = T extends Buff<infer AdditionalParameters> ? [
|
|
138
147
|
...typeId: [ApplicableBuffTypeId] | [
|
|
139
148
|
typeIds: ReadonlyNonEmptyArray<ApplicableBuffTypeId>,
|
|
140
149
|
typeIdSelectionPolicy: BuffTypeIdSelectionPolicy
|
|
@@ -144,8 +153,10 @@ export type BuffConstructorParameters<AdditionalParameters extends BuffAdditiona
|
|
|
144
153
|
...abilityOrParameters: [
|
|
145
154
|
ability?: Ability | AbilityBehavior,
|
|
146
155
|
parameters?: BuffParameters & Omit<AdditionalParameters, keyof BuffParameters>
|
|
147
|
-
] | [
|
|
148
|
-
|
|
156
|
+
] | [
|
|
157
|
+
parameters?: BuffParameters & Omit<AdditionalParameters, keyof BuffParameters>
|
|
158
|
+
]
|
|
159
|
+
] : never;
|
|
149
160
|
export declare class Buff<AdditionalParameters extends Prohibit<Record<string, any>, keyof BuffParameters> = object> extends UnitBehavior {
|
|
150
161
|
private _unit;
|
|
151
162
|
protected readonly __additionalParametersBrand?: AdditionalParameters;
|
|
@@ -184,6 +195,10 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
184
195
|
private [BuffPropertyKey.DAMAGE_DEALT_EVENT_COUNT]?;
|
|
185
196
|
private [BuffPropertyKey.MAXIMUM_DAMAGE_RECEIVED_EVENT_COUNT]?;
|
|
186
197
|
private [BuffPropertyKey.DAMAGE_RECEIVED_EVENT_COUNT]?;
|
|
198
|
+
private [BuffPropertyKey.ABSORBED_DAMAGE_FACTOR]?;
|
|
199
|
+
private [BuffPropertyKey.MAXIMUM_DAMAGE_ABSORBED]?;
|
|
200
|
+
private [BuffPropertyKey.DAMAGE_ABSORBED]?;
|
|
201
|
+
private [BuffPropertyKey.DESTROYS_ON_MAXIMUM_DAMAGE_ABSORBED]?;
|
|
187
202
|
private [BuffPropertyKey.TURNS_INTO_GHOST]?;
|
|
188
203
|
private [BuffPropertyKey.STUNS]?;
|
|
189
204
|
private [BuffPropertyKey.IGNORES_STUN_IMMUNITY]?;
|
|
@@ -198,10 +213,11 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
198
213
|
readonly typeId: ApplicableBuffTypeId;
|
|
199
214
|
readonly polarity: BuffPolarity;
|
|
200
215
|
readonly resistanceType: BuffResistanceType;
|
|
201
|
-
readonly parameters: IsExactlyAny<AdditionalParameters> extends true ? any :
|
|
216
|
+
readonly parameters: IsExactlyAny<AdditionalParameters> extends true ? any : AdditionalParameters extends Record<PropertyKey, never> ? undefined : {
|
|
202
217
|
[K in keyof Omit<AdditionalParameters, keyof BuffParameters>]: AdditionalParameters[K] extends AbilityDependentValue<infer T> ? T : AdditionalParameters[K];
|
|
203
218
|
};
|
|
204
219
|
private readonly handle;
|
|
220
|
+
readonly previousBuff?: Buff;
|
|
205
221
|
private _timer?;
|
|
206
222
|
private readonly _level?;
|
|
207
223
|
private readonly _spellStealPriority?;
|
|
@@ -209,7 +225,7 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
209
225
|
private readonly [BuffPropertyKey.MISS_PROBABILITY]?;
|
|
210
226
|
private readonly _abilityTypeIds?;
|
|
211
227
|
private _behaviors?;
|
|
212
|
-
constructor(target: Unit, ...parameters: BuffConstructorParameters<AdditionalParameters
|
|
228
|
+
constructor(target: Unit, ...parameters: BuffConstructorParameters<Buff<AdditionalParameters>>);
|
|
213
229
|
get level(): number;
|
|
214
230
|
get remainingDamageOverDuration(): number;
|
|
215
231
|
set remainingDamageOverDuration(remainingDamageOverDuration: number);
|
|
@@ -237,6 +253,10 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
237
253
|
set receivedDamageFactor(receivedDamageFactor: number);
|
|
238
254
|
get armorIncrease(): number;
|
|
239
255
|
set armorIncrease(armorIncrease: number);
|
|
256
|
+
get maxHealthIncrease(): number;
|
|
257
|
+
set maxHealthIncrease(maxHealthIncrease: number);
|
|
258
|
+
get maxManaIncrease(): number;
|
|
259
|
+
set maxManaIncrease(maxManaIncrease: number);
|
|
240
260
|
get turnsIntoGhost(): boolean;
|
|
241
261
|
set turnsIntoGhost(turnsIntoGhost: boolean);
|
|
242
262
|
get stuns(): boolean;
|
|
@@ -265,9 +285,19 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
265
285
|
set movementSpeedIncreaseFactor(movementSpeedIncreaseFactor: number);
|
|
266
286
|
get evasionProbability(): number;
|
|
267
287
|
set evasionProbability(evasionProbability: number);
|
|
288
|
+
get manaRegenerationRateIncreaseFactor(): number;
|
|
289
|
+
set manaRegenerationRateIncreaseFactor(manaRegenerationRateIncreaseFactor: number);
|
|
268
290
|
get duration(): number;
|
|
291
|
+
set duration(duration: number);
|
|
269
292
|
get remainingDuration(): number;
|
|
270
293
|
set remainingDuration(remainingDuration: number);
|
|
294
|
+
get absorbedDamageFactor(): number;
|
|
295
|
+
set absorbedDamageFactor(absorbedDamageFactor: number);
|
|
296
|
+
get maximumDamageAbsorbed(): number;
|
|
297
|
+
set maximumDamageAbsorbed(maximumDamageAbsorbed: number);
|
|
298
|
+
get damageAbsorbed(): number;
|
|
299
|
+
get destroysOnMaximumDamageAbsorbed(): boolean;
|
|
300
|
+
set destroysOnMaximumDamageAbsorbed(destroysOnMaximumDamageAbsorbed: boolean);
|
|
271
301
|
get abilityCooldownFactor(): number;
|
|
272
302
|
set abilityCooldownFactor(abilityCooldownFactor: number);
|
|
273
303
|
onAbilityGained(ability: Ability): void;
|
|
@@ -276,11 +306,20 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
276
306
|
...widgetOrXY: [] | [Widget] | [x: number, x: number],
|
|
277
307
|
...parametersOrDuration: [] | [EffectParameters] | [number]
|
|
278
308
|
]): void;
|
|
279
|
-
flashSpecialEffect(...parameters: [
|
|
309
|
+
flashSpecialEffect(...parameters: [
|
|
310
|
+
...widgetOrXY: [] | [Widget] | [x: number, x: number],
|
|
311
|
+
...parametersOrDuration: [] | [EffectParameters] | [number]
|
|
312
|
+
]): void;
|
|
313
|
+
private flash;
|
|
314
|
+
expire(): void;
|
|
315
|
+
/** Dispels this buff, invoking onDispel before removing it. */
|
|
316
|
+
dispel(source?: Unit): void;
|
|
280
317
|
protected onCreate(): void;
|
|
281
318
|
protected onDestroy(): Destructor;
|
|
282
319
|
static apply<T extends Buff<any>, Args extends any[]>(this: BuffConstructor<T, Args>, ...args: Args): T | undefined;
|
|
283
320
|
static getByTypeId<T extends Buff<any>, Args extends any[]>(this: BuffConstructor<T, Args>, unit: Unit, typeId: ApplicableBuffTypeId): T | undefined;
|
|
321
|
+
/** Called for dispelling, never for a direct destroy() or replacement. */
|
|
322
|
+
onDispel(source: Unit | undefined): void;
|
|
284
323
|
onExpiration(): void;
|
|
285
324
|
onDeath(source: Unit | undefined): void;
|
|
286
325
|
onDamageDealt(target: Unit, event: DamageEvent): void;
|