warscript 0.0.1-dev.9d56c5c → 0.0.1-dev.a3723da
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/core/types/frame.d.ts +2 -1
- package/core/types/frame.lua +2 -0
- 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/decl/index.d.ts +1 -0
- package/engine/ability.d.ts +1 -1
- package/engine/behavior.d.ts +10 -10
- 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 +91 -31
- 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 +8 -1
- package/engine/behaviour/ability.lua +62 -0
- package/engine/behaviour/unit/stun-immunity.d.ts +0 -1
- package/engine/behaviour/unit.d.ts +3 -2
- package/engine/behaviour/unit.lua +7 -0
- package/engine/buff.d.ts +2 -2
- package/engine/buff.lua +8 -10
- package/engine/game-map.d.ts +7 -0
- package/engine/game-map.lua +32 -0
- package/engine/internal/unit/bonus.d.ts +5 -6
- package/engine/internal/unit+transport.lua +4 -10
- package/engine/internal/unit.d.ts +1 -2
- package/engine/internal/unit.lua +34 -26
- 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/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.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 +0 -1
- package/engine/object-data/entry/lightning-type.d.ts +0 -1
- package/engine/object-data/entry/unit-type.d.ts +0 -1
- 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 +1 -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 +18 -0
- package/engine/standard/entries/unit-type.lua +18 -0
- package/engine/standard/fields/ability.d.ts +1 -1
- package/engine/standard/fields/ability.lua +1 -1
- package/engine/unit.lua +9 -2
- package/event.d.ts +2 -3
- package/event.lua +9 -5
- package/lualib_bundle.lua +146 -42
- package/math/vec2.d.ts +2 -9
- package/math.d.ts +0 -2
- package/objutil/ability.d.ts +0 -1
- package/objutil/buff.d.ts +0 -1
- package/objutil/object.d.ts +0 -1
- package/objutil/unit.d.ts +0 -1
- package/package.json +13 -13
- package/string.d.ts +16 -0
- package/string.lua +5 -0
- package/util/stream.d.ts +0 -1
- package/utility/arrays.d.ts +3 -4
- package/utility/bit-set.d.ts +0 -2
- package/utility/linked-set.d.ts +1 -2
- package/utility/lua-maps.d.ts +1 -2
- package/utility/lua-sets.d.ts +1 -2
- package/core/mapbounds.d.ts +0 -8
- package/core/mapbounds.lua +0 -12
package/engine/buff.lua
CHANGED
|
@@ -1035,24 +1035,22 @@ __TS__SetDescriptor(
|
|
|
1035
1035
|
true
|
|
1036
1036
|
);
|
|
1037
1037
|
(function(self)
|
|
1038
|
+
local function destroyBuffIfNeeded(buff)
|
|
1039
|
+
if getUnitAbility(buff[100].handle, buff.typeId) ~= buff.handle then
|
|
1040
|
+
buff:destroy()
|
|
1041
|
+
end
|
|
1042
|
+
end
|
|
1038
1043
|
____exports.checkBuff = function(unit, buffTypeId)
|
|
1039
1044
|
local buffByTypeId = buffByTypeIdByUnit[unit]
|
|
1040
1045
|
if buffByTypeId ~= nil then
|
|
1041
1046
|
local buff = buffByTypeId[buffTypeId]
|
|
1042
|
-
if buff ~= nil
|
|
1043
|
-
buff
|
|
1047
|
+
if buff ~= nil then
|
|
1048
|
+
destroyBuffIfNeeded(buff)
|
|
1044
1049
|
end
|
|
1045
1050
|
end
|
|
1046
1051
|
end
|
|
1047
1052
|
____exports.checkBuffs = function(unit)
|
|
1048
|
-
|
|
1049
|
-
if buffByTypeId ~= nil then
|
|
1050
|
-
for ____, buff in pairs(buffByTypeId) do
|
|
1051
|
-
if getUnitAbility(unit.handle, buff.typeId) ~= buff.handle then
|
|
1052
|
-
buff:destroy()
|
|
1053
|
-
end
|
|
1054
|
-
end
|
|
1055
|
-
end
|
|
1053
|
+
____exports.Buff:forAll(unit, destroyBuffIfNeeded)
|
|
1056
1054
|
end
|
|
1057
1055
|
Unit.abilityChannelingStartEvent:addListener(
|
|
1058
1056
|
0,
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__Class = ____lualib.__TS__Class
|
|
3
|
+
local __TS__ObjectDefineProperty = ____lualib.__TS__ObjectDefineProperty
|
|
4
|
+
local ____exports = {}
|
|
5
|
+
local ____rect = require("core.types.rect")
|
|
6
|
+
local Rect = ____rect.Rect
|
|
7
|
+
local ____region = require("core.types.region")
|
|
8
|
+
local Region = ____region.Region
|
|
9
|
+
____exports.GameMap = __TS__Class()
|
|
10
|
+
local GameMap = ____exports.GameMap
|
|
11
|
+
GameMap.name = "GameMap"
|
|
12
|
+
function GameMap.prototype.____constructor(self)
|
|
13
|
+
end
|
|
14
|
+
__TS__ObjectDefineProperty(
|
|
15
|
+
GameMap,
|
|
16
|
+
"worldBoundsRect",
|
|
17
|
+
{get = function(self)
|
|
18
|
+
local rect = Rect:of(GetWorldBounds())
|
|
19
|
+
rawset(self, "worldBoundsRect", rect)
|
|
20
|
+
return rect
|
|
21
|
+
end}
|
|
22
|
+
)
|
|
23
|
+
__TS__ObjectDefineProperty(
|
|
24
|
+
GameMap,
|
|
25
|
+
"worldBoundsRegion",
|
|
26
|
+
{get = function(self)
|
|
27
|
+
local region = Region:create(self.worldBoundsRect)
|
|
28
|
+
rawset(self, "worldBoundsRegion", region)
|
|
29
|
+
return region
|
|
30
|
+
end}
|
|
31
|
+
)
|
|
32
|
+
return ____exports
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="@typescript-to-lua/language-extensions" />
|
|
2
1
|
/** @noSelfInFile */
|
|
3
2
|
import { Unit } from "../unit";
|
|
4
3
|
import { AbilityTypeId } from "../../object-data/entry/ability-type";
|
|
@@ -34,8 +33,8 @@ export declare namespace UnitBonusType {
|
|
|
34
33
|
const DAMAGE: UnitBonusType<UnitDamageBonusId>;
|
|
35
34
|
const RECEIVED_DAMAGE_FACTOR: UnitBonusType<UnitReceivedDamageFactorBonusId>;
|
|
36
35
|
}
|
|
37
|
-
export declare const addUnitBonus: <Id extends UnitBonusId
|
|
38
|
-
export declare const removeUnitBonus: <Id extends UnitBonusId
|
|
39
|
-
export declare const updateUnitBonus: <Id extends UnitBonusId
|
|
40
|
-
export declare const addOrUpdateOrRemoveUnitBonus: <Id extends UnitBonusId
|
|
41
|
-
export declare const getUnitBonus: <Id extends UnitBonusId
|
|
36
|
+
export declare const addUnitBonus: <Id extends UnitBonusId>(unit: Unit, bonusType: UnitBonusType<Id>, value: number) => Id;
|
|
37
|
+
export declare const removeUnitBonus: <Id extends UnitBonusId>(unit: Unit, bonusType: UnitBonusType<Id>, id: Id) => boolean;
|
|
38
|
+
export declare const updateUnitBonus: <Id extends UnitBonusId>(unit: Unit, bonusType: UnitBonusType<Id>, id: Id, value: number) => boolean;
|
|
39
|
+
export declare const addOrUpdateOrRemoveUnitBonus: <Id extends UnitBonusId>(unit: Unit, bonusType: UnitBonusType<Id>, id: Id | undefined, value: number) => Id | undefined;
|
|
40
|
+
export declare const getUnitBonus: <Id extends UnitBonusId>(unit: Unit, bonusType: UnitBonusType<Id>, id: Id) => number;
|
|
@@ -6,9 +6,8 @@ local ____unit = require("engine.internal.unit")
|
|
|
6
6
|
local Unit = ____unit.Unit
|
|
7
7
|
local ____event = require("event")
|
|
8
8
|
local Event = ____event.Event
|
|
9
|
-
local
|
|
10
|
-
local
|
|
11
|
-
local boundRegion = ____mapbounds.boundRegion
|
|
9
|
+
local ____game_2Dmap = require("engine.game-map")
|
|
10
|
+
local GameMap = ____game_2Dmap.GameMap
|
|
12
11
|
local eventInvoke = Event.invoke
|
|
13
12
|
local tableRemove = table.remove
|
|
14
13
|
local ____assert = _G.assert
|
|
@@ -58,8 +57,8 @@ triggerAddCondition(
|
|
|
58
57
|
deboard(unit)
|
|
59
58
|
end
|
|
60
59
|
if not unitAlive(handle) then
|
|
61
|
-
unit.x =
|
|
62
|
-
unit.y =
|
|
60
|
+
unit.x = GameMap.worldBoundsRect.maxX
|
|
61
|
+
unit.y = GameMap.worldBoundsRect.maxY
|
|
63
62
|
end
|
|
64
63
|
local transport = Unit:of(getTransportUnit())
|
|
65
64
|
transportByUnit[unit] = transport
|
|
@@ -68,11 +67,6 @@ triggerAddCondition(
|
|
|
68
67
|
eventInvoke(onBoardEvent, unit, transport)
|
|
69
68
|
end)
|
|
70
69
|
)
|
|
71
|
-
boundRegion.onUnitEnter:addListener(function(unit)
|
|
72
|
-
if transportByUnit[unit] ~= nil and not isUnitLoaded(unit.handle) then
|
|
73
|
-
deboard(unit)
|
|
74
|
-
end
|
|
75
|
-
end)
|
|
76
70
|
Unit.deathEvent:addListener(function(unit)
|
|
77
71
|
if transportByUnit[unit] ~= nil then
|
|
78
72
|
deboard(unit)
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="@typescript-to-lua/language-extensions" />
|
|
2
1
|
/** @noSelfInFile */
|
|
3
2
|
import { Handle, HandleDestructor } from "../../core/types/handle";
|
|
4
3
|
import { Player } from "../../core/types/player";
|
|
@@ -228,7 +227,7 @@ export declare class Unit extends Handle<junit> {
|
|
|
228
227
|
isSelected(player: Player): boolean;
|
|
229
228
|
explode(): void;
|
|
230
229
|
kill(): void;
|
|
231
|
-
revive(
|
|
230
|
+
revive(x: number, y: number, doEffect?: boolean): void;
|
|
232
231
|
healTarget(target: Widget, amount: number): void;
|
|
233
232
|
useItem(item: Item): boolean;
|
|
234
233
|
issueImmediateOrder(order: number): boolean;
|
package/engine/internal/unit.lua
CHANGED
|
@@ -7,6 +7,9 @@ local __TS__Class = ____lualib.__TS__Class
|
|
|
7
7
|
local __TS__ClassExtends = ____lualib.__TS__ClassExtends
|
|
8
8
|
local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
|
|
9
9
|
local __TS__ArraySetLength = ____lualib.__TS__ArraySetLength
|
|
10
|
+
local __TS__SparseArrayNew = ____lualib.__TS__SparseArrayNew
|
|
11
|
+
local __TS__SparseArrayPush = ____lualib.__TS__SparseArrayPush
|
|
12
|
+
local __TS__SparseArraySpread = ____lualib.__TS__SparseArraySpread
|
|
10
13
|
local __TS__InstanceOf = ____lualib.__TS__InstanceOf
|
|
11
14
|
local __TS__ObjectDefineProperty = ____lualib.__TS__ObjectDefineProperty
|
|
12
15
|
local Set = ____lualib.Set
|
|
@@ -279,16 +282,14 @@ function UnitTriggerEvent.prototype.____constructor(self, eventType, c)
|
|
|
279
282
|
end
|
|
280
283
|
local function dispatch(event, idGetter, argsGetter)
|
|
281
284
|
local initialized = false
|
|
282
|
-
local x = {}
|
|
283
285
|
return setmetatable(
|
|
284
|
-
|
|
286
|
+
{},
|
|
285
287
|
{
|
|
286
288
|
__index = function(self, id)
|
|
287
289
|
if type(id) ~= "number" then
|
|
288
290
|
return event[id]
|
|
289
291
|
end
|
|
290
292
|
if not initialized then
|
|
291
|
-
local invoke = Event.invoke
|
|
292
293
|
event:addListener(function(...)
|
|
293
294
|
local id = idGetter(...)
|
|
294
295
|
local dispatched = rawget(self, id)
|
|
@@ -326,7 +327,6 @@ local function dispatchAbility(event)
|
|
|
326
327
|
return event[id]
|
|
327
328
|
end
|
|
328
329
|
if not initialized then
|
|
329
|
-
local invoke = Event.invoke
|
|
330
330
|
event:addListener(function(unit, ability, ...)
|
|
331
331
|
local dispatched = rawget(self, ability.typeId)
|
|
332
332
|
if dispatched ~= nil then
|
|
@@ -817,8 +817,15 @@ end
|
|
|
817
817
|
function Unit.prototype.kill(self)
|
|
818
818
|
killUnit(self.handle)
|
|
819
819
|
end
|
|
820
|
-
function Unit.prototype.revive(self,
|
|
821
|
-
|
|
820
|
+
function Unit.prototype.revive(self, x, y, doEffect)
|
|
821
|
+
local ____ReviveHero_4 = ReviveHero
|
|
822
|
+
local ____array_3 = __TS__SparseArrayNew(self.handle, x, y)
|
|
823
|
+
local ____doEffect_2 = doEffect
|
|
824
|
+
if ____doEffect_2 == nil then
|
|
825
|
+
____doEffect_2 = false
|
|
826
|
+
end
|
|
827
|
+
__TS__SparseArrayPush(____array_3, ____doEffect_2)
|
|
828
|
+
____ReviveHero_4(__TS__SparseArraySpread(____array_3))
|
|
822
829
|
end
|
|
823
830
|
function Unit.prototype.healTarget(self, target, amount)
|
|
824
831
|
if __TS__InstanceOf(target, ____exports.Unit) and target:hasAbility(fourCC("BIhm")) then
|
|
@@ -1385,13 +1392,13 @@ __TS__SetDescriptor(
|
|
|
1385
1392
|
end,
|
|
1386
1393
|
set = function(self, isTeamGlowVisible)
|
|
1387
1394
|
showUnitTeamGlow(self.handle, isTeamGlowVisible)
|
|
1388
|
-
local
|
|
1395
|
+
local ____temp_5
|
|
1389
1396
|
if not isTeamGlowVisible then
|
|
1390
|
-
|
|
1397
|
+
____temp_5 = true
|
|
1391
1398
|
else
|
|
1392
|
-
|
|
1399
|
+
____temp_5 = nil
|
|
1393
1400
|
end
|
|
1394
|
-
self[105] =
|
|
1401
|
+
self[105] = ____temp_5
|
|
1395
1402
|
end
|
|
1396
1403
|
},
|
|
1397
1404
|
true
|
|
@@ -2055,7 +2062,6 @@ Unit.onDecay = __TS__New(
|
|
|
2055
2062
|
Unit.onResurrect = __TS__New(
|
|
2056
2063
|
InitializingEvent,
|
|
2057
2064
|
function(event)
|
|
2058
|
-
local invoke = Event.invoke
|
|
2059
2065
|
local dead = setmetatable({}, {__mode = "k"})
|
|
2060
2066
|
____exports.Unit.deathEvent:addListener(function(unit)
|
|
2061
2067
|
dead[unit] = true
|
|
@@ -2071,10 +2077,15 @@ Unit.onResurrect = __TS__New(
|
|
|
2071
2077
|
Unit.morphEvent = __TS__New(
|
|
2072
2078
|
InitializingEvent,
|
|
2073
2079
|
function(event)
|
|
2080
|
+
local function ifNotLeft(unit)
|
|
2081
|
+
local handle = unit.handle
|
|
2082
|
+
if getUnitAbilityLevel(handle, leaveDetectAbilityId) ~= 0 and unitAddAbility(handle, morphDetectAbilityId) then
|
|
2083
|
+
invoke(event, unit)
|
|
2084
|
+
end
|
|
2085
|
+
end
|
|
2074
2086
|
____exports.Unit.onImmediateOrder[orderId("undefend")]:addListener(function(unit)
|
|
2075
2087
|
if getUnitAbilityLevel(unit.handle, morphDetectAbilityId) == 0 then
|
|
2076
|
-
|
|
2077
|
-
Timer:run(Event.invoke, event, unit)
|
|
2088
|
+
Timer:run(ifNotLeft, unit)
|
|
2078
2089
|
end
|
|
2079
2090
|
end)
|
|
2080
2091
|
end
|
|
@@ -2112,27 +2123,26 @@ Unit.onSpellEffect = dispatchId(__TS__New(
|
|
|
2112
2123
|
Unit.onTargetCast = dispatchId(__TS__New(
|
|
2113
2124
|
InitializingEvent,
|
|
2114
2125
|
function(event)
|
|
2115
|
-
local invoke = Event.invoke
|
|
2116
2126
|
local function listener(unit, id)
|
|
2117
|
-
local
|
|
2127
|
+
local ____GetSpellTargetUnit_result_8
|
|
2118
2128
|
if GetSpellTargetUnit() then
|
|
2119
|
-
|
|
2129
|
+
____GetSpellTargetUnit_result_8 = ____exports.Unit:of(GetSpellTargetUnit())
|
|
2120
2130
|
else
|
|
2121
|
-
local
|
|
2131
|
+
local ____GetSpellTargetItem_result_7
|
|
2122
2132
|
if GetSpellTargetItem() then
|
|
2123
|
-
|
|
2133
|
+
____GetSpellTargetItem_result_7 = Item:of(GetSpellTargetItem())
|
|
2124
2134
|
else
|
|
2125
|
-
local
|
|
2135
|
+
local ____GetSpellTargetDestructable_result_6
|
|
2126
2136
|
if GetSpellTargetDestructable() then
|
|
2127
|
-
|
|
2137
|
+
____GetSpellTargetDestructable_result_6 = Destructable:of(GetSpellTargetDestructable())
|
|
2128
2138
|
else
|
|
2129
|
-
|
|
2139
|
+
____GetSpellTargetDestructable_result_6 = nil
|
|
2130
2140
|
end
|
|
2131
|
-
|
|
2141
|
+
____GetSpellTargetItem_result_7 = ____GetSpellTargetDestructable_result_6
|
|
2132
2142
|
end
|
|
2133
|
-
|
|
2143
|
+
____GetSpellTargetUnit_result_8 = ____GetSpellTargetItem_result_7
|
|
2134
2144
|
end
|
|
2135
|
-
local target =
|
|
2145
|
+
local target = ____GetSpellTargetUnit_result_8
|
|
2136
2146
|
if target then
|
|
2137
2147
|
invoke(event, unit, id, target)
|
|
2138
2148
|
end
|
|
@@ -2329,7 +2339,6 @@ Unit.autoAttackStartEvent = __TS__New(
|
|
|
2329
2339
|
)
|
|
2330
2340
|
Unit.onDamaging = (function()
|
|
2331
2341
|
local event = __TS__New(Event)
|
|
2332
|
-
local invoke = Event.invoke
|
|
2333
2342
|
local trigger = CreateTrigger()
|
|
2334
2343
|
TriggerRegisterAnyUnitEventBJ(trigger, EVENT_PLAYER_UNIT_DAMAGING)
|
|
2335
2344
|
TriggerAddCondition(
|
|
@@ -2428,7 +2437,6 @@ end)()
|
|
|
2428
2437
|
Unit.onDamage = __TS__New(
|
|
2429
2438
|
InitializingEvent,
|
|
2430
2439
|
function(event)
|
|
2431
|
-
local invoke = Event.invoke
|
|
2432
2440
|
local trigger = CreateTrigger()
|
|
2433
2441
|
TriggerRegisterAnyUnitEventBJ(trigger, EVENT_PLAYER_UNIT_DAMAGED)
|
|
2434
2442
|
TriggerAddCondition(
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/** @noSelfInFile */
|
|
2
|
+
import { AbilityType, AbilityTypeId } from "../ability-type";
|
|
3
|
+
import { ObjectDataEntryLevelFieldValueSupplier } from "../../entry";
|
|
4
|
+
export declare class MineAbilityType extends AbilityType {
|
|
5
|
+
static readonly BASE_ID: AbilityTypeId;
|
|
6
|
+
get activationDelay(): number[];
|
|
7
|
+
set activationDelay(activationDelay: ObjectDataEntryLevelFieldValueSupplier<number>);
|
|
8
|
+
get invisibilityDelay(): number[];
|
|
9
|
+
set invisibilityDelay(invisibilityDelay: ObjectDataEntryLevelFieldValueSupplier<number>);
|
|
10
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__Class = ____lualib.__TS__Class
|
|
3
|
+
local __TS__ClassExtends = ____lualib.__TS__ClassExtends
|
|
4
|
+
local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
|
|
5
|
+
local ____exports = {}
|
|
6
|
+
local ____ability_2Dtype = require("engine.object-data.entry.ability-type")
|
|
7
|
+
local AbilityType = ____ability_2Dtype.AbilityType
|
|
8
|
+
____exports.MineAbilityType = __TS__Class()
|
|
9
|
+
local MineAbilityType = ____exports.MineAbilityType
|
|
10
|
+
MineAbilityType.name = "MineAbilityType"
|
|
11
|
+
__TS__ClassExtends(MineAbilityType, AbilityType)
|
|
12
|
+
MineAbilityType.BASE_ID = fourCC("Amin")
|
|
13
|
+
__TS__SetDescriptor(
|
|
14
|
+
MineAbilityType.prototype,
|
|
15
|
+
"activationDelay",
|
|
16
|
+
{
|
|
17
|
+
get = function(self)
|
|
18
|
+
return self:getNumberLevelField("Min1")
|
|
19
|
+
end,
|
|
20
|
+
set = function(self, activationDelay)
|
|
21
|
+
self:setNumberLevelField("Min1", activationDelay)
|
|
22
|
+
end
|
|
23
|
+
},
|
|
24
|
+
true
|
|
25
|
+
)
|
|
26
|
+
__TS__SetDescriptor(
|
|
27
|
+
MineAbilityType.prototype,
|
|
28
|
+
"invisibilityDelay",
|
|
29
|
+
{
|
|
30
|
+
get = function(self)
|
|
31
|
+
return self:getNumberLevelField("Min2")
|
|
32
|
+
end,
|
|
33
|
+
set = function(self, invisibilityDelay)
|
|
34
|
+
self:setNumberLevelField("Min2", invisibilityDelay)
|
|
35
|
+
end
|
|
36
|
+
},
|
|
37
|
+
true
|
|
38
|
+
)
|
|
39
|
+
return ____exports
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="warpack-types/warpack" />
|
|
2
1
|
/** @noSelfInFile */
|
|
3
2
|
import { AttachmentPreset, AttachmentPresetInput } from "./auxiliary/attachment-preset";
|
|
4
3
|
import { MutableKeys } from "../../utility/types";
|
|
@@ -10,8 +9,8 @@ export type ObjectDataEntryConstructor<T extends ObjectDataEntry> = OmitConstruc
|
|
|
10
9
|
export type ObjectDataEntryAbstractConstructor<T extends ObjectDataEntry> = OmitConstructor<typeof ObjectDataEntry> & (abstract new (object: WarObject) => T);
|
|
11
10
|
export type ObjectDataEntryProperties<T extends ObjectDataEntry> = Partial<T[MutableKeys<T>]>;
|
|
12
11
|
export type ObjectDataEntryLevelFieldValueSupplier<ValueType extends string | number | boolean | undefined | Record<string, any>, InputValueType = ValueType> = ValueType | readonly ValueType[] | ((level: number, currentValue: InputValueType) => ValueType);
|
|
13
|
-
export declare const extractObjectDataEntryLevelFieldValue: <ValueType extends string | number | boolean | Record<string, any
|
|
14
|
-
export declare const extractObjectDataEntryLevelArrayFieldValue: <T extends string | number | boolean | Record<string, any
|
|
12
|
+
export declare const extractObjectDataEntryLevelFieldValue: <ValueType extends string | number | boolean | undefined | Record<string, any>, InputValueType = ValueType>(supplier: ObjectDataEntryLevelFieldValueSupplier<ValueType, InputValueType>, level: number, currentValue: InputValueType) => ValueType;
|
|
13
|
+
export declare const extractObjectDataEntryLevelArrayFieldValue: <T extends string | number | boolean | undefined | Record<string, any>, S extends T[]>(supplier: ObjectDataEntryLevelFieldValueSupplier<S>, level: number, currentValue: S) => S;
|
|
15
14
|
export declare abstract class ObjectDataEntry<Id extends ObjectDataEntryId = ObjectDataEntryId> {
|
|
16
15
|
protected readonly object: WarObject;
|
|
17
16
|
static readonly BASE_ID: ObjectDataEntryId;
|
|
@@ -114,4 +114,4 @@ export declare class AbilityCombatClassificationsLevelField extends AbilityLevel
|
|
|
114
114
|
protected setNativeFieldValue(instance: Ability, level: number, value: CombatClassifications): boolean;
|
|
115
115
|
}
|
|
116
116
|
export type AbilityDependentValue<ValueType extends boolean | number | string> = ValueType | AbilityField<ValueType> | AbilityLevelField<ValueType> | ((ability: Ability) => ValueType);
|
|
117
|
-
export declare const resolveCurrentAbilityDependentValue: <ValueType extends
|
|
117
|
+
export declare const resolveCurrentAbilityDependentValue: <ValueType extends boolean | number | string>(ability: Ability, value: AbilityDependentValue<ValueType>) => ValueType;
|
package/engine/object-field.d.ts
CHANGED
package/engine/random.d.ts
CHANGED
package/engine/random.lua
CHANGED
|
@@ -1,9 +1,18 @@
|
|
|
1
1
|
local ____exports = {}
|
|
2
2
|
local ____math = require("math")
|
|
3
3
|
local MAXIMUM_INTEGER = ____math.MAXIMUM_INTEGER
|
|
4
|
+
local PI = ____math.PI
|
|
4
5
|
local getRandomInt = GetRandomInt
|
|
5
6
|
local getRandomReal = GetRandomReal
|
|
7
|
+
local cos = math.cos
|
|
8
|
+
local sin = math.sin
|
|
9
|
+
local sqrt = math.sqrt
|
|
6
10
|
____exports.randomAngle = function() return getRandomReal(0, 360) end
|
|
7
11
|
____exports.randomInteger = function(m, n) return n ~= nil and getRandomInt(m, n) or getRandomInt(0, m or MAXIMUM_INTEGER) end
|
|
8
12
|
____exports.randomFloat = function(m, n) return n ~= nil and getRandomReal(m, n) or getRandomReal(0, m or MAXIMUM_INTEGER) end
|
|
13
|
+
____exports.randomXY = function(centerX, centerY, range)
|
|
14
|
+
local r = range * sqrt(getRandomReal(0, 1))
|
|
15
|
+
local t = getRandomReal(0, 1) * 2 * PI
|
|
16
|
+
return centerX + r * cos(t), centerY + r * sin(t)
|
|
17
|
+
end
|
|
9
18
|
return ____exports
|
|
@@ -13,7 +13,9 @@ export declare const ARCHMAGE_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
|
|
|
13
13
|
export declare const BLOOD_MAGE_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
|
|
14
14
|
export declare const MOUNTAIN_KING_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
|
|
15
15
|
export declare const PALADIN_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
|
|
16
|
+
export declare const ARCHER_HIGH_ELF_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
16
17
|
export declare const CAPTAIN_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
18
|
+
export declare const SWORDSMAN_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
17
19
|
export declare const ADMIRAL_PROUDMOORE_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
|
|
18
20
|
export declare const ANASTERIAN_SUNSTRIDER_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
|
|
19
21
|
export declare const ANTONIDAS_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
|
|
@@ -45,7 +47,22 @@ export declare const SPIRIT_WALKER_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
|
45
47
|
export declare const TAUREN_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
46
48
|
export declare const WIND_RIDER_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
47
49
|
export declare const WITCH_DOCTOR_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
50
|
+
export declare const ARCHER_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
51
|
+
export declare const CHIMAERA_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
52
|
+
export declare const DRUID_OF_THE_CLAW_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
53
|
+
export declare const DRUID_OF_THE_TALON_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
54
|
+
export declare const DRYAD_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
55
|
+
export declare const FAERIE_DRAGON_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
56
|
+
export declare const GLAIVE_THROWER_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
57
|
+
export declare const HIPPOGRYPH_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
58
|
+
export declare const HIPPOGRYPH_RIDER_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
59
|
+
export declare const HUNTRESS_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
60
|
+
export declare const MOUNTAIN_GIANT_THROWER_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
61
|
+
export declare const WISP_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
48
62
|
export declare const DEMON_HUNTER_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
|
|
63
|
+
export declare const KEEPER_OF_THE_GROVE_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
|
|
64
|
+
export declare const MOON_PRIESTESS_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
|
|
65
|
+
export declare const WARDEN_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
|
|
49
66
|
export declare const DEMON_HUNTER_DEMON_FORM_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
|
|
50
67
|
export declare const ABOMINATION_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
51
68
|
export declare const GHOUL_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
@@ -81,6 +98,7 @@ export declare const WENDIGO_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
|
81
98
|
export declare const WENDIGO_SHAMAN_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
82
99
|
export declare const WILDKIN_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
83
100
|
export declare const WRAITH_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
101
|
+
export declare const GOBLIN_LAND_MINE_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
84
102
|
export declare const CIRCLE_OF_POWER_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
85
103
|
export declare const CIRCLE_OF_POWER_MEDIUM_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
86
104
|
export declare const CIRCLE_OF_POWER_LARGE_UNIT_TYPE_ID: StandardUnitTypeId;
|
|
@@ -12,7 +12,9 @@ ____exports.ARCHMAGE_HERO_UNIT_TYPE_ID = fourCC("Hamg")
|
|
|
12
12
|
____exports.BLOOD_MAGE_HERO_UNIT_TYPE_ID = fourCC("Hblm")
|
|
13
13
|
____exports.MOUNTAIN_KING_HERO_UNIT_TYPE_ID = fourCC("Hmkg")
|
|
14
14
|
____exports.PALADIN_HERO_UNIT_TYPE_ID = fourCC("Hpal")
|
|
15
|
+
____exports.ARCHER_HIGH_ELF_UNIT_TYPE_ID = fourCC("nhea")
|
|
15
16
|
____exports.CAPTAIN_UNIT_TYPE_ID = fourCC("hcth")
|
|
17
|
+
____exports.SWORDSMAN_UNIT_TYPE_ID = fourCC("hhes")
|
|
16
18
|
____exports.ADMIRAL_PROUDMOORE_HERO_UNIT_TYPE_ID = fourCC("Hapm")
|
|
17
19
|
____exports.ANASTERIAN_SUNSTRIDER_HERO_UNIT_TYPE_ID = fourCC("Hssa")
|
|
18
20
|
____exports.ANTONIDAS_HERO_UNIT_TYPE_ID = fourCC("Hant")
|
|
@@ -44,7 +46,22 @@ ____exports.SPIRIT_WALKER_UNIT_TYPE_ID = fourCC("ospw")
|
|
|
44
46
|
____exports.TAUREN_UNIT_TYPE_ID = fourCC("otau")
|
|
45
47
|
____exports.WIND_RIDER_UNIT_TYPE_ID = fourCC("owyv")
|
|
46
48
|
____exports.WITCH_DOCTOR_UNIT_TYPE_ID = fourCC("odoc")
|
|
49
|
+
____exports.ARCHER_UNIT_TYPE_ID = fourCC("earc")
|
|
50
|
+
____exports.CHIMAERA_UNIT_TYPE_ID = fourCC("echm")
|
|
51
|
+
____exports.DRUID_OF_THE_CLAW_UNIT_TYPE_ID = fourCC("edoc")
|
|
52
|
+
____exports.DRUID_OF_THE_TALON_UNIT_TYPE_ID = fourCC("edot")
|
|
53
|
+
____exports.DRYAD_UNIT_TYPE_ID = fourCC("edry")
|
|
54
|
+
____exports.FAERIE_DRAGON_UNIT_TYPE_ID = fourCC("efdr")
|
|
55
|
+
____exports.GLAIVE_THROWER_UNIT_TYPE_ID = fourCC("ebal")
|
|
56
|
+
____exports.HIPPOGRYPH_UNIT_TYPE_ID = fourCC("ehip")
|
|
57
|
+
____exports.HIPPOGRYPH_RIDER_UNIT_TYPE_ID = fourCC("ehpr")
|
|
58
|
+
____exports.HUNTRESS_UNIT_TYPE_ID = fourCC("esen")
|
|
59
|
+
____exports.MOUNTAIN_GIANT_THROWER_UNIT_TYPE_ID = fourCC("emtg")
|
|
60
|
+
____exports.WISP_UNIT_TYPE_ID = fourCC("ewsp")
|
|
47
61
|
____exports.DEMON_HUNTER_HERO_UNIT_TYPE_ID = fourCC("Edem")
|
|
62
|
+
____exports.KEEPER_OF_THE_GROVE_HERO_UNIT_TYPE_ID = fourCC("Ekee")
|
|
63
|
+
____exports.MOON_PRIESTESS_HERO_UNIT_TYPE_ID = fourCC("Emoo")
|
|
64
|
+
____exports.WARDEN_HERO_UNIT_TYPE_ID = fourCC("Ewar")
|
|
48
65
|
____exports.DEMON_HUNTER_DEMON_FORM_HERO_UNIT_TYPE_ID = fourCC("Edmm")
|
|
49
66
|
____exports.ABOMINATION_UNIT_TYPE_ID = fourCC("uabo")
|
|
50
67
|
____exports.GHOUL_UNIT_TYPE_ID = fourCC("ugho")
|
|
@@ -80,6 +97,7 @@ ____exports.WENDIGO_UNIT_TYPE_ID = fourCC("nwen")
|
|
|
80
97
|
____exports.WENDIGO_SHAMAN_UNIT_TYPE_ID = fourCC("nwns")
|
|
81
98
|
____exports.WILDKIN_UNIT_TYPE_ID = fourCC("nowb")
|
|
82
99
|
____exports.WRAITH_UNIT_TYPE_ID = fourCC("ngh2")
|
|
100
|
+
____exports.GOBLIN_LAND_MINE_UNIT_TYPE_ID = fourCC("nglm")
|
|
83
101
|
____exports.CIRCLE_OF_POWER_UNIT_TYPE_ID = fourCC("ncop")
|
|
84
102
|
____exports.CIRCLE_OF_POWER_MEDIUM_UNIT_TYPE_ID = fourCC("ncp2")
|
|
85
103
|
____exports.CIRCLE_OF_POWER_LARGE_UNIT_TYPE_ID = fourCC("ncp3")
|
|
@@ -16,7 +16,7 @@ export declare const LEVEL_SKIP_REQUIREMENT_ABILITY_INTEGER_FIELD: AbilityIntege
|
|
|
16
16
|
export declare const HERO_ABILITY_ABILITY_BOOLEAN_FIELD: AbilityBooleanField & symbol;
|
|
17
17
|
export declare const ITEM_ABILITY_ABILITY_BOOLEAN_FIELD: AbilityBooleanField & symbol;
|
|
18
18
|
export declare const CHECK_DEPENDENCIES_ABILITY_BOOLEAN_FIELD: AbilityBooleanField & symbol;
|
|
19
|
-
export declare const
|
|
19
|
+
export declare const MISSILE_ARC_ABILITY_FLOAT_FIELD: AbilityFloatField & symbol;
|
|
20
20
|
export declare const NAME_ABILITY_STRING_FIELD: AbilityStringField & symbol;
|
|
21
21
|
export declare const ICON_ACTIVATED_ABILITY_STRING_FIELD: AbilityStringField & symbol;
|
|
22
22
|
export declare const ICON_RESEARCH_ABILITY_STRING_FIELD: AbilityStringField & symbol;
|
|
@@ -27,7 +27,7 @@ ____exports.LEVEL_SKIP_REQUIREMENT_ABILITY_INTEGER_FIELD = AbilityIntegerField:c
|
|
|
27
27
|
____exports.HERO_ABILITY_ABILITY_BOOLEAN_FIELD = AbilityBooleanField:create(fourCC("aher"))
|
|
28
28
|
____exports.ITEM_ABILITY_ABILITY_BOOLEAN_FIELD = AbilityBooleanField:create(fourCC("aite"))
|
|
29
29
|
____exports.CHECK_DEPENDENCIES_ABILITY_BOOLEAN_FIELD = AbilityBooleanField:create(fourCC("achd"))
|
|
30
|
-
____exports.
|
|
30
|
+
____exports.MISSILE_ARC_ABILITY_FLOAT_FIELD = AbilityFloatField:create(fourCC("amac"))
|
|
31
31
|
____exports.NAME_ABILITY_STRING_FIELD = AbilityStringField:create(fourCC("anam"))
|
|
32
32
|
____exports.ICON_ACTIVATED_ABILITY_STRING_FIELD = AbilityStringField:create(fourCC("auar"))
|
|
33
33
|
____exports.ICON_RESEARCH_ABILITY_STRING_FIELD = AbilityStringField:create(fourCC("arar"))
|
package/engine/unit.lua
CHANGED
|
@@ -18,8 +18,7 @@ require("engine.internal.unit.detach-missiles")
|
|
|
18
18
|
require("engine.internal.unit.band-aids.ancestral-spirit-cannibalize")
|
|
19
19
|
do
|
|
20
20
|
local ____unit = require("engine.internal.unit")
|
|
21
|
-
|
|
22
|
-
____exports.Unit = Unit
|
|
21
|
+
____exports.Unit = ____unit.Unit
|
|
23
22
|
end
|
|
24
23
|
do
|
|
25
24
|
local ____export = require("engine.internal.unit+damage")
|
|
@@ -29,4 +28,12 @@ do
|
|
|
29
28
|
end
|
|
30
29
|
end
|
|
31
30
|
end
|
|
31
|
+
do
|
|
32
|
+
local ____export = require("engine.internal.unit+rally")
|
|
33
|
+
for ____exportKey, ____exportValue in pairs(____export) do
|
|
34
|
+
if ____exportKey ~= "default" then
|
|
35
|
+
____exports[____exportKey] = ____exportValue
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
32
39
|
return ____exports
|