warscript 0.0.1-dev.459629d → 0.0.1-dev.45a73a4
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/core/dummy.lua +4 -2
- package/core/types/effect.d.ts +11 -1
- package/core/types/effect.lua +43 -77
- package/core/types/frame.d.ts +15 -2
- package/core/types/frame.lua +16 -30
- package/core/types/handle.lua +3 -0
- package/core/types/player.d.ts +1 -0
- package/core/types/player.lua +6 -2
- package/core/types/playerColor.lua +4 -3
- package/core/types/sound.d.ts +1 -1
- package/core/types/sound.lua +13 -8
- package/core/types/tileCell.d.ts +7 -2
- package/core/types/tileCell.lua +11 -0
- package/core/types/unit.d.ts +5 -0
- package/core/types/unit.lua +5 -0
- package/core/util.d.ts +3 -1
- package/core/util.lua +109 -3
- package/decl/native.d.ts +705 -7
- package/engine/ability-type-extended-tooltip.d.ts +8 -0
- package/engine/ability-type-extended-tooltip.lua +44 -0
- package/engine/behaviour/ability/apply-unit-behavior.lua +5 -0
- package/engine/behaviour/ability/damage.d.ts +1 -0
- package/engine/behaviour/ability/damage.lua +12 -14
- package/engine/behaviour/ability/emulate-impact.lua +1 -1
- package/engine/behaviour/ability/on-command-impact.d.ts +1 -0
- package/engine/behaviour/ability/on-command-impact.lua +1 -0
- package/engine/behaviour/ability.d.ts +2 -0
- package/engine/behaviour/ability.lua +25 -0
- package/engine/behaviour/unit.d.ts +1 -0
- package/engine/behaviour/unit.lua +1 -0
- package/engine/buff.d.ts +12 -10
- package/engine/buff.lua +64 -16
- package/engine/index.d.ts +2 -1
- package/engine/internal/ability.d.ts +7 -0
- package/engine/internal/ability.lua +60 -31
- package/engine/internal/item/owner-cache.d.ts +5 -0
- package/engine/internal/item/owner-cache.lua +4 -0
- package/engine/internal/item+owner.d.ts +2 -0
- package/engine/internal/item+owner.lua +27 -4
- package/engine/internal/item.d.ts +17 -1
- package/engine/internal/item.lua +115 -23
- package/engine/internal/misc/unit-ability-level-natives.d.ts +2 -0
- package/engine/internal/misc/unit-ability-level-natives.lua +12 -0
- package/engine/internal/object-data/health-regeneration-rate-increase.d.ts +2 -0
- package/engine/internal/object-data/health-regeneration-rate-increase.lua +48 -0
- package/engine/internal/unit/add-item-to-slot-init.lua +3 -14
- package/engine/internal/unit/add-item-to-slot.lua +53 -12
- package/engine/internal/unit/appearance.d.ts +15 -0
- package/engine/internal/unit/appearance.lua +85 -0
- package/engine/internal/unit/bonus.d.ts +8 -0
- package/engine/internal/unit/bonus.lua +69 -5
- package/engine/internal/unit/buff.d.ts +2 -2
- package/engine/internal/unit/buff.lua +34 -19
- package/engine/internal/unit/equipment-inventory.d.ts +44 -0
- package/engine/internal/unit/equipment-inventory.lua +233 -0
- package/engine/internal/unit/expiration-timer.lua +1 -1
- package/engine/internal/unit/extended-inventory.d.ts +25 -0
- package/engine/internal/unit/extended-inventory.lua +99 -0
- package/engine/internal/unit/ignore-events-items.lua +10 -1
- package/engine/internal/unit/{item.d.ts → inventory.d.ts} +7 -3
- package/engine/internal/unit/inventory.lua +87 -0
- package/engine/internal/unit/item-container.d.ts +25 -0
- package/engine/internal/unit/item-container.lua +11 -0
- package/engine/internal/unit/item-order-events.d.ts +17 -0
- package/engine/internal/unit/item-order-events.lua +67 -0
- package/engine/internal/unit/item-slot.d.ts +27 -0
- package/engine/internal/unit/item-slot.lua +92 -0
- package/engine/internal/unit/order.d.ts +3 -3
- package/engine/internal/unit/order.lua +10 -10
- package/engine/internal/unit+ability.d.ts +2 -1
- package/engine/internal/unit+ability.lua +63 -2
- package/engine/internal/unit+damage.d.ts +9 -0
- package/engine/internal/unit+damage.lua +33 -0
- package/engine/internal/unit+rally.lua +9 -31
- package/engine/internal/unit-missile-data.lua +58 -32
- package/engine/internal/unit-missile-launch.lua +13 -13
- package/engine/internal/unit.d.ts +2 -10
- package/engine/internal/unit.lua +50 -100
- package/engine/local-client.d.ts +21 -0
- package/engine/local-client.lua +242 -57
- package/engine/object-data/auxiliary/attachment-preset.d.ts +7 -0
- package/engine/object-data/auxiliary/attachment-preset.lua +7 -0
- package/engine/object-data/auxiliary/equipment-slot.d.ts +12 -0
- package/engine/object-data/auxiliary/equipment-slot.lua +2 -0
- package/engine/object-data/auxiliary/equipment-type.d.ts +12 -0
- package/engine/object-data/auxiliary/equipment-type.lua +26 -0
- package/engine/object-data/auxiliary/item-class.d.ts +11 -0
- package/engine/object-data/auxiliary/item-class.lua +2 -0
- package/engine/object-data/auxiliary/item-tag.d.ts +12 -0
- package/engine/object-data/auxiliary/item-tag.lua +2 -0
- package/engine/object-data/auxiliary/order-type.d.ts +939 -0
- package/engine/object-data/auxiliary/order-type.lua +2 -0
- package/engine/object-data/auxiliary/sound-set-name.d.ts +14 -3
- package/engine/object-data/entry/ability-type/apprehend.d.ts +22 -0
- package/engine/object-data/entry/ability-type/apprehend.lua +66 -0
- package/engine/object-data/entry/ability-type/aura-of-blight.d.ts +13 -0
- package/engine/object-data/entry/ability-type/aura-of-blight.lua +39 -0
- package/engine/object-data/entry/ability-type/banshee.d.ts +8 -0
- package/engine/object-data/entry/ability-type/banshee.lua +13 -0
- package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.d.ts +12 -0
- package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.lua +27 -0
- package/engine/object-data/entry/ability-type/banshees-wail.d.ts +31 -0
- package/engine/object-data/entry/ability-type/banshees-wail.lua +117 -0
- package/engine/object-data/entry/ability-type/battering-ram.d.ts +33 -0
- package/engine/object-data/entry/ability-type/battering-ram.lua +130 -0
- package/engine/object-data/entry/ability-type/blank-passive-with-cooldown.d.ts +23 -0
- package/engine/object-data/entry/ability-type/blank-passive-with-cooldown.lua +112 -0
- package/engine/object-data/entry/ability-type/blank-passive.d.ts +4 -0
- package/engine/object-data/entry/ability-type/blank-passive.lua +27 -7
- package/engine/object-data/entry/ability-type/breath-of-fire.d.ts +11 -0
- package/engine/object-data/entry/ability-type/breath-of-fire.lua +27 -0
- package/engine/object-data/entry/ability-type/cleansing-fire.d.ts +27 -0
- package/engine/object-data/entry/ability-type/cleansing-fire.lua +104 -0
- package/engine/object-data/entry/ability-type/consecration.d.ts +15 -0
- package/engine/object-data/entry/ability-type/consecration.lua +52 -0
- package/engine/object-data/entry/ability-type/cooldown-reduction.d.ts +12 -0
- package/engine/object-data/entry/ability-type/cooldown-reduction.lua +39 -0
- package/engine/object-data/entry/ability-type/critical-strike-system.d.ts +18 -0
- package/engine/object-data/entry/ability-type/critical-strike-system.lua +65 -0
- package/engine/object-data/entry/ability-type/deathseeker-arrows.d.ts +21 -0
- package/engine/object-data/entry/ability-type/deathseeker-arrows.lua +78 -0
- package/engine/object-data/entry/ability-type/equipment-inventory-interface.d.ts +8 -0
- package/engine/object-data/entry/ability-type/equipment-inventory-interface.lua +13 -0
- package/engine/object-data/entry/ability-type/equipment-inventory.d.ts +13 -0
- package/engine/object-data/entry/ability-type/equipment-inventory.lua +27 -0
- package/engine/object-data/entry/ability-type/equipment.d.ts +13 -0
- package/engine/object-data/entry/ability-type/equipment.lua +27 -0
- package/engine/object-data/entry/ability-type/exhume-corpses.d.ts +14 -0
- package/engine/object-data/entry/ability-type/exhume-corpses.lua +40 -0
- package/engine/object-data/entry/ability-type/firebolt.d.ts +7 -0
- package/engine/object-data/entry/ability-type/firebolt.lua +13 -0
- package/engine/object-data/entry/ability-type/flame-strike.d.ts +25 -0
- package/engine/object-data/entry/ability-type/flame-strike.lua +92 -0
- package/engine/object-data/entry/ability-type/grant-talent-point.d.ts +8 -0
- package/engine/object-data/entry/ability-type/grant-talent-point.lua +13 -0
- package/engine/object-data/entry/ability-type/grim-conviction.d.ts +36 -0
- package/engine/object-data/entry/ability-type/grim-conviction.lua +131 -0
- package/engine/object-data/entry/ability-type/grit.d.ts +18 -0
- package/engine/object-data/entry/ability-type/grit.lua +65 -0
- package/engine/object-data/entry/ability-type/guiding-hand.d.ts +27 -0
- package/engine/object-data/entry/ability-type/guiding-hand.lua +104 -0
- package/engine/object-data/entry/ability-type/headsplitter.d.ts +27 -0
- package/engine/object-data/entry/ability-type/headsplitter.lua +104 -0
- package/engine/object-data/entry/ability-type/healing-modifier.d.ts +9 -0
- package/engine/object-data/entry/ability-type/healing-modifier.lua +26 -0
- package/engine/object-data/entry/ability-type/healing-ward-aura.d.ts +13 -0
- package/engine/object-data/entry/ability-type/healing-ward-aura.lua +39 -0
- package/engine/object-data/entry/ability-type/heroic-slash.d.ts +18 -0
- package/engine/object-data/entry/ability-type/heroic-slash.lua +65 -0
- package/engine/object-data/entry/ability-type/holy-wrath.d.ts +30 -0
- package/engine/object-data/entry/ability-type/holy-wrath.lua +117 -0
- package/engine/object-data/entry/ability-type/inspire-courage.d.ts +18 -0
- package/engine/object-data/entry/ability-type/inspire-courage.lua +65 -0
- package/engine/object-data/entry/ability-type/item-life-regeneration.d.ts +10 -0
- package/engine/object-data/entry/ability-type/item-life-regeneration.lua +26 -0
- package/engine/object-data/entry/ability-type/life-drain.d.ts +37 -0
- package/engine/object-data/entry/ability-type/life-drain.lua +144 -0
- package/engine/object-data/entry/ability-type/lights-mercy.d.ts +27 -0
- package/engine/object-data/entry/ability-type/lights-mercy.lua +104 -0
- package/engine/object-data/entry/ability-type/mana-efficiency.d.ts +12 -0
- package/engine/object-data/entry/ability-type/mana-efficiency.lua +39 -0
- package/engine/object-data/entry/ability-type/mind-control.d.ts +21 -0
- package/engine/object-data/entry/ability-type/mind-control.lua +78 -0
- package/engine/object-data/entry/ability-type/on-attack-cast-spell.d.ts +21 -0
- package/engine/object-data/entry/ability-type/on-attack-cast-spell.lua +52 -0
- package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.d.ts +19 -0
- package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.lua +65 -0
- package/engine/object-data/entry/ability-type/on-hit-cast-spell.d.ts +15 -0
- package/engine/object-data/entry/ability-type/on-hit-cast-spell.lua +26 -0
- package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.d.ts +6 -0
- package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.lua +12 -0
- package/engine/object-data/entry/ability-type/provoke.d.ts +21 -0
- package/engine/object-data/entry/ability-type/provoke.lua +66 -0
- package/engine/object-data/entry/ability-type/rain-of-fire.d.ts +7 -0
- package/engine/object-data/entry/ability-type/rain-of-fire.lua +13 -0
- package/engine/object-data/entry/ability-type/raise-the-banner.d.ts +9 -0
- package/engine/object-data/entry/ability-type/raise-the-banner.lua +26 -0
- package/engine/object-data/entry/ability-type/resolve.d.ts +12 -0
- package/engine/object-data/entry/ability-type/resolve.lua +39 -0
- package/engine/object-data/entry/ability-type/righteous-fury.d.ts +33 -0
- package/engine/object-data/entry/ability-type/righteous-fury.lua +130 -0
- package/engine/object-data/entry/ability-type/sacred-aura.d.ts +27 -0
- package/engine/object-data/entry/ability-type/sacred-aura.lua +104 -0
- package/engine/object-data/entry/ability-type/soul-burn.d.ts +22 -0
- package/engine/object-data/entry/ability-type/soul-burn.lua +79 -0
- package/engine/object-data/entry/ability-type/soul-lantern.d.ts +30 -0
- package/engine/object-data/entry/ability-type/soul-lantern.lua +117 -0
- package/engine/object-data/entry/ability-type/spell-amp.d.ts +15 -0
- package/engine/object-data/entry/ability-type/spell-amp.lua +52 -0
- package/engine/object-data/entry/ability-type/spell-critical-strike.d.ts +12 -0
- package/engine/object-data/entry/ability-type/spell-critical-strike.lua +39 -0
- package/engine/object-data/entry/ability-type/spell-vamp.d.ts +12 -0
- package/engine/object-data/entry/ability-type/spell-vamp.lua +39 -0
- package/engine/object-data/entry/ability-type/stackable-evasion.d.ts +9 -0
- package/engine/object-data/entry/ability-type/stackable-evasion.lua +13 -0
- package/engine/object-data/entry/ability-type/stackable-hardened-skin.d.ts +21 -0
- package/engine/object-data/entry/ability-type/stackable-hardened-skin.lua +78 -0
- package/engine/object-data/entry/ability-type/stackable-life-steal.d.ts +9 -0
- package/engine/object-data/entry/ability-type/stackable-life-steal.lua +26 -0
- package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.d.ts +9 -0
- package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.lua +13 -0
- package/engine/object-data/entry/ability-type/stackable-thorn-shield.d.ts +9 -0
- package/engine/object-data/entry/ability-type/stackable-thorn-shield.lua +13 -0
- package/engine/object-data/entry/ability-type/stat-details.d.ts +12 -0
- package/engine/object-data/entry/ability-type/stat-details.lua +27 -0
- package/engine/object-data/entry/ability-type/surge-of-light.d.ts +33 -0
- package/engine/object-data/entry/ability-type/surge-of-light.lua +130 -0
- package/engine/object-data/entry/ability-type/sweeping-strike.d.ts +57 -0
- package/engine/object-data/entry/ability-type/sweeping-strike.lua +234 -0
- package/engine/object-data/entry/ability-type/talents.d.ts +12 -0
- package/engine/object-data/entry/ability-type/talents.lua +27 -0
- package/engine/object-data/entry/ability-type/unyielding-guard.d.ts +30 -0
- package/engine/object-data/entry/ability-type/unyielding-guard.lua +117 -0
- package/engine/object-data/entry/ability-type/valiant-charge.d.ts +27 -0
- package/engine/object-data/entry/ability-type/valiant-charge.lua +104 -0
- package/engine/object-data/entry/ability-type/warcry.d.ts +9 -0
- package/engine/object-data/entry/ability-type/warcry.lua +26 -0
- package/engine/object-data/entry/ability-type/withering-fire.d.ts +21 -0
- package/engine/object-data/entry/ability-type/withering-fire.lua +78 -0
- package/engine/object-data/entry/ability-type.d.ts +29 -6
- package/engine/object-data/entry/ability-type.lua +240 -45
- package/engine/object-data/entry/buff-type.d.ts +6 -2
- package/engine/object-data/entry/buff-type.lua +26 -0
- package/engine/object-data/entry/destructible-type.d.ts +6 -2
- package/engine/object-data/entry/destructible-type.lua +26 -0
- package/engine/object-data/entry/item-type.d.ts +18 -3
- package/engine/object-data/entry/item-type.lua +84 -0
- package/engine/object-data/entry/lightning-type.d.ts +6 -8
- package/engine/object-data/entry/lightning-type.lua +1 -1
- package/engine/object-data/entry/sound-preset.d.ts +2 -2
- package/engine/object-data/entry/unit-type.d.ts +47 -2
- package/engine/object-data/entry/unit-type.lua +383 -49
- package/engine/object-data/entry/upgrade.d.ts +2 -2
- package/engine/object-data/entry.d.ts +6 -1
- package/engine/object-data/entry.lua +8 -0
- package/engine/random.lua +1 -1
- package/engine/standard/entries/ability-type.d.ts +3102 -7
- package/engine/standard/entries/ability-type.lua +0 -6
- package/engine/standard/entries/buff-type.d.ts +45 -0
- package/engine/standard/entries/buff-type.lua +43 -0
- package/engine/standard/entries/item-type.d.ts +1299 -0
- package/engine/standard/entries/item-type.lua +2 -0
- package/engine/standard/entries/lightning-type.d.ts +42 -15
- package/engine/standard/entries/lightning-type.lua +0 -14
- package/engine/standard/entries/unit-type.d.ts +5 -0
- package/engine/standard/entries/unit-type.lua +5 -0
- package/engine/unit.d.ts +5 -1
- package/engine/unit.lua +5 -1
- package/event.d.ts +1 -1
- package/objutil/buff.lua +1 -1
- package/package.json +2 -22
- package/utility/arrays.d.ts +7 -1
- package/utility/arrays.lua +17 -0
- package/engine/internal/unit/item.lua +0 -78
package/core/dummy.lua
CHANGED
|
@@ -15,6 +15,8 @@ local ____preconditions = require("utility.preconditions")
|
|
|
15
15
|
local checkNotNull = ____preconditions.checkNotNull
|
|
16
16
|
local ____ability = require("engine.internal.ability")
|
|
17
17
|
local getOrderIdByAbilityTypeId = ____ability.getOrderIdByAbilityTypeId
|
|
18
|
+
local ____unit_2Dability_2Dlevel_2Dnatives = require("engine.internal.misc.unit-ability-level-natives")
|
|
19
|
+
local rawSetUnitAbilityLevel = ____unit_2Dability_2Dlevel_2Dnatives.rawSetUnitAbilityLevel
|
|
18
20
|
local neutralVictim = Player.neutralVictim.handle
|
|
19
21
|
____exports.InstantDummyCaster = __TS__Class()
|
|
20
22
|
local InstantDummyCaster = ____exports.InstantDummyCaster
|
|
@@ -42,7 +44,7 @@ function InstantDummyCaster.prototype.prepare(self, owner, abilityId, level)
|
|
|
42
44
|
if type(abilityId) == "number" then
|
|
43
45
|
UnitAddAbility(dummy, abilityId)
|
|
44
46
|
if type(level) == "number" then
|
|
45
|
-
|
|
47
|
+
rawSetUnitAbilityLevel(dummy, abilityId, level + 1)
|
|
46
48
|
else
|
|
47
49
|
level(UnitAbility:of(
|
|
48
50
|
checkNotNull(BlzGetUnitAbility(dummy, abilityId)),
|
|
@@ -56,7 +58,7 @@ function InstantDummyCaster.prototype.prepare(self, owner, abilityId, level)
|
|
|
56
58
|
end
|
|
57
59
|
if __TS__ArrayIsArray(level) then
|
|
58
60
|
for i = 1, #abilityId do
|
|
59
|
-
|
|
61
|
+
rawSetUnitAbilityLevel(dummy, abilityId[i], level[i] + 1)
|
|
60
62
|
end
|
|
61
63
|
else
|
|
62
64
|
local abilities = {}
|
package/core/types/effect.d.ts
CHANGED
|
@@ -5,7 +5,9 @@ import { PlayerColor } from "./playerColor";
|
|
|
5
5
|
declare const enum EffectPropertyKey {
|
|
6
6
|
COLOR = 100,
|
|
7
7
|
PITCH = 101,
|
|
8
|
-
ROLL = 102
|
|
8
|
+
ROLL = 102,
|
|
9
|
+
BLEND_TIME = 103,
|
|
10
|
+
TIME_SCALE = 104
|
|
9
11
|
}
|
|
10
12
|
export type EffectParameters = {
|
|
11
13
|
readonly delay?: number;
|
|
@@ -21,7 +23,15 @@ export declare class Effect extends Handle<jeffect> {
|
|
|
21
23
|
private [EffectPropertyKey.COLOR]?;
|
|
22
24
|
private [EffectPropertyKey.PITCH]?;
|
|
23
25
|
private [EffectPropertyKey.ROLL]?;
|
|
26
|
+
private [EffectPropertyKey.BLEND_TIME]?;
|
|
27
|
+
private [EffectPropertyKey.TIME_SCALE]?;
|
|
24
28
|
protected onDestroy(): HandleDestructor;
|
|
29
|
+
setAnimation(animation: string): void;
|
|
30
|
+
queueAnimation(animation: string): void;
|
|
31
|
+
get blendTime(): number;
|
|
32
|
+
set blendTime(blendTime: number);
|
|
33
|
+
get timeScale(): number;
|
|
34
|
+
set timeScale(timeScale: number);
|
|
25
35
|
get color(): PlayerColor;
|
|
26
36
|
set color(color: PlayerColor);
|
|
27
37
|
get scale(): number;
|
package/core/types/effect.lua
CHANGED
|
@@ -15,25 +15,22 @@ local ____timer = require("core.types.timer")
|
|
|
15
15
|
local Timer = ____timer.Timer
|
|
16
16
|
local ____unit = require("engine.internal.unit")
|
|
17
17
|
local Unit = ____unit.Unit
|
|
18
|
-
local ____pairs = _G.pairs
|
|
19
|
-
local select = _G.select
|
|
20
|
-
local mathRad = math.rad
|
|
21
18
|
local addSpecialEffect = AddSpecialEffect
|
|
22
19
|
local addSpecialEffectTarget = AddSpecialEffectTarget
|
|
23
20
|
local destroyEffect = DestroyEffect
|
|
21
|
+
local getLocationZ = GetLocationZ
|
|
24
22
|
local getSpecialEffectScale = BlzGetSpecialEffectScale
|
|
25
|
-
local
|
|
26
|
-
local
|
|
23
|
+
local moveLocation = MoveLocation
|
|
24
|
+
local queueSpecialEffectAnimation = BlzQueueSpecialEffectAnimation
|
|
25
|
+
local setSpecialEffectAnimation = BlzSetSpecialEffectAnimation
|
|
26
|
+
local setSpecialEffectAnimationBlendTime = BlzSetSpecialEffectAnimationBlendTime
|
|
27
|
+
local setSpecialEffectTimeScale = BlzSetSpecialEffectTimeScale
|
|
28
|
+
local setSpecialEffectColorByPlayer = BlzSetSpecialEffectColorByPlayer
|
|
27
29
|
local setSpecialEffectPitch = BlzSetSpecialEffectPitch
|
|
28
30
|
local setSpecialEffectRoll = BlzSetSpecialEffectRoll
|
|
29
|
-
local
|
|
30
|
-
local specialEffectAddSubAnimation = BlzSpecialEffectAddSubAnimation
|
|
31
|
-
local specialEffectClearSubAnimations = BlzSpecialEffectClearSubAnimations
|
|
32
|
-
local specialEffectRemoveSubAnimation = BlzSpecialEffectRemoveSubAnimation
|
|
31
|
+
local setSpecialEffectScale = BlzSetSpecialEffectScale
|
|
33
32
|
local setSpecialEffectZ = BlzSetSpecialEffectZ
|
|
34
|
-
local
|
|
35
|
-
local getUnitZ = BlzGetUnitZ
|
|
36
|
-
local moveLocation = MoveLocation
|
|
33
|
+
local mathRad = math.rad
|
|
37
34
|
local location = Location(0, 0)
|
|
38
35
|
local function setSpecialEffectPitchDegrees(effect, pitch)
|
|
39
36
|
setSpecialEffectPitch(
|
|
@@ -47,71 +44,6 @@ local function setSpecialEffectRollDegrees(effect, roll)
|
|
|
47
44
|
-mathRad(roll)
|
|
48
45
|
)
|
|
49
46
|
end
|
|
50
|
-
local animTypeByAnimationName = {
|
|
51
|
-
attack = ANIM_TYPE_ATTACK,
|
|
52
|
-
birth = ANIM_TYPE_BIRTH,
|
|
53
|
-
death = ANIM_TYPE_DEATH,
|
|
54
|
-
decay = ANIM_TYPE_DECAY,
|
|
55
|
-
dissipate = ANIM_TYPE_DISSIPATE,
|
|
56
|
-
morph = ANIM_TYPE_MORPH,
|
|
57
|
-
portrait = ANIM_TYPE_PORTRAIT,
|
|
58
|
-
sleep = ANIM_TYPE_SLEEP,
|
|
59
|
-
spell = ANIM_TYPE_SPELL,
|
|
60
|
-
stand = ANIM_TYPE_STAND,
|
|
61
|
-
walk = ANIM_TYPE_WALK
|
|
62
|
-
}
|
|
63
|
-
local subAnimTypeByAnimationQualifier = {
|
|
64
|
-
alternate = SUBANIM_TYPE_ROOTED,
|
|
65
|
-
alternateex = SUBANIM_TYPE_ALTERNATE_EX,
|
|
66
|
-
chain = SUBANIM_TYPE_CHAINLIGHTNING,
|
|
67
|
-
channel = SUBANIM_TYPE_CHANNEL,
|
|
68
|
-
complete = SUBANIM_TYPE_COMPLETE,
|
|
69
|
-
critical = SUBANIM_TYPE_CRITICAL,
|
|
70
|
-
defend = SUBANIM_TYPE_DEFEND,
|
|
71
|
-
drain = SUBANIM_TYPE_DRAIN,
|
|
72
|
-
eattree = SUBANIM_TYPE_EATTREE,
|
|
73
|
-
fast = SUBANIM_TYPE_FAST,
|
|
74
|
-
fill = SUBANIM_TYPE_FILL,
|
|
75
|
-
flail = SUBANIM_TYPE_FLAIL,
|
|
76
|
-
flesh = SUBANIM_TYPE_FLESH,
|
|
77
|
-
fifth = SUBANIM_TYPE_FIFTH,
|
|
78
|
-
fire = SUBANIM_TYPE_FIRE,
|
|
79
|
-
first = SUBANIM_TYPE_FIRST,
|
|
80
|
-
five = SUBANIM_TYPE_FIVE,
|
|
81
|
-
four = SUBANIM_TYPE_FOUR,
|
|
82
|
-
fourth = SUBANIM_TYPE_FOURTH,
|
|
83
|
-
gold = SUBANIM_TYPE_GOLD,
|
|
84
|
-
hit = SUBANIM_TYPE_HIT,
|
|
85
|
-
large = SUBANIM_TYPE_LARGE,
|
|
86
|
-
left = SUBANIM_TYPE_LEFT,
|
|
87
|
-
light = SUBANIM_TYPE_LIGHT,
|
|
88
|
-
looping = SUBANIM_TYPE_LOOPING,
|
|
89
|
-
lumber = SUBANIM_TYPE_LUMBER,
|
|
90
|
-
medium = SUBANIM_TYPE_MEDIUM,
|
|
91
|
-
moderate = SUBANIM_TYPE_MODERATE,
|
|
92
|
-
off = SUBANIM_TYPE_OFF,
|
|
93
|
-
one = SUBANIM_TYPE_ONE,
|
|
94
|
-
puke = SUBANIM_TYPE_PUKE,
|
|
95
|
-
ready = SUBANIM_TYPE_READY,
|
|
96
|
-
right = SUBANIM_TYPE_RIGHT,
|
|
97
|
-
second = SUBANIM_TYPE_SECOND,
|
|
98
|
-
severe = SUBANIM_TYPE_SEVERE,
|
|
99
|
-
slam = SUBANIM_TYPE_SLAM,
|
|
100
|
-
small = SUBANIM_TYPE_SMALL,
|
|
101
|
-
spiked = SUBANIM_TYPE_SPIKED,
|
|
102
|
-
spin = SUBANIM_TYPE_SPIN,
|
|
103
|
-
swim = SUBANIM_TYPE_SWIM,
|
|
104
|
-
talk = SUBANIM_TYPE_TALK,
|
|
105
|
-
third = SUBANIM_TYPE_THIRD,
|
|
106
|
-
three = SUBANIM_TYPE_THREE,
|
|
107
|
-
throw = SUBANIM_TYPE_THROW,
|
|
108
|
-
two = SUBANIM_TYPE_TWO,
|
|
109
|
-
turn = SUBANIM_TYPE_TURN,
|
|
110
|
-
victory = SUBANIM_TYPE_VICTORY,
|
|
111
|
-
work = SUBANIM_TYPE_WORK,
|
|
112
|
-
wounded = SUBANIM_TYPE_WOUNDED,
|
|
113
|
-
upgrade = SUBANIM_TYPE_UPGRADE
|
|
114
|
-
}
|
|
115
47
|
local function setSpecialEffectColor(effect, color)
|
|
116
48
|
local dummyColor = dummyPlayer.color
|
|
117
49
|
dummyPlayer.color = color
|
|
@@ -178,6 +110,12 @@ function Effect.prototype.onDestroy(self)
|
|
|
178
110
|
destroyEffect(self.handle)
|
|
179
111
|
return Handle.prototype.onDestroy(self)
|
|
180
112
|
end
|
|
113
|
+
function Effect.prototype.setAnimation(self, animation)
|
|
114
|
+
setSpecialEffectAnimation(self.handle, animation)
|
|
115
|
+
end
|
|
116
|
+
function Effect.prototype.queueAnimation(self, animation)
|
|
117
|
+
queueSpecialEffectAnimation(self.handle, animation)
|
|
118
|
+
end
|
|
181
119
|
function Effect.create(self, modelPath, xOrWidget, yOrAttachmentPoint, parameters)
|
|
182
120
|
local effect = self:of(addSpecialEffectInternal(modelPath, xOrWidget, yOrAttachmentPoint, parameters))
|
|
183
121
|
if parameters ~= nil then
|
|
@@ -210,6 +148,34 @@ function Effect.flash(self, modelPath, xOrWidget, yOrOrAttachmentPoint, paramete
|
|
|
210
148
|
parameters
|
|
211
149
|
)
|
|
212
150
|
end
|
|
151
|
+
__TS__SetDescriptor(
|
|
152
|
+
Effect.prototype,
|
|
153
|
+
"blendTime",
|
|
154
|
+
{
|
|
155
|
+
get = function(self)
|
|
156
|
+
return self[103] or 0
|
|
157
|
+
end,
|
|
158
|
+
set = function(self, blendTime)
|
|
159
|
+
setSpecialEffectAnimationBlendTime(self.handle, blendTime)
|
|
160
|
+
self[103] = blendTime
|
|
161
|
+
end
|
|
162
|
+
},
|
|
163
|
+
true
|
|
164
|
+
)
|
|
165
|
+
__TS__SetDescriptor(
|
|
166
|
+
Effect.prototype,
|
|
167
|
+
"timeScale",
|
|
168
|
+
{
|
|
169
|
+
get = function(self)
|
|
170
|
+
return self[104] or 1
|
|
171
|
+
end,
|
|
172
|
+
set = function(self, timeScale)
|
|
173
|
+
setSpecialEffectTimeScale(self.handle, timeScale)
|
|
174
|
+
self[104] = timeScale
|
|
175
|
+
end
|
|
176
|
+
},
|
|
177
|
+
true
|
|
178
|
+
)
|
|
213
179
|
__TS__SetDescriptor(
|
|
214
180
|
Effect.prototype,
|
|
215
181
|
"color",
|
package/core/types/frame.d.ts
CHANGED
|
@@ -137,8 +137,21 @@ export declare class Frame extends Handle<jframehandle> {
|
|
|
137
137
|
static get onMouseUp(): Event<[Player, jmousebuttontype, number, number]>;
|
|
138
138
|
private static onMouseDownEvent?;
|
|
139
139
|
static get onMouseDown(): Event<[Player, jmousebuttontype, number, number]>;
|
|
140
|
-
|
|
141
|
-
|
|
140
|
+
/**
|
|
141
|
+
* Synchronized native mouse movement of every player. Each movement of every player's
|
|
142
|
+
* cursor is sent over the network, so with several players moving their mice this floods
|
|
143
|
+
* the network and raises the latency for everyone. Prefer {@link mouseMoveLocalEvent} and
|
|
144
|
+
* synchronize the needed coordinates explicitly, only when they matter (e.g. on a click).
|
|
145
|
+
*/
|
|
146
|
+
static get mouseMoveEvent(): Event<[player: Player, x: number, y: number]>;
|
|
147
|
+
/**
|
|
148
|
+
* Fires on the local client when the world point under the cursor changes, whether the
|
|
149
|
+
* cursor or the camera moved. Polls the local cursor position every 1/64 second and sends
|
|
150
|
+
* nothing over the network. The point is the camera ray's intersection with the terrain,
|
|
151
|
+
* so it ignores units and doodads under the cursor. It is also computed while the cursor
|
|
152
|
+
* is over the UI; check {@link isMouseOnWorld} where that matters.
|
|
153
|
+
*/
|
|
154
|
+
static get mouseMoveLocalEvent(): Event<[x: number, y: number]>;
|
|
142
155
|
static createSimple<T extends Frame>(this: FrameSubclass<T>, name: string, parent?: Frame, createContext?: number): T;
|
|
143
156
|
static create<T extends Frame>(this: FrameSubclass<T>, name: string, parent: Frame, priority?: number, createContext?: number): T;
|
|
144
157
|
static createByType<T extends Frame>(this: FrameSubclass<T>, typeName: "BACKDROP" | "BUTTON" | "CHATDISPLAY" | "CHECKBOX" | "CONTROL" | "DIALOG" | "EDITBOX" | "FRAME" | "GLUEBUTTON" | "GLUECHECKBOX" | "GLUETEXTBUTTON" | "HIGHLIGHT" | "LISTBOX" | "MENU" | "POPUPMENU" | "SCROLLBAR" | "SLIDER" | "TEXT" | "TEXTAREA" | "TEXTBUTTON", name: string, parent: Frame, inherits?: string, createContext?: number): T;
|
package/core/types/frame.lua
CHANGED
|
@@ -21,9 +21,6 @@ local FRAME_MIN_Y = ____frame_2Dcoordinates.FRAME_MIN_Y
|
|
|
21
21
|
local getFrameMinXMaxX = ____frame_2Dcoordinates.getFrameMinXMaxX
|
|
22
22
|
local ____playerCamera = require("core.types.playerCamera")
|
|
23
23
|
local frameCoordinatesToWorld = ____playerCamera.frameCoordinatesToWorld
|
|
24
|
-
local worldCoordinatesToFrame = ____playerCamera.worldCoordinatesToFrame
|
|
25
|
-
local ____get_2Dterrain_2Dz = require("engine.internal.misc.get-terrain-z")
|
|
26
|
-
local getTerrainZ = ____get_2Dterrain_2Dz.getTerrainZ
|
|
27
24
|
local ____lua_2Dsets = require("utility.lua-sets")
|
|
28
25
|
local mutableLuaSet = ____lua_2Dsets.mutableLuaSet
|
|
29
26
|
local ____socket = require("net.socket")
|
|
@@ -39,8 +36,13 @@ local frameIsVisible = BlzFrameIsVisible
|
|
|
39
36
|
local frameSetEnable = BlzFrameSetEnable
|
|
40
37
|
local frameSetScale = BlzFrameSetScale
|
|
41
38
|
local getHandleId = GetHandleId
|
|
39
|
+
local getLocalClientHeight = BlzGetLocalClientHeight
|
|
40
|
+
local getMouseScreenPosX = BlzGetMouseScreenPosX
|
|
41
|
+
local getMouseScreenPosY = BlzGetMouseScreenPosY
|
|
42
42
|
local getOriginFrame = BlzGetOriginFrame
|
|
43
43
|
local location = Location
|
|
44
|
+
local pixelToFrameX = BlzPixelToFrameX
|
|
45
|
+
local pixelToFrameY = BlzPixelToFrameY
|
|
44
46
|
local ____rawget = _G.rawget
|
|
45
47
|
local rawset = _G.rawset
|
|
46
48
|
local invoke = Event.invoke
|
|
@@ -988,7 +990,7 @@ __TS__ObjectDefineProperty(
|
|
|
988
990
|
)
|
|
989
991
|
__TS__ObjectDefineProperty(
|
|
990
992
|
Frame,
|
|
991
|
-
"
|
|
993
|
+
"mouseMoveEvent",
|
|
992
994
|
{get = function(self)
|
|
993
995
|
local event = __TS__New(
|
|
994
996
|
TriggerEvent,
|
|
@@ -1002,48 +1004,32 @@ __TS__ObjectDefineProperty(
|
|
|
1002
1004
|
) end,
|
|
1003
1005
|
function() return Player:of(GetTriggerPlayer()), BlzGetTriggerPlayerMouseX(), BlzGetTriggerPlayerMouseY() end
|
|
1004
1006
|
)
|
|
1005
|
-
rawset(____exports.Frame, "
|
|
1007
|
+
rawset(____exports.Frame, "mouseMoveEvent", event)
|
|
1006
1008
|
return event
|
|
1007
1009
|
end}
|
|
1008
1010
|
)
|
|
1009
1011
|
__TS__ObjectDefineProperty(
|
|
1010
1012
|
Frame,
|
|
1011
|
-
"
|
|
1013
|
+
"mouseMoveLocalEvent",
|
|
1012
1014
|
{get = function(self)
|
|
1013
|
-
local invoke = Event.invoke
|
|
1014
1015
|
local event = __TS__New(Event)
|
|
1015
|
-
local
|
|
1016
|
-
local
|
|
1017
|
-
local syncFrameX = 0
|
|
1018
|
-
local syncFrameY = 0
|
|
1019
|
-
local lastX = syncX
|
|
1020
|
-
local lastY = syncY
|
|
1021
|
-
self.onMouseMove:addListener(function(player, x, y)
|
|
1022
|
-
if player.isLocal then
|
|
1023
|
-
syncX = x
|
|
1024
|
-
syncY = y
|
|
1025
|
-
syncFrameX, syncFrameY = worldCoordinatesToFrame(
|
|
1026
|
-
x,
|
|
1027
|
-
y,
|
|
1028
|
-
getTerrainZ(x, y)
|
|
1029
|
-
)
|
|
1030
|
-
lastX = x
|
|
1031
|
-
lastY = y
|
|
1032
|
-
invoke(event, x, y)
|
|
1033
|
-
end
|
|
1034
|
-
end)
|
|
1016
|
+
local lastX = 0
|
|
1017
|
+
local lastY = 0
|
|
1035
1018
|
Timer.onPeriod[1 / 64]:addListener(function()
|
|
1036
|
-
if
|
|
1019
|
+
if getLocalClientHeight() == 0 then
|
|
1037
1020
|
return
|
|
1038
1021
|
end
|
|
1039
|
-
local x, y, ____, isDefinite = frameCoordinatesToWorld(
|
|
1022
|
+
local x, y, ____, isDefinite = frameCoordinatesToWorld(
|
|
1023
|
+
pixelToFrameX(getMouseScreenPosX()),
|
|
1024
|
+
pixelToFrameY(getMouseScreenPosY())
|
|
1025
|
+
)
|
|
1040
1026
|
if isDefinite and (x ~= lastX or y ~= lastY) then
|
|
1041
1027
|
lastX = x
|
|
1042
1028
|
lastY = y
|
|
1043
1029
|
invoke(event, x, y)
|
|
1044
1030
|
end
|
|
1045
1031
|
end)
|
|
1046
|
-
rawset(____exports.Frame, "
|
|
1032
|
+
rawset(____exports.Frame, "mouseMoveLocalEvent", event)
|
|
1047
1033
|
return event
|
|
1048
1034
|
end}
|
|
1049
1035
|
)
|
package/core/types/handle.lua
CHANGED
|
@@ -60,6 +60,9 @@ function Handle.invokeOnCreateEvent(self, clazz, handle)
|
|
|
60
60
|
Event.invoke(onCreateEvent, handle)
|
|
61
61
|
end
|
|
62
62
|
end
|
|
63
|
+
function Handle.isWrapped(self, handle)
|
|
64
|
+
return self.memoized[getHandleId(handle)] ~= nil
|
|
65
|
+
end
|
|
63
66
|
function Handle.prototype.__tostring(self)
|
|
64
67
|
return (self.constructor.name .. "@") .. tostring(getHandleId(self.handle))
|
|
65
68
|
end
|
package/core/types/player.d.ts
CHANGED
|
@@ -50,6 +50,7 @@ export declare class Player extends Handle<jplayer> {
|
|
|
50
50
|
selectSingle(unit: Unit): void;
|
|
51
51
|
select(unit: Unit): void;
|
|
52
52
|
deselect(unit: Unit): void;
|
|
53
|
+
setRaceSkin(racePreference: jracepreference): void;
|
|
53
54
|
forceUIKey(key: string): void;
|
|
54
55
|
forceUICancel(): void;
|
|
55
56
|
isAllyOf(other: Player): boolean;
|
package/core/types/player.lua
CHANGED
|
@@ -31,12 +31,13 @@ local getPlayerName = GetPlayerName
|
|
|
31
31
|
local getPlayerTechCount = GetPlayerTechCount
|
|
32
32
|
local getPlayerTechMaxAllowed = GetPlayerTechMaxAllowed
|
|
33
33
|
local getTriggerPlayer = GetTriggerPlayer
|
|
34
|
+
local playerNative = _G.Player
|
|
35
|
+
local setPlayerAbilityAvailable = SetPlayerAbilityAvailable
|
|
34
36
|
local setPlayerAlliance = SetPlayerAlliance
|
|
37
|
+
local setPlayerRaceSkin = SetPlayerRaceSkin
|
|
35
38
|
local setPlayerTechMaxAllowed = SetPlayerTechMaxAllowed
|
|
36
39
|
local setPlayerTechResearched = SetPlayerTechResearched
|
|
37
|
-
local setPlayerAbilityAvailable = SetPlayerAbilityAvailable
|
|
38
40
|
local triggerRegisterPlayerAllianceChange = TriggerRegisterPlayerAllianceChange
|
|
39
|
-
local playerNative = _G.Player
|
|
40
41
|
local nativeByPlayerAllianceType = {
|
|
41
42
|
[0] = ALLIANCE_PASSIVE,
|
|
42
43
|
[1] = ALLIANCE_RESCUABLE,
|
|
@@ -89,6 +90,9 @@ function Player.prototype.deselect(self, unit)
|
|
|
89
90
|
SelectUnit(unit.handle, false)
|
|
90
91
|
end
|
|
91
92
|
end
|
|
93
|
+
function Player.prototype.setRaceSkin(self, racePreference)
|
|
94
|
+
setPlayerRaceSkin(self.handle, racePreference)
|
|
95
|
+
end
|
|
92
96
|
function Player.prototype.forceUIKey(self, key)
|
|
93
97
|
if self.isLocal then
|
|
94
98
|
ForceUIKey(key)
|
|
@@ -10,6 +10,7 @@ local ____color = require("core.types.color")
|
|
|
10
10
|
local Color = ____color.Color
|
|
11
11
|
local ____exception = require("exception")
|
|
12
12
|
local IllegalStateException = ____exception.IllegalStateException
|
|
13
|
+
local getHandleId = GetHandleId
|
|
13
14
|
local byId = {}
|
|
14
15
|
local byName = {}
|
|
15
16
|
____exports.PlayerColor = __TS__Class()
|
|
@@ -81,7 +82,7 @@ PlayerColor.data = util.contextFn(
|
|
|
81
82
|
PLAYER_COLOR_SNOW,
|
|
82
83
|
PLAYER_COLOR_EMERALD,
|
|
83
84
|
PLAYER_COLOR_PEANUT,
|
|
84
|
-
|
|
85
|
+
PLAYER_COLOR_BLACK
|
|
85
86
|
}
|
|
86
87
|
local rgbaColors = {
|
|
87
88
|
Color:of(255, 2, 2),
|
|
@@ -141,7 +142,7 @@ PlayerColor.data = util.contextFn(
|
|
|
141
142
|
do
|
|
142
143
|
local i = 0
|
|
143
144
|
while i < #handles do
|
|
144
|
-
data[
|
|
145
|
+
data[getHandleId(handles[i + 1])] = {rgba = rgbaColors[i + 1], name = names[i + 1]}
|
|
145
146
|
i = i + 1
|
|
146
147
|
end
|
|
147
148
|
end
|
|
@@ -172,7 +173,7 @@ PlayerColor.coal = ____exports.PlayerColor:of(PLAYER_COLOR_COAL)
|
|
|
172
173
|
PlayerColor.snow = ____exports.PlayerColor:of(PLAYER_COLOR_SNOW)
|
|
173
174
|
PlayerColor.emerald = ____exports.PlayerColor:of(PLAYER_COLOR_EMERALD)
|
|
174
175
|
PlayerColor.peanut = ____exports.PlayerColor:of(PLAYER_COLOR_PEANUT)
|
|
175
|
-
PlayerColor.black = ____exports.PlayerColor:of(
|
|
176
|
+
PlayerColor.black = ____exports.PlayerColor:of(PLAYER_COLOR_BLACK)
|
|
176
177
|
PlayerColor.all = {
|
|
177
178
|
____exports.PlayerColor.red,
|
|
178
179
|
____exports.PlayerColor.blue,
|
package/core/types/sound.d.ts
CHANGED
|
@@ -47,7 +47,7 @@ export declare class Sound extends Handle<jsound, [fadeOut?: boolean]> {
|
|
|
47
47
|
protected onDestroy(fadeOut?: boolean): HandleDestructor;
|
|
48
48
|
get volume(): number;
|
|
49
49
|
set volume(v: number);
|
|
50
|
-
start(milliseconds?: number): void;
|
|
50
|
+
start(milliseconds?: number, fadeIn?: boolean): void;
|
|
51
51
|
stop(fadeOut?: boolean): void;
|
|
52
52
|
restart(milliseconds?: number): void;
|
|
53
53
|
static play(fileName: string, preset: SoundSettings): void;
|
package/core/types/sound.lua
CHANGED
|
@@ -9,19 +9,20 @@ local ____sound_2Dpreset = require("engine.object-data.entry.sound-preset")
|
|
|
9
9
|
local SoundPreset = ____sound_2Dpreset.SoundPreset
|
|
10
10
|
local ____random = require("engine.random")
|
|
11
11
|
local randomInteger = ____random.randomInteger
|
|
12
|
+
local attachSoundToUnit = AttachSoundToUnit
|
|
12
13
|
local createSound = CreateSound
|
|
13
14
|
local createSoundFromLabel = CreateSoundFromLabel
|
|
14
|
-
local
|
|
15
|
+
local killSoundWhenDone = KillSoundWhenDone
|
|
15
16
|
local setSoundChannel = SetSoundChannel
|
|
17
|
+
local setSoundDistanceCutoff = SetSoundDistanceCutoff
|
|
18
|
+
local setSoundDistances = SetSoundDistances
|
|
19
|
+
local setSoundPitch = SetSoundPitch
|
|
20
|
+
local setSoundPlayPosition = SetSoundPlayPosition
|
|
16
21
|
local setSoundPosition = SetSoundPosition
|
|
17
22
|
local setSoundVolume = SetSoundVolume
|
|
18
|
-
local setSoundDistances = SetSoundDistances
|
|
19
|
-
local setSoundDistanceCutoff = SetSoundDistanceCutoff
|
|
20
23
|
local startSound = StartSound
|
|
21
|
-
local
|
|
24
|
+
local startSoundEx = StartSoundEx
|
|
22
25
|
local stopSound = StopSound
|
|
23
|
-
local attachSoundToUnit = AttachSoundToUnit
|
|
24
|
-
local killSoundWhenDone = KillSoundWhenDone
|
|
25
26
|
____exports.SoundChannel = ____exports.SoundChannel or ({})
|
|
26
27
|
____exports.SoundChannel.General = 0
|
|
27
28
|
____exports.SoundChannel[____exports.SoundChannel.General] = "General"
|
|
@@ -226,8 +227,12 @@ function Sound.prototype.onDestroy(self, fadeOut)
|
|
|
226
227
|
stopSound(self.handle, true, fadeOut or false)
|
|
227
228
|
return Handle.prototype.onDestroy(self)
|
|
228
229
|
end
|
|
229
|
-
function Sound.prototype.start(self, milliseconds)
|
|
230
|
-
|
|
230
|
+
function Sound.prototype.start(self, milliseconds, fadeIn)
|
|
231
|
+
if fadeIn == nil then
|
|
232
|
+
startSound(self.handle)
|
|
233
|
+
else
|
|
234
|
+
startSoundEx(self.handle, fadeIn)
|
|
235
|
+
end
|
|
231
236
|
if milliseconds then
|
|
232
237
|
setSoundPlayPosition(self.handle, milliseconds)
|
|
233
238
|
end
|
package/core/types/tileCell.d.ts
CHANGED
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
/** @noSelfInFile */
|
|
2
2
|
import { AttributesHolder } from "../../attributes";
|
|
3
3
|
export declare class TileCell extends AttributesHolder implements Readonly<Vec2> {
|
|
4
|
-
|
|
4
|
+
/** Identifies the cell the same way on every client; see {@link TileCell.getById}. */
|
|
5
|
+
readonly id: number;
|
|
5
6
|
readonly x: number;
|
|
6
7
|
readonly y: number;
|
|
7
8
|
readonly z: undefined;
|
|
8
|
-
protected constructor(
|
|
9
|
+
protected constructor(
|
|
10
|
+
/** Identifies the cell the same way on every client; see {@link TileCell.getById}. */
|
|
11
|
+
id: number, x: number, y: number, z: undefined);
|
|
9
12
|
get up(): TileCell;
|
|
10
13
|
get down(): TileCell;
|
|
11
14
|
get left(): TileCell;
|
|
@@ -20,4 +23,6 @@ export declare class TileCell extends AttributesHolder implements Readonly<Vec2>
|
|
|
20
23
|
static getInRect(minX: number, minY: number, maxX: number, maxY: number): TileCell[];
|
|
21
24
|
static getInRange(x: number, y: number, range: number): TileCell[];
|
|
22
25
|
static of(this: void, x: number, y: number): TileCell;
|
|
26
|
+
/** The cell with the given {@link id}, e.g. one received over the network. */
|
|
27
|
+
static getById(this: void, id: number): TileCell;
|
|
23
28
|
}
|
package/core/types/tileCell.lua
CHANGED
|
@@ -118,6 +118,17 @@ function TileCell.of(x, y)
|
|
|
118
118
|
nil
|
|
119
119
|
)
|
|
120
120
|
end
|
|
121
|
+
function TileCell.getById(id)
|
|
122
|
+
local yId = (id + 16384) // 32768
|
|
123
|
+
local xId = id - yId * 32768
|
|
124
|
+
return tileCellById[id] or __TS__New(
|
|
125
|
+
____exports.TileCell,
|
|
126
|
+
id,
|
|
127
|
+
xId * 128,
|
|
128
|
+
yId * 128,
|
|
129
|
+
nil
|
|
130
|
+
)
|
|
131
|
+
end
|
|
121
132
|
__TS__SetDescriptor(
|
|
122
133
|
TileCell.prototype,
|
|
123
134
|
"up",
|
package/core/types/unit.d.ts
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
/** @noSelfInFile */
|
|
2
2
|
import "../../engine/internal/unit";
|
|
3
3
|
import "../../engine/internal/unit/ability";
|
|
4
|
+
import "../../engine/internal/unit/appearance";
|
|
5
|
+
import "../../engine/internal/unit/extended-inventory";
|
|
6
|
+
import "../../engine/internal/unit/equipment-inventory";
|
|
7
|
+
import "../../engine/internal/unit/inventory";
|
|
8
|
+
import "../../engine/internal/unit/item-order-events";
|
|
4
9
|
import "../../engine/internal/unit+damage";
|
|
5
10
|
import "../../engine/internal/unit+rally";
|
|
6
11
|
import "../../engine/internal/unit+spellSteal";
|
package/core/types/unit.lua
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
local ____exports = {}
|
|
2
2
|
require("engine.internal.unit")
|
|
3
3
|
require("engine.internal.unit.ability")
|
|
4
|
+
require("engine.internal.unit.appearance")
|
|
5
|
+
require("engine.internal.unit.extended-inventory")
|
|
6
|
+
require("engine.internal.unit.equipment-inventory")
|
|
7
|
+
require("engine.internal.unit.inventory")
|
|
8
|
+
require("engine.internal.unit.item-order-events")
|
|
4
9
|
require("engine.internal.unit+damage")
|
|
5
10
|
require("engine.internal.unit+rally")
|
|
6
11
|
require("engine.internal.unit+spellSteal")
|
package/core/util.d.ts
CHANGED
|
@@ -54,9 +54,11 @@ declare global {
|
|
|
54
54
|
function fourCC(id: string): number;
|
|
55
55
|
}
|
|
56
56
|
declare namespace inner {
|
|
57
|
-
|
|
57
|
+
/** @deprecated Use the {@link OrderType} const enum from `warscript/engine/object-data/auxiliary/order-type` instead. */
|
|
58
|
+
const orderId: (id: "blink" | "stop" | "load" | "sleep" | "absorb" | "acidbomb" | "acolyteharvest" | "AImove" | "ambush" | "ancestralspirit" | "ancestralspirittarget" | "animatedead" | "antimagicshell" | "attack" | "attackground" | "attackonce" | "attributemodskill" | "auracalltoarms" | "auraunholy" | "auravampiric" | "autodispel" | "autodispeloff" | "autodispelon" | "autoentangle" | "autoentangleinstant" | "autoharvestgold" | "autoharvestlumber" | "avatar" | "avengerform" | "awaken" | "banish" | "barkskin" | "barkskinoff" | "barkskinon" | "batteringram" | "battleroar" | "battlestations" | "bearform" | "berserk" | "blackarrow" | "blackarrowoff" | "blackarrowon" | "bladedance" | "blight" | "blizzard" | "bloodlust" | "bloodlustoff" | "bloodluston" | "board" | "breathoffire" | "breathoffrost" | "build" | "burrow" | "cannibalize" | "carrionscarabs" | "carrionscarabsinstant" | "carrionscarabsoff" | "carrionscarabson" | "carrionswarm" | "chainlightning" | "challengingcall" | "channel" | "charm" | "chemicalrage" | "cleansingfire" | "cloudoffog" | "clusterrockets" | "coldarrows" | "coldarrowstarg" | "consecration" | "controlmagic" | "corporealform" | "corrosivebreath" | "coupleinstant" | "coupletarget" | "creepanimatedead" | "creepdevour" | "creepheal" | "creephealoff" | "creephealon" | "creepthunderbolt" | "creepthunderclap" | "cripple" | "curse" | "curseoff" | "curseon" | "cyclone" | "darkconversion" | "darkportal" | "darkritual" | "darksummoning" | "deathanddecay" | "deathcoil" | "deathpact" | "deathseekerbow" | "decouple" | "defend" | "detectaoe" | "detonate" | "devour" | "devourmagic" | "disassociate" | "disenchant" | "dismount" | "dispel" | "divineshield" | "doom" | "drain" | "dreadlordinferno" | "dropitem" | "moveslot0" | "moveslot1" | "moveslot2" | "moveslot3" | "moveslot4" | "moveslot5" | "useslot0" | "useslot1" | "useslot2" | "useslot3" | "useslot4" | "useslot5" | "moveslotext0" | "moveslotext1" | "moveslotext2" | "moveslotext3" | "moveslotext4" | "moveslotext5" | "moveslotext6" | "moveslotext7" | "moveslotext8" | "moveslotext9" | "moveslotext10" | "moveslotext11" | "moveslotext12" | "moveslotext13" | "moveslotext14" | "moveslotext15" | "moveslotext16" | "moveslotext17" | "moveslotext18" | "moveslotext19" | "moveslotext20" | "moveslotext21" | "moveslotext22" | "moveslotext23" | "moveslotext24" | "moveslotext25" | "moveslotext26" | "moveslotext27" | "moveslotext28" | "moveslotext29" | "moveslotequip0" | "moveslotequip1" | "moveslotequip2" | "moveslotequip3" | "moveslotequip4" | "moveslotequip5" | "moveslotequip6" | "moveslotequip7" | "moveslotequip8" | "useslotext0" | "useslotext1" | "useslotext2" | "useslotext3" | "useslotext4" | "useslotext5" | "useslotext6" | "useslotext7" | "useslotext8" | "useslotext9" | "useslotext10" | "useslotext11" | "useslotext12" | "useslotext13" | "useslotext14" | "useslotext15" | "useslotext16" | "useslotext17" | "useslotext18" | "useslotext19" | "useslotext20" | "useslotext21" | "useslotext22" | "useslotext23" | "useslotext24" | "useslotext25" | "useslotext26" | "useslotext27" | "useslotext28" | "useslotext29" | "useslotequip0" | "useslotequip1" | "useslotequip2" | "useslotequip3" | "useslotequip4" | "useslotequip5" | "useslotequip6" | "useslotequip7" | "useslotequip8" | "drunkenhaze" | "earthquake" | "eattree" | "elementalfury" | "ensnare" | "ensnareaoe" | "ensnareoff" | "ensnareon" | "entangle" | "entangleinstant" | "entanglingroots" | "etherealform" | "evileye" | "faeriefire" | "faeriefireoff" | "faeriefireon" | "fanofknives" | "farsight" | "fingerofdeath" | "firebolt" | "flamestrike" | "flamingarrows" | "flamingarrowstarg" | "flamingattack" | "flamingattacktarg" | "flare" | "forceboard" | "forceofnature" | "forkedlightning" | "freezingbreath" | "frenzy" | "frenzyoff" | "frenzyon" | "frostarmor" | "frostarmoroff" | "frostarmoron" | "frostnova" | "getitem" | "gold2lumber" | "grabtree" | "grit" | "guidinghand" | "harvest" | "headsplitter" | "heal" | "healingspray" | "healingward" | "healingwave" | "healoff" | "healon" | "heroicchallenge" | "heroicslash" | "hex" | "holdposition" | "holybolt" | "howlofterror" | "humanbuild" | "immolation" | "impale" | "incineratearrow" | "incineratearrowoff" | "incineratearrowon" | "inferno" | "innerfire" | "innerfireoff" | "innerfireon" | "inspirecourage" | "instant" | "invisibility" | "lavamonster" | "lightningshield" | "loadarcher" | "loadcorpse" | "loadcorpseinstant" | "locustswarm" | "lumber2gold" | "magicdefense" | "magicleash" | "magicundefense" | "manaburn" | "manaflareoff" | "manaflareon" | "manashieldoff" | "manashieldon" | "massteleport" | "mechanicalcritter" | "metamorphosis" | "militia" | "militiaconvert" | "militiaoff" | "militiaunconvert" | "mindrot" | "mirrorimage" | "monsoon" | "mount" | "mounthippogryph" | "move" | "nagabuild" | "neutraldetectaoe" | "neutralinteract" | "neutralspell" | "nightelfbuild" | "orcbuild" | "parasite" | "parasiteoff" | "parasiteon" | "patrol" | "AIpatrol" | "phaseshift" | "phaseshiftinstant" | "phaseshiftoff" | "phaseshifton" | "phoenixfire" | "phoenixmorph" | "poisonarrows" | "poisonarrowstarg" | "polymorph" | "possession" | "preservation" | "purge" | "purifierblade" | "rainofchaos" | "rainoffire" | "raisedead" | "raisedeadoff" | "raisedeadon" | "ravenform" | "recharge" | "rechargeoff" | "rechargeon" | "rejuvination" | "renew" | "renewoff" | "renewon" | "repair" | "repairoff" | "repairon" | "replenish" | "replenishlife" | "replenishlifeoff" | "replenishlifeon" | "replenishmana" | "replenishmanaoff" | "replenishmanaon" | "replenishoff" | "replenishon" | "request_hero" | "requestsacrifice" | "restoration" | "restorationoff" | "restorationon" | "resumebuild" | "resumeharvesting" | "resurrection" | "returnresources" | "revenge" | "revive" | "righteousfury" | "ritualdagger" | "roar" | "robogoblin" | "root" | "sacrifice" | "sanctuary" | "scout" | "selfdestruct" | "selfdestructoff" | "selfdestructon" | "sentinel" | "follow" | "smart" | "setrally" | "shadowsight" | "shadowstrike" | "shockwave" | "silence" | "slow" | "slowoff" | "slowon" | "soulburn" | "soullantern" | "soulpreservation" | "spellshield" | "spellshieldaoe" | "spellsteal" | "spellstealoff" | "spellstealon" | "spies" | "spiritlink" | "spiritofvengeance" | "spirittroll" | "spiritwolf" | "stampede" | "standdown" | "starfall" | "stasistrap" | "steal" | "stomp" | "stoneform" | "stunned" | "submerge" | "summonfactory" | "summongrizzly" | "summonphoenix" | "summonquillbeast" | "summonwareagle" | "sweepingstrike" | "tankdroppilot" | "tankloadpilot" | "tankpilot" | "taunt" | "thunderbolt" | "thunderclap" | "tornado" | "townbelloff" | "townbellon" | "tranquility" | "transmute" | "unavatar" | "unavengerform" | "unbearform" | "unburrow" | "uncoldarrows" | "uncorporealform" | "undeadbuild" | "undeadvengeance" | "undefend" | "undivineshield" | "unetherealform" | "unflamingarrows" | "unflamingattack" | "unguidinghand" | "unholyfrenzy" | "unholyfrenzyaoe" | "unimmolation" | "unload" | "unloadall" | "unloadallcorpses" | "unloadallinstant" | "unpoisonarrows" | "unravenform" | "unrobogoblin" | "unroot" | "unsoullantern" | "unstableconcoction" | "unstoneform" | "unsubmerge" | "unsummon" | "unwindwalk" | "valiantcharge" | "vengeance" | "vengeanceinstant" | "vengeanceoff" | "vengeanceon" | "volcano" | "voodoo" | "warcry" | "ward" | "waterelemental" | "wateryminion" | "web" | "weboff" | "webon" | "whirlwind" | "windwalk" | "wispharvest" | "witheringfire") => number;
|
|
58
59
|
}
|
|
59
60
|
declare global {
|
|
61
|
+
/** @deprecated Use the {@link OrderType} const enum from `warscript/engine/object-data/auxiliary/order-type` instead. */
|
|
60
62
|
function orderId(...args: Parameters<typeof inner.orderId>): ReturnType<typeof inner.orderId>;
|
|
61
63
|
}
|
|
62
64
|
export {};
|