warcraft-3-w3ts-utils 0.1.7 → 0.1.8
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/dist/index.lua +13 -0
- package/dist/lua_modules/w3ts/globals/index.lua +23 -0
- package/dist/lua_modules/w3ts/globals/order.lua +2 -0
- package/dist/lua_modules/w3ts/handles/camera.lua +348 -0
- package/dist/lua_modules/w3ts/handles/destructable.lua +237 -0
- package/dist/lua_modules/w3ts/handles/dialog.lua +161 -0
- package/dist/lua_modules/w3ts/handles/effect.lua +198 -0
- package/dist/lua_modules/w3ts/handles/fogmodifier.lua +76 -0
- package/dist/lua_modules/w3ts/handles/force.lua +105 -0
- package/dist/lua_modules/w3ts/handles/frame.lua +417 -0
- package/dist/lua_modules/w3ts/handles/gamecache.lua +132 -0
- package/dist/lua_modules/w3ts/handles/group.lua +215 -0
- package/dist/lua_modules/w3ts/handles/handle.lua +38 -0
- package/dist/lua_modules/w3ts/handles/image.lua +105 -0
- package/dist/lua_modules/w3ts/handles/index.lua +226 -0
- package/dist/lua_modules/w3ts/handles/item.lua +375 -0
- package/dist/lua_modules/w3ts/handles/leaderboard.lua +211 -0
- package/dist/lua_modules/w3ts/handles/multiboard.lua +193 -0
- package/dist/lua_modules/w3ts/handles/player.lua +311 -0
- package/dist/lua_modules/w3ts/handles/point.lua +80 -0
- package/dist/lua_modules/w3ts/handles/quest.lua +176 -0
- package/dist/lua_modules/w3ts/handles/rect.lua +129 -0
- package/dist/lua_modules/w3ts/handles/region.lua +72 -0
- package/dist/lua_modules/w3ts/handles/sound.lua +174 -0
- package/dist/lua_modules/w3ts/handles/texttag.lua +97 -0
- package/dist/lua_modules/w3ts/handles/timer.lua +83 -0
- package/dist/lua_modules/w3ts/handles/timerdialog.lua +86 -0
- package/dist/lua_modules/w3ts/handles/trigger.lua +265 -0
- package/dist/lua_modules/w3ts/handles/ubersplat.lua +84 -0
- package/dist/lua_modules/w3ts/handles/unit.lua +1330 -0
- package/dist/lua_modules/w3ts/handles/weathereffect.lua +42 -0
- package/dist/lua_modules/w3ts/handles/widget.lua +53 -0
- package/dist/lua_modules/w3ts/hooks/index.lua +52 -0
- package/dist/lua_modules/w3ts/index.lua +36 -0
- package/dist/lua_modules/w3ts/system/base64.lua +108 -0
- package/dist/lua_modules/w3ts/system/binaryreader.lua +74 -0
- package/dist/lua_modules/w3ts/system/binarywriter.lua +88 -0
- package/dist/lua_modules/w3ts/system/file.lua +88 -0
- package/dist/lua_modules/w3ts/system/gametime.lua +27 -0
- package/dist/lua_modules/w3ts/system/host.lua +104 -0
- package/dist/lua_modules/w3ts/system/index.lua +58 -0
- package/dist/lua_modules/w3ts/system/sync.lua +239 -0
- package/dist/lua_modules/w3ts/utils/color.lua +189 -0
- package/dist/lua_modules/w3ts/utils/index.lua +38 -0
- package/dist/lualib_bundle.lua +2733 -0
- package/dist/package.json +41 -0
- package/dist/utils/abilities.lua +107 -0
- package/dist/utils/camera.lua +46 -0
- package/dist/utils/chat-command.lua +30 -0
- package/dist/utils/color.lua +41 -0
- package/dist/utils/index.lua +125 -0
- package/dist/utils/item.lua +173 -0
- package/dist/utils/math.lua +17 -0
- package/dist/utils/minimapIcons.lua +28 -0
- package/dist/utils/misc.lua +143 -0
- package/dist/utils/physics.lua +161 -0
- package/dist/utils/players.lua +234 -0
- package/dist/utils/point.lua +60 -0
- package/dist/utils/quests.lua +47 -0
- package/dist/utils/textTag.lua +110 -0
- package/dist/utils/timer.lua +21 -0
- package/dist/utils/units.lua +102 -0
- package/package.json +4 -6
- package/dist/index.js +0 -18
- package/dist/utils/abilities.js +0 -125
- package/dist/utils/camera.js +0 -37
- package/dist/utils/chat-command.js +0 -22
- package/dist/utils/color.js +0 -141
- package/dist/utils/index.js +0 -32
- package/dist/utils/item.js +0 -124
- package/dist/utils/math.js +0 -17
- package/dist/utils/minimapIcons.js +0 -27
- package/dist/utils/misc.js +0 -175
- package/dist/utils/physics.js +0 -194
- package/dist/utils/players.js +0 -189
- package/dist/utils/point.js +0 -74
- package/dist/utils/quests.js +0 -30
- package/dist/utils/textTag.js +0 -72
- package/dist/utils/timer.js +0 -16
- package/dist/utils/units.js +0 -81
- package/tsconfig.json +0 -40
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
--[[ Generated with https://github.com/TypeScriptToLua/TypeScriptToLua ]]
|
|
2
|
+
local ____exports = {}
|
|
3
|
+
local ____w3ts = require("lua_modules.w3ts.index")
|
|
4
|
+
local TextTag = ____w3ts.TextTag
|
|
5
|
+
local Trigger = ____w3ts.Trigger
|
|
6
|
+
local Unit = ____w3ts.Unit
|
|
7
|
+
local ____misc = require("utils.misc")
|
|
8
|
+
local ptColor = ____misc.ptColor
|
|
9
|
+
local ____timer = require("utils.timer")
|
|
10
|
+
local delayedTimer = ____timer.delayedTimer
|
|
11
|
+
--- https://www.hiveworkshop.com/threads/floating-text.149719/
|
|
12
|
+
--
|
|
13
|
+
-- function CreateFloatingText takes string text, real x, real y, real heightOffset, real duration, real size returns nothing
|
|
14
|
+
-- local texttag tt = CreateTextTag()
|
|
15
|
+
-- call SetTextTagText(tt, text, size)
|
|
16
|
+
-- call SetTextTagPos(tt, x, y, heightOffset)
|
|
17
|
+
-- call SetTextTagColor(tt, 255, 255, 255, 255) // RGBA format
|
|
18
|
+
-- call SetTextTagVisibility(tt, true)
|
|
19
|
+
-- call SetTextTagLifespan(tt, duration)
|
|
20
|
+
-- call SetTextTagPermanent(tt, false)
|
|
21
|
+
-- endfunction
|
|
22
|
+
--
|
|
23
|
+
-- function ExampleUsage takes nothing returns nothing
|
|
24
|
+
-- call CreateFloatingText("Hello World", 0.0, 0.0, 25.0, 5.0, 10.0)
|
|
25
|
+
-- endfunction
|
|
26
|
+
--
|
|
27
|
+
-- @param unit
|
|
28
|
+
-- @param text
|
|
29
|
+
-- @param duration
|
|
30
|
+
function ____exports.createFloatingTextTagOnUnit(self, unit, text, config)
|
|
31
|
+
local tag = TextTag:create()
|
|
32
|
+
if tag ~= nil then
|
|
33
|
+
tag:setVisible(true)
|
|
34
|
+
end
|
|
35
|
+
if tag ~= nil then
|
|
36
|
+
tag:setText(text, 10, true)
|
|
37
|
+
end
|
|
38
|
+
if tag ~= nil then
|
|
39
|
+
tag:setLifespan((config and config.duration) == nil and 2 or config.duration)
|
|
40
|
+
end
|
|
41
|
+
if (config and config.useFade) ~= false then
|
|
42
|
+
if tag ~= nil then
|
|
43
|
+
tag:setFadepoint(0.01)
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
if tag ~= nil then
|
|
47
|
+
tag:setVelocity((config and config.xVelocity) == nil and 0 or config.xVelocity, (config and config.yVelocity) == nil and 0.025 or config.yVelocity)
|
|
48
|
+
end
|
|
49
|
+
if tag ~= nil then
|
|
50
|
+
tag:setPermanent(false)
|
|
51
|
+
end
|
|
52
|
+
if tag ~= nil then
|
|
53
|
+
tag:setPosUnit(unit, 10)
|
|
54
|
+
end
|
|
55
|
+
if config and config.duration and config.duration == 0 then
|
|
56
|
+
return
|
|
57
|
+
end
|
|
58
|
+
delayedTimer(
|
|
59
|
+
nil,
|
|
60
|
+
config and config.duration or 2,
|
|
61
|
+
function()
|
|
62
|
+
if tag ~= nil then
|
|
63
|
+
tag:destroy()
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
)
|
|
67
|
+
end
|
|
68
|
+
function ____exports.createPermanentTextTagOnPoint(self, text, x, y)
|
|
69
|
+
local tag = TextTag:create()
|
|
70
|
+
if tag ~= nil then
|
|
71
|
+
tag:setVisible(true)
|
|
72
|
+
end
|
|
73
|
+
if tag ~= nil then
|
|
74
|
+
tag:setText(text, 20, true)
|
|
75
|
+
end
|
|
76
|
+
if tag ~= nil then
|
|
77
|
+
tag:setLifespan(2)
|
|
78
|
+
end
|
|
79
|
+
if tag ~= nil then
|
|
80
|
+
tag:setVelocity(0, 0)
|
|
81
|
+
end
|
|
82
|
+
if tag ~= nil then
|
|
83
|
+
tag:setPermanent(true)
|
|
84
|
+
end
|
|
85
|
+
if tag ~= nil then
|
|
86
|
+
tag:setPos(x, y, 20)
|
|
87
|
+
end
|
|
88
|
+
end
|
|
89
|
+
function ____exports.setup_createTextForSpellCast(self)
|
|
90
|
+
local t = Trigger:create()
|
|
91
|
+
t:registerAnyUnitEvent(EVENT_PLAYER_UNIT_SPELL_EFFECT)
|
|
92
|
+
t:addAction(function()
|
|
93
|
+
local u = Unit:fromEvent()
|
|
94
|
+
if u then
|
|
95
|
+
local spellNumber = GetSpellAbilityId()
|
|
96
|
+
local spellName = GetAbilityName(spellNumber)
|
|
97
|
+
if not spellName or spellName == "Default String" then
|
|
98
|
+
return
|
|
99
|
+
end
|
|
100
|
+
____exports.createFloatingTextTagOnUnit(
|
|
101
|
+
nil,
|
|
102
|
+
u,
|
|
103
|
+
ptColor(nil, u.owner, "¤ ") .. spellName
|
|
104
|
+
)
|
|
105
|
+
end
|
|
106
|
+
end)
|
|
107
|
+
end
|
|
108
|
+
return ____exports
|
|
109
|
+
|
|
110
|
+
--# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy90ZXh0VGFnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsaUJBQXVDO0FBQTlCO0FBQVM7QUFBUztBQUMzQixpQkFBd0I7QUFBZjtBQUNULGtCQUE2QjtBQUFwQjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFzQlQsdURBQTRDLE1BQVksTUFBYztBQUM1RCxnQkFBTSxRQUFRO09BQ3BCO1FBQUEsSUFBSyxXQUFXOztPQUVoQjtRQUFBLElBQUssUUFBUSxNQUFNLElBQUk7O09BRXZCO1FBQUEsSUFBSyxZQUFZLGdDQUFxQixRQUFZLEtBQUk7O09BRWxELCtCQUFvQjtXQUNwQjtZQUFBLElBQUssYUFBYTs7O09BR3RCO1FBQUEsSUFBSyxZQUFZLGlDQUFzQixRQUFZLEtBQUksa0JBQWtCLGlDQUFzQixRQUFZLFNBQVE7O09BQ25IO1FBQUEsSUFBSyxhQUFhOztPQUVsQjtRQUFBLElBQUssV0FBVyxNQUFNOztPQUVsQixXQUFVLG9CQUFtQixtQkFBb0I7QUFDakQ7O0lBR0o7O1FBQWEsOEJBQW9CO1FBQUc7ZUFDaEM7Z0JBQUEsSUFBSzs7UUFEMkI7O0FBckJ4QztBQTBCQSx5REFBOEMsTUFBYyxHQUFXO0FBQzdELGdCQUFNLFFBQVE7T0FDcEI7UUFBQSxJQUFLLFdBQVc7O09BRWhCO1FBQUEsSUFBSyxRQUFRLE1BQU0sSUFBSTs7T0FDdkI7UUFBQSxJQUFLLFlBQVk7O09BRWpCO1FBQUEsSUFBSyxZQUFZLEdBQUc7O09BQ3BCO1FBQUEsSUFBSyxhQUFhOztPQUNsQjtRQUFBLElBQUssT0FBTyxHQUFHLEdBQUc7O0FBVHRCO0FBWUE7QUFDVSxjQUFJLFFBQVE7SUFFbEIsRUFBRSxxQkFBcUI7SUFFdkIsRUFBRSxVQUFVO0FBQ0Ysa0JBQUksS0FBSztXQUVYO0FBQ00sZ0NBQWM7QUFDZCw4QkFBWSxlQUFlO2VBQzdCLElBQUMsYUFBYSxhQUFjO0FBQWtCOztZQUdsRDs7Z0JBQTRCO2dCQUFHLGFBQVEsU0FBUyxVQUFTOzs7SUFUckQ7QUFMaEIiLCJmaWxlIjoidGV4dFRhZy5sdWEiLCJzb3VyY2VSb290IjoiIn0=
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
--[[ Generated with https://github.com/TypeScriptToLua/TypeScriptToLua ]]
|
|
2
|
+
local ____exports = {}
|
|
3
|
+
local ____w3ts = require("lua_modules.w3ts.index")
|
|
4
|
+
local Timer = ____w3ts.Timer
|
|
5
|
+
---
|
|
6
|
+
-- @param duration milliseconds
|
|
7
|
+
function ____exports.delayedTimer(self, duration, cb)
|
|
8
|
+
local timer = Timer:create()
|
|
9
|
+
timer:start(
|
|
10
|
+
duration,
|
|
11
|
+
false,
|
|
12
|
+
function()
|
|
13
|
+
cb(nil)
|
|
14
|
+
timer:destroy()
|
|
15
|
+
end
|
|
16
|
+
)
|
|
17
|
+
return timer
|
|
18
|
+
end
|
|
19
|
+
return ____exports
|
|
20
|
+
|
|
21
|
+
--# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy90aW1lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLGlCQUFzQjtBQUFiOzs7QUFLVCx3Q0FBNkIsVUFBa0I7QUFDckMsa0JBQVEsTUFBTTtJQUNwQixNQUFNO1FBQU07UUFBVTtRQUFPO1lBQ3pCO1lBQ0EsTUFBTTtRQUZtQjs7QUFLN0IsV0FBTztBQVBYIiwiZmlsZSI6InRpbWVyLmx1YSIsInNvdXJjZVJvb3QiOiIifQ==
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
--[[ Generated with https://github.com/TypeScriptToLua/TypeScriptToLua ]]
|
|
2
|
+
local ____exports = {}
|
|
3
|
+
local ____w3ts = require("lua_modules.w3ts.index")
|
|
4
|
+
local Group = ____w3ts.Group
|
|
5
|
+
local Timer = ____w3ts.Timer
|
|
6
|
+
local Unit = ____w3ts.Unit
|
|
7
|
+
local ____players = require("utils.players")
|
|
8
|
+
local adjustGold = ____players.adjustGold
|
|
9
|
+
local adjustLumber = ____players.adjustLumber
|
|
10
|
+
function ____exports.createUnits(self, quantity, useFood, ...)
|
|
11
|
+
local units = {}
|
|
12
|
+
do
|
|
13
|
+
local x = 0
|
|
14
|
+
while x < quantity do
|
|
15
|
+
local u = Unit:create(...)
|
|
16
|
+
if u then
|
|
17
|
+
u:setUseFood(useFood)
|
|
18
|
+
units[#units + 1] = u
|
|
19
|
+
end
|
|
20
|
+
x = x + 1
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
return units
|
|
24
|
+
end
|
|
25
|
+
--- Refund unit's gold and wood cost.
|
|
26
|
+
--
|
|
27
|
+
-- @param u
|
|
28
|
+
function ____exports.refundUnitCost(self, u)
|
|
29
|
+
local gold = GetUnitGoldCost(u.typeId)
|
|
30
|
+
local wood = GetUnitWoodCost(u.typeId)
|
|
31
|
+
adjustGold(nil, u.owner, gold)
|
|
32
|
+
adjustLumber(nil, u.owner, wood)
|
|
33
|
+
end
|
|
34
|
+
--- Returns true if the ALIVE unit has the ability within their first 12 abilities
|
|
35
|
+
--
|
|
36
|
+
-- @param unit
|
|
37
|
+
-- @param abilityId
|
|
38
|
+
-- @returns
|
|
39
|
+
function ____exports.unitHasAbility(self, unit, abilityId)
|
|
40
|
+
do
|
|
41
|
+
local x = 0
|
|
42
|
+
while x < 12 do
|
|
43
|
+
local currentAbility = unit:getAbilityByIndex(x)
|
|
44
|
+
if currentAbility and currentAbility == unit:getAbility(abilityId) and unit:isAlive() then
|
|
45
|
+
return true
|
|
46
|
+
end
|
|
47
|
+
x = x + 1
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
return false
|
|
51
|
+
end
|
|
52
|
+
function ____exports.unitsInRange(self, x, y, radius, cb)
|
|
53
|
+
local g = Group:create()
|
|
54
|
+
if g then
|
|
55
|
+
g:enumUnitsInRange(
|
|
56
|
+
x,
|
|
57
|
+
y,
|
|
58
|
+
radius,
|
|
59
|
+
function()
|
|
60
|
+
local unit = Unit:fromFilter()
|
|
61
|
+
if unit then
|
|
62
|
+
cb(nil, unit)
|
|
63
|
+
end
|
|
64
|
+
return true
|
|
65
|
+
end
|
|
66
|
+
)
|
|
67
|
+
g:destroy()
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
---
|
|
71
|
+
-- @param cb
|
|
72
|
+
-- @param abilityId
|
|
73
|
+
-- @param owner
|
|
74
|
+
function ____exports.useTempDummyUnit(self, dummyUnitCode, cb, abilityId, owner, x, y, config)
|
|
75
|
+
local dummy = nil
|
|
76
|
+
dummy = Unit:create(
|
|
77
|
+
owner,
|
|
78
|
+
dummyUnitCode,
|
|
79
|
+
x,
|
|
80
|
+
y,
|
|
81
|
+
config and config.facing or 0
|
|
82
|
+
)
|
|
83
|
+
local t = Timer:create()
|
|
84
|
+
if dummy then
|
|
85
|
+
dummy:addAbility(abilityId)
|
|
86
|
+
dummy:setAbilityManaCost(abilityId, config and config.abilityLevel and config.abilityLevel - 1 or 0, 0)
|
|
87
|
+
cb(nil, dummy)
|
|
88
|
+
t:start(
|
|
89
|
+
config and config.dummyLifeSpan or 2,
|
|
90
|
+
false,
|
|
91
|
+
function()
|
|
92
|
+
if dummy ~= nil then
|
|
93
|
+
dummy:destroy()
|
|
94
|
+
end
|
|
95
|
+
t:destroy()
|
|
96
|
+
end
|
|
97
|
+
)
|
|
98
|
+
end
|
|
99
|
+
end
|
|
100
|
+
return ____exports
|
|
101
|
+
|
|
102
|
+
--# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy91bml0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLGlCQUE4QztBQUFyQztBQUFrQjtBQUFPO0FBQ2xDLG9CQUF5QztBQUFoQztBQUFZO0FBRXJCLHVDQUNFLFVBQ0E7QUFHTSxrQkFBZ0I7O0FBQ2Isa0JBQUk7Y0FBRyxJQUFJO0FBQ1osc0JBQUksS0FBSyxPQUFPO2VBRWxCO2dCQUNGLEVBQUUsV0FBVztBQUNiLG9DQUFXOztBQUxlOzs7QUFTOUIsV0FBTztBQWZUOzs7O0FBc0JBLDBDQUErQjtBQUN2QixpQkFBTyxnQkFBZ0I7QUFDdkIsaUJBQU8sZ0JBQWdCO0lBQzdCLGdCQUFXLFNBQVM7SUFDcEIsa0JBQWEsU0FBUztBQUp4Qjs7Ozs7O0FBYUEsMENBQStCLE1BQVk7O0FBQ2hDLGtCQUFJO2NBQUcsSUFBSTtBQUNaLG1DQUFpQixLQUFLLGtCQUFrQjtlQUc1QyxtQkFDQSxrQkFBbUIsS0FBSyxXQUFXLGVBQ25DLEtBQUs7QUFFTCx1QkFBTzs7QUFSYTs7O0FBWXhCLFdBQU87QUFiVDtBQWdCQSx3Q0FDRSxHQUNBLEdBQ0EsUUFDQTtBQUVNLGNBQUksTUFBTTtPQUNaO1FBQ0YsRUFBRTtZQUFpQjtZQUFHO1lBQUc7WUFBUTtBQUN6Qiw2QkFBTyxLQUFLO21CQUNkO29CQUNGLFFBQUc7O0FBRUwsdUJBQU87WUFMd0I7O1FBUWpDLEVBQUU7O0FBaEJOOzs7OztBQTBCQSw0Q0FDRSxlQUNBLElBQ0EsV0FDQSxPQUNBLEdBQ0EsR0FDQTtBQUVJLGtCQUEwQjtBQUM5QixZQUFRLEtBQUs7UUFBTztRQUFPO1FBQWU7UUFBRztRQUFHLDRCQUFrQjs7QUFFNUQsY0FBSSxNQUFNO09BRVo7UUFDRixNQUFNLFdBQVc7UUFDakIsTUFBTSxtQkFDSixXQUNBLG1DQUF1QixzQkFBc0IsS0FBSSxHQUNqRDtRQUVGLFFBQUc7UUFFSCxFQUFFO1lBQU0sbUNBQXlCO1lBQUc7WUFBTzttQkFDekM7b0JBQUEsTUFBTzs7Z0JBQ1AsRUFBRTtZQUZ1Qzs7O0FBdkIvQyIsImZpbGUiOiJ1bml0cy5sdWEiLCJzb3VyY2VSb290IjoiIn0=
|
package/package.json
CHANGED
|
@@ -1,19 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "warcraft-3-w3ts-utils",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.8",
|
|
4
4
|
"description": "A library of utility functions for modding Warcraft 3 utilizing the W3TS template.",
|
|
5
5
|
"main": "./src/index.ts",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"Warcraft 3"
|
|
8
8
|
],
|
|
9
9
|
"scripts": {
|
|
10
|
-
"
|
|
11
|
-
"
|
|
12
|
-
"prepare": "npm run build"
|
|
10
|
+
"build": "tstl -p tsconfig.json",
|
|
11
|
+
"prepare": "npm run build && cp package.json ./dist/"
|
|
13
12
|
},
|
|
14
13
|
"files": [
|
|
15
|
-
"dist"
|
|
16
|
-
"tsconfig.json"
|
|
14
|
+
"dist"
|
|
17
15
|
],
|
|
18
16
|
"repository": {
|
|
19
17
|
"type": "git",
|
package/dist/index.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./utils/index"), exports);
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGdEQUE4QiJ9
|
package/dist/utils/abilities.js
DELETED
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.unitGetsNearThisUnit = unitGetsNearThisUnit;
|
|
4
|
-
exports.onUnitAttacked = onUnitAttacked;
|
|
5
|
-
const w3ts_1 = require("w3ts");
|
|
6
|
-
/**
|
|
7
|
-
* Good for once a unit gets near you, but not good while they are near you since the event is only triggered on entry, not during
|
|
8
|
-
* @param unit
|
|
9
|
-
* @param range
|
|
10
|
-
* @param cb
|
|
11
|
-
* @param config
|
|
12
|
-
* @returns
|
|
13
|
-
*/
|
|
14
|
-
function unitGetsNearThisUnit(unit, range, cb, config) {
|
|
15
|
-
const trig = w3ts_1.Trigger.create();
|
|
16
|
-
/**
|
|
17
|
-
* A unique set of the units effected
|
|
18
|
-
*/
|
|
19
|
-
let effectedUnitPool = [];
|
|
20
|
-
trig.registerUnitInRage(unit.handle, range, config?.filter ?? (() => true));
|
|
21
|
-
trig.addAction(() => {
|
|
22
|
-
const u = w3ts_1.Unit.fromEvent();
|
|
23
|
-
if (!u) {
|
|
24
|
-
return;
|
|
25
|
-
}
|
|
26
|
-
if (!effectedUnitPool.includes(u)) {
|
|
27
|
-
effectedUnitPool.push(u);
|
|
28
|
-
}
|
|
29
|
-
if (config?.uniqueUnitsOnly && !effectedUnitPool.includes(u)) {
|
|
30
|
-
cb(u);
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
cb(u);
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
const destroy = () => {
|
|
37
|
-
if (config?.onDestroy) {
|
|
38
|
-
config?.onDestroy(effectedUnitPool);
|
|
39
|
-
}
|
|
40
|
-
// print("destroying the trigger!");
|
|
41
|
-
trig.destroy();
|
|
42
|
-
// print("The trigger ref: ", trig);
|
|
43
|
-
};
|
|
44
|
-
const clearUniqueUnits = () => {
|
|
45
|
-
effectedUnitPool = [];
|
|
46
|
-
};
|
|
47
|
-
return {
|
|
48
|
-
cleanupUnitGetsNearThisUnit: (delay) => {
|
|
49
|
-
if (delay) {
|
|
50
|
-
const timer = w3ts_1.Timer.create();
|
|
51
|
-
timer.start(delay, false, () => {
|
|
52
|
-
destroy();
|
|
53
|
-
timer.destroy();
|
|
54
|
-
});
|
|
55
|
-
return;
|
|
56
|
-
}
|
|
57
|
-
destroy();
|
|
58
|
-
},
|
|
59
|
-
clearUniqueUnits,
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
*
|
|
64
|
-
* @param cb
|
|
65
|
-
* @param abilityId
|
|
66
|
-
* @param dummyLifeTime Maybe be necessary to have a long lifetime so spells like chain lightning will have time to bounce to all targets
|
|
67
|
-
* @param owner
|
|
68
|
-
*/
|
|
69
|
-
// export function useTempDummyUnit(cb: (dummy: Unit) => void, abilityId: number, dummyLifeTime: number, owner: MapPlayer, x: number, y: number, facing: number, config?: { abilityLevel?: number; modelType?: "cenariusGhost" }) {
|
|
70
|
-
// let dummy: Unit | undefined = undefined;
|
|
71
|
-
// if (config?.modelType === "cenariusGhost") {
|
|
72
|
-
// dummy = Unit.create(owner, UNITS.dummyCaster_cenariusGhost, x, y, facing);
|
|
73
|
-
// dummy?.setScale(1, 1, 1);
|
|
74
|
-
// } else {
|
|
75
|
-
// dummy = Unit.create(owner, UNITS.dummyCaster, x, y, facing);
|
|
76
|
-
// }
|
|
77
|
-
// const t = Timer.create();
|
|
78
|
-
// if (dummy) {
|
|
79
|
-
// dummy.addAbility(abilityId);
|
|
80
|
-
// dummy.setAbilityManaCost(abilityId, config?.abilityLevel ? config.abilityLevel - 1 : 0, 0);
|
|
81
|
-
// cb(dummy);
|
|
82
|
-
// t.start(dummyLifeTime, false, () => {
|
|
83
|
-
// dummy?.destroy();
|
|
84
|
-
// t.destroy();
|
|
85
|
-
// });
|
|
86
|
-
// }
|
|
87
|
-
// }
|
|
88
|
-
/**
|
|
89
|
-
* Creates a trigger to monitor when a unit is attacked
|
|
90
|
-
*
|
|
91
|
-
* We could also have all functions execute in this single trigger's context instead of creating new triggers each time the function is used.
|
|
92
|
-
* @param cb
|
|
93
|
-
* @param config
|
|
94
|
-
*/
|
|
95
|
-
function onUnitAttacked(cb, config) {
|
|
96
|
-
const attackerTriggerCooldown = new Set();
|
|
97
|
-
const t = w3ts_1.Trigger.create();
|
|
98
|
-
t.registerAnyUnitEvent(EVENT_PLAYER_UNIT_ATTACKED);
|
|
99
|
-
t.addAction(() => {
|
|
100
|
-
const attacker = w3ts_1.Unit.fromHandle(GetAttacker());
|
|
101
|
-
const victim = w3ts_1.Unit.fromHandle(GetAttackedUnitBJ());
|
|
102
|
-
if (!attacker || !victim) {
|
|
103
|
-
return;
|
|
104
|
-
}
|
|
105
|
-
//Attack was not below the proc chance, and thus we will not use the cb function
|
|
106
|
-
if (config.procChance &&
|
|
107
|
-
Math.ceil(Math.random() * 100) >= config.procChance) {
|
|
108
|
-
return;
|
|
109
|
-
}
|
|
110
|
-
//Attacker has already used the trigger
|
|
111
|
-
if (config.attackerCooldown && attackerTriggerCooldown.has(attacker)) {
|
|
112
|
-
return;
|
|
113
|
-
}
|
|
114
|
-
attackerTriggerCooldown.add(attacker);
|
|
115
|
-
//Finally, after all conditions have been met, use the cb function
|
|
116
|
-
cb(attacker, victim);
|
|
117
|
-
const t = w3ts_1.Timer.create();
|
|
118
|
-
//removes the attacker from the cooldown group after 1/3 of that units attack cooldown has passed.
|
|
119
|
-
t.start(attacker.getAttackCooldown(0) / 3, false, () => {
|
|
120
|
-
attackerTriggerCooldown.delete(attacker);
|
|
121
|
-
t.destroy();
|
|
122
|
-
});
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJpbGl0aWVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2FiaWxpdGllcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQVdBLG9EQWtFQztBQXdDRCx3Q0EyQ0M7QUFoS0QsK0JBQTRDO0FBRzVDOzs7Ozs7O0dBT0c7QUFDSCxTQUFnQixvQkFBb0IsQ0FDbEMsSUFBVSxFQUNWLEtBQWEsRUFDYixFQUFxQixFQUNyQixNQUlDO0lBRUQsTUFBTSxJQUFJLEdBQUcsY0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBRTlCOztPQUVHO0lBQ0gsSUFBSSxnQkFBZ0IsR0FBVyxFQUFFLENBQUM7SUFFbEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBRTVFLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1FBQ2xCLE1BQU0sQ0FBQyxHQUFHLFdBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUUzQixJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDUCxPQUFPO1FBQ1QsQ0FBQztRQUVELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNsQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0IsQ0FBQztRQUVELElBQUksTUFBTSxFQUFFLGVBQWUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzdELEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNSLENBQUM7YUFBTSxDQUFDO1lBQ04sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ1IsQ0FBQztJQUNILENBQUMsQ0FBQyxDQUFDO0lBRUgsTUFBTSxPQUFPLEdBQUcsR0FBRyxF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
|
package/dist/utils/camera.js
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.enableCameraZoom = enableCameraZoom;
|
|
4
|
-
const w3ts_1 = require("w3ts");
|
|
5
|
-
const players_1 = require("./players");
|
|
6
|
-
function enableCameraZoom() {
|
|
7
|
-
const t = w3ts_1.Trigger.create();
|
|
8
|
-
(0, players_1.forEachPlayer)((p) => {
|
|
9
|
-
SetCameraFieldForPlayer(p.handle, CAMERA_FIELD_FARZ, 10000, 0.25);
|
|
10
|
-
t.registerPlayerChatEvent(p, "-cam", false);
|
|
11
|
-
t.addAction(() => {
|
|
12
|
-
const str = GetEventPlayerChatString();
|
|
13
|
-
const triggeringPlayer = GetTriggerPlayer();
|
|
14
|
-
if (str && triggeringPlayer) {
|
|
15
|
-
const [command, distance] = str?.split(" ");
|
|
16
|
-
SetCameraFieldForPlayer(triggeringPlayer, CAMERA_FIELD_FARZ, 10000, 0.25);
|
|
17
|
-
if (distance === "mid") {
|
|
18
|
-
SetCameraFieldForPlayer(triggeringPlayer, CAMERA_FIELD_TARGET_DISTANCE, 4500, 0.25);
|
|
19
|
-
return;
|
|
20
|
-
}
|
|
21
|
-
else if (distance === "far") {
|
|
22
|
-
SetCameraFieldForPlayer(triggeringPlayer, CAMERA_FIELD_TARGET_DISTANCE, 6000, 0.25);
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
else if (distance === "max") {
|
|
26
|
-
SetCameraFieldForPlayer(triggeringPlayer, CAMERA_FIELD_TARGET_DISTANCE, 7800, 0.25);
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
const distanceAsNumber = Number(distance);
|
|
30
|
-
if (typeof distanceAsNumber !== "number")
|
|
31
|
-
return;
|
|
32
|
-
SetCameraFieldForPlayer(triggeringPlayer, CAMERA_FIELD_TARGET_DISTANCE, distanceAsNumber, 0.25);
|
|
33
|
-
}
|
|
34
|
-
});
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FtZXJhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2NhbWVyYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUtBLDRDQXlEQztBQTlERCwrQkFBK0I7QUFDL0IsdUNBQTBDO0FBSTFDLFNBQWdCLGdCQUFnQjtJQUM5QixNQUFNLENBQUMsR0FBRyxjQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDM0IsSUFBQSx1QkFBYSxFQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7UUFDbEIsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFbEUsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFFNUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZixNQUFNLEdBQUcsR0FBRyx3QkFBd0IsRUFBRSxDQUFDO1lBQ3ZDLE1BQU0sZ0JBQWdCLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztZQUM1QyxJQUFJLEdBQUcsSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO2dCQUM1QixNQUFNLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxHQUFHLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzVDLHVCQUF1QixDQUNyQixnQkFBZ0IsRUFDaEIsaUJBQWlCLEVBQ2pCLEtBQUssRUFDTCxJQUFJLENBQ0wsQ0FBQztnQkFFRixJQUFLLFFBQTRCLEtBQUssS0FBSyxFQUFFLENBQUM7b0JBQzVDLHVCQUF1QixDQUNyQixnQkFBZ0IsRUFDaEIsNEJBQTRCLEVBQzVCLElBQUksRUFDSixJQUFJLENBQ0wsQ0FBQztvQkFDRixPQUFPO2dCQUNULENBQUM7cUJBQU0sSUFBSyxRQUE0QixLQUFLLEtBQUssRUFBRSxDQUFDO29CQUNuRCx1QkFBdUIsQ0FDckIsZ0JBQWdCLEVBQ2hCLDRCQUE0QixFQUM1QixJQUFJLEVBQ0osSUFBSSxDQUNMLENBQUM7b0JBQ0YsT0FBTztnQkFDVCxDQUFDO3FCQUFNLElBQUssUUFBNEIsS0FBSyxLQUFLLEVBQUUsQ0FBQztvQkFDbkQsdUJBQXVCLENBQ3JCLGdCQUFnQixFQUNoQiw0QkFBNEIsRUFDNUIsSUFBSSxFQUNKLElBQUksQ0FDTCxDQUFDO29CQUNGLE9BQU87Z0JBQ1QsQ0FBQztnQkFFRCxNQUFNLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztnQkFDMUMsSUFBSSxPQUFPLGdCQUFnQixLQUFLLFFBQVE7b0JBQUUsT0FBTztnQkFFakQsdUJBQXVCLENBQ3JCLGdCQUFnQixFQUNoQiw0QkFBNEIsRUFDNUIsZ0JBQWdCLEVBQ2hCLElBQUksQ0FDTCxDQUFDO1lBQ0osQ0FBQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDIn0=
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.createChatCommand = createChatCommand;
|
|
4
|
-
const w3ts_1 = require("w3ts");
|
|
5
|
-
/**
|
|
6
|
-
* Setup trigger to listen for a chat command for the players specified in the array. Execute function when triggered
|
|
7
|
-
* @param command -cam , -name, -start, etc
|
|
8
|
-
* @param players
|
|
9
|
-
* @param fn
|
|
10
|
-
*/
|
|
11
|
-
function createChatCommand(players, command, exact, fn) {
|
|
12
|
-
const trigger = w3ts_1.Trigger.create();
|
|
13
|
-
players.forEach((p) => {
|
|
14
|
-
trigger.registerPlayerChatEvent(p, command, exact);
|
|
15
|
-
trigger.addAction(() => {
|
|
16
|
-
const str = GetEventPlayerChatString();
|
|
17
|
-
const [_, data] = str?.split(" ") ?? [];
|
|
18
|
-
fn(p, { trigger, command, data });
|
|
19
|
-
});
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hhdC1jb21tYW5kLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2NoYXQtY29tbWFuZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQVFBLDhDQWFDO0FBckJELCtCQUEwQztBQUUxQzs7Ozs7R0FLRztBQUNILFNBQWdCLGlCQUFpQixDQUFDLE9BQW9CLEVBQUUsT0FBZSxFQUFFLEtBQWMsRUFBRSxFQUEyRjtJQUNoTCxNQUFNLE9BQU8sR0FBRyxjQUFPLENBQUMsTUFBTSxFQUFFLENBQUM7SUFFakMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1FBQ2xCLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRW5ELE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ25CLE1BQU0sR0FBRyxHQUFHLHdCQUF3QixFQUFFLENBQUM7WUFDdkMsTUFBTSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsR0FBRyxHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUV4QyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3RDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDIn0=
|
package/dist/utils/color.js
DELETED
|
@@ -1,141 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.playerHexColorMap = exports.playerRGBMap = void 0;
|
|
4
|
-
exports.playerRGBMap = new Map([
|
|
5
|
-
[0, { r: 255, g: 0, b: 0 }],
|
|
6
|
-
[1, { r: 0, g: 0, b: 255 }],
|
|
7
|
-
[2, { r: 0, g: 255, b: 255 }],
|
|
8
|
-
[3, { r: 128, g: 0, b: 128 }],
|
|
9
|
-
[4, { r: 255, g: 255, b: 0 }],
|
|
10
|
-
[5, { r: 254, g: 137, b: 13 }],
|
|
11
|
-
[6, { r: 32, g: 192, b: 0 }],
|
|
12
|
-
[7, { r: 229, g: 91, b: 176 }],
|
|
13
|
-
[8, { r: 149, g: 150, b: 151 }],
|
|
14
|
-
[9, { r: 126, g: 191, b: 241 }],
|
|
15
|
-
[10, { r: 16, g: 98, b: 70 }],
|
|
16
|
-
[11, { r: 78, g: 42, b: 4 }],
|
|
17
|
-
[12, { r: 155, g: 0, b: 0 }],
|
|
18
|
-
[13, { r: 0, g: 0, b: 195 }],
|
|
19
|
-
[14, { r: 155, g: 234, b: 255 }],
|
|
20
|
-
[15, { r: 190, g: 0, b: 254 }],
|
|
21
|
-
[16, { r: 235, g: 205, b: 135 }],
|
|
22
|
-
[17, { r: 248, g: 164, b: 139 }],
|
|
23
|
-
[18, { r: 191, g: 255, b: 128 }],
|
|
24
|
-
[19, { r: 220, g: 185, b: 235 }],
|
|
25
|
-
[20, { r: 40, g: 40, b: 40 }],
|
|
26
|
-
[21, { r: 235, g: 240, b: 255 }],
|
|
27
|
-
[22, { r: 0, g: 120, b: 30 }],
|
|
28
|
-
[23, { r: 164, g: 111, b: 51 }],
|
|
29
|
-
]);
|
|
30
|
-
exports.playerHexColorMap = new Map([
|
|
31
|
-
[0, "ff0303"],
|
|
32
|
-
[1, "0042ff"],
|
|
33
|
-
[2, "1ce6b9"],
|
|
34
|
-
[3, "540081"],
|
|
35
|
-
[4, "fffc00"],
|
|
36
|
-
[5, "fe8a0e"],
|
|
37
|
-
]);
|
|
38
|
-
/**
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
PlayerStrings[0].colour = "|c00ff0303"
|
|
42
|
-
PlayerStrings[1].colour = "|c000042ff"
|
|
43
|
-
PlayerStrings[2].colour = "|c001ce6b9"
|
|
44
|
-
PlayerStrings[3].colour = "|c00540081"
|
|
45
|
-
PlayerStrings[4].colour = "|c00fffc00"
|
|
46
|
-
PlayerStrings[5].colour = "|c00fe8a0e"
|
|
47
|
-
PlayerStrings[6].colour = "|c0020c000"
|
|
48
|
-
PlayerStrings[7].colour = "|c00e55bb0"
|
|
49
|
-
PlayerStrings[8].colour = "|c00959697"
|
|
50
|
-
PlayerStrings[9].colour = "|c007ebff1"
|
|
51
|
-
PlayerStrings[10].colour = "|c00106246"
|
|
52
|
-
PlayerStrings[11].colour = "|c004e2a04"
|
|
53
|
-
PlayerStrings[12].colour = "|c009b0000"
|
|
54
|
-
PlayerStrings[13].colour = "|c000000c3"
|
|
55
|
-
PlayerStrings[14].colour = "|c0000eaff"
|
|
56
|
-
PlayerStrings[15].colour = "|c00be00fe"
|
|
57
|
-
PlayerStrings[16].colour = "|c00ebcd87"
|
|
58
|
-
PlayerStrings[17].colour = "|c00f8a48b"
|
|
59
|
-
PlayerStrings[18].colour = "|c00bfff80"
|
|
60
|
-
PlayerStrings[19].colour = "|c00dcb9eb"
|
|
61
|
-
PlayerStrings[20].colour = "|c00282828"
|
|
62
|
-
PlayerStrings[21].colour = "|c00ebf0ff"
|
|
63
|
-
PlayerStrings[22].colour = "|c0000781e"
|
|
64
|
-
PlayerStrings[23].colour = "|c00a46f33"
|
|
65
|
-
-- RGB
|
|
66
|
-
PlayerStrings[0].red = 255
|
|
67
|
-
PlayerStrings[0].green = 3
|
|
68
|
-
PlayerStrings[0].blue = 3
|
|
69
|
-
PlayerStrings[1].red = 0
|
|
70
|
-
PlayerStrings[1].green = 66
|
|
71
|
-
PlayerStrings[1].blue = 255
|
|
72
|
-
PlayerStrings[2].red = 28
|
|
73
|
-
PlayerStrings[2].green = 230
|
|
74
|
-
PlayerStrings[2].blue = 185
|
|
75
|
-
PlayerStrings[3].red = 84
|
|
76
|
-
PlayerStrings[3].green = 0
|
|
77
|
-
PlayerStrings[3].blue = 129
|
|
78
|
-
PlayerStrings[4].red = 255
|
|
79
|
-
PlayerStrings[4].green = 254
|
|
80
|
-
PlayerStrings[4].blue = 0
|
|
81
|
-
PlayerStrings[5].red = 254
|
|
82
|
-
PlayerStrings[5].green = 138
|
|
83
|
-
PlayerStrings[5].blue = 14
|
|
84
|
-
PlayerStrings[6].red = 32
|
|
85
|
-
PlayerStrings[6].green = 192
|
|
86
|
-
PlayerStrings[6].blue = 0
|
|
87
|
-
PlayerStrings[7].red = 229
|
|
88
|
-
PlayerStrings[7].green = 91
|
|
89
|
-
PlayerStrings[7].blue = 176
|
|
90
|
-
PlayerStrings[8].red = 149
|
|
91
|
-
PlayerStrings[8].green = 150
|
|
92
|
-
PlayerStrings[8].blue = 151
|
|
93
|
-
PlayerStrings[9].red = 126
|
|
94
|
-
PlayerStrings[9].green = 191
|
|
95
|
-
PlayerStrings[9].blue = 241
|
|
96
|
-
PlayerStrings[10].red = 16
|
|
97
|
-
PlayerStrings[10].green = 98
|
|
98
|
-
PlayerStrings[10].blue = 70
|
|
99
|
-
PlayerStrings[11].red = 78
|
|
100
|
-
PlayerStrings[11].green = 42
|
|
101
|
-
PlayerStrings[11].blue = 4
|
|
102
|
-
PlayerStrings[12].red = 155
|
|
103
|
-
PlayerStrings[12].green = 0
|
|
104
|
-
PlayerStrings[12].blue = 0
|
|
105
|
-
PlayerStrings[13].red = 0
|
|
106
|
-
PlayerStrings[13].green = 0
|
|
107
|
-
PlayerStrings[13].blue = 195
|
|
108
|
-
PlayerStrings[14].red = 155
|
|
109
|
-
PlayerStrings[14].green = 234
|
|
110
|
-
PlayerStrings[14].blue = 255
|
|
111
|
-
PlayerStrings[15].red = 190
|
|
112
|
-
PlayerStrings[15].green = 0
|
|
113
|
-
PlayerStrings[15].blue = 254
|
|
114
|
-
PlayerStrings[16].red = 235
|
|
115
|
-
PlayerStrings[16].green = 205
|
|
116
|
-
PlayerStrings[16].blue = 135
|
|
117
|
-
PlayerStrings[17].red = 248
|
|
118
|
-
PlayerStrings[17].green = 164
|
|
119
|
-
PlayerStrings[17].blue = 139
|
|
120
|
-
PlayerStrings[18].red = 191
|
|
121
|
-
PlayerStrings[18].green = 255
|
|
122
|
-
PlayerStrings[18].blue = 128
|
|
123
|
-
PlayerStrings[19].red = 220
|
|
124
|
-
PlayerStrings[19].green = 185
|
|
125
|
-
PlayerStrings[19].blue = 235
|
|
126
|
-
PlayerStrings[20].red = 40
|
|
127
|
-
PlayerStrings[20].green = 40
|
|
128
|
-
PlayerStrings[20].blue = 40
|
|
129
|
-
PlayerStrings[21].red = 235
|
|
130
|
-
PlayerStrings[21].green = 240
|
|
131
|
-
PlayerStrings[21].blue = 255
|
|
132
|
-
PlayerStrings[22].red = 0
|
|
133
|
-
PlayerStrings[22].green = 120
|
|
134
|
-
PlayerStrings[22].blue = 30
|
|
135
|
-
PlayerStrings[23].red = 164
|
|
136
|
-
PlayerStrings[23].green = 111
|
|
137
|
-
PlayerStrings[23].blue = 51
|
|
138
|
-
*
|
|
139
|
-
*
|
|
140
|
-
*/
|
|
141
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvY29sb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSxZQUFZLEdBQUcsSUFBSSxHQUFHLENBQThDO0lBQzdFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUMzQixDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDM0IsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBQzdCLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUM3QixDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUM7SUFDN0IsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQzlCLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUM1QixDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDOUIsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBQy9CLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUMvQixDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDN0IsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO0lBQzVCLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUM1QixDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDNUIsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBQ2hDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUM5QixDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDaEMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDO0lBQ2hDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUNoQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7SUFDaEMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDO0lBQzdCLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQztJQUNoQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUM7SUFDN0IsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDO0NBQ2xDLENBQUMsQ0FBQztBQUVVLFFBQUEsaUJBQWlCLEdBQUcsSUFBSSxHQUFHLENBQWlCO0lBQ3JELENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQztJQUNiLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQztJQUNiLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQztJQUNiLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQztJQUNiLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQztJQUNiLENBQUMsQ0FBQyxFQUFFLFFBQVEsQ0FBQztDQUNoQixDQUFDLENBQUM7QUFFSDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0dHIn0=
|
package/dist/utils/index.js
DELETED
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./abilities"), exports);
|
|
18
|
-
__exportStar(require("./camera"), exports);
|
|
19
|
-
__exportStar(require("./chat-command"), exports);
|
|
20
|
-
__exportStar(require("./color"), exports);
|
|
21
|
-
__exportStar(require("./item"), exports);
|
|
22
|
-
__exportStar(require("./math"), exports);
|
|
23
|
-
__exportStar(require("./minimapIcons"), exports);
|
|
24
|
-
__exportStar(require("./misc"), exports);
|
|
25
|
-
__exportStar(require("./physics"), exports);
|
|
26
|
-
__exportStar(require("./players"), exports);
|
|
27
|
-
__exportStar(require("./point"), exports);
|
|
28
|
-
__exportStar(require("./quests"), exports);
|
|
29
|
-
__exportStar(require("./textTag"), exports);
|
|
30
|
-
__exportStar(require("./timer"), exports);
|
|
31
|
-
__exportStar(require("./units"), exports);
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDhDQUE0QjtBQUM1QiwyQ0FBeUI7QUFDekIsaURBQStCO0FBQy9CLDBDQUF3QjtBQUN4Qix5Q0FBdUI7QUFDdkIseUNBQXVCO0FBQ3ZCLGlEQUErQjtBQUMvQix5Q0FBdUI7QUFDdkIsNENBQTBCO0FBQzFCLDRDQUEwQjtBQUMxQiwwQ0FBd0I7QUFDeEIsMkNBQXlCO0FBQ3pCLDRDQUEwQjtBQUMxQiwwQ0FBd0I7QUFDeEIsMENBQXdCIn0=
|