warscript 0.0.1-dev.a4deb44 → 0.0.1-dev.a5a2f5e
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 +18 -0
- package/attributes.lua +32 -0
- package/binaryreader.d.ts +1 -0
- package/binaryreader.lua +3 -0
- package/config.d.ts +5 -0
- package/config.lua +10 -0
- package/core/types/effect.d.ts +14 -6
- package/core/types/effect.lua +131 -35
- package/core/types/frame.d.ts +8 -1
- package/core/types/frame.lua +164 -23
- package/core/types/group.d.ts +0 -1
- package/core/types/handle.d.ts +2 -1
- package/core/types/handle.lua +5 -0
- package/core/types/image.d.ts +0 -1
- package/core/types/item.d.ts +1 -0
- package/core/types/item.lua +1 -0
- package/core/types/missile.d.ts +2 -2
- package/core/types/missile.lua +8 -2
- package/core/types/player.d.ts +17 -1
- package/core/types/player.lua +70 -24
- package/core/types/playerCamera.d.ts +2 -0
- package/core/types/playerCamera.lua +123 -5
- package/core/types/sound.d.ts +17 -24
- package/core/types/sound.lua +100 -25
- package/core/types/tileCell.d.ts +11 -1
- package/core/types/tileCell.lua +97 -0
- package/core/types/timer.d.ts +9 -8
- package/core/types/timer.lua +45 -23
- package/core/types/unit.lua +8 -0
- package/core/util.d.ts +1 -1
- package/core/util.lua +18 -1
- package/decl/index.d.ts +1 -0
- package/decl/native.d.ts +846 -790
- package/destroyable.d.ts +1 -0
- package/destroyable.lua +9 -0
- package/engine/ability.d.ts +1 -1
- package/engine/behavior.d.ts +24 -11
- package/engine/behavior.lua +233 -73
- package/engine/behaviour/ability/always-enabled.d.ts +7 -0
- package/engine/behaviour/ability/always-enabled.lua +31 -0
- package/engine/behaviour/ability/apply-buff.d.ts +8 -5
- package/engine/behaviour/ability/apply-buff.lua +36 -4
- package/engine/behaviour/ability/apply-unit-behavior.d.ts +13 -4
- package/engine/behaviour/ability/apply-unit-behavior.lua +32 -9
- package/engine/behaviour/ability/damage.d.ts +42 -11
- package/engine/behaviour/ability/damage.lua +89 -37
- package/engine/behaviour/ability/emulate-impact.d.ts +6 -0
- package/engine/behaviour/ability/emulate-impact.lua +44 -0
- package/engine/behaviour/ability/heal.d.ts +33 -6
- package/engine/behaviour/ability/heal.lua +89 -10
- package/engine/behaviour/ability/instant-impact.d.ts +2 -2
- package/engine/behaviour/ability/instant-impact.lua +4 -15
- package/engine/behaviour/ability/on-command-impact.d.ts +8 -0
- package/engine/behaviour/ability/on-command-impact.lua +25 -0
- package/engine/behaviour/ability/remove-buffs.d.ts +25 -0
- package/engine/behaviour/ability/remove-buffs.lua +49 -0
- package/engine/behaviour/ability/restore-mana.d.ts +15 -0
- package/engine/behaviour/ability/restore-mana.lua +29 -0
- package/engine/behaviour/ability.d.ts +35 -7
- package/engine/behaviour/ability.lua +183 -27
- package/engine/behaviour/unit/stun-immunity.d.ts +12 -7
- package/engine/behaviour/unit/stun-immunity.lua +57 -31
- package/engine/behaviour/unit.d.ts +48 -4
- package/engine/behaviour/unit.lua +292 -2
- package/engine/buff.d.ts +160 -53
- package/engine/buff.lua +711 -269
- package/engine/game-map.d.ts +7 -0
- package/engine/game-map.lua +32 -0
- package/engine/internal/ability.d.ts +23 -14
- package/engine/internal/ability.lua +129 -85
- package/engine/internal/item/ability.lua +162 -4
- package/engine/internal/item/fields.d.ts +12 -0
- package/engine/internal/item/fields.lua +33 -0
- package/engine/internal/item+owner.lua +12 -6
- package/engine/internal/item.d.ts +16 -19
- package/engine/internal/item.lua +174 -94
- package/engine/internal/mechanics/ability-duration.d.ts +1 -3
- package/engine/internal/mechanics/ability-duration.lua +3 -1
- package/engine/internal/mechanics/cast-ability.lua +89 -0
- package/engine/internal/misc/ability-disable-counter.d.ts +2 -0
- package/engine/internal/misc/ability-disable-counter.lua +13 -0
- package/engine/internal/misc/damage-metadata-by-target.d.ts +2 -0
- package/engine/internal/misc/damage-metadata-by-target.lua +5 -0
- package/engine/internal/misc/frame-coordinates.d.ts +2 -0
- package/engine/internal/misc/frame-coordinates.lua +21 -0
- package/engine/internal/misc/get-terrain-z.d.ts +2 -0
- package/engine/internal/misc/get-terrain-z.lua +11 -0
- package/engine/internal/misc/player-local-handle.d.ts +2 -0
- package/engine/internal/misc/player-local-handle.lua +5 -0
- package/engine/internal/object-data/armor-bonus.d.ts +2 -0
- package/engine/internal/object-data/attribute-bonus.lua +2 -2
- package/engine/internal/object-data/auto-attack-speed-increase.d.ts +1 -1
- package/engine/internal/object-data/auto-attack-speed-increase.lua +2 -0
- package/engine/internal/object-data/evasion-probability.d.ts +2 -0
- package/engine/internal/object-data/evasion-probability.lua +16 -0
- 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 +45 -1
- package/engine/internal/unit/ability.lua +128 -17
- package/engine/internal/unit/add-item-to-slot-init.d.ts +2 -0
- package/engine/internal/unit/add-item-to-slot-init.lua +23 -0
- package/engine/internal/unit/add-item-to-slot.d.ts +2 -0
- package/engine/internal/unit/add-item-to-slot.lua +52 -0
- package/engine/internal/unit/allowed-targets.d.ts +1 -1
- package/engine/internal/unit/allowed-targets.lua +9 -1
- package/engine/internal/unit/attributes.d.ts +17 -0
- package/engine/internal/unit/attributes.lua +46 -0
- package/engine/internal/unit/bonus.d.ts +17 -8
- package/engine/internal/unit/bonus.lua +56 -4
- package/engine/internal/unit/detach-missiles.d.ts +7 -0
- package/engine/internal/unit/detach-missiles.lua +30 -0
- package/engine/internal/unit/fly-height.d.ts +7 -0
- package/engine/internal/unit/fly-height.lua +20 -0
- package/engine/internal/unit/ignore-events-items.d.ts +2 -0
- package/engine/internal/unit/ignore-events-items.lua +5 -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 +24 -0
- package/engine/internal/unit/item.lua +78 -0
- package/engine/internal/unit/main-selected.d.ts +13 -0
- package/engine/internal/unit/main-selected.lua +36 -0
- package/engine/internal/unit/order.d.ts +20 -0
- package/engine/internal/unit/order.lua +136 -0
- package/engine/internal/unit/range-event.d.ts +12 -0
- package/engine/internal/unit/range-event.lua +90 -0
- package/engine/internal/unit/scale.d.ts +7 -0
- package/engine/internal/unit/scale.lua +20 -0
- package/engine/internal/unit+ability.lua +12 -3
- package/engine/internal/unit+bonus.lua +3 -3
- package/engine/internal/unit+damage.d.ts +2 -11
- package/engine/internal/unit+damage.lua +10 -14
- package/engine/internal/unit+spellSteal.lua +1 -2
- package/engine/internal/unit+transport.lua +4 -10
- package/engine/internal/unit-missile-launch.lua +70 -13
- package/engine/internal/unit.d.ts +97 -36
- package/engine/internal/unit.lua +701 -336
- package/engine/internal/utility.lua +12 -0
- package/engine/lightning.d.ts +12 -5
- package/engine/lightning.lua +48 -14
- package/engine/local-client.d.ts +14 -2
- package/engine/local-client.lua +168 -1
- package/engine/object-data/auxiliary/animation-name.d.ts +1 -0
- package/engine/object-data/auxiliary/animation-name.lua +16 -0
- package/engine/object-data/auxiliary/armor-type.d.ts +11 -0
- package/engine/object-data/auxiliary/armor-type.lua +46 -0
- package/engine/object-data/auxiliary/attachment-preset.d.ts +7 -3
- package/engine/object-data/auxiliary/attachment-preset.lua +4 -3
- package/engine/object-data/auxiliary/attack-type.d.ts +7 -8
- package/engine/object-data/auxiliary/attack-type.lua +42 -0
- package/engine/object-data/auxiliary/combat-classification.d.ts +0 -2
- 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/movement-type.d.ts +7 -7
- package/engine/object-data/auxiliary/movement-type.lua +22 -0
- package/engine/object-data/auxiliary/sound-eax.d.ts +10 -0
- package/engine/object-data/auxiliary/sound-eax.lua +2 -0
- package/engine/object-data/auxiliary/sound-preset-name.d.ts +5 -1
- package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +1 -1
- package/engine/object-data/auxiliary/unit-attribute.d.ts +6 -0
- package/engine/object-data/auxiliary/unit-attribute.lua +9 -0
- package/engine/object-data/entry/ability-type/{armor-increase.d.ts → armor-bonus.d.ts} +3 -3
- package/engine/object-data/entry/ability-type/{armor-increase.lua → armor-bonus.lua} +9 -9
- package/engine/object-data/entry/ability-type/berserk.d.ts +2 -0
- package/engine/object-data/entry/ability-type/berserk.lua +13 -0
- package/engine/object-data/entry/ability-type/blank-configurable.d.ts +0 -1
- package/engine/object-data/entry/ability-type/blank-configurable.lua +12 -1
- package/engine/object-data/entry/ability-type/blank-passive.d.ts +0 -1
- package/engine/object-data/entry/ability-type/blink.d.ts +10 -0
- package/engine/object-data/entry/ability-type/blink.lua +39 -0
- package/engine/object-data/entry/ability-type/carrion-swarm.d.ts +14 -0
- package/engine/object-data/entry/ability-type/carrion-swarm.lua +65 -0
- package/engine/object-data/entry/ability-type/channel.d.ts +0 -1
- package/engine/object-data/entry/ability-type/disease-cloud.lua +2 -2
- package/engine/object-data/entry/ability-type/engineering-upgrade.lua +2 -2
- package/engine/object-data/entry/ability-type/ensnare.d.ts +12 -0
- package/engine/object-data/entry/ability-type/ensnare.lua +52 -0
- package/engine/object-data/entry/ability-type/feral-spirit.lua +2 -2
- 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/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-regeneration.d.ts +8 -0
- package/engine/object-data/entry/ability-type/mana-regeneration.lua +26 -0
- package/engine/object-data/entry/ability-type/mine.d.ts +10 -0
- package/engine/object-data/entry/ability-type/mine.lua +39 -0
- package/engine/object-data/entry/ability-type/permanent-invisibility.d.ts +8 -0
- package/engine/object-data/entry/ability-type/permanent-invisibility.lua +26 -0
- package/engine/object-data/entry/ability-type/phase-shift.d.ts +10 -0
- package/engine/object-data/entry/ability-type/phase-shift.lua +39 -0
- package/engine/object-data/entry/ability-type/phoenix-morph.lua +4 -4
- package/engine/object-data/entry/ability-type/raise-dead.d.ts +17 -0
- package/engine/object-data/entry/ability-type/raise-dead.lua +78 -0
- package/engine/object-data/entry/ability-type/reincarnation.d.ts +8 -0
- package/engine/object-data/entry/ability-type/reincarnation.lua +26 -0
- package/engine/object-data/entry/ability-type/shock-wave.d.ts +4 -0
- package/engine/object-data/entry/ability-type/shock-wave.lua +26 -0
- package/engine/object-data/entry/ability-type/slow-poison.d.ts +10 -0
- package/engine/object-data/entry/ability-type/slow-poison.lua +58 -0
- package/engine/object-data/entry/ability-type/spirit-touch.d.ts +2 -2
- package/engine/object-data/entry/ability-type/spirit-touch.lua +6 -6
- package/engine/object-data/entry/ability-type/summon-quilbeast.lua +2 -2
- package/engine/object-data/entry/ability-type/summon-water-elemental.lua +2 -2
- package/engine/object-data/entry/ability-type/web.d.ts +12 -0
- package/engine/object-data/entry/ability-type/web.lua +52 -0
- package/engine/object-data/entry/ability-type.d.ts +21 -18
- package/engine/object-data/entry/ability-type.lua +177 -40
- package/engine/object-data/entry/buff-type/applicable.d.ts +0 -1
- package/engine/object-data/entry/buff-type/applicable.lua +143 -202
- package/engine/object-data/entry/buff-type/blank.d.ts +0 -1
- package/engine/object-data/entry/buff-type.d.ts +6 -13
- package/engine/object-data/entry/buff-type.lua +13 -29
- package/engine/object-data/entry/destructible-type.d.ts +28 -3
- package/engine/object-data/entry/destructible-type.lua +155 -0
- package/engine/object-data/entry/item-type/blank.d.ts +0 -1
- package/engine/object-data/entry/item-type.d.ts +15 -2
- package/engine/object-data/entry/item-type.lua +93 -2
- package/engine/object-data/entry/lightning-type.d.ts +1 -2
- package/engine/object-data/entry/sound-preset.d.ts +33 -0
- package/engine/object-data/entry/sound-preset.lua +140 -0
- package/engine/object-data/entry/unit-type.d.ts +65 -5
- package/engine/object-data/entry/unit-type.lua +555 -62
- package/engine/object-data/entry/upgrade/blank.d.ts +0 -1
- package/engine/object-data/entry/upgrade.d.ts +1 -2
- package/engine/object-data/entry/upgrade.lua +4 -4
- package/engine/object-data/entry.d.ts +18 -17
- package/engine/object-data/entry.lua +60 -32
- package/engine/object-data/utility/object-data-entry-id-generator.lua +7 -0
- package/engine/object-field/ability.d.ts +28 -5
- package/engine/object-field/ability.lua +61 -7
- package/engine/object-field/item.d.ts +22 -0
- package/engine/object-field/item.lua +118 -0
- package/engine/object-field/unit.d.ts +72 -3
- package/engine/object-field/unit.lua +268 -7
- package/engine/object-field.d.ts +26 -8
- package/engine/object-field.lua +362 -117
- package/engine/random.d.ts +11 -0
- package/engine/random.lua +30 -0
- package/engine/standard/entries/buff-type.d.ts +3 -0
- package/engine/standard/entries/buff-type.lua +3 -0
- package/engine/standard/entries/sound-preset.d.ts +10 -0
- package/engine/standard/entries/sound-preset.lua +10 -0
- package/engine/standard/entries/unit-type.d.ts +42 -1
- package/engine/standard/entries/unit-type.lua +42 -1
- package/engine/standard/fields/ability.d.ts +5 -3
- package/engine/standard/fields/ability.lua +5 -3
- package/engine/standard/fields/item.d.ts +4 -0
- package/engine/standard/fields/item.lua +6 -0
- package/engine/standard/fields/unit.d.ts +12 -0
- package/engine/standard/fields/unit.lua +20 -0
- package/engine/synchronization.d.ts +11 -0
- package/engine/synchronization.lua +77 -0
- package/engine/text-tag.d.ts +36 -2
- package/engine/text-tag.lua +250 -10
- package/engine/unit.d.ts +10 -0
- package/engine/unit.lua +19 -2
- package/event.d.ts +2 -3
- package/event.lua +9 -5
- package/global/vec2.lua +1 -0
- package/index.d.ts +1 -0
- package/index.lua +1 -0
- package/lualib_bundle.lua +147 -43
- package/math/vec2.d.ts +2 -9
- package/math.d.ts +2 -2
- package/math.lua +14 -0
- package/net/socket.d.ts +7 -1
- package/net/socket.lua +45 -4
- package/network.d.ts +1 -0
- package/network.lua +3 -2
- package/objutil/ability.d.ts +0 -1
- package/objutil/buff.d.ts +0 -1
- package/objutil/buff.lua +12 -11
- package/objutil/object.d.ts +0 -1
- package/objutil/object.lua +1 -1
- package/objutil/unit.d.ts +0 -1
- package/objutil/unit.lua +8 -0
- package/operation.lua +1 -4
- package/package.json +13 -14
- package/patch-lua.d.ts +0 -0
- package/patch-lua.lua +25 -0
- package/patch-lualib.lua +1 -1
- package/property.d.ts +55 -0
- package/property.lua +374 -0
- package/string.d.ts +30 -0
- package/string.lua +14 -0
- package/util/stream.d.ts +0 -1
- package/utility/arrays.d.ts +13 -5
- package/utility/arrays.lua +45 -3
- package/utility/bit-set.d.ts +0 -2
- package/utility/callback-array.d.ts +17 -0
- package/utility/callback-array.lua +61 -0
- package/utility/functions.d.ts +8 -0
- package/utility/functions.lua +13 -0
- package/utility/lazy.d.ts +2 -0
- package/utility/lazy.lua +14 -0
- package/utility/linked-map.d.ts +35 -0
- package/utility/linked-map.lua +107 -0
- package/utility/linked-set.d.ts +16 -4
- package/utility/linked-set.lua +54 -3
- package/utility/lua-maps.d.ts +16 -4
- package/utility/lua-maps.lua +53 -2
- package/utility/lua-sets.d.ts +3 -2
- package/utility/lua-sets.lua +7 -0
- package/utility/records.lua +20 -1
- package/utility/reflection.lua +11 -7
- package/utility/types.d.ts +6 -2
- package/utility/unordered-map.d.ts +27 -0
- package/utility/unordered-map.lua +99 -0
- package/core/mapbounds.d.ts +0 -8
- package/core/mapbounds.lua +0 -12
- package/core/types/order.d.ts +0 -25
- package/core/types/order.lua +0 -55
- /package/engine/internal/{object-data/armor-increase.d.ts → mechanics/cast-ability.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
|
@@ -5,16 +5,22 @@ import { Ability } from "./internal/ability";
|
|
|
5
5
|
import { AbilityTypeId } from "./object-data/entry/ability-type";
|
|
6
6
|
import { BuffPolarity } from "./object-data/auxiliary/buff-polarity";
|
|
7
7
|
import { BuffResistanceType } from "./object-data/auxiliary/buff-resistance-type";
|
|
8
|
-
import { AbilityBooleanField, AbilityBooleanLevelField, AbilityCombatClassificationsLevelField, AbilityDependentValue, AbilityIntegerField, AbilityIntegerLevelField, AbilityNumberField, AbilityNumberLevelField } from "./object-field/ability";
|
|
8
|
+
import { AbilityBooleanField, AbilityBooleanLevelField, AbilityCombatClassificationsLevelField, AbilityDependentValue, AbilityEnumLevelField, AbilityIntegerField, AbilityIntegerLevelField, AbilityNumberField, AbilityNumberLevelField } from "./object-field/ability";
|
|
9
9
|
import { CombatClassifications } from "./object-data/auxiliary/combat-classification";
|
|
10
|
-
import { IsExactlyAny,
|
|
10
|
+
import { IsExactlyAny, Prohibit, ReadonlyNonEmptyArray } from "../utility/types";
|
|
11
|
+
import { EffectParameters } from "../core/types/effect";
|
|
11
12
|
import { UnitBehavior } from "./behaviour/unit";
|
|
12
13
|
import type { Widget } from "../core/types/widget";
|
|
13
14
|
import { Destructor } from "../destroyable";
|
|
15
|
+
import { Event } from "../event";
|
|
16
|
+
import { AbilityBehavior } from "./behaviour/ability";
|
|
14
17
|
export type BuffConstructor<T extends Buff<any> = Buff<any>, Args extends any[] = any> = OmitConstructor<typeof Buff<any>> & (new (...args: Args) => T);
|
|
18
|
+
type EnumParameterValueType<T extends number> = T | AbilityEnumLevelField<T>;
|
|
15
19
|
type NumberParameterValueType = number | AbilityNumberField | AbilityNumberLevelField;
|
|
16
20
|
type IntegerParameterValueType = number | AbilityIntegerField | AbilityIntegerLevelField;
|
|
17
21
|
type BooleanParameterValueType = boolean | AbilityBooleanField | AbilityBooleanLevelField;
|
|
22
|
+
export type BuffPolarityParameterType = EnumParameterValueType<BuffPolarity>;
|
|
23
|
+
export type BuffResistanceTypeParameterType = EnumParameterValueType<BuffResistanceType>;
|
|
18
24
|
export declare class BuffUniqueGroup {
|
|
19
25
|
}
|
|
20
26
|
export type BuffParameters<T extends Buff<any> = Buff> = Buff extends T ? {
|
|
@@ -25,8 +31,10 @@ export type BuffParameters<T extends Buff<any> = Buff> = Buff extends T ? {
|
|
|
25
31
|
source?: Unit;
|
|
26
32
|
behaviorConstructors?: (new (unit: Unit) => UnitBehavior)[];
|
|
27
33
|
abilityTypeIds?: Record<AbilityTypeId, {
|
|
28
|
-
|
|
29
|
-
|
|
34
|
+
readonly fields?: [
|
|
35
|
+
AbilityNumberField | AbilityNumberLevelField,
|
|
36
|
+
NumberParameterValueType
|
|
37
|
+
][];
|
|
30
38
|
/** Default `true`. */
|
|
31
39
|
readonly isButtonVisible?: boolean;
|
|
32
40
|
/** Default is the level of the source ability or 0 if it is absent. */
|
|
@@ -48,14 +56,20 @@ export type BuffParameters<T extends Buff<any> = Buff> = Buff extends T ? {
|
|
|
48
56
|
damageIncrease?: NumberParameterValueType;
|
|
49
57
|
damageIncreaseFactor?: NumberParameterValueType;
|
|
50
58
|
armorIncrease?: NumberParameterValueType;
|
|
51
|
-
|
|
59
|
+
maxHealthIncrease?: NumberParameterValueType;
|
|
60
|
+
maxManaIncrease?: NumberParameterValueType;
|
|
52
61
|
attackSpeedIncreaseFactor?: NumberParameterValueType;
|
|
53
62
|
movementSpeedIncreaseFactor?: NumberParameterValueType;
|
|
63
|
+
manaRegenerationRateIncreaseFactor?: NumberParameterValueType;
|
|
64
|
+
evasionProbability?: NumberParameterValueType;
|
|
65
|
+
missProbability?: NumberParameterValueType;
|
|
66
|
+
damageFactor?: NumberParameterValueType;
|
|
54
67
|
receivedDamageFactor?: NumberParameterValueType;
|
|
55
68
|
receivedMagicDamageFactor?: NumberParameterValueType;
|
|
56
69
|
durationIncreaseOnAutoAttack?: NumberParameterValueType;
|
|
57
70
|
maximumRemainingDuration?: NumberParameterValueType;
|
|
58
71
|
maximumDuration?: NumberParameterValueType;
|
|
72
|
+
turnsIntoGhost?: BooleanParameterValueType;
|
|
59
73
|
stuns?: BooleanParameterValueType;
|
|
60
74
|
ignoresStunImmunity?: BooleanParameterValueType;
|
|
61
75
|
providesStunImmunity?: BooleanParameterValueType;
|
|
@@ -64,61 +78,91 @@ export type BuffParameters<T extends Buff<any> = Buff> = Buff extends T ? {
|
|
|
64
78
|
disablesAutoAttack?: BooleanParameterValueType;
|
|
65
79
|
destroysOnDamage?: BooleanParameterValueType;
|
|
66
80
|
maximumAutoAttackCount?: IntegerParameterValueType;
|
|
81
|
+
maximumDamageDealtEventCount?: IntegerParameterValueType;
|
|
82
|
+
maximumDamageReceivedEventCount?: IntegerParameterValueType;
|
|
83
|
+
absorbedDamageFactor?: NumberParameterValueType;
|
|
84
|
+
maximumDamageAbsorbed?: NumberParameterValueType;
|
|
85
|
+
destroysOnMaximumDamageAbsorbed?: BooleanParameterValueType;
|
|
86
|
+
damageOnExpiration?: NumberParameterValueType;
|
|
87
|
+
healingOnExpiration?: NumberParameterValueType;
|
|
88
|
+
killsOnExpiration?: BooleanParameterValueType;
|
|
89
|
+
explodesOnExpiration?: BooleanParameterValueType;
|
|
90
|
+
abilityCooldownFactor?: NumberParameterValueType;
|
|
67
91
|
uniqueGroup?: BuffUniqueGroup;
|
|
68
|
-
} : BuffParameters & (T extends Buff<infer AdditionalParameters> ? AdditionalParameters :
|
|
92
|
+
} : BuffParameters & (T extends Buff<infer AdditionalParameters> ? AdditionalParameters : object);
|
|
69
93
|
declare const enum BuffPropertyKey {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
94
|
+
STATE = 100,
|
|
95
|
+
UNIT = 101,
|
|
96
|
+
SOURCE = 102,
|
|
97
|
+
DURATION = 103,
|
|
98
|
+
UNIQUE_GROUP = 104,
|
|
99
|
+
EFFECT_MODEL_PATH = 105,
|
|
100
|
+
SPECIAL_EFFECT_MODEL_PATH = 106,
|
|
101
|
+
DURATION_INCREASE_ON_AUTO_ATTACK = 107,
|
|
102
|
+
MAXIMUM_DURATION = 108,
|
|
103
|
+
MAXIMUM_REMAINING_DURATION = 109,
|
|
104
|
+
DAMAGE_OVER_DURATION = 110,
|
|
105
|
+
DAMAGE_PER_INTERVAL = 111,
|
|
106
|
+
DAMAGE_INTERVAL = 112,
|
|
107
|
+
REMAINING_DAMAGE_OVER_DURATION = 113,
|
|
108
|
+
DAMAGE_INTERVAL_TIMER = 114,
|
|
109
|
+
HEALING_OVER_DURATION = 115,
|
|
110
|
+
HEALING_PER_INTERVAL = 116,
|
|
111
|
+
HEALING_INTERVAL = 117,
|
|
112
|
+
REMAINING_HEALING_OVER_DURATION = 118,
|
|
113
|
+
HEALING_INTERVAL_TIMER = 119,
|
|
114
|
+
DAMAGE_ON_EXPIRATION = 120,
|
|
115
|
+
HEALING_ON_EXPIRATION = 121,
|
|
116
|
+
DAMAGE_UPON_DEATH_ALLOWED_TARGET_CLASSIFICATIONS = 122,
|
|
117
|
+
DAMAGE_UPON_DEATH = 123,
|
|
118
|
+
DAMAGE_UPON_DEATH_RANGE = 124,
|
|
119
|
+
MEDIUM_DAMAGE_UPON_DEATH = 125,
|
|
120
|
+
MEDIUM_DAMAGE_UPON_DEATH_RANGE = 126,
|
|
121
|
+
SMALL_DAMAGE_UPON_DEATH = 127,
|
|
122
|
+
SMALL_DAMAGE_UPON_DEATH_RANGE = 128,
|
|
123
|
+
AUTO_ATTACK_COUNT = 129,
|
|
124
|
+
MAXIMUM_AUTO_ATTACK_COUNT = 130,
|
|
125
|
+
DAMAGE_DEALT_EVENT_COUNT = 131,
|
|
126
|
+
MAXIMUM_DAMAGE_DEALT_EVENT_COUNT = 132,
|
|
127
|
+
DAMAGE_RECEIVED_EVENT_COUNT = 133,
|
|
128
|
+
MAXIMUM_DAMAGE_RECEIVED_EVENT_COUNT = 134,
|
|
129
|
+
ABSORBED_DAMAGE_FACTOR = 135,
|
|
130
|
+
MAXIMUM_DAMAGE_ABSORBED = 136,
|
|
131
|
+
DAMAGE_ABSORBED = 137,
|
|
132
|
+
DESTROYS_ON_MAXIMUM_DAMAGE_ABSORBED = 138,
|
|
133
|
+
TURNS_INTO_GHOST = 139,
|
|
134
|
+
STUNS = 140,
|
|
135
|
+
IGNORES_STUN_IMMUNITY = 141,
|
|
136
|
+
DISABLES_AUTO_ATTACK = 142,
|
|
137
|
+
PROVIDES_INVULNERABILITY = 143,
|
|
138
|
+
KILLS_ON_EXPIRATION = 144,
|
|
139
|
+
EXPLODES_ON_EXPIRATION = 145,
|
|
140
|
+
MISS_PROBABILITY = 146,
|
|
141
|
+
ABILITY_COOLDOWN_FACTOR = 147,
|
|
142
|
+
ABILITY_COOLDOWN_MODIFIER = 148
|
|
102
143
|
}
|
|
103
144
|
export declare const enum BuffTypeIdSelectionPolicy {
|
|
104
145
|
LEAST_DURATION = 0
|
|
105
146
|
}
|
|
106
147
|
export type BuffAdditionalParameters = Prohibit<Record<string, any>, keyof BuffParameters>;
|
|
107
|
-
export type BuffConstructorParameters<
|
|
148
|
+
export type BuffConstructorParameters<T extends Buff<BuffAdditionalParameters>> = T extends Buff<infer AdditionalParameters> ? [
|
|
108
149
|
...typeId: [ApplicableBuffTypeId] | [
|
|
109
|
-
typeIds:
|
|
150
|
+
typeIds: ReadonlyNonEmptyArray<ApplicableBuffTypeId>,
|
|
110
151
|
typeIdSelectionPolicy: BuffTypeIdSelectionPolicy
|
|
111
152
|
],
|
|
112
|
-
polarity:
|
|
113
|
-
resistanceType:
|
|
153
|
+
polarity: BuffPolarityParameterType,
|
|
154
|
+
resistanceType: BuffResistanceTypeParameterType,
|
|
114
155
|
...abilityOrParameters: [
|
|
115
|
-
ability
|
|
156
|
+
ability?: Ability | AbilityBehavior,
|
|
116
157
|
parameters?: BuffParameters & Omit<AdditionalParameters, keyof BuffParameters>
|
|
117
|
-
] | [
|
|
118
|
-
|
|
119
|
-
|
|
158
|
+
] | [
|
|
159
|
+
parameters?: BuffParameters & Omit<AdditionalParameters, keyof BuffParameters>
|
|
160
|
+
]
|
|
161
|
+
] : never;
|
|
162
|
+
export declare class Buff<AdditionalParameters extends Prohibit<Record<string, any>, keyof BuffParameters> = object> extends UnitBehavior {
|
|
120
163
|
private _unit;
|
|
121
164
|
protected readonly __additionalParametersBrand?: AdditionalParameters;
|
|
165
|
+
private [BuffPropertyKey.STATE];
|
|
122
166
|
private [BuffPropertyKey.UNIT];
|
|
123
167
|
private [BuffPropertyKey.SOURCE]?;
|
|
124
168
|
private [BuffPropertyKey.DURATION];
|
|
@@ -138,6 +182,8 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
138
182
|
private [BuffPropertyKey.HEALING_INTERVAL]?;
|
|
139
183
|
private [BuffPropertyKey.REMAINING_HEALING_OVER_DURATION]?;
|
|
140
184
|
private [BuffPropertyKey.HEALING_INTERVAL_TIMER]?;
|
|
185
|
+
private [BuffPropertyKey.DAMAGE_ON_EXPIRATION]?;
|
|
186
|
+
private [BuffPropertyKey.HEALING_ON_EXPIRATION]?;
|
|
141
187
|
private [BuffPropertyKey.DAMAGE_UPON_DEATH_ALLOWED_TARGET_CLASSIFICATIONS]?;
|
|
142
188
|
private [BuffPropertyKey.DAMAGE_UPON_DEATH]?;
|
|
143
189
|
private [BuffPropertyKey.DAMAGE_UPON_DEATH_RANGE]?;
|
|
@@ -147,29 +193,41 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
147
193
|
private [BuffPropertyKey.SMALL_DAMAGE_UPON_DEATH_RANGE]?;
|
|
148
194
|
private [BuffPropertyKey.MAXIMUM_AUTO_ATTACK_COUNT]?;
|
|
149
195
|
private [BuffPropertyKey.AUTO_ATTACK_COUNT]?;
|
|
196
|
+
private [BuffPropertyKey.MAXIMUM_DAMAGE_DEALT_EVENT_COUNT]?;
|
|
197
|
+
private [BuffPropertyKey.DAMAGE_DEALT_EVENT_COUNT]?;
|
|
198
|
+
private [BuffPropertyKey.MAXIMUM_DAMAGE_RECEIVED_EVENT_COUNT]?;
|
|
199
|
+
private [BuffPropertyKey.DAMAGE_RECEIVED_EVENT_COUNT]?;
|
|
200
|
+
private [BuffPropertyKey.ABSORBED_DAMAGE_FACTOR]?;
|
|
201
|
+
private [BuffPropertyKey.MAXIMUM_DAMAGE_ABSORBED]?;
|
|
202
|
+
private [BuffPropertyKey.DAMAGE_ABSORBED]?;
|
|
203
|
+
private [BuffPropertyKey.DESTROYS_ON_MAXIMUM_DAMAGE_ABSORBED]?;
|
|
204
|
+
private [BuffPropertyKey.TURNS_INTO_GHOST]?;
|
|
150
205
|
private [BuffPropertyKey.STUNS]?;
|
|
151
206
|
private [BuffPropertyKey.IGNORES_STUN_IMMUNITY]?;
|
|
152
207
|
private [BuffPropertyKey.DISABLES_AUTO_ATTACK]?;
|
|
153
208
|
private [BuffPropertyKey.PROVIDES_INVULNERABILITY]?;
|
|
209
|
+
private [BuffPropertyKey.KILLS_ON_EXPIRATION]?;
|
|
210
|
+
private [BuffPropertyKey.EXPLODES_ON_EXPIRATION]?;
|
|
211
|
+
private [BuffPropertyKey.ABILITY_COOLDOWN_FACTOR]?;
|
|
212
|
+
private [BuffPropertyKey.ABILITY_COOLDOWN_MODIFIER]?;
|
|
154
213
|
protected static readonly defaultParameters: BuffParameters;
|
|
155
214
|
get source(): Unit;
|
|
156
215
|
readonly typeId: ApplicableBuffTypeId;
|
|
157
216
|
readonly polarity: BuffPolarity;
|
|
158
217
|
readonly resistanceType: BuffResistanceType;
|
|
159
|
-
readonly parameters: IsExactlyAny<AdditionalParameters> extends true ? any :
|
|
218
|
+
readonly parameters: IsExactlyAny<AdditionalParameters> extends true ? any : AdditionalParameters extends Record<PropertyKey, never> ? undefined : {
|
|
160
219
|
[K in keyof Omit<AdditionalParameters, keyof BuffParameters>]: AdditionalParameters[K] extends AbilityDependentValue<infer T> ? T : AdditionalParameters[K];
|
|
161
220
|
};
|
|
162
221
|
private readonly handle;
|
|
222
|
+
readonly previousBuff?: Buff;
|
|
163
223
|
private _timer?;
|
|
164
224
|
private readonly _level?;
|
|
165
225
|
private readonly _spellStealPriority?;
|
|
166
226
|
private readonly _learnLevelMinimum?;
|
|
167
|
-
private
|
|
227
|
+
private readonly [BuffPropertyKey.MISS_PROBABILITY]?;
|
|
168
228
|
private readonly _abilityTypeIds?;
|
|
169
229
|
private _behaviors?;
|
|
170
|
-
|
|
171
|
-
private addOrUpdateOrRemoveUnitBonus;
|
|
172
|
-
constructor(target: Unit, ...parameters: BuffConstructorParameters<AdditionalParameters>);
|
|
230
|
+
constructor(target: Unit, ...parameters: BuffConstructorParameters<Buff<AdditionalParameters>>);
|
|
173
231
|
get level(): number;
|
|
174
232
|
get remainingDamageOverDuration(): number;
|
|
175
233
|
set remainingDamageOverDuration(remainingDamageOverDuration: number);
|
|
@@ -187,10 +245,22 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
187
245
|
set healingPerInterval(healingPerInterval: number);
|
|
188
246
|
get healingInterval(): number;
|
|
189
247
|
set healingInterval(healingInterval: number);
|
|
248
|
+
get damageOnExpiration(): number;
|
|
249
|
+
set damageOnExpiration(damageOnExpiration: number);
|
|
250
|
+
get healingOnExpiration(): number;
|
|
251
|
+
set healingOnExpiration(healingOnExpiration: number);
|
|
252
|
+
get damageFactor(): number;
|
|
253
|
+
set damageFactor(damageFactor: number);
|
|
190
254
|
get receivedDamageFactor(): number;
|
|
191
255
|
set receivedDamageFactor(receivedDamageFactor: number);
|
|
192
256
|
get armorIncrease(): number;
|
|
193
257
|
set armorIncrease(armorIncrease: number);
|
|
258
|
+
get maxHealthIncrease(): number;
|
|
259
|
+
set maxHealthIncrease(maxHealthIncrease: number);
|
|
260
|
+
get maxManaIncrease(): number;
|
|
261
|
+
set maxManaIncrease(maxManaIncrease: number);
|
|
262
|
+
get turnsIntoGhost(): boolean;
|
|
263
|
+
set turnsIntoGhost(turnsIntoGhost: boolean);
|
|
194
264
|
get stuns(): boolean;
|
|
195
265
|
set stuns(stuns: boolean);
|
|
196
266
|
get ignoresStunImmunity(): boolean;
|
|
@@ -199,6 +269,14 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
199
269
|
set disablesAutoAttack(disablesAutoAttack: boolean);
|
|
200
270
|
get providesInvulnerability(): boolean;
|
|
201
271
|
set providesInvulnerability(providesInvulnerability: boolean);
|
|
272
|
+
get killsOnExpiration(): boolean;
|
|
273
|
+
set killsOnExpiration(killsOnExpiration: boolean);
|
|
274
|
+
get explodesOnExpiration(): boolean;
|
|
275
|
+
set explodesOnExpiration(killsOnExpiration: boolean);
|
|
276
|
+
get maximumDamageDealtEventCount(): number;
|
|
277
|
+
set maximumDamageDealtEventCount(maximumDamageDealtEventCount: number);
|
|
278
|
+
get maximumDamageReceivedEventCount(): number;
|
|
279
|
+
set maximumDamageReceivedEventCount(maximumDamageReceivedEventCount: number);
|
|
202
280
|
get maximumAutoAttackCount(): number;
|
|
203
281
|
set maximumAutoAttackCount(maximumAutoAttackCount: number);
|
|
204
282
|
get durationIncreaseOnAutoAttack(): number;
|
|
@@ -207,15 +285,44 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
207
285
|
set attackSpeedIncreaseFactor(attackSpeedIncreaseFactor: number);
|
|
208
286
|
get movementSpeedIncreaseFactor(): number;
|
|
209
287
|
set movementSpeedIncreaseFactor(movementSpeedIncreaseFactor: number);
|
|
288
|
+
get evasionProbability(): number;
|
|
289
|
+
set evasionProbability(evasionProbability: number);
|
|
290
|
+
get manaRegenerationRateIncreaseFactor(): number;
|
|
291
|
+
set manaRegenerationRateIncreaseFactor(manaRegenerationRateIncreaseFactor: number);
|
|
210
292
|
get duration(): number;
|
|
293
|
+
set duration(duration: number);
|
|
211
294
|
get remainingDuration(): number;
|
|
212
295
|
set remainingDuration(remainingDuration: number);
|
|
213
|
-
|
|
214
|
-
|
|
296
|
+
get absorbedDamageFactor(): number;
|
|
297
|
+
set absorbedDamageFactor(absorbedDamageFactor: number);
|
|
298
|
+
get maximumDamageAbsorbed(): number;
|
|
299
|
+
set maximumDamageAbsorbed(maximumDamageAbsorbed: number);
|
|
300
|
+
get damageAbsorbed(): number;
|
|
301
|
+
get destroysOnMaximumDamageAbsorbed(): boolean;
|
|
302
|
+
set destroysOnMaximumDamageAbsorbed(destroysOnMaximumDamageAbsorbed: boolean);
|
|
303
|
+
get abilityCooldownFactor(): number;
|
|
304
|
+
set abilityCooldownFactor(abilityCooldownFactor: number);
|
|
305
|
+
onAbilityGained(ability: Ability): void;
|
|
306
|
+
onAbilityLost(ability: Ability): void;
|
|
307
|
+
flashEffect(...parameters: [
|
|
308
|
+
...widgetOrXY: [] | [Widget] | [x: number, x: number],
|
|
309
|
+
...parametersOrDuration: [] | [EffectParameters] | [number]
|
|
310
|
+
]): void;
|
|
311
|
+
flashSpecialEffect(...parameters: [
|
|
312
|
+
...widgetOrXY: [] | [Widget] | [x: number, x: number],
|
|
313
|
+
...parametersOrDuration: [] | [EffectParameters] | [number]
|
|
314
|
+
]): void;
|
|
315
|
+
private flash;
|
|
316
|
+
expire(): void;
|
|
317
|
+
protected onCreate(): void;
|
|
215
318
|
protected onDestroy(): Destructor;
|
|
216
319
|
static apply<T extends Buff<any>, Args extends any[]>(this: BuffConstructor<T, Args>, ...args: Args): T | undefined;
|
|
217
320
|
static getByTypeId<T extends Buff<any>, Args extends any[]>(this: BuffConstructor<T, Args>, unit: Unit, typeId: ApplicableBuffTypeId): T | undefined;
|
|
321
|
+
onExpiration(): void;
|
|
218
322
|
onDeath(source: Unit | undefined): void;
|
|
219
323
|
onDamageDealt(target: Unit, event: DamageEvent): void;
|
|
324
|
+
onDamageReceived(source: Unit | undefined, event: DamageEvent): void;
|
|
325
|
+
static readonly createdEvent: Event<[Buff<object>]>;
|
|
326
|
+
static readonly beingDestroyedEvent: Event<[Buff<object>]>;
|
|
220
327
|
}
|
|
221
328
|
export {};
|