warscript 0.0.1-dev.9cbb1ff → 0.0.1-dev.9e6f20e
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 -0
- package/attributes.lua +17 -1
- package/core/types/frame.d.ts +1 -0
- package/core/types/frame.lua +136 -58
- package/core/types/handle.lua +6 -9
- package/core/types/item.d.ts +1 -0
- package/core/types/item.lua +1 -0
- 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.lua +1 -1
- package/core/types/tileCell.d.ts +11 -1
- package/core/types/tileCell.lua +97 -0
- package/core/types/timer.d.ts +3 -1
- package/core/types/timer.lua +27 -2
- package/decl/native.d.ts +846 -790
- package/destroyable.d.ts +1 -0
- package/destroyable.lua +9 -0
- package/engine/behavior.d.ts +14 -1
- package/engine/behavior.lua +230 -70
- package/engine/behaviour/ability/apply-buff.lua +5 -5
- package/engine/behaviour/ability/damage.d.ts +9 -3
- package/engine/behaviour/ability/damage.lua +31 -37
- package/engine/behaviour/ability/emulate-impact.d.ts +1 -1
- package/engine/behaviour/ability/emulate-impact.lua +16 -7
- package/engine/behaviour/ability/remove-buffs.d.ts +9 -0
- package/engine/behaviour/ability/remove-buffs.lua +21 -0
- package/engine/behaviour/ability/restore-mana.d.ts +1 -1
- package/engine/behaviour/ability/restore-mana.lua +6 -6
- package/engine/behaviour/ability.d.ts +11 -6
- package/engine/behaviour/ability.lua +38 -17
- package/engine/behaviour/unit/stun-immunity.d.ts +12 -6
- package/engine/behaviour/unit/stun-immunity.lua +57 -31
- package/engine/behaviour/unit.d.ts +39 -3
- package/engine/behaviour/unit.lua +269 -6
- package/engine/buff.d.ts +67 -22
- package/engine/buff.lua +371 -182
- package/engine/internal/ability.d.ts +7 -1
- package/engine/internal/ability.lua +64 -24
- package/engine/internal/item/ability.lua +63 -11
- 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 -16
- package/engine/internal/item.lua +152 -69
- package/engine/internal/mechanics/cast-ability.lua +6 -3
- 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/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 +35 -0
- package/engine/internal/unit/ability.lua +113 -12
- 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 +6 -0
- package/engine/internal/unit/bonus.lua +33 -3
- package/engine/internal/unit/buff.d.ts +2 -2
- package/engine/internal/unit/buff.lua +32 -17
- package/engine/internal/unit/fly-height.d.ts +7 -0
- package/engine/internal/unit/fly-height.lua +20 -0
- package/engine/internal/unit/interrupts.d.ts +12 -0
- package/engine/internal/unit/interrupts.lua +28 -0
- package/engine/internal/unit/main-selected.lua +12 -27
- package/engine/internal/unit/order.d.ts +20 -0
- package/engine/internal/unit/order.lua +136 -0
- package/engine/internal/unit/pseudo-passive-abilities.d.ts +2 -0
- package/engine/internal/unit/pseudo-passive-abilities.lua +11 -0
- package/engine/internal/unit/range-event.d.ts +12 -0
- package/engine/internal/unit/range-event.lua +90 -0
- package/engine/internal/unit/scale.d.ts +7 -0
- package/engine/internal/unit/scale.lua +20 -0
- package/engine/internal/unit+ability.lua +10 -1
- package/engine/internal/unit+bonus.lua +3 -3
- package/engine/internal/unit+damage.d.ts +2 -11
- package/engine/internal/unit+damage.lua +10 -14
- package/engine/internal/unit+spellSteal.lua +1 -2
- package/engine/internal/unit-missile-launch.lua +52 -14
- package/engine/internal/unit.d.ts +34 -27
- package/engine/internal/unit.lua +365 -273
- package/engine/local-client.d.ts +7 -0
- package/engine/local-client.lua +86 -1
- 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/attack-type.d.ts +7 -8
- package/engine/object-data/auxiliary/attack-type.lua +42 -0
- package/engine/object-data/auxiliary/health-regeneration-type.d.ts +8 -0
- package/engine/object-data/auxiliary/health-regeneration-type.lua +2 -0
- package/engine/object-data/auxiliary/unit-attribute.lua +1 -1
- 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/blank-configurable.d.ts +3 -0
- package/engine/object-data/entry/ability-type/blank-configurable.lua +30 -0
- package/engine/object-data/entry/ability-type/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/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/reincarnation.d.ts +8 -0
- package/engine/object-data/entry/ability-type/reincarnation.lua +26 -0
- package/engine/object-data/entry/ability-type.d.ts +2 -0
- package/engine/object-data/entry/ability-type.lua +89 -8
- package/engine/object-data/entry/buff-type/applicable.lua +113 -109
- package/engine/object-data/entry/destructible-type.d.ts +27 -1
- package/engine/object-data/entry/destructible-type.lua +155 -0
- package/engine/object-data/entry/unit-type.d.ts +17 -4
- package/engine/object-data/entry/unit-type.lua +189 -83
- package/engine/object-field/ability.d.ts +4 -4
- package/engine/object-field/ability.lua +9 -8
- package/engine/object-field/item.d.ts +22 -0
- package/engine/object-field/item.lua +118 -0
- package/engine/object-field/unit.d.ts +72 -3
- package/engine/object-field/unit.lua +268 -7
- package/engine/object-field.d.ts +18 -7
- package/engine/object-field.lua +294 -135
- package/engine/random.d.ts +10 -0
- package/engine/random.lua +21 -0
- package/engine/standard/fields/ability.d.ts +2 -2
- package/engine/standard/fields/ability.lua +2 -2
- package/engine/standard/fields/item.d.ts +4 -0
- package/engine/standard/fields/item.lua +6 -0
- package/engine/standard/fields/unit.d.ts +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 +6 -0
- package/engine/unit.lua +6 -0
- package/event.d.ts +1 -1
- package/lualib_bundle.lua +1 -1
- package/math.d.ts +2 -0
- package/math.lua +14 -0
- package/net/socket.lua +1 -1
- package/network.lua +25 -1
- package/objutil/buff.lua +11 -10
- package/objutil/object.lua +1 -1
- package/operation.d.ts +8 -1
- package/operation.lua +38 -18
- package/package.json +5 -5
- package/patch-lua.lua +15 -0
- package/patch-lualib.lua +1 -1
- package/utility/arrays.d.ts +2 -0
- package/utility/arrays.lua +11 -0
- 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/linked-map.d.ts +35 -0
- package/utility/linked-map.lua +107 -0
- package/utility/linked-set.d.ts +4 -1
- package/utility/linked-set.lua +46 -1
- package/utility/lua-maps.d.ts +12 -2
- package/utility/lua-maps.lua +37 -2
- package/utility/lua-sets.d.ts +1 -0
- package/utility/lua-sets.lua +4 -0
- package/utility/random.d.ts +102 -0
- package/utility/random.lua +273 -0
- package/utility/records.lua +20 -1
- package/utility/types.d.ts +3 -0
- package/utility/unordered-map.d.ts +27 -0
- package/utility/unordered-map.lua +99 -0
- package/core/types/order.d.ts +0 -25
- package/core/types/order.lua +0 -55
- /package/engine/internal/{object-data/armor-increase.d.ts → misc/damage-metadata-by-target.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/internal/item.lua
CHANGED
|
@@ -1,26 +1,39 @@
|
|
|
1
1
|
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__New = ____lualib.__TS__New
|
|
2
3
|
local __TS__Class = ____lualib.__TS__Class
|
|
3
4
|
local __TS__ClassExtends = ____lualib.__TS__ClassExtends
|
|
4
5
|
local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
|
|
5
6
|
local __TS__ObjectDefineProperty = ____lualib.__TS__ObjectDefineProperty
|
|
6
7
|
local __TS__Delete = ____lualib.__TS__Delete
|
|
7
8
|
local ____exports = {}
|
|
9
|
+
local invoke
|
|
8
10
|
local ____handle = require("core.types.handle")
|
|
9
11
|
local Handle = ____handle.Handle
|
|
10
12
|
local ____color = require("core.types.color")
|
|
11
13
|
local Color = ____color.Color
|
|
14
|
+
local ____event = require("event")
|
|
15
|
+
local Event = ____event.Event
|
|
12
16
|
local ____rect = require("core.types.rect")
|
|
13
17
|
local Rect = ____rect.Rect
|
|
14
18
|
local ____ability = require("engine.internal.ability")
|
|
15
19
|
local ItemAbility = ____ability.ItemAbility
|
|
16
20
|
local ____ability = require("engine.internal.item.ability")
|
|
17
21
|
local doAbilityAction = ____ability.doAbilityAction
|
|
22
|
+
local doAbilityActionForceDummy = ____ability.doAbilityActionForceDummy
|
|
23
|
+
local itemAbilityDummy = ____ability.itemAbilityDummy
|
|
18
24
|
local ____dummy_2Ditem = require("engine.internal.object-data.dummy-item")
|
|
19
25
|
local DUMMY_ITEM_ID = ____dummy_2Ditem.DUMMY_ITEM_ID
|
|
20
26
|
local ____add_2Ditem_2Dto_2Dslot = require("engine.internal.unit.add-item-to-slot")
|
|
21
27
|
local SLOT_FILLER_ITEM_TYPE_ID = ____add_2Ditem_2Dto_2Dslot.SLOT_FILLER_ITEM_TYPE_ID
|
|
22
28
|
local ____vec2 = require("math.vec2")
|
|
23
29
|
local distance = ____vec2.distance
|
|
30
|
+
local ____timer = require("core.types.timer")
|
|
31
|
+
local Timer = ____timer.Timer
|
|
32
|
+
local createTrigger = CreateTrigger
|
|
33
|
+
local triggerAddCondition = TriggerAddCondition
|
|
34
|
+
local triggerRegisterDeathEvent = TriggerRegisterDeathEvent
|
|
35
|
+
local condition = Condition
|
|
36
|
+
local destroyTrigger = DestroyTrigger
|
|
24
37
|
local itemAddAbility = BlzItemAddAbility
|
|
25
38
|
local itemRemoveAbility = BlzItemRemoveAbility
|
|
26
39
|
local getItemAbility = BlzGetItemAbility
|
|
@@ -36,10 +49,35 @@ local getEnumItem = GetEnumItem
|
|
|
36
49
|
local getItemTypeId = GetItemTypeId
|
|
37
50
|
local getItemX = GetItemX
|
|
38
51
|
local getItemY = GetItemY
|
|
52
|
+
local getItemCharges = GetItemCharges
|
|
53
|
+
local setItemCharges = SetItemCharges
|
|
54
|
+
local unitRemoveAbility = UnitRemoveAbility
|
|
55
|
+
local unitRemoveItem = UnitRemoveItem
|
|
56
|
+
local unitUseItem = UnitUseItem
|
|
57
|
+
local unitUseItemPoint = UnitUseItemPoint
|
|
58
|
+
local unitUseItemTarget = UnitUseItemTarget
|
|
59
|
+
local setItemDropOnDeath = SetItemDropOnDeath
|
|
60
|
+
local setItemDroppable = SetItemDroppable
|
|
39
61
|
local getItemIntegerField = BlzGetItemIntegerField
|
|
40
62
|
local setItemBooleanField = BlzSetItemBooleanField
|
|
41
63
|
local getItemBooleanField = BlzGetItemBooleanField
|
|
64
|
+
local getTriggerWidget = GetTriggerWidget
|
|
65
|
+
local saveWidgetHandle = SaveWidgetHandle
|
|
66
|
+
local loadItemHandle = LoadItemHandle
|
|
67
|
+
local tableRemove = table.remove
|
|
68
|
+
local itemChargesChangeEvent = __TS__New(Event)
|
|
69
|
+
local itemDeathEvent = __TS__New(Event)
|
|
70
|
+
_G.SetItemCharges = function(whichItem, charges)
|
|
71
|
+
setItemCharges(whichItem, charges)
|
|
72
|
+
invoke(
|
|
73
|
+
itemChargesChangeEvent,
|
|
74
|
+
____exports.Item:of(whichItem)
|
|
75
|
+
)
|
|
76
|
+
end
|
|
77
|
+
invoke = Event.invoke
|
|
42
78
|
local enumRect = Rect:create(0, 0, 0, 0).handle
|
|
79
|
+
---
|
|
80
|
+
-- @internal For use by internal systems only.
|
|
43
81
|
____exports.addAndGetAbility = function(handle, abilityTypeId)
|
|
44
82
|
if itemAddAbility(handle, abilityTypeId) then
|
|
45
83
|
return getItemAbility(handle, abilityTypeId)
|
|
@@ -65,6 +103,23 @@ local function getItemAbilities(handle, item)
|
|
|
65
103
|
end
|
|
66
104
|
return abilities
|
|
67
105
|
end
|
|
106
|
+
local function consumeCharge(handle)
|
|
107
|
+
do
|
|
108
|
+
local i = 0
|
|
109
|
+
local ability = getItemAbilityByIndex(handle, i)
|
|
110
|
+
while ability ~= nil do
|
|
111
|
+
unitRemoveAbility(
|
|
112
|
+
itemAbilityDummy,
|
|
113
|
+
getAbilityId(ability)
|
|
114
|
+
)
|
|
115
|
+
do
|
|
116
|
+
i = i + 1
|
|
117
|
+
ability = getItemAbilityByIndex(handle, i)
|
|
118
|
+
end
|
|
119
|
+
end
|
|
120
|
+
end
|
|
121
|
+
return unitUseItem(itemAbilityDummy, handle) or unitUseItemPoint(itemAbilityDummy, handle, 0, 0) or unitUseItemTarget(itemAbilityDummy, handle, itemAbilityDummy)
|
|
122
|
+
end
|
|
68
123
|
local targetCollection
|
|
69
124
|
local targetCollectionNextIndex
|
|
70
125
|
local centerX
|
|
@@ -91,63 +146,114 @@ local function collectIntoTargetRange()
|
|
|
91
146
|
targetCollectionNextIndex = targetCollectionNextIndex + 1
|
|
92
147
|
end
|
|
93
148
|
end
|
|
149
|
+
local hashtable = InitHashtable()
|
|
150
|
+
local deathTriggerCondition = condition(function()
|
|
151
|
+
saveWidgetHandle(
|
|
152
|
+
hashtable,
|
|
153
|
+
1,
|
|
154
|
+
1,
|
|
155
|
+
getTriggerWidget()
|
|
156
|
+
)
|
|
157
|
+
local item = ____exports.Item:of(loadItemHandle(hashtable, 1, 1))
|
|
158
|
+
if item ~= nil then
|
|
159
|
+
invoke(itemDeathEvent, item)
|
|
160
|
+
end
|
|
161
|
+
end)
|
|
162
|
+
itemDeathEvent:addListener(
|
|
163
|
+
999999,
|
|
164
|
+
function(item)
|
|
165
|
+
Timer:run(item, "destroy")
|
|
166
|
+
end
|
|
167
|
+
)
|
|
94
168
|
____exports.Item = __TS__Class()
|
|
95
169
|
local Item = ____exports.Item
|
|
96
170
|
Item.name = "Item"
|
|
97
171
|
__TS__ClassExtends(Item, Handle)
|
|
98
172
|
function Item.prototype.____constructor(self, handle)
|
|
99
173
|
Handle.prototype.____constructor(self, handle)
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
end
|
|
106
|
-
self[101] = luaIndexByAbilityTypeId
|
|
174
|
+
self[100] = doAbilityAction(handle, getItemAbilities, self)
|
|
175
|
+
local deathTrigger = createTrigger()
|
|
176
|
+
triggerRegisterDeathEvent(deathTrigger, handle)
|
|
177
|
+
triggerAddCondition(deathTrigger, deathTriggerCondition)
|
|
178
|
+
self[101] = deathTrigger
|
|
107
179
|
end
|
|
108
180
|
function Item.prototype.onDestroy(self)
|
|
181
|
+
local owner = self.owner
|
|
182
|
+
if owner ~= nil then
|
|
183
|
+
unitRemoveItem(owner.handle, self.handle)
|
|
184
|
+
end
|
|
109
185
|
local abilities = self[100]
|
|
110
186
|
for i = 1, #abilities do
|
|
111
187
|
abilities[i]:destroy()
|
|
112
188
|
end
|
|
113
189
|
removeItem(self.handle)
|
|
190
|
+
destroyTrigger(self[101])
|
|
114
191
|
return Handle.prototype.onDestroy(self)
|
|
115
192
|
end
|
|
116
193
|
function Item.create(self, id, x, y, skinId)
|
|
117
194
|
return self:of(BlzCreateItemWithSkin(id, x, y, skinId or id))
|
|
118
195
|
end
|
|
196
|
+
function Item.prototype.consumeCharge(self)
|
|
197
|
+
return self:consumeCharges(1)
|
|
198
|
+
end
|
|
199
|
+
function Item.prototype.consumeCharges(self, count)
|
|
200
|
+
local handle = self.handle
|
|
201
|
+
local charges = getItemCharges(handle)
|
|
202
|
+
if charges > count then
|
|
203
|
+
setItemCharges(handle, charges - count)
|
|
204
|
+
invoke(itemChargesChangeEvent, self)
|
|
205
|
+
return true
|
|
206
|
+
end
|
|
207
|
+
if charges == count then
|
|
208
|
+
if getItemBooleanField(handle, ITEM_BF_PERISHABLE) then
|
|
209
|
+
self:destroy()
|
|
210
|
+
return true
|
|
211
|
+
end
|
|
212
|
+
if not getItemBooleanField(handle, ITEM_BF_ACTIVELY_USED) then
|
|
213
|
+
setItemCharges(handle, 0)
|
|
214
|
+
invoke(itemChargesChangeEvent, self)
|
|
215
|
+
return true
|
|
216
|
+
end
|
|
217
|
+
setItemCharges(handle, 1)
|
|
218
|
+
local ____doAbilityActionForceDummy_2 = doAbilityActionForceDummy
|
|
219
|
+
local ____opt_0 = self.owner
|
|
220
|
+
____doAbilityActionForceDummy_2(handle, ____opt_0 and ____opt_0.handle, consumeCharge)
|
|
221
|
+
invoke(itemChargesChangeEvent, self)
|
|
222
|
+
return true
|
|
223
|
+
end
|
|
224
|
+
return false
|
|
225
|
+
end
|
|
119
226
|
function Item.prototype.addAbility(self, abilityTypeId)
|
|
120
227
|
local nativeAbility = doAbilityAction(self.handle, ____exports.addAndGetAbility, abilityTypeId)
|
|
121
228
|
if nativeAbility ~= nil then
|
|
122
229
|
local ability = ItemAbility:of(nativeAbility, abilityTypeId, self)
|
|
123
230
|
local abilities = self[100]
|
|
124
|
-
|
|
125
|
-
abilities[luaIndex] = ability
|
|
126
|
-
self[101][abilityTypeId] = luaIndex
|
|
231
|
+
abilities[#abilities + 1] = ability
|
|
127
232
|
return ability
|
|
128
233
|
end
|
|
129
234
|
return nil
|
|
130
235
|
end
|
|
131
236
|
function Item.prototype.removeAbility(self, abilityTypeId)
|
|
132
|
-
local
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
for j = luaIndex, abilityTypeIdsLength do
|
|
140
|
-
abilities[j] = abilities[j + 1]
|
|
237
|
+
local abilities = self[100]
|
|
238
|
+
for i = 1, #abilities do
|
|
239
|
+
if abilities[i].typeId == abilityTypeId then
|
|
240
|
+
local ability = abilities[i]
|
|
241
|
+
tableRemove(abilities, i)
|
|
242
|
+
ability:destroy()
|
|
243
|
+
return true
|
|
141
244
|
end
|
|
142
245
|
end
|
|
143
|
-
return
|
|
246
|
+
return doAbilityAction(self.handle, itemRemoveAbility, abilityTypeId)
|
|
144
247
|
end
|
|
145
248
|
function Item.prototype.hasAbility(self, abilityTypeId)
|
|
146
|
-
return self
|
|
249
|
+
return doAbilityAction(self.handle, getItemAbility, abilityTypeId) ~= nil
|
|
147
250
|
end
|
|
148
251
|
function Item.prototype.getAbility(self, abilityTypeId)
|
|
149
|
-
|
|
150
|
-
|
|
252
|
+
return ItemAbility:of(
|
|
253
|
+
doAbilityAction(self.handle, getItemAbility, abilityTypeId),
|
|
254
|
+
abilityTypeId,
|
|
255
|
+
self
|
|
256
|
+
)
|
|
151
257
|
end
|
|
152
258
|
function Item.getInRange(self, x, y, range)
|
|
153
259
|
targetCollection = {}
|
|
@@ -259,65 +365,55 @@ __TS__SetDescriptor(
|
|
|
259
365
|
)
|
|
260
366
|
__TS__SetDescriptor(
|
|
261
367
|
Item.prototype,
|
|
262
|
-
"
|
|
368
|
+
"dropsOnDeath",
|
|
263
369
|
{
|
|
264
370
|
get = function(self)
|
|
265
|
-
return
|
|
371
|
+
return getItemBooleanField(self.handle, ITEM_BF_DROPPED_WHEN_CARRIER_DIES)
|
|
266
372
|
end,
|
|
267
|
-
set = function(self,
|
|
268
|
-
|
|
373
|
+
set = function(self, dropsOnDeath)
|
|
374
|
+
setItemDropOnDeath(self.handle, dropsOnDeath)
|
|
269
375
|
end
|
|
270
376
|
},
|
|
271
377
|
true
|
|
272
378
|
)
|
|
273
379
|
__TS__SetDescriptor(
|
|
274
380
|
Item.prototype,
|
|
275
|
-
"
|
|
381
|
+
"canBeDropped",
|
|
276
382
|
{
|
|
277
383
|
get = function(self)
|
|
278
|
-
return
|
|
384
|
+
return getItemBooleanField(self.handle, ITEM_BF_CAN_BE_DROPPED)
|
|
279
385
|
end,
|
|
280
|
-
set = function(self,
|
|
281
|
-
|
|
282
|
-
end
|
|
283
|
-
},
|
|
284
|
-
true
|
|
285
|
-
)
|
|
286
|
-
__TS__SetDescriptor(
|
|
287
|
-
Item.prototype,
|
|
288
|
-
"pawnable",
|
|
289
|
-
{
|
|
290
|
-
get = function(self)
|
|
291
|
-
return IsItemPawnable(self.handle)
|
|
292
|
-
end,
|
|
293
|
-
set = function(self, v)
|
|
294
|
-
SetItemPawnable(self.handle, v)
|
|
386
|
+
set = function(self, canBeDropped)
|
|
387
|
+
setItemDroppable(self.handle, canBeDropped)
|
|
295
388
|
end
|
|
296
389
|
},
|
|
297
390
|
true
|
|
298
391
|
)
|
|
299
392
|
__TS__SetDescriptor(
|
|
300
393
|
Item.prototype,
|
|
301
|
-
"
|
|
394
|
+
"perishes",
|
|
302
395
|
{
|
|
303
396
|
get = function(self)
|
|
304
|
-
return
|
|
397
|
+
return getItemBooleanField(self.handle, ITEM_BF_PERISHABLE)
|
|
305
398
|
end,
|
|
306
|
-
set = function(self,
|
|
307
|
-
|
|
399
|
+
set = function(self, perishes)
|
|
400
|
+
local handle = self.handle
|
|
401
|
+
local powerUp = isItemPowerup(handle)
|
|
402
|
+
setItemBooleanField(handle, ITEM_BF_PERISHABLE, perishes)
|
|
403
|
+
setItemBooleanField(handle, ITEM_BF_USE_AUTOMATICALLY_WHEN_ACQUIRED, powerUp)
|
|
308
404
|
end
|
|
309
405
|
},
|
|
310
406
|
true
|
|
311
407
|
)
|
|
312
408
|
__TS__SetDescriptor(
|
|
313
409
|
Item.prototype,
|
|
314
|
-
"
|
|
410
|
+
"isPowerUp",
|
|
315
411
|
{
|
|
316
412
|
get = function(self)
|
|
317
413
|
return isItemPowerup(self.handle)
|
|
318
414
|
end,
|
|
319
|
-
set = function(self,
|
|
320
|
-
setItemBooleanField(self.handle, ITEM_BF_USE_AUTOMATICALLY_WHEN_ACQUIRED,
|
|
415
|
+
set = function(self, isPowerUp)
|
|
416
|
+
setItemBooleanField(self.handle, ITEM_BF_USE_AUTOMATICALLY_WHEN_ACQUIRED, isPowerUp)
|
|
321
417
|
end
|
|
322
418
|
},
|
|
323
419
|
true
|
|
@@ -351,22 +447,6 @@ __TS__SetDescriptor(
|
|
|
351
447
|
},
|
|
352
448
|
true
|
|
353
449
|
)
|
|
354
|
-
__TS__SetDescriptor(
|
|
355
|
-
Item.prototype,
|
|
356
|
-
"usable",
|
|
357
|
-
{
|
|
358
|
-
get = function(self)
|
|
359
|
-
return getItemBooleanField(self.handle, ITEM_BF_ACTIVELY_USED)
|
|
360
|
-
end,
|
|
361
|
-
set = function(self, v)
|
|
362
|
-
local handle = self.handle
|
|
363
|
-
local powerup = isItemPowerup(handle)
|
|
364
|
-
setItemBooleanField(handle, ITEM_BF_ACTIVELY_USED, v)
|
|
365
|
-
setItemBooleanField(handle, ITEM_BF_USE_AUTOMATICALLY_WHEN_ACQUIRED, powerup)
|
|
366
|
-
end
|
|
367
|
-
},
|
|
368
|
-
true
|
|
369
|
-
)
|
|
370
450
|
__TS__SetDescriptor(
|
|
371
451
|
Item.prototype,
|
|
372
452
|
"visible",
|
|
@@ -557,10 +637,11 @@ __TS__SetDescriptor(
|
|
|
557
637
|
"charges",
|
|
558
638
|
{
|
|
559
639
|
get = function(self)
|
|
560
|
-
return
|
|
640
|
+
return getItemCharges(self.handle)
|
|
561
641
|
end,
|
|
562
642
|
set = function(self, v)
|
|
563
|
-
|
|
643
|
+
setItemCharges(self.handle, v)
|
|
644
|
+
invoke(itemChargesChangeEvent, self)
|
|
564
645
|
end
|
|
565
646
|
},
|
|
566
647
|
true
|
|
@@ -587,6 +668,8 @@ __TS__ObjectDefineProperty(
|
|
|
587
668
|
return self.onDestroyEvent
|
|
588
669
|
end}
|
|
589
670
|
)
|
|
671
|
+
Item.deathEvent = itemDeathEvent
|
|
672
|
+
Item.chargesChangedEvent = itemChargesChangeEvent
|
|
590
673
|
local getManipulatedItem = GetManipulatedItem
|
|
591
674
|
local trigger = CreateTrigger()
|
|
592
675
|
TriggerRegisterAnyUnitEventBJ(trigger, EVENT_PLAYER_UNIT_PICKUP_ITEM)
|
|
@@ -74,9 +74,12 @@ ____exports.castAbility = function(nativeUnit, abilityTypeId, prepareAbility, ..
|
|
|
74
74
|
unitRemoveAbility(nativeUnit, INVENTORY_ABILITY_TYPE_ID)
|
|
75
75
|
if latestInventoryAbilityTypeId ~= 0 then
|
|
76
76
|
unitAddAbility(nativeUnit, latestInventoryAbilityTypeId)
|
|
77
|
-
for slot,
|
|
78
|
-
|
|
79
|
-
|
|
77
|
+
for slot = 0, inventorySize - 1 do
|
|
78
|
+
local nativeItem = nativeItemBySlot[slot]
|
|
79
|
+
if nativeItem ~= nil then
|
|
80
|
+
unitAddItem(nativeUnit, nativeItem)
|
|
81
|
+
unitDropItemSlot(nativeUnit, nativeItem, slot)
|
|
82
|
+
end
|
|
80
83
|
end
|
|
81
84
|
end
|
|
82
85
|
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
local ____exports = {}
|
|
2
|
+
local getLocalClientWidth = BlzGetLocalClientWidth
|
|
3
|
+
local getLocalClientHeight = BlzGetLocalClientHeight
|
|
4
|
+
---
|
|
5
|
+
-- @internal For use by internal systems only.
|
|
6
|
+
____exports.getFrameMinXMaxX = function()
|
|
7
|
+
local w = getLocalClientWidth()
|
|
8
|
+
local h = getLocalClientHeight()
|
|
9
|
+
local width4by3 = (w - h / 600 * 800) / 2
|
|
10
|
+
local pxtodpi = 0.6 / h
|
|
11
|
+
local minX = -width4by3 * pxtodpi
|
|
12
|
+
local maxX = minX + w * pxtodpi
|
|
13
|
+
return minX, maxX
|
|
14
|
+
end
|
|
15
|
+
---
|
|
16
|
+
-- @internal For use by internal systems only.
|
|
17
|
+
____exports.FRAME_MIN_Y = 0
|
|
18
|
+
---
|
|
19
|
+
-- @internal For use by internal systems only.
|
|
20
|
+
____exports.FRAME_MAX_Y = 0.6
|
|
21
|
+
return ____exports
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
local ____exports = {}
|
|
2
|
+
local getLocationZ = GetLocationZ
|
|
3
|
+
local moveLocation = MoveLocation
|
|
4
|
+
local location = Location(0, 0)
|
|
5
|
+
---
|
|
6
|
+
-- @internal For use by internal systems only.
|
|
7
|
+
____exports.getTerrainZ = function(x, y)
|
|
8
|
+
moveLocation(location, x, y)
|
|
9
|
+
return getLocationZ(location)
|
|
10
|
+
end
|
|
11
|
+
return ____exports
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
local ____exports = {}
|
|
2
|
-
local
|
|
3
|
-
local AttributeBonusAbilityType =
|
|
2
|
+
local ____attribute_2Dbonus = require("engine.object-data.entry.ability-type.attribute-bonus")
|
|
3
|
+
local AttributeBonusAbilityType = ____attribute_2Dbonus.AttributeBonusAbilityType
|
|
4
4
|
---
|
|
5
5
|
-- @internal For use by internal systems.
|
|
6
6
|
____exports.ATTRIBUTE_BONUS_DUMMY_ABILITY_TYPE_ID = compiletime(function()
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
local ____exports = {}
|
|
2
|
+
local ____health_2Dbonus = require("engine.object-data.entry.ability-type.health-bonus")
|
|
3
|
+
local HealthBonusAbilityType = ____health_2Dbonus.HealthBonusAbilityType
|
|
4
|
+
---
|
|
5
|
+
-- @internal For use by internal systems only.
|
|
6
|
+
____exports.HEALTH_BONUS_DUMMY_ABILITY_TYPE_ID = compiletime(function()
|
|
7
|
+
local abilityType = HealthBonusAbilityType:create()
|
|
8
|
+
abilityType.isInternal = true
|
|
9
|
+
abilityType.isButtonVisible = false
|
|
10
|
+
abilityType.healthBonus = 0
|
|
11
|
+
return abilityType.id
|
|
12
|
+
end)
|
|
13
|
+
---
|
|
14
|
+
-- @internal For use by internal systems only.
|
|
15
|
+
____exports.HEALTH_BONUS_DUMMY_ABILITY_FIELD = ABILITY_ILF_MAX_LIFE_GAINED
|
|
16
|
+
return ____exports
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
local ____exports = {}
|
|
2
|
+
local ____mana_2Dbonus = require("engine.object-data.entry.ability-type.mana-bonus")
|
|
3
|
+
local ManaBonusAbilityType = ____mana_2Dbonus.ManaBonusAbilityType
|
|
4
|
+
---
|
|
5
|
+
-- @internal For use by internal systems only.
|
|
6
|
+
____exports.MANA_BONUS_DUMMY_ABILITY_TYPE_ID = compiletime(function()
|
|
7
|
+
local abilityType = ManaBonusAbilityType:create()
|
|
8
|
+
abilityType.isInternal = true
|
|
9
|
+
abilityType.isButtonVisible = false
|
|
10
|
+
abilityType.manaBonus = 0
|
|
11
|
+
return abilityType.id
|
|
12
|
+
end)
|
|
13
|
+
---
|
|
14
|
+
-- @internal For use by internal systems only.
|
|
15
|
+
____exports.MANA_BONUS_DUMMY_ABILITY_FIELD = ABILITY_ILF_MAX_MANA_GAINED
|
|
16
|
+
return ____exports
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
local ____exports = {}
|
|
2
|
+
local ____mana_2Dregeneration = require("engine.object-data.entry.ability-type.mana-regeneration")
|
|
3
|
+
local ManaRegenerationAbilityType = ____mana_2Dregeneration.ManaRegenerationAbilityType
|
|
4
|
+
---
|
|
5
|
+
-- @internal For use by internal systems.
|
|
6
|
+
____exports.MANA_REGENERATION_RATE_INCREASE_FACTOR_DUMMY_ABILITY_TYPE_ID = compiletime(function()
|
|
7
|
+
local abilityType = ManaRegenerationAbilityType:create()
|
|
8
|
+
abilityType.isInternal = true
|
|
9
|
+
abilityType.isButtonVisible = false
|
|
10
|
+
abilityType.manaRegenerationRateIncreaseFactor = 4
|
|
11
|
+
return abilityType.id
|
|
12
|
+
end)
|
|
13
|
+
---
|
|
14
|
+
-- @internal For use by internal systems.
|
|
15
|
+
____exports.MANA_REGENERATION_RATE_INCREASE_FACTOR_ABILITY_FIELD = ABILITY_RLF_MANA_REGENERATION_BONUS_AS_FRACTION_OF_NORMAL
|
|
16
|
+
return ____exports
|
|
@@ -150,3 +150,38 @@ declare module "../unit" {
|
|
|
150
150
|
};
|
|
151
151
|
}
|
|
152
152
|
}
|
|
153
|
+
declare module "../unit" {
|
|
154
|
+
namespace Unit {
|
|
155
|
+
const abilityImpactEvent: DispatchingEvent<[Unit, Ability]>;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
declare module "../unit" {
|
|
159
|
+
namespace Unit {
|
|
160
|
+
const abilityWidgetTargetImpactEvent: DispatchingEvent<[Unit, Ability, Widget]>;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
declare module "../unit" {
|
|
164
|
+
namespace Unit {
|
|
165
|
+
const abilityUnitTargetImpactEvent: DispatchingEvent<[Unit, Ability, Unit]>;
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
declare module "../unit" {
|
|
169
|
+
namespace Unit {
|
|
170
|
+
const abilityItemTargetImpactEvent: DispatchingEvent<[Unit, Ability, Item]>;
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
declare module "../unit" {
|
|
174
|
+
namespace Unit {
|
|
175
|
+
const abilityDestructibleTargetImpactEvent: DispatchingEvent<[Unit, Ability, Destructable]>;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
declare module "../unit" {
|
|
179
|
+
namespace Unit {
|
|
180
|
+
const abilityPointTargetImpactEvent: DispatchingEvent<[Unit, Ability, number, number]>;
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
declare module "../unit" {
|
|
184
|
+
namespace Unit {
|
|
185
|
+
const abilityNoTargetImpactEvent: DispatchingEvent<[Unit, Ability]>;
|
|
186
|
+
}
|
|
187
|
+
}
|