warscript 0.0.1-dev.ccd5725 → 0.0.1-dev.ce2be36
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 +6 -1
- package/attributes.lua +17 -1
- 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 +117 -22
- 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/player.d.ts +15 -0
- package/core/types/player.lua +56 -14
- 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 +99 -24
- package/core/types/tileCell.d.ts +9 -0
- package/core/types/tileCell.lua +92 -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/engine/ability.d.ts +1 -1
- package/engine/behavior.d.ts +15 -10
- package/engine/behavior.lua +112 -33
- 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 +32 -0
- package/engine/behaviour/ability/apply-unit-behavior.d.ts +6 -1
- package/engine/behaviour/ability/apply-unit-behavior.lua +1 -0
- package/engine/behaviour/ability/damage.d.ts +39 -11
- package/engine/behaviour/ability/damage.lua +83 -37
- package/engine/behaviour/ability/emulate-impact.d.ts +6 -0
- package/engine/behaviour/ability/emulate-impact.lua +43 -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 +27 -4
- package/engine/behaviour/ability.lua +152 -26
- package/engine/behaviour/unit/stun-immunity.d.ts +7 -4
- package/engine/behaviour/unit/stun-immunity.lua +52 -27
- package/engine/behaviour/unit.d.ts +42 -2
- package/engine/behaviour/unit.lua +213 -0
- package/engine/buff.d.ts +113 -44
- package/engine/buff.lua +508 -217
- 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+owner.lua +12 -6
- package/engine/internal/item.d.ts +20 -19
- package/engine/internal/item.lua +191 -74
- package/engine/internal/mechanics/ability-duration.lua +1 -1
- 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/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/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/bonus.d.ts +11 -8
- package/engine/internal/unit/bonus.lua +23 -1
- 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/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+ability.lua +12 -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 +63 -13
- package/engine/internal/unit.d.ts +96 -24
- package/engine/internal/unit.lua +648 -214
- 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 +9 -2
- package/engine/local-client.lua +112 -0
- 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/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/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/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/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/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 +19 -18
- package/engine/object-data/entry/ability-type.lua +93 -36
- package/engine/object-data/entry/buff-type/applicable.d.ts +0 -1
- package/engine/object-data/entry/buff-type/applicable.lua +18 -37
- 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 +1 -2
- 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 +46 -7
- package/engine/object-data/entry/unit-type.lua +402 -75
- 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 +59 -5
- package/engine/object-field/unit.d.ts +57 -3
- package/engine/object-field/unit.lua +207 -7
- package/engine/object-field.d.ts +23 -7
- package/engine/object-field.lua +303 -114
- package/engine/random.d.ts +10 -0
- package/engine/random.lua +22 -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 +39 -1
- package/engine/standard/entries/unit-type.lua +39 -1
- package/engine/standard/fields/ability.d.ts +3 -1
- package/engine/standard/fields/ability.lua +3 -1
- package/engine/standard/fields/unit.d.ts +4 -0
- package/engine/standard/fields/unit.lua +7 -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 +4 -0
- package/engine/unit.lua +13 -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 +3 -4
- package/objutil/object.d.ts +0 -1
- package/objutil/unit.d.ts +0 -1
- package/objutil/unit.lua +8 -0
- package/package.json +13 -14
- package/patch-lua.d.ts +0 -0
- package/patch-lua.lua +10 -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-set.d.ts +13 -3
- package/utility/linked-set.lua +27 -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/reflection.lua +11 -7
- package/utility/types.d.ts +4 -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
|
@@ -1,13 +1,31 @@
|
|
|
1
1
|
local ____lualib = require("lualib_bundle")
|
|
2
2
|
local __TS__Class = ____lualib.__TS__Class
|
|
3
3
|
local __TS__ClassExtends = ____lualib.__TS__ClassExtends
|
|
4
|
+
local __TS__New = ____lualib.__TS__New
|
|
4
5
|
local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
|
|
5
6
|
local ____exports = {}
|
|
6
7
|
local ____behavior = require("engine.behavior")
|
|
7
8
|
local Behavior = ____behavior.Behavior
|
|
8
9
|
local ____unit = require("engine.internal.unit")
|
|
9
10
|
local Unit = ____unit.Unit
|
|
11
|
+
require("engine.internal.unit+ability")
|
|
10
12
|
require("engine.internal.unit-missile-launch")
|
|
13
|
+
local ____linked_2Dset = require("utility.linked-set")
|
|
14
|
+
local LinkedSet = ____linked_2Dset.LinkedSet
|
|
15
|
+
local ____lua_2Dmaps = require("utility.lua-maps")
|
|
16
|
+
local getOrPut = ____lua_2Dmaps.getOrPut
|
|
17
|
+
local mutableLuaMap = ____lua_2Dmaps.mutableLuaMap
|
|
18
|
+
local ____lua_2Dsets = require("utility.lua-sets")
|
|
19
|
+
local mutableLuaSet = ____lua_2Dsets.mutableLuaSet
|
|
20
|
+
local ____bonus = require("engine.internal.unit.bonus")
|
|
21
|
+
local addOrUpdateOrRemoveUnitBonus = ____bonus.addOrUpdateOrRemoveUnitBonus
|
|
22
|
+
local getUnitBonus = ____bonus.getUnitBonus
|
|
23
|
+
local removeUnitBonus = ____bonus.removeUnitBonus
|
|
24
|
+
local safeCall = warpack.safeCall
|
|
25
|
+
local behaviorsByEvent = {}
|
|
26
|
+
local rangeByBehaviorByEvent = {}
|
|
27
|
+
local listenerByBehaviorByEvent = {}
|
|
28
|
+
local eventsByBehavior = {}
|
|
11
29
|
____exports.UnitBehavior = __TS__Class()
|
|
12
30
|
local UnitBehavior = ____exports.UnitBehavior
|
|
13
31
|
UnitBehavior.name = "UnitBehavior"
|
|
@@ -15,10 +33,86 @@ __TS__ClassExtends(UnitBehavior, Behavior)
|
|
|
15
33
|
function UnitBehavior.prototype.____constructor(self, unit)
|
|
16
34
|
Behavior.prototype.____constructor(self, unit)
|
|
17
35
|
end
|
|
36
|
+
function UnitBehavior.prototype.onDestroy(self)
|
|
37
|
+
local events = eventsByBehavior[self]
|
|
38
|
+
if events ~= nil then
|
|
39
|
+
for event in pairs(events) do
|
|
40
|
+
local ____opt_0 = behaviorsByEvent[event]
|
|
41
|
+
if ____opt_0 ~= nil then
|
|
42
|
+
____opt_0:remove(self)
|
|
43
|
+
end
|
|
44
|
+
local ____opt_2 = rangeByBehaviorByEvent[event]
|
|
45
|
+
if ____opt_2 ~= nil then
|
|
46
|
+
____opt_2[self] = nil
|
|
47
|
+
end
|
|
48
|
+
local ____opt_4 = listenerByBehaviorByEvent[event]
|
|
49
|
+
if ____opt_4 ~= nil then
|
|
50
|
+
____opt_4[self] = nil
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
eventsByBehavior[self] = nil
|
|
54
|
+
end
|
|
55
|
+
if self._bonusIdByBonusType ~= nil then
|
|
56
|
+
for bonusType, bonusId in pairs(self._bonusIdByBonusType) do
|
|
57
|
+
removeUnitBonus(self.object, bonusType, bonusId)
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
return Behavior.prototype.onDestroy(self)
|
|
61
|
+
end
|
|
62
|
+
function UnitBehavior.prototype.getUnitBonus(self, bonusType)
|
|
63
|
+
local ____opt_6 = self._bonusIdByBonusType
|
|
64
|
+
local bonusId = ____opt_6 and ____opt_6[bonusType]
|
|
65
|
+
return bonusId == nil and 0 or getUnitBonus(self.object, bonusType, bonusId)
|
|
66
|
+
end
|
|
67
|
+
function UnitBehavior.prototype.addOrUpdateOrRemoveUnitBonus(self, bonusType, value)
|
|
68
|
+
local bonusIdByBonusType = self._bonusIdByBonusType
|
|
69
|
+
if bonusIdByBonusType == nil then
|
|
70
|
+
bonusIdByBonusType = {}
|
|
71
|
+
self._bonusIdByBonusType = bonusIdByBonusType
|
|
72
|
+
end
|
|
73
|
+
bonusIdByBonusType[bonusType] = addOrUpdateOrRemoveUnitBonus(self.object, bonusType, bonusIdByBonusType[bonusType], value)
|
|
74
|
+
end
|
|
75
|
+
function UnitBehavior.prototype.registerInRangeUnitEvent(self, event, extractUnit, range, listener)
|
|
76
|
+
local rangeByBehavior = getOrPut(rangeByBehaviorByEvent, event, mutableLuaMap)
|
|
77
|
+
rangeByBehavior[self] = range
|
|
78
|
+
local listenerByBehavior = getOrPut(listenerByBehaviorByEvent, event, mutableLuaMap)
|
|
79
|
+
listenerByBehavior[self] = listener
|
|
80
|
+
getOrPut(eventsByBehavior, self, mutableLuaSet)[event] = true
|
|
81
|
+
local behaviors = behaviorsByEvent[event]
|
|
82
|
+
if behaviors == nil then
|
|
83
|
+
event:addListener(function(...)
|
|
84
|
+
local behaviors = behaviorsByEvent[event]
|
|
85
|
+
if behaviors ~= nil then
|
|
86
|
+
local unit = extractUnit(...)
|
|
87
|
+
if unit ~= nil then
|
|
88
|
+
for behavior in pairs(behaviors) do
|
|
89
|
+
local range = rangeByBehavior[behavior]
|
|
90
|
+
if range ~= nil and unit:getCollisionDistanceTo(behavior.unit) <= range then
|
|
91
|
+
safeCall(behavior[listenerByBehavior[behavior]], behavior, ...)
|
|
92
|
+
end
|
|
93
|
+
end
|
|
94
|
+
end
|
|
95
|
+
end
|
|
96
|
+
end)
|
|
97
|
+
behaviors = __TS__New(LinkedSet)
|
|
98
|
+
behaviorsByEvent[event] = behaviors
|
|
99
|
+
end
|
|
100
|
+
behaviors:add(self)
|
|
101
|
+
end
|
|
102
|
+
function UnitBehavior.prototype.onImmediateOrder(self, orderId)
|
|
103
|
+
end
|
|
104
|
+
function UnitBehavior.prototype.onTargetOrder(self, orderId, target)
|
|
105
|
+
end
|
|
106
|
+
function UnitBehavior.prototype.onPointOrder(self, orderId, x, y)
|
|
107
|
+
end
|
|
18
108
|
function UnitBehavior.prototype.onAutoAttackStart(self, target)
|
|
19
109
|
end
|
|
20
110
|
function UnitBehavior.prototype.onAutoAttackFinish(self, target)
|
|
21
111
|
end
|
|
112
|
+
function UnitBehavior.prototype.onTargetingAutoAttackStart(self, source)
|
|
113
|
+
end
|
|
114
|
+
function UnitBehavior.prototype.onTargetingAutoAttackFinish(self, source)
|
|
115
|
+
end
|
|
22
116
|
function UnitBehavior.prototype.onDamageDealing(self, target, event)
|
|
23
117
|
end
|
|
24
118
|
function UnitBehavior.prototype.onDamageDealt(self, target, event)
|
|
@@ -31,10 +125,48 @@ function UnitBehavior.prototype.onAbilityGained(self, ability)
|
|
|
31
125
|
end
|
|
32
126
|
function UnitBehavior.prototype.onAbilityLost(self, ability)
|
|
33
127
|
end
|
|
128
|
+
function UnitBehavior.prototype.onAbilityChannelingStart(self, ability)
|
|
129
|
+
end
|
|
130
|
+
function UnitBehavior.prototype.onAbilityImpact(self, ability)
|
|
131
|
+
end
|
|
132
|
+
function UnitBehavior.prototype.onAbilityWidgetTargetImpact(self, ability, target)
|
|
133
|
+
end
|
|
134
|
+
function UnitBehavior.prototype.onAbilityUnitTargetImpact(self, ability, target)
|
|
135
|
+
end
|
|
136
|
+
function UnitBehavior.prototype.onAbilityItemTargetImpact(self, ability, target)
|
|
137
|
+
end
|
|
138
|
+
function UnitBehavior.prototype.onAbilityDestructibleTargetImpact(self, ability, target)
|
|
139
|
+
end
|
|
140
|
+
function UnitBehavior.prototype.onAbilityPointTargetImpact(self, ability, x, y)
|
|
141
|
+
end
|
|
142
|
+
function UnitBehavior.prototype.onAbilityNoTargetImpact(self, ability)
|
|
143
|
+
end
|
|
144
|
+
function UnitBehavior.prototype.onAbilityChannelingFinish(self, ability)
|
|
145
|
+
end
|
|
146
|
+
function UnitBehavior.prototype.onAbilityStop(self, ability)
|
|
147
|
+
end
|
|
148
|
+
function UnitBehavior.prototype.onTargetingAbilityChannelingStart(self, ability, source)
|
|
149
|
+
end
|
|
150
|
+
function UnitBehavior.prototype.onTargetingAbilityImpact(self, ability, source)
|
|
151
|
+
end
|
|
152
|
+
function UnitBehavior.prototype.onBuffGained(self, buff)
|
|
153
|
+
end
|
|
154
|
+
function UnitBehavior.prototype.onItemDropped(self, item)
|
|
155
|
+
end
|
|
156
|
+
function UnitBehavior.prototype.onItemPickedUp(self, item)
|
|
157
|
+
end
|
|
158
|
+
function UnitBehavior.prototype.onItemUsed(self, item)
|
|
159
|
+
end
|
|
160
|
+
function UnitBehavior.prototype.onItemStacked(self, item)
|
|
161
|
+
end
|
|
162
|
+
function UnitBehavior.prototype.onItemChargesChanged(self, item)
|
|
163
|
+
end
|
|
34
164
|
function UnitBehavior.prototype.onKill(self, target)
|
|
35
165
|
end
|
|
36
166
|
function UnitBehavior.prototype.onDeath(self, source)
|
|
37
167
|
end
|
|
168
|
+
function UnitBehavior.prototype.onOwnerChange(self, previousOwner)
|
|
169
|
+
end
|
|
38
170
|
__TS__SetDescriptor(
|
|
39
171
|
UnitBehavior.prototype,
|
|
40
172
|
"unit",
|
|
@@ -44,11 +176,28 @@ __TS__SetDescriptor(
|
|
|
44
176
|
true
|
|
45
177
|
);
|
|
46
178
|
(function(self)
|
|
179
|
+
Unit.onImmediateOrder:addListener(function(source, orderId)
|
|
180
|
+
____exports.UnitBehavior:forAll(source, "onImmediateOrder", orderId)
|
|
181
|
+
end)
|
|
182
|
+
Unit.onTargetOrder:addListener(function(source, orderId, target)
|
|
183
|
+
____exports.UnitBehavior:forAll(source, "onTargetOrder", orderId, target)
|
|
184
|
+
end)
|
|
185
|
+
Unit.onPointOrder:addListener(function(source, orderId, x, y)
|
|
186
|
+
____exports.UnitBehavior:forAll(
|
|
187
|
+
source,
|
|
188
|
+
"onPointOrder",
|
|
189
|
+
orderId,
|
|
190
|
+
x,
|
|
191
|
+
y
|
|
192
|
+
)
|
|
193
|
+
end)
|
|
47
194
|
Unit.autoAttackStartEvent:addListener(function(source, target)
|
|
48
195
|
____exports.UnitBehavior:forAll(source, "onAutoAttackStart", target)
|
|
196
|
+
____exports.UnitBehavior:forAll(target, "onTargetingAutoAttackStart", source)
|
|
49
197
|
end)
|
|
50
198
|
Unit.autoAttackFinishEvent:addListener(function(source, target)
|
|
51
199
|
____exports.UnitBehavior:forAll(source, "onAutoAttackFinish", target)
|
|
200
|
+
____exports.UnitBehavior:forAll(target, "onTargetingAutoAttackFinish", source)
|
|
52
201
|
end)
|
|
53
202
|
Unit.onDamaging:addListener(function(source, target, event)
|
|
54
203
|
if source ~= nil then
|
|
@@ -62,12 +211,76 @@ __TS__SetDescriptor(
|
|
|
62
211
|
end
|
|
63
212
|
____exports.UnitBehavior:forAll(target, "onDamageReceived", source, event)
|
|
64
213
|
end)
|
|
214
|
+
Unit.abilityGainedEvent:addListener(function(source, ability)
|
|
215
|
+
____exports.UnitBehavior:forAll(source, "onAbilityGained", ability)
|
|
216
|
+
end)
|
|
217
|
+
Unit.abilityLostEvent:addListener(function(source, ability)
|
|
218
|
+
____exports.UnitBehavior:forAll(source, "onAbilityLost", ability)
|
|
219
|
+
end)
|
|
220
|
+
Unit.abilityChannelingStartEvent:addListener(function(source, ability)
|
|
221
|
+
____exports.UnitBehavior:forAll(source, "onAbilityChannelingStart", ability)
|
|
222
|
+
end)
|
|
223
|
+
Unit.abilityUnitTargetChannelingStartEvent:addListener(function(source, ability, target)
|
|
224
|
+
____exports.UnitBehavior:forAll(target, "onTargetingAbilityChannelingStart", ability, source)
|
|
225
|
+
end)
|
|
226
|
+
Unit.abilityImpactEvent:addListener(function(source, ability)
|
|
227
|
+
____exports.UnitBehavior:forAll(source, "onAbilityImpact", ability)
|
|
228
|
+
end)
|
|
229
|
+
Unit.abilityWidgetTargetImpactEvent:addListener(function(source, ability, target)
|
|
230
|
+
____exports.UnitBehavior:forAll(source, "onAbilityWidgetTargetImpact", ability, target)
|
|
231
|
+
end)
|
|
232
|
+
Unit.abilityUnitTargetImpactEvent:addListener(function(source, ability, target)
|
|
233
|
+
____exports.UnitBehavior:forAll(source, "onAbilityUnitTargetImpact", ability, target)
|
|
234
|
+
____exports.UnitBehavior:forAll(target, "onTargetingAbilityImpact", ability, source)
|
|
235
|
+
end)
|
|
236
|
+
Unit.abilityItemTargetImpactEvent:addListener(function(source, ability, target)
|
|
237
|
+
____exports.UnitBehavior:forAll(source, "onAbilityItemTargetImpact", ability, target)
|
|
238
|
+
end)
|
|
239
|
+
Unit.abilityDestructibleTargetImpactEvent:addListener(function(source, ability, target)
|
|
240
|
+
____exports.UnitBehavior:forAll(source, "onAbilityDestructibleTargetImpact", ability, target)
|
|
241
|
+
end)
|
|
242
|
+
Unit.abilityPointTargetImpactEvent:addListener(function(source, ability, x, y)
|
|
243
|
+
____exports.UnitBehavior:forAll(
|
|
244
|
+
source,
|
|
245
|
+
"onAbilityPointTargetImpact",
|
|
246
|
+
ability,
|
|
247
|
+
x,
|
|
248
|
+
y
|
|
249
|
+
)
|
|
250
|
+
end)
|
|
251
|
+
Unit.abilityNoTargetImpactEvent:addListener(function(source, ability)
|
|
252
|
+
____exports.UnitBehavior:forAll(source, "onAbilityNoTargetImpact", ability)
|
|
253
|
+
end)
|
|
254
|
+
Unit.abilityChannelingFinishEvent:addListener(function(source, ability)
|
|
255
|
+
____exports.UnitBehavior:forAll(source, "onAbilityChannelingFinish", ability)
|
|
256
|
+
end)
|
|
257
|
+
Unit.abilityStopEvent:addListener(function(source, ability)
|
|
258
|
+
____exports.UnitBehavior:forAll(source, "onAbilityStop", ability)
|
|
259
|
+
end)
|
|
65
260
|
Unit.deathEvent:addListener(function(target, source)
|
|
66
261
|
if source ~= nil then
|
|
67
262
|
____exports.UnitBehavior:forAll(source, "onKill", target)
|
|
68
263
|
end
|
|
69
264
|
____exports.UnitBehavior:forAll(target, "onDeath", source)
|
|
70
265
|
end)
|
|
266
|
+
Unit.itemDroppedEvent:addListener(function(unit, item)
|
|
267
|
+
____exports.UnitBehavior:forAll(unit, "onItemDropped", item)
|
|
268
|
+
end)
|
|
269
|
+
Unit.itemPickedUpEvent:addListener(function(unit, item)
|
|
270
|
+
____exports.UnitBehavior:forAll(unit, "onItemPickedUp", item)
|
|
271
|
+
end)
|
|
272
|
+
Unit.itemUsedEvent:addListener(function(unit, item)
|
|
273
|
+
____exports.UnitBehavior:forAll(unit, "onItemUsed", item)
|
|
274
|
+
end)
|
|
275
|
+
Unit.itemStackedEvent:addListener(function(unit, item)
|
|
276
|
+
____exports.UnitBehavior:forAll(unit, "onItemStacked", item)
|
|
277
|
+
end)
|
|
278
|
+
Unit.itemChargesChangedEvent:addListener(function(unit, item)
|
|
279
|
+
____exports.UnitBehavior:forAll(unit, "onItemChargesChanged", item)
|
|
280
|
+
end)
|
|
281
|
+
Unit.onOwnerChange:addListener(function(unit, previousOwner)
|
|
282
|
+
____exports.UnitBehavior:forAll(unit, "onOwnerChange", previousOwner)
|
|
283
|
+
end)
|
|
71
284
|
end)(UnitBehavior)
|
|
72
285
|
Unit.destroyEvent:addListener(function(unit)
|
|
73
286
|
____exports.UnitBehavior:forAll(unit, "destroy")
|
package/engine/buff.d.ts
CHANGED
|
@@ -5,16 +5,21 @@ 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";
|
|
14
16
|
export type BuffConstructor<T extends Buff<any> = Buff<any>, Args extends any[] = any> = OmitConstructor<typeof Buff<any>> & (new (...args: Args) => T);
|
|
17
|
+
type EnumParameterValueType<T extends number> = T | AbilityEnumLevelField<T>;
|
|
15
18
|
type NumberParameterValueType = number | AbilityNumberField | AbilityNumberLevelField;
|
|
16
19
|
type IntegerParameterValueType = number | AbilityIntegerField | AbilityIntegerLevelField;
|
|
17
20
|
type BooleanParameterValueType = boolean | AbilityBooleanField | AbilityBooleanLevelField;
|
|
21
|
+
export type BuffPolarityParameterType = EnumParameterValueType<BuffPolarity>;
|
|
22
|
+
export type BuffResistanceTypeParameterType = EnumParameterValueType<BuffResistanceType>;
|
|
18
23
|
export declare class BuffUniqueGroup {
|
|
19
24
|
}
|
|
20
25
|
export type BuffParameters<T extends Buff<any> = Buff> = Buff extends T ? {
|
|
@@ -51,11 +56,15 @@ export type BuffParameters<T extends Buff<any> = Buff> = Buff extends T ? {
|
|
|
51
56
|
armorIncreaseFactor?: NumberParameterValueType;
|
|
52
57
|
attackSpeedIncreaseFactor?: NumberParameterValueType;
|
|
53
58
|
movementSpeedIncreaseFactor?: NumberParameterValueType;
|
|
59
|
+
evasionProbability?: NumberParameterValueType;
|
|
60
|
+
missProbability?: NumberParameterValueType;
|
|
61
|
+
damageFactor?: NumberParameterValueType;
|
|
54
62
|
receivedDamageFactor?: NumberParameterValueType;
|
|
55
63
|
receivedMagicDamageFactor?: NumberParameterValueType;
|
|
56
64
|
durationIncreaseOnAutoAttack?: NumberParameterValueType;
|
|
57
65
|
maximumRemainingDuration?: NumberParameterValueType;
|
|
58
66
|
maximumDuration?: NumberParameterValueType;
|
|
67
|
+
turnsIntoGhost?: BooleanParameterValueType;
|
|
59
68
|
stuns?: BooleanParameterValueType;
|
|
60
69
|
ignoresStunImmunity?: BooleanParameterValueType;
|
|
61
70
|
providesStunImmunity?: BooleanParameterValueType;
|
|
@@ -64,41 +73,61 @@ export type BuffParameters<T extends Buff<any> = Buff> = Buff extends T ? {
|
|
|
64
73
|
disablesAutoAttack?: BooleanParameterValueType;
|
|
65
74
|
destroysOnDamage?: BooleanParameterValueType;
|
|
66
75
|
maximumAutoAttackCount?: IntegerParameterValueType;
|
|
76
|
+
maximumDamageDealtEventCount?: IntegerParameterValueType;
|
|
77
|
+
maximumDamageReceivedEventCount?: IntegerParameterValueType;
|
|
78
|
+
damageOnExpiration?: NumberParameterValueType;
|
|
79
|
+
healingOnExpiration?: NumberParameterValueType;
|
|
80
|
+
killsOnExpiration?: BooleanParameterValueType;
|
|
81
|
+
explodesOnExpiration?: BooleanParameterValueType;
|
|
82
|
+
abilityCooldownFactor?: NumberParameterValueType;
|
|
67
83
|
uniqueGroup?: BuffUniqueGroup;
|
|
68
|
-
} : BuffParameters & (T extends Buff<infer AdditionalParameters> ? AdditionalParameters :
|
|
84
|
+
} : BuffParameters & (T extends Buff<infer AdditionalParameters> ? AdditionalParameters : object);
|
|
69
85
|
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
|
-
|
|
86
|
+
STATE = 100,
|
|
87
|
+
UNIT = 101,
|
|
88
|
+
SOURCE = 102,
|
|
89
|
+
DURATION = 103,
|
|
90
|
+
UNIQUE_GROUP = 104,
|
|
91
|
+
EFFECT_MODEL_PATH = 105,
|
|
92
|
+
SPECIAL_EFFECT_MODEL_PATH = 106,
|
|
93
|
+
DURATION_INCREASE_ON_AUTO_ATTACK = 107,
|
|
94
|
+
MAXIMUM_DURATION = 108,
|
|
95
|
+
MAXIMUM_REMAINING_DURATION = 109,
|
|
96
|
+
DAMAGE_OVER_DURATION = 110,
|
|
97
|
+
DAMAGE_PER_INTERVAL = 111,
|
|
98
|
+
DAMAGE_INTERVAL = 112,
|
|
99
|
+
REMAINING_DAMAGE_OVER_DURATION = 113,
|
|
100
|
+
DAMAGE_INTERVAL_TIMER = 114,
|
|
101
|
+
HEALING_OVER_DURATION = 115,
|
|
102
|
+
HEALING_PER_INTERVAL = 116,
|
|
103
|
+
HEALING_INTERVAL = 117,
|
|
104
|
+
REMAINING_HEALING_OVER_DURATION = 118,
|
|
105
|
+
HEALING_INTERVAL_TIMER = 119,
|
|
106
|
+
DAMAGE_ON_EXPIRATION = 120,
|
|
107
|
+
HEALING_ON_EXPIRATION = 121,
|
|
108
|
+
DAMAGE_UPON_DEATH_ALLOWED_TARGET_CLASSIFICATIONS = 122,
|
|
109
|
+
DAMAGE_UPON_DEATH = 123,
|
|
110
|
+
DAMAGE_UPON_DEATH_RANGE = 124,
|
|
111
|
+
MEDIUM_DAMAGE_UPON_DEATH = 125,
|
|
112
|
+
MEDIUM_DAMAGE_UPON_DEATH_RANGE = 126,
|
|
113
|
+
SMALL_DAMAGE_UPON_DEATH = 127,
|
|
114
|
+
SMALL_DAMAGE_UPON_DEATH_RANGE = 128,
|
|
115
|
+
AUTO_ATTACK_COUNT = 129,
|
|
116
|
+
MAXIMUM_AUTO_ATTACK_COUNT = 130,
|
|
117
|
+
DAMAGE_DEALT_EVENT_COUNT = 131,
|
|
118
|
+
MAXIMUM_DAMAGE_DEALT_EVENT_COUNT = 132,
|
|
119
|
+
DAMAGE_RECEIVED_EVENT_COUNT = 133,
|
|
120
|
+
MAXIMUM_DAMAGE_RECEIVED_EVENT_COUNT = 134,
|
|
121
|
+
TURNS_INTO_GHOST = 135,
|
|
122
|
+
STUNS = 136,
|
|
123
|
+
IGNORES_STUN_IMMUNITY = 137,
|
|
124
|
+
DISABLES_AUTO_ATTACK = 138,
|
|
125
|
+
PROVIDES_INVULNERABILITY = 139,
|
|
126
|
+
KILLS_ON_EXPIRATION = 140,
|
|
127
|
+
EXPLODES_ON_EXPIRATION = 141,
|
|
128
|
+
MISS_PROBABILITY = 142,
|
|
129
|
+
ABILITY_COOLDOWN_FACTOR = 143,
|
|
130
|
+
ABILITY_COOLDOWN_MODIFIER = 144
|
|
102
131
|
}
|
|
103
132
|
export declare const enum BuffTypeIdSelectionPolicy {
|
|
104
133
|
LEAST_DURATION = 0
|
|
@@ -106,19 +135,20 @@ export declare const enum BuffTypeIdSelectionPolicy {
|
|
|
106
135
|
export type BuffAdditionalParameters = Prohibit<Record<string, any>, keyof BuffParameters>;
|
|
107
136
|
export type BuffConstructorParameters<AdditionalParameters extends BuffAdditionalParameters> = [
|
|
108
137
|
...typeId: [ApplicableBuffTypeId] | [
|
|
109
|
-
typeIds:
|
|
138
|
+
typeIds: ReadonlyNonEmptyArray<ApplicableBuffTypeId>,
|
|
110
139
|
typeIdSelectionPolicy: BuffTypeIdSelectionPolicy
|
|
111
140
|
],
|
|
112
|
-
polarity:
|
|
113
|
-
resistanceType:
|
|
141
|
+
polarity: BuffPolarityParameterType,
|
|
142
|
+
resistanceType: BuffResistanceTypeParameterType,
|
|
114
143
|
...abilityOrParameters: [
|
|
115
|
-
ability
|
|
144
|
+
ability?: Ability,
|
|
116
145
|
parameters?: BuffParameters & Omit<AdditionalParameters, keyof BuffParameters>
|
|
117
146
|
] | [parameters?: BuffParameters & Omit<AdditionalParameters, keyof BuffParameters>]
|
|
118
147
|
];
|
|
119
|
-
export declare class Buff<AdditionalParameters extends Prohibit<Record<string, any>, keyof BuffParameters> =
|
|
148
|
+
export declare class Buff<AdditionalParameters extends Prohibit<Record<string, any>, keyof BuffParameters> = object> extends UnitBehavior {
|
|
120
149
|
private _unit;
|
|
121
150
|
protected readonly __additionalParametersBrand?: AdditionalParameters;
|
|
151
|
+
private [BuffPropertyKey.STATE];
|
|
122
152
|
private [BuffPropertyKey.UNIT];
|
|
123
153
|
private [BuffPropertyKey.SOURCE]?;
|
|
124
154
|
private [BuffPropertyKey.DURATION];
|
|
@@ -138,6 +168,8 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
138
168
|
private [BuffPropertyKey.HEALING_INTERVAL]?;
|
|
139
169
|
private [BuffPropertyKey.REMAINING_HEALING_OVER_DURATION]?;
|
|
140
170
|
private [BuffPropertyKey.HEALING_INTERVAL_TIMER]?;
|
|
171
|
+
private [BuffPropertyKey.DAMAGE_ON_EXPIRATION]?;
|
|
172
|
+
private [BuffPropertyKey.HEALING_ON_EXPIRATION]?;
|
|
141
173
|
private [BuffPropertyKey.DAMAGE_UPON_DEATH_ALLOWED_TARGET_CLASSIFICATIONS]?;
|
|
142
174
|
private [BuffPropertyKey.DAMAGE_UPON_DEATH]?;
|
|
143
175
|
private [BuffPropertyKey.DAMAGE_UPON_DEATH_RANGE]?;
|
|
@@ -147,10 +179,19 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
147
179
|
private [BuffPropertyKey.SMALL_DAMAGE_UPON_DEATH_RANGE]?;
|
|
148
180
|
private [BuffPropertyKey.MAXIMUM_AUTO_ATTACK_COUNT]?;
|
|
149
181
|
private [BuffPropertyKey.AUTO_ATTACK_COUNT]?;
|
|
182
|
+
private [BuffPropertyKey.MAXIMUM_DAMAGE_DEALT_EVENT_COUNT]?;
|
|
183
|
+
private [BuffPropertyKey.DAMAGE_DEALT_EVENT_COUNT]?;
|
|
184
|
+
private [BuffPropertyKey.MAXIMUM_DAMAGE_RECEIVED_EVENT_COUNT]?;
|
|
185
|
+
private [BuffPropertyKey.DAMAGE_RECEIVED_EVENT_COUNT]?;
|
|
186
|
+
private [BuffPropertyKey.TURNS_INTO_GHOST]?;
|
|
150
187
|
private [BuffPropertyKey.STUNS]?;
|
|
151
188
|
private [BuffPropertyKey.IGNORES_STUN_IMMUNITY]?;
|
|
152
189
|
private [BuffPropertyKey.DISABLES_AUTO_ATTACK]?;
|
|
153
190
|
private [BuffPropertyKey.PROVIDES_INVULNERABILITY]?;
|
|
191
|
+
private [BuffPropertyKey.KILLS_ON_EXPIRATION]?;
|
|
192
|
+
private [BuffPropertyKey.EXPLODES_ON_EXPIRATION]?;
|
|
193
|
+
private [BuffPropertyKey.ABILITY_COOLDOWN_FACTOR]?;
|
|
194
|
+
private [BuffPropertyKey.ABILITY_COOLDOWN_MODIFIER]?;
|
|
154
195
|
protected static readonly defaultParameters: BuffParameters;
|
|
155
196
|
get source(): Unit;
|
|
156
197
|
readonly typeId: ApplicableBuffTypeId;
|
|
@@ -164,11 +205,9 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
164
205
|
private readonly _level?;
|
|
165
206
|
private readonly _spellStealPriority?;
|
|
166
207
|
private readonly _learnLevelMinimum?;
|
|
167
|
-
private
|
|
208
|
+
private readonly [BuffPropertyKey.MISS_PROBABILITY]?;
|
|
168
209
|
private readonly _abilityTypeIds?;
|
|
169
210
|
private _behaviors?;
|
|
170
|
-
private getUnitBonus;
|
|
171
|
-
private addOrUpdateOrRemoveUnitBonus;
|
|
172
211
|
constructor(target: Unit, ...parameters: BuffConstructorParameters<AdditionalParameters>);
|
|
173
212
|
get level(): number;
|
|
174
213
|
get remainingDamageOverDuration(): number;
|
|
@@ -187,10 +226,18 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
187
226
|
set healingPerInterval(healingPerInterval: number);
|
|
188
227
|
get healingInterval(): number;
|
|
189
228
|
set healingInterval(healingInterval: number);
|
|
229
|
+
get damageOnExpiration(): number;
|
|
230
|
+
set damageOnExpiration(damageOnExpiration: number);
|
|
231
|
+
get healingOnExpiration(): number;
|
|
232
|
+
set healingOnExpiration(healingOnExpiration: number);
|
|
233
|
+
get damageFactor(): number;
|
|
234
|
+
set damageFactor(damageFactor: number);
|
|
190
235
|
get receivedDamageFactor(): number;
|
|
191
236
|
set receivedDamageFactor(receivedDamageFactor: number);
|
|
192
237
|
get armorIncrease(): number;
|
|
193
238
|
set armorIncrease(armorIncrease: number);
|
|
239
|
+
get turnsIntoGhost(): boolean;
|
|
240
|
+
set turnsIntoGhost(turnsIntoGhost: boolean);
|
|
194
241
|
get stuns(): boolean;
|
|
195
242
|
set stuns(stuns: boolean);
|
|
196
243
|
get ignoresStunImmunity(): boolean;
|
|
@@ -199,6 +246,14 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
199
246
|
set disablesAutoAttack(disablesAutoAttack: boolean);
|
|
200
247
|
get providesInvulnerability(): boolean;
|
|
201
248
|
set providesInvulnerability(providesInvulnerability: boolean);
|
|
249
|
+
get killsOnExpiration(): boolean;
|
|
250
|
+
set killsOnExpiration(killsOnExpiration: boolean);
|
|
251
|
+
get explodesOnExpiration(): boolean;
|
|
252
|
+
set explodesOnExpiration(killsOnExpiration: boolean);
|
|
253
|
+
get maximumDamageDealtEventCount(): number;
|
|
254
|
+
set maximumDamageDealtEventCount(maximumDamageDealtEventCount: number);
|
|
255
|
+
get maximumDamageReceivedEventCount(): number;
|
|
256
|
+
set maximumDamageReceivedEventCount(maximumDamageReceivedEventCount: number);
|
|
202
257
|
get maximumAutoAttackCount(): number;
|
|
203
258
|
set maximumAutoAttackCount(maximumAutoAttackCount: number);
|
|
204
259
|
get durationIncreaseOnAutoAttack(): number;
|
|
@@ -207,15 +262,29 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
|
|
|
207
262
|
set attackSpeedIncreaseFactor(attackSpeedIncreaseFactor: number);
|
|
208
263
|
get movementSpeedIncreaseFactor(): number;
|
|
209
264
|
set movementSpeedIncreaseFactor(movementSpeedIncreaseFactor: number);
|
|
265
|
+
get evasionProbability(): number;
|
|
266
|
+
set evasionProbability(evasionProbability: number);
|
|
210
267
|
get duration(): number;
|
|
211
268
|
get remainingDuration(): number;
|
|
212
269
|
set remainingDuration(remainingDuration: number);
|
|
213
|
-
|
|
270
|
+
get abilityCooldownFactor(): number;
|
|
271
|
+
set abilityCooldownFactor(abilityCooldownFactor: number);
|
|
272
|
+
onAbilityGained(ability: Ability): void;
|
|
273
|
+
onAbilityLost(ability: Ability): void;
|
|
274
|
+
flashEffect(...parameters: [
|
|
275
|
+
...widgetOrXY: [] | [Widget] | [x: number, x: number],
|
|
276
|
+
...parametersOrDuration: [] | [EffectParameters] | [number]
|
|
277
|
+
]): void;
|
|
214
278
|
flashSpecialEffect(...parameters: [...widget: [] | [Widget], ...duration: [] | [number]]): void;
|
|
279
|
+
protected onCreate(): void;
|
|
215
280
|
protected onDestroy(): Destructor;
|
|
216
281
|
static apply<T extends Buff<any>, Args extends any[]>(this: BuffConstructor<T, Args>, ...args: Args): T | undefined;
|
|
217
282
|
static getByTypeId<T extends Buff<any>, Args extends any[]>(this: BuffConstructor<T, Args>, unit: Unit, typeId: ApplicableBuffTypeId): T | undefined;
|
|
283
|
+
onExpiration(): void;
|
|
218
284
|
onDeath(source: Unit | undefined): void;
|
|
219
285
|
onDamageDealt(target: Unit, event: DamageEvent): void;
|
|
286
|
+
onDamageReceived(source: Unit | undefined, event: DamageEvent): void;
|
|
287
|
+
static readonly createdEvent: Event<[Buff<object>]>;
|
|
288
|
+
static readonly beingDestroyedEvent: Event<[Buff<object>]>;
|
|
220
289
|
}
|
|
221
290
|
export {};
|