warscript 0.0.1-dev.ccd5725 → 0.0.1-dev.d18f377
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 +0 -1
- package/binaryreader.d.ts +1 -0
- package/binaryreader.lua +3 -0
- package/core/types/effect.d.ts +12 -3
- package/core/types/effect.lua +56 -7
- package/core/types/frame.d.ts +8 -1
- package/core/types/frame.lua +93 -1
- package/core/types/group.d.ts +0 -1
- package/core/types/image.d.ts +0 -1
- package/core/types/missile.d.ts +2 -2
- package/core/types/missile.lua +8 -2
- package/core/types/unit.lua +8 -0
- package/core/util.d.ts +1 -1
- package/core/util.lua +6 -0
- package/decl/index.d.ts +1 -0
- package/engine/ability.d.ts +1 -1
- package/engine/behavior.d.ts +10 -10
- package/engine/behavior.lua +6 -6
- package/engine/behaviour/ability/apply-buff.d.ts +3 -5
- package/engine/behaviour/ability/apply-unit-behavior.d.ts +6 -1
- package/engine/behaviour/ability/damage.d.ts +33 -11
- package/engine/behaviour/ability/damage.lua +89 -31
- package/engine/behaviour/ability/emulate-impact.d.ts +6 -0
- package/engine/behaviour/ability/emulate-impact.lua +29 -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 +18 -0
- package/engine/behaviour/ability/remove-buffs.d.ts +16 -0
- package/engine/behaviour/ability/remove-buffs.lua +28 -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 +14 -3
- package/engine/behaviour/ability.lua +75 -12
- package/engine/behaviour/unit/stun-immunity.d.ts +0 -1
- package/engine/behaviour/unit.d.ts +8 -2
- package/engine/behaviour/unit.lua +27 -0
- package/engine/buff.d.ts +68 -21
- package/engine/buff.lua +276 -90
- package/engine/game-map.d.ts +7 -0
- package/engine/game-map.lua +32 -0
- package/engine/internal/ability.d.ts +5 -12
- package/engine/internal/ability.lua +13 -74
- package/engine/internal/item+owner.lua +2 -2
- package/engine/internal/unit/ability.d.ts +10 -1
- package/engine/internal/unit/ability.lua +36 -14
- package/engine/internal/unit/bonus.d.ts +9 -8
- package/engine/internal/unit/bonus.lua +6 -1
- package/engine/internal/unit/item.d.ts +24 -0
- package/engine/internal/unit/item.lua +84 -0
- package/engine/internal/unit/main-selected.d.ts +13 -0
- package/engine/internal/unit/main-selected.lua +51 -0
- package/engine/internal/unit+ability.lua +2 -2
- package/engine/internal/unit+transport.lua +4 -10
- package/engine/internal/unit-missile-launch.lua +25 -6
- package/engine/internal/unit.d.ts +57 -16
- package/engine/internal/unit.lua +313 -122
- package/engine/local-client.d.ts +7 -2
- package/engine/local-client.lua +82 -0
- package/engine/object-data/auxiliary/attachment-preset.d.ts +0 -1
- package/engine/object-data/auxiliary/combat-classification.d.ts +0 -2
- package/engine/object-data/auxiliary/sound-preset-name.d.ts +5 -1
- package/engine/object-data/entry/ability-type/blank-configurable.d.ts +0 -1
- package/engine/object-data/entry/ability-type/blank-passive.d.ts +0 -1
- package/engine/object-data/entry/ability-type/channel.d.ts +0 -1
- 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/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.d.ts +0 -1
- package/engine/object-data/entry/buff-type/applicable.d.ts +0 -1
- package/engine/object-data/entry/buff-type/blank.d.ts +0 -1
- package/engine/object-data/entry/buff-type.d.ts +0 -1
- package/engine/object-data/entry/destructible-type.d.ts +0 -1
- package/engine/object-data/entry/item-type/blank.d.ts +0 -1
- package/engine/object-data/entry/item-type.d.ts +12 -1
- package/engine/object-data/entry/item-type.lua +78 -0
- package/engine/object-data/entry/lightning-type.d.ts +0 -1
- package/engine/object-data/entry/unit-type.d.ts +25 -2
- package/engine/object-data/entry/unit-type.lua +255 -49
- package/engine/object-data/entry/upgrade/blank.d.ts +0 -1
- package/engine/object-data/entry/upgrade.d.ts +0 -1
- package/engine/object-data/entry.d.ts +2 -3
- package/engine/object-field/ability.d.ts +19 -2
- package/engine/object-field/ability.lua +51 -1
- package/engine/object-field.d.ts +0 -1
- package/engine/random.d.ts +1 -0
- package/engine/random.lua +9 -0
- package/engine/standard/entries/unit-type.d.ts +39 -1
- package/engine/standard/entries/unit-type.lua +39 -1
- package/engine/standard/fields/ability.d.ts +1 -1
- package/engine/standard/fields/ability.lua +1 -1
- package/engine/unit.d.ts +2 -0
- package/engine/unit.lua +11 -2
- package/event.d.ts +2 -3
- package/event.lua +9 -5
- package/index.d.ts +1 -0
- package/index.lua +1 -0
- package/lualib_bundle.lua +146 -42
- package/math/vec2.d.ts +2 -9
- package/math.d.ts +0 -2
- 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 +1 -1
- package/objutil/object.d.ts +0 -1
- package/objutil/unit.d.ts +0 -1
- package/package.json +13 -14
- package/patch-lua.d.ts +0 -0
- package/patch-lua.lua +10 -0
- 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 +11 -5
- package/utility/arrays.lua +34 -3
- package/utility/bit-set.d.ts +0 -2
- package/utility/lazy.d.ts +2 -0
- package/utility/lazy.lua +14 -0
- package/utility/linked-set.d.ts +11 -3
- package/utility/linked-set.lua +5 -2
- package/utility/lua-maps.d.ts +1 -2
- package/utility/lua-sets.d.ts +1 -2
- package/utility/types.d.ts +1 -0
- package/core/mapbounds.d.ts +0 -8
- package/core/mapbounds.lua +0 -12
|
@@ -4,6 +4,7 @@ local __TS__ClassExtends = ____lualib.__TS__ClassExtends
|
|
|
4
4
|
local __TS__New = ____lualib.__TS__New
|
|
5
5
|
local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
|
|
6
6
|
local ____exports = {}
|
|
7
|
+
local createUnitEventListener
|
|
7
8
|
local ____behavior = require("engine.behavior")
|
|
8
9
|
local Behavior = ____behavior.Behavior
|
|
9
10
|
local ____unit = require("engine.unit")
|
|
@@ -15,6 +16,9 @@ local Effect = ____effect.Effect
|
|
|
15
16
|
local ____ability = require("engine.standard.fields.ability")
|
|
16
17
|
local AREA_EFFECT_MODEL_PATHS_ABILITY_STRING_ARRAY_FIELD = ____ability.AREA_EFFECT_MODEL_PATHS_ABILITY_STRING_ARRAY_FIELD
|
|
17
18
|
local EFFECT_MODEL_PATHS_ABILITY_STRING_ARRAY_FIELD = ____ability.EFFECT_MODEL_PATHS_ABILITY_STRING_ARRAY_FIELD
|
|
19
|
+
local MISSILE_ARC_ABILITY_FLOAT_FIELD = ____ability.MISSILE_ARC_ABILITY_FLOAT_FIELD
|
|
20
|
+
local MISSILE_MODEL_PATHS_ABILITY_STRING_ARRAY_FIELD = ____ability.MISSILE_MODEL_PATHS_ABILITY_STRING_ARRAY_FIELD
|
|
21
|
+
local MISSILE_SPEED_ABILITY_INTEGER_FIELD = ____ability.MISSILE_SPEED_ABILITY_INTEGER_FIELD
|
|
18
22
|
local SPECIAL_EFFECT_ATTACHMENT_POINT_STRING_FIELD = ____ability.SPECIAL_EFFECT_ATTACHMENT_POINT_STRING_FIELD
|
|
19
23
|
local SPECIAL_EFFECT_MODEL_PATHS_ABILITY_STRING_ARRAY_FIELD = ____ability.SPECIAL_EFFECT_MODEL_PATHS_ABILITY_STRING_ARRAY_FIELD
|
|
20
24
|
local ____ability = require("engine.object-field.ability")
|
|
@@ -22,12 +26,67 @@ local resolveCurrentAbilityDependentValue = ____ability.resolveCurrentAbilityDep
|
|
|
22
26
|
local ____timer = require("core.types.timer")
|
|
23
27
|
local Timer = ____timer.Timer
|
|
24
28
|
local createBehaviorFunctionsByAbilityTypeId = {}
|
|
29
|
+
local exclusiveOnImpactHandlerAbilityBehaviorByAbility = setmetatable({}, {__mode = "k"})
|
|
30
|
+
local function createZeroTimerUnitEventListener(key)
|
|
31
|
+
local unitEventListener = createUnitEventListener(key)
|
|
32
|
+
return function(unit, ability, ...)
|
|
33
|
+
Timer:run(unitEventListener, unit, ability, ...)
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
createUnitEventListener = function(key)
|
|
37
|
+
return function(unit, ability, ...)
|
|
38
|
+
____exports.AbilityBehavior:forAll(ability, key, unit, ...)
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
local registeredCommandEventIds = {}
|
|
42
|
+
local ____class_2 = __TS__Class()
|
|
43
|
+
____class_2.name = ""
|
|
44
|
+
function ____class_2.prototype.____constructor(self, abilityBehavior)
|
|
45
|
+
self.abilityBehavior = abilityBehavior
|
|
46
|
+
end
|
|
47
|
+
__TS__SetDescriptor(
|
|
48
|
+
____class_2.prototype,
|
|
49
|
+
"art",
|
|
50
|
+
{get = function(self)
|
|
51
|
+
return MISSILE_MODEL_PATHS_ABILITY_STRING_ARRAY_FIELD:getValue(self.abilityBehavior.ability, 0)
|
|
52
|
+
end},
|
|
53
|
+
true
|
|
54
|
+
)
|
|
55
|
+
__TS__SetDescriptor(
|
|
56
|
+
____class_2.prototype,
|
|
57
|
+
"arc",
|
|
58
|
+
{get = function(self)
|
|
59
|
+
return MISSILE_ARC_ABILITY_FLOAT_FIELD:getValue(self.abilityBehavior.ability)
|
|
60
|
+
end},
|
|
61
|
+
true
|
|
62
|
+
)
|
|
63
|
+
__TS__SetDescriptor(
|
|
64
|
+
____class_2.prototype,
|
|
65
|
+
"speed",
|
|
66
|
+
{get = function(self)
|
|
67
|
+
return MISSILE_SPEED_ABILITY_INTEGER_FIELD:getValue(self.abilityBehavior.ability)
|
|
68
|
+
end},
|
|
69
|
+
true
|
|
70
|
+
)
|
|
25
71
|
____exports.AbilityBehavior = __TS__Class()
|
|
26
72
|
local AbilityBehavior = ____exports.AbilityBehavior
|
|
27
73
|
AbilityBehavior.name = "AbilityBehavior"
|
|
28
74
|
__TS__ClassExtends(AbilityBehavior, Behavior)
|
|
29
|
-
function AbilityBehavior.prototype.____constructor(self, ability)
|
|
75
|
+
function AbilityBehavior.prototype.____constructor(self, ability, parameters)
|
|
30
76
|
Behavior.prototype.____constructor(self, ability)
|
|
77
|
+
if parameters and parameters.isExclusiveOnImpactHandler then
|
|
78
|
+
exclusiveOnImpactHandlerAbilityBehaviorByAbility[ability] = self
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
function AbilityBehavior.prototype.registerCommandEvent(self, orderTypeStringId)
|
|
82
|
+
if orderTypeStringId == nil then
|
|
83
|
+
orderTypeStringId = self.ability.orderTypeStringId
|
|
84
|
+
end
|
|
85
|
+
local commandEventId = (tostring(self.ability.typeId) .. "#") .. orderTypeStringId
|
|
86
|
+
if not (registeredCommandEventIds[commandEventId] ~= nil) then
|
|
87
|
+
registeredCommandEventIds[commandEventId] = true
|
|
88
|
+
Unit.abilityCommandEvent[self.ability.typeId][orderTypeStringId]:addListener(createUnitEventListener("onCommand"))
|
|
89
|
+
end
|
|
31
90
|
end
|
|
32
91
|
function AbilityBehavior.prototype.resolveCurrentAbilityDependentValue(self, value)
|
|
33
92
|
return resolveCurrentAbilityDependentValue(self.ability, value)
|
|
@@ -65,10 +124,14 @@ function AbilityBehavior.prototype.flashSpecialEffect(self, xOrWidget, yOrDurati
|
|
|
65
124
|
)
|
|
66
125
|
end
|
|
67
126
|
end
|
|
127
|
+
function AbilityBehavior.prototype.onMissileArrival(self, ...)
|
|
128
|
+
end
|
|
68
129
|
function AbilityBehavior.prototype.onUnitGainAbility(self, _unit)
|
|
69
130
|
end
|
|
70
131
|
function AbilityBehavior.prototype.onUnitLoseAbility(self, _unit)
|
|
71
132
|
end
|
|
133
|
+
function AbilityBehavior.prototype.onCommand(self, caster, orderTypeStringId)
|
|
134
|
+
end
|
|
72
135
|
function AbilityBehavior.prototype.onCastingStart(self, caster)
|
|
73
136
|
end
|
|
74
137
|
function AbilityBehavior.prototype.onCastingFinish(self, caster)
|
|
@@ -127,19 +190,19 @@ __TS__SetDescriptor(
|
|
|
127
190
|
return self.object
|
|
128
191
|
end},
|
|
129
192
|
true
|
|
193
|
+
)
|
|
194
|
+
AbilityBehavior.MissileLaunchConfig = ____class_2
|
|
195
|
+
__TS__SetDescriptor(
|
|
196
|
+
AbilityBehavior.prototype,
|
|
197
|
+
"missileLaunchConfig",
|
|
198
|
+
{get = function(self)
|
|
199
|
+
local missileLaunchConfig = __TS__New(____exports.AbilityBehavior.MissileLaunchConfig, self)
|
|
200
|
+
rawset(self, "missileLaunchConfig", missileLaunchConfig)
|
|
201
|
+
return missileLaunchConfig
|
|
202
|
+
end},
|
|
203
|
+
true
|
|
130
204
|
);
|
|
131
205
|
(function(self)
|
|
132
|
-
local function createUnitEventListener(key)
|
|
133
|
-
return function(unit, ability, ...)
|
|
134
|
-
____exports.AbilityBehavior:forAll(ability, key, unit, ...)
|
|
135
|
-
end
|
|
136
|
-
end
|
|
137
|
-
local function createZeroTimerUnitEventListener(key)
|
|
138
|
-
local unitEventListener = createUnitEventListener(key)
|
|
139
|
-
return function(unit, ability, ...)
|
|
140
|
-
Timer:run(unitEventListener, unit, ability, ...)
|
|
141
|
-
end
|
|
142
|
-
end
|
|
143
206
|
Unit.abilityGainedEvent:addListener(createUnitEventListener("onUnitGainAbility"))
|
|
144
207
|
Unit.abilityLostEvent:addListener(createUnitEventListener("onUnitLoseAbility"))
|
|
145
208
|
Unit.abilityCastingStartEvent:addListener(createUnitEventListener("onCastingStart"))
|
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
import { Behavior } from "../behavior";
|
|
3
3
|
import { Ability } from "../internal/ability";
|
|
4
4
|
import { DamageEvent, DamagingEvent, Unit } from "../internal/unit";
|
|
5
|
+
import "../internal/unit+ability";
|
|
5
6
|
import "../internal/unit-missile-launch";
|
|
7
|
+
import { Item } from "../internal/item";
|
|
6
8
|
export type UnitBehaviorConstructor<Args extends any[]> = new (unit: Unit, ...args: Args) => UnitBehavior;
|
|
7
9
|
export declare abstract class UnitBehavior<PeriodicActionParameters extends any[] = any[]> extends Behavior<Unit, PeriodicActionParameters> {
|
|
8
10
|
constructor(unit: Unit);
|
|
@@ -13,8 +15,12 @@ export declare abstract class UnitBehavior<PeriodicActionParameters extends any[
|
|
|
13
15
|
onDamageDealt(target: Unit, event: DamageEvent): void;
|
|
14
16
|
onDamageReceiving(source: Unit | undefined, event: DamagingEvent): void;
|
|
15
17
|
onDamageReceived(source: Unit | undefined, event: DamageEvent): void;
|
|
16
|
-
|
|
17
|
-
|
|
18
|
+
onAbilityGained(ability: Ability): void;
|
|
19
|
+
onAbilityLost(ability: Ability): void;
|
|
20
|
+
onItemDropped(item: Item): void;
|
|
21
|
+
onItemPickedUp(item: Item): void;
|
|
22
|
+
onItemUsed(item: Item): void;
|
|
23
|
+
onItemStacked(item: Item): void;
|
|
18
24
|
onKill(target: Unit): void;
|
|
19
25
|
onDeath(source: Unit | undefined): void;
|
|
20
26
|
}
|
|
@@ -7,6 +7,7 @@ local ____behavior = require("engine.behavior")
|
|
|
7
7
|
local Behavior = ____behavior.Behavior
|
|
8
8
|
local ____unit = require("engine.internal.unit")
|
|
9
9
|
local Unit = ____unit.Unit
|
|
10
|
+
require("engine.internal.unit+ability")
|
|
10
11
|
require("engine.internal.unit-missile-launch")
|
|
11
12
|
____exports.UnitBehavior = __TS__Class()
|
|
12
13
|
local UnitBehavior = ____exports.UnitBehavior
|
|
@@ -31,6 +32,14 @@ function UnitBehavior.prototype.onAbilityGained(self, ability)
|
|
|
31
32
|
end
|
|
32
33
|
function UnitBehavior.prototype.onAbilityLost(self, ability)
|
|
33
34
|
end
|
|
35
|
+
function UnitBehavior.prototype.onItemDropped(self, item)
|
|
36
|
+
end
|
|
37
|
+
function UnitBehavior.prototype.onItemPickedUp(self, item)
|
|
38
|
+
end
|
|
39
|
+
function UnitBehavior.prototype.onItemUsed(self, item)
|
|
40
|
+
end
|
|
41
|
+
function UnitBehavior.prototype.onItemStacked(self, item)
|
|
42
|
+
end
|
|
34
43
|
function UnitBehavior.prototype.onKill(self, target)
|
|
35
44
|
end
|
|
36
45
|
function UnitBehavior.prototype.onDeath(self, source)
|
|
@@ -62,12 +71,30 @@ __TS__SetDescriptor(
|
|
|
62
71
|
end
|
|
63
72
|
____exports.UnitBehavior:forAll(target, "onDamageReceived", source, event)
|
|
64
73
|
end)
|
|
74
|
+
Unit.abilityGainedEvent:addListener(function(source, target)
|
|
75
|
+
____exports.UnitBehavior:forAll(source, "onAbilityGained", target)
|
|
76
|
+
end)
|
|
77
|
+
Unit.abilityLostEvent:addListener(function(source, target)
|
|
78
|
+
____exports.UnitBehavior:forAll(source, "onAbilityLost", target)
|
|
79
|
+
end)
|
|
65
80
|
Unit.deathEvent:addListener(function(target, source)
|
|
66
81
|
if source ~= nil then
|
|
67
82
|
____exports.UnitBehavior:forAll(source, "onKill", target)
|
|
68
83
|
end
|
|
69
84
|
____exports.UnitBehavior:forAll(target, "onDeath", source)
|
|
70
85
|
end)
|
|
86
|
+
Unit.itemDroppedEvent:addListener(function(unit, item)
|
|
87
|
+
____exports.UnitBehavior:forAll(unit, "onItemDropped", item)
|
|
88
|
+
end)
|
|
89
|
+
Unit.itemPickedUpEvent:addListener(function(unit, item)
|
|
90
|
+
____exports.UnitBehavior:forAll(unit, "onItemPickedUp", item)
|
|
91
|
+
end)
|
|
92
|
+
Unit.itemUsedEvent:addListener(function(unit, item)
|
|
93
|
+
____exports.UnitBehavior:forAll(unit, "onItemUsed", item)
|
|
94
|
+
end)
|
|
95
|
+
Unit.itemStackedEvent:addListener(function(unit, item)
|
|
96
|
+
____exports.UnitBehavior:forAll(unit, "onItemStacked", item)
|
|
97
|
+
end)
|
|
71
98
|
end)(UnitBehavior)
|
|
72
99
|
Unit.destroyEvent:addListener(function(unit)
|
|
73
100
|
____exports.UnitBehavior:forAll(unit, "destroy")
|
package/engine/buff.d.ts
CHANGED
|
@@ -5,16 +5,20 @@ 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";
|
|
14
15
|
export type BuffConstructor<T extends Buff<any> = Buff<any>, Args extends any[] = any> = OmitConstructor<typeof Buff<any>> & (new (...args: Args) => T);
|
|
16
|
+
type EnumParameterValueType<T extends number> = T | AbilityEnumLevelField<T>;
|
|
15
17
|
type NumberParameterValueType = number | AbilityNumberField | AbilityNumberLevelField;
|
|
16
18
|
type IntegerParameterValueType = number | AbilityIntegerField | AbilityIntegerLevelField;
|
|
17
19
|
type BooleanParameterValueType = boolean | AbilityBooleanField | AbilityBooleanLevelField;
|
|
20
|
+
export type BuffPolarityParameterType = EnumParameterValueType<BuffPolarity>;
|
|
21
|
+
export type BuffResistanceTypeParameterType = EnumParameterValueType<BuffResistanceType>;
|
|
18
22
|
export declare class BuffUniqueGroup {
|
|
19
23
|
}
|
|
20
24
|
export type BuffParameters<T extends Buff<any> = Buff> = Buff extends T ? {
|
|
@@ -51,6 +55,7 @@ export type BuffParameters<T extends Buff<any> = Buff> = Buff extends T ? {
|
|
|
51
55
|
armorIncreaseFactor?: NumberParameterValueType;
|
|
52
56
|
attackSpeedIncreaseFactor?: NumberParameterValueType;
|
|
53
57
|
movementSpeedIncreaseFactor?: NumberParameterValueType;
|
|
58
|
+
damageFactor?: NumberParameterValueType;
|
|
54
59
|
receivedDamageFactor?: NumberParameterValueType;
|
|
55
60
|
receivedMagicDamageFactor?: NumberParameterValueType;
|
|
56
61
|
durationIncreaseOnAutoAttack?: NumberParameterValueType;
|
|
@@ -64,8 +69,14 @@ export type BuffParameters<T extends Buff<any> = Buff> = Buff extends T ? {
|
|
|
64
69
|
disablesAutoAttack?: BooleanParameterValueType;
|
|
65
70
|
destroysOnDamage?: BooleanParameterValueType;
|
|
66
71
|
maximumAutoAttackCount?: IntegerParameterValueType;
|
|
72
|
+
maximumDamageDealtEventCount?: IntegerParameterValueType;
|
|
73
|
+
maximumDamageReceivedEventCount?: IntegerParameterValueType;
|
|
74
|
+
damageOnExpiration?: NumberParameterValueType;
|
|
75
|
+
healingOnExpiration?: NumberParameterValueType;
|
|
76
|
+
killsOnExpiration?: BooleanParameterValueType;
|
|
77
|
+
explodesOnExpiration?: BooleanParameterValueType;
|
|
67
78
|
uniqueGroup?: BuffUniqueGroup;
|
|
68
|
-
} : BuffParameters & (T extends Buff<infer AdditionalParameters> ? AdditionalParameters :
|
|
79
|
+
} : BuffParameters & (T extends Buff<infer AdditionalParameters> ? AdditionalParameters : object);
|
|
69
80
|
declare const enum BuffPropertyKey {
|
|
70
81
|
UNIT = 100,
|
|
71
82
|
SOURCE = 101,
|
|
@@ -86,19 +97,27 @@ declare const enum BuffPropertyKey {
|
|
|
86
97
|
HEALING_INTERVAL = 116,
|
|
87
98
|
REMAINING_HEALING_OVER_DURATION = 117,
|
|
88
99
|
HEALING_INTERVAL_TIMER = 118,
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
100
|
+
DAMAGE_ON_EXPIRATION = 119,
|
|
101
|
+
HEALING_ON_EXPIRATION = 120,
|
|
102
|
+
DAMAGE_UPON_DEATH_ALLOWED_TARGET_CLASSIFICATIONS = 121,
|
|
103
|
+
DAMAGE_UPON_DEATH = 122,
|
|
104
|
+
DAMAGE_UPON_DEATH_RANGE = 123,
|
|
105
|
+
MEDIUM_DAMAGE_UPON_DEATH = 124,
|
|
106
|
+
MEDIUM_DAMAGE_UPON_DEATH_RANGE = 125,
|
|
107
|
+
SMALL_DAMAGE_UPON_DEATH = 126,
|
|
108
|
+
SMALL_DAMAGE_UPON_DEATH_RANGE = 127,
|
|
109
|
+
AUTO_ATTACK_COUNT = 128,
|
|
110
|
+
MAXIMUM_AUTO_ATTACK_COUNT = 129,
|
|
111
|
+
DAMAGE_DEALT_EVENT_COUNT = 130,
|
|
112
|
+
MAXIMUM_DAMAGE_DEALT_EVENT_COUNT = 131,
|
|
113
|
+
DAMAGE_RECEIVED_EVENT_COUNT = 132,
|
|
114
|
+
MAXIMUM_DAMAGE_RECEIVED_EVENT_COUNT = 133,
|
|
115
|
+
STUNS = 134,
|
|
116
|
+
IGNORES_STUN_IMMUNITY = 135,
|
|
117
|
+
DISABLES_AUTO_ATTACK = 136,
|
|
118
|
+
PROVIDES_INVULNERABILITY = 137,
|
|
119
|
+
KILLS_ON_EXPIRATION = 138,
|
|
120
|
+
EXPLODES_ON_EXPIRATION = 139
|
|
102
121
|
}
|
|
103
122
|
export declare const enum BuffTypeIdSelectionPolicy {
|
|
104
123
|
LEAST_DURATION = 0
|
|
@@ -106,17 +125,17 @@ export declare const enum BuffTypeIdSelectionPolicy {
|
|
|
106
125
|
export type BuffAdditionalParameters = Prohibit<Record<string, any>, keyof BuffParameters>;
|
|
107
126
|
export type BuffConstructorParameters<AdditionalParameters extends BuffAdditionalParameters> = [
|
|
108
127
|
...typeId: [ApplicableBuffTypeId] | [
|
|
109
|
-
typeIds:
|
|
128
|
+
typeIds: ReadonlyNonEmptyArray<ApplicableBuffTypeId>,
|
|
110
129
|
typeIdSelectionPolicy: BuffTypeIdSelectionPolicy
|
|
111
130
|
],
|
|
112
|
-
polarity:
|
|
113
|
-
resistanceType:
|
|
131
|
+
polarity: BuffPolarityParameterType,
|
|
132
|
+
resistanceType: BuffResistanceTypeParameterType,
|
|
114
133
|
...abilityOrParameters: [
|
|
115
134
|
ability: Ability,
|
|
116
135
|
parameters?: BuffParameters & Omit<AdditionalParameters, keyof BuffParameters>
|
|
117
136
|
] | [parameters?: BuffParameters & Omit<AdditionalParameters, keyof BuffParameters>]
|
|
118
137
|
];
|
|
119
|
-
export declare class Buff<AdditionalParameters extends Prohibit<Record<string, any>, keyof BuffParameters> =
|
|
138
|
+
export declare class Buff<AdditionalParameters extends Prohibit<Record<string, any>, keyof BuffParameters> = object> extends UnitBehavior {
|
|
120
139
|
private _unit;
|
|
121
140
|
protected readonly __additionalParametersBrand?: AdditionalParameters;
|
|
122
141
|
private [BuffPropertyKey.UNIT];
|
|
@@ -138,6 +157,8 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
138
157
|
private [BuffPropertyKey.HEALING_INTERVAL]?;
|
|
139
158
|
private [BuffPropertyKey.REMAINING_HEALING_OVER_DURATION]?;
|
|
140
159
|
private [BuffPropertyKey.HEALING_INTERVAL_TIMER]?;
|
|
160
|
+
private [BuffPropertyKey.DAMAGE_ON_EXPIRATION]?;
|
|
161
|
+
private [BuffPropertyKey.HEALING_ON_EXPIRATION]?;
|
|
141
162
|
private [BuffPropertyKey.DAMAGE_UPON_DEATH_ALLOWED_TARGET_CLASSIFICATIONS]?;
|
|
142
163
|
private [BuffPropertyKey.DAMAGE_UPON_DEATH]?;
|
|
143
164
|
private [BuffPropertyKey.DAMAGE_UPON_DEATH_RANGE]?;
|
|
@@ -147,10 +168,16 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
147
168
|
private [BuffPropertyKey.SMALL_DAMAGE_UPON_DEATH_RANGE]?;
|
|
148
169
|
private [BuffPropertyKey.MAXIMUM_AUTO_ATTACK_COUNT]?;
|
|
149
170
|
private [BuffPropertyKey.AUTO_ATTACK_COUNT]?;
|
|
171
|
+
private [BuffPropertyKey.MAXIMUM_DAMAGE_DEALT_EVENT_COUNT]?;
|
|
172
|
+
private [BuffPropertyKey.DAMAGE_DEALT_EVENT_COUNT]?;
|
|
173
|
+
private [BuffPropertyKey.MAXIMUM_DAMAGE_RECEIVED_EVENT_COUNT]?;
|
|
174
|
+
private [BuffPropertyKey.DAMAGE_RECEIVED_EVENT_COUNT]?;
|
|
150
175
|
private [BuffPropertyKey.STUNS]?;
|
|
151
176
|
private [BuffPropertyKey.IGNORES_STUN_IMMUNITY]?;
|
|
152
177
|
private [BuffPropertyKey.DISABLES_AUTO_ATTACK]?;
|
|
153
178
|
private [BuffPropertyKey.PROVIDES_INVULNERABILITY]?;
|
|
179
|
+
private [BuffPropertyKey.KILLS_ON_EXPIRATION]?;
|
|
180
|
+
private [BuffPropertyKey.EXPLODES_ON_EXPIRATION]?;
|
|
154
181
|
protected static readonly defaultParameters: BuffParameters;
|
|
155
182
|
get source(): Unit;
|
|
156
183
|
readonly typeId: ApplicableBuffTypeId;
|
|
@@ -187,6 +214,12 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
187
214
|
set healingPerInterval(healingPerInterval: number);
|
|
188
215
|
get healingInterval(): number;
|
|
189
216
|
set healingInterval(healingInterval: number);
|
|
217
|
+
get damageOnExpiration(): number;
|
|
218
|
+
set damageOnExpiration(damageOnExpiration: number);
|
|
219
|
+
get healingOnExpiration(): number;
|
|
220
|
+
set healingOnExpiration(healingOnExpiration: number);
|
|
221
|
+
get damageFactor(): number;
|
|
222
|
+
set damageFactor(damageFactor: number);
|
|
190
223
|
get receivedDamageFactor(): number;
|
|
191
224
|
set receivedDamageFactor(receivedDamageFactor: number);
|
|
192
225
|
get armorIncrease(): number;
|
|
@@ -199,6 +232,14 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
199
232
|
set disablesAutoAttack(disablesAutoAttack: boolean);
|
|
200
233
|
get providesInvulnerability(): boolean;
|
|
201
234
|
set providesInvulnerability(providesInvulnerability: boolean);
|
|
235
|
+
get killsOnExpiration(): boolean;
|
|
236
|
+
set killsOnExpiration(killsOnExpiration: boolean);
|
|
237
|
+
get explodesOnExpiration(): boolean;
|
|
238
|
+
set explodesOnExpiration(killsOnExpiration: boolean);
|
|
239
|
+
get maximumDamageDealtEventCount(): number;
|
|
240
|
+
set maximumDamageDealtEventCount(maximumDamageDealtEventCount: number);
|
|
241
|
+
get maximumDamageReceivedEventCount(): number;
|
|
242
|
+
set maximumDamageReceivedEventCount(maximumDamageReceivedEventCount: number);
|
|
202
243
|
get maximumAutoAttackCount(): number;
|
|
203
244
|
set maximumAutoAttackCount(maximumAutoAttackCount: number);
|
|
204
245
|
get durationIncreaseOnAutoAttack(): number;
|
|
@@ -210,12 +251,18 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
210
251
|
get duration(): number;
|
|
211
252
|
get remainingDuration(): number;
|
|
212
253
|
set remainingDuration(remainingDuration: number);
|
|
213
|
-
flashEffect(...parameters: [
|
|
254
|
+
flashEffect(...parameters: [
|
|
255
|
+
...widgetOrXY: [] | [Widget] | [x: number, x: number],
|
|
256
|
+
...parametersOrDuration: [] | [EffectParameters] | [number]
|
|
257
|
+
]): void;
|
|
214
258
|
flashSpecialEffect(...parameters: [...widget: [] | [Widget], ...duration: [] | [number]]): void;
|
|
259
|
+
protected onCreate(): void;
|
|
215
260
|
protected onDestroy(): Destructor;
|
|
216
261
|
static apply<T extends Buff<any>, Args extends any[]>(this: BuffConstructor<T, Args>, ...args: Args): T | undefined;
|
|
217
262
|
static getByTypeId<T extends Buff<any>, Args extends any[]>(this: BuffConstructor<T, Args>, unit: Unit, typeId: ApplicableBuffTypeId): T | undefined;
|
|
263
|
+
onExpiration(): void;
|
|
218
264
|
onDeath(source: Unit | undefined): void;
|
|
219
265
|
onDamageDealt(target: Unit, event: DamageEvent): void;
|
|
266
|
+
onDamageReceived(source: Unit | undefined, event: DamageEvent): void;
|
|
220
267
|
}
|
|
221
268
|
export {};
|