warscript 0.0.1-dev.e0e46c4 → 0.0.1-dev.e147c49
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 +1 -0
- package/attributes.lua +9 -0
- package/core/types/frame.d.ts +1 -0
- package/core/types/frame.lua +136 -58
- package/core/types/handle.lua +9 -9
- package/core/types/item.d.ts +1 -0
- package/core/types/item.lua +1 -0
- package/core/types/player.d.ts +18 -1
- package/core/types/player.lua +76 -26
- package/core/types/playerCamera.d.ts +2 -0
- package/core/types/playerCamera.lua +123 -5
- package/core/types/playerColor.lua +4 -3
- package/core/types/sound.d.ts +1 -1
- package/core/types/sound.lua +14 -9
- package/core/types/tileCell.d.ts +11 -1
- package/core/types/tileCell.lua +97 -0
- package/core/types/timer.d.ts +3 -1
- package/core/types/timer.lua +27 -2
- package/core/types/unit.d.ts +4 -0
- package/core/types/unit.lua +4 -0
- package/decl/native.d.ts +711 -11
- package/destroyable.d.ts +1 -0
- package/destroyable.lua +9 -0
- package/engine/behavior.d.ts +14 -1
- package/engine/behavior.lua +230 -70
- package/engine/behaviour/ability/apply-buff.lua +4 -4
- package/engine/behaviour/ability/damage.d.ts +3 -0
- package/engine/behaviour/ability/damage.lua +18 -15
- package/engine/behaviour/ability/emulate-impact.d.ts +1 -1
- package/engine/behaviour/ability/emulate-impact.lua +7 -5
- 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 +12 -6
- package/engine/behaviour/ability.lua +42 -1
- package/engine/behaviour/unit/stun-immunity.d.ts +9 -5
- package/engine/behaviour/unit/stun-immunity.lua +17 -7
- package/engine/behaviour/unit.d.ts +16 -5
- package/engine/behaviour/unit.lua +133 -26
- package/engine/buff.d.ts +73 -27
- package/engine/buff.lua +424 -193
- package/engine/index.d.ts +2 -1
- package/engine/internal/ability.d.ts +7 -1
- package/engine/internal/ability.lua +86 -44
- package/engine/internal/item/fields.d.ts +12 -0
- package/engine/internal/item/fields.lua +33 -0
- package/engine/internal/item+owner.d.ts +1 -0
- package/engine/internal/item+owner.lua +19 -6
- package/engine/internal/item.d.ts +23 -14
- package/engine/internal/item.lua +169 -82
- package/engine/internal/mechanics/cast-ability.lua +6 -3
- 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/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/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.d.ts +14 -14
- package/engine/internal/unit/ability.lua +86 -47
- 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/bag.d.ts +18 -0
- package/engine/internal/unit/bag.lua +63 -0
- package/engine/internal/unit/bonus.d.ts +6 -0
- package/engine/internal/unit/bonus.lua +33 -3
- package/engine/internal/unit/buff.d.ts +2 -2
- package/engine/internal/unit/buff.lua +34 -19
- package/engine/internal/unit/equipment.d.ts +36 -0
- package/engine/internal/unit/equipment.lua +169 -0
- package/engine/internal/unit/fly-height.d.ts +7 -0
- package/engine/internal/unit/fly-height.lua +20 -0
- 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} +3 -3
- package/engine/internal/unit/{item.lua → inventory.lua} +25 -26
- package/engine/internal/unit/main-selected.lua +12 -27
- 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.d.ts +7 -0
- package/engine/internal/unit/scale.lua +20 -0
- package/engine/internal/unit+ability.lua +10 -1
- 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-missile-data.lua +58 -32
- package/engine/internal/unit-missile-launch.lua +52 -14
- package/engine/internal/unit.d.ts +18 -24
- package/engine/internal/unit.lua +180 -206
- package/engine/local-client.d.ts +27 -0
- package/engine/local-client.lua +518 -54
- package/engine/object-data/auxiliary/armor-type.d.ts +11 -0
- package/engine/object-data/auxiliary/armor-type.lua +46 -0
- package/engine/object-data/auxiliary/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 +13 -0
- package/engine/object-data/auxiliary/equipment-type.lua +2 -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-tag.d.ts +12 -0
- package/engine/object-data/auxiliary/item-tag.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/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/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/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 +12 -3
- package/engine/object-data/entry/ability-type.lua +142 -8
- 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 +32 -2
- package/engine/object-data/entry/destructible-type.lua +181 -0
- package/engine/object-data/entry/item-type.d.ts +12 -3
- package/engine/object-data/entry/item-type.lua +52 -0
- package/engine/object-data/entry/lightning-type.d.ts +2 -2
- package/engine/object-data/entry/sound-preset.d.ts +2 -2
- package/engine/object-data/entry/unit-type.d.ts +62 -4
- package/engine/object-data/entry/unit-type.lua +474 -38
- package/engine/object-data/entry/upgrade.d.ts +2 -2
- package/engine/object-data/entry.d.ts +4 -1
- package/engine/object-field/ability.d.ts +3 -3
- 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 +27 -5
- package/engine/object-field/unit.lua +82 -0
- package/engine/object-field.d.ts +12 -4
- package/engine/object-field.lua +273 -126
- 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/item-type.d.ts +1299 -0
- package/engine/standard/entries/item-type.lua +2 -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 +2 -2
- package/engine/standard/fields/ability.lua +2 -2
- package/engine/standard/fields/item.d.ts +4 -0
- package/engine/standard/fields/item.lua +6 -0
- package/engine/standard/fields/unit.d.ts +11 -2
- package/engine/standard/fields/unit.lua +16 -1
- package/engine/synchronization.d.ts +11 -0
- package/engine/synchronization.lua +77 -0
- package/engine/text-tag.d.ts +1 -1
- package/engine/text-tag.lua +92 -17
- package/engine/unit.d.ts +9 -1
- package/engine/unit.lua +9 -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 +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/patch-lualib.lua +1 -1
- package/utility/arrays.d.ts +1 -0
- package/utility/arrays.lua +8 -0
- package/utility/callback-array.d.ts +17 -0
- package/utility/callback-array.lua +61 -0
- package/utility/functions.d.ts +4 -0
- package/utility/functions.lua +9 -0
- package/utility/linked-map.d.ts +35 -0
- package/utility/linked-map.lua +107 -0
- package/utility/linked-set.d.ts +4 -1
- package/utility/linked-set.lua +46 -1
- package/utility/lua-maps.d.ts +11 -2
- package/utility/lua-maps.lua +33 -2
- package/utility/lua-sets.d.ts +1 -0
- package/utility/lua-sets.lua +4 -0
- package/utility/random.d.ts +102 -0
- package/utility/random.lua +273 -0
- package/utility/records.lua +20 -1
- package/utility/types.d.ts +3 -0
- package/utility/unordered-map.d.ts +27 -0
- package/utility/unordered-map.lua +99 -0
- /package/engine/internal/{object-data/armor-increase.d.ts → misc/frame-coordinates.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
|
@@ -13,6 +13,7 @@ import { UnitBehavior } from "./behaviour/unit";
|
|
|
13
13
|
import type { Widget } from "../core/types/widget";
|
|
14
14
|
import { Destructor } from "../destroyable";
|
|
15
15
|
import { Event } from "../event";
|
|
16
|
+
import { AbilityBehavior } from "./behaviour/ability";
|
|
16
17
|
export type BuffConstructor<T extends Buff<any> = Buff<any>, Args extends any[] = any> = OmitConstructor<typeof Buff<any>> & (new (...args: Args) => T);
|
|
17
18
|
type EnumParameterValueType<T extends number> = T | AbilityEnumLevelField<T>;
|
|
18
19
|
type NumberParameterValueType = number | AbilityNumberField | AbilityNumberLevelField;
|
|
@@ -22,6 +23,13 @@ export type BuffPolarityParameterType = EnumParameterValueType<BuffPolarity>;
|
|
|
22
23
|
export type BuffResistanceTypeParameterType = EnumParameterValueType<BuffResistanceType>;
|
|
23
24
|
export declare class BuffUniqueGroup {
|
|
24
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
|
+
};
|
|
25
33
|
export type BuffParameters<T extends Buff<any> = Buff> = Buff extends T ? {
|
|
26
34
|
spellStealPriority?: number;
|
|
27
35
|
level?: number;
|
|
@@ -29,14 +37,7 @@ export type BuffParameters<T extends Buff<any> = Buff> = Buff extends T ? {
|
|
|
29
37
|
learnLevelMinimum?: number;
|
|
30
38
|
source?: Unit;
|
|
31
39
|
behaviorConstructors?: (new (unit: Unit) => UnitBehavior)[];
|
|
32
|
-
abilityTypeIds?: Record<AbilityTypeId,
|
|
33
|
-
[numberField: (AbilityNumberField | AbilityNumberLevelField) & symbol]: NumberParameterValueType;
|
|
34
|
-
} & {
|
|
35
|
-
/** Default `true`. */
|
|
36
|
-
readonly isButtonVisible?: boolean;
|
|
37
|
-
/** Default is the level of the source ability or 0 if it is absent. */
|
|
38
|
-
readonly level?: number;
|
|
39
|
-
}>;
|
|
40
|
+
abilityTypeIds?: Partial<Record<AbilityTypeId, BuffAbilityParameters>>;
|
|
40
41
|
damageUponDeathAllowedTargetCombatClassifications?: CombatClassifications | AbilityCombatClassificationsLevelField;
|
|
41
42
|
damageUponDeath?: NumberParameterValueType;
|
|
42
43
|
damageUponDeathRange?: NumberParameterValueType;
|
|
@@ -53,9 +54,11 @@ export type BuffParameters<T extends Buff<any> = Buff> = Buff extends T ? {
|
|
|
53
54
|
damageIncrease?: NumberParameterValueType;
|
|
54
55
|
damageIncreaseFactor?: NumberParameterValueType;
|
|
55
56
|
armorIncrease?: NumberParameterValueType;
|
|
56
|
-
|
|
57
|
+
maxHealthIncrease?: NumberParameterValueType;
|
|
58
|
+
maxManaIncrease?: NumberParameterValueType;
|
|
57
59
|
attackSpeedIncreaseFactor?: NumberParameterValueType;
|
|
58
60
|
movementSpeedIncreaseFactor?: NumberParameterValueType;
|
|
61
|
+
manaRegenerationRateIncreaseFactor?: NumberParameterValueType;
|
|
59
62
|
evasionProbability?: NumberParameterValueType;
|
|
60
63
|
missProbability?: NumberParameterValueType;
|
|
61
64
|
damageFactor?: NumberParameterValueType;
|
|
@@ -75,10 +78,14 @@ export type BuffParameters<T extends Buff<any> = Buff> = Buff extends T ? {
|
|
|
75
78
|
maximumAutoAttackCount?: IntegerParameterValueType;
|
|
76
79
|
maximumDamageDealtEventCount?: IntegerParameterValueType;
|
|
77
80
|
maximumDamageReceivedEventCount?: IntegerParameterValueType;
|
|
81
|
+
absorbedDamageFactor?: NumberParameterValueType;
|
|
82
|
+
maximumDamageAbsorbed?: NumberParameterValueType;
|
|
83
|
+
destroysOnMaximumDamageAbsorbed?: BooleanParameterValueType;
|
|
78
84
|
damageOnExpiration?: NumberParameterValueType;
|
|
79
85
|
healingOnExpiration?: NumberParameterValueType;
|
|
80
86
|
killsOnExpiration?: BooleanParameterValueType;
|
|
81
87
|
explodesOnExpiration?: BooleanParameterValueType;
|
|
88
|
+
abilityCooldownFactor?: NumberParameterValueType;
|
|
82
89
|
uniqueGroup?: BuffUniqueGroup;
|
|
83
90
|
} : BuffParameters & (T extends Buff<infer AdditionalParameters> ? AdditionalParameters : object);
|
|
84
91
|
declare const enum BuffPropertyKey {
|
|
@@ -117,20 +124,26 @@ declare const enum BuffPropertyKey {
|
|
|
117
124
|
MAXIMUM_DAMAGE_DEALT_EVENT_COUNT = 132,
|
|
118
125
|
DAMAGE_RECEIVED_EVENT_COUNT = 133,
|
|
119
126
|
MAXIMUM_DAMAGE_RECEIVED_EVENT_COUNT = 134,
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
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
|
|
128
141
|
}
|
|
129
142
|
export declare const enum BuffTypeIdSelectionPolicy {
|
|
130
143
|
LEAST_DURATION = 0
|
|
131
144
|
}
|
|
132
145
|
export type BuffAdditionalParameters = Prohibit<Record<string, any>, keyof BuffParameters>;
|
|
133
|
-
export type BuffConstructorParameters<
|
|
146
|
+
export type BuffConstructorParameters<T extends Buff<BuffAdditionalParameters>> = T extends Buff<infer AdditionalParameters> ? [
|
|
134
147
|
...typeId: [ApplicableBuffTypeId] | [
|
|
135
148
|
typeIds: ReadonlyNonEmptyArray<ApplicableBuffTypeId>,
|
|
136
149
|
typeIdSelectionPolicy: BuffTypeIdSelectionPolicy
|
|
@@ -138,10 +151,12 @@ export type BuffConstructorParameters<AdditionalParameters extends BuffAdditiona
|
|
|
138
151
|
polarity: BuffPolarityParameterType,
|
|
139
152
|
resistanceType: BuffResistanceTypeParameterType,
|
|
140
153
|
...abilityOrParameters: [
|
|
141
|
-
ability?: Ability,
|
|
154
|
+
ability?: Ability | AbilityBehavior,
|
|
142
155
|
parameters?: BuffParameters & Omit<AdditionalParameters, keyof BuffParameters>
|
|
143
|
-
] | [
|
|
144
|
-
|
|
156
|
+
] | [
|
|
157
|
+
parameters?: BuffParameters & Omit<AdditionalParameters, keyof BuffParameters>
|
|
158
|
+
]
|
|
159
|
+
] : never;
|
|
145
160
|
export declare class Buff<AdditionalParameters extends Prohibit<Record<string, any>, keyof BuffParameters> = object> extends UnitBehavior {
|
|
146
161
|
private _unit;
|
|
147
162
|
protected readonly __additionalParametersBrand?: AdditionalParameters;
|
|
@@ -180,6 +195,10 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
180
195
|
private [BuffPropertyKey.DAMAGE_DEALT_EVENT_COUNT]?;
|
|
181
196
|
private [BuffPropertyKey.MAXIMUM_DAMAGE_RECEIVED_EVENT_COUNT]?;
|
|
182
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]?;
|
|
183
202
|
private [BuffPropertyKey.TURNS_INTO_GHOST]?;
|
|
184
203
|
private [BuffPropertyKey.STUNS]?;
|
|
185
204
|
private [BuffPropertyKey.IGNORES_STUN_IMMUNITY]?;
|
|
@@ -187,26 +206,26 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
187
206
|
private [BuffPropertyKey.PROVIDES_INVULNERABILITY]?;
|
|
188
207
|
private [BuffPropertyKey.KILLS_ON_EXPIRATION]?;
|
|
189
208
|
private [BuffPropertyKey.EXPLODES_ON_EXPIRATION]?;
|
|
209
|
+
private [BuffPropertyKey.ABILITY_COOLDOWN_FACTOR]?;
|
|
210
|
+
private [BuffPropertyKey.ABILITY_COOLDOWN_MODIFIER]?;
|
|
190
211
|
protected static readonly defaultParameters: BuffParameters;
|
|
191
212
|
get source(): Unit;
|
|
192
213
|
readonly typeId: ApplicableBuffTypeId;
|
|
193
214
|
readonly polarity: BuffPolarity;
|
|
194
215
|
readonly resistanceType: BuffResistanceType;
|
|
195
|
-
readonly parameters: IsExactlyAny<AdditionalParameters> extends true ? any :
|
|
216
|
+
readonly parameters: IsExactlyAny<AdditionalParameters> extends true ? any : AdditionalParameters extends Record<PropertyKey, never> ? undefined : {
|
|
196
217
|
[K in keyof Omit<AdditionalParameters, keyof BuffParameters>]: AdditionalParameters[K] extends AbilityDependentValue<infer T> ? T : AdditionalParameters[K];
|
|
197
218
|
};
|
|
198
219
|
private readonly handle;
|
|
220
|
+
readonly previousBuff?: Buff;
|
|
199
221
|
private _timer?;
|
|
200
222
|
private readonly _level?;
|
|
201
223
|
private readonly _spellStealPriority?;
|
|
202
224
|
private readonly _learnLevelMinimum?;
|
|
203
225
|
private readonly [BuffPropertyKey.MISS_PROBABILITY]?;
|
|
204
|
-
private _bonusIdByBonusType?;
|
|
205
226
|
private readonly _abilityTypeIds?;
|
|
206
227
|
private _behaviors?;
|
|
207
|
-
|
|
208
|
-
private addOrUpdateOrRemoveUnitBonus;
|
|
209
|
-
constructor(target: Unit, ...parameters: BuffConstructorParameters<AdditionalParameters>);
|
|
228
|
+
constructor(target: Unit, ...parameters: BuffConstructorParameters<Buff<AdditionalParameters>>);
|
|
210
229
|
get level(): number;
|
|
211
230
|
get remainingDamageOverDuration(): number;
|
|
212
231
|
set remainingDamageOverDuration(remainingDamageOverDuration: number);
|
|
@@ -234,6 +253,10 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
234
253
|
set receivedDamageFactor(receivedDamageFactor: number);
|
|
235
254
|
get armorIncrease(): number;
|
|
236
255
|
set armorIncrease(armorIncrease: number);
|
|
256
|
+
get maxHealthIncrease(): number;
|
|
257
|
+
set maxHealthIncrease(maxHealthIncrease: number);
|
|
258
|
+
get maxManaIncrease(): number;
|
|
259
|
+
set maxManaIncrease(maxManaIncrease: number);
|
|
237
260
|
get turnsIntoGhost(): boolean;
|
|
238
261
|
set turnsIntoGhost(turnsIntoGhost: boolean);
|
|
239
262
|
get stuns(): boolean;
|
|
@@ -262,18 +285,41 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
262
285
|
set movementSpeedIncreaseFactor(movementSpeedIncreaseFactor: number);
|
|
263
286
|
get evasionProbability(): number;
|
|
264
287
|
set evasionProbability(evasionProbability: number);
|
|
288
|
+
get manaRegenerationRateIncreaseFactor(): number;
|
|
289
|
+
set manaRegenerationRateIncreaseFactor(manaRegenerationRateIncreaseFactor: number);
|
|
265
290
|
get duration(): number;
|
|
291
|
+
set duration(duration: number);
|
|
266
292
|
get remainingDuration(): number;
|
|
267
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);
|
|
301
|
+
get abilityCooldownFactor(): number;
|
|
302
|
+
set abilityCooldownFactor(abilityCooldownFactor: number);
|
|
303
|
+
onAbilityGained(ability: Ability): void;
|
|
304
|
+
onAbilityLost(ability: Ability): void;
|
|
268
305
|
flashEffect(...parameters: [
|
|
269
306
|
...widgetOrXY: [] | [Widget] | [x: number, x: number],
|
|
270
307
|
...parametersOrDuration: [] | [EffectParameters] | [number]
|
|
271
308
|
]): void;
|
|
272
|
-
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;
|
|
273
317
|
protected onCreate(): void;
|
|
274
318
|
protected onDestroy(): Destructor;
|
|
275
319
|
static apply<T extends Buff<any>, Args extends any[]>(this: BuffConstructor<T, Args>, ...args: Args): T | undefined;
|
|
276
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;
|
|
277
323
|
onExpiration(): void;
|
|
278
324
|
onDeath(source: Unit | undefined): void;
|
|
279
325
|
onDamageDealt(target: Unit, event: DamageEvent): void;
|